Favicons of video webpages of youtube.com do not show in recent tabs. |
|||||||||||||
Issue descriptionApp Version: 62.0.3202.35Beta iOS Version: 10.3.3, 11.0 Device:iPhone, iPad URL: youtube.com Steps to reproduce: 1. Launch chrome and go to youtube.com and play a video. 2.Close the webpage after playing the video. Go to recent tabs. Observed results: Favicons of video webpages of youtube.com do not show in recent tabs. Expected results: Favicons of video webpages of youtube.com should show in recent tabs. 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: Not tested Bug reproducible on Safari/Firefox: Firefox: NA, Safari: NA Bug reproducible on current stable build (App Version, iOS Version): Yes-M61 Bug reproducible on the current beta channel build (App Version, iOS Version): Yes-62 https://drive.google.com/a/google.com/file/d/0B6GVWQnhaMClSnJYZ2JKM2J0clE/view?usp=sharing
,
Sep 28 2017
,
Sep 28 2017
,
Sep 28 2017
WebStateObserver::FaviconUrlUpdated returned this favicon for YouTube: https://m.youtube.com/yts/favicon-vfl8qSV2F.ico Favicon is correct, so this looks like embedder bug. Sylvain, could you please take a look if WebFaviconDriver works correctly.
,
Sep 29 2017
I've tried to debug this and I think the issue is that WebStateObserver::FaviconUrlUpdated is not triggered when navigating from one YouTube video to another YouTube video. If I visit a YouTube page from a link or by typing the url in the omnibox, then -handleDocumentFaviconsMessage:context: is called, which call WebStateObserver::FaviconUrlUpdated and correctly fetch and save the favicon. And the link display the proper favicon in the history. However, if I navigate from a YouTube video to another YouTube video (by clicking on it or via a playlist) then -handleDocumentFaviconsMessage:context: is not called, the page favicon is not updated and the link does not display the proper favicon in the history.
,
Sep 29 2017
Navigating from one YouTube video to another YouTube video is a same-document navigation (state or fragment change). It is WAI that WebStateObserver::FaviconUrlUpdated is not called for same-document navigations, because favicon did not actually change. Fetching favicon on every push state or hash change would be pretty bad for performance.
,
Oct 2 2017
Thank you Eugene. It looks like the component expects the callback to be called even for same-document navigation. I'll put some cache to keep the value and forward them to the component in the driver then.
,
Oct 2 2017
Sylvain, by any chance do you know if //content calls WebContentsObserver::DidUpdateFaviconURL for same-document navigations? If it does then perhaps //ios/web layer should match //content and be responsible for caching?
,
Oct 2 2017
//content sends the notification from RenderFrameImpl::DidStopLoading which appears to be called even for same-document navigation (and my breakpoint in ContentFaviconDriver::DidUpdateFaviconURL is triggered for same-document navigation) so I guess it would make sense to cache the data in //ios/web. I can probably do it, but not really sure where I should cache the values. I'll put the cache in WebFaviconDriver first (as there are other fixes required to get it working first) and then we can discuss where the cache should go in //ios/web.
,
Oct 2 2017
Thanks! After landing your CL, please flip this bug to me and I will look for a fix from ios/web side.
,
Oct 3 2017
CL sent to CQ, assigning bug to eugenebut@ as requested.
,
Oct 3 2017
,
Oct 3 2017
I confirmed that the bug was present in M-61 too, so not a recent regression.
,
Oct 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8db59b9705506d2b652830fed7e6a42acd25511f commit 8db59b9705506d2b652830fed7e6a42acd25511f Author: Sylvain Defresne <sdefresne@chromium.org> Date: Tue Oct 03 08:21:58 2017 Fix favicon in case of same document navigation. In case of same document navigation the FaviconUrlUpdated callback is not invoked, so cache the value and re-use them when navigation completes. Remove spurious calls to FetchFavicon from WebFaviconDriver. Bug: 769049 Change-Id: I9f5f4382b42978123419f207c2906048228ff7f9 Reviewed-on: https://chromium-review.googlesource.com/695761 Reviewed-by: Eugene But <eugenebut@chromium.org> Commit-Queue: Sylvain Defresne <sdefresne@chromium.org> Cr-Commit-Position: refs/heads/master@{#505983} [modify] https://crrev.com/8db59b9705506d2b652830fed7e6a42acd25511f/components/favicon/ios/web_favicon_driver.h [modify] https://crrev.com/8db59b9705506d2b652830fed7e6a42acd25511f/components/favicon/ios/web_favicon_driver.mm
,
Oct 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9ac01d1704800450c72a3dc1960be48748458cd2 commit 9ac01d1704800450c72a3dc1960be48748458cd2 Author: Olivier Robin <olivierrobin@chromium.org> Date: Mon Oct 09 09:42:18 2017 Use GetVisibleItem in OnFaviconUpdated. This was changed in https://chromium-review.googlesource.com/c/chromium/src/+/695761 Bug: 771712, 769049 Change-Id: I5a30619af53d4a5a103d560d640f17ec499978cf Reviewed-on: https://chromium-review.googlesource.com/707003 Commit-Queue: Olivier Robin <olivierrobin@chromium.org> Reviewed-by: Olivier Robin <olivierrobin@chromium.org> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org> Cr-Commit-Position: refs/heads/master@{#507346} [modify] https://crrev.com/9ac01d1704800450c72a3dc1960be48748458cd2/components/favicon/ios/web_favicon_driver.mm
,
Oct 24 2017
Can this issue be marked Fixed? Faviocns for youtube.com is fixed, but I see faviocns are missing for many other websites in TabSwitcher view and Recent Tabs view. Please let me know If I need to report a new issue for that.
,
Oct 24 2017
Filed 777869 to track //ios/web cleanup
,
Oct 24 2017
Regarding #16, yes please report an other issues for favicons missing for other websites.
,
Oct 24 2017
Thanks for the clarification. Will report new bug.
,
Oct 24 2017
Favicons of video webpages of youtube.com show in recent tabs. Verified in iPhone 6+ iOS 11.1 , iPad Pro 12'5 iOS 11.1 , iPhone7 + iOS 10.3.3 on build 64.0.3248.0 Canary
,
Nov 29 2017
,
Nov 29 2017
,
Nov 29 2017
This bug does not exist in M64. The bug will not be fixed for M63.
,
Dec 8 2017
|
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by kkhorimoto@chromium.org
, Sep 28 2017Owner: eugene...@chromium.org
Status: Assigned (was: Untriaged)