summaryrefslogtreecommitdiff
path: root/chromium/ash
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-09-18 14:34:04 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-10-04 11:15:27 +0000
commite6430e577f105ad8813c92e75c54660c4985026e (patch)
tree88115e5d1fb471fea807111924dcccbeadbf9e4f /chromium/ash
parent53d399fe6415a96ea6986ec0d402a9c07da72453 (diff)
downloadqtwebengine-chromium-e6430e577f105ad8813c92e75c54660c4985026e.tar.gz
BASELINE: Update Chromium to 61.0.3163.99
Change-Id: I8452f34574d88ca2b27af9bd56fc9ff3f16b1367 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/ash')
-rw-r--r--chromium/ash/BUILD.gn491
-rw-r--r--chromium/ash/autoclick/common/BUILD.gn1
-rw-r--r--chromium/ash/mus/BUILD.gn12
-rw-r--r--chromium/ash/public/cpp/BUILD.gn21
-rw-r--r--chromium/ash/public/interfaces/BUILD.gn7
-rw-r--r--chromium/ash/public/interfaces/ash_display_controller.mojom18
-rw-r--r--chromium/ash/public/interfaces/ime_controller.mojom51
-rw-r--r--chromium/ash/public/interfaces/ime_info.mojom40
-rw-r--r--chromium/ash/public/interfaces/lock_screen.mojom66
-rw-r--r--chromium/ash/public/interfaces/login_user_info.mojom55
-rw-r--r--chromium/ash/public/interfaces/night_light_controller.mojom55
-rw-r--r--chromium/ash/public/interfaces/session_controller.mojom56
-rw-r--r--chromium/ash/public/interfaces/session_controller.typemap3
-rw-r--r--chromium/ash/public/interfaces/shelf.mojom52
-rw-r--r--chromium/ash/public/interfaces/shelf.typemap1
-rw-r--r--chromium/ash/public/interfaces/system_tray.mojom11
-rw-r--r--chromium/ash/public/interfaces/typemaps.gni1
-rw-r--r--chromium/ash/public/interfaces/user_info.mojom50
-rw-r--r--chromium/ash/public/interfaces/user_info.typemap11
-rw-r--r--chromium/ash/public/interfaces/wallpaper.mojom47
-rw-r--r--chromium/ash/public/interfaces/wallpaper.typemap13
-rw-r--r--chromium/ash/resources/vector_icons/BUILD.gn22
-rw-r--r--chromium/ash/shared/BUILD.gn9
-rw-r--r--chromium/ash/test/BUILD.gn209
-rw-r--r--chromium/ash/touch_hud/BUILD.gn1
25 files changed, 914 insertions, 389 deletions
diff --git a/chromium/ash/BUILD.gn b/chromium/ash/BUILD.gn
index 793a7e5956c..6af7b3d742a 100644
--- a/chromium/ash/BUILD.gn
+++ b/chromium/ash/BUILD.gn
@@ -17,13 +17,13 @@ component("ash") {
sources = [
"accelerators/accelerator_commands.cc",
"accelerators/accelerator_commands.h",
- "accelerators/accelerator_commands_aura.cc",
- "accelerators/accelerator_commands_aura.h",
+ "accelerators/accelerator_commands_classic.cc",
+ "accelerators/accelerator_commands_classic.h",
"accelerators/accelerator_controller.cc",
"accelerators/accelerator_controller.h",
"accelerators/accelerator_controller_delegate.h",
- "accelerators/accelerator_controller_delegate_aura.cc",
- "accelerators/accelerator_controller_delegate_aura.h",
+ "accelerators/accelerator_controller_delegate_classic.cc",
+ "accelerators/accelerator_controller_delegate_classic.h",
"accelerators/accelerator_delegate.cc",
"accelerators/accelerator_delegate.h",
"accelerators/accelerator_router.cc",
@@ -61,12 +61,6 @@ component("ash") {
"ash_touch_exploration_manager_chromeos.cc",
"ash_touch_exploration_manager_chromeos.h",
"ash_view_ids.h",
- "aura/key_event_watcher_aura.cc",
- "aura/key_event_watcher_aura.h",
- "aura/pointer_watcher_adapter.cc",
- "aura/pointer_watcher_adapter.h",
- "aura/shell_port_classic.cc",
- "aura/shell_port_classic.h",
"autoclick/autoclick_controller.cc",
"autoclick/autoclick_controller.h",
"cancel_mode.cc",
@@ -79,19 +73,8 @@ component("ash") {
"default_accessibility_delegate.h",
"default_wallpaper_delegate.cc",
"default_wallpaper_delegate.h",
- "devtools/ash_devtools_css_agent.cc",
- "devtools/ash_devtools_css_agent.h",
- "devtools/ash_devtools_dom_agent.cc",
- "devtools/ash_devtools_dom_agent.h",
- "devtools/ui_element.cc",
- "devtools/ui_element.h",
- "devtools/ui_element_delegate.h",
- "devtools/view_element.cc",
- "devtools/view_element.h",
- "devtools/widget_element.cc",
- "devtools/widget_element.h",
- "devtools/window_element.cc",
- "devtools/window_element.h",
+ "display/ash_display_controller.cc",
+ "display/ash_display_controller.h",
"display/cursor_window_controller.cc",
"display/cursor_window_controller.h",
"display/display_animator.h",
@@ -142,6 +125,12 @@ component("ash") {
"drag_drop/drag_drop_tracker.h",
"drag_drop/drag_image_view.cc",
"drag_drop/drag_image_view.h",
+ "fast_ink/fast_ink_pointer_controller.cc",
+ "fast_ink/fast_ink_pointer_controller.h",
+ "fast_ink/fast_ink_points.cc",
+ "fast_ink/fast_ink_points.h",
+ "fast_ink/fast_ink_view.cc",
+ "fast_ink/fast_ink_view.h",
"first_run/desktop_cleaner.cc",
"first_run/desktop_cleaner.h",
"first_run/first_run_helper.cc",
@@ -174,6 +163,15 @@ component("ash") {
"gpu_support_stub.h",
"high_contrast/high_contrast_controller.cc",
"high_contrast/high_contrast_controller.h",
+ "highlighter/highlighter_controller.cc",
+ "highlighter/highlighter_controller.h",
+ "highlighter/highlighter_gesture_util.cc",
+ "highlighter/highlighter_gesture_util.h",
+ "highlighter/highlighter_result_view.cc",
+ "highlighter/highlighter_result_view.h",
+ "highlighter/highlighter_selection_observer.h",
+ "highlighter/highlighter_view.cc",
+ "highlighter/highlighter_view.h",
"host/ash_window_tree_host.cc",
"host/ash_window_tree_host.h",
"host/ash_window_tree_host_init_params.h",
@@ -186,9 +184,9 @@ component("ash") {
"host/root_window_transformer.h",
"host/transformer_helper.cc",
"host/transformer_helper.h",
+ "ime/ime_controller.cc",
+ "ime/ime_controller.h",
"ime/ime_switch_type.h",
- "key_event_watcher.cc",
- "key_event_watcher.h",
"keyboard/keyboard_observer_register.cc",
"keyboard/keyboard_observer_register.h",
"keyboard/keyboard_ui.cc",
@@ -196,8 +194,6 @@ component("ash") {
"keyboard/keyboard_ui_observer.h",
"laser/laser_pointer_controller.cc",
"laser/laser_pointer_controller.h",
- "laser/laser_pointer_points.cc",
- "laser/laser_pointer_points.h",
"laser/laser_pointer_view.cc",
"laser/laser_pointer_view.h",
"laser/laser_segment_utils.cc",
@@ -210,10 +206,23 @@ component("ash") {
"login/lock_screen_controller.h",
"login/ui/lock_contents_view.cc",
"login/ui/lock_contents_view.h",
+ "login/ui/lock_debug_view.cc",
+ "login/ui/lock_debug_view.h",
"login/ui/lock_screen.cc",
"login/ui/lock_screen.h",
"login/ui/lock_window.cc",
"login/ui/lock_window.h",
+ "login/ui/login_auth_user_view.cc",
+ "login/ui/login_auth_user_view.h",
+ "login/ui/login_constants.h",
+ "login/ui/login_data_dispatcher.cc",
+ "login/ui/login_data_dispatcher.h",
+ "login/ui/login_password_view.cc",
+ "login/ui/login_password_view.h",
+ "login/ui/login_pin_view.cc",
+ "login/ui/login_pin_view.h",
+ "login/ui/login_user_view.cc",
+ "login/ui/login_user_view.h",
"login_status.h",
"magnifier/magnification_controller.cc",
"magnifier/magnification_controller.h",
@@ -241,6 +250,8 @@ component("ash") {
"new_window_controller.cc",
"new_window_controller.h",
"palette_delegate.h",
+ "pointer_watcher_adapter_classic.cc",
+ "pointer_watcher_adapter_classic.h",
"root_window_controller.cc",
"root_window_controller.h",
"root_window_settings.cc",
@@ -261,18 +272,6 @@ component("ash") {
"session/session_controller.h",
"session/session_observer.cc",
"session/session_observer.h",
- "session/session_state_delegate.h",
- "shared/immersive_context.cc",
- "shared/immersive_context.h",
- "shared/immersive_focus_watcher.h",
- "shared/immersive_fullscreen_controller.cc",
- "shared/immersive_fullscreen_controller.h",
- "shared/immersive_fullscreen_controller_delegate.h",
- "shared/immersive_gesture_handler.h",
- "shared/immersive_handler_factory.cc",
- "shared/immersive_handler_factory.h",
- "shared/immersive_revealed_lock.cc",
- "shared/immersive_revealed_lock.h",
"shelf/app_list_button.cc",
"shelf/app_list_button.h",
"shelf/app_list_shelf_item_delegate.cc",
@@ -307,9 +306,6 @@ component("ash") {
"shelf/shelf_layout_manager_observer.h",
"shelf/shelf_locking_manager.cc",
"shelf/shelf_locking_manager.h",
- "shelf/shelf_model.cc",
- "shelf/shelf_model.h",
- "shelf/shelf_model_observer.h",
"shelf/shelf_observer.h",
"shelf/shelf_tooltip_manager.cc",
"shelf/shelf_tooltip_manager.h",
@@ -323,6 +319,8 @@ component("ash") {
"shelf/shelf_window_watcher.h",
"shelf/shelf_window_watcher_item_delegate.cc",
"shelf/shelf_window_watcher_item_delegate.h",
+ "shelf/voice_interaction_overlay.cc",
+ "shelf/voice_interaction_overlay.h",
"shell.cc",
"shell.h",
"shell_delegate.h",
@@ -330,6 +328,8 @@ component("ash") {
"shell_observer.h",
"shell_port.cc",
"shell_port.h",
+ "shell_port_classic.cc",
+ "shell_port_classic.h",
"shutdown_controller.cc",
"shutdown_controller.h",
"sticky_keys/sticky_keys_controller.cc",
@@ -347,6 +347,8 @@ component("ash") {
"system/bluetooth/bluetooth_notification_controller.cc",
"system/bluetooth/bluetooth_notification_controller.h",
"system/bluetooth/bluetooth_observer.h",
+ "system/bluetooth/bluetooth_power_controller.cc",
+ "system/bluetooth/bluetooth_power_controller.h",
"system/bluetooth/tray_bluetooth.cc",
"system/bluetooth/tray_bluetooth.h",
"system/bluetooth/tray_bluetooth_helper.cc",
@@ -383,9 +385,11 @@ component("ash") {
"system/ime_menu/ime_list_view.h",
"system/ime_menu/ime_menu_tray.cc",
"system/ime_menu/ime_menu_tray.h",
+ "system/keyboard_brightness/keyboard_brightness_controller.cc",
+ "system/keyboard_brightness/keyboard_brightness_controller.h",
+ "system/keyboard_brightness/tray_keyboard_brightness.cc",
+ "system/keyboard_brightness/tray_keyboard_brightness.h",
"system/keyboard_brightness_control_delegate.h",
- "system/keyboard_brightness_controller.cc",
- "system/keyboard_brightness_controller.h",
"system/locale/locale_notification_controller.cc",
"system/locale/locale_notification_controller.h",
"system/lock_screen_action/lock_screen_action_tray.cc",
@@ -423,6 +427,8 @@ component("ash") {
"system/night_light/night_light_controller.h",
"system/night_light/night_light_toggle_button.cc",
"system/night_light/night_light_toggle_button.h",
+ "system/night_light/time_of_day.cc",
+ "system/night_light/time_of_day.h",
"system/night_light/tray_night_light.cc",
"system/night_light/tray_night_light.h",
"system/overview/overview_button_tray.cc",
@@ -487,7 +493,6 @@ component("ash") {
"system/session/logout_confirmation_controller.h",
"system/session/logout_confirmation_dialog.cc",
"system/session/logout_confirmation_dialog.h",
- "system/session/session_length_limit_observer.h",
"system/session/tray_session_length_limit.cc",
"system/session/tray_session_length_limit.h",
"system/status_area_focus_observer.h",
@@ -517,8 +522,6 @@ component("ash") {
"system/tray/actionable_view.h",
"system/tray/hover_highlight_view.cc",
"system/tray/hover_highlight_view.h",
- "system/tray/ime_info.cc",
- "system/tray/ime_info.h",
"system/tray/label_tray_view.cc",
"system/tray/label_tray_view.h",
"system/tray/size_range_layout.cc",
@@ -551,6 +554,8 @@ component("ash") {
"system/tray/tray_event_filter.h",
"system/tray/tray_image_item.cc",
"system/tray/tray_image_item.h",
+ "system/tray/tray_info_label.cc",
+ "system/tray/tray_info_label.h",
"system/tray/tray_item_more.cc",
"system/tray/tray_item_more.h",
"system/tray/tray_item_view.cc",
@@ -571,6 +576,8 @@ component("ash") {
"system/tray_accessibility.h",
"system/tray_caps_lock.cc",
"system/tray_caps_lock.h",
+ "system/tray_drag_controller.cc",
+ "system/tray_drag_controller.h",
"system/tray_tracing.cc",
"system/tray_tracing.h",
"system/update/tray_update.cc",
@@ -626,8 +633,6 @@ component("ash") {
"wm/always_on_top_controller.h",
"wm/ash_focus_rules.cc",
"wm/ash_focus_rules.h",
- "wm/ash_native_cursor_manager.cc",
- "wm/ash_native_cursor_manager.h",
"wm/boot_splash_screen_chromeos.cc",
"wm/boot_splash_screen_chromeos.h",
"wm/container_finder.cc",
@@ -654,12 +659,14 @@ component("ash") {
"wm/gestures/overview_gesture_handler.h",
"wm/immersive_context_ash.cc",
"wm/immersive_context_ash.h",
- "wm/immersive_focus_watcher_aura.cc",
- "wm/immersive_focus_watcher_aura.h",
- "wm/immersive_gesture_handler_aura.cc",
- "wm/immersive_gesture_handler_aura.h",
+ "wm/immersive_focus_watcher_classic.cc",
+ "wm/immersive_focus_watcher_classic.h",
+ "wm/immersive_gesture_handler_classic.cc",
+ "wm/immersive_gesture_handler_classic.h",
"wm/immersive_handler_factory_ash.cc",
"wm/immersive_handler_factory_ash.h",
+ "wm/lock_action_handler_layout_manager.cc",
+ "wm/lock_action_handler_layout_manager.h",
"wm/lock_layout_manager.cc",
"wm/lock_layout_manager.h",
"wm/lock_state_controller.cc",
@@ -667,30 +674,20 @@ component("ash") {
"wm/lock_state_observer.h",
"wm/lock_window_state.cc",
"wm/lock_window_state.h",
- "wm/maximize_mode/maximize_mode_backdrop_delegate_impl.cc",
- "wm/maximize_mode/maximize_mode_backdrop_delegate_impl.h",
- "wm/maximize_mode/maximize_mode_controller.cc",
- "wm/maximize_mode/maximize_mode_controller.h",
- "wm/maximize_mode/maximize_mode_event_handler.cc",
- "wm/maximize_mode/maximize_mode_event_handler.h",
- "wm/maximize_mode/maximize_mode_event_handler_aura.cc",
- "wm/maximize_mode/maximize_mode_event_handler_aura.h",
- "wm/maximize_mode/maximize_mode_window_manager.cc",
- "wm/maximize_mode/maximize_mode_window_manager.h",
- "wm/maximize_mode/maximize_mode_window_state.cc",
- "wm/maximize_mode/maximize_mode_window_state.h",
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard.h",
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.cc",
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.h",
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_x11.cc",
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_x11.h",
"wm/mru_window_tracker.cc",
"wm/mru_window_tracker.h",
+ "wm/native_cursor_manager_ash.h",
+ "wm/native_cursor_manager_ash_classic.cc",
+ "wm/native_cursor_manager_ash_classic.h",
+ "wm/native_cursor_manager_ash_mus.cc",
+ "wm/native_cursor_manager_ash_mus.h",
"wm/overlay_event_filter.cc",
"wm/overlay_event_filter.h",
"wm/overview/cleanup_animation_observer.cc",
"wm/overview/cleanup_animation_observer.h",
"wm/overview/overview_animation_type.h",
+ "wm/overview/scoped_hide_overview_windows.cc",
+ "wm/overview/scoped_hide_overview_windows.h",
"wm/overview/scoped_overview_animation_settings.cc",
"wm/overview/scoped_overview_animation_settings.h",
"wm/overview/scoped_transform_overview_window.cc",
@@ -734,6 +731,8 @@ component("ash") {
"wm/session_state_animator.h",
"wm/session_state_animator_impl.cc",
"wm/session_state_animator_impl.h",
+ "wm/splitview/split_view_controller.cc",
+ "wm/splitview/split_view_controller.h",
"wm/stacking_controller.cc",
"wm/stacking_controller.h",
"wm/switchable_windows.cc",
@@ -747,6 +746,22 @@ component("ash") {
"wm/system_modal_container_layout_manager.h",
"wm/system_wallpaper_controller.cc",
"wm/system_wallpaper_controller.h",
+ "wm/tablet_mode/scoped_disable_internal_mouse_and_keyboard.h",
+ "wm/tablet_mode/scoped_disable_internal_mouse_and_keyboard_x11.cc",
+ "wm/tablet_mode/scoped_disable_internal_mouse_and_keyboard_x11.h",
+ "wm/tablet_mode/tablet_mode_backdrop_delegate_impl.cc",
+ "wm/tablet_mode/tablet_mode_backdrop_delegate_impl.h",
+ "wm/tablet_mode/tablet_mode_controller.cc",
+ "wm/tablet_mode/tablet_mode_controller.h",
+ "wm/tablet_mode/tablet_mode_event_handler.cc",
+ "wm/tablet_mode/tablet_mode_event_handler.h",
+ "wm/tablet_mode/tablet_mode_event_handler_classic.cc",
+ "wm/tablet_mode/tablet_mode_event_handler_classic.h",
+ "wm/tablet_mode/tablet_mode_observer.h",
+ "wm/tablet_mode/tablet_mode_window_manager.cc",
+ "wm/tablet_mode/tablet_mode_window_manager.h",
+ "wm/tablet_mode/tablet_mode_window_state.cc",
+ "wm/tablet_mode/tablet_mode_window_state.h",
"wm/toplevel_window_event_handler.cc",
"wm/toplevel_window_event_handler.h",
"wm/video_detector.cc",
@@ -759,8 +774,8 @@ component("ash") {
"wm/window_cycle_controller.cc",
"wm/window_cycle_controller.h",
"wm/window_cycle_event_filter.h",
- "wm/window_cycle_event_filter_aura.cc",
- "wm/window_cycle_event_filter_aura.h",
+ "wm/window_cycle_event_filter_classic.cc",
+ "wm/window_cycle_event_filter_classic.h",
"wm/window_cycle_list.cc",
"wm/window_cycle_list.h",
"wm/window_dimmer.cc",
@@ -809,8 +824,8 @@ component("ash") {
"wm/workspace/two_step_edge_cycler.h",
"wm/workspace/workspace_event_handler.cc",
"wm/workspace/workspace_event_handler.h",
- "wm/workspace/workspace_event_handler_aura.cc",
- "wm/workspace/workspace_event_handler_aura.h",
+ "wm/workspace/workspace_event_handler_classic.cc",
+ "wm/workspace/workspace_event_handler_classic.h",
"wm/workspace/workspace_layout_manager.cc",
"wm/workspace/workspace_layout_manager.h",
"wm/workspace/workspace_types.h",
@@ -818,10 +833,6 @@ component("ash") {
"wm/workspace/workspace_window_resizer.h",
"wm/workspace_controller.cc",
"wm/workspace_controller.h",
- "wm_display_observer.h",
- "wm_transient_window_observer.h",
- "wm_window.cc",
- "wm_window.h",
]
configs += [ "//build/config:precompiled_headers" ]
@@ -830,7 +841,6 @@ component("ash") {
public_deps = [
"//ash/resources",
"//ash/resources/vector_icons",
- "//ash/shared:app_types",
"//ash/strings",
]
deps = [
@@ -850,9 +860,7 @@ component("ash") {
"//components/quirks",
"//components/session_manager:base",
"//components/signin/core/account_id",
- "//components/ui_devtools",
"//components/user_manager",
- "//components/vector_icons",
"//components/wallpaper",
"//device/bluetooth",
"//gpu/command_buffer/client",
@@ -862,10 +870,12 @@ component("ash") {
"//services/preferences/public/cpp",
"//services/service_manager/public/cpp",
"//services/ui/public/cpp",
+ "//services/ui/public/cpp/input_devices",
"//services/ui/public/interfaces",
"//skia",
# TODO(msw): Remove this; only ash_with_content should depend on webkit.
+ "//components/vector_icons",
"//third_party/WebKit/public:blink_headers",
"//third_party/icu",
"//third_party/qcms",
@@ -896,9 +906,9 @@ component("ash") {
"//ui/platform_window/stub",
"//ui/resources",
"//ui/strings",
- "//ui/vector_icons",
"//ui/views",
"//ui/wm",
+ "//ui/wm/public",
"//url",
]
@@ -921,8 +931,8 @@ component("ash") {
sources -= [
"host/ash_window_tree_host_x11.cc",
"host/ash_window_tree_host_x11.h",
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_x11.cc",
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_x11.h",
+ "wm/tablet_mode/scoped_disable_internal_mouse_and_keyboard_x11.cc",
+ "wm/tablet_mode/scoped_disable_internal_mouse_and_keyboard_x11.h",
]
}
@@ -932,10 +942,11 @@ component("ash") {
"//ui/events/ozone:events_ozone",
"//ui/ozone",
]
- } else {
- sources -= [
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.cc",
- "wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.h",
+ sources += [
+ "wm/tablet_mode/scoped_disable_internal_mouse_and_keyboard_ozone.cc",
+ "wm/tablet_mode/scoped_disable_internal_mouse_and_keyboard_ozone.h",
+ "wm/tablet_mode/touchpad_and_keyboard_disabler.cc",
+ "wm/tablet_mode/touchpad_and_keyboard_disabler.h",
]
}
@@ -1008,6 +1019,8 @@ static_library("ash_shell_lib") {
"shell/panel_window.h",
"shell/shell_delegate_impl.cc",
"shell/shell_delegate_impl.h",
+ "shell/shell_views_delegate.cc",
+ "shell/shell_views_delegate.h",
"shell/toplevel_window.cc",
"shell/toplevel_window.h",
"shell/widgets.cc",
@@ -1027,8 +1040,8 @@ static_library("ash_shell_lib") {
deps = [
":ash",
+ ":test_support_without_content",
"//ash/public/cpp:ash_public_cpp",
- "//ash/test:test_support_without_content",
"//base",
"//base:i18n",
"//components/user_manager",
@@ -1063,8 +1076,8 @@ static_library("ash_shell_lib_with_content") {
deps = [
":ash_shell_lib",
":ash_with_content",
+ ":test_support_without_content",
"//ash/public/cpp:ash_public_cpp",
- "//ash/test:test_support_without_content",
"//base:i18n",
"//chrome:packed_resources",
"//chromeos",
@@ -1106,8 +1119,8 @@ test("ash_content_unittests") {
deps = [
":ash",
":ash_with_content",
+ ":test_support_with_content",
"//ash/public/cpp:ash_public_cpp",
- "//ash/test:test_support_with_content",
"//base",
"//base/test:test_support",
"//chromeos",
@@ -1116,6 +1129,7 @@ test("ash_content_unittests") {
"//components/quirks",
"//components/signin/core/account_id",
"//components/user_manager",
+ "//components/viz/test:test_support",
"//content/public/browser",
"//content/test:test_support",
"//device/bluetooth",
@@ -1136,6 +1150,7 @@ test("ash_content_unittests") {
"//ui/views:test_support",
"//ui/views/controls/webview:test_support",
"//ui/web_dialogs:test_support",
+ "//ui/wm/public",
]
data_deps = [
@@ -1157,19 +1172,33 @@ source_set("common_unittests") {
"accelerators/spoken_feedback_toggler_unittest.cc",
"ash_touch_exploration_manager_chromeos_unittest.cc",
"autoclick/autoclick_unittest.cc",
- "devtools/ash_devtools_unittest.cc",
"display/display_configuration_controller_unittest.cc",
"drag_drop/drag_image_view_unittest.cc",
+ "fast_ink/fast_ink_points_unittest.cc",
"first_run/first_run_helper_unittest.cc",
"focus_cycler_unittest.cc",
"frame/caption_buttons/frame_caption_button_container_view_unittest.cc",
"frame/caption_buttons/frame_size_button_unittest.cc",
"frame/custom_frame_view_ash_unittest.cc",
"frame/default_header_painter_unittest.cc",
+ "highlighter/highlighter_controller_unittest.cc",
+ "highlighter/highlighter_gesture_util_unittest.cc",
+ "ime/ime_controller_unittest.cc",
"laser/laser_pointer_controller_unittest.cc",
- "laser/laser_pointer_points_unittest.cc",
"laser/laser_segment_utils_unittest.cc",
"login/lock_screen_controller_unittest.cc",
+ "login/mock_lock_screen_client.cc",
+ "login/mock_lock_screen_client.h",
+ "login/ui/lock_contents_view_unittest.cc",
+ "login/ui/lock_screen_sanity_unittest.cc",
+ "login/ui/login_auth_user_view_unittest.cc",
+ "login/ui/login_password_view_test.cc",
+ "login/ui/login_pin_view_unittest.cc",
+ "login/ui/login_test_base.cc",
+ "login/ui/login_test_base.h",
+ "login/ui/login_test_utils.cc",
+ "login/ui/login_test_utils.h",
+ "login/ui/login_user_view_unittest.cc",
"metrics/desktop_task_switch_metric_recorder_unittest.cc",
"metrics/pointer_metrics_recorder_unittest.cc",
"metrics/task_switch_metrics_recorder_unittest.cc",
@@ -1186,9 +1215,9 @@ source_set("common_unittests") {
"shelf/shelf_application_menu_model_unittest.cc",
"shelf/shelf_background_animator_unittest.cc",
"shelf/shelf_button_pressed_metric_tracker_unittest.cc",
+ "shelf/shelf_controller_unittest.cc",
"shelf/shelf_layout_manager_unittest.cc",
"shelf/shelf_locking_manager_unittest.cc",
- "shelf/shelf_model_unittest.cc",
"shelf/shelf_tooltip_manager_unittest.cc",
"shelf/shelf_unittest.cc",
"shelf/shelf_view_unittest.cc",
@@ -1198,6 +1227,7 @@ source_set("common_unittests") {
"sticky_keys/sticky_keys_overlay_unittest.cc",
"sticky_keys/sticky_keys_unittest.cc",
"system/audio/tray_audio_unittest.cc",
+ "system/bluetooth/bluetooth_power_controller_unittest.cc",
"system/bluetooth/tray_bluetooth_helper_unittest.cc",
"system/brightness/tray_brightness_unittest.cc",
"system/date/date_view_unittest.cc",
@@ -1205,6 +1235,7 @@ source_set("common_unittests") {
"system/enterprise/tray_enterprise_unittest.cc",
"system/ime/tray_ime_chromeos_unittest.cc",
"system/ime_menu/ime_menu_tray_unittest.cc",
+ "system/keyboard_brightness/tray_keyboard_brightness_unittest.cc",
"system/lock_screen_action/lock_screen_action_tray_unittest.cc",
"system/media_security/multi_profile_media_tray_item_unittest.cc",
"system/network/network_icon_unittest.cc",
@@ -1212,11 +1243,13 @@ source_set("common_unittests") {
"system/network/tray_network_unittest.cc",
"system/network/vpn_list_unittest.cc",
"system/night_light/night_light_controller_unittest.cc",
+ "system/night_light/time_of_day_unittest.cc",
"system/night_light/tray_night_light_unittest.cc",
"system/overview/overview_button_tray_unittest.cc",
"system/palette/mock_palette_tool_delegate.cc",
"system/palette/mock_palette_tool_delegate.h",
"system/palette/palette_tool_manager_unittest.cc",
+ "system/palette/palette_tray_unittest.cc",
"system/palette/tools/create_note_unittest.cc",
"system/palette/tools/metalayer_unittest.cc",
"system/palette/tools/screenshot_unittest.cc",
@@ -1236,7 +1269,10 @@ source_set("common_unittests") {
"system/tray/size_range_layout_unittest.cc",
"system/tray/system_tray_unittest.cc",
"system/tray/tray_details_view_unittest.cc",
+ "system/tray/tray_event_filter_unittest.cc",
+ "system/tray/tray_info_label_unittest.cc",
"system/tray/tri_view_unittest.cc",
+ "system/tray_tracing_unittest.cc",
"system/update/tray_update_unittest.cc",
"system/user/tray_user_unittest.cc",
"system/web_notification/ash_popup_alignment_delegate_unittest.cc",
@@ -1250,8 +1286,6 @@ source_set("common_unittests") {
"wm/container_finder_unittest.cc",
"wm/immersive_fullscreen_controller_unittest.cc",
"wm/lock_state_controller_unittest.cc",
- "wm/maximize_mode/accelerometer_test_data_literals.cc",
- "wm/maximize_mode/maximize_mode_window_manager_unittest.cc",
"wm/mru_window_tracker_unittest.cc",
"wm/overlay_event_filter_unittest.cc",
"wm/overview/cleanup_animation_observer_unittest.cc",
@@ -1262,8 +1296,11 @@ source_set("common_unittests") {
"wm/screen_dimmer_unittest.cc",
"wm/screen_pinning_controller_unittest.cc",
"wm/session_state_animator_impl_unittest.cc",
+ "wm/splitview/split_view_controller_unittest.cc",
"wm/stacking_controller_unittest.cc",
"wm/system_modal_container_layout_manager_unittest.cc",
+ "wm/tablet_mode/accelerometer_test_data_literals.cc",
+ "wm/tablet_mode/tablet_mode_window_manager_unittest.cc",
"wm/toplevel_window_event_handler_unittest.cc",
"wm/video_detector_unittest.cc",
"wm/window_animations_unittest.cc",
@@ -1280,18 +1317,20 @@ source_set("common_unittests") {
"wm/workspace_controller_unittest.cc",
]
deps = [
+ ":test_support_without_content",
"//ash",
"//ash/mus:lib",
"//ash/public/cpp:ash_public_cpp",
"//ash/public/cpp:unit_tests",
"//ash/resources/vector_icons",
- "//ash/test:test_support_without_content",
"//base",
"//base/test:test_support",
"//chromeos",
"//chromeos:power_manager_proto",
+ "//chromeos:test_support",
"//chromeos:test_support_without_gmock",
"//components/prefs:test_support",
+ "//components/user_manager:test_support",
"//device/bluetooth",
"//services/ui/public/interfaces",
"//testing/gmock",
@@ -1307,16 +1346,22 @@ source_set("common_unittests") {
"//ui/events:test_support",
"//ui/gfx:test_support",
"//ui/keyboard",
+ "//ui/keyboard:test_support",
"//ui/message_center",
"//ui/message_center:test_support",
"//ui/views",
"//ui/views:test_support",
"//ui/wm",
"//ui/wm:test_support",
+ "//ui/wm/public",
]
public_deps = [
- "//ash/test:test_support_without_content",
+ ":test_support_without_content",
]
+
+ if (use_ozone) {
+ sources += [ "wm/tablet_mode/touchpad_and_keyboard_disabler_unittest.cc" ]
+ }
}
test("ash_unittests") {
@@ -1326,9 +1371,7 @@ test("ash_unittests") {
# Specific to classic-ash.
"app_list/app_list_presenter_delegate_unittest.cc",
-
- # TODO: move to common_unittests when http://crbug.com/693790 is fixed.
- "aura/pointer_watcher_adapter_unittest.cc",
+ "pointer_watcher_adapter_classic_unittest.cc",
# TODO: decide if this needs to be ported. http://crbug.com/695566.
"dip_unittest.cc",
@@ -1389,7 +1432,7 @@ test("ash_unittests") {
"wm/always_on_top_controller_unittest.cc",
# TODO: mash doesn't support CursorManager. http://crbug.com/631103.
- "wm/ash_native_cursor_manager_unittest.cc",
+ "wm/native_cursor_manager_ash_unittest.cc",
# TODO: mash doesn't support DragWindowResizer. http://crbug.com/633782.
"wm/drag_window_resizer_unittest.cc",
@@ -1400,10 +1443,14 @@ test("ash_unittests") {
# TODO: fails because keyboard is not enabled in mash.
# http://crbug.com/648733.
+ "wm/lock_action_handler_layout_manager_unittest.cc",
+
+ # TODO: fails because keyboard is not enabled in mash.
+ # http://crbug.com/648733.
"wm/lock_layout_manager_unittest.cc",
# TODO: investigate failures in mash. http://crbug.com/698092.
- "wm/maximize_mode/maximize_mode_controller_unittest.cc",
+ "wm/tablet_mode/tablet_mode_controller_unittest.cc",
# TODO: mash doesn't support CursorManager. http://crbug.com/631103.
"wm/resize_shadow_and_cursor_unittest.cc",
@@ -1428,20 +1475,22 @@ test("ash_unittests") {
deps = [
":ash",
":common_unittests",
+ ":test_support_without_content",
"//ash/autoclick/common:autoclick",
"//ash/public/cpp:ash_public_cpp",
"//ash/resources",
"//ash/resources/vector_icons",
"//ash/strings",
- "//ash/test:test_support_without_content",
"//ash/touch_hud",
"//base",
"//base/test:test_support",
+ "//cc:test_support",
"//chromeos",
"//chromeos:test_support_without_gmock",
"//components/quirks",
"//components/signin/core/account_id",
"//components/user_manager",
+ "//components/viz/test:test_support",
"//device/bluetooth",
"//mojo/edk/system",
"//net:net",
@@ -1473,12 +1522,14 @@ test("ash_unittests") {
"//ui/gfx/geometry",
"//ui/gl:test_support",
"//ui/keyboard",
+ "//ui/keyboard:test_support",
"//ui/message_center",
"//ui/resources",
"//ui/strings",
"//ui/views",
"//ui/views:test_support",
"//ui/wm",
+ "//ui/wm/public",
"//url",
]
@@ -1500,6 +1551,31 @@ test("ash_unittests") {
]
}
+test("ash_perftests") {
+ sources = [
+ "perftests/ash_background_filter_blur_perftest.cc",
+ "test/ash_perftests.cc",
+ "test/ash_test_suite.cc",
+ "test/ash_test_suite.h",
+ ]
+
+ deps = [
+ ":test_support_without_content",
+ "//ash/public/cpp:ash_public_cpp",
+ "//base/test:test_support",
+ "//cc:test_support",
+ "//cc/base",
+ "//components/viz/test:test_support",
+ "//mojo/edk/embedder:headers",
+ "//testing/gtest",
+ "//testing/perf",
+ "//ui/aura",
+ "//ui/base",
+ "//ui/compositor:test_support",
+ "//ui/gl:test_support",
+ ]
+}
+
executable("ash_shell_with_content") {
testonly = true
sources = [
@@ -1523,3 +1599,210 @@ executable("ash_shell_with_content") {
"//ash/resources:ash_test_resources_200_percent",
]
}
+
+static_library("test_support_without_content") {
+ testonly = true
+ sources = [
+ "test/ash_test_environment_default.cc",
+ ]
+
+ public_deps = [
+ ":test_support_common",
+ ]
+
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//skia",
+ ]
+}
+
+static_library("test_support_with_content") {
+ testonly = true
+ sources = [
+ "test/ash_test_environment_content.cc",
+ "test/ash_test_environment_content.h",
+ "test/content/test_shell_content_state.cc",
+ "test/content/test_shell_content_state.h",
+ ]
+ configs += [ "//build/config:precompiled_headers" ]
+
+ public_deps = [
+ ":test_support_common",
+ "//ash:ash_with_content",
+ "//content/public/browser",
+ "//content/test:test_support",
+ "//skia",
+ ]
+}
+
+# Internal target consumed by |test_support_with_content| and
+# |test_support_without_content|. This target contains all the test support
+# files, with the exception of an implementation of AshTestEnvironment.
+# Consumers of ash should use one of |test_support_with_content| or
+# |test_support_without_content|.
+static_library("test_support_common") {
+ testonly = true
+ visibility = [ ":*" ]
+ sources = [
+ "app_list/test_app_list_view_presenter_impl.cc",
+ "app_list/test_app_list_view_presenter_impl.h",
+ "display/display_configuration_controller_test_api.cc",
+ "display/display_configuration_controller_test_api.h",
+ "display/mirror_window_test_api.cc",
+ "display/mirror_window_test_api.h",
+ "display/screen_orientation_controller_test_api.cc",
+ "display/screen_orientation_controller_test_api.h",
+ "highlighter/highlighter_controller_test_api.cc",
+ "highlighter/highlighter_controller_test_api.h",
+ "keyboard/test_keyboard_ui.cc",
+ "keyboard/test_keyboard_ui.h",
+ "laser/laser_pointer_controller_test_api.cc",
+ "laser/laser_pointer_controller_test_api.h",
+ "metrics/task_switch_time_tracker_test_api.cc",
+ "metrics/task_switch_time_tracker_test_api.h",
+ "metrics/user_metrics_recorder_test_api.cc",
+ "metrics/user_metrics_recorder_test_api.h",
+
+ # TODO(jamescook): Consider adding a //ash/public/cpp:test_support target.
+ "public/cpp/immersive/immersive_fullscreen_controller_test_api.cc",
+ "public/cpp/immersive/immersive_fullscreen_controller_test_api.h",
+ "rotator/screen_rotation_animator_test_api.cc",
+ "rotator/screen_rotation_animator_test_api.h",
+ "session/test_session_controller_client.cc",
+ "session/test_session_controller_client.h",
+ "shelf/overflow_bubble_view_test_api.cc",
+ "shelf/overflow_bubble_view_test_api.h",
+ "shelf/overflow_button_test_api.cc",
+ "shelf/overflow_button_test_api.h",
+ "shelf/shelf_button_pressed_metric_tracker_test_api.cc",
+ "shelf/shelf_button_pressed_metric_tracker_test_api.h",
+ "shelf/shelf_view_test_api.cc",
+ "shelf/shelf_view_test_api.h",
+ "shell/toplevel_window.cc",
+ "shell/toplevel_window.h",
+ "shell_test_api.cc",
+ "shell_test_api.h",
+ "system/cast/tray_cast_test_api.cc",
+ "system/cast/tray_cast_test_api.h",
+ "system/palette/test_palette_delegate.cc",
+ "system/palette/test_palette_delegate.h",
+ "system/status_area_widget_test_helper.cc",
+ "system/status_area_widget_test_helper.h",
+ "system/tray/system_tray_test_api.h",
+ "system/tray/test_system_tray_item.cc",
+ "system/tray/test_system_tray_item.h",
+ "test/ash_test_base.cc",
+ "test/ash_test_base.h",
+ "test/ash_test_environment.h",
+ "test/ash_test_helper.cc",
+ "test/ash_test_helper.h",
+ "test/ash_test_views_delegate.cc",
+ "test/ash_test_views_delegate.h",
+
+ # TODO(jamescook): Rename to TestChildModalWindow and move to //ash/wm
+ "test/child_modal_window.cc",
+ "test/child_modal_window.h",
+
+ # TODO(jamescook): Create //ash/accessibility for this and other code.
+ "test/test_accessibility_delegate.cc",
+ "test/test_accessibility_delegate.h",
+ "test/ui_controls_factory_ash.cc",
+ "test/ui_controls_factory_ash.h",
+ "test_screenshot_delegate.cc",
+ "test_screenshot_delegate.h",
+ "test_shell_delegate.cc",
+ "test_shell_delegate.h",
+ "wallpaper/test_wallpaper_delegate.cc",
+ "wallpaper/test_wallpaper_delegate.h",
+ "wallpaper/wallpaper_controller_test_api.cc",
+ "wallpaper/wallpaper_controller_test_api.h",
+ "wm/cursor_manager_test_api.cc",
+ "wm/cursor_manager_test_api.h",
+ "wm/lock_state_controller_test_api.cc",
+ "wm/lock_state_controller_test_api.h",
+ "wm/test_activation_delegate.cc",
+ "wm/test_activation_delegate.h",
+ "wm/test_overlay_delegate.cc",
+ "wm/test_overlay_delegate.h",
+ "wm/test_session_state_animator.cc",
+ "wm/test_session_state_animator.h",
+ "wm/workspace/workspace_event_handler_test_helper.cc",
+ "wm/workspace/workspace_event_handler_test_helper.h",
+ "wm/workspace_controller_test_api.cc",
+ "wm/workspace_controller_test_api.h",
+ ]
+ configs += [ "//build/config:precompiled_headers" ]
+
+ public_deps = [
+ "//ash",
+ "//testing/gtest",
+ "//third_party/WebKit/public:blink_headers",
+ "//ui/display:display_manager_test_api",
+ ]
+ deps = [
+ "//ash",
+ "//ash/mus:lib",
+ "//ash/public/cpp:ash_public_cpp",
+ "//ash/resources",
+ "//base",
+ "//base:i18n",
+ "//base/test:test_support",
+ "//chromeos",
+ "//components/prefs:test_support",
+ "//components/signin/core/account_id",
+ "//components/user_manager:user_manager",
+ "//device/bluetooth",
+ "//services/ui/public/cpp/input_devices",
+ "//services/ui/public/interfaces",
+ "//skia",
+ "//testing/gtest",
+ "//ui/accessibility",
+ "//ui/app_list:test_support",
+ "//ui/app_list/presenter",
+ "//ui/app_list/presenter:test_support",
+ "//ui/aura",
+ "//ui/aura:test_support",
+ "//ui/base:test_support",
+ "//ui/compositor:test_support",
+ "//ui/display",
+ "//ui/display/types",
+ "//ui/events:events_base",
+ "//ui/events:test_support",
+ "//ui/events/devices",
+ "//ui/gl",
+ "//ui/gl:test_support",
+ "//ui/keyboard",
+ "//ui/message_center",
+ "//ui/views",
+ "//ui/views:test_support",
+ "//ui/wm",
+ "//ui/wm/public",
+ ]
+
+ if (use_x11) {
+ deps += [ "//ui/gfx/x" ]
+ }
+}
+
+static_library("interactive_ui_test_support") {
+ testonly = true
+ configs += [ "//build/config:precompiled_headers" ]
+ public_deps = [
+ ":test_support_without_content",
+ "//ash",
+ ]
+ sources = [
+ "test/ash_interactive_ui_test_base.cc",
+ "test/ash_interactive_ui_test_base.h",
+ ]
+ deps = [
+ ":test_support_with_content",
+ "//base",
+ "//skia",
+ "//testing/gtest",
+ "//ui/aura",
+ "//ui/base",
+ "//ui/gl:test_support",
+ ]
+}
diff --git a/chromium/ash/autoclick/common/BUILD.gn b/chromium/ash/autoclick/common/BUILD.gn
index b33fab57dbd..5c46da1712e 100644
--- a/chromium/ash/autoclick/common/BUILD.gn
+++ b/chromium/ash/autoclick/common/BUILD.gn
@@ -15,6 +15,7 @@ source_set("autoclick") {
deps = [
"//base",
+ "//cc/paint",
"//skia",
"//ui/aura",
"//ui/compositor",
diff --git a/chromium/ash/mus/BUILD.gn b/chromium/ash/mus/BUILD.gn
index 1409ea739c5..f990801f643 100644
--- a/chromium/ash/mus/BUILD.gn
+++ b/chromium/ash/mus/BUILD.gn
@@ -32,8 +32,12 @@ source_set("lib") {
"context_menu_mus.h",
"disconnected_app_handler.cc",
"disconnected_app_handler.h",
+ "display_synchronizer.cc",
+ "display_synchronizer.h",
"drag_window_resizer.cc",
"drag_window_resizer.h",
+ "event_matcher_util.cc",
+ "event_matcher_util.h",
"frame/detached_title_area_renderer.cc",
"frame/detached_title_area_renderer.h",
"keyboard_ui_mus.cc",
@@ -46,8 +50,6 @@ source_set("lib") {
"non_client_frame_controller.h",
"property_util.cc",
"property_util.h",
- "screen_mus.cc",
- "screen_mus.h",
"shell_delegate_mus.cc",
"shell_delegate_mus.h",
"system_tray_delegate_mus.cc",
@@ -74,6 +76,7 @@ source_set("lib") {
"//components/user_manager",
"//components/wallpaper",
"//device/bluetooth",
+ "//services/ui/public/cpp/input_devices",
"//services/ui/public/interfaces/input_devices",
"//ui/app_list/presenter",
"//ui/app_list/presenter:mojom",
@@ -83,6 +86,7 @@ source_set("lib") {
"//ui/keyboard",
"//ui/keyboard:mojom",
"//ui/message_center",
+ "//ui/wm/public",
]
public_deps = [
@@ -192,8 +196,8 @@ source_set("unittests") {
sources = [
"app_launch_unittest.cc",
"bridge/shell_port_mash_test_api.h",
+ "display_synchronizer_unittest.cc",
"non_client_frame_controller_unittest.cc",
- "screen_mus_unittest.cc",
"top_level_window_factory_unittest.cc",
"window_manager_unittest.cc",
]
@@ -202,8 +206,8 @@ source_set("unittests") {
":lib",
":resources",
"//ash",
+ "//ash:test_support_without_content",
"//ash/public/cpp:ash_public_cpp",
- "//ash/test:test_support_without_content",
"//base",
"//base/test:test_config",
"//base/test:test_support",
diff --git a/chromium/ash/public/cpp/BUILD.gn b/chromium/ash/public/cpp/BUILD.gn
index 78e71442a6c..9b729dc1b16 100644
--- a/chromium/ash/public/cpp/BUILD.gn
+++ b/chromium/ash/public/cpp/BUILD.gn
@@ -5,23 +5,43 @@
# C++ headers and sources that can be used outside ash.
component("ash_public_cpp") {
sources = [
+ "app_types.h",
"ash_pref_names.cc",
"ash_pref_names.h",
"ash_public_export.h",
"ash_typography.cc",
"ash_typography.h",
"config.h",
+ "immersive/immersive_context.cc",
+ "immersive/immersive_context.h",
+ "immersive/immersive_focus_watcher.h",
+ "immersive/immersive_fullscreen_controller.cc",
+ "immersive/immersive_fullscreen_controller.h",
+ "immersive/immersive_fullscreen_controller_delegate.h",
+ "immersive/immersive_gesture_handler.h",
+ "immersive/immersive_handler_factory.cc",
+ "immersive/immersive_handler_factory.h",
+ "immersive/immersive_revealed_lock.cc",
+ "immersive/immersive_revealed_lock.h",
"mus_property_mirror_ash.cc",
"mus_property_mirror_ash.h",
+ "remote_shelf_item_delegate.cc",
+ "remote_shelf_item_delegate.h",
+ "scale_utility.cc",
+ "scale_utility.h",
"session_types.h",
"shelf_item.cc",
"shelf_item.h",
"shelf_item_delegate.cc",
"shelf_item_delegate.h",
+ "shelf_model.cc",
+ "shelf_model.h",
+ "shelf_model_observer.h",
"shelf_types.cc",
"shelf_types.h",
"shell_window_ids.cc",
"shell_window_ids.h",
+ "voice_interaction_state.h",
"window_pin_type.cc",
"window_pin_type.h",
"window_properties.cc",
@@ -53,6 +73,7 @@ component("ash_public_cpp") {
source_set("unit_tests") {
testonly = true
sources = [
+ "shelf_model_unittest.cc",
"shelf_struct_traits_unittest.cc",
]
diff --git a/chromium/ash/public/interfaces/BUILD.gn b/chromium/ash/public/interfaces/BUILD.gn
index 3784b9c7819..9c7c601564a 100644
--- a/chromium/ash/public/interfaces/BUILD.gn
+++ b/chromium/ash/public/interfaces/BUILD.gn
@@ -13,13 +13,18 @@ mojom("interfaces_internal") {
sources = [
"accelerator_controller.mojom",
+ "ash_display_controller.mojom",
"cast_config.mojom",
"constants.mojom",
"event_properties.mojom",
+ "ime_controller.mojom",
+ "ime_info.mojom",
"locale.mojom",
"lock_screen.mojom",
+ "login_user_info.mojom",
"media.mojom",
"new_window.mojom",
+ "night_light_controller.mojom",
"session_controller.mojom",
"shelf.mojom",
"shutdown.mojom",
@@ -27,6 +32,7 @@ mojom("interfaces_internal") {
"touch_view.mojom",
"tray_action.mojom",
"update.mojom",
+ "user_info.mojom",
"volume.mojom",
"vpn_list.mojom",
"wallpaper.mojom",
@@ -35,6 +41,7 @@ mojom("interfaces_internal") {
]
public_deps = [
+ "//components/proximity_auth/public/interfaces",
"//components/signin/public/interfaces",
"//mojo/common:common_custom_types",
"//skia/public/interfaces",
diff --git a/chromium/ash/public/interfaces/ash_display_controller.mojom b/chromium/ash/public/interfaces/ash_display_controller.mojom
new file mode 100644
index 00000000000..b94f13e2e23
--- /dev/null
+++ b/chromium/ash/public/interfaces/ash_display_controller.mojom
@@ -0,0 +1,18 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module ash.mojom;
+
+// Allows configuring various display related state.
+interface AshDisplayController {
+ // ============================ Virtual Terminal ============================
+
+ // Take control of all display output. This is called when switching from the
+ // virtual terminal back to Chrome in response to a dbus message.
+ TakeDisplayControl() => (bool status);
+
+ // Relinquish control of all display output. This is called when switching
+ // from Chrome to the virtual terminal in response to a dbus message.
+ RelinquishDisplayControl() => (bool status);
+};
diff --git a/chromium/ash/public/interfaces/ime_controller.mojom b/chromium/ash/public/interfaces/ime_controller.mojom
new file mode 100644
index 00000000000..8bccdf5f106
--- /dev/null
+++ b/chromium/ash/public/interfaces/ime_controller.mojom
@@ -0,0 +1,51 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module ash.mojom;
+
+import "ash/public/interfaces/ime_info.mojom";
+
+// Interface for ash client (e.g. Chrome) to send input method info to ash.
+interface ImeController {
+ // Sets the client interface.
+ SetClient(ImeControllerClient client);
+
+ // Updates the cached IME information and refreshes the IME menus.
+ // |current_ime_id| is empty when there is no active IME yet.
+ RefreshIme(string current_ime_id,
+ array<ImeInfo> available_imes,
+ array<ImeMenuItem> menu_items);
+
+ // Shows an icon in the IME menu indicating that IMEs are controlled by device
+ // policy.
+ SetImesManagedByPolicy(bool managed);
+
+ // Shows the IME menu on the shelf instead of inside the system tray menu.
+ // Users with multiple IMEs that have multiple configurable properties (e.g.
+ // some Chinese IMEs) prefer this to keeping the IME menu under the primary
+ // system tray menu.
+ ShowImeMenuOnShelf(bool show);
+};
+
+// Interface for ash to send input method requests to its client (e.g. Chrome).
+interface ImeControllerClient {
+ // Switches to the next input method. Does nothing if only one input method
+ // is installed.
+ SwitchToNextIme();
+
+ // Switches to the previous input method. Does nothing if only one input
+ // method is installed.
+ SwitchToPreviousIme();
+
+ // Switches to an input method by |id|. Does nothing if the input method is
+ // not installed. The ID is usually the output of a call like
+ // chromeos::extension_ime_util::GetInputMethodIDByEngineID("xkb:jp::jpn"),
+ // see that function for details. Shows a bubble with the input method short
+ // name when |show_message| is true.
+ SwitchImeById(string id, bool show_message);
+
+ // Activates an input method menu item. The |key| must be a value from the
+ // ImeMenuItems provided via RefreshIme. Does nothing if the |key| is invalid.
+ ActivateImeMenuItem(string key);
+};
diff --git a/chromium/ash/public/interfaces/ime_info.mojom b/chromium/ash/public/interfaces/ime_info.mojom
new file mode 100644
index 00000000000..011fd45e01e
--- /dev/null
+++ b/chromium/ash/public/interfaces/ime_info.mojom
@@ -0,0 +1,40 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module ash.mojom;
+
+import "mojo/common/string16.mojom";
+
+// Metadata about an installed input method.
+struct ImeInfo {
+ // True if the IME is a third-party extension.
+ bool third_party;
+
+ // ID that identifies the IME (e.g., "t:latn-post", "pinyin", "hangul").
+ string id;
+
+ // Long name of the IME, which is used as the user-visible name.
+ mojo.common.mojom.String16 name;
+
+ // Medium name of the IME, which is the same as the short name in most cases.
+ mojo.common.mojom.String16 medium_name;
+
+ // UI indicator for the IME (e.g., "US"). If the IME has no indicator, uses
+ // the first two characters in its preferred keyboard layout or language code
+ // (e.g., "ko", "ja", "en-US").
+ mojo.common.mojom.String16 short_name;
+};
+
+// A menu item that sets an IME configuration property.
+struct ImeMenuItem {
+ // True if the item is selected / enabled.
+ bool checked;
+
+ // The key which identifies the property controlled by the menu item, e.g.
+ // "InputMode.HalfWidthKatakana".
+ string key;
+
+ // The item label, e.g. "Switch to full punctuation mode" or "Hiragana".
+ mojo.common.mojom.String16 label;
+};
diff --git a/chromium/ash/public/interfaces/lock_screen.mojom b/chromium/ash/public/interfaces/lock_screen.mojom
index d29b331e358..4a91f77776e 100644
--- a/chromium/ash/public/interfaces/lock_screen.mojom
+++ b/chromium/ash/public/interfaces/lock_screen.mojom
@@ -4,13 +4,20 @@
module ash.mojom;
+import "ash/public/interfaces/login_user_info.mojom";
+import "components/proximity_auth/public/interfaces/auth_type.mojom";
import "components/signin/public/interfaces/account_id.mojom";
+import "mojo/common/string16.mojom";
// Allows clients (e.g. Chrome browser) to control the ash lock screen.
interface LockScreen {
// Sets the client interface.
SetClient(LockScreenClient client);
+ // Displays the lock screen. |did_show| is true iff the lock UI was
+ // successfully displayed.
+ ShowLockScreen() => (bool did_show);
+
// Requests to show error message in the ash lock screen.
// TODO(xiaoyinh): login_attempts is probabaly not needed from chrome,
// remove it when we start to count the login attempts in ash lock screen.
@@ -25,6 +32,34 @@ interface LockScreen {
// Requests to close any displayed error messages in ash lock screen.
ClearErrors();
+
+ // Requests to show the custom icon in the user pod.
+ // |account_id|: The account id of the user in the user pod.
+ // |icon|: Information regarding the icon.
+ ShowUserPodCustomIcon(signin.mojom.AccountId account_id,
+ UserPodCustomIconOptions icon);
+
+ // Requests to hide the custom icon in the user pod.
+ // |account_id|: The account id of the user in the user pod.
+ HideUserPodCustomIcon(signin.mojom.AccountId account_id);
+
+ // Requests to set the authentication type.
+ // |account_id|: The account id of the user in the user pod.
+ // |auth_type|: Authentication type.
+ // |initial_value|: A message shown in the password field of the user pod.
+ SetAuthType(signin.mojom.AccountId account_id,
+ proximity_auth.mojom.AuthType auth_type,
+ mojo.common.mojom.String16 initial_value);
+
+ // Requests to load users in the lock screen.
+ // |users|: A list of users who can unlock the device.
+ // |show_guest|: Whether to show guest session button.
+ LoadUsers(array<LoginUserInfo> users, bool show_guest);
+
+ // Notification if pin is enabled or disabled for the given user.
+ // |account_id|: The account id of the user in the user pod.
+ // |is_enabled|: True if pin unlock is enabled.
+ SetPinEnabledForUser(signin.mojom.AccountId account_id, bool is_enabled);
};
// Allows ash lock screen to control a client (e.g. Chrome browser). Requests
@@ -38,7 +73,36 @@ interface LockScreenClient {
// |account_id|: The account id of the user we are authenticating.
// |hashed_password|: The hashed password of the user.
// |authenticated_by_pin|: True if we are using pin to authenticate.
+ //
+ // The result will be set to true if auth was successful, false if not.
AuthenticateUser(signin.mojom.AccountId account_id,
string hashed_password,
- bool authenticated_by_pin);
+ bool authenticated_by_pin) => (bool auth_success);
+
+ // Request to attempt easy unlock in chrome.
+ // |account_id|: The account id of the user we are authenticating.
+ AttemptUnlock(signin.mojom.AccountId account_id);
+
+ // Request to hard lock the user pod.
+ // |account_id|: The account id of the user in the user pod.
+ HardlockPod(signin.mojom.AccountId account_id);
+
+ // Record clicks on the lock icon in the user pod.
+ // |account_id|: The account id of the user in the user pod.
+ RecordClickOnLockIcon(signin.mojom.AccountId account_id);
+
+ // Focus user pod of user with |account_id|.
+ OnFocusPod(signin.mojom.AccountId account_id);
+
+ // Notify that no user pod is focused.
+ OnNoPodFocused();
+
+ // Load wallpaper of user with |account_id|.
+ LoadWallpaper(signin.mojom.AccountId account_id);
+
+ // Sign out current user.
+ SignOutUser();
+
+ // User with |account_id| has reached maximum incorrect password attempts.
+ OnMaxIncorrectPasswordAttempted(signin.mojom.AccountId account_id);
};
diff --git a/chromium/ash/public/interfaces/login_user_info.mojom b/chromium/ash/public/interfaces/login_user_info.mojom
new file mode 100644
index 00000000000..36e1daa5019
--- /dev/null
+++ b/chromium/ash/public/interfaces/login_user_info.mojom
@@ -0,0 +1,55 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module ash.mojom;
+
+import "ash/public/interfaces/user_info.mojom";
+import "components/proximity_auth/public/interfaces/auth_type.mojom";
+import "mojo/common/string16.mojom";
+
+// Supported multi-profile user behavior values.
+// Keep in sync with the enum in md_user_pod_row.js and user_pod_row.js
+enum MultiProfileUserBehavior {
+ UNRESTRICTED = 0,
+ PRIMARY_ONLY = 1,
+ NOT_ALLOWED = 2,
+ OWNER_PRIMARY_ONLY = 3,
+};
+
+// Information about the custom icon in the user pod.
+struct UserPodCustomIconOptions {
+ string id;
+ mojo.common.mojom.String16 tooltip;
+ bool autoshow_tooltip;
+ mojo.common.mojom.String16 aria_label;
+ bool hardlock_on_click;
+ bool is_trial_run;
+};
+
+// Info about a user in login/lock screen.
+struct LoginUserInfo {
+ // User's basic information including account id, email, avatar etc.
+ UserInfo basic_user_info;
+
+ // What method the user can use to sign in.
+ proximity_auth.mojom.AuthType auth_type;
+
+ // True if this user has already signed in.
+ bool is_signed_in;
+
+ // True if this user is the device owner.
+ bool is_device_owner;
+
+ // True if fingerprint unlock is allowed for this user.
+ bool allow_fingerprint_unlock;
+
+ // True if multi-profiles sign in is allowed for this user.
+ bool is_multiprofile_allowed;
+
+ // Enforced policy for multi-profiles sign in.
+ MultiProfileUserBehavior multiprofile_policy;
+
+ // True if this user can be removed.
+ bool can_remove;
+};
diff --git a/chromium/ash/public/interfaces/night_light_controller.mojom b/chromium/ash/public/interfaces/night_light_controller.mojom
new file mode 100644
index 00000000000..c1bc8174551
--- /dev/null
+++ b/chromium/ash/public/interfaces/night_light_controller.mojom
@@ -0,0 +1,55 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module ash.mojom;
+
+// Represents a geolocation position fix. It's "simple" because it doesn't
+// expose all the parameters of the position interface as defined by the
+// Geolocation API Specification:
+// (https://dev.w3.org/geo/api/spec-source.html#position_interface).
+// The NightLightController is only interested in valid latitude and longitude.
+// It also doesn't require any specific accuracy. The more accurate the
+// positions, the more accurate sunset and sunrise times calculations. However,
+// an IP-based geoposition is considered good enough.
+struct SimpleGeoposition {
+ double latitude;
+ double longitude;
+};
+
+// Used by a client (e.g. Chrome) to provide the current user's geoposition.
+interface NightLightController {
+ // These values are written to logs. New enum values can be added, but
+ // existing enums must never be renumbered or deleted and reused.
+ enum ScheduleType {
+ // Automatic toggling of NightLight is turned off.
+ kNone = 0,
+
+ // Turned automatically on at the user's local sunset time, and off at the
+ // user's local sunrise time.
+ kSunsetToSunrise = 1,
+
+ // Toggled automatically based on the custom set start and end times
+ // selected by the user from the system settings.
+ kCustom = 2,
+
+ // Must be the last item, used for UMA histograms.
+ kLast = kCustom,
+ };
+
+ // Sets the client that will be notified of changes in the Night Light
+ // schedule type.
+ SetClient(NightLightClient client);
+
+ // Provides the NightLightController with the user's geoposition so that it
+ // can calculate the sunset and sunrise times. This should only be called when
+ // the schedule type is set to "Sunset to Sunrise".
+ SetCurrentGeoposition(SimpleGeoposition position);
+};
+
+// Used by ash to notify a client (e.g. Chrome) of the changes in the Night
+// Light schedule type.
+interface NightLightClient {
+ // Notifies the client with the new schedule type whenever it changes.
+ OnScheduleTypeChanged(NightLightController.ScheduleType new_type);
+}; \ No newline at end of file
diff --git a/chromium/ash/public/interfaces/session_controller.mojom b/chromium/ash/public/interfaces/session_controller.mojom
index 246b2ba93c3..e64153de68f 100644
--- a/chromium/ash/public/interfaces/session_controller.mojom
+++ b/chromium/ash/public/interfaces/session_controller.mojom
@@ -4,8 +4,9 @@
module ash.mojom;
+import "ash/public/interfaces/user_info.mojom";
import "components/signin/public/interfaces/account_id.mojom";
-import "ui/gfx/image/mojo/image.mojom";
+import "mojo/common/time.mojom";
// Matches session_manager::SessionState.
enum SessionState {
@@ -37,34 +38,6 @@ enum SessionState {
LOGIN_SECONDARY,
};
-// Matches user_manager::UserType.
-enum UserType {
- // Regular user, has a user name and password.
- REGULAR,
-
- // Guest user, logs in without authentication.
- GUEST,
-
- // Public account user, logs in without authentication. Available only if
- // enabled through policy.
- PUBLIC_ACCOUNT,
-
- // Supervised user, logs in only with local authentication.
- SUPERVISED,
-
- // Kiosk app robot, logs in without authentication.
- KIOSK,
-
- // Child user, with supervised options.
- CHILD,
-
- // Android app in kiosk mode, logs in without authentication.
- ARC_KIOSK,
-
- // Active Directory user. Authenticates against Active Directory server.
- ACTIVE_DIRECTORY,
-};
-
// Matches ash::CycleUserDirection.
enum CycleUserDirection {
NEXT, // Cycle to the next user.
@@ -80,11 +53,9 @@ struct UserSession {
// and incremented by one for each subsequent user session.
uint32 session_id;
- UserType type;
- signin.mojom.AccountId account_id;
- string display_name;
- string display_email;
- gfx.mojom.ImageSkia avatar;
+ // Contains general user information state, like the account id, display name,
+ // and avatar.
+ UserInfo user_info;
// For supervised users only, the email address of the custodian account.
// Empty for non-supervised users. Available after profile is loaded.
@@ -152,6 +123,11 @@ interface SessionController {
// active user session.
SetUserSessionOrder(array<uint32> user_session_ids);
+ // Prepares ash for lock screen. Currently this ensures the current active
+ // window could not be used to mimic the lock screen. Lock screen is created
+ // after this call returns.
+ PrepareForLock() => ();
+
// Runs the pre-lock animation to start locking ash. When the call returns,
// |locked| == true means that the ash post-lock animation is finished and ash
// is fully locked. Otherwise |locked| is false, which means something is
@@ -171,6 +147,15 @@ interface SessionController {
// Notifies that chrome is terminating.
NotifyChromeTerminating();
+
+ // Adds a countdown timer to the system tray menu and creates or updates a
+ // notification saying the session length is limited (e.g. a public session in
+ // a library). Setting |length_limit| to zero removes the notification.
+ // NOTE: Chrome enforces the limit, not ash. Ash could enforce it if local
+ // state prefs and user activity monitoring were available under mustash.
+ // http://crbug.com/729808
+ SetSessionLengthLimit(mojo.common.mojom.TimeDelta length_limit,
+ mojo.common.mojom.TimeTicks start_time);
};
// Interface for ash to request session service from its client (e.g. Chrome).
@@ -184,4 +169,7 @@ interface SessionControllerClient {
// Switch the active user to the next or previous user.
CycleActiveUser(CycleUserDirection direction);
+
+ // Show the multi-profile login UI to add another user to this session.
+ ShowMultiProfileLogin();
};
diff --git a/chromium/ash/public/interfaces/session_controller.typemap b/chromium/ash/public/interfaces/session_controller.typemap
index 67592a272f2..013e443babd 100644
--- a/chromium/ash/public/interfaces/session_controller.typemap
+++ b/chromium/ash/public/interfaces/session_controller.typemap
@@ -6,16 +6,13 @@ mojom = "//ash/public/interfaces/session_controller.mojom"
public_headers = [
"//ash/public/cpp/session_types.h",
"//components/session_manager/session_manager_types.h",
- "//components/user_manager/user_type.h",
]
traits_headers = [ "//ash/public/interfaces/session_controller_traits.h" ]
public_deps = [
"//components/session_manager:base",
- "//components/user_manager",
]
type_mappings = [
"ash.mojom.AddUserSessionPolicy=ash::AddUserSessionPolicy",
"ash.mojom.CycleUserDirection=ash::CycleUserDirection",
"ash.mojom.SessionState=session_manager::SessionState",
- "ash.mojom.UserType=user_manager::UserType",
]
diff --git a/chromium/ash/public/interfaces/shelf.mojom b/chromium/ash/public/interfaces/shelf.mojom
index faaeddf3bd8..7382716c269 100644
--- a/chromium/ash/public/interfaces/shelf.mojom
+++ b/chromium/ash/public/interfaces/shelf.mojom
@@ -61,23 +61,49 @@ interface ShelfController {
// Observers are immediately notified of the current shelf states when added.
AddObserver(associated ShelfObserver observer);
+ // Note: ShelfObservers are not notified of ShelfModel changes made by the
+ // ShelfItem functions below. Chrome is the solitary ShelfObserver and client
+ // of these functions, so notifications would be cyclical and problematic.
+
+ // Add |item| at |index|, which is clamped to be greater than 0 (AppList's
+ // index) and not exceeding the item count. Use a negative |index| to append.
+ AddShelfItem(int32 index, ShelfItem item);
+ // Remove the item with |id|. Bails if |id| is unknown or for the AppList.
+ RemoveShelfItem(ShelfID id);
+ // Moves item with |id| to |index|, which is in terms of the model after the
+ // item is removed, and is clamped to be greater than 0 (AppList's index) and
+ // not exceeding the item count. Bails if |id| is unknown or for the AppList.
+ MoveShelfItem(ShelfID id, int32 target_index);
+ // Updates |item| via ShelfID. Bails if the id is unknown or for the AppList.
+ UpdateShelfItem(ShelfItem item);
+ // Sets the |delegate| for the item with |id|.
+ SetShelfItemDelegate(ShelfID id, ShelfItemDelegate delegate);
+
// Set the shelf alignment and auto-hide behavior. See Shelf for details.
+ // TODO(jamescook): Eliminate all these methods and use the ash pref service
+ // to observe and to set prefs. http://crbug.com/723085
SetAlignment(ShelfAlignment alignment, int64 display_id);
SetAutoHideBehavior(ShelfAutoHideBehavior auto_hide, int64 display_id);
-
- // Pin and unpin items on the shelf, or update shelf item images.
- PinItem(ShelfItem item, associated ShelfItemDelegate delegate);
- UnpinItem(string app_id);
- SetItemImage(string app_id, skia.mojom.Bitmap image);
};
-// ShelfObserver is notified on shelf changes; used to persist profile settings.
+// A Shelf observer, used to persist profile settings and cache a ShelfModel.
interface ShelfObserver {
// TODO(jamescook): Eliminate all these methods and use the ash pref service
// to observe and to set prefs. http://crbug.com/723085
OnShelfInitialized(int64 display_id);
OnAlignmentChanged(ShelfAlignment alignment, int64 display_id);
OnAutoHideBehaviorChanged(ShelfAutoHideBehavior auto_hide, int64 display_id);
+
+ // Called when the |item| has been added at |index|.
+ OnShelfItemAdded(int32 index, ShelfItem item);
+ // Called when the item with |id| has been removed.
+ OnShelfItemRemoved(ShelfID id);
+ // Called when the item with |id| has been moved to |index|.
+ OnShelfItemMoved(ShelfID id, int32 index);
+ // Called when the |item| with matching ShelfID has been updated.
+ OnShelfItemUpdated(ShelfItem item);
+ // Called when |delegate| for the item with |id| has been changed.
+ OnShelfItemDelegateChanged(ShelfID id, ShelfItemDelegate delegate);
};
// ShelfItemDelegate handles shelf item selection, menu command execution, etc.
@@ -129,12 +155,12 @@ struct ShelfID {
// ShelfItems are used to populate the shelf.
// This structure matches ash::ShelfItem.
struct ShelfItem {
- ShelfItemType type; // The type of the shelf item.
- skia.mojom.Bitmap image; // An icon image Bitmap, shown on the shelf.
- ShelfItemStatus status; // The running/closed/etc. status of the item.
- ShelfID shelf_id; // The id for the shelf item and its windows.
+ ShelfItemType type; // The type of the shelf item.
+ skia.mojom.Bitmap? image; // An icon image Bitmap, shown on the shelf.
+ ShelfItemStatus status; // The running/closed/etc. status of the item.
+ ShelfID shelf_id; // The id for the shelf item and its windows.
mojo.common.mojom.String16 title; // The title to display for tooltips, etc.
- bool shows_tooltip; // Whether the tooltip should be shown on hover.
- bool pinned_by_policy; // Whether the item is pinned by policy preferences,
- // the user cannot un-pin these items.
+ bool shows_tooltip; // Whether the tooltip should be shown on hover.
+ bool pinned_by_policy; // Whether the item is pinned by policy prefs, the
+ // user cannot un-pin these items.
};
diff --git a/chromium/ash/public/interfaces/shelf.typemap b/chromium/ash/public/interfaces/shelf.typemap
index 1e8afb47f98..e3bd00f08b1 100644
--- a/chromium/ash/public/interfaces/shelf.typemap
+++ b/chromium/ash/public/interfaces/shelf.typemap
@@ -19,6 +19,7 @@ type_mappings = [
"ash.mojom.ShelfAction=ash::ShelfAction",
"ash.mojom.ShelfAlignment=ash::ShelfAlignment",
"ash.mojom.ShelfAutoHideBehavior=ash::ShelfAutoHideBehavior",
+ "ash.mojom.ShelfID=ash::ShelfID",
"ash.mojom.ShelfItem=ash::ShelfItem",
"ash.mojom.ShelfItemStatus=ash::ShelfItemStatus",
"ash.mojom.ShelfItemType=ash::ShelfItemType",
diff --git a/chromium/ash/public/interfaces/system_tray.mojom b/chromium/ash/public/interfaces/system_tray.mojom
index 28aafae0092..a52d63ecf26 100644
--- a/chromium/ash/public/interfaces/system_tray.mojom
+++ b/chromium/ash/public/interfaces/system_tray.mojom
@@ -24,9 +24,14 @@ interface SystemTray {
SetUse24HourClock(bool use_24_hour);
// Creates or updates an item in the system tray menu with information about
- // enterprise management. The item appears if |enterprise_domain| is not empty
- // or |active_directory_managed| is true.
- SetEnterpriseDomain(string enterprise_domain, bool active_directory_managed);
+ // enterprise management. The item appears if |enterprise_display_domain| is
+ // not empty or |active_directory_managed| is true.
+ SetEnterpriseDisplayDomain(string enterprise_display_domain,
+ bool active_directory_managed);
+
+ // Shows or hides an item in the system tray indicating that performance
+ // tracing is running.
+ SetPerformanceTracingIconVisible(bool visible);
// Shows an icon in the system tray indicating that a software update is
// available. Once shown the icon persists until reboot. |severity| and
diff --git a/chromium/ash/public/interfaces/typemaps.gni b/chromium/ash/public/interfaces/typemaps.gni
index 53027c183c3..ac3500d5146 100644
--- a/chromium/ash/public/interfaces/typemaps.gni
+++ b/chromium/ash/public/interfaces/typemaps.gni
@@ -5,5 +5,6 @@
typemaps = [
"//ash/public/interfaces/session_controller.typemap",
"//ash/public/interfaces/shelf.typemap",
+ "//ash/public/interfaces/user_info.typemap",
"//ash/public/interfaces/wallpaper.typemap",
]
diff --git a/chromium/ash/public/interfaces/user_info.mojom b/chromium/ash/public/interfaces/user_info.mojom
new file mode 100644
index 00000000000..5a86856132b
--- /dev/null
+++ b/chromium/ash/public/interfaces/user_info.mojom
@@ -0,0 +1,50 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module ash.mojom;
+
+import "components/signin/public/interfaces/account_id.mojom";
+import "ui/gfx/image/mojo/image.mojom";
+
+// Matches user_manager::UserType.
+enum UserType {
+ // Regular user, has a user name and password.
+ REGULAR,
+
+ // Guest user, logs in without authentication.
+ GUEST,
+
+ // Public account user, logs in without authentication. Available only if
+ // enabled through policy.
+ PUBLIC_ACCOUNT,
+
+ // Supervised user, logs in only with local authentication.
+ SUPERVISED,
+
+ // Kiosk app robot, logs in without authentication.
+ KIOSK,
+
+ // Child user, with supervised options.
+ CHILD,
+
+ // Android app in kiosk mode, logs in without authentication.
+ ARC_KIOSK,
+
+ // Active Directory user. Authenticates against Active Directory server.
+ ACTIVE_DIRECTORY,
+};
+
+
+// Info about a user. May be sent repeatedly for a single user because
+// individual fields may change (e.g. the avatar image or custodians).
+struct UserInfo {
+ UserType type;
+ signin.mojom.AccountId account_id;
+ string display_name;
+ string display_email;
+ gfx.mojom.ImageSkia avatar;
+ // True if this user has a newly created profile (first time login on the
+ // device)
+ bool is_new_profile;
+};
diff --git a/chromium/ash/public/interfaces/user_info.typemap b/chromium/ash/public/interfaces/user_info.typemap
new file mode 100644
index 00000000000..5a0e9376f8e
--- /dev/null
+++ b/chromium/ash/public/interfaces/user_info.typemap
@@ -0,0 +1,11 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+mojom = "//ash/public/interfaces/user_info.mojom"
+public_headers = [ "//components/user_manager/user_type.h" ]
+traits_headers = [ "//ash/public/interfaces/user_info_traits.h" ]
+public_deps = [
+ "//components/user_manager",
+]
+type_mappings = [ "ash.mojom.UserType=user_manager::UserType" ]
diff --git a/chromium/ash/public/interfaces/wallpaper.mojom b/chromium/ash/public/interfaces/wallpaper.mojom
index 7215c319a52..d368fe9a2be 100644
--- a/chromium/ash/public/interfaces/wallpaper.mojom
+++ b/chromium/ash/public/interfaces/wallpaper.mojom
@@ -4,21 +4,62 @@
module ash.mojom;
+import "mojo/common/time.mojom";
import "skia/public/interfaces/bitmap.mojom";
// These values match wallpaper::WallpaperLayout.
-enum WallpaperLayout { CENTER, CENTER_CROPPED, STRETCH, TILE, };
+enum WallpaperLayout {
+ CENTER,
+ CENTER_CROPPED,
+ STRETCH,
+ TILE,
+};
+
+// These values match wallpaper::WallpaperType.
+enum WallpaperType {
+ DAILY,
+ CUSTOMIZED,
+ DEFAULT,
+ ONLINE,
+ POLICY,
+ THIRDPARTY,
+ DEVICE,
+};
+
+// This corresponds to wallpaper::WallpaperInfo.
+struct WallpaperInfo {
+ string location;
+ WallpaperLayout layout;
+ WallpaperType type;
+ mojo.common.mojom.Time date;
+};
// Used by Chrome to set the wallpaper displayed by ash.
interface WallpaperController {
+ // Calling this method triggers an initial notification of the wallpaper
+ // state. Observers are automatically removed as their connections are closed.
+ AddObserver(associated WallpaperObserver observer);
+
// Set the wallpaper picker interface, to let ash trigger Chrome's picker.
SetWallpaperPicker(WallpaperPicker picker);
- // Set the wallpaper bitmap and layout used for the ash desktop background.
+ // Set the wallpaper bitmap and info used for the ash desktop background.
// A null or empty |wallpaper| bitmap is treated as a no-op.
// TODO(crbug.com/655875): Optimize ash wallpaper transport; avoid sending
// large bitmaps over Mojo; use shared memory like BitmapUploader, etc.
- SetWallpaper(skia.mojom.Bitmap? wallpaper, WallpaperLayout layout);
+ SetWallpaper(skia.mojom.Bitmap? wallpaper, WallpaperInfo info);
+
+ // Runs to get wallpaper prominent colors.
+ GetWallpaperColors() => (array<uint32> prominent_colors);
+};
+
+// Used to listen for wallpaper state changed.
+interface WallpaperObserver {
+ // Called when the colors extracted from the current wallpaper change. May
+ // be called as a side effect of changing the wallpaper on the
+ // WallpaperController, e.g. WallpaperController::SetWallpaperImage().
+ // Colors are ordered and are referenced in wallpaper::ColorProfileType.
+ OnWallpaperColorsChanged(array<uint32> prominent_colors);
};
// Used by ash to trigger Chrome's wallpaper picker functionality.
diff --git a/chromium/ash/public/interfaces/wallpaper.typemap b/chromium/ash/public/interfaces/wallpaper.typemap
index 6b83004e5fe..af94c11bedb 100644
--- a/chromium/ash/public/interfaces/wallpaper.typemap
+++ b/chromium/ash/public/interfaces/wallpaper.typemap
@@ -3,6 +3,13 @@
# found in the LICENSE file.
mojom = "//ash/public/interfaces/wallpaper.mojom"
-public_headers = [ "//components/wallpaper/wallpaper_layout.h" ]
-traits_headers = [ "//ash/public/interfaces/wallpaper_struct_traits.h" ]
-type_mappings = [ "ash.mojom.WallpaperLayout=wallpaper::WallpaperLayout" ]
+public_headers = [ "//components/wallpaper/wallpaper_info.h" ]
+traits_headers = [ "//ash/public/cpp/wallpaper_struct_traits.h" ]
+sources = [
+ "//ash/public/cpp/wallpaper_struct_traits.cc",
+]
+type_mappings = [
+ "ash.mojom.WallpaperLayout=wallpaper::WallpaperLayout",
+ "ash.mojom.WallpaperType=wallpaper::WallpaperType",
+ "ash.mojom.WallpaperInfo=wallpaper::WallpaperInfo",
+]
diff --git a/chromium/ash/resources/vector_icons/BUILD.gn b/chromium/ash/resources/vector_icons/BUILD.gn
index 73f4b32595e..d0a2c4e7bb0 100644
--- a/chromium/ash/resources/vector_icons/BUILD.gn
+++ b/chromium/ash/resources/vector_icons/BUILD.gn
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import("//ui/vector_icons/vector_icons.gni")
+import("//components/vector_icons/vector_icons.gni")
aggregate_vector_icons("ash_vector_icons") {
icon_directory = "."
@@ -20,6 +20,12 @@ aggregate_vector_icons("ash_vector_icons") {
"ime_menu_on_screen_keyboard.icon",
"ime_menu_write.1x.icon",
"ime_menu_write.icon",
+ "lock_screen_arrow.1x.icon",
+ "lock_screen_arrow.icon",
+ "lock_screen_backspace.1x.icon",
+ "lock_screen_backspace.icon",
+ "lock_screen_dropdown.1x.icon",
+ "lock_screen_dropdown.icon",
"network_badge_add_other.1x.icon",
"network_badge_add_other.icon",
"network_badge_captive_portal.1x.icon",
@@ -70,6 +76,8 @@ aggregate_vector_icons("ash_vector_icons") {
"palette_mode_laser_pointer.icon",
"palette_mode_magnify.1x.icon",
"palette_mode_magnify.icon",
+ "palette_mode_metalayer.1x.icon",
+ "palette_mode_metalayer.icon",
"palette_tray_icon_capture_region.1x.icon",
"palette_tray_icon_capture_region.icon",
"palette_tray_icon_default.1x.icon",
@@ -78,6 +86,10 @@ aggregate_vector_icons("ash_vector_icons") {
"palette_tray_icon_laser_pointer.icon",
"palette_tray_icon_magnify.1x.icon",
"palette_tray_icon_magnify.icon",
+ "palette_tray_icon_metalayer.1x.icon",
+ "palette_tray_icon_metalayer.icon",
+ "shelf_back.1x.icon",
+ "shelf_back.icon",
"shelf_keyboard.1x.icon",
"shelf_keyboard.icon",
"shelf_logout.1x.icon",
@@ -146,6 +158,8 @@ aggregate_vector_icons("ash_vector_icons") {
"system_menu_info.icon",
"system_menu_keyboard.1x.icon",
"system_menu_keyboard.icon",
+ "system_menu_keyboard_brightness.1x.icon",
+ "system_menu_keyboard_brightness.icon",
"system_menu_lock.1x.icon",
"system_menu_lock.icon",
"system_menu_mouse.1x.icon",
@@ -195,8 +209,6 @@ aggregate_vector_icons("ash_vector_icons") {
"system_menu_volume_mute.icon",
"system_tray_accessibility.1x.icon",
"system_tray_accessibility.icon",
- "system_tray_battery.1x.icon",
- "system_tray_battery.icon",
"system_tray_battery_alert.1x.icon",
"system_tray_battery_alert.icon",
"system_tray_battery_bolt.1x.icon",
@@ -217,6 +229,8 @@ aggregate_vector_icons("ash_vector_icons") {
"system_tray_rotation_lock_auto.icon",
"system_tray_rotation_lock_locked.1x.icon",
"system_tray_rotation_lock_locked.icon",
+ "system_tray_screen_share.1x.icon",
+ "system_tray_screen_share.icon",
"system_tray_tracing.1x.icon",
"system_tray_tracing.icon",
"system_tray_update.1x.icon",
@@ -226,6 +240,8 @@ aggregate_vector_icons("ash_vector_icons") {
"touch_calibration_complete_check.1x.icon",
"touch_calibration_complete_check.icon",
"touch_calibration_hand.icon",
+ "tray_action_new_lock_screen_note.1x.icon",
+ "tray_action_new_lock_screen_note.icon",
"window_control_back.1x.icon",
"window_control_back.icon",
"window_control_close.1x.icon",
diff --git a/chromium/ash/shared/BUILD.gn b/chromium/ash/shared/BUILD.gn
deleted file mode 100644
index 3bfae4f1a6c..00000000000
--- a/chromium/ash/shared/BUILD.gn
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-source_set("app_types") {
- sources = [
- "app_types.h",
- ]
-}
diff --git a/chromium/ash/test/BUILD.gn b/chromium/ash/test/BUILD.gn
deleted file mode 100644
index caa015f49f8..00000000000
--- a/chromium/ash/test/BUILD.gn
+++ /dev/null
@@ -1,209 +0,0 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import("//build/config/ui.gni")
-
-static_library("test_support_without_content") {
- testonly = true
- sources = [
- "ash_test_environment_default.cc",
- ]
-
- public_deps = [
- ":test_support_common",
- ]
-
- deps = [
- "//base",
- "//base/test:test_support",
- "//skia",
- ]
-}
-
-static_library("test_support_with_content") {
- testonly = true
- sources = [
- "ash_test_environment_content.cc",
- "ash_test_environment_content.h",
- "content/test_shell_content_state.cc",
- "content/test_shell_content_state.h",
- ]
- configs += [ "//build/config:precompiled_headers" ]
-
- public_deps = [
- ":test_support_common",
- "//ash:ash_with_content",
- "//content/public/browser",
- "//content/test:test_support",
- "//skia",
- ]
-}
-
-# Internal target consumed by |test_support_with_content| and
-# |test_support_without_content|. This target contains all the test support
-# files, with the exception of an implementation of AshTestEnvironment.
-# Consumers of ash should use one of |test_support_with_content| or
-# |test_support_without_content|.
-static_library("test_support_common") {
- testonly = true
- visibility = [ ":*" ]
- sources = [
- # TODO(jamescook): Move these files into ash/test.
- "../laser/laser_pointer_controller_test_api.cc",
- "../laser/laser_pointer_controller_test_api.h",
- "../laser/laser_pointer_points_test_api.cc",
- "../laser/laser_pointer_points_test_api.h",
- "../rotator/test/screen_rotation_animator_test_api.cc",
- "../rotator/test/screen_rotation_animator_test_api.h",
- "../shell/toplevel_window.cc",
- "../shell/toplevel_window.h",
- "ash_test_base.cc",
- "ash_test_base.h",
- "ash_test_environment.h",
- "ash_test_helper.cc",
- "ash_test_helper.h",
- "ash_test_views_delegate.cc",
- "ash_test_views_delegate.h",
- "child_modal_window.cc",
- "child_modal_window.h",
- "cursor_manager_test_api.cc",
- "cursor_manager_test_api.h",
- "display_configuration_controller_test_api.cc",
- "display_configuration_controller_test_api.h",
- "immersive_fullscreen_controller_test_api.cc",
- "immersive_fullscreen_controller_test_api.h",
- "lock_state_controller_test_api.cc",
- "lock_state_controller_test_api.h",
- "mirror_window_test_api.cc",
- "mirror_window_test_api.h",
- "overflow_bubble_view_test_api.cc",
- "overflow_bubble_view_test_api.h",
- "overflow_button_test_api.cc",
- "overflow_button_test_api.h",
- "screen_orientation_controller_test_api.cc",
- "screen_orientation_controller_test_api.h",
- "shelf_button_pressed_metric_tracker_test_api.cc",
- "shelf_button_pressed_metric_tracker_test_api.h",
- "shelf_view_test_api.cc",
- "shelf_view_test_api.h",
- "shell_test_api.cc",
- "shell_test_api.h",
- "status_area_widget_test_helper.cc",
- "status_area_widget_test_helper.h",
- "task_switch_time_tracker_test_api.cc",
- "task_switch_time_tracker_test_api.h",
- "test_accessibility_delegate.cc",
- "test_accessibility_delegate.h",
- "test_activation_delegate.cc",
- "test_activation_delegate.h",
- "test_app_list_view_presenter_impl.cc",
- "test_app_list_view_presenter_impl.h",
- "test_keyboard_ui.cc",
- "test_keyboard_ui.h",
- "test_overlay_delegate.cc",
- "test_overlay_delegate.h",
- "test_palette_delegate.cc",
- "test_palette_delegate.h",
- "test_screenshot_delegate.cc",
- "test_screenshot_delegate.h",
- "test_session_controller_client.cc",
- "test_session_controller_client.h",
- "test_session_state_animator.cc",
- "test_session_state_animator.h",
- "test_session_state_delegate.cc",
- "test_session_state_delegate.h",
- "test_shell_delegate.cc",
- "test_shell_delegate.h",
- "test_system_tray_delegate.cc",
- "test_system_tray_delegate.h",
- "test_system_tray_item.cc",
- "test_system_tray_item.h",
- "test_wallpaper_delegate.cc",
- "test_wallpaper_delegate.h",
- "tray_cast_test_api.cc",
- "tray_cast_test_api.h",
- "ui_controls_factory_ash.cc",
- "ui_controls_factory_ash.h",
- "user_metrics_recorder_test_api.cc",
- "user_metrics_recorder_test_api.h",
- "wallpaper_controller_test_api.cc",
- "wallpaper_controller_test_api.h",
- "workspace_controller_test_api.cc",
- "workspace_controller_test_api.h",
- "workspace_event_handler_test_helper.cc",
- "workspace_event_handler_test_helper.h",
- ]
- configs += [ "//build/config:precompiled_headers" ]
-
- public_deps = [
- "//ash",
- "//testing/gtest",
- "//third_party/WebKit/public:blink_headers",
- "//ui/display:display_manager_test_api",
- ]
- deps = [
- "//ash",
- "//ash/mus:lib",
- "//ash/public/cpp:ash_public_cpp",
- "//ash/resources",
- "//base",
- "//base:i18n",
- "//base/test:test_support",
- "//chromeos",
- "//components/prefs:test_support",
- "//components/signin/core/account_id",
- "//components/user_manager:user_manager",
- "//device/bluetooth",
- "//services/ui/public/cpp/input_devices",
- "//services/ui/public/interfaces",
- "//skia",
- "//testing/gtest",
- "//ui/accessibility",
- "//ui/app_list:test_support",
- "//ui/app_list/presenter",
- "//ui/app_list/presenter:test_support",
- "//ui/aura",
- "//ui/aura:test_support",
- "//ui/base:test_support",
- "//ui/compositor:test_support",
- "//ui/display",
- "//ui/display/types",
- "//ui/events:events_base",
- "//ui/events:test_support",
- "//ui/events/devices",
- "//ui/gl",
- "//ui/gl:test_support",
- "//ui/keyboard",
- "//ui/message_center",
- "//ui/views",
- "//ui/views:test_support",
- "//ui/wm",
- ]
-
- if (use_x11) {
- deps += [ "//ui/gfx/x" ]
- }
-}
-
-static_library("interactive_ui_test_support") {
- testonly = true
- configs += [ "//build/config:precompiled_headers" ]
- public_deps = [
- ":test_support_without_content",
- "//ash",
- ]
- sources = [
- "ash_interactive_ui_test_base.cc",
- "ash_interactive_ui_test_base.h",
- ]
- deps = [
- ":test_support_with_content",
- "//base",
- "//skia",
- "//testing/gtest",
- "//ui/aura",
- "//ui/base",
- "//ui/gl:test_support",
- ]
-}
diff --git a/chromium/ash/touch_hud/BUILD.gn b/chromium/ash/touch_hud/BUILD.gn
index 8c509ef66d3..44111181c4c 100644
--- a/chromium/ash/touch_hud/BUILD.gn
+++ b/chromium/ash/touch_hud/BUILD.gn
@@ -15,6 +15,7 @@ component("touch_hud") {
deps = [
"//base",
+ "//cc/paint",
"//skia",
"//ui/compositor",
"//ui/events",