-
Mikel Astiz authored
Many pages use Javascript to change the URL in the omnibox with the history API, namely pushState() and replaceState(), which are considered in-page navigations because the actual content of the page doesn't change. For pages that trigger such functions early, before the page has loaded, no favicon candidates are received (because content reports favicons in a late stage) and hence no favicons are associated to the URL prior to the URL update. This leads to gray tiles in the New Tab Page, because they point to the first. We fix this by special-handling this particular scenario, by introducing a state variable (FaviconHandler::candidates_received_) to distinguish whether the previous page was fully loaded (or at least candidates were provided). Bug: 741340,736254,754386 Change-Id: I2c11a3238bf1e14652bb20abc8cfbb3c46dc848a Reviewed-on: https://chromium-review.googlesource.com/595977 Commit-Queue: Mikel Astiz <mastiz@chromium.org> Reviewed-by: Brett Wilson <brettw@chromium.org> Reviewed-by: Peter Kotwicz <pkotwicz@chromium.org> Cr-Commit-Position: refs/heads/master@{#494574}
047511ef