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
Tweet

More Decks by Mario Sánchez Prada

Other Decks in Technology

Transcript

  1. Summary of Igalia's
    contributions to Chromium
    in the past year
    Mario Sánchez Prada
    BlinkOn 10 / April 10th, 2019
    (Toronto, Canada)

    View full-size slide

  2. About me
    CS Engineer & member of Igalia’s Chromium Team
    ● GNOME: Contributor, GNOME foundation member
    ● WebKit: WebKitGTK, Linux Accessibility
    ● Chromium: Servicification, Onion Soup

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  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!

    View full-size slide

  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!

    View full-size slide

  10. Other contributions
    ● Fixed interoperability issues with text selection/editing
    ● API to manage spatial navigation in
    ● 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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  14. Thanks!
    ● Mail: [email protected]
    ● Blog: https://blogs.igalia.com/mario
    ● Other: @mariospr at Twitter & GitHub

    View full-size slide