Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Chromium ui framework(shared)


Published on

This slides describe overview of ChromeOS UI Framework, consists of many visual components and aura, and aura shell.

Published in: Technology
  • Be the first to comment

Chromium ui framework(shared)

  1. 1. Views, Aura and Ash: ChromeOS UI Framework Simon YoungKi Hong
  2. 2. About Me Software Programmer @LGE (2009.02 ~) Chromium Contributor (2012.01 ~) Chromium Committer (2013.11 ~)
  3. 3. Goal Overview of ChromeOS UI Component. We can say “How ChromeOS UI is constructed!”
  4. 4. Goal
  5. 5. Background Chrome? Chromium?
  6. 6. ChromeOS Linux based operating system. Only chrome browser is running for user.
  7. 7. UI Framework In typical linux, GUI Application GUI Application GUI Application Window Manager gtk qt efl ... X or Wayland Kernel
  8. 8. What kind of ToolKit is used in ChromeOS?
  9. 9. 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
  10. 10. Views UI is constructed of a tree of view components Widget RootView View View View View View View View
  11. 11. Views Like other toolkits, it has many custom views ● ● ● ● ● ● ● ● ● Label Image view web view slider separator link button combobox etc...
  12. 12. Views
  13. 13. OK. we know how Widget is made... But, who give user events or draw its content?
  14. 14. There is no window manager. ChromeOS runs single x-client application. Browser Process Renderer Process Renderer Process libx X …... GPU Process
  15. 15. They created a new window system. Aura
  16. 16. Aura Chrome's next generation hardware accelerated UI framework
  17. 17. Aura Contains view components Responsible for event propagation draw widget’s contents window hierarchy management - ChromeOS is a tree of Aura Window
  18. 18. Aura Event Flow Widget component Aura Window X Kernel Mouse Click
  19. 19. Aura Drawing? RootWindowHost CC RootWindow Composite & Draw Aura Window Aura Window Aura Window Aura Window Aura Window GPU process Browser process GPU
  20. 20. OK. we know how Widget is handled... But, how create a widget?
  21. 21. 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
  22. 22. Ash In typical linux, GTK application QT Application .... X Kernel Shell
  23. 23. Ash Role of Shell * Window mgmt. * Program exec. * System mgmt.
  24. 24. Ash
  25. 25. References
  26. 26. Q&A