| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| index 699cebf49328f8feec7e590ca7966afb334d985e..c5b5ca73346d255c4c49bf4fe3aa65353024876d 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| @@ -83,6 +83,8 @@ import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoS
|
| import org.chromium.chrome.browser.signin.SigninPromoUtil;
|
| import org.chromium.chrome.browser.snackbar.undo.UndoBarController;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| +import org.chromium.chrome.browser.tab.TabDelegateFactory;
|
| +import org.chromium.chrome.browser.tab.TopControlsVisibilityDelegate;
|
| import org.chromium.chrome.browser.tabmodel.ChromeTabCreator;
|
| import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver;
|
| import org.chromium.chrome.browser.tabmodel.TabModel;
|
| @@ -105,6 +107,7 @@ import org.chromium.content.common.ContentSwitches;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| import org.chromium.ui.base.DeviceFormFactor;
|
| import org.chromium.ui.base.PageTransition;
|
| +import org.chromium.ui.base.WindowAndroid;
|
| import org.chromium.ui.widget.Toast;
|
|
|
| import java.lang.annotation.Retention;
|
| @@ -234,6 +237,43 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode
|
| }
|
| }
|
|
|
| + private class TabbedModeTopControlsVisibilityDelegate extends TopControlsVisibilityDelegate {
|
| + public TabbedModeTopControlsVisibilityDelegate(Tab tab) {
|
| + super(tab);
|
| + }
|
| +
|
| + @Override
|
| + public boolean isShowingTopControlsEnabled() {
|
| + if (mVrShellDelegate.isInVR()) return false;
|
| + return super.isShowingTopControlsEnabled();
|
| + }
|
| +
|
| + @Override
|
| + public boolean isHidingTopControlsEnabled() {
|
| + if (mVrShellDelegate.isInVR()) return true;
|
| + return super.isHidingTopControlsEnabled();
|
| + }
|
| + }
|
| +
|
| + private class TabbedModeTabDelegateFactory extends TabDelegateFactory {
|
| + @Override
|
| + public TopControlsVisibilityDelegate createTopControlsVisibilityDelegate(Tab tab) {
|
| + return new TabbedModeTopControlsVisibilityDelegate(tab);
|
| + }
|
| + }
|
| +
|
| + private class TabbedModeTabCreator extends ChromeTabCreator {
|
| + public TabbedModeTabCreator(ChromeActivity activity, WindowAndroid nativeWindow,
|
| + boolean incognito) {
|
| + super(activity, nativeWindow, incognito);
|
| + }
|
| +
|
| + @Override
|
| + public TabDelegateFactory createDefaultTabDelegateFactory() {
|
| + return new TabbedModeTabDelegateFactory();
|
| + }
|
| + }
|
| +
|
| @Override
|
| public void initializeCompositor() {
|
| try {
|
| @@ -1036,8 +1076,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode
|
| return;
|
| }
|
| setTabCreators(
|
| - new ChromeTabCreator(this, getWindowAndroid(), false),
|
| - new ChromeTabCreator(this, getWindowAndroid(), true));
|
| + new TabbedModeTabCreator(this, getWindowAndroid(), false),
|
| + new TabbedModeTabCreator(this, getWindowAndroid(), true));
|
| mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(mTabModelSelectorImpl) {
|
|
|
| private boolean mIsFirstPageLoadStart = true;
|
|
|