Loading core/java/android/webkit/CallbackProxy.java +6 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,12 @@ class CallbackProxy extends Handler { mBackForwardList = new WebBackForwardList(this); } protected void shutdown() { setWebViewClient(null); setWebChromeClient(null); removeCallbacksAndMessages(null); } /** * Set the WebViewClient. * @param client An implementation of WebViewClient. Loading core/java/android/webkit/WebViewClassic.java +0 −10 Original line number Diff line number Diff line Loading @@ -2121,10 +2121,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc } if (mNativeClass != 0) nativeStopGL(); if (mWebViewCore != null) { // Set the handlers to null before destroying WebViewCore so no // more messages will be posted. mCallbackProxy.setWebViewClient(null); mCallbackProxy.setWebChromeClient(null); // Tell WebViewCore to destroy itself synchronized (this) { WebViewCore webViewCore = mWebViewCore; Loading @@ -2133,12 +2129,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc } // Remove any pending messages that might not be serviced yet. mPrivateHandler.removeCallbacksAndMessages(null); mCallbackProxy.removeCallbacksAndMessages(null); // Wake up the WebCore thread just in case it is waiting for a // JavaScript dialog. synchronized (mCallbackProxy) { mCallbackProxy.notify(); } } if (mNativeClass != 0) { nativeDestroy(); Loading core/java/android/webkit/WebViewCore.java +6 −0 Original line number Diff line number Diff line Loading @@ -1252,6 +1252,12 @@ public final class WebViewCore { // Time to take down the world. Cancel all pending // loads and destroy the native view and frame. synchronized (WebViewCore.this) { mCallbackProxy.shutdown(); // Wake up the WebCore thread just in case it is waiting for a // JavaScript dialog. synchronized (mCallbackProxy) { mCallbackProxy.notify(); } mBrowserFrame.destroy(); mBrowserFrame = null; mSettings.onDestroyed(); Loading Loading
core/java/android/webkit/CallbackProxy.java +6 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,12 @@ class CallbackProxy extends Handler { mBackForwardList = new WebBackForwardList(this); } protected void shutdown() { setWebViewClient(null); setWebChromeClient(null); removeCallbacksAndMessages(null); } /** * Set the WebViewClient. * @param client An implementation of WebViewClient. Loading
core/java/android/webkit/WebViewClassic.java +0 −10 Original line number Diff line number Diff line Loading @@ -2121,10 +2121,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc } if (mNativeClass != 0) nativeStopGL(); if (mWebViewCore != null) { // Set the handlers to null before destroying WebViewCore so no // more messages will be posted. mCallbackProxy.setWebViewClient(null); mCallbackProxy.setWebChromeClient(null); // Tell WebViewCore to destroy itself synchronized (this) { WebViewCore webViewCore = mWebViewCore; Loading @@ -2133,12 +2129,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc } // Remove any pending messages that might not be serviced yet. mPrivateHandler.removeCallbacksAndMessages(null); mCallbackProxy.removeCallbacksAndMessages(null); // Wake up the WebCore thread just in case it is waiting for a // JavaScript dialog. synchronized (mCallbackProxy) { mCallbackProxy.notify(); } } if (mNativeClass != 0) { nativeDestroy(); Loading
core/java/android/webkit/WebViewCore.java +6 −0 Original line number Diff line number Diff line Loading @@ -1252,6 +1252,12 @@ public final class WebViewCore { // Time to take down the world. Cancel all pending // loads and destroy the native view and frame. synchronized (WebViewCore.this) { mCallbackProxy.shutdown(); // Wake up the WebCore thread just in case it is waiting for a // JavaScript dialog. synchronized (mCallbackProxy) { mCallbackProxy.notify(); } mBrowserFrame.destroy(); mBrowserFrame = null; mSettings.onDestroyed(); Loading