Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Summary of Igalia's contributions to Chromium in the past year

Summary of Igalia's contributions to Chromium in the past year

Summary of Igalia's contributions to Chromium to different parts of Chromium during the past year, including Servicification, Onion Soup, CSS Grid Layout, V8, Accessibility, MathML and Ozone/Wayland.

Presented at the BlinkOn 10 conference on April 10th 2019 in Toronto, Canada.

Video: https://www.youtube.com/watch?v=XZ08w8wIo3I&t=21400

Mario Sánchez Prada

April 10, 2019

More Decks by Mario Sánchez Prada

Other Decks in Technology


  1. Summary of Igalia's contributions to Chromium in the past year

    Mario Sánchez Prada BlinkOn 10 / April 10th, 2019 (Toronto, Canada)
  2. About me CS Engineer & member of Igalia’s Chromium Team

    • GNOME: Contributor, GNOME foundation member • WebKit: WebKitGTK, Linux Accessibility • Chromium: Servicification, Onion Soup
  3. Servicification • Network Service (//services/network) ◦ Migration to the network::SimpleURLLoader

    API ◦ Enabled on Mac/Win/Linux/CrOS since March • • Identity service (//services/identity). ◦ Migration to the new IdentityManager API ◦ Weekly status report at identity-service-dev ML 600+ CLs landed between April ’18 and March ‘19
  4. Onion Soup & Code Health • Started this collaboration in

    February 2019 • 450+ CLs merged so far, including: ◦ Make more Blink classes garbage collectable ◦ Merge duplicated APIs / remove unused ones ◦ Change long, short... to int32_t, int_16… ◦ Replace WTF::RetainPtr use with base utils ◦ Clean up unnecessary Create() methods ◦ Drop usage of net::CompletionCallback ◦ ...
  5. CSS • CSS Grid: ◦ Implemented new Baseline Alignment algorithm

    ◦ Change behavior of % row tracks and gutters ◦ Updates to follow spec changes & bugfixing • CSS Containment: ◦ Avoid extra layouts on LayoutText::SetText ◦ Introduce CompositingInputsRoot • CSS Text: ◦ white-space: break-spaces / line-break: anywhere
  6. Accessibility • ATK support for Chromium's UI and Blink content

    • 2 new OWNERs for Linux a11y (Joanie, Martin) • TODO: Live region events, text selection, bug fixes Goal: Chromium + Orca usable by GNOME 3.34
  7. V8 • Implement Object.fromEntries() method • Optimize the ObjectLiteral spread

    syntax • Add Private Methods (WIP) • Add support for BigInt in WebAssembly API (WIP) ... a bunch of other misc stuff ...
  8. Ozone / Wayland • Working on this since end of

    2016 (meta bug) • Ozone/Wayland platform is fully upstream now: ◦ All features from non-Ozone Chromium/Linux ◦ Supports Native GPU memory buffers and Zero-copy ◦ TODO: HiDPI support, File dialogs, tab drag support • 2 new OWNERs: ◦ Ozone/Linux (Maksim), Ozone/Wayland (Maksim, Antonio) See Maksim's talk for more details!
  9. MathML • W-I-P branch implementing MathML support • Basic support

    implemented based on LayoutNG • Plan to refine and upstream work during 2019 See Fred & Rob's talk for more details!
  10. Other contributions • Fixed interoperability issues with text selection/editing •

    API to manage spatial navigation in <webview> • Support for memory pressure handler in CC • Contributed to Origin-Signed HTTP Responses • 1 new OWNER for navigatorcontentutils (Gyuyoung) ...plus several other changes & fixes here and there
  11. Some stats & numbers Second biggest contributor in number of

    commits!! (excluding bots and @chromium addresses) $ git log --since="1 April 2018" --until="1 April 2019" \ | grep ^Author: sed -r 's/^.*<.*@(.*)>$/\1/' \ | grep -v gserviceaccount.com | grep -v chromium.org | sort | uniq -c | sort -g [...] 218 microsoft.com 362 samsung.com 373 gmail.com 516 intel.com 746 opera.com 1534 igalia.com 8952 google.com
  12. Some stats & numbers • More than 1650 CLs merged

    (including V8), with growing trend • 24 igalians contributing to several different areas: s13n, Onion Soup, CSS, a11y, Ozone/Wayland, MathML, V8, WebAssembly...
  13. Credit Igalians contributing to the work presented here: Abhijeet Kandalkar,

    Alexander Dunaev, Antonio Gomes, Caitlin Potter, Cathie Chen, Frédéric Wang, Gyuyoung Kim, Henrique Ferreiro, Jacobo Aragunde Pérez, Javier Fernandez, Jessica Tallon, Joanmarie Diggs, Joyee Cheung, Julie Jeongeun Kim, Maksim Sisov, Manuel Rego Casasnovas, Mario Sánchez Prada, Martin Robinson, Miyoung Shin, Nick Diego Yamane, Oriol Brufau, Rob Buis, Sergio Villar Senin and Sven Sauleau