Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
index 98638061bee666076974889a6cf344e0bab4c191..19d630f217d166b9b6648d292b6e13e76a8f90d2 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
@@ -29,6 +29,7 @@ import android.os.SystemClock; |
import android.preference.PreferenceManager; |
import android.support.v7.app.AlertDialog; |
import android.util.DisplayMetrics; |
+import android.view.ContextThemeWrapper; |
import android.view.Menu; |
import android.view.MenuItem; |
import android.view.View; |
@@ -83,6 +84,7 @@ import org.chromium.chrome.browser.gsa.ContextReporter; |
import org.chromium.chrome.browser.gsa.GSAServiceClient; |
import org.chromium.chrome.browser.gsa.GSAState; |
import org.chromium.chrome.browser.help.HelpAndFeedback; |
+import org.chromium.chrome.browser.infobar.DocumentModeOptOutInfoBarDelegate; |
import org.chromium.chrome.browser.infobar.InfoBarContainer; |
import org.chromium.chrome.browser.init.AsyncInitializationActivity; |
import org.chromium.chrome.browser.metrics.LaunchMetrics; |
@@ -188,7 +190,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
private ContextReporter mContextReporter; |
protected GSAServiceClient mGSAServiceClient; |
- private boolean mPartnerBrowserRefreshNeeded = false; |
+ private boolean mIsSessionStartedWithThisActivity; |
+ private boolean mAttemptedToShowDocumentModeOptOutInfoBar; |
+ private boolean mPartnerBrowserRefreshNeeded; |
protected IntentHandler mIntentHandler; |
@@ -464,6 +468,15 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelSelector) { |
@Override |
public void onPageLoadStarted(Tab tab, String url) { |
+ if (mIsSessionStartedWithThisActivity |
+ && !mAttemptedToShowDocumentModeOptOutInfoBar) { |
+ mAttemptedToShowDocumentModeOptOutInfoBar = true; |
+ Context themedApplicationContext = new ContextThemeWrapper( |
+ getApplicationContext(), ChromeActivity.getThemeId()); |
+ DocumentModeOptOutInfoBarDelegate.showIfNecessary( |
+ themedApplicationContext, tab); |
+ } |
+ |
if (DataUseTabUIManager.checkDataUseTrackingStarted(tab)) { |
mDataUseSnackbarController.showDataUseTrackingStartedBar(); |
} else if (DataUseTabUIManager.checkDataUseTrackingEnded(tab) |
@@ -551,7 +564,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
@Override |
public void onStartWithNative() { |
super.onStartWithNative(); |
- getChromeApplication().onStartWithNative(); |
+ mIsSessionStartedWithThisActivity = getChromeApplication().onStartWithNative(); |
Tab tab = getActivityTab(); |
if (tab != null) tab.onActivityStart(); |
FeatureUtilities.setDocumentModeEnabled(FeatureUtilities.isDocumentMode(this)); |