Chromium Code Reviews| Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
| diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
| index d51e32f303eb6f4bf2248e4e6e07fc28bd275303..39b80d729cf4cea1bcb64218ad7fe183183a19b7 100644 |
| --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
| +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
| @@ -70,6 +70,7 @@ import org.chromium.content_public.browser.WebContentsObserver; |
| import org.chromium.device.gamepad.GamepadList; |
| import org.chromium.ui.base.DeviceFormFactor; |
| import org.chromium.ui.base.ViewAndroidDelegate; |
| +import org.chromium.ui.base.ViewRoot; |
| import org.chromium.ui.base.WindowAndroid; |
| import org.chromium.ui.base.ime.TextInputType; |
| import org.chromium.ui.display.DisplayAndroid; |
| @@ -583,7 +584,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Displa |
| // deleting it after destroying the ContentViewCore. |
| public void initialize(ViewAndroidDelegate viewDelegate, |
| InternalAccessDelegate internalDispatcher, WebContents webContents, |
| - WindowAndroid windowAndroid) { |
| + WindowAndroid windowAndroid, ViewRoot viewRoot) { |
|
boliu
2017/01/04 18:58:06
idea.. maybe should just pass in view root everywh
Jinsuk Kim
2017/01/05 11:03:12
Nice idea.
|
| mViewAndroidDelegate = viewDelegate; |
| setContainerView(viewDelegate.getContainerView()); |
| long windowNativePointer = windowAndroid.getNativePointer(); |
| @@ -597,8 +598,8 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Displa |
| mJoystickScrollProvider = |
| new JoystickScrollProvider(webContents, getContainerView(), windowAndroid); |
| - mNativeContentViewCore = nativeInit(webContents, mViewAndroidDelegate, windowNativePointer, |
| - dipScale, mRetainedJavaScriptObjects); |
| + mNativeContentViewCore = nativeInit(webContents, mViewAndroidDelegate, viewRoot, dipScale, |
| + mRetainedJavaScriptObjects); |
| mWebContents = nativeGetWebContentsAndroid(mNativeContentViewCore); |
| setContainerViewInternals(internalDispatcher); |
| @@ -619,11 +620,12 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Displa |
| * Updates the native {@link ContentViewCore} with a new window. This moves the NativeView and |
| * attached it to the new NativeWindow linked with the given {@link WindowAndroid}. |
| * @param windowAndroid The new {@link WindowAndroid} for this {@link ContentViewCore}. |
| + * @param viewRoot {@link ViewRoot} used to forward events to native. |
| */ |
| - public void updateWindowAndroid(WindowAndroid windowAndroid) { |
| + public void updateWindowAndroid(WindowAndroid windowAndroid, ViewRoot viewRoot) { |
| removeDisplayAndroidObserver(); |
| long windowNativePointer = windowAndroid == null ? 0 : windowAndroid.getNativePointer(); |
| - nativeUpdateWindowAndroid(mNativeContentViewCore, windowNativePointer); |
| + nativeUpdateWindowAndroid(mNativeContentViewCore, viewRoot, windowNativePointer); |
| // TODO(yusufo): Rename this call to be general for tab reparenting. |
| // Clean up cached popups that may have been created with an old activity. |
| @@ -2784,11 +2786,11 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Displa |
| } |
| private native long nativeInit(WebContents webContents, ViewAndroidDelegate viewAndroidDelegate, |
| - long windowAndroidPtr, float dipScale, HashSet<Object> retainedObjectSet); |
| + ViewRoot viewRoot, float dipScale, HashSet<Object> retainedObjectSet); |
| private static native ContentViewCore nativeFromWebContentsAndroid(WebContents webContents); |
| private native void nativeUpdateWindowAndroid( |
| - long nativeContentViewCoreImpl, long windowAndroidPtr); |
| + long nativeContentViewCoreImpl, ViewRoot viewRoot, long windowAndroidPtr); |
| private native WebContents nativeGetWebContentsAndroid(long nativeContentViewCoreImpl); |
| private native WindowAndroid nativeGetJavaWindowAndroid(long nativeContentViewCoreImpl); |