In the past three weeks, we merged 170 pull requests.
Try it out! At the most recent meeting, we discussed making this the default UI for
If your favorite website looks wrong in Servo, you can help us figure out why! Glenn wrote up a detailed guide on getting started working on Servo’s layout code, with some useful tips for minimizing test cases. We are also working on automatic minimization via “abstract reftests”.
- We landed a Rust upgrade
- Glenn implemented a subset of the mozbrowser APIs and used these to make servo-shell work. This required a ton of iframe fixes.
- Patrick implemented CSS transitions
- Keegan pushed a rebased, remixed version of Clark’s zero-copy html5ever patch. With this PR, html5ever can locate tags and attributes in an input stream at 80 MB/s while keeping whole-process memory consumption to a few MB.
- Nicholas added support for fine-grained memory reporting, along with a tree-like prettified output
- Chris Paris landed
innerHTMLgetter and setter implementations that use html5ever.
- Mátyás added stroke and
arc()support to canvas, along with many other APIs
- Diego implemented the
drawImageAPI for canvas
- Matt McCoy added support for HTTP compression
- Yodalee implemented
- Sebastian implemented
- Zack added a shim for
- Ms2ger implemented a safer replacement for
- Manishearth added support for simple userscripts
- Jack fixed a memory leak in the flowtree
- hsavala made console.log messages appear in remote Firefox consoles
- Tetsuharu added support for unrestricted floating point WebIDL values
- Thiago implemented partial support for interacting with worker globals via remote devtools
- Brandon DeRosier
- Chris Double
- Connor Jennings
- Daniel Le
- Edward Cho
- Eric Hegnes
- Falco Hirschenberger
- Kyle Cesare
- Martin Schröder
- Md. Enzam Hossain
- Mikko Vanhatalo
- Ryan Leavengood
- Sebastian N. Fernandez
- Tim Cuthbertson
A visualization of parallel layout on servo-shell + /r/rust:
The colored boxes indicate which CPU core performed layout for each document node. The box
around the active tab spinner is askew, because the spinner is a still image styled with
We had meetings on March
16th and March
30th. We discussed
servo-shell, getting the PR queue under control, and restricting non-standard
<iframe mozbrowser>. We also talked about the status of Servo on
Android; there are now “nightly” APK builds but they don’t work
We’ve had a lot of discussions recently about the project’s goals and plans for Q2. After months of landing new features at an incredible rate, Q2 is going to focus more on details: performance improvements, fixing compatibility bugs, and paying down technical debt. We’d like to find websites / create demos that showcase Servo’s advantages in a way that’s relevant to users.
We’re also going to work on security. This means finding and fixing issues, but also documenting what we don’t fix yet. Josh is going to upgrade our ancient version of SpiderMonkey, which is important for security and for the future of Servo in general.