Tab title of is displaying incorrect on refreshing NTP |
||||
Issue descriptionApp Version: 66.0.3359.30 Beta iOS Version: 11.3 beta 5, 11.2.6, 10.3.3 Device: iPhone, iPad Precondition: Enable #slim-navigation-manager from chrome://flags Steps to reproduce: 1. Launch chrome 2. Open either a new tab page or incognito tab page 3. Reload the page 4. Tap on tab switcher Observed results: Notice that chrome://newtab title is displayed Expected results: Title name shouldn’t change, it should show ‘New Tab’ Number of times you were able to reproduce: 5/5 Bug reproducible after clean install: Yes Bug reproducible after clearing cache and cookies: Yes Bug reproducible on Chrome Mobile on Android: No Bug reproducible on Safari/Firefox: Firefox: NA, Safari: NA Bug reproducible on current stable build (App Version, iOS Version): NA(Feature is new in M66) Bug reproducible on the current beta channel build (App Version, iOS Version): yes on M66 Link to video/image: https://drive.google.com/file/d/1KlOsiqhtcyJeTBVbbDfIwUUC9N1XTCF0/view?usp=sharing
,
Mar 19 2018
Looks like this is caused by |webViewTitleDidChange| triggered during the reload. This worked before because NTP doesn't have a webview behind it. A possible simple fix is to ignore |webViewTitleDidChange| for placeholder URLs.
,
Mar 20 2018
Correction: the root cause is that WKBasedBackForwardList failed to reuse the current NavigationItem when reloading a placeholder URL, because it only reuses the current item when the pending item URL is identical to the current WKBackForwardListItem URL.
,
Mar 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0d491d6cb80ce3bab7d941b8f98484102bd7c446 commit 0d491d6cb80ce3bab7d941b8f98484102bd7c446 Author: Danyao Wang <danyao@chromium.org> Date: Tue Mar 20 23:43:42 2018 [Nav Experiment] Fix NTP title after reload. When reloading a native view URL, WKBasedNavigationManager incorrectly creates a new pending item, because the current WKBackForwardListItem URL is the placeholder URL for the pending item, instead of being identical to the pending item URL. This loses the navigation item title set by the native controller when the item was first loaded, instead the app-specific URL was displayed. Added the condition to recognize this use case. Bug: 821752 Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs Change-Id: I69e40f60ef310047455afa32c0ff1d58dbd0b5b8 Reviewed-on: https://chromium-review.googlesource.com/971357 Reviewed-by: Eugene But <eugenebut@chromium.org> Cr-Commit-Position: refs/heads/master@{#544586} [modify] https://crrev.com/0d491d6cb80ce3bab7d941b8f98484102bd7c446/ios/web/navigation/wk_based_navigation_manager_impl.mm [modify] https://crrev.com/0d491d6cb80ce3bab7d941b8f98484102bd7c446/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm
,
Mar 20 2018
,
Mar 27 2018
Verified in 67.0.3380.0 Canary, iPhone 7 iOS 11.3, iPhone 6 iOS 10.3.3, Looks good |
||||
►
Sign in to add a comment |
||||
Comment 1 by sczs@chromium.org
, Mar 14 2018Owner: danyao@chromium.org
Status: Assigned (was: Untriaged)