summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit/ViewManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/webkit/ViewManager.java')
-rw-r--r--core/java/android/webkit/ViewManager.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/core/java/android/webkit/ViewManager.java b/core/java/android/webkit/ViewManager.java
index 476e85c..af33b4f 100644
--- a/core/java/android/webkit/ViewManager.java
+++ b/core/java/android/webkit/ViewManager.java
@@ -61,24 +61,32 @@ class ViewManager {
if (mView.getParent() != null) {
mView.setLayoutParams(lp);
} else {
- mWebView.addView(mView, lp);
- mChildren.add(ChildView.this);
+ attachViewOnUIThread(lp);
}
}
});
}
+ void attachViewOnUIThread(AbsoluteLayout.LayoutParams lp) {
+ mWebView.addView(mView, lp);
+ mChildren.add(this);
+ }
+
void removeView() {
if (mView == null) {
return;
}
mWebView.mPrivateHandler.post(new Runnable() {
public void run() {
- mWebView.removeView(mView);
- mChildren.remove(ChildView.this);
+ removeViewOnUIThread();
}
});
}
+
+ void removeViewOnUIThread() {
+ mWebView.removeView(mView);
+ mChildren.remove(this);
+ }
}
ViewManager(WebView w) {