SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Summary of Igalia's
contributions to Chromium
in the past year
Mario Sánchez Prada
BlinkOn 10 / April 10th, 2019
(Toronto, Canada)
About me
CS Engineer & member of Igalia’s Chromium Team
● GNOME: Contributor, GNOME foundation member
● WebKit: WebKitGTK, Linux Accessibility
● Chromium: Servicification, Onion Soup
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
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
○ ...
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
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
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 ...
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!
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!
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
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
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...
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
Thanks!
● Mail: mario@igalia.com
● Blog: https://blogs.igalia.com/mario
● Other: @mariospr at Twitter & GitHub

Contenu connexe

Similaire à Summary of Igalia's contributions to Chromium in the past year (BlinkOn 10)

Similaire à Summary of Igalia's contributions to Chromium in the past year (BlinkOn 10) (20)

Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium project
 
Improving Chromium's code health: Onion Soup and beyond (BlinkOn 11)
Improving Chromium's code health: Onion Soup and beyond (BlinkOn 11)Improving Chromium's code health: Onion Soup and beyond (BlinkOn 11)
Improving Chromium's code health: Onion Soup and beyond (BlinkOn 11)
 
The printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN HandbookThe printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN Handbook
 
OVERVIEW: Chromium Source Tree
OVERVIEW: Chromium Source TreeOVERVIEW: Chromium Source Tree
OVERVIEW: Chromium Source Tree
 
Collaborative environment with data science notebook
Collaborative environment with data science notebook Collaborative environment with data science notebook
Collaborative environment with data science notebook
 
Migrating python.org to buildbot 9 and python 3
Migrating python.org to buildbot 9 and python 3Migrating python.org to buildbot 9 and python 3
Migrating python.org to buildbot 9 and python 3
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform Gain
 
Unifying Events and Logs into the Cloud
Unifying Events and Logs into the CloudUnifying Events and Logs into the Cloud
Unifying Events and Logs into the Cloud
 
Unifying Events and Logs into the Cloud
Unifying Events and Logs into the CloudUnifying Events and Logs into the Cloud
Unifying Events and Logs into the Cloud
 
DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe String
 
DITA-OT 2.x: Discover What's New in Toolkit Two
DITA-OT 2.x: Discover What's New in Toolkit TwoDITA-OT 2.x: Discover What's New in Toolkit Two
DITA-OT 2.x: Discover What's New in Toolkit Two
 
Updates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DUpdates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&D
 
How to use online office suites and data storage to protect your privacy
How to use online office suites and data storage  to protect your privacyHow to use online office suites and data storage  to protect your privacy
How to use online office suites and data storage to protect your privacy
 
Nyc Code Camp 2010 Git And Github
Nyc Code Camp 2010 Git And GithubNyc Code Camp 2010 Git And Github
Nyc Code Camp 2010 Git And Github
 
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
 
Identity & Access Management Briefing
Identity & Access Management BriefingIdentity & Access Management Briefing
Identity & Access Management Briefing
 
Unicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingUnicon July 2015 IAM Briefing
Unicon July 2015 IAM Briefing
 
Config management for_kubernetes: GitOps + Helm (CfgMgmtCamp 2020)
Config management for_kubernetes: GitOps + Helm (CfgMgmtCamp 2020)Config management for_kubernetes: GitOps + Helm (CfgMgmtCamp 2020)
Config management for_kubernetes: GitOps + Helm (CfgMgmtCamp 2020)
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
 

Plus de Igalia

Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
Igalia
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
Igalia
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
Igalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Igalia
 

Plus de Igalia (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 

Dernier

Dernier (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Summary of Igalia's contributions to Chromium in the past year (BlinkOn 10)

  • 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
  • 14. Thanks! ● Mail: mario@igalia.com ● Blog: https://blogs.igalia.com/mario ● Other: @mariospr at Twitter & GitHub