summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/PluginFullScreenHolder.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/webkit/PluginFullScreenHolder.java')
-rw-r--r--core/java/android/webkit/PluginFullScreenHolder.java13
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);
}