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

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

Issue 2595263002: Introduce ViewRoot forwarding input/view events to native (Closed)
Patch Set: rebased & ViewAndroud::Bounds Created 3 years, 11 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 cbe92b54be1300b6dede26246975b74711c82e41..9b8e32ff784e5c655b81b507191686877aea4fb9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -144,6 +144,7 @@ import org.chromium.printing.PrintingControllerImpl;
import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.PageTransition;
+import org.chromium.ui.base.ViewRoot;
import org.chromium.ui.base.WindowAndroid;
import java.util.ArrayList;
@@ -222,6 +223,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
private ActivityWindowAndroid mWindowAndroid;
+ private ViewRoot mViewRoot;
private ChromeFullscreenManager mFullscreenManager;
private boolean mCreatedFullscreenManager;
@@ -277,6 +279,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
getWindow().setBackgroundDrawable(getBackgroundDrawable());
mWindowAndroid = new ChromeWindow(this);
mWindowAndroid.restoreInstanceState(getSavedInstanceState());
+ mViewRoot = ViewRoot.create(mWindowAndroid);
mFullscreenManager = createFullscreenManager();
mCreatedFullscreenManager = true;
@@ -646,7 +649,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
setTabContentManager(new TabContentManager(this, getContentOffsetProvider(),
DeviceClassManager.enableSnapshots()));
- mCompositorViewHolder.onNativeLibraryReady(mWindowAndroid, getTabContentManager());
+ mCompositorViewHolder.onNativeLibraryReady(mViewRoot, getTabContentManager());
if (isContextualSearchAllowed() && ContextualSearchFieldTrial.isEnabled()) {
mContextualSearchManager = new ContextualSearchManager(this, mWindowAndroid, this);
@@ -984,6 +987,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
mWindowAndroid = null;
}
+ if (mViewRoot != null) {
+ mViewRoot.destroy();
+ mViewRoot = null;
+ }
+
CombinedPolicyProvider.get().removePolicyChangeListener(this);
if (mTabContentManager != null) {
@@ -1410,6 +1418,13 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
}
/**
+ * @return A {@link ViewRoot} instance.
+ */
+ public ViewRoot getViewRoot() {
+ return mViewRoot;
+ }
+
+ /**
* @return A {@link CompositorViewHolder} instance.
*/
public CompositorViewHolder getCompositorViewHolder() {

Powered by Google App Engine
This is Rietveld 408576698