The system is mediated by the browser, so the source code can be inspected by anyone and verified not to leak information.
The idea is to leverage information from site A (say, a bank) who knows a lot about the user to attest to site B (say, HN) that the user is a real person, without revealing any other information known by site A to site…
Sorry, I should have been more clear. I believe we use the masking on 32-bit platforms, which is faster than explicit bounds checks. On 64-bit platforms we use guard pages. We don't actually need a signal handler,…
I believe the implementation in Firefox masks off the high bits of pointers and adds the result to the base address before performing a load/store. This requires us to reserve a power-of-two-sized region of address…
Deukhoofd is correct — we compile the WASM code back into C in order to reuse and reduce friction with our existing compilation pipeline.
It varies. Here's an example of some performance analysis I did on the expat port: https://bugzilla.mozilla.org/show_bug.cgi?id=1688452#c37
Beyond the reasons others have mentioned, another key issue is that this isn't a transparent transformation. The sandboxed code can only access memory within a restricted subregion, which often requires some small code…
The purpose of RLBox is to add an extra layer of component-level isolation on top of Firefox's process-based site-level isolation. The reduced overhead is relative to the hypothetical scenario in which we performed the…
We made the decision several years ago to integrate Servo components individually rather than trying to replace the entire engine (for the reasons outpost in the blog post linked above). We invest a lot in Gecko though,…
Respectfully: The Firefox layout team did not have a plan to integrate Layout 2020 (we hadn't yet found a way to ship it incrementally), and doing so was never the basis of our strategy to compete with LayoutNG.
I led the Stylo project to integrate Servo's CSS engine into Firefox as part of project Quantum [1]. I have the utmost respect for the engineers on the Servo team, and am sad to see them go (though I am certain they…
See https://bugzilla.mozilla.org/show_bug.cgi?id=1511726 Assuming you're on non-Windows, the message is expected and not indicative of a problem. I've pushed a patch to disable it going forward. Sorry for the noise.
Yeah, we do prioritize Mac disproportionately to its market share for that reason. It does sometimes happen that we have to make hard calls though, and that's what Jeff is referring to. On that note, one of the key…
Sounds like ghost windows. Try disabling all your add-ons to see if the problem persists? You can also record a profile via perfht.ml and send it to me, I'm happy to have a look.
Using the rhetoric of the parent, in case that wasn't clear.
Per my comment above, there's a misunderstanding here. The goal was to delight Mr Robot viewers and turn them into Firefox users. This was about marketing, not revenue, and I believe no money changed hands.
Thank you (and pault) for the kind word and understanding!
I'm not privy to the details, nor have I ever seen Mr Robot. That said, I believe there were hints in the show about using Firefox to solve some mystery. The idea was that users would then go open Firefox (which may…
My impression (without any internal knowledge on the subject) is that this was intended as a way to promote Firefox to Mr Robot viewers. A lot of people in this thread seem to have this backwards, IIUC - it's not an ad…
Since I gave that talk, it's become more clear to me that servo's layout engine is a lot farther from feature-complete than the CSS engine was. So my hunch is that the granularity of incrementalism we used for stylo may…
In more detail: For the original FirefoxOS security model, sicking and jlebar rototilled all the security checks in the codebase to switch from comparing origins to comparing (origin, appId, isInMozBrowser) tuples.…
Yeah, the key reason Rust is necessary here is that there is an insane amount of complexity in the heart of modern web engines. Injecting concurrency into the intersection of DOM and Layout is only realistic with some…
This is an easy benchmark for rejecting a lot of selectors: http://bholley.net/testcases/style-perf-tests/perf-reftest/b... Firefox with STYLO_THREADS=1 gets about 160ms on my machine, which is basically parity with…
It's even better now - we get down to about 14ms with various recent improvements in style sharing.
Note that everything in components/layout is servo-specific and not used by Stylo / Firefox. The code in components/style is shared, and the code that hooks it up to Firefox is in ports/geckolib/glue.rs (specifically…
The system is mediated by the browser, so the source code can be inspected by anyone and verified not to leak information.
The idea is to leverage information from site A (say, a bank) who knows a lot about the user to attest to site B (say, HN) that the user is a real person, without revealing any other information known by site A to site…
Sorry, I should have been more clear. I believe we use the masking on 32-bit platforms, which is faster than explicit bounds checks. On 64-bit platforms we use guard pages. We don't actually need a signal handler,…
I believe the implementation in Firefox masks off the high bits of pointers and adds the result to the base address before performing a load/store. This requires us to reserve a power-of-two-sized region of address…
Deukhoofd is correct — we compile the WASM code back into C in order to reuse and reduce friction with our existing compilation pipeline.
It varies. Here's an example of some performance analysis I did on the expat port: https://bugzilla.mozilla.org/show_bug.cgi?id=1688452#c37
Beyond the reasons others have mentioned, another key issue is that this isn't a transparent transformation. The sandboxed code can only access memory within a restricted subregion, which often requires some small code…
The purpose of RLBox is to add an extra layer of component-level isolation on top of Firefox's process-based site-level isolation. The reduced overhead is relative to the hypothetical scenario in which we performed the…
We made the decision several years ago to integrate Servo components individually rather than trying to replace the entire engine (for the reasons outpost in the blog post linked above). We invest a lot in Gecko though,…
Respectfully: The Firefox layout team did not have a plan to integrate Layout 2020 (we hadn't yet found a way to ship it incrementally), and doing so was never the basis of our strategy to compete with LayoutNG.
I led the Stylo project to integrate Servo's CSS engine into Firefox as part of project Quantum [1]. I have the utmost respect for the engineers on the Servo team, and am sad to see them go (though I am certain they…
See https://bugzilla.mozilla.org/show_bug.cgi?id=1511726 Assuming you're on non-Windows, the message is expected and not indicative of a problem. I've pushed a patch to disable it going forward. Sorry for the noise.
Yeah, we do prioritize Mac disproportionately to its market share for that reason. It does sometimes happen that we have to make hard calls though, and that's what Jeff is referring to. On that note, one of the key…
Sounds like ghost windows. Try disabling all your add-ons to see if the problem persists? You can also record a profile via perfht.ml and send it to me, I'm happy to have a look.
Using the rhetoric of the parent, in case that wasn't clear.
Per my comment above, there's a misunderstanding here. The goal was to delight Mr Robot viewers and turn them into Firefox users. This was about marketing, not revenue, and I believe no money changed hands.
Thank you (and pault) for the kind word and understanding!
I'm not privy to the details, nor have I ever seen Mr Robot. That said, I believe there were hints in the show about using Firefox to solve some mystery. The idea was that users would then go open Firefox (which may…
My impression (without any internal knowledge on the subject) is that this was intended as a way to promote Firefox to Mr Robot viewers. A lot of people in this thread seem to have this backwards, IIUC - it's not an ad…
Since I gave that talk, it's become more clear to me that servo's layout engine is a lot farther from feature-complete than the CSS engine was. So my hunch is that the granularity of incrementalism we used for stylo may…
In more detail: For the original FirefoxOS security model, sicking and jlebar rototilled all the security checks in the codebase to switch from comparing origins to comparing (origin, appId, isInMozBrowser) tuples.…
Yeah, the key reason Rust is necessary here is that there is an insane amount of complexity in the heart of modern web engines. Injecting concurrency into the intersection of DOM and Layout is only realistic with some…
This is an easy benchmark for rejecting a lot of selectors: http://bholley.net/testcases/style-perf-tests/perf-reftest/b... Firefox with STYLO_THREADS=1 gets about 160ms on my machine, which is basically parity with…
It's even better now - we get down to about 14ms with various recent improvements in style sharing.
Note that everything in components/layout is servo-specific and not used by Stylo / Firefox. The code in components/style is shared, and the code that hooks it up to Firefox is in ports/geckolib/glue.rs (specifically…