Merge "Ensure full screen plugin is dismissed when necessary."
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 7944807..fedb873 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -1291,6 +1291,7 @@
private void clearHelpers() {
clearTextEntry();
clearActionModes();
+ dismissFullScreenMode();
}
/**
@@ -4911,6 +4912,13 @@
return mFullScreenHolder != null;
}
+ private void dismissFullScreenMode() {
+ if (inFullScreenMode()) {
+ mFullScreenHolder.dismiss();
+ mFullScreenHolder = null;
+ }
+ }
+
void onPinchToZoomAnimationStart() {
// cancel the single touch handling
cancelTouch();
@@ -6878,9 +6886,9 @@
View view = (View) msg.obj;
int npp = msg.arg1;
- if (mFullScreenHolder != null) {
+ if (inFullScreenMode()) {
Log.w(LOGTAG, "Should not have another full screen.");
- mFullScreenHolder.dismiss();
+ dismissFullScreenMode();
}
mFullScreenHolder = new PluginFullScreenHolder(WebView.this, npp);
mFullScreenHolder.setContentView(view);
@@ -6891,10 +6899,7 @@
break;
}
case HIDE_FULLSCREEN:
- if (inFullScreenMode()) {
- mFullScreenHolder.dismiss();
- mFullScreenHolder = null;
- }
+ dismissFullScreenMode();
break;
case DOM_FOCUS_CHANGED: