SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Views, Aura and Ash:
ChromeOS UI Framework
Simon YoungKi Hong
simonhong@chromium.org
About Me
Software Programmer @LGE
(2009.02 ~)
Chromium Contributor
(2012.01 ~)
Chromium Committer
(2013.11 ~)
Goal
Overview of ChromeOS UI Component.

We can say
“How ChromeOS UI is constructed!”
Goal
Background
Chrome? Chromium?
ChromeOS
Linux based operating system.
Only chrome browser is running for user.
UI Framework
In typical linux,
GUI
Application

GUI
Application

GUI
Application

Window
Manager

gtk

qt

efl

...

X or Wayland
Kernel
What kind of ToolKit is used
in ChromeOS?
Views

They created UI toolkit called "Views"
"Since we desired a differentiated aesthetic for
Chromium, we have had to build a framework
on Windows to accelerate our development of
custom UI" - Chromium design docs
Views
UI is constructed of a tree of view components
Widget
RootView
View
View

View
View

View
View
View
Views
Like other toolkits, it has many custom views
●
●
●
●
●
●
●
●
●

Label
Image view
web view
slider
separator
link
button
combobox
etc...
Views
OK. we know how Widget is made...

But, who give user events
or draw its content?
There is no window manager.
ChromeOS runs single x-client application.

Browser
Process

Renderer
Process

Renderer
Process

libx

X

…...

GPU
Process
They created a new window system.
Aura
Aura
Chrome's next generation hardware
accelerated UI framework
Aura
Contains view components
Responsible for
event propagation
draw widget’s contents
window hierarchy management
- ChromeOS is a tree of Aura Window
Aura
Event Flow
Widget component

Aura Window

X

Kernel

Mouse Click
Aura
Drawing?
RootWindowHost

CC

RootWindow
Composite
& Draw
Aura
Window
Aura
Window

Aura
Window
Aura
Window

Aura
Window

GPU process

Browser process

GPU
OK. we know how Widget is handled...

But, how create a widget?
Ash (Aura SHell)

"A shell is software that provides an interface
for users of an operating system to access the
services of a kernel." - wikipedia
Ash
In typical linux,

GTK
application

QT
Application

....

X
Kernel

Shell
Ash
Role of Shell
* Window mgmt.
* Program exec.
* System mgmt.
Ash
References
http://dev.chromium.org/developers/design-documents
Q&A

Contenu connexe

Tendances

Study of Chromium OS
Study of Chromium OSStudy of Chromium OS
Study of Chromium OS
William Lee
 

Tendances (20)

Introduction to Android Window System
Introduction to Android Window SystemIntroduction to Android Window System
Introduction to Android Window System
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device Driver
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Mikrofrontend a Module Federation
Mikrofrontend a Module FederationMikrofrontend a Module Federation
Mikrofrontend a Module Federation
 
Android Booting Sequence
Android Booting SequenceAndroid Booting Sequence
Android Booting Sequence
 
[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것
 
Porting Android
Porting AndroidPorting Android
Porting Android
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)
 
Low Level View of Android System Architecture
Low Level View of Android System ArchitectureLow Level View of Android System Architecture
Low Level View of Android System Architecture
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
 
Android Automotive
Android AutomotiveAndroid Automotive
Android Automotive
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
Reusing your existing software on Android
Reusing your existing software on AndroidReusing your existing software on Android
Reusing your existing software on Android
 
Building aosp
Building aospBuilding aosp
Building aosp
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
 
Study of Chromium OS
Study of Chromium OSStudy of Chromium OS
Study of Chromium OS
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
BKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack UpdateBKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack Update
 
Janus & docker: friends or foe
Janus & docker: friends or foe Janus & docker: friends or foe
Janus & docker: friends or foe
 

En vedette

Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
NAVER D2
 
Charity apprentice logo-blue-6675
Charity apprentice logo-blue-6675Charity apprentice logo-blue-6675
Charity apprentice logo-blue-6675
FITC
 

En vedette (19)

Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
 
Designing and Building (Your Own) UI Frameworks For the Enterprise
Designing and Building (Your Own) UI Frameworks For the EnterpriseDesigning and Building (Your Own) UI Frameworks For the Enterprise
Designing and Building (Your Own) UI Frameworks For the Enterprise
 
Accelerating performance on Qt and WebKit for the MIPS architecture
Accelerating performance on Qt and WebKit for the MIPS architectureAccelerating performance on Qt and WebKit for the MIPS architecture
Accelerating performance on Qt and WebKit for the MIPS architecture
 
03 - Qt UI Development
03 - Qt UI Development03 - Qt UI Development
03 - Qt UI Development
 
了解 Qt
了解 Qt了解 Qt
了解 Qt
 
Maemo 6 UI Framework
Maemo 6 UI FrameworkMaemo 6 UI Framework
Maemo 6 UI Framework
 
Charity apprentice logo-blue-6675
Charity apprentice logo-blue-6675Charity apprentice logo-blue-6675
Charity apprentice logo-blue-6675
 
Qt5 embedded
Qt5 embeddedQt5 embedded
Qt5 embedded
 
Android chromium web view
Android chromium web viewAndroid chromium web view
Android chromium web view
 
Chrome & Webkit overview
Chrome & Webkit overviewChrome & Webkit overview
Chrome & Webkit overview
 
Advanced Chrome extension exploitation
Advanced Chrome extension exploitationAdvanced Chrome extension exploitation
Advanced Chrome extension exploitation
 
10.3.1 Mez Plast
10.3.1 Mez Plast10.3.1 Mez Plast
10.3.1 Mez Plast
 
Borel azote
Borel azoteBorel azote
Borel azote
 
