X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Ffragments%2FAboutWebViewFragment.kt;h=9ee7dbed2008a8cd3a2a7a82101f0f21e5c5f35f;hb=ab11ca2de00c56982e46627c8e7fc670462b0b3c;hp=2d450bc863c3074cc0921ee174c17b86a079be04;hpb=725e4a525bed43f46e24ecc97eafcc339a48939c;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/fragments/AboutWebViewFragment.kt b/app/src/main/java/com/stoutner/privacybrowser/fragments/AboutWebViewFragment.kt index 2d450bc8..9ee7dbed 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/fragments/AboutWebViewFragment.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/fragments/AboutWebViewFragment.kt @@ -26,6 +26,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.webkit.WebResourceRequest import android.webkit.WebResourceResponse import android.webkit.WebView import android.webkit.WebViewClient @@ -89,7 +90,7 @@ class AboutWebViewFragment : Fragment() { // Set a WebView client. tabWebView.webViewClient = object : WebViewClient() { - // `shouldOverrideUrlLoading` allows the sending of external links back to the main Privacy Browser WebView. The deprecated `shouldOverrideUrlLoading` must be used until API >= 24. + // // Send external links back to the main Privacy Browser WebView. The deprecated `shouldOverrideUrlLoading` must be used until API >= 24. override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean { // Create an intent to view the URL. val urlIntent = Intent(Intent.ACTION_VIEW) @@ -99,12 +100,15 @@ class AboutWebViewFragment : Fragment() { // Make it so. startActivity(urlIntent) + + // Consume the click. return true } - - override fun shouldInterceptRequest(webView: WebView, url: String): WebResourceResponse? { - // Have the WebView asset loader process the request. This allows the loading of SVG files, which otherwise is prevented by the CORS policy. - return webViewAssetLoader.shouldInterceptRequest(Uri.parse(url)) + + // Process asset requests with the asset loader. + override fun shouldInterceptRequest(webView: WebView, webResourceRequest: WebResourceRequest): WebResourceResponse? { + // This allows using the `appassets.androidplatform.net` URL, which handles the loading of SVG files, which otherwise is prevented by the CORS policy. + return webViewAssetLoader.shouldInterceptRequest(webResourceRequest.url) } } @@ -152,4 +156,4 @@ class AboutWebViewFragment : Fragment() { savedInstanceState.putInt(SCROLL_Y, tabWebView.scrollY) } } -} \ No newline at end of file +}