| Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| ===================================================================
|
| --- content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java (revision 158071)
|
| +++ content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java (working copy)
|
| @@ -32,7 +32,6 @@
|
| import org.chromium.content.browser.ContentViewGestureHandler;
|
| import org.chromium.content.browser.ContentViewGestureHandler.MotionEventDelegate;
|
| import org.chromium.content.browser.TouchPoint;
|
| -import org.chromium.content.browser.WebContentsObserverAndroid;
|
| import org.chromium.content.browser.ZoomManager;
|
| import org.chromium.content.common.CleanupReference;
|
| import org.chromium.content.common.TraceEvent;
|
| @@ -142,8 +141,11 @@
|
| private final Context mContext;
|
| private ViewGroup mContainerView;
|
| private InternalAccessDelegate mContainerViewInternals;
|
| - private WebContentsObserverAndroid mWebContentsObserver;
|
|
|
| + // content_view_client.cc depends on ContentViewCore.java holding a ref to the current client
|
| + // instance since the native side only holds a weak pointer to the client. We chose this
|
| + // solution over the managed object owning the C++ object's memory since it's a lot simpler
|
| + // in terms of clean up.
|
| private ContentViewClient mContentViewClient;
|
|
|
| private ContentSettings mContentSettings;
|
| @@ -191,7 +193,7 @@
|
| private boolean mKeyboardConnected;
|
|
|
| // The AccessibilityInjector that handles loading Accessibility scripts into the web page.
|
| - private AccessibilityInjector mAccessibilityInjector;
|
| + private final AccessibilityInjector mAccessibilityInjector;
|
|
|
| private boolean mNeedUpdateOrientationChanged;
|
|
|
| @@ -247,6 +249,9 @@
|
| AndroidBrowserProcess.initContentViewProcess(
|
| context, AndroidBrowserProcess.MAX_RENDERERS_SINGLE_PROCESS);
|
|
|
| + mAccessibilityInjector = AccessibilityInjector.newInstance(this);
|
| + mAccessibilityInjector.addOrRemoveAccessibilityApisIfNecessary();
|
| +
|
| mPersonality = personality;
|
| HeapStatsLogger.init(mContext.getApplicationContext());
|
| }
|
| @@ -332,10 +337,6 @@
|
| setAllUserAgentOverridesInHistory();
|
| }
|
|
|
| -
|
| - mAccessibilityInjector = AccessibilityInjector.newInstance(this);
|
| - mAccessibilityInjector.addOrRemoveAccessibilityApisIfNecessary();
|
| -
|
| String contentDescription = "Web View";
|
| if (AppResource.STRING_CONTENT_VIEW_CONTENT_DESCRIPTION == 0) {
|
| Log.w(TAG, "Setting contentDescription to 'Web View' as no value was specified.");
|
| @@ -344,12 +345,6 @@
|
| AppResource.STRING_CONTENT_VIEW_CONTENT_DESCRIPTION);
|
| }
|
| mContainerView.setContentDescription(contentDescription);
|
| - mWebContentsObserver = new WebContentsObserverAndroid(this) {
|
| - @Override
|
| - public void didStartLoading(String url) {
|
| - hidePopupDialog();
|
| - }
|
| - };
|
| }
|
|
|
| /**
|
| @@ -476,6 +471,9 @@
|
| throw new IllegalArgumentException("The client can't be null.");
|
| }
|
| mContentViewClient = client;
|
| + if (mNativeContentViewCore != 0) {
|
| + nativeSetClient(mNativeContentViewCore, mContentViewClient);
|
| + }
|
| }
|
|
|
| ContentViewClient getContentViewClient() {
|
| @@ -1413,6 +1411,8 @@
|
|
|
| private native void nativeSelectPopupMenuItems(int nativeContentViewCoreImpl, int[] indices);
|
|
|
| + private native void nativeSetClient(int nativeContentViewCoreImpl, ContentViewClient client);
|
| +
|
| private native boolean nativeNeedsReload(int nativeContentViewCoreImpl);
|
|
|
| private native void nativeClearHistory(int nativeContentViewCoreImpl);
|
|
|
| Property changes on: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| ___________________________________________________________________
|
| Added: svn:mergeinfo
|
|
|
|
|