Projecto Clean Sky
Projecto Clean SkyProjecto Clean Sky
Projecto Clean Sky
 
Serveur http embarqué dans une application Android. Usages et implémentations
Serveur http embarqué dans une application Android.  Usages et implémentationsServeur http embarqué dans une application Android.  Usages et implémentations
Serveur http embarqué dans une application Android. Usages et implémentations
 
Building Chromium on an Embedded Platform using Ozone-Wayland Layer (GENIVI 1...
Building Chromium on an Embedded Platform using Ozone-Wayland Layer (GENIVI 1...Building Chromium on an Embedded Platform using Ozone-Wayland Layer (GENIVI 1...
Building Chromium on an Embedded Platform using Ozone-Wayland Layer (GENIVI 1...
 
TURBINE FUNDAMENTAL
TURBINE FUNDAMENTALTURBINE FUNDAMENTAL
TURBINE FUNDAMENTAL
 
Chromium Contributing Explained: Writing Good Patches
Chromium Contributing Explained: Writing Good PatchesChromium Contributing Explained: Writing Good Patches
Chromium Contributing Explained: Writing Good Patches
 
Clean Sky Projects on the More Electric Aircraft
Clean Sky Projects on the More Electric AircraftClean Sky Projects on the More Electric Aircraft
Clean Sky Projects on the More Electric Aircraft
 

Similaire à Chromium ui framework(shared)

VB.Net GUI Unit_01
VB.Net GUI Unit_01VB.Net GUI Unit_01
VB.Net GUI Unit_01
Prashanth Shivakumar
 
What is Google Chrome?
What is Google Chrome?What is Google Chrome?
What is Google Chrome?
s1170222
 
GUI_part_1.pptx
GUI_part_1.pptxGUI_part_1.pptx
GUI_part_1.pptx
Parasuraman43
 
Internet Explorer 9
Internet Explorer 9Internet Explorer 9
Internet Explorer 9
Vasu Jain
 

Similaire à Chromium ui framework(shared) (20)

LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDK
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
 
Headless browser a stepping stone towards developing smarter web applicatio...
Headless browser   a stepping stone towards developing smarter web applicatio...Headless browser   a stepping stone towards developing smarter web applicatio...
Headless browser a stepping stone towards developing smarter web applicatio...
 
VB.Net GUI Unit_01
VB.Net GUI Unit_01VB.Net GUI Unit_01
VB.Net GUI Unit_01
 
What is Google Chrome?
What is Google Chrome?What is Google Chrome?
What is Google Chrome?
 
GUI_part_1.pptx
GUI_part_1.pptxGUI_part_1.pptx
GUI_part_1.pptx
 
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using AndroidAndroid : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
 
webOS App by Example: Sorting Thoughts
webOS App by Example: Sorting ThoughtswebOS App by Example: Sorting Thoughts
webOS App by Example: Sorting Thoughts
 
Web development tool
Web development toolWeb development tool
Web development tool
 
Google chrome by JD
Google chrome by JDGoogle chrome by JD
Google chrome by JD
 
Android architecture and Additional Components
Android architecture and Additional ComponentsAndroid architecture and Additional Components
Android architecture and Additional Components
 
Google Chrome OS
Google Chrome OSGoogle Chrome OS
Google Chrome OS
 
Building a browser for automotive. alternatives, challenges and recommendatio...
Building a browser for automotive. alternatives, challenges and recommendatio...Building a browser for automotive. alternatives, challenges and recommendatio...
Building a browser for automotive. alternatives, challenges and recommendatio...
 
Building a Browser for Automotive: Alternatives, Challenges and Recommendations
Building a Browser for Automotive: Alternatives, Challenges and RecommendationsBuilding a Browser for Automotive: Alternatives, Challenges and Recommendations
Building a Browser for Automotive: Alternatives, Challenges and Recommendations
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development ppt
 
Internet Explorer 9
Internet Explorer 9Internet Explorer 9
Internet Explorer 9
 
Chromiumos
Chromiumos Chromiumos
Chromiumos
 
Android app development
Android app developmentAndroid app development
Android app development
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015
 
Mobile app development using Android SDK
Mobile app development using Android SDKMobile app development using Android SDK
Mobile app development using Android SDK
 

Plus de gnomekr

Plus de gnomekr (10)

Korean input overview in the linux desktop
Korean input overview in the linux desktopKorean input overview in the linux desktop
Korean input overview in the linux desktop
 
20180519 hangul processing
20180519 hangul processing20180519 hangul processing
20180519 hangul processing
 
The way of approaching to foss for nursing care business
The way of approaching to foss for nursing care businessThe way of approaching to foss for nursing care business
The way of approaching to foss for nursing care business
 
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예
뒷북요정으로 알아보는 사용자 요구 반영의 나쁜 예
 
Gnome on wayland at a glance
Gnome on wayland at a glanceGnome on wayland at a glance
Gnome on wayland at a glance
 
My ubuntu life-dklee
My ubuntu life-dkleeMy ubuntu life-dklee
My ubuntu life-dklee
 
Vision and dream for youth startup company
Vision and dream for youth startup companyVision and dream for youth startup company
Vision and dream for youth startup company
 
Hw accelerated webkitgtk+ on raspberry pi
Hw accelerated webkitgtk+ on raspberry piHw accelerated webkitgtk+ on raspberry pi
Hw accelerated webkitgtk+ on raspberry pi
 
Gnome.asia.summit2013 report-pdf
Gnome.asia.summit2013 report-pdfGnome.asia.summit2013 report-pdf
Gnome.asia.summit2013 report-pdf
 
System hacking basics
System hacking basicsSystem hacking basics
System hacking basics
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Chromium ui framework(shared)