diff options
Diffstat (limited to 'core/java/android/webkit/ViewManager.java')
-rw-r--r-- | core/java/android/webkit/ViewManager.java | 16 |
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) { |