From 1bb1385c7d199a473f76cdec357de2ab4d1d61b6 Mon Sep 17 00:00:00 2001 From: Daniel Braun Date: Wed, 27 Jul 2016 16:54:59 -0700 Subject: [PATCH] Webview: Fix broken fullscreen modals due to zero body height. Summary: Supersedes PR #8536 Fixes #5211 JavaScript plugins such as Fotorama are broken when attempting use its fullscreen feature. If there's an absolute HTML element with 100% height under , its height is 0 when rendered in the Android WebView. This commit fixes it. Closes https://github.com/facebook/react-native/pull/8830 Reviewed By: bestander Differential Revision: D3632821 Pulled By: jamesgpearce fbshipit-source-id: c185bcd30d1d214a357d0d8552d61d0ddfa5e6c6 --- .../facebook/react/views/webview/ReactWebViewManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java index 04ad34ce9..19d394b6f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java @@ -18,6 +18,7 @@ import java.util.Map; import android.graphics.Bitmap; import android.os.Build; import android.text.TextUtils; +import android.view.ViewGroup.LayoutParams; import android.webkit.GeolocationPermissions; import android.webkit.WebView; import android.webkit.WebViewClient; @@ -267,6 +268,11 @@ public class ReactWebViewManager extends SimpleViewManager { webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setDisplayZoomControls(false); + // Fixes broken full-screen modals/galleries due to body height being 0. + webView.setLayoutParams( + new LayoutParams(LayoutParams.MATCH_PARENT, + LayoutParams.MATCH_PARENT)); + if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); }