@@ -12,14 +12,14 @@ public void onCreate(Bundle savedInstanceState) {
1212 super .onCreate (savedInstanceState );
1313 setContentView (R .layout .webview );
1414 testJavaScriptEnabledWebView ();
15- testCrossOriginEnabledWebView ();
15+ testUniversalFileAccessEnabledWebView ();
16+ testFileAccessEnabledWebView ();
1617 testSafeWebView ();
1718 }
1819
1920 private void testJavaScriptEnabledWebView () {
2021 WebView wv = (WebView ) findViewById (R .id .my_webview );
2122 WebSettings webSettings = wv .getSettings ();
22-
2323 webSettings .setJavaScriptEnabled (true );
2424
2525 wv .setWebViewClient (new WebViewClient () {
@@ -36,7 +36,7 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
3636 wv .loadUrl ("https://www.mycorp.com" ); // Safe
3737 }
3838
39- private void testCrossOriginEnabledWebView () {
39+ private void testUniversalFileAccessEnabledWebView () {
4040 WebView wv = (WebView ) findViewById (R .id .my_webview );
4141 WebSettings webSettings = wv .getSettings ();
4242 webSettings .setAllowUniversalAccessFromFileURLs (true );
@@ -55,6 +55,25 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
5555 wv .loadUrl ("https://www.mycorp.com" ); // Safe
5656 }
5757
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+
5877 private void testSafeWebView () {
5978 WebView wv = (WebView ) findViewById (-1 );
6079
0 commit comments