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 c2c9df1e66e30b306f9b2dcdd1f10022a447196e..b28a89ce557603f2e84186f9e14ffb7d294b4094 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
@@ -7,7 +7,7 @@ package org.chromium.chrome.browser; |
import android.annotation.SuppressLint; |
import android.app.Activity; |
import android.app.SearchManager; |
-import android.app.assist.AssistContent; |
+//import android.app.assist.AssistContent; |
import android.content.Context; |
import android.content.Intent; |
import android.content.SharedPreferences; |
@@ -50,84 +50,84 @@ import org.chromium.base.VisibleForTesting; |
import org.chromium.base.metrics.RecordHistogram; |
import org.chromium.base.metrics.RecordUserAction; |
import org.chromium.chrome.R; |
-import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver; |
+//import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver; |
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; |
import org.chromium.chrome.browser.IntentHandler.TabOpenType; |
-import org.chromium.chrome.browser.appmenu.AppMenu; |
-import org.chromium.chrome.browser.appmenu.AppMenuHandler; |
-import org.chromium.chrome.browser.appmenu.AppMenuObserver; |
-import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate; |
-import org.chromium.chrome.browser.appmenu.ChromeAppMenuPropertiesDelegate; |
-import org.chromium.chrome.browser.bookmark.ManageBookmarkActivity; |
-import org.chromium.chrome.browser.compositor.CompositorViewHolder; |
-import org.chromium.chrome.browser.compositor.layouts.Layout; |
-import org.chromium.chrome.browser.compositor.layouts.LayoutManager; |
-import org.chromium.chrome.browser.compositor.layouts.LayoutManagerDocument; |
-import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver; |
-import org.chromium.chrome.browser.compositor.layouts.content.ContentOffsetProvider; |
-import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager; |
-import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial; |
-import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; |
-import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate; |
-import org.chromium.chrome.browser.customtabs.CustomTab; |
-import org.chromium.chrome.browser.customtabs.CustomTabActivity; |
+//import org.chromium.chrome.browser.appmenu.AppMenu; |
+//import org.chromium.chrome.browser.appmenu.AppMenuHandler; |
+//import org.chromium.chrome.browser.appmenu.AppMenuObserver; |
+//import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate; |
+//import org.chromium.chrome.browser.appmenu.ChromeAppMenuPropertiesDelegate; |
+//import org.chromium.chrome.browser.bookmark.ManageBookmarkActivity; |
+//import org.chromium.chrome.browser.compositor.CompositorViewHolder; |
+//import org.chromium.chrome.browser.compositor.layouts.Layout; |
+//import org.chromium.chrome.browser.compositor.layouts.LayoutManager; |
+//import org.chromium.chrome.browser.compositor.layouts.LayoutManagerDocument; |
+//import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver; |
+//import org.chromium.chrome.browser.compositor.layouts.content.ContentOffsetProvider; |
+//import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager; |
+//import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial; |
+//import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; |
+//import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate; |
+//import org.chromium.chrome.browser.customtabs.CustomTab; |
+//import org.chromium.chrome.browser.customtabs.CustomTabActivity; |
import org.chromium.chrome.browser.device.DeviceClassManager; |
-import org.chromium.chrome.browser.dom_distiller.DistilledPagePrefsView; |
-import org.chromium.chrome.browser.dom_distiller.ReaderModeActivityDelegate; |
-import org.chromium.chrome.browser.dom_distiller.ReaderModeManager; |
-import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkUtils; |
-import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarksModel; |
-import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; |
-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.InfoBarContainer; |
+//import org.chromium.chrome.browser.dom_distiller.DistilledPagePrefsView; |
+//import org.chromium.chrome.browser.dom_distiller.ReaderModeActivityDelegate; |
+//import org.chromium.chrome.browser.dom_distiller.ReaderModeManager; |
+//import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkUtils; |
+//import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarksModel; |
+//import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; |
+//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.InfoBarContainer; |
import org.chromium.chrome.browser.init.AsyncInitializationActivity; |
-import org.chromium.chrome.browser.metrics.LaunchMetrics; |
-import org.chromium.chrome.browser.metrics.UmaSessionStats; |
-import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; |
-import org.chromium.chrome.browser.nfc.BeamController; |
-import org.chromium.chrome.browser.nfc.BeamProvider; |
-import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; |
-import org.chromium.chrome.browser.preferences.ChromePreferenceManager; |
-import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
-import org.chromium.chrome.browser.preferences.PreferencesLauncher; |
-import org.chromium.chrome.browser.printing.TabPrinter; |
-import org.chromium.chrome.browser.share.ShareHelper; |
-import org.chromium.chrome.browser.snackbar.LoFiBarPopupController; |
-import org.chromium.chrome.browser.snackbar.SnackbarManager; |
-import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable; |
-import org.chromium.chrome.browser.sync.ProfileSyncService; |
-import org.chromium.chrome.browser.tab.EmptyTabObserver; |
-import org.chromium.chrome.browser.tab.Tab; |
-import org.chromium.chrome.browser.tab.TabObserver; |
-import org.chromium.chrome.browser.tabmodel.ChromeTabCreator; |
-import org.chromium.chrome.browser.tabmodel.EmptyTabModel; |
-import org.chromium.chrome.browser.tabmodel.TabCreatorManager; |
-import org.chromium.chrome.browser.tabmodel.TabModel; |
-import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
-import org.chromium.chrome.browser.tabmodel.TabModelSelector; |
-import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; |
-import org.chromium.chrome.browser.tabmodel.TabModelUtils; |
-import org.chromium.chrome.browser.tabmodel.TabWindowManager; |
-import org.chromium.chrome.browser.toolbar.Toolbar; |
-import org.chromium.chrome.browser.toolbar.ToolbarControlContainer; |
-import org.chromium.chrome.browser.toolbar.ToolbarManager; |
-import org.chromium.chrome.browser.util.FeatureUtilities; |
-import org.chromium.chrome.browser.webapps.AddToHomescreenDialog; |
-import org.chromium.chrome.browser.widget.ControlContainer; |
+//import org.chromium.chrome.browser.metrics.LaunchMetrics; |
+//import org.chromium.chrome.browser.metrics.UmaSessionStats; |
+//import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; |
+//import org.chromium.chrome.browser.nfc.BeamController; |
+//import org.chromium.chrome.browser.nfc.BeamProvider; |
+//import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; |
+//import org.chromium.chrome.browser.preferences.ChromePreferenceManager; |
+//import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
+//import org.chromium.chrome.browser.preferences.PreferencesLauncher; |
+//import org.chromium.chrome.browser.printing.TabPrinter; |
+//import org.chromium.chrome.browser.share.ShareHelper; |
+//import org.chromium.chrome.browser.snackbar.LoFiBarPopupController; |
+//import org.chromium.chrome.browser.snackbar.SnackbarManager; |
+//import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable; |
+//import org.chromium.chrome.browser.sync.ProfileSyncService; |
+//import org.chromium.chrome.browser.tab.EmptyTabObserver; |
+//import org.chromium.chrome.browser.tab.Tab; |
+//import org.chromium.chrome.browser.tab.TabObserver; |
+//import org.chromium.chrome.browser.tabmodel.ChromeTabCreator; |
+//import org.chromium.chrome.browser.tabmodel.EmptyTabModel; |
+//import org.chromium.chrome.browser.tabmodel.TabCreatorManager; |
+//import org.chromium.chrome.browser.tabmodel.TabModel; |
+//import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
+//import org.chromium.chrome.browser.tabmodel.TabModelSelector; |
+//import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; |
+//import org.chromium.chrome.browser.tabmodel.TabModelUtils; |
+//import org.chromium.chrome.browser.tabmodel.TabWindowManager; |
+//import org.chromium.chrome.browser.toolbar.Toolbar; |
+//import org.chromium.chrome.browser.toolbar.ToolbarControlContainer; |
+//import org.chromium.chrome.browser.toolbar.ToolbarManager; |
+//import org.chromium.chrome.browser.util.FeatureUtilities; |
+//import org.chromium.chrome.browser.webapps.AddToHomescreenDialog; |
+//import org.chromium.chrome.browser.widget.ControlContainer; |
import org.chromium.content.browser.ContentReadbackHandler; |
import org.chromium.content.browser.ContentReadbackHandler.GetBitmapCallback; |
import org.chromium.content.browser.ContentViewCore; |
import org.chromium.content.common.ContentSwitches; |
import org.chromium.content_public.browser.LoadUrlParams; |
-import org.chromium.content_public.browser.readback_types.ReadbackResponse; |
+//import org.chromium.content_public.browser.readback_types.ReadbackResponse; |
import org.chromium.policy.CombinedPolicyProvider.PolicyChangeListener; |
import org.chromium.printing.PrintManagerDelegateImpl; |
import org.chromium.printing.PrintingController; |
import org.chromium.ui.base.ActivityWindowAndroid; |
-import org.chromium.ui.base.PageTransition; |
+//import org.chromium.ui.base.PageTransition; |
import org.chromium.ui.base.WindowAndroid; |
import java.util.Locale; |
@@ -138,18 +138,17 @@ import java.util.concurrent.TimeUnit; |
* and associated classes. |
*/ |
public abstract class ChromeActivity extends AsyncInitializationActivity |
- implements TabCreatorManager, AccessibilityStateChangeListener, PolicyChangeListener, |
- ContextualSearchTabPromotionDelegate, SnackbarManageable, SceneChangeObserver { |
- /** |
- * Factory which creates the AppMenuHandler. |
- */ |
- public interface AppMenuHandlerFactory { |
- /** |
- * @return AppMenuHandler for the given activity and menu resource id. |
- */ |
- public AppMenuHandler get(Activity activity, |
- AppMenuPropertiesDelegate delegate, int menuResourceId); |
- } |
+ implements AccessibilityStateChangeListener, PolicyChangeListener { |
+// /** |
+// * Factory which creates the AppMenuHandler. |
+// */ |
+// public interface AppMenuHandlerFactory { |
+// /** |
+// * @return AppMenuHandler for the given activity and menu resource id. |
+// */ |
+// public AppMenuHandler get(Activity activity, |
+// AppMenuPropertiesDelegate delegate, int menuResourceId); |
+// } |
/** |
* No control container to inflate during initialization. |
@@ -170,14 +169,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
private static final int PARTNER_BROWSER_CUSTOMIZATIONS_TIMEOUT_MS = 10000; |
private static final String TAG = "cr.ChromeActivity"; |
- private TabModelSelector mTabModelSelector; |
- private TabModelSelectorTabObserver mTabModelSelectorTabObserver; |
- private TabCreatorManager.TabCreator mRegularTabCreator; |
- private TabCreatorManager.TabCreator mIncognitoTabCreator; |
- private TabContentManager mTabContentManager; |
- private UmaSessionStats mUmaSessionStats; |
- private ContextReporter mContextReporter; |
- protected GSAServiceClient mGSAServiceClient; |
+// private TabModelSelector mTabModelSelector; |
+// private TabModelSelectorTabObserver mTabModelSelectorTabObserver; |
+// private TabCreatorManager.TabCreator mRegularTabCreator; |
+// private TabCreatorManager.TabCreator mIncognitoTabCreator; |
+// private TabContentManager mTabContentManager; |
+// private UmaSessionStats mUmaSessionStats; |
+// private ContextReporter mContextReporter; |
+// protected GSAServiceClient mGSAServiceClient; |
private boolean mPartnerBrowserRefreshNeeded = false; |
@@ -193,19 +192,19 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener; |
// Observes when sync becomes ready to create the mContextReporter. |
- private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener; |
+// private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener; |
private ActivityWindowAndroid mWindowAndroid; |
- private ChromeFullscreenManager mFullscreenManager; |
- private CompositorViewHolder mCompositorViewHolder; |
- private ContextualSearchManager mContextualSearchManager; |
- private ReaderModeActivityDelegate mReaderModeActivityDelegate; |
- private SnackbarManager mSnackbarManager; |
- private LoFiBarPopupController mLoFiBarPopupController; |
- private ChromeAppMenuPropertiesDelegate mAppMenuPropertiesDelegate; |
- private AppMenuHandler mAppMenuHandler; |
- private ToolbarManager mToolbarManager; |
- private BookmarkModelObserver mBookmarkObserver; |
+// private ChromeFullscreenManager mFullscreenManager; |
+// private CompositorViewHolder mCompositorViewHolder; |
+// private ContextualSearchManager mContextualSearchManager; |
+// private ReaderModeActivityDelegate mReaderModeActivityDelegate; |
+// private SnackbarManager mSnackbarManager; |
+// private LoFiBarPopupController mLoFiBarPopupController; |
+// private ChromeAppMenuPropertiesDelegate mAppMenuPropertiesDelegate; |
+// private AppMenuHandler mAppMenuHandler; |
+// private ToolbarManager mToolbarManager; |
+// private BookmarkModelObserver mBookmarkObserver; |
// Time in ms that it took took us to inflate the initial layout |
private long mInflateInitialLayoutDurationMs; |
@@ -214,23 +213,23 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
private final Locale mCurrentLocale = Locale.getDefault(); |
- private AssistStatusHandler mAssistStatusHandler; |
+// private AssistStatusHandler mAssistStatusHandler; |
- private static AppMenuHandlerFactory sAppMenuHandlerFactory = new AppMenuHandlerFactory() { |
- @Override |
- public AppMenuHandler get( |
- Activity activity, AppMenuPropertiesDelegate delegate, int menuResourceId) { |
- return new AppMenuHandler(activity, delegate, menuResourceId); |
- } |
- }; |
+// private static AppMenuHandlerFactory sAppMenuHandlerFactory = new AppMenuHandlerFactory() { |
+// @Override |
+// public AppMenuHandler get( |
+// Activity activity, AppMenuPropertiesDelegate delegate, int menuResourceId) { |
+// return new AppMenuHandler(activity, delegate, menuResourceId); |
+// } |
+// }; |
- /** |
- * @param The {@link AppMenuHandlerFactory} for creating {@link mAppMenuHandler} |
- */ |
- @VisibleForTesting |
- public static void setAppMenuHandlerFactoryForTesting(AppMenuHandlerFactory factory) { |
- sAppMenuHandlerFactory = factory; |
- } |
+// /** |
+// * @param The {@link AppMenuHandlerFactory} for creating {@link mAppMenuHandler} |
+// */ |
+// @VisibleForTesting |
+// public static void setAppMenuHandlerFactoryForTesting(AppMenuHandlerFactory factory) { |
+// sAppMenuHandlerFactory = factory; |
+// } |
@Override |
public void preInflationStartup() { |
@@ -245,47 +244,47 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
public void postInflationStartup() { |
super.postInflationStartup(); |
- mWindowAndroid = ((ChromeApplication) getApplicationContext()) |
- .createActivityWindowAndroid(this); |
- mWindowAndroid.restoreInstanceState(getSavedInstanceState()); |
- mSnackbarManager = new SnackbarManager(getWindow()); |
- mLoFiBarPopupController = new LoFiBarPopupController(this, getSnackbarManager()); |
+// mWindowAndroid = ((ChromeApplication) getApplicationContext()) |
+// .createActivityWindowAndroid(this); |
+// mWindowAndroid.restoreInstanceState(getSavedInstanceState()); |
+// mSnackbarManager = new SnackbarManager(getWindow()); |
+// mLoFiBarPopupController = new LoFiBarPopupController(this, getSnackbarManager()); |
- mAssistStatusHandler = createAssistStatusHandler(); |
- if (mAssistStatusHandler != null) { |
- if (mTabModelSelector != null) { |
- mAssistStatusHandler.setTabModelSelector(mTabModelSelector); |
- } |
- mAssistStatusHandler.updateAssistState(); |
- } |
+// mAssistStatusHandler = createAssistStatusHandler(); |
+// if (mAssistStatusHandler != null) { |
+//// if (mTabModelSelector != null) { |
+//// mAssistStatusHandler.setTabModelSelector(mTabModelSelector); |
+//// } |
+// mAssistStatusHandler.updateAssistState(); |
+// } |
// If a user had ALLOW_LOW_END_DEVICE_UI explicitly set to false then we manually override |
// SysUtils.isLowEndDevice() with a switch so that they continue to see the normal UI. This |
// is only the case for grandfathered-in svelte users. We no longer do so for newer users. |
- if (!ChromePreferenceManager.getInstance(this).getAllowLowEndDeviceUi()) { |
- CommandLine.getInstance().appendSwitch( |
- BaseSwitches.DISABLE_LOW_END_DEVICE_MODE); |
- } |
+// if (!ChromePreferenceManager.getInstance(this).getAllowLowEndDeviceUi()) { |
+// CommandLine.getInstance().appendSwitch( |
+// BaseSwitches.DISABLE_LOW_END_DEVICE_MODE); |
+// } |
AccessibilityManager manager = (AccessibilityManager) |
getBaseContext().getSystemService(Context.ACCESSIBILITY_SERVICE); |
manager.addAccessibilityStateChangeListener(this); |
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { |
- mTouchExplorationStateChangeListener = new TouchExplorationStateChangeListener() { |
- @Override |
- public void onTouchExplorationStateChanged(boolean enabled) { |
- checkAccessibility(); |
- } |
- }; |
- manager.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener); |
- } |
+// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { |
+// mTouchExplorationStateChangeListener = new TouchExplorationStateChangeListener() { |
+// @Override |
+// public void onTouchExplorationStateChanged(boolean enabled) { |
+// checkAccessibility(); |
+// } |
+// }; |
+// manager.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener); |
+// } |
// Make the activity listen to policy change events |
getChromeApplication().addPolicyChangeListener(this); |
// Set up the animation placeholder to be the SurfaceView. This disables the |
// SurfaceView's 'hole' clipping during animations that are notified to the window. |
- mWindowAndroid.setAnimationPlaceholderView(mCompositorViewHolder.getSurfaceView()); |
+// mWindowAndroid.setAnimationPlaceholderView(mCompositorViewHolder.getSurfaceView()); |
// Inform the WindowAndroid of the keyboard accessory view. |
mWindowAndroid.setKeyboardAccessoryView((ViewGroup) findViewById(R.id.keyboard_accessory)); |
@@ -303,7 +302,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
}; |
controlContainer.getViewTreeObserver().addOnPreDrawListener(mFirstDrawListener); |
} |
- initializeToolbar(); |
+// initializeToolbar(); |
} |
/** |
@@ -315,13 +314,13 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
protected final void setContentView() { |
final long begin = SystemClock.elapsedRealtime(); |
TraceEvent.begin("onCreate->setContentView()"); |
- if (WarmupManager.getInstance().hasBuiltViewHierarchy()) { |
- View placeHolderView = new View(this); |
- setContentView(placeHolderView); |
- ViewGroup contentParent = (ViewGroup) placeHolderView.getParent(); |
- WarmupManager.getInstance().transferViewHierarchyTo(contentParent); |
- contentParent.removeView(placeHolderView); |
- } else { |
+// if (WarmupManager.getInstance().hasBuiltViewHierarchy()) { |
+// View placeHolderView = new View(this); |
+// setContentView(placeHolderView); |
+// ViewGroup contentParent = (ViewGroup) placeHolderView.getParent(); |
+// WarmupManager.getInstance().transferViewHierarchyTo(contentParent); |
+// contentParent.removeView(placeHolderView); |
+// } else { |
setContentView(R.layout.main); |
if (getControlContainerLayoutId() != NO_CONTROL_CONTAINER) { |
ViewStub toolbarContainerStub = |
@@ -329,50 +328,50 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
toolbarContainerStub.setLayoutResource(getControlContainerLayoutId()); |
toolbarContainerStub.inflate(); |
} |
- } |
+// } |
TraceEvent.end("onCreate->setContentView()"); |
mInflateInitialLayoutDurationMs = SystemClock.elapsedRealtime() - begin; |
// Set the status bar color to black by default. This is an optimization for |
// Chrome not to draw under status and navigation bars when we use the default |
// black status bar |
- ApiCompatibilityUtils.setStatusBarColor(getWindow(), Color.BLACK); |
+// ApiCompatibilityUtils.setStatusBarColor(getWindow(), Color.BLACK); |
- mCompositorViewHolder = (CompositorViewHolder) findViewById(R.id.compositor_view_holder); |
- mCompositorViewHolder.setRootView(getWindow().getDecorView().getRootView()); |
+// mCompositorViewHolder = (CompositorViewHolder) findViewById(R.id.compositor_view_holder); |
+// mCompositorViewHolder.setRootView(getWindow().getDecorView().getRootView()); |
enableHardwareAcceleration(); |
} |
- /** |
- * Constructs {@link ToolbarManager} and the handler necessary for controlling the menu on the |
- * {@link Toolbar}. Extending classes can override this call to avoid creating the toolbar. |
- */ |
- protected void initializeToolbar() { |
- final View controlContainer = findViewById(R.id.control_container); |
- assert controlContainer != null; |
- ToolbarControlContainer toolbarContainer = (ToolbarControlContainer) controlContainer; |
- mAppMenuPropertiesDelegate = createAppMenuPropertiesDelegate(); |
- mAppMenuHandler = sAppMenuHandlerFactory.get(this, mAppMenuPropertiesDelegate, |
- getAppMenuLayoutId()); |
- mToolbarManager = new ToolbarManager(this, toolbarContainer, mAppMenuHandler, |
- mAppMenuPropertiesDelegate, getCompositorViewHolder().getInvalidator()); |
- mAppMenuHandler.addObserver(new AppMenuObserver() { |
- @Override |
- public void onMenuVisibilityChanged(boolean isVisible) { |
- if (!isVisible) { |
- mAppMenuPropertiesDelegate.onMenuDismissed(); |
- } |
- } |
- }); |
- } |
+// /** |
+// * Constructs {@link ToolbarManager} and the handler necessary for controlling the menu on the |
+// * {@link Toolbar}. Extending classes can override this call to avoid creating the toolbar. |
+// */ |
+// protected void initializeToolbar() { |
+// final View controlContainer = findViewById(R.id.control_container); |
+// assert controlContainer != null; |
+// ToolbarControlContainer toolbarContainer = (ToolbarControlContainer) controlContainer; |
+// mAppMenuPropertiesDelegate = createAppMenuPropertiesDelegate(); |
+// mAppMenuHandler = sAppMenuHandlerFactory.get(this, mAppMenuPropertiesDelegate, |
+// getAppMenuLayoutId()); |
+// mToolbarManager = new ToolbarManager(this, toolbarContainer, mAppMenuHandler, |
+// mAppMenuPropertiesDelegate, getCompositorViewHolder().getInvalidator()); |
+// mAppMenuHandler.addObserver(new AppMenuObserver() { |
+// @Override |
+// public void onMenuVisibilityChanged(boolean isVisible) { |
+// if (!isVisible) { |
+// mAppMenuPropertiesDelegate.onMenuDismissed(); |
+// } |
+// } |
+// }); |
+// } |
/** |
* @return {@link ToolbarManager} that belongs to this activity. |
*/ |
- protected ToolbarManager getToolbarManager() { |
- return mToolbarManager; |
- } |
+// protected ToolbarManager getToolbarManager() { |
+// return mToolbarManager; |
+// } |
/** |
* @return The resource id for the menu to use in {@link AppMenu}. Default is R.menu.main_menu. |
@@ -381,27 +380,27 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
return R.menu.main_menu; |
} |
- /** |
- * @return {@link ChromeAppMenuPropertiesDelegate} instance that the {@link AppMenuHandler} |
- * should be using in this activity. |
- */ |
- protected ChromeAppMenuPropertiesDelegate createAppMenuPropertiesDelegate() { |
- return new ChromeAppMenuPropertiesDelegate(this); |
- } |
+// /** |
+// * @return {@link ChromeAppMenuPropertiesDelegate} instance that the {@link AppMenuHandler} |
+// * should be using in this activity. |
+// */ |
+// protected ChromeAppMenuPropertiesDelegate createAppMenuPropertiesDelegate() { |
+// return new ChromeAppMenuPropertiesDelegate(this); |
+// } |
/** |
* @return The assist handler for this activity. |
*/ |
- protected AssistStatusHandler getAssistStatusHandler() { |
- return mAssistStatusHandler; |
- } |
+// protected AssistStatusHandler getAssistStatusHandler() { |
+// return mAssistStatusHandler; |
+// } |
/** |
* @return A newly constructed assist handler for this given activity type. |
*/ |
- protected AssistStatusHandler createAssistStatusHandler() { |
- return new AssistStatusHandler(this); |
- } |
+// protected AssistStatusHandler createAssistStatusHandler() { |
+// return new AssistStatusHandler(this); |
+// } |
/** |
* @return The resource id for the layout to use for {@link ControlContainer}. 0 by default. |
@@ -425,181 +424,181 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
mIntentHandler = new IntentHandler(createIntentHandlerDelegate(), getPackageName()); |
} |
- @Override |
- public void initializeCompositor() { |
- TraceEvent.begin("ChromeActivity:CompositorInitialization"); |
- super.initializeCompositor(); |
- |
- setTabContentManager(new TabContentManager(this, getContentOffsetProvider(), |
- DeviceClassManager.enableSnapshots())); |
- mCompositorViewHolder.onNativeLibraryReady(mWindowAndroid, getTabContentManager()); |
- |
- if (isContextualSearchAllowed() && ContextualSearchFieldTrial.isEnabled()) { |
- mContextualSearchManager = new ContextualSearchManager(this, mWindowAndroid, this); |
- } |
- |
- if (ReaderModeManager.isEnabled(this)) { |
- mReaderModeActivityDelegate = new ReaderModeActivityDelegate(this); |
- } |
- |
- TraceEvent.end("ChromeActivity:CompositorInitialization"); |
- } |
- |
- /** |
- * Sets the {@link TabModelSelector} owned by this {@link ChromeActivity}. |
- * @param tabModelSelector A {@link TabModelSelector} instance. |
- */ |
- protected void setTabModelSelector(TabModelSelector tabModelSelector) { |
- mTabModelSelector = tabModelSelector; |
- |
- if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy(); |
- mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelSelector) { |
- @Override |
- public void didFirstVisuallyNonEmptyPaint(Tab tab) { |
- if (!tab.isNativePage() && !tab.isIncognito() |
- && DataReductionProxySettings.getInstance().wasLoFiModeActiveOnMainFrame() |
- && DataReductionProxySettings.getInstance().canUseDataReductionProxy( |
- tab.getUrl())) { |
- if (tab.isHidden()) { |
- TabObserver tabObserver = new EmptyTabObserver() { |
- @Override |
- public void onShown(Tab tab) { |
- mLoFiBarPopupController.showLoFiBar(tab); |
- tab.removeObserver(this); |
- } |
- }; |
- tab.addObserver(tabObserver); |
- return; |
- } |
- mLoFiBarPopupController.showLoFiBar(tab); |
- } |
- } |
- |
- @Override |
- public void onHidden(Tab tab) { |
- mLoFiBarPopupController.dismissLoFiBar(); |
- } |
- |
- @Override |
- public void onDestroyed(Tab tab) { |
- mLoFiBarPopupController.dismissLoFiBar(); |
- } |
- |
- @Override |
- public void onLoadStopped(Tab tab) { |
- postDeferredStartupIfNeeded(); |
- showUpdateInfoBarIfNecessary(); |
- } |
- |
- @Override |
- public void onPageLoadFinished(Tab tab) { |
- postDeferredStartupIfNeeded(); |
- showUpdateInfoBarIfNecessary(); |
- } |
- |
- @Override |
- public void onCrash(Tab tab, boolean sadTabShown) { |
- postDeferredStartupIfNeeded(); |
- } |
- |
- @Override |
- public void onDidChangeThemeColor(Tab tab, int color) { |
- if (getToolbarManager() == null) return; |
- if (getActivityTab() != tab) return; |
- |
- getToolbarManager().updatePrimaryColor(color); |
- |
- ControlContainer controlContainer = |
- (ControlContainer) findViewById(R.id.control_container); |
- controlContainer.getToolbarResourceAdapter().invalidate(null); |
- } |
- }; |
- |
- if (mAssistStatusHandler != null) { |
- mAssistStatusHandler.setTabModelSelector(tabModelSelector); |
- } |
- } |
+// @Override |
+// public void initializeCompositor() { |
+// TraceEvent.begin("ChromeActivity:CompositorInitialization"); |
+// super.initializeCompositor(); |
+// |
+// setTabContentManager(new TabContentManager(this, getContentOffsetProvider(), |
+// DeviceClassManager.enableSnapshots())); |
+// mCompositorViewHolder.onNativeLibraryReady(mWindowAndroid, getTabContentManager()); |
+// |
+// if (isContextualSearchAllowed() && ContextualSearchFieldTrial.isEnabled()) { |
+// mContextualSearchManager = new ContextualSearchManager(this, mWindowAndroid, this); |
+// } |
+// |
+// if (ReaderModeManager.isEnabled(this)) { |
+// mReaderModeActivityDelegate = new ReaderModeActivityDelegate(this); |
+// } |
+// |
+// TraceEvent.end("ChromeActivity:CompositorInitialization"); |
+// } |
+// |
+// /** |
+// * Sets the {@link TabModelSelector} owned by this {@link ChromeActivity}. |
+// * @param tabModelSelector A {@link TabModelSelector} instance. |
+// */ |
+// protected void setTabModelSelector(TabModelSelector tabModelSelector) { |
+// mTabModelSelector = tabModelSelector; |
+// |
+// if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy(); |
+// mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelSelector) { |
+// @Override |
+// public void didFirstVisuallyNonEmptyPaint(Tab tab) { |
+// if (!tab.isNativePage() && !tab.isIncognito() |
+// && DataReductionProxySettings.getInstance().wasLoFiModeActiveOnMainFrame() |
+// && DataReductionProxySettings.getInstance().canUseDataReductionProxy( |
+// tab.getUrl())) { |
+// if (tab.isHidden()) { |
+// TabObserver tabObserver = new EmptyTabObserver() { |
+// @Override |
+// public void onShown(Tab tab) { |
+// mLoFiBarPopupController.showLoFiBar(tab); |
+// tab.removeObserver(this); |
+// } |
+// }; |
+// tab.addObserver(tabObserver); |
+// return; |
+// } |
+// mLoFiBarPopupController.showLoFiBar(tab); |
+// } |
+// } |
+// |
+// @Override |
+// public void onHidden(Tab tab) { |
+// mLoFiBarPopupController.dismissLoFiBar(); |
+// } |
+// |
+// @Override |
+// public void onDestroyed(Tab tab) { |
+// mLoFiBarPopupController.dismissLoFiBar(); |
+// } |
+// |
+// @Override |
+// public void onLoadStopped(Tab tab) { |
+// postDeferredStartupIfNeeded(); |
+// showUpdateInfoBarIfNecessary(); |
+// } |
+// |
+// @Override |
+// public void onPageLoadFinished(Tab tab) { |
+// postDeferredStartupIfNeeded(); |
+// showUpdateInfoBarIfNecessary(); |
+// } |
+// |
+// @Override |
+// public void onCrash(Tab tab, boolean sadTabShown) { |
+// postDeferredStartupIfNeeded(); |
+// } |
+// |
+// @Override |
+// public void onDidChangeThemeColor(Tab tab, int color) { |
+// if (getToolbarManager() == null) return; |
+// if (getActivityTab() != tab) return; |
+// |
+// getToolbarManager().updatePrimaryColor(color); |
+// |
+// ControlContainer controlContainer = |
+// (ControlContainer) findViewById(R.id.control_container); |
+// controlContainer.getToolbarResourceAdapter().invalidate(null); |
+// } |
+// }; |
+// |
+// if (mAssistStatusHandler != null) { |
+// mAssistStatusHandler.setTabModelSelector(tabModelSelector); |
+// } |
+// } |
@Override |
public void onStartWithNative() { |
super.onStartWithNative(); |
getChromeApplication().onStartWithNative(); |
- Tab tab = getActivityTab(); |
- if (tab != null) tab.onActivityStart(); |
- FeatureUtilities.setDocumentModeEnabled(FeatureUtilities.isDocumentMode(this)); |
- WarmupManager.getInstance().clearWebContentsIfNecessary(); |
- |
- if (GSAState.getInstance(this).isGsaAvailable()) { |
- mGSAServiceClient = new GSAServiceClient(this); |
- mGSAServiceClient.connect(); |
- createContextReporterIfNeeded(); |
- } else { |
- ContextReporter.reportStatus(ContextReporter.STATUS_GSA_NOT_AVAILABLE); |
- } |
- mCompositorViewHolder.resetFlags(); |
- } |
- |
- private void createContextReporterIfNeeded() { |
- if (mContextReporter != null || getActivityTab() == null) return; |
- |
- final ProfileSyncService syncService = ProfileSyncService.get(this); |
- |
- if (syncService.isSyncingUrlsWithKeystorePassphrase()) { |
- mContextReporter = ((ChromeApplication) getApplicationContext()).createGsaHelper() |
- .getContextReporter(this); |
- |
- if (mSyncStateChangedListener != null) { |
- syncService.removeSyncStateChangedListener(mSyncStateChangedListener); |
- mSyncStateChangedListener = null; |
- } |
- |
- return; |
- } else { |
- ContextReporter.reportSyncStatus(syncService); |
- } |
- |
- if (mSyncStateChangedListener == null) { |
- mSyncStateChangedListener = new ProfileSyncService.SyncStateChangedListener() { |
- @Override |
- public void syncStateChanged() { |
- createContextReporterIfNeeded(); |
- } |
- }; |
- syncService.addSyncStateChangedListener(mSyncStateChangedListener); |
- } |
- } |
+// Tab tab = getActivityTab(); |
+// if (tab != null) tab.onActivityStart(); |
+// FeatureUtilities.setDocumentModeEnabled(FeatureUtilities.isDocumentMode(this)); |
+// WarmupManager.getInstance().clearWebContentsIfNecessary(); |
+ |
+// if (GSAState.getInstance(this).isGsaAvailable()) { |
+// mGSAServiceClient = new GSAServiceClient(this); |
+// mGSAServiceClient.connect(); |
+// createContextReporterIfNeeded(); |
+// } else { |
+// ContextReporter.reportStatus(ContextReporter.STATUS_GSA_NOT_AVAILABLE); |
+// } |
+// mCompositorViewHolder.resetFlags(); |
+ } |
+ |
+// private void createContextReporterIfNeeded() { |
+// if (mContextReporter != null || getActivityTab() == null) return; |
+// |
+// final ProfileSyncService syncService = ProfileSyncService.get(this); |
+// |
+// if (syncService.isSyncingUrlsWithKeystorePassphrase()) { |
+// mContextReporter = ((ChromeApplication) getApplicationContext()).createGsaHelper() |
+// .getContextReporter(this); |
+// |
+// if (mSyncStateChangedListener != null) { |
+// syncService.removeSyncStateChangedListener(mSyncStateChangedListener); |
+// mSyncStateChangedListener = null; |
+// } |
+// |
+// return; |
+// } else { |
+// ContextReporter.reportSyncStatus(syncService); |
+// } |
+// |
+// if (mSyncStateChangedListener == null) { |
+// mSyncStateChangedListener = new ProfileSyncService.SyncStateChangedListener() { |
+// @Override |
+// public void syncStateChanged() { |
+// createContextReporterIfNeeded(); |
+// } |
+// }; |
+// syncService.addSyncStateChangedListener(mSyncStateChangedListener); |
+// } |
+// } |
@Override |
public void onResumeWithNative() { |
super.onResumeWithNative(); |
- markSessionResume(); |
+// markSessionResume(); |
- if (getActivityTab() != null) { |
- LaunchMetrics.commitLaunchMetrics(getActivityTab().getWebContents()); |
- } |
- FeatureUtilities.setCustomTabVisible(isCustomTab()); |
+// if (getActivityTab() != null) { |
+// LaunchMetrics.commitLaunchMetrics(getActivityTab().getWebContents()); |
+// } |
+// FeatureUtilities.setCustomTabVisible(isCustomTab()); |
} |
@Override |
public void onPauseWithNative() { |
- markSessionEnd(); |
+// markSessionEnd(); |
super.onPauseWithNative(); |
} |
- @Override |
- public void onStopWithNative() { |
- if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu(); |
- if (mGSAServiceClient != null) { |
- mGSAServiceClient.disconnect(); |
- mGSAServiceClient = null; |
- if (mSyncStateChangedListener != null) { |
- ProfileSyncService syncService = ProfileSyncService.get(this); |
- syncService.removeSyncStateChangedListener(mSyncStateChangedListener); |
- mSyncStateChangedListener = null; |
- } |
- } |
- super.onStopWithNative(); |
- } |
+// @Override |
+// public void onStopWithNative() { |
+// if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu(); |
+// if (mGSAServiceClient != null) { |
+// mGSAServiceClient.disconnect(); |
+// mGSAServiceClient = null; |
+// if (mSyncStateChangedListener != null) { |
+// ProfileSyncService syncService = ProfileSyncService.get(this); |
+// syncService.removeSyncStateChangedListener(mSyncStateChangedListener); |
+// mSyncStateChangedListener = null; |
+// } |
+// } |
+// super.onStopWithNative(); |
+// } |
@Override |
public void onNewIntentWithNative(Intent intent) { |
@@ -609,98 +608,99 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
mIntentHandler.onNewIntent(this, intent); |
} |
- @Override |
- public boolean hasDoneFirstDraw() { |
- return mToolbarManager != null |
- ? mToolbarManager.hasDoneFirstDraw() : super.hasDoneFirstDraw(); |
- } |
- |
- /** |
- * @return Whether the given activity contains a {@link CustomTab}. |
- */ |
- private boolean isCustomTab() { |
- return this instanceof CustomTabActivity; |
- } |
- |
- @Override |
- protected void onDeferredStartup() { |
- super.onDeferredStartup(); |
- boolean crashDumpUploadingDisabled = getIntent() != null |
- && getIntent().hasExtra( |
- ChromeTabbedActivity.INTENT_EXTRA_DISABLE_CRASH_DUMP_UPLOADING); |
- DeferredStartupHandler.getInstance() |
- .onDeferredStartup(getChromeApplication(), crashDumpUploadingDisabled); |
- |
- BeamController.registerForBeam(this, new BeamProvider() { |
- @Override |
- public String getTabUrlForBeam() { |
- if (isOverlayVisible()) return null; |
- if (getActivityTab() == null) return null; |
- return getActivityTab().getUrl(); |
- } |
- }); |
- |
- getChromeApplication().getUpdateInfoBarHelper().checkForUpdateOnBackgroundThread(this); |
- |
- removeSnapshotDatabase(); |
- if (mToolbarManager != null) { |
- String simpleName = getClass().getSimpleName(); |
- RecordHistogram.recordTimesHistogram("MobileStartup.ToolbarInflationTime." + simpleName, |
- mInflateInitialLayoutDurationMs, TimeUnit.MILLISECONDS); |
- mToolbarManager.onDeferredStartup(getOnCreateTimestampMs(), simpleName); |
- } |
- } |
- |
- @Override |
- public void onStart() { |
- super.onStart(); |
- if (mContextReporter != null) mContextReporter.enable(); |
- |
- if (mPartnerBrowserRefreshNeeded) { |
- mPartnerBrowserRefreshNeeded = false; |
- PartnerBrowserCustomizations.initializeAsync(getApplicationContext(), |
- PARTNER_BROWSER_CUSTOMIZATIONS_TIMEOUT_MS); |
- PartnerBrowserCustomizations.setOnInitializeAsyncFinished(new Runnable() { |
- @Override |
- public void run() { |
- if (PartnerBrowserCustomizations.isIncognitoDisabled()) { |
- terminateIncognitoSession(); |
- } |
- } |
- }); |
- } |
- if (mCompositorViewHolder != null) mCompositorViewHolder.onStart(); |
- } |
+// @Override |
+// public boolean hasDoneFirstDraw() { |
+// return mToolbarManager != null |
+// ? mToolbarManager.hasDoneFirstDraw() : super.hasDoneFirstDraw(); |
+// } |
+ |
+// /** |
+// * @return Whether the given activity contains a {@link CustomTab}. |
+// */ |
+// private boolean isCustomTab() { |
+// return this instanceof CustomTabActivity; |
+// } |
+ |
+// @Override |
+// protected void onDeferredStartup() { |
+// super.onDeferredStartup(); |
+// boolean crashDumpUploadingDisabled = getIntent() != null |
+// && getIntent().hasExtra( |
+// ChromeTabbedActivity.INTENT_EXTRA_DISABLE_CRASH_DUMP_UPLOADING); |
+// DeferredStartupHandler.getInstance() |
+// .onDeferredStartup(getChromeApplication(), crashDumpUploadingDisabled); |
+// |
+//// BeamController.registerForBeam(this, new BeamProvider() { |
+//// @Override |
+//// public String getTabUrlForBeam() { |
+//// return null; |
+////// if (isOverlayVisible()) return null; |
+////// if (getActivityTab() == null) return null; |
+////// return getActivityTab().getUrl(); |
+//// } |
+//// }); |
+// |
+//// getChromeApplication().getUpdateInfoBarHelper().checkForUpdateOnBackgroundThread(this); |
+// |
+// removeSnapshotDatabase(); |
+//// if (mToolbarManager != null) { |
+//// String simpleName = getClass().getSimpleName(); |
+//// RecordHistogram.recordTimesHistogram("MobileStartup.ToolbarInflationTime." + simpleName, |
+//// mInflateInitialLayoutDurationMs, TimeUnit.MILLISECONDS); |
+//// mToolbarManager.onDeferredStartup(getOnCreateTimestampMs(), simpleName); |
+//// } |
+// } |
+ |
+// @Override |
+// public void onStart() { |
+// super.onStart(); |
+//// if (mContextReporter != null) mContextReporter.enable(); |
+// |
+// if (mPartnerBrowserRefreshNeeded) { |
+// mPartnerBrowserRefreshNeeded = false; |
+// PartnerBrowserCustomizations.initializeAsync(getApplicationContext(), |
+// PARTNER_BROWSER_CUSTOMIZATIONS_TIMEOUT_MS); |
+// PartnerBrowserCustomizations.setOnInitializeAsyncFinished(new Runnable() { |
+// @Override |
+// public void run() { |
+// if (PartnerBrowserCustomizations.isIncognitoDisabled()) { |
+// terminateIncognitoSession(); |
+// } |
+// } |
+// }); |
+// } |
+//// if (mCompositorViewHolder != null) mCompositorViewHolder.onStart(); |
+// } |
@Override |
public void onStop() { |
super.onStop(); |
- if (mContextReporter != null) mContextReporter.disable(); |
+// if (mContextReporter != null) mContextReporter.disable(); |
// We want to refresh partner browser provider every onStart(). |
mPartnerBrowserRefreshNeeded = true; |
- if (mCompositorViewHolder != null) mCompositorViewHolder.onStop(); |
+// if (mCompositorViewHolder != null) mCompositorViewHolder.onStop(); |
} |
@Override |
public void onPause() { |
super.onPause(); |
- if (mSnackbarManager != null) mSnackbarManager.dismissSnackbar(false); |
- } |
- |
- // @TargetApi(Build.VERSION_CODES.M) TODO(sgurun) add method document once API is public |
- // crbug/512264 |
- // @Override |
- public void onProvideAssistContent(AssistContent outContent) { |
- if (getAssistStatusHandler() == null || !getAssistStatusHandler().isAssistSupported()) { |
- // No information is provided in incognito mode. |
- return; |
- } |
- Tab tab = getActivityTab(); |
- if (tab != null && !isInOverviewMode()) { |
- outContent.setWebUri(Uri.parse(tab.getUrl())); |
- } |
- } |
+// if (mSnackbarManager != null) mSnackbarManager.dismissSnackbar(false); |
+ } |
+ |
+// // @TargetApi(Build.VERSION_CODES.M) TODO(sgurun) add method document once API is public |
+// // crbug/512264 |
+// // @Override |
+// public void onProvideAssistContent(AssistContent outContent) { |
+// if (getAssistStatusHandler() == null || !getAssistStatusHandler().isAssistSupported()) { |
+// // No information is provided in incognito mode. |
+// return; |
+// } |
+// Tab tab = getActivityTab(); |
+// if (tab != null && !isInOverviewMode()) { |
+// outContent.setWebUri(Uri.parse(tab.getUrl())); |
+// } |
+// } |
@Override |
public long getOnCreateTimestampMs() { |
@@ -714,19 +714,19 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
@SuppressLint("NewApi") |
@Override |
protected final void onDestroy() { |
- if (mReaderModeActivityDelegate != null) mReaderModeActivityDelegate.destroy(); |
- if (mContextualSearchManager != null) mContextualSearchManager.destroy(); |
- if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy(); |
- if (mCompositorViewHolder != null) { |
- if (mCompositorViewHolder.getLayoutManager() != null) { |
- mCompositorViewHolder.getLayoutManager().removeSceneChangeObserver(this); |
- } |
- mCompositorViewHolder.shutDown(); |
- } |
- onDestroyInternal(); |
- |
- TabModelSelector selector = getTabModelSelector(); |
- if (selector != null) selector.destroy(); |
+// if (mReaderModeActivityDelegate != null) mReaderModeActivityDelegate.destroy(); |
+// if (mContextualSearchManager != null) mContextualSearchManager.destroy(); |
+// if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy(); |
+// if (mCompositorViewHolder != null) { |
+// if (mCompositorViewHolder.getLayoutManager() != null) { |
+// mCompositorViewHolder.getLayoutManager().removeSceneChangeObserver(this); |
+// } |
+// mCompositorViewHolder.shutDown(); |
+// } |
+// onDestroyInternal(); |
+ |
+// TabModelSelector selector = getTabModelSelector(); |
+// if (selector != null) selector.destroy(); |
if (mWindowAndroid != null) mWindowAndroid.destroy(); |
if (!Locale.getDefault().equals(mCurrentLocale)) { |
@@ -742,8 +742,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
Process.killProcess(Process.myPid()); |
} |
getChromeApplication().removePolicyChangeListener(this); |
- if (mTabContentManager != null) mTabContentManager.destroy(); |
- if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy(); |
+// if (mTabContentManager != null) mTabContentManager.destroy(); |
+// if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy(); |
AccessibilityManager manager = (AccessibilityManager) |
getBaseContext().getSystemService(Context.ACCESSIBILITY_SERVICE); |
@@ -762,9 +762,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
* After returning from this, the {@link TabModelSelector} will be destroyed followed |
* by the {@link WindowAndroid}. |
*/ |
- protected void onDestroyInternal() { |
- if (mToolbarManager != null) mToolbarManager.destroy(); |
- } |
+// protected void onDestroyInternal() { |
+// if (mToolbarManager != null) mToolbarManager.destroy(); |
+// } |
/** |
* This will handle passing {@link Intent} results back to the {@link WindowAndroid}. It will |
@@ -791,13 +791,13 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
mWindowAndroid.saveInstanceState(outState); |
} |
- /** |
- * @return The unified manager for all snackbar related operations. |
- */ |
- @Override |
- public SnackbarManager getSnackbarManager() { |
- return mSnackbarManager; |
- } |
+// /** |
+// * @return The unified manager for all snackbar related operations. |
+// */ |
+// @Override |
+// public SnackbarManager getSnackbarManager() { |
+// return mSnackbarManager; |
+// } |
/** |
* Called when the accessibility status of this device changes. This might be triggered by |
@@ -807,56 +807,56 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
* @see #onTouchExplorationStateChanged(boolean) |
* @param enabled Whether or not accessibility and touch exploration are currently enabled. |
*/ |
- protected void onAccessibilityModeChanged(boolean enabled) { |
- InfoBarContainer.setIsAllowedToAutoHide(!enabled); |
- if (mToolbarManager != null) mToolbarManager.onAccessibilityStatusChanged(enabled); |
- } |
- |
- @Override |
- public boolean onOptionsItemSelected(MenuItem item) { |
- if (item != null && onMenuOrKeyboardAction(item.getItemId(), true)) { |
- return true; |
- } |
- return super.onOptionsItemSelected(item); |
- } |
- |
- /** |
- * Triggered when the share menu item is selected. |
- * This creates and shows a share intent picker dialog or starts a share intent directly. |
- * |
- * @param currentTab The {@link Tab} a user is watching. |
- * @param windowAndroid The {@link WindowAndroid} currentTab is linked to. |
- * @param shareDirectly Whether it should share directly with the activity that was most |
- * recently used to share. |
- * @param isIncognito Whether currentTab is incognito. |
- */ |
- public void onShareMenuItemSelected(final Tab currentTab, |
- final WindowAndroid windowAndroid, final boolean shareDirectly, boolean isIncognito) { |
- if (currentTab == null) return; |
- |
- final Activity mainActivity = this; |
- ContentReadbackHandler.GetBitmapCallback bitmapCallback = |
- new ContentReadbackHandler.GetBitmapCallback() { |
- @Override |
- public void onFinishGetBitmap(Bitmap bitmap, int reponse) { |
- ShareHelper.share(shareDirectly, mainActivity, currentTab.getTitle(), |
- currentTab.getUrl(), bitmap); |
- if (shareDirectly) { |
- RecordUserAction.record("MobileMenuDirectShare"); |
- } else { |
- RecordUserAction.record("MobileMenuShare"); |
- } |
- } |
- }; |
- ContentReadbackHandler readbackHandler = getContentReadbackHandler(); |
- if (isIncognito || readbackHandler == null || windowAndroid == null |
- || currentTab.getContentViewCore() == null) { |
- bitmapCallback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABLE); |
- } else { |
- readbackHandler.getContentBitmapAsync(1, new Rect(), currentTab.getContentViewCore(), |
- Bitmap.Config.ARGB_8888, bitmapCallback); |
- } |
- } |
+// protected void onAccessibilityModeChanged(boolean enabled) { |
+// InfoBarContainer.setIsAllowedToAutoHide(!enabled); |
+// if (mToolbarManager != null) mToolbarManager.onAccessibilityStatusChanged(enabled); |
+// } |
+ |
+// @Override |
+// public boolean onOptionsItemSelected(MenuItem item) { |
+// if (item != null && onMenuOrKeyboardAction(item.getItemId(), true)) { |
+// return true; |
+// } |
+// return super.onOptionsItemSelected(item); |
+// } |
+ |
+// /** |
+// * Triggered when the share menu item is selected. |
+// * This creates and shows a share intent picker dialog or starts a share intent directly. |
+// * |
+// * @param currentTab The {@link Tab} a user is watching. |
+// * @param windowAndroid The {@link WindowAndroid} currentTab is linked to. |
+// * @param shareDirectly Whether it should share directly with the activity that was most |
+// * recently used to share. |
+// * @param isIncognito Whether currentTab is incognito. |
+// */ |
+// public void onShareMenuItemSelected(final Tab currentTab, |
+// final WindowAndroid windowAndroid, final boolean shareDirectly, boolean isIncognito) { |
+// if (currentTab == null) return; |
+// |
+// final Activity mainActivity = this; |
+// ContentReadbackHandler.GetBitmapCallback bitmapCallback = |
+// new ContentReadbackHandler.GetBitmapCallback() { |
+// @Override |
+// public void onFinishGetBitmap(Bitmap bitmap, int reponse) { |
+// ShareHelper.share(shareDirectly, mainActivity, currentTab.getTitle(), |
+// currentTab.getUrl(), bitmap); |
+// if (shareDirectly) { |
+// RecordUserAction.record("MobileMenuDirectShare"); |
+// } else { |
+// RecordUserAction.record("MobileMenuShare"); |
+// } |
+// } |
+// }; |
+// ContentReadbackHandler readbackHandler = getContentReadbackHandler(); |
+// if (isIncognito || readbackHandler == null || windowAndroid == null |
+// || currentTab.getContentViewCore() == null) { |
+// bitmapCallback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABLE); |
+// } else { |
+// readbackHandler.getContentBitmapAsync(1, new Rect(), currentTab.getContentViewCore(), |
+// Bitmap.Config.ARGB_8888, bitmapCallback); |
+// } |
+// } |
/** |
* @return Whether the activity is in overview mode. |
@@ -869,10 +869,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
* @return Whether the app menu should be shown. |
*/ |
public boolean shouldShowAppMenu() { |
- // Do not show the menu if Contextual Search Panel is opened. |
- if (mContextualSearchManager != null && mContextualSearchManager.isSearchPanelOpened()) { |
- return false; |
- } |
+// // Do not show the menu if Contextual Search Panel is opened. |
+// if (mContextualSearchManager != null && mContextualSearchManager.isSearchPanelOpened()) { |
+// return false; |
+// } |
return true; |
} |
@@ -908,14 +908,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
return R.dimen.control_container_height; |
} |
- @Override |
- public final void onAccessibilityStateChanged(boolean enabled) { |
- checkAccessibility(); |
- } |
+// @Override |
+// public final void onAccessibilityStateChanged(boolean enabled) { |
+// checkAccessibility(); |
+// } |
- private void checkAccessibility() { |
- onAccessibilityModeChanged(DeviceClassManager.isAccessibilityModeEnabled(this)); |
- } |
+// private void checkAccessibility() { |
+// onAccessibilityModeChanged(DeviceClassManager.isAccessibilityModeEnabled(this)); |
+// } |
/** |
* @return A casted version of {@link #getApplication()}. |
@@ -936,132 +936,132 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
* already bookmarked. If a new bookmark is added, a snackbar will be shown. |
* @param tabToBookmark The tab that needs to be bookmarked. |
*/ |
- public void addOrEditBookmark(final Tab tabToBookmark) { |
- if (tabToBookmark == null || tabToBookmark.isFrozen()) { |
- return; |
- } |
- |
- assert mToolbarManager.getBookmarksBridge().isEditBookmarksEnabled(); |
- |
- // Note the use of getUserBookmarkId() over getBookmarkId() here: Managed bookmarks can't be |
- // edited. If the current URL is only bookmarked by managed bookmarks, this will return |
- // INVALID_BOOKMARK_ID, so the code below will fall back on adding a new bookmark instead. |
- // TODO(bauerb): This does not take partner bookmarks into account. |
- final long bookmarkId = tabToBookmark.getUserBookmarkId(); |
- |
- if (EnhancedBookmarkUtils.isEnhancedBookmarkEnabled(tabToBookmark.getProfile())) { |
- final EnhancedBookmarksModel bookmarkModel = new EnhancedBookmarksModel(); |
- if (bookmarkModel.isBookmarkModelLoaded()) { |
- EnhancedBookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel, |
- tabToBookmark, getSnackbarManager(), ChromeActivity.this); |
- } else if (mBookmarkObserver == null) { |
- mBookmarkObserver = new BookmarkModelObserver() { |
- @Override |
- public void bookmarkModelChanged() {} |
- |
- @Override |
- public void bookmarkModelLoaded() { |
- EnhancedBookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel, |
- tabToBookmark, getSnackbarManager(), ChromeActivity.this); |
- bookmarkModel.removeObserver(this); |
- } |
- }; |
- bookmarkModel.addObserver(mBookmarkObserver); |
- } |
- } else { |
- Intent intent = new Intent(this, ManageBookmarkActivity.class); |
- if (bookmarkId == ChromeBrowserProviderClient.INVALID_BOOKMARK_ID) { |
- intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_IS_FOLDER, false); |
- intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_TITLE, |
- tabToBookmark.getTitle()); |
- intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_URL, tabToBookmark.getUrl()); |
- } else { |
- intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_IS_FOLDER, false); |
- intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_ID, bookmarkId); |
- } |
- startActivity(intent); |
- } |
- } |
+// public void addOrEditBookmark(final Tab tabToBookmark) { |
+// if (tabToBookmark == null || tabToBookmark.isFrozen()) { |
+// return; |
+// } |
+// |
+// assert mToolbarManager.getBookmarksBridge().isEditBookmarksEnabled(); |
+// |
+// // Note the use of getUserBookmarkId() over getBookmarkId() here: Managed bookmarks can't be |
+// // edited. If the current URL is only bookmarked by managed bookmarks, this will return |
+// // INVALID_BOOKMARK_ID, so the code below will fall back on adding a new bookmark instead. |
+// // TODO(bauerb): This does not take partner bookmarks into account. |
+// final long bookmarkId = tabToBookmark.getUserBookmarkId(); |
+// |
+// if (EnhancedBookmarkUtils.isEnhancedBookmarkEnabled(tabToBookmark.getProfile())) { |
+// final EnhancedBookmarksModel bookmarkModel = new EnhancedBookmarksModel(); |
+// if (bookmarkModel.isBookmarkModelLoaded()) { |
+// EnhancedBookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel, |
+// tabToBookmark, getSnackbarManager(), ChromeActivity.this); |
+// } else if (mBookmarkObserver == null) { |
+// mBookmarkObserver = new BookmarkModelObserver() { |
+// @Override |
+// public void bookmarkModelChanged() {} |
+// |
+// @Override |
+// public void bookmarkModelLoaded() { |
+// EnhancedBookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel, |
+// tabToBookmark, getSnackbarManager(), ChromeActivity.this); |
+// bookmarkModel.removeObserver(this); |
+// } |
+// }; |
+// bookmarkModel.addObserver(mBookmarkObserver); |
+// } |
+// } else { |
+// Intent intent = new Intent(this, ManageBookmarkActivity.class); |
+// if (bookmarkId == ChromeBrowserProviderClient.INVALID_BOOKMARK_ID) { |
+// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_IS_FOLDER, false); |
+// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_TITLE, |
+// tabToBookmark.getTitle()); |
+// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_URL, tabToBookmark.getUrl()); |
+// } else { |
+// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_IS_FOLDER, false); |
+// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_ID, bookmarkId); |
+// } |
+// startActivity(intent); |
+// } |
+// } |
/** |
* {@link TabModelSelector} no longer implements TabModel. Use getTabModelSelector() or |
* getCurrentTabModel() depending on your needs. |
* @return The {@link TabModelSelector}, possibly null. |
*/ |
- public TabModelSelector getTabModelSelector() { |
- return mTabModelSelector; |
- } |
- |
- @Override |
- public TabCreatorManager.TabCreator getTabCreator(boolean incognito) { |
- return incognito ? mIncognitoTabCreator : mRegularTabCreator; |
- } |
- |
- /** |
- * Sets the {@link ChromeTabCreator}s owned by this {@link ChromeActivity}. |
- * @param regularTabCreator A {@link ChromeTabCreator} instance. |
- */ |
- public void setTabCreators(TabCreatorManager.TabCreator regularTabCreator, |
- TabCreatorManager.TabCreator incognitoTabCreator) { |
- mRegularTabCreator = regularTabCreator; |
- mIncognitoTabCreator = incognitoTabCreator; |
- } |
- |
- /** |
- * Convenience method that returns a tab creator for the currently selected {@link TabModel}. |
- * @return A tab creator for the currently selected {@link TabModel}. |
- */ |
- public TabCreatorManager.TabCreator getCurrentTabCreator() { |
- return getTabCreator(getTabModelSelector().isIncognitoSelected()); |
- } |
- |
- /** |
- * Gets the {@link TabContentManager} instance which holds snapshots of the tabs in this model. |
- * @return The thumbnail cache, possibly null. |
- */ |
- public TabContentManager getTabContentManager() { |
- return mTabContentManager; |
- } |
- |
- /** |
- * Sets the {@link TabContentManager} owned by this {@link ChromeActivity}. |
- * @param tabContentManager A {@link TabContentManager} instance. |
- */ |
- protected void setTabContentManager(TabContentManager tabContentManager) { |
- mTabContentManager = tabContentManager; |
- } |
- |
- /** |
- * Gets the current (inner) TabModel. This is a convenience function for |
- * getModelSelector().getCurrentModel(). It is *not* equivalent to the former getModel() |
- * @return Never null, if modelSelector or its field is uninstantiated returns a |
- * {@link EmptyTabModel} singleton |
- */ |
- public TabModel getCurrentTabModel() { |
- TabModelSelector modelSelector = getTabModelSelector(); |
- if (modelSelector == null) return EmptyTabModel.getInstance(); |
- return modelSelector.getCurrentModel(); |
- } |
- |
- /** |
- * Returns the tab being displayed by this ChromeActivity instance. This allows differentiation |
- * between ChromeActivity subclasses that swap between multiple tabs (e.g. ChromeTabbedActivity) |
- * and subclasses that only display one Tab (e.g. FullScreenActivity and DocumentActivity). |
- * |
- * The default implementation grabs the tab currently selected by the TabModel, which may be |
- * null if the Tab does not exist or the system is not initialized. |
- */ |
- public Tab getActivityTab() { |
- return TabModelUtils.getCurrentTab(getCurrentTabModel()); |
- } |
- |
- /** |
- * @return The current ContentViewCore, or null if the tab does not exist or is not showing a |
- * ContentViewCore. |
- */ |
- public ContentViewCore getCurrentContentViewCore() { |
- return TabModelUtils.getCurrentContentViewCore(getCurrentTabModel()); |
- } |
+// public TabModelSelector getTabModelSelector() { |
+// return mTabModelSelector; |
+// } |
+// |
+// @Override |
+// public TabCreatorManager.TabCreator getTabCreator(boolean incognito) { |
+// return incognito ? mIncognitoTabCreator : mRegularTabCreator; |
+// } |
+// |
+// /** |
+// * Sets the {@link ChromeTabCreator}s owned by this {@link ChromeActivity}. |
+// * @param regularTabCreator A {@link ChromeTabCreator} instance. |
+// */ |
+// public void setTabCreators(TabCreatorManager.TabCreator regularTabCreator, |
+// TabCreatorManager.TabCreator incognitoTabCreator) { |
+// mRegularTabCreator = regularTabCreator; |
+// mIncognitoTabCreator = incognitoTabCreator; |
+// } |
+// |
+// /** |
+// * Convenience method that returns a tab creator for the currently selected {@link TabModel}. |
+// * @return A tab creator for the currently selected {@link TabModel}. |
+// */ |
+// public TabCreatorManager.TabCreator getCurrentTabCreator() { |
+// return getTabCreator(getTabModelSelector().isIncognitoSelected()); |
+// } |
+// |
+// /** |
+// * Gets the {@link TabContentManager} instance which holds snapshots of the tabs in this model. |
+// * @return The thumbnail cache, possibly null. |
+// */ |
+// public TabContentManager getTabContentManager() { |
+// return mTabContentManager; |
+// } |
+// |
+// /** |
+// * Sets the {@link TabContentManager} owned by this {@link ChromeActivity}. |
+// * @param tabContentManager A {@link TabContentManager} instance. |
+// */ |
+// protected void setTabContentManager(TabContentManager tabContentManager) { |
+// mTabContentManager = tabContentManager; |
+// } |
+// |
+// /** |
+// * Gets the current (inner) TabModel. This is a convenience function for |
+// * getModelSelector().getCurrentModel(). It is *not* equivalent to the former getModel() |
+// * @return Never null, if modelSelector or its field is uninstantiated returns a |
+// * {@link EmptyTabModel} singleton |
+// */ |
+// public TabModel getCurrentTabModel() { |
+// TabModelSelector modelSelector = getTabModelSelector(); |
+// if (modelSelector == null) return EmptyTabModel.getInstance(); |
+// return modelSelector.getCurrentModel(); |
+// } |
+// |
+// /** |
+// * Returns the tab being displayed by this ChromeActivity instance. This allows differentiation |
+// * between ChromeActivity subclasses that swap between multiple tabs (e.g. ChromeTabbedActivity) |
+// * and subclasses that only display one Tab (e.g. FullScreenActivity and DocumentActivity). |
+// * |
+// * The default implementation grabs the tab currently selected by the TabModel, which may be |
+// * null if the Tab does not exist or the system is not initialized. |
+// */ |
+// public Tab getActivityTab() { |
+// return TabModelUtils.getCurrentTab(getCurrentTabModel()); |
+// } |
+// |
+// /** |
+// * @return The current ContentViewCore, or null if the tab does not exist or is not showing a |
+// * ContentViewCore. |
+// */ |
+// public ContentViewCore getCurrentContentViewCore() { |
+// return TabModelUtils.getCurrentContentViewCore(getCurrentTabModel()); |
+// } |
/** |
* @return A {@link WindowAndroid} instance. |
@@ -1073,124 +1073,124 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
/** |
* @return A {@link CompositorViewHolder} instance. |
*/ |
- public CompositorViewHolder getCompositorViewHolder() { |
- return mCompositorViewHolder; |
- } |
- |
- /** |
- * Gets the full screen manager. |
- * @return The fullscreen manager, possibly null |
- */ |
- public ChromeFullscreenManager getFullscreenManager() { |
- return mFullscreenManager; |
- } |
- |
- /** |
- * @return The content offset provider, may be null. |
- */ |
- public ContentOffsetProvider getContentOffsetProvider() { |
- return mCompositorViewHolder.getContentOffsetProvider(); |
- } |
- |
- /** |
- * @return The content readback handler, may be null. |
- */ |
- public ContentReadbackHandler getContentReadbackHandler() { |
- return mCompositorViewHolder.getContentReadbackHandler(); |
- } |
- |
- /** |
- * Starts asynchronously taking the compositor activity screenshot. |
- * @param getBitmapCallback The callback to call once the screenshot is taken, or when failed. |
- */ |
- public void startTakingCompositorActivityScreenshot(final GetBitmapCallback getBitmapCallback) { |
- ContentReadbackHandler readbackHandler = getContentReadbackHandler(); |
- if (readbackHandler == null || getWindowAndroid() == null) { |
- ThreadUtils.postOnUiThread(new Runnable() { |
- @Override |
- public void run() { |
- getBitmapCallback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABLE); |
- } |
- }); |
- } else { |
- readbackHandler.getCompositorBitmapAsync(getWindowAndroid(), getBitmapCallback); |
- } |
- } |
- |
- /** |
- * @return The {@code ContextualSearchManager} or {@code null} if none; |
- */ |
- public ContextualSearchManager getContextualSearchManager() { |
- return mContextualSearchManager; |
- } |
- |
- /** |
- * @return A {@link ReaderModeActivityDelegate} instance or {@code null} if reader mode is |
- * not enabled. |
- */ |
- public ReaderModeActivityDelegate getReaderModeActivityDelegate() { |
- return mReaderModeActivityDelegate; |
- } |
- |
- /** |
- * Create a full-screen manager to be used by this activity. |
- * @param controlContainer The control container that will be controlled by the full-screen |
- * manager. |
- * @return A {@link ChromeFullscreenManager} instance that's been created. |
- */ |
- protected ChromeFullscreenManager createFullscreenManager(View controlContainer) { |
- return new ChromeFullscreenManager(this, controlContainer, getTabModelSelector(), |
- getControlContainerHeightResource(), true); |
- } |
- |
- /** |
- * Initializes the {@link CompositorViewHolder} with the relevant content it needs to properly |
- * show content on the screen. |
- * @param layoutManager A {@link LayoutManagerDocument} instance. This class is |
- * responsible for driving all high level screen content and |
- * determines which {@link Layout} is shown when. |
- * @param urlBar The {@link View} representing the URL bar (must be |
- * focusable) or {@code null} if none exists. |
- * @param contentContainer A {@link ViewGroup} that can have content attached by |
- * {@link Layout}s. |
- * @param controlContainer A {@link ControlContainer} instance to draw. |
- */ |
- protected void initializeCompositorContent( |
- LayoutManagerDocument layoutManager, View urlBar, ViewGroup contentContainer, |
- ControlContainer controlContainer) { |
- CommandLine commandLine = CommandLine.getInstance(); |
- boolean enableFullscreen = !commandLine.hasSwitch(ChromeSwitches.DISABLE_FULLSCREEN); |
- |
- if (enableFullscreen && controlContainer != null) { |
- mFullscreenManager = createFullscreenManager((View) controlContainer); |
- } |
- |
- if (mContextualSearchManager != null) { |
- mContextualSearchManager.initialize(contentContainer); |
- mContextualSearchManager.setSearchContentViewDelegate(layoutManager); |
- } |
- |
- if (mReaderModeActivityDelegate != null) { |
- mReaderModeActivityDelegate.initialize(contentContainer); |
- mReaderModeActivityDelegate.setDynamicResourceLoader( |
- mCompositorViewHolder.getDynamicResourceLoader()); |
- } |
- |
- layoutManager.addSceneChangeObserver(this); |
- mCompositorViewHolder.setLayoutManager(layoutManager); |
- mCompositorViewHolder.setFocusable(false); |
- mCompositorViewHolder.setControlContainer(controlContainer); |
- mCompositorViewHolder.setFullscreenHandler(mFullscreenManager); |
- mCompositorViewHolder.setUrlBar(urlBar); |
- mCompositorViewHolder.onFinishNativeInitialization(getTabModelSelector(), this, |
- getTabContentManager(), contentContainer, mContextualSearchManager); |
- |
- if (controlContainer != null |
- && DeviceClassManager.enableToolbarSwipe(FeatureUtilities.isDocumentMode(this))) { |
- controlContainer.setSwipeHandler( |
- getCompositorViewHolder().getLayoutManager().getTopSwipeHandler()); |
- } |
- } |
+// public CompositorViewHolder getCompositorViewHolder() { |
+// return mCompositorViewHolder; |
+// } |
+// |
+// /** |
+// * Gets the full screen manager. |
+// * @return The fullscreen manager, possibly null |
+// */ |
+// public ChromeFullscreenManager getFullscreenManager() { |
+// return mFullscreenManager; |
+// } |
+// |
+// /** |
+// * @return The content offset provider, may be null. |
+// */ |
+// public ContentOffsetProvider getContentOffsetProvider() { |
+// return mCompositorViewHolder.getContentOffsetProvider(); |
+// } |
+// |
+// /** |
+// * @return The content readback handler, may be null. |
+// */ |
+// public ContentReadbackHandler getContentReadbackHandler() { |
+// return mCompositorViewHolder.getContentReadbackHandler(); |
+// } |
+ |
+// /** |
+// * Starts asynchronously taking the compositor activity screenshot. |
+// * @param getBitmapCallback The callback to call once the screenshot is taken, or when failed. |
+// */ |
+// public void startTakingCompositorActivityScreenshot(final GetBitmapCallback getBitmapCallback) { |
+// ContentReadbackHandler readbackHandler = getContentReadbackHandler(); |
+// if (readbackHandler == null || getWindowAndroid() == null) { |
+// ThreadUtils.postOnUiThread(new Runnable() { |
+// @Override |
+// public void run() { |
+// getBitmapCallback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABLE); |
+// } |
+// }); |
+// } else { |
+// readbackHandler.getCompositorBitmapAsync(getWindowAndroid(), getBitmapCallback); |
+// } |
+// } |
+// |
+// /** |
+// * @return The {@code ContextualSearchManager} or {@code null} if none; |
+// */ |
+// public ContextualSearchManager getContextualSearchManager() { |
+// return mContextualSearchManager; |
+// } |
+// |
+// /** |
+// * @return A {@link ReaderModeActivityDelegate} instance or {@code null} if reader mode is |
+// * not enabled. |
+// */ |
+// public ReaderModeActivityDelegate getReaderModeActivityDelegate() { |
+// return mReaderModeActivityDelegate; |
+// } |
+// |
+// /** |
+// * Create a full-screen manager to be used by this activity. |
+// * @param controlContainer The control container that will be controlled by the full-screen |
+// * manager. |
+// * @return A {@link ChromeFullscreenManager} instance that's been created. |
+// */ |
+// protected ChromeFullscreenManager createFullscreenManager(View controlContainer) { |
+// return new ChromeFullscreenManager(this, controlContainer, getTabModelSelector(), |
+// getControlContainerHeightResource(), true); |
+// } |
+// |
+// /** |
+// * Initializes the {@link CompositorViewHolder} with the relevant content it needs to properly |
+// * show content on the screen. |
+// * @param layoutManager A {@link LayoutManagerDocument} instance. This class is |
+// * responsible for driving all high level screen content and |
+// * determines which {@link Layout} is shown when. |
+// * @param urlBar The {@link View} representing the URL bar (must be |
+// * focusable) or {@code null} if none exists. |
+// * @param contentContainer A {@link ViewGroup} that can have content attached by |
+// * {@link Layout}s. |
+// * @param controlContainer A {@link ControlContainer} instance to draw. |
+// */ |
+// protected void initializeCompositorContent( |
+// LayoutManagerDocument layoutManager, View urlBar, ViewGroup contentContainer, |
+// ControlContainer controlContainer) { |
+// CommandLine commandLine = CommandLine.getInstance(); |
+// boolean enableFullscreen = !commandLine.hasSwitch(ChromeSwitches.DISABLE_FULLSCREEN); |
+// |
+// if (enableFullscreen && controlContainer != null) { |
+// mFullscreenManager = createFullscreenManager((View) controlContainer); |
+// } |
+// |
+// if (mContextualSearchManager != null) { |
+// mContextualSearchManager.initialize(contentContainer); |
+// mContextualSearchManager.setSearchContentViewDelegate(layoutManager); |
+// } |
+// |
+// if (mReaderModeActivityDelegate != null) { |
+// mReaderModeActivityDelegate.initialize(contentContainer); |
+// mReaderModeActivityDelegate.setDynamicResourceLoader( |
+// mCompositorViewHolder.getDynamicResourceLoader()); |
+// } |
+// |
+// layoutManager.addSceneChangeObserver(this); |
+// mCompositorViewHolder.setLayoutManager(layoutManager); |
+// mCompositorViewHolder.setFocusable(false); |
+// mCompositorViewHolder.setControlContainer(controlContainer); |
+// mCompositorViewHolder.setFullscreenHandler(mFullscreenManager); |
+// mCompositorViewHolder.setUrlBar(urlBar); |
+// mCompositorViewHolder.onFinishNativeInitialization(getTabModelSelector(), this, |
+// getTabContentManager(), contentContainer, mContextualSearchManager); |
+// |
+// if (controlContainer != null |
+// && DeviceClassManager.enableToolbarSwipe(FeatureUtilities.isDocumentMode(this))) { |
+// controlContainer.setSwipeHandler( |
+// getCompositorViewHolder().getLayoutManager().getTopSwipeHandler()); |
+// } |
+// } |
/** |
* Called when the back button is pressed. |
@@ -1198,44 +1198,45 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
*/ |
protected abstract boolean handleBackPressed(); |
- @Override |
- public void onOrientationChange(int orientation) { |
- if (mContextualSearchManager != null) mContextualSearchManager.onOrientationChange(); |
- if (mToolbarManager != null) mToolbarManager.onOrientationChange(); |
- } |
- |
- @Override |
- public void onConfigurationChanged(Configuration newConfig) { |
- if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu(); |
- super.onConfigurationChanged(newConfig); |
- } |
- |
- @Override |
- public final void onBackPressed() { |
- if (mCompositorViewHolder != null) { |
- LayoutManager layoutManager = mCompositorViewHolder.getLayoutManager(); |
- boolean layoutConsumed = layoutManager != null && layoutManager.onBackPressed(); |
- if (layoutConsumed || mContextualSearchManager != null |
- && mContextualSearchManager.onBackPressed()) { |
- RecordUserAction.record("SystemBack"); |
- return; |
- } |
- } |
- if (!isSelectActionBarShowing() && handleBackPressed()) { |
- return; |
- } |
- // This will close the select action bar if it is showing, otherwise close the activity. |
- super.onBackPressed(); |
- } |
- |
- private boolean isSelectActionBarShowing() { |
- Tab tab = getActivityTab(); |
- if (tab == null) return false; |
- ContentViewCore contentViewCore = tab.getContentViewCore(); |
- if (contentViewCore == null) return false; |
- return contentViewCore.isSelectActionBarShowing(); |
- } |
- |
+// @Override |
+// public void onOrientationChange(int orientation) { |
+//// if (mContextualSearchManager != null) mContextualSearchManager.onOrientationChange(); |
+// if (mToolbarManager != null) mToolbarManager.onOrientationChange(); |
+// } |
+ |
+// @Override |
+// public void onConfigurationChanged(Configuration newConfig) { |
+//// if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu(); |
+// super.onConfigurationChanged(newConfig); |
+// } |
+ |
+// @Override |
+// public final void onBackPressed() { |
+// if (mCompositorViewHolder != null) { |
+// LayoutManager layoutManager = mCompositorViewHolder.getLayoutManager(); |
+// boolean layoutConsumed = layoutManager != null && layoutManager.onBackPressed(); |
+// if (layoutConsumed || mContextualSearchManager != null |
+// && mContextualSearchManager.onBackPressed()) { |
+// RecordUserAction.record("SystemBack"); |
+// return; |
+// } |
+// } |
+// if (!isSelectActionBarShowing() && handleBackPressed()) { |
+// return; |
+// } |
+// // This will close the select action bar if it is showing, otherwise close the activity. |
+// super.onBackPressed(); |
+// } |
+// |
+// private boolean isSelectActionBarShowing() { |
+// Tab tab = getActivityTab(); |
+// if (tab == null) return false; |
+// ContentViewCore contentViewCore = tab.getContentViewCore(); |
+// if (contentViewCore == null) return false; |
+// return contentViewCore.isSelectActionBarShowing(); |
+// } |
+/* |
+ // removed because we dont need to implement ContextualSearchTabPromotionDelegate |
@Override |
public boolean createContextualSearchTab(ContentViewCore searchContentViewCore) { |
Tab currentTab = getActivityTab(); |
@@ -1248,22 +1249,23 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
currentTab.getId(), TabLaunchType.FROM_LONGPRESS_FOREGROUND); |
return true; |
} |
- |
- /** |
- * @return The {@link AppMenuHandler} associated with this activity. |
- */ |
- @VisibleForTesting |
- public AppMenuHandler getAppMenuHandler() { |
- return mAppMenuHandler; |
- } |
- |
- /** |
- * @return The {@link AppMenuPropertiesDelegate} associated with this activity. |
- */ |
- @VisibleForTesting |
- public ChromeAppMenuPropertiesDelegate getAppMenuPropertiesDelegate() { |
- return mAppMenuPropertiesDelegate; |
- } |
+*/ |
+ |
+// /** |
+// * @return The {@link AppMenuHandler} associated with this activity. |
+// */ |
+// @VisibleForTesting |
+// public AppMenuHandler getAppMenuHandler() { |
+// return mAppMenuHandler; |
+// } |
+// |
+// /** |
+// * @return The {@link AppMenuPropertiesDelegate} associated with this activity. |
+// */ |
+// @VisibleForTesting |
+// public ChromeAppMenuPropertiesDelegate getAppMenuPropertiesDelegate() { |
+// return mAppMenuPropertiesDelegate; |
+// } |
/** |
* Handles menu item selection and keyboard shortcuts. |
@@ -1273,110 +1275,110 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
* @param fromMenu Whether this was triggered from the menu. |
* @return Whether the action was handled. |
*/ |
- public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) { |
- if (id == R.id.preferences_id) { |
- PreferencesLauncher.launchSettingsPage(this, null); |
- RecordUserAction.record("MobileMenuSettings"); |
- } |
- |
- // All the code below assumes currentTab is not null, so return early if it is null. |
- final Tab currentTab = getActivityTab(); |
- if (currentTab == null) { |
- return false; |
- } else if (id == R.id.forward_menu_id) { |
- if (currentTab.canGoForward()) { |
- currentTab.goForward(); |
- RecordUserAction.record("MobileMenuForward"); |
- RecordUserAction.record("MobileTabClobbered"); |
- } |
- } else if (id == R.id.bookmark_this_page_id) { |
- addOrEditBookmark(currentTab); |
- RecordUserAction.record("MobileMenuAddToBookmarks"); |
- } else if (id == R.id.reload_menu_id) { |
- if (currentTab.isLoading()) { |
- currentTab.stopLoading(); |
- } else { |
- currentTab.reload(); |
- RecordUserAction.record("MobileToolbarReload"); |
- } |
- } else if (id == R.id.info_menu_id) { |
- WebsiteSettingsPopup.show(this, currentTab.getProfile(), currentTab.getWebContents()); |
- } else if (id == R.id.open_history_menu_id) { |
- currentTab.loadUrl( |
- new LoadUrlParams(UrlConstants.HISTORY_URL, PageTransition.AUTO_TOPLEVEL)); |
- RecordUserAction.record("MobileMenuHistory"); |
- } else if (id == R.id.share_menu_id || id == R.id.direct_share_menu_id) { |
- onShareMenuItemSelected(currentTab, getWindowAndroid(), |
- id == R.id.direct_share_menu_id, getCurrentTabModel().isIncognito()); |
- } else if (id == R.id.print_id) { |
- PrintingController printingController = getChromeApplication().getPrintingController(); |
- if (printingController != null && !printingController.isBusy() |
- && PrefServiceBridge.getInstance().isPrintingEnabled()) { |
- printingController.startPrint(new TabPrinter(currentTab), |
- new PrintManagerDelegateImpl(this)); |
- RecordUserAction.record("MobileMenuPrint"); |
- } |
- } else if (id == R.id.add_to_homescreen_id) { |
- AddToHomescreenDialog.show(this, currentTab); |
- RecordUserAction.record("MobileMenuAddToHomescreen"); |
- } else if (id == R.id.request_desktop_site_id) { |
- final boolean reloadOnChange = !currentTab.isNativePage(); |
- final boolean usingDesktopUserAgent = currentTab.getUseDesktopUserAgent(); |
- currentTab.setUseDesktopUserAgent(!usingDesktopUserAgent, reloadOnChange); |
- RecordUserAction.record("MobileMenuRequestDesktopSite"); |
- } else if (id == R.id.reader_mode_prefs_id) { |
- if (currentTab.getWebContents() != null) { |
- RecordUserAction.record("DomDistiller_DistilledPagePrefsOpened"); |
- AlertDialog.Builder builder = |
- new AlertDialog.Builder(this, R.style.AlertDialogTheme); |
- builder.setView(DistilledPagePrefsView.create(this)); |
- builder.show(); |
- } |
- } else if (id == R.id.help_id) { |
- // Since reading back the compositor is asynchronous, we need to do the readback |
- // before starting the GoogleHelp. |
- String helpContextId = HelpAndFeedback.getHelpContextIdFromUrl( |
- this, currentTab.getUrl(), getCurrentTabModel().isIncognito()); |
- HelpAndFeedback.getInstance(this) |
- .show(this, helpContextId, currentTab.getProfile(), currentTab.getUrl()); |
- RecordUserAction.record("MobileMenuFeedback"); |
- } else { |
- return false; |
- } |
- return true; |
- } |
- |
- private void markSessionResume() { |
- // Start new session for UMA. |
- if (mUmaSessionStats == null) { |
- mUmaSessionStats = new UmaSessionStats(this); |
- } |
- |
- mUmaSessionStats.updateMetricsServiceState(); |
- // In DocumentMode we need the application-level TabModelSelector instead of per |
- // activity which only manages a single tab. |
- if (FeatureUtilities.isDocumentMode(this)) { |
- mUmaSessionStats.startNewSession( |
- ChromeApplication.getDocumentTabModelSelector()); |
- } else { |
- mUmaSessionStats.startNewSession(getTabModelSelector()); |
- } |
- } |
- |
- /** |
- * Mark that the UMA session has ended. |
- */ |
- private void markSessionEnd() { |
- if (mUmaSessionStats == null) { |
- // If you hit this assert, please update crbug.com/172653 on how you got there. |
- assert false; |
- return; |
- } |
- // Record session metrics. |
- mUmaSessionStats.logMultiWindowStats(windowArea(), displayArea(), |
- TabWindowManager.getInstance().getNumberOfAssignedTabModelSelectors()); |
- mUmaSessionStats.logAndEndSession(); |
- } |
+// public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) { |
+// if (id == R.id.preferences_id) { |
+// PreferencesLauncher.launchSettingsPage(this, null); |
+// RecordUserAction.record("MobileMenuSettings"); |
+// } |
+// |
+// // All the code below assumes currentTab is not null, so return early if it is null. |
+// final Tab currentTab = getActivityTab(); |
+// if (currentTab == null) { |
+// return false; |
+// } else if (id == R.id.forward_menu_id) { |
+// if (currentTab.canGoForward()) { |
+// currentTab.goForward(); |
+// RecordUserAction.record("MobileMenuForward"); |
+// RecordUserAction.record("MobileTabClobbered"); |
+// } |
+// } else if (id == R.id.bookmark_this_page_id) { |
+// addOrEditBookmark(currentTab); |
+// RecordUserAction.record("MobileMenuAddToBookmarks"); |
+// } else if (id == R.id.reload_menu_id) { |
+// if (currentTab.isLoading()) { |
+// currentTab.stopLoading(); |
+// } else { |
+// currentTab.reload(); |
+// RecordUserAction.record("MobileToolbarReload"); |
+// } |
+// } else if (id == R.id.info_menu_id) { |
+// WebsiteSettingsPopup.show(this, currentTab.getProfile(), currentTab.getWebContents()); |
+// } else if (id == R.id.open_history_menu_id) { |
+// currentTab.loadUrl( |
+// new LoadUrlParams(UrlConstants.HISTORY_URL, PageTransition.AUTO_TOPLEVEL)); |
+// RecordUserAction.record("MobileMenuHistory"); |
+// } else if (id == R.id.share_menu_id || id == R.id.direct_share_menu_id) { |
+// onShareMenuItemSelected(currentTab, getWindowAndroid(), |
+// id == R.id.direct_share_menu_id, getCurrentTabModel().isIncognito()); |
+// } else if (id == R.id.print_id) { |
+// PrintingController printingController = getChromeApplication().getPrintingController(); |
+// if (printingController != null && !printingController.isBusy() |
+// && PrefServiceBridge.getInstance().isPrintingEnabled()) { |
+// printingController.startPrint(new TabPrinter(currentTab), |
+// new PrintManagerDelegateImpl(this)); |
+// RecordUserAction.record("MobileMenuPrint"); |
+// } |
+// } else if (id == R.id.add_to_homescreen_id) { |
+// AddToHomescreenDialog.show(this, currentTab); |
+// RecordUserAction.record("MobileMenuAddToHomescreen"); |
+// } else if (id == R.id.request_desktop_site_id) { |
+// final boolean reloadOnChange = !currentTab.isNativePage(); |
+// final boolean usingDesktopUserAgent = currentTab.getUseDesktopUserAgent(); |
+// currentTab.setUseDesktopUserAgent(!usingDesktopUserAgent, reloadOnChange); |
+// RecordUserAction.record("MobileMenuRequestDesktopSite"); |
+// } else if (id == R.id.reader_mode_prefs_id) { |
+// if (currentTab.getWebContents() != null) { |
+// RecordUserAction.record("DomDistiller_DistilledPagePrefsOpened"); |
+// AlertDialog.Builder builder = |
+// new AlertDialog.Builder(this, R.style.AlertDialogTheme); |
+// builder.setView(DistilledPagePrefsView.create(this)); |
+// builder.show(); |
+// } |
+// } else if (id == R.id.help_id) { |
+// // Since reading back the compositor is asynchronous, we need to do the readback |
+// // before starting the GoogleHelp. |
+// String helpContextId = HelpAndFeedback.getHelpContextIdFromUrl( |
+// this, currentTab.getUrl(), getCurrentTabModel().isIncognito()); |
+// HelpAndFeedback.getInstance(this) |
+// .show(this, helpContextId, currentTab.getProfile(), currentTab.getUrl()); |
+// RecordUserAction.record("MobileMenuFeedback"); |
+// } else { |
+// return false; |
+// } |
+// return true; |
+// } |
+ |
+// private void markSessionResume() { |
+// // Start new session for UMA. |
+// if (mUmaSessionStats == null) { |
+// mUmaSessionStats = new UmaSessionStats(this); |
+// } |
+// |
+// mUmaSessionStats.updateMetricsServiceState(); |
+// // In DocumentMode we need the application-level TabModelSelector instead of per |
+// // activity which only manages a single tab. |
+// if (FeatureUtilities.isDocumentMode(this)) { |
+// mUmaSessionStats.startNewSession( |
+// ChromeApplication.getDocumentTabModelSelector()); |
+// } else { |
+// mUmaSessionStats.startNewSession(getTabModelSelector()); |
+// } |
+// } |
+// |
+// /** |
+// * Mark that the UMA session has ended. |
+// */ |
+// private void markSessionEnd() { |
+// if (mUmaSessionStats == null) { |
+// // If you hit this assert, please update crbug.com/172653 on how you got there. |
+// assert false; |
+// return; |
+// } |
+// // Record session metrics. |
+// mUmaSessionStats.logMultiWindowStats(windowArea(), displayArea(), |
+// TabWindowManager.getInstance().getNumberOfAssignedTabModelSelectors()); |
+// mUmaSessionStats.logAndEndSession(); |
+// } |
private int windowArea() { |
Window window = getWindow(); |
@@ -1417,9 +1419,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
} |
} |
- private void showUpdateInfoBarIfNecessary() { |
- getChromeApplication().getUpdateInfoBarHelper().showUpdateInfobarIfNecessary(this); |
- } |
+// private void showUpdateInfoBarIfNecessary() { |
+// getChromeApplication().getUpdateInfoBarHelper().showUpdateInfobarIfNecessary(this); |
+// } |
/** |
* Determines whether the ContentView is currently visible and not hidden by an overlay |
@@ -1454,11 +1456,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
@Override |
public void terminateIncognitoSession() {} |
- @Override |
- public void onTabSelectionHinted(int tabId) { } |
- |
- @Override |
- public void onSceneChange(Layout layout) { } |
+// @Override |
+//// public void onTabSelectionHinted(int tabId) { } |
+// |
+// @Override |
+// public void onSceneChange(Layout layout) { } |
private void enableHardwareAcceleration() { |
// HW acceleration is disabled in the manifest. Enable it only on high-end devices. |