tree: f9ef6f7a68cfe7afc41dce09b1ede9decd36fc8a [path history] [tgz]
  1. server/
  2. test/
  3. wayland/
  4. buffer.cc
  5. buffer.h
  6. buffer_unittest.cc
  7. BUILD.gn
  8. client_controlled_accelerators.cc
  9. client_controlled_accelerators.h
  10. client_controlled_shell_surface.cc
  11. client_controlled_shell_surface.h
  12. client_controlled_shell_surface_unittest.cc
  13. data_device.cc
  14. data_device.h
  15. data_device_delegate.h
  16. data_device_unittest.cc
  17. data_offer.cc
  18. data_offer.h
  19. data_offer_delegate.h
  20. data_offer_observer.h
  21. data_offer_unittest.cc
  22. data_source.cc
  23. data_source.h
  24. data_source_delegate.h
  25. data_source_observer.h
  26. data_source_unittest.cc
  27. DEPS
  28. display.cc
  29. display.h
  30. display_unittest.cc
  31. drag_drop_operation.cc
  32. drag_drop_operation.h
  33. drag_drop_operation_unittest.cc
  34. extended_drag_offer.cc
  35. extended_drag_offer.h
  36. extended_drag_source.cc
  37. extended_drag_source.h
  38. file_helper.h
  39. frame_sink_resource_manager.cc
  40. frame_sink_resource_manager.h
  41. fullscreen_shell_surface.cc
  42. fullscreen_shell_surface.h
  43. fullscreen_shell_surface_unittest.cc
  44. gamepad.cc
  45. gamepad.h
  46. gamepad_delegate.h
  47. gamepad_observer.h
  48. gamepad_unittest.cc
  49. gaming_seat.cc
  50. gaming_seat.h
  51. gaming_seat_delegate.h
  52. gaming_seat_unittest.cc
  53. input_method_surface.cc
  54. input_method_surface.h
  55. input_method_surface_manager.h
  56. input_method_surface_unittest.cc
  57. input_trace.h
  58. keyboard.cc
  59. keyboard.h
  60. keyboard_delegate.h
  61. keyboard_device_configuration_delegate.h
  62. keyboard_modifiers.h
  63. keyboard_observer.h
  64. keyboard_unittest.cc
  65. layer_tree_frame_sink_holder.cc
  66. layer_tree_frame_sink_holder.h
  67. mime_utils.cc
  68. mime_utils.h
  69. mime_utils_unittest.cc
  70. notification.cc
  71. notification.h
  72. notification_surface.cc
  73. notification_surface.h
  74. notification_surface_manager.h
  75. notification_unittest.cc
  76. OWNERS
  77. permission.cc
  78. permission.h
  79. permission_unittest.cc
  80. pointer.cc
  81. pointer.h
  82. pointer_constraint_delegate.h
  83. pointer_delegate.h
  84. pointer_gesture_pinch_delegate.h
  85. pointer_stylus_delegate.h
  86. pointer_unittest.cc
  87. README.md
  88. relative_pointer_delegate.h
  89. seat.cc
  90. seat.h
  91. seat_observer.h
  92. seat_unittest.cc
  93. shared_memory.cc
  94. shared_memory.h
  95. shared_memory_unittest.cc
  96. shell_surface.cc
  97. shell_surface.h
  98. shell_surface_base.cc
  99. shell_surface_base.h
  100. shell_surface_unittest.cc
  101. shell_surface_util.cc
  102. shell_surface_util.h
  103. sub_surface.cc
  104. sub_surface.h
  105. sub_surface_unittest.cc
  106. surface.cc
  107. surface.h
  108. surface_delegate.h
  109. surface_observer.h
  110. surface_tree_host.cc
  111. surface_tree_host.h
  112. surface_unittest.cc
  113. text_input.cc
  114. text_input.h
  115. text_input_unittest.cc
  116. toast_surface.cc
  117. toast_surface.h
  118. toast_surface_manager.h
  119. toast_surface_unittest.cc
  120. touch.cc
  121. touch.h
  122. touch_delegate.h
  123. touch_stylus_delegate.h
  124. touch_unittest.cc
  125. ui_lock_controller.cc
  126. ui_lock_controller.h
  127. ui_lock_controller_unittest.cc
  128. vsync_timing_manager.cc
  129. vsync_timing_manager.h
  130. wm_helper.cc
  131. wm_helper.h
  132. wm_helper_chromeos.cc
  133. wm_helper_chromeos.h
  134. xdg_shell_surface.cc
  135. xdg_shell_surface.h
  136. xdg_shell_surface_unittest.cc
  137. xkb_tracker.cc
  138. xkb_tracker.h
components/exo/README.md

Exo implements a display server on top of the Aura Shell. It uses the Wayland protocol to communicate with clients. For a general introduction to Wayland see https://wayland-book.com/.

Current clients of Exo include:

  • ARC++ (Android apps on Chrome OS)
  • Chromecast
  • Crostini (Linux apps on Chrome OS)
  • Lacros
  • PluginVM

In addition to the core Wayland protocol, Exo supports a number of protocol extensions. Some are third-party; see //third_party/wayland-protocols/README.chromium. Others are Chromium-specific.

A few noteworthy extensions (this list is not at all exhaustive):