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
// 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)
// 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.
+
+ // 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(Uri.parse(url))
+ return webViewAssetLoader.shouldInterceptRequest(webResourceRequest.url)
}
}
savedInstanceState.putInt(SCROLL_Y, tabWebView.scrollY)
}
}
-}
\ No newline at end of file
+}