diff options
author | Stuart Morgan <stuartmorgan@chromium.org> | 2015-10-28 12:03:01 -0700 |
---|---|---|
committer | Stuart Morgan <stuartmorgan@chromium.org> | 2015-10-28 19:04:59 +0000 |
commit | a75027e2120a46929924de4f54b915e10a89fbdb (patch) | |
tree | 2c983da27011f6334c328aefe160b790bd72c67a | |
parent | 16b82d6e33b05e47e12464b0df3e5b42b5d4317d (diff) | |
download | chromium_src-a75027e2120a46929924de4f54b915e10a89fbdb.zip chromium_src-a75027e2120a46929924de4f54b915e10a89fbdb.tar.gz chromium_src-a75027e2120a46929924de4f54b915e10a89fbdb.tar.bz2 |
Fix WKWebView back/forward mapping with WebUI
Since directly loading HTML into a web view doesn't make a
WKBackForwardListItem, don't try to map WebUI pages to the current
item on load.
BUG=547007
Review URL: https://codereview.chromium.org/1422403002
Cr-Commit-Position: refs/heads/master@{#356592}
(cherry picked from commit 470e2fc2d3c98980a6b892ca9f505c297fd8b4c1)
Review URL: https://codereview.chromium.org/1421553009 .
Cr-Commit-Position: refs/branch-heads/2526@{#256}
Cr-Branched-From: cb947c0153db0ec02a8abbcb3ca086d88bf6006f-refs/heads/master@{#352221}
-rw-r--r-- | ios/web/web_state/ui/crw_wk_web_view_web_controller.mm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm b/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm index 50cd746..6f29ff8 100644 --- a/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm +++ b/ios/web/web_state/ui/crw_wk_web_view_web_controller.mm @@ -744,6 +744,12 @@ WKWebViewErrorSource WKWebViewErrorSourceFromError(NSError* error) { } - (void)updateCurrentBackForwardListItemHolder { + // WebUI pages (which are loaded via loadHTMLString:baseURL:) have no entry + // in the back/forward list, so the current item will still be the previous + // page, and should not be associated. + if (_webUIManager) + return; + web::WKBackForwardListItemHolder* holder = [self currentBackForwardListItemHolder]; // If |decidePolicyForNavigationAction| gets called for every load, |