These Weeks In Servo 82

In the last two weeks, we landed 246 PRs in the Servo organization’s repositories.

The really big news is the announcement of Project Quantum. This project will advance the web engine in Firefox, and some of the core pieces of this effort come from Servo! Please read our mailing list post for more information. Or check out the articles from CNet, Tom’s Hardware, and others!

Mortimer Goro finished adding WebGL support on Windows! He and his team wrote up a fantastic blog post detailing the architecture, some implementation details, and the overall status.

In the last week, fitzgen has gone on a tear, opening and mentoring a ton of new E-Easy bugs in rust-bindgen. This is a great example of the kind of work that really helps to grow the community!

Shing Lyu gained reviewer privileges! He’s been contributing both to new layout and style features, as well as creating an automated performance harness to catch regressions, and now can put his experience to good use in reviewing changes to those areas.

Planning and Status

Our overall roadmap is available online and now includes the Q4 plans and tentative outline of some ideas for 2017. Please check it out and provide feedback!

This week’s status updates are here.

Notable Additions

  • kvark moved the WebRender sample code into the main repository to ensure it is accessible and continues to work.
  • aneeshusa fixed the MacOS nightly build.
  • jeanphilippeD fixed some of the bindings generation code to return Option<u32> in some cases.
  • glennw improved the speed of rendering box shadows.
  • bholley redesigned parts of the CSS style system to operate on elements instead of nodes.
  • nox extracted the input stream from the clutches of the HTML5 tokenizer.
  • pcwalton implemented the frameborder attribute for <iframe>.
  • anholt improved validation of WebGL textures.
  • SimonSapin converted the html5ever macros to stable token trees.
  • nical converted WebRender to use the new unit system from euclid.
  • anholt implemented partial support for WebGL frame buffer object APIs.
  • pcwalton rewrote much of the anonymous table-related layout code.
  • mrobinson removed outdated layers-related code that WebRender no longer relies on.
  • frewsxcv implemented the selectedIndex API for <select>.
  • canaltinova corrected the CSS parsing of radial gradients.
  • bholley added benchmark tests for the CSS style system.
  • TooManyBees fixed a missing step in the compiled event handler implementation.
  • cynicaldevil added support for the readAsArrayBuffer API for FileReader.
  • aneeshusa moved the CI configuration in-tree, enabling easier modification and experimentation.
  • glennw removed the pre-WebRender rendering backend.
  • Coder206 made the register API of ServiceWorkerContainer use Promises.
  • danlrobertson added FreeBSD support to the ipc-channel crate.
  • rwakulszowa implemented parsing for the font-feature-settings CSS property.
  • pcwalton fixed a layout problem relating to hypothetical boxes.

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

WebGL support has landed in Servo on Windows:

WebGL in Servo on Windows