Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Issue 2503363003: Fix three causes of blank thumbnails [2nd land] (Closed)

Created:
4 years, 1 month ago by aelias_OOO_until_Jul13
Modified:
4 years, 1 month ago
Reviewers:
Ted C
CC:
chromium-reviews, agrieve+watch_chromium.org
Target Ref:
refs/pending/branch-heads/2883
Project:
chromium
Visibility:
Public.

Description

Fix three causes of blank thumbnails [2nd land] All three of these fixes are required to address the devil case http://crbug.com/659459, and some of them also help with some of the other flickers. 1. In onPageLoadStarted, the URL can be the same as before, in particular because history-item scroll offset restores count as load starts. These history restores often fire late in page load, *after* the thumbnail was taken, leading to immediately throwing out the thumbnail we just took earlier in page load. Switch to the "invalidate" path which only ejects the thumbnail if the URL changed. 2. In CacheTab, which is often called just to refresh the thumbnail with the latest state, if readback is currently impossible, we used to remove the old thumbnail. Keep it instead. 3. Switch to the more reliable Surfaces-based mechanism for readback. The layer-based mechanism often outputs black screenshots in difficult racy cases like onStop readbacks. The Surface-based mechanism had been reverted because it tickles a driver bug on Nexus 7 2013 that itself causes some flickers, but I verified that the repro scenario for that is quite niche, and even on Nexus 7 it's probably less severe than the black screenshot problem this fixes. TBR=tedchoc@chromium.org BUG=636630, 640561, 659459, 646336 Review-Url: https://codereview.chromium.org/2503183003 Cr-Commit-Position: refs/heads/master@{#432411} Committed: https://chromium.googlesource.com/chromium/src/+/b27a7d7a86cfdc06c04ab3728e08ff10f786b975

Patch Set 1 #

Patch Set 2 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+13 lines, -18 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorImpl.java View 2 chunks +1 line, -6 lines 0 comments Download
M chrome/browser/android/compositor/tab_content_manager.cc View 1 chunk +10 lines, -11 lines 0 comments Download
M ui/android/delegated_frame_host_android.cc View 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 2 (1 generated)
aelias_OOO_until_Jul13
4 years, 1 month ago (2016-11-17 02:09:28 UTC) #2
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
b27a7d7a86cfdc06c04ab3728e08ff10f786b975.

Powered by Google App Engine
This is Rietveld 408576698