summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-09-01 13:48:42 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-01 13:48:42 -0700
commitf9fa8be5e37b47d01ae37afb08f68428072e4aa3 (patch)
tree63354f8d8a3afe848f3ab0233bf6ee9ffda700e1
parentb71fe052ab39f1adc5a1a559432b803679a2a027 (diff)
parent90afe21dbb3cbed56a67e17b2260622e501255ea (diff)
downloadframeworks_base-f9fa8be5e37b47d01ae37afb08f68428072e4aa3.zip
frameworks_base-f9fa8be5e37b47d01ae37afb08f68428072e4aa3.tar.gz
frameworks_base-f9fa8be5e37b47d01ae37afb08f68428072e4aa3.tar.bz2
Merge "Prevent serialization after being destroyed"
-rw-r--r--core/java/android/webkit/ViewStateSerializer.java6
-rw-r--r--core/java/android/webkit/WebView.java3
2 files changed, 8 insertions, 1 deletions
diff --git a/core/java/android/webkit/ViewStateSerializer.java b/core/java/android/webkit/ViewStateSerializer.java
index 0fc76fa..5f91ed3 100644
--- a/core/java/android/webkit/ViewStateSerializer.java
+++ b/core/java/android/webkit/ViewStateSerializer.java
@@ -36,11 +36,15 @@ class ViewStateSerializer {
static boolean serializeViewState(OutputStream stream, WebView web)
throws IOException {
+ int baseLayer = web.getBaseLayer();
+ if (baseLayer == 0) {
+ return false;
+ }
DataOutputStream dos = new DataOutputStream(stream);
dos.writeInt(VERSION);
dos.writeInt(web.getContentWidth());
dos.writeInt(web.getContentHeight());
- return nativeSerializeViewState(web.getBaseLayer(), dos,
+ return nativeSerializeViewState(baseLayer, dos,
new byte[WORKING_STREAM_STORAGE]);
}
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 673db8c..2e7f923 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -4308,6 +4308,9 @@ public class WebView extends AbsoluteLayout
}
int getBaseLayer() {
+ if (mNativeClass == 0) {
+ return 0;
+ }
return nativeGetBaseLayer();
}