tree: 6a08e202f3160cd522c2e4b70708ca0259045c3d [path history] [tgz]
  1. android/
  2. app_list/
  3. apps/
  4. ash/
  5. aura/
  6. autofill/
  7. blocked_content/
  8. bluetooth/
  9. bookmarks/
  10. cocoa/
  11. color/
  12. content_settings/
  13. cookie_controls/
  14. docs/
  15. exclusive_access/
  16. extensions/
  17. find_bar/
  18. frame/
  19. global_error/
  20. global_media_controls/
  21. hats/
  22. hid/
  23. hung_renderer/
  24. in_product_help/
  25. interventions/
  26. javascript_dialogs/
  27. location_bar/
  28. login/
  29. media_router/
  30. messages/
  31. omnibox/
  32. page_action/
  33. page_info/
  34. passwords/
  35. pdf/
  36. permission_bubble/
  37. prefs/
  38. qrcode_generator/
  39. search/
  40. search_engines/
  41. send_tab_to_self/
  42. serial/
  43. signin/
  44. startup/
  45. supervised_user/
  46. sync/
  47. tab_contents/
  48. tab_sharing/
  49. tabs/
  50. task_manager/
  51. test/
  52. thumbnails/
  53. toolbar/
  54. translate/
  55. views/
  56. web_applications/
  57. webauthn/
  58. webui/
  59. window_sizer/
  60. zoom/
  61. accelerator_utils.h
  62. app_icon_loader.cc
  63. app_icon_loader.h
  64. app_icon_loader_delegate.h
  65. ask_google_for_suggestions_dialog_browsertest.cc
  66. avatar_button_error_controller.cc
  67. avatar_button_error_controller.h
  68. avatar_button_error_controller_delegate.h
  69. browser.cc
  70. browser.h
  71. browser_browsertest.cc
  72. browser_close_unittest.cc
  73. browser_command_controller.cc
  74. browser_command_controller.h
  75. browser_command_controller_browsertest.cc
  76. browser_command_controller_interactive_browsertest.cc
  77. browser_command_controller_unittest.cc
  78. browser_commands.cc
  79. browser_commands.h
  80. browser_commands_browsertest.cc
  81. browser_commands_chromeos.cc
  82. browser_commands_chromeos.h
  83. browser_commands_mac.h
  84. browser_commands_mac.mm
  85. browser_content_setting_bubble_model_delegate.cc
  86. browser_content_setting_bubble_model_delegate.h
  87. browser_dialogs.cc
  88. browser_dialogs.h
  89. browser_finder.cc
  90. browser_finder.h
  91. browser_finder_chromeos_browsertest.cc
  92. browser_finder_chromeos_unittest.cc
  93. browser_focus_uitest.cc
  94. browser_instant_controller.cc
  95. browser_instant_controller.h
  96. browser_instant_controller_unittest.cc
  97. browser_list.cc
  98. browser_list.h
  99. browser_list_observer.h
  100. browser_live_tab_context.cc
  101. browser_live_tab_context.h
  102. browser_location_bar_model_delegate.cc
  103. browser_location_bar_model_delegate.h
  104. browser_mac.cc
  105. browser_mac.h
  106. browser_navigator.cc
  107. browser_navigator.h
  108. browser_navigator_browsertest.cc
  109. browser_navigator_browsertest.h
  110. browser_navigator_browsertest_chromeos.cc
  111. browser_navigator_params.cc
  112. browser_navigator_params.h
  113. browser_otr_state.cc
  114. browser_otr_state.h
  115. browser_otr_state_android.cc
  116. browser_tab_restorer.cc
  117. browser_tab_strip_model_delegate.cc
  118. browser_tab_strip_model_delegate.h
  119. browser_tab_strip_model_delegate_browsertest.cc
  120. browser_tab_strip_tracker.cc
  121. browser_tab_strip_tracker.h
  122. browser_tab_strip_tracker_delegate.h
  123. browser_tabrestore.cc
  124. browser_tabrestore.h
  125. browser_tabrestore_browsertest.cc
  126. browser_tabstrip.cc
  127. browser_tabstrip.h
  128. browser_ui_prefs.cc
  129. browser_ui_prefs.h
  130. browser_unittest.cc
  131. browser_view_prefs.cc
  132. browser_view_prefs.h
  133. browser_window.h
  134. browser_window_state.cc
  135. browser_window_state.h
  136. browser_window_state_unittest.cc
  137. bubble_anchor_util.h
  138. BUILD.gn
  139. caption_bubble_controller.h
  140. certificate_dialogs.cc
  141. certificate_dialogs.h
  142. chrome_pages.cc
  143. chrome_pages.h
  144. chrome_select_file_policy.cc
  145. chrome_select_file_policy.h
  146. chrome_select_file_policy_unittest.cc
  147. chrome_web_modal_dialog_manager_delegate.cc
  148. chrome_web_modal_dialog_manager_delegate.h
  149. collected_cookies_browsertest.cc
  150. collected_cookies_infobar_delegate.cc
  151. collected_cookies_infobar_delegate.h
  152. color_chooser.h
  153. confirm_bubble.h
  154. confirm_bubble_model.cc
  155. confirm_bubble_model.h
  156. crypto_module_delegate_nss.cc
  157. crypto_module_delegate_nss.h
  158. crypto_module_password_dialog.h
  159. crypto_module_password_dialog_nss.cc
  160. crypto_module_password_dialog_nss.h
  161. cryptuiapi_shim.h
  162. DEPS
  163. enterprise_startup_dialog.h
  164. focus_tab_after_navigation_helper.cc
  165. focus_tab_after_navigation_helper.h
  166. fullscreen_keyboard_browsertest_base.cc
  167. fullscreen_keyboard_browsertest_base.h
  168. hung_plugin_tab_helper.cc
  169. hung_plugin_tab_helper.h
  170. intent_picker_tab_helper.cc
  171. intent_picker_tab_helper.h
  172. keyboard_lock_interactive_browsertest.cc
  173. layout_constants.cc
  174. layout_constants.h
  175. managed_ui.cc
  176. managed_ui.h
  177. managed_ui_browsertest.cc
  178. manifest_web_app_browser_controller.cc
  179. manifest_web_app_browser_controller.h
  180. manifest_web_app_browser_controller_unittest.cc
  181. manifest_web_app_browsertest.cc
  182. native_file_system_dialogs.cc
  183. native_file_system_dialogs.h
  184. native_window_tracker.h
  185. native_window_tracker_browsertest.cc
  186. network_profile_bubble.cc
  187. network_profile_bubble.h
  188. OWNERS
  189. platform_keys_certificate_selector_chromeos.h
  190. popup_browsertest.cc
  191. process_singleton_dialog_linux.h
  192. profile_chooser_constants.h
  193. profile_error_browsertest.cc
  194. profile_error_dialog.cc
  195. profile_error_dialog.h
  196. profile_picker.h
  197. README.md
  198. recently_audible_helper.cc
  199. recently_audible_helper.h
  200. recently_audible_helper_unittest.cc
  201. renderer_event_injection_browsertest.cc
  202. sad_tab.cc
  203. sad_tab.h
  204. sad_tab_helper.cc
  205. sad_tab_helper.h
  206. sad_tab_types.h
  207. scoped_tabbed_browser_displayer.cc
  208. scoped_tabbed_browser_displayer.h
  209. screen_capture_notification_ui.h
  210. screen_capture_notification_ui_browsertest.cc
  211. screen_capture_notification_ui_stub.cc
  212. send_mouse_move_uitest_win.cc
  213. session_crashed_bubble.h
  214. settings_window_manager_browsertest_chromeos.cc
  215. settings_window_manager_chromeos.cc
  216. settings_window_manager_chromeos.h
  217. settings_window_manager_observer_chromeos.h
  218. signin_reauth_view_controller.cc
  219. signin_reauth_view_controller.h
  220. signin_reauth_view_controller_browsertest.cc
  221. signin_view_controller.cc
  222. signin_view_controller.h
  223. signin_view_controller_delegate.cc
  224. signin_view_controller_delegate.h
  225. signin_view_controller_interactive_uitest.cc
  226. simple_message_box.h
  227. simple_message_box_internal.cc
  228. simple_message_box_internal.h
  229. singleton_tabs.cc
  230. singleton_tabs.h
  231. status_bubble.h
  232. storage_pressure_bubble.h
  233. tab_dialogs.cc
  234. tab_dialogs.h
  235. tab_helpers.cc
  236. tab_helpers.h
  237. tab_modal_confirm_dialog.h
  238. tab_modal_confirm_dialog_browsertest.cc
  239. tab_modal_confirm_dialog_browsertest.h
  240. tab_modal_confirm_dialog_delegate.cc
  241. tab_modal_confirm_dialog_delegate.h
  242. tab_ui_helper.cc
  243. tab_ui_helper.h
  244. ui_features.cc
  245. ui_features.h
  246. uma_browsing_activity_observer.cc
  247. uma_browsing_activity_observer.h
  248. uninstall_browser_prompt.h
  249. unload_controller.cc
  250. unload_controller.h
  251. update_chrome_dialog_browsertest.cc
  252. user_manager.cc
  253. user_manager.h
  254. view_ids.h
  255. web_contents_sizer.cc
  256. web_contents_sizer.h
  257. web_contents_sizer.mm
