https://app.ft.com/index_page/home does not use icon declared in Web Manifest when FaviconsFromWebManifest feature is enabled |
||||||||
Issue descriptionhttps://app.ft.com/index_page/home does not use icon declared in Web Manifest when FaviconsFromWebManifest feature is enabled This seems to be due to ContentFaviconDriver::DidUpdateWebManifestURL() not being called for fragment navigations e.g. history.pushState(null, null, 'hello')
,
May 23 2017
From what I can see, DidUpdateWebManifestURL() is never called for "https://app.ft.com/index_page/home". Note the https scheme. Reassigning since it seems an issue with WebContents.
,
May 23 2017
ContentFaviconDriver::DidUpdateWebManifestURL() is called for me for https://app.ft.com/index_page/home at r473488. It isn't called again for same-page navigation, but it isn't expected to since the manifest URL doesn't change.
,
May 30 2017
I do think we need to change WebContents to report the manifest's URL in these cases, consistently with how favicon URLs are reported. I don't see a good way that the client code (FaviconDriver hierarchy) can make these pages work otherwise, since the lack of notification is ambiguous and can be either: a) The loaded site doesn't contain a manifest. b) The loaded site has the same manifest URL as the previous one. sammc@: if you agree on the above, but nobody in your team has the cycles to change this behavior, please reassign to me and we'll take care, thanks.
,
May 31 2017
Friendly ping, thanks.
,
May 31 2017
I think content::NavigationHandle::IsSameDocument() should allow you to detect (b).
,
May 31 2017
Do you suggest we use IsSameDocument() to assume the manifest URL didn't change? Looks like a sane heuristic but it's not guaranteed, is it? Generally, it looks like consistency between DidUpdateFaviconURL() and DidUpdateWebManifestURL() would be desirable. Achieving that in upper layers seems a workaround to me.
,
Jun 19 2017
For the archive, here are the steps I use to repro this issue: 1. Use M60+ of clank (preferably from head). 2. Clear browsing history. 3. Use chrome://flags to enable enable-favicons-from-web-manifest. 4. Type "https://app.ft.com/index_page/home" in the omnibox. 5. Open chrome://ntp-tiles-internals, where the app.ft.com should show up. Associated to app.ft.com, there should be a row starting with WEB_MANIFEST_ICON that points to the icon listed in the Web Manifest.
,
Jun 19 2017
,
Jun 21 2017
,
Jun 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/406899d78bedbdb4d09f65f65991126e61a8e758 commit 406899d78bedbdb4d09f65f65991126e61a8e758 Author: mastiz <mastiz@chromium.org> Date: Wed Jun 28 18:29:06 2017 Fix in-document navigations breaking icons from Web Manifests Content notifies with DidUpdateWebManifestURL() in page loads *unless* its a navigation within the same document. This requires handling those cases differently and hence not clearing the manifest URL, because otherwise the page is believed to contain no manifest. BUG= 724832 Review-Url: https://codereview.chromium.org/2950563002 Cr-Commit-Position: refs/heads/master@{#483072} [modify] https://crrev.com/406899d78bedbdb4d09f65f65991126e61a8e758/chrome/browser/favicon/content_favicon_driver_browsertest.cc [add] https://crrev.com/406899d78bedbdb4d09f65f65991126e61a8e758/chrome/test/data/favicon/pushstate_with_manifest.html [modify] https://crrev.com/406899d78bedbdb4d09f65f65991126e61a8e758/components/favicon/content/content_favicon_driver.cc
,
Jun 28 2017
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by mastiz@chromium.org
, May 22 2017