|
1 | 1 | package com.example.test;
|
2 | 2 |
|
| 3 | +import android.app.Activity; |
| 4 | + |
3 | 5 | import android.webkit.WebView;
|
4 | 6 | import android.webkit.WebSettings;
|
5 | 7 |
|
6 |
| -public class WebViewContentAccess { |
7 |
| - void configureWebViewUnsafe(WebView view) { |
8 |
| - WebSettings settings = view.getSettings(); |
| 8 | +/** Helper class to mock a method which returns a `WebView` */ |
| 9 | +interface WebViewGetter { |
| 10 | + WebView getAWebView(); |
| 11 | +} |
9 | 12 |
|
10 |
| - settings.setAllowContentAccess(true); |
| 13 | +public class WebViewContentAccess extends Activity { |
| 14 | + void enableContentAccess(WebView webview) { |
| 15 | + webview.getSettings().setAllowContentAccess(true); |
| 16 | + } |
| 17 | + |
| 18 | + void disableContentAccess(WebView webview) { |
| 19 | + webview.getSettings().setAllowContentAccess(false); |
11 | 20 | }
|
12 | 21 |
|
13 |
| - void configureWebViewSafe(WebView view) { |
| 22 | + void configureWebViewSafe(WebView view, WebViewGetter getter) { |
14 | 23 | WebSettings settings = view.getSettings();
|
15 | 24 |
|
16 | 25 | settings.setAllowContentAccess(false);
|
| 26 | + |
| 27 | + WebView view2 = (WebView) findViewById(0); |
| 28 | + settings = view2.getSettings(); |
| 29 | + |
| 30 | + settings.setAllowContentAccess(false); |
| 31 | + |
| 32 | + disableContentAccess(getter.getAWebView()); |
| 33 | + } |
| 34 | + |
| 35 | + void configureWebViewUnsafe(WebView view1, WebViewGetter getter) { |
| 36 | + WebSettings settings; |
| 37 | + |
| 38 | + view1.getSettings().setAllowContentAccess(true); |
| 39 | + |
| 40 | + // Cast expression |
| 41 | + WebView view2 = (WebView) findViewById(0); |
| 42 | + settings = view2.getSettings(); |
| 43 | + settings.setAllowContentAccess(true); |
| 44 | + |
| 45 | + // Constructor |
| 46 | + WebView view3 = new WebView(this); |
| 47 | + settings = view3.getSettings(); |
| 48 | + settings.setAllowContentAccess(true); |
| 49 | + |
| 50 | + // Method access |
| 51 | + WebView view4 = getter.getAWebView(); |
| 52 | + settings = view4.getSettings(); |
| 53 | + settings.setAllowContentAccess(true); |
| 54 | + |
| 55 | + enableContentAccess(getter.getAWebView()); |
| 56 | + |
| 57 | + WebView view5 = getter.getAWebView(); |
17 | 58 | }
|
18 | 59 | }
|
0 commit comments