Index: chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java |
index a9931a7f17a5b4f3a42498e950e3837675632d2b..93bcd93cea14d3f23e8e3539da8a3cda2e3873cb 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java |
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.printing.TabPrinter; |
import org.chromium.chrome.browser.profiles.Profile; |
import org.chromium.chrome.browser.rlz.RevenueStats; |
import org.chromium.chrome.browser.search_engines.TemplateUrlService; |
+import org.chromium.chrome.browser.snackbar.LoFiBarPopupController; |
import org.chromium.chrome.browser.snackbar.SnackbarManager; |
import org.chromium.chrome.browser.ssl.ConnectionSecurityLevel; |
import org.chromium.chrome.browser.ssl.SecurityStateModel; |
@@ -360,6 +361,8 @@ public final class Tab implements ViewGroup.OnHierarchyChangeListener, |
protected Handler mHandler; |
+ private LoFiBarPopupController mLoFiBarPopupController; |
+ |
private class TabContentViewClient extends ContentViewClient { |
@Override |
public void onBackgroundColorChanged(int color) { |
@@ -553,6 +556,9 @@ public final class Tab implements ViewGroup.OnHierarchyChangeListener, |
activity.getApplicationContext(), ChromeActivity.getThemeId()) : null; |
mWindowAndroid = window; |
mLaunchType = type; |
+ if (mActivity != null) { |
+ mLoFiBarPopupController = new LoFiBarPopupController(activity, getSnackbarManager()); |
+ } |
if (mThemedApplicationContext != null) { |
Resources resources = mThemedApplicationContext.getResources(); |
mIdealFaviconSize = resources.getDimensionPixelSize(R.dimen.default_favicon_size); |
@@ -1413,6 +1419,10 @@ public final class Tab implements ViewGroup.OnHierarchyChangeListener, |
mIsShowingErrorPage = showingErrorPage; |
+ if (mLoFiBarPopupController != null) { |
+ mLoFiBarPopupController.resetLoFiPopupShownForPageLoad(); |
+ } |
+ |
updateTitle(); |
removeSadTabIfPresent(); |
@@ -2581,6 +2591,16 @@ public final class Tab implements ViewGroup.OnHierarchyChangeListener, |
} |
/** |
+ * If a Lo-Fi snackbar has not been shown yet for this page load, a Lo-Fi snackbar is shown. |
+ */ |
+ @CalledByNative |
+ public void onLoFiResponseReceived() { |
+ if (mLoFiBarPopupController != null) { |
+ mLoFiBarPopupController.maybeCreateLoFiBar(this); |
+ } |
+ } |
+ |
+ /** |
* Request that this tab receive focus. Currently, this function requests focus for the main |
* View (usually a ContentView). |
*/ |