This Week In Servo 29

In the past three weeks, we merged 170 pull requests.

Servo has another browser chrome! Say hello to servo-shell, an interface written with HTML, leveraging the mozbrowser API.

Screenshot of servo-shell on

Try it out! At the most recent meeting, we discussed making this the default UI for ./mach run.

html5ever celebrated its first birthday! Keegan published a project update with some plans for the future. h5e’s newest sibling is tendril, a multitalented string type!

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”.

###Notable additions

###New contributors


A visualization of parallel layout on servo-shell + /r/rust:

Demonstration of parallel layout in servo-shell

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 transform: rotate(...).


We had meetings on March 16th and March 30th. We discussed servo-shell, getting the PR queue under control, and restricting non-standard APIs like <iframe mozbrowser>. We also talked about the status of Servo on Android; there are now “nightly” APK builds but they don’t work yet.

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.