[DevUI DFM] Fix crash-on-install caused by stale navigation states.
Previously, if a failed DevUI DFM install attempt (leading to the error page) is followed by a successful install, then the following problems arise: (A) chrome.send() is unavailable for the loaded DevUI page. (B) Addition refreshes trigger CHECK() and crashes browser. It seems that between showing the error page and showing the DevUI page (after successful install), some stale state persisted so that the active instance of NavigationRequest has bindings() holding a value without BINDINGS_POLICY_WEB_UI, so that chrome.send() would not load, leading to (A). Then (B) is triggered as an after effect. This CL is a work-around for the bug for the DevUI DFM. On initial DevUI DFM install, instead of resuming navigation to the intended DevUI page, we visit a small shim page that self-refreshes, so that stale states are cleared. This is not a full fix, since state staleness problem (and crash on refresh) still exists for error pages (in history or other tabs) other than the one that successfully triggers DevUI DFM install. Bug: 1046159 Change-Id: I775491ee165e7d2a809d93d334f93ae4bbf72cb6 Fixed: 1046159 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2028363 Commit-Queue: Samuel Huang <huangs@chromium.org> Reviewed-by:Andrew Grieve <agrieve@chromium.org> Cr-Commit-Position: refs/heads/master@{#736836}
Showing
Please register or sign in to comment