News for hackers. Stuff that matters.
Re:Servo Nightly Builds Available by epidemian on Friday July 01, 2016 @04:55AM (#12014684)
Kudos on this milestone!

A very general question: what's the high-level plan for Servo regarding Firefox? I see a lot of requests/issues dealing with stuff that doesn't seem related to a layout engine. Is the plan to have browser.html as a temporary incubator for Servo and eventually migrate it to replace FF's layout engine, or is it to "grow" an entire new browser around this new engine?

Re:Servo Nightly Builds Available by Manishearth on Friday July 01, 2016 @05:21AM (#12014757)
https://wiki.mozilla.org/Oxidation

There are efforts to make various components work in Firefox. The largest effort is "Stylo", which replaces Firefox's selector matching with ours. I'm not sure what the future is on Firefox using Webrender or our layout; though I suspect it depends on how well stylo works.

The plan seems to be to let Servo continue to evolve as a testbed for new ideas (like webrender), and share components with firefox whenever ready. An independent Servo product is not likely in the near future, since there's a lot of work to make it fully web compat. In the far future ... well, we can't tell :)

Re:Servo Nightly Builds Available by Eridrus on Friday July 01, 2016 @09:46AM (#12015955)
I feel like mobile (Android, really) needs a fast, secure and extensible browser, I hope that Servo can help Firefox achieve those first two goals so that it could be my browser of choice
Re:Servo Nightly Builds Available by Manishearth on Friday July 01, 2016 @12:26PM (#12017487)
Servo is trying to be fast on mobile; there even has been some research work into the power efficiency of servo on mobile.

Admittedly, android-specific efforts have slowed down in the past few months, but I believe it is still a goal :)

Re:Servo Nightly Builds Available by Eridrus on Friday July 01, 2016 @01:41PM (#12018129)
Given the fate of FirefoxOS and iOS' restrictions on browsers, is there any other mobile platform where Servo could actually be used?
Re:Servo Nightly Builds Available by Manishearth on Friday July 01, 2016 @02:15PM (#12018422)
Windows perhaps?

I mean, Servo-as-a-product isn't even planned yet, and may never be, so by the time that question is relevant the ios rules may have changed, too :)

Re:Servo Nightly Builds Available by kibwen on Friday July 01, 2016 @05:27AM (#12014772)
browser.html is just the browser chrome (er, not to be confused with the browser Chrome), it's an independent Mozilla project to create a frontend entirely in web technologies, which, since these are all standardized, should theoretically work with any browser engine, not just Servo.

As for Firefox, later on this year we should see the integration of Servo's style engine ("Stylo") into Gecko, and going forward we should expect to see the two codebases share even more components. However, wholesale replacement of Gecko with Servo in Firefox isn't on the table at the moment.

Re:Servo Nightly Builds Available by Manishearth on Friday July 01, 2016 @06:00AM (#12014871)
> theoretically work with any browser engine, not just Servo.

Well, it depends on some privileged APIs, of course. But we've tried to keep that API surface minimal.

Re:Servo Nightly Builds Available by kibwen on Friday July 01, 2016 @07:05AM (#12015093)
Ah I wasn't aware of that, what do these priveliged APIs do?
Re:Servo Nightly Builds Available by tschneidereit on Friday July 01, 2016 @07:47AM (#12015271)
Things like history management. While tabs in browser.html are just iframes, browser.html needs more access to the contained documents to be able to fully do its job. For security reasons, you can't get at an iframe's current location/title/favicon if the loaded document is from another domain. We need this information to show a proper title in the title bar and the tabs list, and to show a back button and things like that.

In addition, the browser needs to act as a sort of broker between sites and the OS. Storing cookies and session data, showing notifications or dialogs, and entering fullscreen mode are just a few examples of this. (Note that most of these things aren't even implemented yet. Browsers are complex applications in their own right, even after accounting for the browser engine.)

Re:Servo Nightly Builds Available by metajack on Friday July 01, 2016 @10:54AM (#12016494)
The main one is mozbrowser which has some documentation here: https://developer.mozilla.org/en-US/docs/Web/API/Using_the_B...

We are deliberately trying to keep this to the bare minimum, and will likely try and find someway to standardize those few things we do if possible.

Re:Servo Nightly Builds Available by Manishearth on Friday July 01, 2016 @08:10AM (#12015359)
Punch through CORS like it's a sheet of paper, for example.
Re:Servo Nightly Builds Available by capnrefsmmat on Friday July 01, 2016 @08:37AM (#12015489)
What exactly does "style engine" encompass? Just CSS parsing and style properties, or layout stuff, or something in between?
Re:Servo Nightly Builds Available by metajack on Friday July 01, 2016 @10:52AM (#12016479)
Parsing CSS, the selector matching to apply style rules to nodes, and the cascade of properties to other nodes.

Servo's style engine is parallelized and scales nearly linearly with number of cores, and style time is a non-trivial amount of the total rendering time.