Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / android_webview / java / src / org / chromium / android_webview / AwContentViewClient.java
index 91c583f..a091d77 100644 (file)
@@ -11,11 +11,9 @@ import android.webkit.URLUtil;
 import android.webkit.WebChromeClient;
 import android.widget.FrameLayout;
 
-import org.chromium.base.CommandLine;
 import org.chromium.content.browser.ContentVideoView;
 import org.chromium.content.browser.ContentVideoViewClient;
 import org.chromium.content.browser.ContentViewClient;
-import org.chromium.content.common.ContentSwitches;
 
 /**
  * ContentViewClient implementation for WebView
@@ -25,28 +23,6 @@ public class AwContentViewClient extends ContentViewClient {
     private class AwContentVideoViewClient implements ContentVideoViewClient {
         @Override
         public boolean onShowCustomView(View view) {
-            WebChromeClient.CustomViewCallback cb = new WebChromeClient.CustomViewCallback() {
-                @Override
-                public void onCustomViewHidden() {
-                    ContentVideoView contentVideoView = ContentVideoView.getContentVideoView();
-                    if (contentVideoView != null)
-                        contentVideoView.exitFullscreen(false);
-                }
-            };
-            // TODO(igsolla): remove the legacy path (kept as a fallback if things go awry).
-            if (!areHtmlControlsEnabled()) {
-                onShowCustomViewLegacy(view, cb);
-            } else {
-                onShowCustomView(view, cb);
-            }
-            return true;
-        }
-
-        private void onShowCustomViewLegacy(View view, WebChromeClient.CustomViewCallback cb) {
-            mAwContentsClient.onShowCustomView(view, cb);
-        }
-
-        private void onShowCustomView(View view, WebChromeClient.CustomViewCallback cb) {
             final FrameLayout viewGroup = new FrameLayout(mContext);
             viewGroup.addView(view);
             viewGroup.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@@ -60,17 +36,27 @@ public class AwContentViewClient extends ContentViewClient {
                     if (mAwContents.isFullScreen()) {
                         return;
                     }
-                    viewGroup.addView(mAwContents.enterFullScreen());
+                    View fullscreenView = mAwContents.enterFullScreen();
+                    if (fullscreenView != null) {
+                        viewGroup.addView(fullscreenView);
+                    }
                 }
             });
+            WebChromeClient.CustomViewCallback cb = new WebChromeClient.CustomViewCallback() {
+                @Override
+                public void onCustomViewHidden() {
+                    ContentVideoView contentVideoView = ContentVideoView.getContentVideoView();
+                    if (contentVideoView != null)
+                        contentVideoView.exitFullscreen(false);
+                }
+            };
             mAwContentsClient.onShowCustomView(viewGroup, cb);
+            return true;
         }
 
         @Override
         public void onDestroyContentVideoView() {
-            if (areHtmlControlsEnabled()) {
-                mAwContents.exitFullScreen();
-            }
+            mAwContents.exitFullScreen();
             mAwContentsClient.onHideCustomView();
         }
 
@@ -125,9 +111,4 @@ public class AwContentViewClient extends ContentViewClient {
         return mAwSettings != null ?
                 mAwSettings.getBlockNetworkLoads() && URLUtil.isNetworkUrl(url) : true;
     }
-
-    private static boolean areHtmlControlsEnabled() {
-        return !CommandLine.getInstance().hasSwitch(
-                ContentSwitches.DISABLE_OVERLAY_FULLSCREEN_VIDEO_SUBTITLE);
-    }
 }