mirror of
https://github.com/github/codeql.git
synced 2026-03-01 13:23:49 +01:00
60 lines
1.6 KiB
Java
60 lines
1.6 KiB
Java
package com.example.test;
|
|
|
|
import android.app.Activity;
|
|
|
|
import android.webkit.WebView;
|
|
import android.webkit.WebSettings;
|
|
|
|
/** Helper class to mock a method which returns a `WebView` */
|
|
interface WebViewGetter {
|
|
WebView getAWebView();
|
|
}
|
|
|
|
public class WebViewContentAccess extends Activity {
|
|
void enableContentAccess(WebView webview) {
|
|
webview.getSettings().setAllowContentAccess(true);
|
|
}
|
|
|
|
void disableContentAccess(WebView webview) {
|
|
webview.getSettings().setAllowContentAccess(false);
|
|
}
|
|
|
|
void configureWebViewSafe(WebView view, WebViewGetter getter) {
|
|
WebSettings settings = view.getSettings();
|
|
|
|
settings.setAllowContentAccess(false);
|
|
|
|
WebView view2 = (WebView) findViewById(0);
|
|
settings = view2.getSettings();
|
|
|
|
settings.setAllowContentAccess(false);
|
|
|
|
disableContentAccess(getter.getAWebView());
|
|
}
|
|
|
|
void configureWebViewUnsafe(WebView view1, WebViewGetter getter) {
|
|
WebSettings settings;
|
|
|
|
view1.getSettings().setAllowContentAccess(true);
|
|
|
|
// Cast expression
|
|
WebView view2 = (WebView) findViewById(0);
|
|
settings = view2.getSettings();
|
|
settings.setAllowContentAccess(true);
|
|
|
|
// Constructor
|
|
WebView view3 = new WebView(this);
|
|
settings = view3.getSettings();
|
|
settings.setAllowContentAccess(true);
|
|
|
|
// Method access
|
|
WebView view4 = getter.getAWebView();
|
|
settings = view4.getSettings();
|
|
settings.setAllowContentAccess(true);
|
|
|
|
enableContentAccess(getter.getAWebView());
|
|
|
|
WebView view5 = getter.getAWebView();
|
|
}
|
|
}
|