Merge pull request #101 from DreamBuddy/master

add new option to control the contentMode in Android platform
This commit is contained in:
Lorenzo Pichilli 2019-06-01 14:35:34 +02:00 committed by GitHub
commit c51497b0b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 0 deletions

View File

@ -191,6 +191,16 @@ public class InAppWebView extends WebView {
if (options.transparentBackground) {
setBackgroundColor(Color.TRANSPARENT);
}
if (!options.mixedContentMode.isEmpty()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (options.mixedContentMode.equals("MIXED_CONTENT_COMPATIBILITY_MODE")) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
} else if (options.mixedContentMode.equals("MIXED_CONTENT_ALWAYS_ALLOW")) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
}
}
}
public void loadUrl(String url, MethodChannel.Result result) {
@ -355,6 +365,16 @@ public class InAppWebView extends WebView {
}
}
if (newOptionsMap.get("mixedContentMode") != null && options.mixedContentMode != newOptions.mixedContentMode) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (newOptions.mixedContentMode.equals("MIXED_CONTENT_COMPATIBILITY_MODE")) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
} else if (newOptions.mixedContentMode.equals("MIXED_CONTENT_ALWAYS_ALLOW")) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
}
}
options = newOptions;
}

View File

@ -24,4 +24,5 @@ public class InAppWebViewOptions extends Options {
public boolean useWideViewPort = true;
public boolean safeBrowsingEnabled = true;
public boolean transparentBackground = false;
public String mixedContentMode = "MIXED_CONTENT_NEVER_ALLOW";
}