Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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!

Slide 9

Slide 9 text

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!

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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