Conversation

Replying to and
I love how they even go out of the way to provide their own sigaltstack without a guard page, even though the base system already provides one with a guard page: github.com/mozilla/gecko- The code all insanity: github.com/mozilla/gecko- It comes up as an issue again and again.
1
3
Replying to and
Oh, and since they load it like this, their code ends up as dirty pages in memory instead of having on-demand paging from shared objects on the filesystem either in the apk (uncompressed) or in the directory of automatically extracted libraries / executables (compressed in apk).
1
Replying to and
Transmission of an apk is compressed so having a library uncompressed in the apk like Chromium doesn't waste bandwidth. The apk uses a bit more space on the device, but less than having it both compressed in the apk and extracted alongside it. Firefox's design choice is terrible.
1
Not so sure "Because GeckoView is a standalone library that you bundle with your application, you can be confident that the code you test is the code that will actually run." is a feature though. Automatic WebView updates without app involvement + always on sandbox is great.
2
Most Android browsers are WebView frontends. Firefox's own Focus browser started out as one, but now they're moving to using GeckoView as a replacement for the WebView primarily as a dogfooding thing. The WebView itself isn't really a browser, just a web rendering engine though.
1
A use case that I had for it was to build a PDF Viewer leveraging the hardened Chromium rendering stack. It has a fully static set of code and style properties (enforced by CSP), so RCE would need to happen via the small subset of the browser rendering engine within the sandbox.
1
1
As opposed to using one of the many native PDF rendering libraries written in C like libpoppler, along with much more directly exposing the GPU stack, font rendering stack, etc. which are much less hardened than the way it's exposed in Chromium since it's for untrusted content.
2
Show replies