diff options
Diffstat (limited to 'core/java/android/webkit/PluginFullScreenHolder.java')
| -rw-r--r-- | core/java/android/webkit/PluginFullScreenHolder.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/core/java/android/webkit/PluginFullScreenHolder.java b/core/java/android/webkit/PluginFullScreenHolder.java index 6a0b145371e2..b6418031c4c1 100644 --- a/core/java/android/webkit/PluginFullScreenHolder.java +++ b/core/java/android/webkit/PluginFullScreenHolder.java @@ -30,6 +30,7 @@ import android.util.Log; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; +import android.view.ViewGroup; class PluginFullScreenHolder extends Dialog { @@ -37,6 +38,7 @@ class PluginFullScreenHolder extends Dialog { private final WebView mWebView; private final int mNpp; + private View mContentView; private int mX; private int mY; private int mWidth; @@ -64,6 +66,12 @@ class PluginFullScreenHolder extends Dialog { } @Override + public void setContentView(View contentView) { + super.setContentView(contentView); + mContentView = contentView; + } + + @Override public void onBackPressed() { mWebView.mPrivateHandler.obtainMessage(WebView.HIDE_FULLSCREEN) .sendToTarget(); @@ -113,6 +121,11 @@ class PluginFullScreenHolder extends Dialog { @Override protected void onStop() { super.onStop(); + // manually remove the contentView's parent since the dialog does not + if (mContentView != null && mContentView.getParent() != null) { + ViewGroup vg = (ViewGroup) mContentView.getParent(); + vg.removeView(mContentView); + } mWebView.getWebViewCore().sendMessage( WebViewCore.EventHub.HIDE_FULLSCREEN, mNpp, 0); } |
