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

Unified Diff: content/shell/android/java/src/org/chromium/content_shell/ShellManager.java

Issue 2688113002: Make ViewRoot the top of the ViewAndroid tree (Closed)
Patch Set: - Created 3 years, 10 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: content/shell/android/java/src/org/chromium/content_shell/ShellManager.java
diff --git a/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java b/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java
index cfddd40862ba0ca82eaaeb47354c160212c5b38a..6601e36e66231cd5b0f014f3a1e5ff0cc45dbc1f 100644
--- a/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java
+++ b/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java
@@ -15,6 +15,7 @@ import org.chromium.base.annotations.JNINamespace;
import org.chromium.content.browser.ContentViewClient;
import org.chromium.content.browser.ContentViewCore;
import org.chromium.content.browser.ContentViewRenderView;
+import org.chromium.ui.base.ViewRoot;
import org.chromium.ui.base.WindowAndroid;
/**
@@ -25,6 +26,7 @@ public class ShellManager extends FrameLayout {
public static final String DEFAULT_SHELL_URL = "http://www.google.com";
private WindowAndroid mWindow;
+ private ViewRoot mViewRoot;
private Shell mActiveShell;
private String mStartupUrl = DEFAULT_SHELL_URL;
@@ -42,20 +44,14 @@ public class ShellManager extends FrameLayout {
}
/**
- * @param window The window used to generate all shells.
+ * @param viewRoot The {@link ViewRoot} used to forward events to native.
*/
- public void setWindow(WindowAndroid window) {
- assert window != null;
- mWindow = window;
+ public void setViewRoot(ViewRoot viewRoot) {
+ assert viewRoot != null && viewRoot.getWindowAndroid() != null;
+ mViewRoot = viewRoot;
+ mWindow = viewRoot.getWindowAndroid();
mContentViewRenderView = new ContentViewRenderView(getContext());
- mContentViewRenderView.onNativeLibraryLoaded(window);
- }
-
- /**
- * @return The window used to generate all shells.
- */
- public WindowAndroid getWindow() {
- return mWindow;
+ mContentViewRenderView.onNativeLibraryLoaded(viewRoot);
}
/**
@@ -106,7 +102,7 @@ public class ShellManager extends FrameLayout {
LayoutInflater inflater =
(LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Shell shellView = (Shell) inflater.inflate(R.layout.shell_view, null);
- shellView.initialize(nativeShellPtr, mWindow, mContentViewClient);
+ shellView.initialize(nativeShellPtr, mViewRoot, mContentViewClient);
// TODO(tedchoc): Allow switching back to these inactive shells.
if (mActiveShell != null) removeShell(mActiveShell);

Powered by Google App Engine
This is Rietveld 408576698