Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8142)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java

Issue 2299613003: New Compositor and tab content
Patch Set: more clean up Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 fea48405089447b4fceb2c5400b5c9e36bf8190d..22d835049a8198c7a98fd75466329c214db0c24d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -175,6 +175,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
private static final String TAG = "ChromeActivity";
private static final Rect EMPTY_RECT = new Rect();
+ protected boolean mVrMode = true;
private TabModelSelector mTabModelSelector;
private TabModelSelectorTabObserver mTabModelSelectorTabObserver;
private TabCreatorManager.TabCreator mRegularTabCreator;
@@ -307,11 +308,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
// 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());
+ if (!mVrMode) {
+ mWindowAndroid.setAnimationPlaceholderView(mCompositorViewHolder.getSurfaceView());
- // Inform the WindowAndroid of the keyboard accessory view.
- mWindowAndroid.setKeyboardAccessoryView((ViewGroup) findViewById(R.id.keyboard_accessory));
- initializeToolbar();
+ // Inform the WindowAndroid of the keyboard accessory view.
+ mWindowAndroid.setKeyboardAccessoryView(
+ (ViewGroup) findViewById(R.id.keyboard_accessory));
+ initializeToolbar();
+ }
}
@Override
@@ -342,20 +346,22 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
WarmupManager.getInstance().transferViewHierarchyTo(contentParent);
contentParent.removeView(placeHolderView);
} else {
- // Allow disk access for the content view and toolbar container setup.
- // On certain android devices this setup sequence results in disk writes outside
- // of our control, so we have to disable StrictMode to work. See crbug.com/639352.
- StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites();
- try {
- setContentView(R.layout.main);
- if (controlContainerLayoutId != NO_CONTROL_CONTAINER) {
- ViewStub toolbarContainerStub =
- ((ViewStub) findViewById(R.id.control_container_stub));
- toolbarContainerStub.setLayoutResource(controlContainerLayoutId);
- toolbarContainerStub.inflate();
+ if (!mVrMode) {
+ // Allow disk access for the content view and toolbar container setup.
+ // On certain android devices this setup sequence results in disk writes outside
+ // of our control, so we have to disable StrictMode to work. See crbug.com/639352.
+ StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites();
+ try {
+ setContentView(R.layout.main);
+ if (controlContainerLayoutId != NO_CONTROL_CONTAINER) {
+ ViewStub toolbarContainerStub =
+ ((ViewStub) findViewById(R.id.control_container_stub));
+ toolbarContainerStub.setLayoutResource(controlContainerLayoutId);
+ toolbarContainerStub.inflate();
+ }
+ } finally {
+ StrictMode.setThreadPolicy(oldPolicy);
}
- } finally {
- StrictMode.setThreadPolicy(oldPolicy);
}
}
TraceEvent.end("onCreate->setContentView()");
@@ -367,8 +373,12 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
ApiCompatibilityUtils.setStatusBarColor(getWindow(), Color.BLACK);
ViewGroup rootView = (ViewGroup) getWindow().getDecorView().getRootView();
- mCompositorViewHolder = (CompositorViewHolder) findViewById(R.id.compositor_view_holder);
- mCompositorViewHolder.setRootView(rootView);
+
+ if (!mVrMode) {
+ mCompositorViewHolder =
+ (CompositorViewHolder) findViewById(R.id.compositor_view_holder);
+ mCompositorViewHolder.setRootView(rootView);
+ }
// Setting fitsSystemWindows to false ensures that the root view doesn't consume the insets.
rootView.setFitsSystemWindows(false);
@@ -385,34 +395,37 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
* {@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 && !isInOverviewMode()) {
- // The app menu badge should be removed the first time the menu is opened.
- if (mToolbarManager.getToolbar().isShowingAppMenuUpdateBadge()) {
- mToolbarManager.getToolbar().removeAppMenuUpdateBadge(true);
- mCompositorViewHolder.requestRender();
+ if (!mVrMode) {
+ 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 && !isInOverviewMode()) {
+ // The app menu badge should be removed the first time the menu is opened.
+ if (mToolbarManager.getToolbar().isShowingAppMenuUpdateBadge()) {
+ mToolbarManager.getToolbar().removeAppMenuUpdateBadge(true);
+
+ if (!mVrMode) mCompositorViewHolder.requestRender();
+ }
}
- }
- if (!isVisible) {
- mAppMenuPropertiesDelegate.onMenuDismissed();
- MenuItem updateMenuItem = mAppMenuHandler.getAppMenu().getMenu().findItem(
- R.id.update_menu_id);
- if (updateMenuItem != null && updateMenuItem.isVisible()) {
- UpdateMenuItemHelper.getInstance().onMenuDismissed();
+ if (!isVisible) {
+ mAppMenuPropertiesDelegate.onMenuDismissed();
+ MenuItem updateMenuItem = mAppMenuHandler.getAppMenu().getMenu().findItem(
+ R.id.update_menu_id);
+ if (updateMenuItem != null && updateMenuItem.isVisible()) {
+ UpdateMenuItemHelper.getInstance().onMenuDismissed();
+ }
}
}
- }
- });
+ });
+ }
}
/**
@@ -484,7 +497,12 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
setTabContentManager(new TabContentManager(this, getContentOffsetProvider(),
DeviceClassManager.enableSnapshots()));
- mCompositorViewHolder.onNativeLibraryReady(mWindowAndroid, getTabContentManager());
+
+ if (!mVrMode) {
+ // mCompositorViewHolder.onNativeLibraryReady(new ActivityWindowAndroid(this),
+ // getTabContentManager());
+ mCompositorViewHolder.onNativeLibraryReady(mWindowAndroid, getTabContentManager());
+ }
if (isContextualSearchAllowed() && ContextualSearchFieldTrial.isEnabled()) {
mContextualSearchManager = new ContextualSearchManager(this, mWindowAndroid, this);
@@ -562,9 +580,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
if (getToolbarManager() == null) return;
getToolbarManager().updatePrimaryColor(color, true);
- ControlContainer controlContainer =
- (ControlContainer) findViewById(R.id.control_container);
- controlContainer.getToolbarResourceAdapter().invalidate(null);
+ if (!mVrMode) {
+ ControlContainer controlContainer =
+ (ControlContainer) findViewById(R.id.control_container);
+ controlContainer.getToolbarResourceAdapter().invalidate(null);
+ }
}
};
@@ -587,7 +607,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
} else {
ContextReporter.reportStatus(ContextReporter.STATUS_GSA_NOT_AVAILABLE);
}
- mCompositorViewHolder.resetFlags();
+ if (!mVrMode) mCompositorViewHolder.resetFlags();
// postDeferredStartupIfNeeded() is called in TabModelSelectorTabObsever#onLoadStopped(),
// #onPageLoadFinished() and #onCrash(). If we are not actively loading a tab (e.g.
@@ -780,7 +800,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@Override
public void onStart() {
if (AsyncTabParamsManager.hasParamsWithTabToReparent()) {
- mCompositorViewHolder.prepareForTabReparenting();
+ if (!mVrMode) mCompositorViewHolder.prepareForTabReparenting();
}
super.onStart();
if (mContextReporter != null) mContextReporter.enable();
@@ -1297,7 +1317,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
* @return The content offset provider, may be null.
*/
public ContentOffsetProvider getContentOffsetProvider() {
- return mCompositorViewHolder.getContentOffsetProvider();
+ if (!mVrMode)
+ return mCompositorViewHolder.getContentOffsetProvider();
+ else
+ return null;
}
/**
@@ -1369,14 +1392,17 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
}
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,
- mReaderModeManager);
+
+ if (!mVrMode) {
+ mCompositorViewHolder.setLayoutManager(layoutManager);
+ mCompositorViewHolder.setFocusable(false);
+ mCompositorViewHolder.setControlContainer(controlContainer);
+ mCompositorViewHolder.setFullscreenHandler(mFullscreenManager);
+ mCompositorViewHolder.setUrlBar(urlBar);
+ mCompositorViewHolder.onFinishNativeInitialization(getTabModelSelector(), this,
+ getTabContentManager(), contentContainer, mContextualSearchManager,
+ mReaderModeManager);
+ }
if (controlContainer != null
&& DeviceClassManager.enableToolbarSwipe()) {
@@ -1524,9 +1550,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
* @param updateAvailable Whether an update is available.
*/
public void onCheckForUpdate(boolean updateAvailable) {
+ if (mVrMode) return;
if (UpdateMenuItemHelper.getInstance().shouldShowToolbarBadge(this)) {
mToolbarManager.getToolbar().showAppMenuUpdateBadge();
- mCompositorViewHolder.requestRender();
+ if (!mVrMode) mCompositorViewHolder.requestRender();
} else {
mToolbarManager.getToolbar().removeAppMenuUpdateBadge(false);
}
« no previous file with comments | « chrome/android/java/AndroidManifest.xml ('k') | chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698