Commit 4bff4b9d authored by Mehran Mahmoudi's avatar Mehran Mahmoudi Committed by Commit Bot

[Paint Preview] Fix ficker issue on upgrade to live page

This attempts to decrease the inconsistensies between the paint preview
and the live page by delaying the removing of paint preview until both
onPageLoadFinished AND didFirstVisuallNonEmptyPaint happen.

Bug: 1111006
Change-Id: I66c46cc9454608a92b6b6f09c2beba60668b431f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2327278
Commit-Queue: Mehran Mahmoudi <mahmoudi@chromium.org>
Reviewed-by: default avatarFred Mello <fredmello@chromium.org>
Cr-Commit-Position: refs/heads/master@{#792884}
parent 588e1c02
...@@ -79,10 +79,26 @@ public class TabbedPaintPreviewPlayer implements TabViewProvider, UserData { ...@@ -79,10 +79,26 @@ public class TabbedPaintPreviewPlayer implements TabViewProvider, UserData {
mTab = tab; mTab = tab;
mPaintPreviewTabService = PaintPreviewTabServiceFactory.getServiceInstance(); mPaintPreviewTabService = PaintPreviewTabServiceFactory.getServiceInstance();
mTabObserver = new EmptyTabObserver() { mTabObserver = new EmptyTabObserver() {
private boolean mFirstPaintHappened;
private boolean mPageLoadFinished;
@Override @Override
public void didFirstVisuallyNonEmptyPaint(Tab tab) { public void didFirstVisuallyNonEmptyPaint(Tab tab) {
if (!isShowingAndNeedsBadge()) return; mFirstPaintHappened = true;
maybeRemovePaintPreview();
}
@Override
public void onPageLoadFinished(Tab tab, String url) {
mPageLoadFinished = true;
maybeRemovePaintPreview();
}
private void maybeRemovePaintPreview() {
if (!isShowingAndNeedsBadge() || !mFirstPaintHappened || !mPageLoadFinished) return;
mFirstPaintHappened = false;
mPageLoadFinished = false;
long delayMs = ChromeFeatureList.getFieldTrialParamByFeatureAsInt( long delayMs = ChromeFeatureList.getFieldTrialParamByFeatureAsInt(
ChromeFeatureList.PAINT_PREVIEW_SHOW_ON_STARTUP, INITIAL_REMOVE_DELAY_PARAM, ChromeFeatureList.PAINT_PREVIEW_SHOW_ON_STARTUP, INITIAL_REMOVE_DELAY_PARAM,
DEFAULT_INITIAL_REMOVE_DELAY_MS); DEFAULT_INITIAL_REMOVE_DELAY_MS);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment