43 ms·
> then Google does a sneaky thing and make it so that any in-app browsers will still be Chrome thanks to the System WebView. So nobody gets to escape the Google
by Spoom 3y ago
> then Google does a sneaky thing and make it so that any in-app browsers will still be Chrome thanks to the System WebView. So nobody gets to escape the Google ecosystem.
Are you sure about this? I'm able to use (and have been using) Firefox as my Android system webview, just tested now. And this is literally on a Google-designed device. Maybe I'm missing something.
Disclaimer: Googler, opinions my own.
- noirscape 3y agoI... don't know what you changed because Firefox does not offer a system webview. They just... don't. Firefox offers GeckoView, but that's an app library that also does what WebView does, not a system application. There's not even any Firefox forks that build up a system webview because none of the forks think it's worthwhile after Google locked it down so much. The closest you'd get to a "firefox webview" is by installing a Magisk module/non-Google ROM that replaces it with a stub application that forwards any "open system webview" call to your regular browser (so it works like clicking an http link). In the past you could just install that stub on any old Android device, but Google locked it down by letting vendors set a signature that a system webview would need to adhere to[0] (as well as a ton of other restrictions). To be clear, I am not referring to what happens if you just click an http link in an app and the app just calls the browser. That setting respects browser choice. I am referring to the WebView[1] component, which a lot of apps use as a substitute for launching the browser and relies on an underlying app called the Android System WebView[2] to render the pages. For a legitimate usecase; in chat applications (ie. Discord), where a user might visit a website only to then want to immediately go back to the chat itself, the app instead just creates a WebView and... that one is always Chromium, and is nowadays enforced by vendor settings (so it can't be changed without root). In less legitimate usecases, this is done for tracking reasons. (Another big user of the WebView component for this was Facebook Messenger, but Facebook has switched to using an internal version of this webview component, for reasons only understood by Facebook and it effectively acts as a shadow "fourth internet browser" that is in practice a somewhat outdated version of Chromium.) [0]: https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/webview-providers.md https://chromium.googlesource.com/chromium/src/+/HEAD/androi... [1]: https://developer.android.com/reference/android/webkit/WebView https://developer.android.com/reference/android/webkit/WebVi... [2]: https://play.google.com/store/apps/details?id=com.google.android.webview&hl=en&gl=US https://play.google.com/store/apps/details?id=com.google.and...
- Spoom 3y agoInteresting, so for the apps that I've used that open a webview (which specifically says in the menu box "Powered by Firefox", with an option to "Open in Firefox", which opens in the full browser), they've added the library specifically in the app? To be clear, I don't have a rooted phone. Not trying to be difficult, but I'm seeing this specifically in the Fastmail Android app, and I don't remember ever setting an app-specific setting to use it. I believe I've also seen this "webview" (maybe this isn't what you mean?) in other apps as well. Edit: Bit of research suggests that this may be the "Custom Tab API"[1] which might be something different, perhaps a newer API? 1. https://www.reddit.com/r/firefox/comments/zkbf8v/enable_firefox_embedded_browser_on_android/ https://www.reddit.com/r/firefox/comments/zkbf8v/enable_fire...
- noirscape 3y agoAh hold on - that's not a webview. That's the custom tabs provider; https://developer.chrome.com/docs/android/custom-tabs/ https://developer.chrome.com/docs/android/custom-tabs/ . That one can still be user configured. (As you can see, what Browser gets used on Android when you click a link is just a bit of a mess in general; you have custom tabs, system webview and even bundled webview, which is what Facebook does).
- chenxiaolong 3y agoYep, what you're referring to (the "Powered by <browser>" screen) is done with the Custom Tabs API. Some folks might also refer to it as the in-app browser. Any browser can implement a CustomTabsService and the whole feature respects the default browser setting. The Fastmail app is actually a good example of something that uses the WebView APIs though. Fastmail's UI is entirely web-based and their whole app is rendered inside of a WebView, provided by the Chromium-based "Android System WebView" app. If I remember correctly, the list of allowed signatures for a WebView provider is baked into the OS, so no third party can provide an implementation without root access.
- 5kg 3y agoI've been using Firefox as System Webview for quite some time. I think all you need is setting Firefox as default browser.
- greentea23 3y agoI'm only able to do this with root, which is fine for me, but the percentage of devices that can even be rooted at this point seems to go down every day :(. It's a shame that is not legally protected as well.