This Week In Servo 11

This week, we landed 25 pull requests.

This Week In Rust is back! If you haven’t already, you should check it out!

Last week there were many talks on Servo. Lars gave a general intro to Servo, and there were four talks on Servo during the Bay Area Rust meetup by Matt, Patrick, Keegan, and Josh.

###Notable additions

###New contributors


You can find some cool commit stats here.

We also have some stats on CSS property usage here. More details and caveats on the same can be found on the mailing list

###Work week

Stuff discussed in the work week:

  • Graphics toolkit: Replacing GLFW/GLUT with glutin; advantages/disadvantages of CEF vs. native toolkit for embedding; thoughts on Skia vs. GL vs. D2D; CEF concerns.
  • Rasterization: Current status; CPU or GPU; rasterization on ARM; Moz2D vs. Skia; GLES on Android; mixed CPU/GPU layers.
  • Android/ARM: Current status; overview of available ARM devices; brainstorming “usable” public APK; action items.
  • Encoding: UTF16/UTF8/WTF8 upsides and downsides; obtaining relevant perf/usage measurements; let’s talk to the SpiderMonkey team.
  • Governance: creating a Servo module; are CLAs required; explicit commit access/review powers policy.
  • Layers: Iframes and the compositor; coordinate systems in layers; layer hierarchy in compositor; CSS transforms and animations and Gecko’s refresh driver; cross-origin iframe security.
  • JS Bindings - security/rooting: (unfocused discussion) - difficulties of ensuring correctness of bindings-related things; rewriting C++ code in Rust; Gecko security bug audits.
  • Boot to Servo: B2G architecture; motivations/goals of b2s; power/performance concerns.
  • Security: Security bug policy; known vulnerabilities; desired security for first nightlies; whitelisting visitable sites.
  • Dogfooding: Discussion of UI for first release; identifying high-priority missing features required for serious dogfooding.
  • Alternate JS engine: Motivations for creating a new JS engine in Rust; alternatives to rewrite-the-world; further discussion tabled until mid 2015.
  • Script crate: Splitting up script/DOM-related code to reduce compile times.



We assigned action items from the previous work week, and discussed the next one a bit.

Additionally, we discussed having an autogenerated version of Patrick’s CSS stats to be generated with each PR, and how to handle codegen for supported/unsupported styles post-CSSOM.