diff options
Diffstat (limited to 'android_webview')
-rw-r--r-- | android_webview/java/src/org/chromium/android_webview/AwContents.java | 2 | ||||
-rw-r--r-- | android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java | 22 |
2 files changed, 13 insertions, 11 deletions
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 49fb2d0..8cd9520 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java @@ -462,7 +462,7 @@ public class AwContents { // methods are called on it after it's been destroyed, and other // code relies on AwContents.mContentViewCore to be non-null. - mCleanupReference.cleanupNow(); + if (mCleanupReference != null) mCleanupReference.cleanupNow(); mNativeAwContents = 0; mCleanupReference = null; } diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java index 7b29de8..30cfc0c 100644 --- a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java +++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java @@ -111,6 +111,18 @@ public class AwContentsTest extends AwTestBase { createAwTestContainerView(mContentsClient).getAwContents().destroy(); } + @SmallTest + @Feature({"AndroidWebView"}) + public void testCreateLoadPageDestroy() throws Throwable { + AwTestContainerView awTestContainerView = + createAwTestContainerViewOnMainSync(mContentsClient); + loadUrlSync(awTestContainerView.getAwContents(), + mContentsClient.getOnPageFinishedHelper(), CommonResources.ABOUT_HTML); + destroyAwContentsOnMainSync(awTestContainerView.getAwContents()); + // It should be safe to call destroy multiple times. + destroyAwContentsOnMainSync(awTestContainerView.getAwContents()); + } + /* * @LargeTest * @Feature({"AndroidWebView"}) @@ -347,14 +359,4 @@ public class AwContentsTest extends AwTestBase { if (webServer != null) webServer.shutdown(); } } - - @SmallTest - @Feature({"AndroidWebView"}) - public void testCreateLoadPageDestroy() throws Throwable { - AwTestContainerView awTestContainerView = - createAwTestContainerViewOnMainSync(mContentsClient); - loadUrlSync(awTestContainerView.getAwContents(), - mContentsClient.getOnPageFinishedHelper(), CommonResources.ABOUT_HTML); - awTestContainerView.destroy(); - } } |