Index: android_webview/java/src/org/chromium/android_webview/AwContents.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java |
index 2d15b2cb5c048e347d8184ba9915e87d335c8e26..f868572acdf78ff9beea53b8581a82c4d16136e4 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java |
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java |
@@ -77,6 +77,7 @@ import org.chromium.net.NetworkChangeNotifier; |
import org.chromium.ui.base.ActivityWindowAndroid; |
import org.chromium.ui.base.PageTransition; |
import org.chromium.ui.base.ViewAndroidDelegate; |
+import org.chromium.ui.base.ViewRoot; |
import org.chromium.ui.base.WindowAndroid; |
import org.chromium.ui.display.DisplayAndroid.DisplayAndroidObserver; |
@@ -361,6 +362,8 @@ public class AwContents implements SmartClipProvider, PostMessageSender.PostMess |
private static String sCurrentLocales = ""; |
+ private ViewRoot mViewRoot; |
+ |
private static final class AwContentsDestroyRunnable implements Runnable { |
private final long mNativeAwContents; |
// Hold onto a reference to the window (via its wrapper), so that it is not destroyed |
@@ -1202,6 +1205,7 @@ public class AwContents implements SmartClipProvider, PostMessageSender.PostMess |
mNativeAwContents = 0; |
mWebContents = null; |
mNavigationController = null; |
+ mViewRoot = null; |
mCleanupReference.cleanupNow(); |
mCleanupReference = null; |
@@ -3205,7 +3209,7 @@ public class AwContents implements SmartClipProvider, PostMessageSender.PostMess |
// to enter fixedLayoutSize mode is sent before the first resize |
// update. |
mLayoutSizer.onSizeChanged(w, h, ow, oh); |
- mContentViewCore.onPhysicalBackingSizeChanged(w, h); |
+ getViewRoot().onPhysicalBackingSizeChanged(w, h); |
mContentViewCore.onSizeChanged(w, h, ow, oh); |
nativeOnSizeChanged(mNativeAwContents, w, h, ow, oh); |
} |
@@ -3281,6 +3285,13 @@ public class AwContents implements SmartClipProvider, PostMessageSender.PostMess |
} |
} |
+ private ViewRoot getViewRoot() { |
+ if (mViewRoot == null) { |
+ mViewRoot = nativeGetViewRoot(mNativeAwContents); |
+ } |
+ return mViewRoot; |
+ } |
+ |
// Return true if the GeolocationPermissionAPI should be used. |
@CalledByNative |
private boolean useLegacyGeolocationPermissionAPI() { |
@@ -3384,4 +3395,5 @@ public class AwContents implements SmartClipProvider, PostMessageSender.PostMess |
private native void nativeGrantFileSchemeAccesstoChildProcess(long nativeAwContents); |
private native void nativeResumeLoadingCreatedPopupWebContents(long nativeAwContents); |
+ private native ViewRoot nativeGetViewRoot(long nativeAwContents); |
} |