Commit 84be2902 authored by ckitagawa's avatar ckitagawa Committed by Commit Bot

[Paint Preview] Avoid showing a preview if already loaded

This CL stops a preview from being shown if the page is already loaded.
This can happen if the utility process is very slow to initialize.

Change-Id: I7a0d3ff140c9efc47551c63b483351593ac4e25a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2381952Reviewed-by: default avatarMehran Mahmoudi <mahmoudi@chromium.org>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Cr-Commit-Position: refs/heads/master@{#802716}
parent 0c9de1a6
......@@ -50,6 +50,7 @@ public class TabbedPaintPreviewPlayer implements TabViewProvider, UserData {
private Runnable mOnDismissed;
private Boolean mInitializing;
private boolean mHasUserInteraction;
private boolean mFirstMeaningfulPaintHappened;
private TabbedPaintPreviewObserver mObserver;
private long mLastShownSnackBarTime;
private boolean mDidStartRestore;
......@@ -128,6 +129,7 @@ public class TabbedPaintPreviewPlayer implements TabViewProvider, UserData {
if (mTab.getWebContents() != webContents) return;
mFirstMeaningfulPaintHappened = true;
mObserver.onFirstMeaningfulPaint();
}
......@@ -151,12 +153,17 @@ public class TabbedPaintPreviewPlayer implements TabViewProvider, UserData {
mInitializing = hasCapture;
mMetricsHelper.recordHadCapture(hasCapture);
if (!hasCapture) return false;
mFirstMeaningfulPaintHappened = false;
mPlayerManager = new PlayerManager(mTab.getUrl(), mTab.getContext(),
mPaintPreviewTabService, String.valueOf(mTab.getId()), this::onLinkClicked,
() -> removePaintPreview(ExitCause.PULL_TO_REFRESH),
() -> {
mInitializing = false;
if (mFirstMeaningfulPaintHappened) {
removePaintPreview(ExitCause.TAB_FINISHED_LOADING);
return;
}
onShown.run();
mMetricsHelper.onShown();
},
......
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