This Week In Servo 80

In the last week, we landed 103 PRs in the Servo organization’s repositories.

One of the largest challenges for new contributors in the DOM area is understanding how all of the pieces fit together. A new blog post by jeenalee provides a very clear and compelling walkthrough of how to to contribute support for a new DOM API into Servo!

In a big step forward, glennw made WebRender not only on by default but also made it possible to be used in our testing infrastructure! WebRender can now be used with OSMesa as its backend. See this mailing list thread if you have opinions on the future of the deprecated and untested Azure/Moz2D code path.

Finally, we had two students contribute to Servo as part of the Google Summer of Code program, and we wrote up the results of their efforts. Spoilers: they did great and Servo is better for it!

Planning and Status

Our overall roadmap is available online and now includes the Q3 plans. The Q4 and 2017 planning will begin shortly!

This week’s status updates are here.

Notable Additions

j-koreth added instructions for building Servo on openSUSE

canaltinova fixed origin/clip CSS shorthand parsing behavior

mortimergoro fixed some issues with our WebGL shader compilation

bholley implemented an AtomicRefCell for use in layout/style node data

for use in layout/style node data pcwalton integrated Servo’s time profiler with the macOS signposts

larsberg split up the macOS builders, getting our CI landing time back under 50 minutes

uk992 fixed the location of the custom bootstrap download directory on Windows with MSVC

mmatyas added support for WebRender on ARM devices

glennw switched the default renderer to WebRender

kichjang added support for letter-spacing in Stylo

pcwalton fixed some inline hypothetical box layout issues that were breaking display of Twitter

JanZerebecki removed the same-origin-data-url flag from the Fetch implementation

flag from the Fetch implementation manish fixed the Servo documentation build

glennw implemented the brightness CSS filter

CSS filter MortimerGoro fixed upside-down WebGL

dati91 updated WebBluetooth to use Promises

mrobinson simplified collection of stacking contexts during display list building

flacerdk implemented the word-break property’s keep-all mode

property’s mode notriddle implemented a sequential fallback for failed float layout speculation

glennw made WebRender run in our CI using OSMesa for headless testing

manish added the Stylo unit tests in the Servo codebase

pcwalton improved incremental layout to make CNN look better in Servo

aneeshusa handled the fallout from the Homebrew 1.0 release

malisas implemented the Body interface for the Response and Request APIs

interface for the and APIs canaltinova implemented parsing for mask shorthands

jeenalee implemented the JS fetch API

API zack1030 created a new ./mach test-perf command

command coder206 improved our linux packaging by performing it in a new, clean folder

New Contributors

Interested in helping build a web browser? Take a look at our curated list of issues that are good for new contributors!

Screenshot

New time profiler support for macOS signpost event reporting: