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

Issue 2503183003: 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:
agrieve+watch_chromium.org, chromium-reviews, pkotwicz
Target Ref:
refs/pending/heads/master
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 Committed: https://crrev.com/d9c930e47745312f5cc8a5b9d4e6802c18f8b5de Cr-Commit-Position: refs/heads/master@{#432411}

Patch Set 1 #

Patch Set 2 : Unapply conflict resolution since http://crrev.com/432312 got reverted #

Unified diffs Side-by-side diffs Delta from patch set Stats (+11 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 +8 lines, -11 lines 0 comments Download
M ui/android/delegated_frame_host_android.cc View 1 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 15 (10 generated)
aelias_OOO_until_Jul13
The previous version of this http://crrev.com/432322 collided with indirectly conflicting patch http://crrev.com/432312 and was reverted. ...
4 years, 1 month ago (2016-11-16 03:03:48 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2503183003/1
4 years, 1 month ago (2016-11-16 03:05:09 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2503183003/20001
4 years, 1 month ago (2016-11-16 04:05:45 UTC) #12
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 1 month ago (2016-11-16 06:48:57 UTC) #13
commit-bot: I haz the power
4 years, 1 month ago (2016-11-16 06:52:08 UTC) #15
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/d9c930e47745312f5cc8a5b9d4e6802c18f8b5de
Cr-Commit-Position: refs/heads/master@{#432411}

Powered by Google App Engine
This is Rietveld 408576698