@@ -12,14 +12,14 @@ public void onCreate(Bundle savedInstanceState) {
12
12
super .onCreate (savedInstanceState );
13
13
setContentView (R .layout .webview );
14
14
testJavaScriptEnabledWebView ();
15
- testCrossOriginEnabledWebView ();
15
+ testUniversalFileAccessEnabledWebView ();
16
+ testFileAccessEnabledWebView ();
16
17
testSafeWebView ();
17
18
}
18
19
19
20
private void testJavaScriptEnabledWebView () {
20
21
WebView wv = (WebView ) findViewById (R .id .my_webview );
21
22
WebSettings webSettings = wv .getSettings ();
22
-
23
23
webSettings .setJavaScriptEnabled (true );
24
24
25
25
wv .setWebViewClient (new WebViewClient () {
@@ -36,7 +36,7 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
36
36
wv .loadUrl ("https://www.mycorp.com" ); // Safe
37
37
}
38
38
39
- private void testCrossOriginEnabledWebView () {
39
+ private void testUniversalFileAccessEnabledWebView () {
40
40
WebView wv = (WebView ) findViewById (R .id .my_webview );
41
41
WebSettings webSettings = wv .getSettings ();
42
42
webSettings .setAllowUniversalAccessFromFileURLs (true );
@@ -55,6 +55,25 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
55
55
wv .loadUrl ("https://www.mycorp.com" ); // Safe
56
56
}
57
57
58
+ private void testFileAccessEnabledWebView () {
59
+ WebView wv = (WebView ) findViewById (R .id .my_webview );
60
+ WebSettings webSettings = wv .getSettings ();
61
+ webSettings .setAllowFileAccessFromFileURLs (true );
62
+
63
+ wv .setWebViewClient (new WebViewClient () {
64
+ @ Override
65
+ public boolean shouldOverrideUrlLoading (WebView view , String url ) {
66
+ view .loadUrl (url );
67
+ return true ;
68
+ }
69
+ });
70
+
71
+ String thisUrl = getIntent ().getStringExtra ("url" );
72
+ wv .loadUrl (thisUrl ); // $hasUnsafeAndroidAccess
73
+ wv .loadUrl ("https://www.mycorp.com/" + thisUrl ); // Safe
74
+ wv .loadUrl ("https://www.mycorp.com" ); // Safe
75
+ }
76
+
58
77
private void testSafeWebView () {
59
78
WebView wv = (WebView ) findViewById (-1 );
60
79
0 commit comments