chrome/browser/ui/README.md

This directory contains the implementation of the Chromium UI. Code in the root of this directory is toolkit- and platform-independent. There are subdirectories with implementations for specific toolkits and OSes. Code in the root of this directory should not be aware of platform-specific implementation details or reach into the platform implementation subdirectories.

This directory is often referred to in conversation as “cbui”, pronounced “sea bee you eye”.

Important subdirectories:

  • views - the Views implementation of the UI, used on Windows, Mac, Linux, and ChromeOS. This includes things like the browser window itself, tabs, dialogs, etc.
  • cocoa - the remaining Cocoa UI, used only on Mac. This directory used to contain a separate full implementation of the UI, parallel to the Views implementation.
  • android - part of the Android implementation of the UI. See also //chrome/browser/android.
  • webui - the WebUI parts of the browser UI. This includes things like the chrome://settings page and other WebUI pages.

A common pattern is for code in //chrome/browser/ui to define a platform-independent interface which then has implementations in //chrome/browser/ui/views and //chrome/browser/ui/android. This pattern is often followed even for features that don't exist on Android, in which case the Android implementation is often a stub.

This pattern often looks like this:

//chrome/browser/ui/browser_dialogs.h:
void ShowMyDialog(...);

//chrome/browser/ui/views/my_dialog_views.cc:
void ShowMyDialog(...) { ... }

//chrome/browser/ui/android/my_dialog_android.cc:
void ShowMyDialog(...) { ... }