summaryrefslogtreecommitdiff
path: root/chromium/ash
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-01-29 16:35:13 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-02-01 15:33:35 +0000
commitc8c2d1901aec01e934adf561a9fdf0cc776cdef8 (patch)
tree9157c3d9815e5870799e070b113813bec53e0535 /chromium/ash
parentabefd5095b41dac94ca451d784ab6e27372e981a (diff)
downloadqtwebengine-chromium-c8c2d1901aec01e934adf561a9fdf0cc776cdef8.tar.gz
BASELINE: Update Chromium to 64.0.3282.139
Change-Id: I1cae68fe9c94ff7608b26b8382fc19862cdb293a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/ash')
-rw-r--r--chromium/ash/BUILD.gn343
-rw-r--r--chromium/ash/app_list/model/BUILD.gn48
-rw-r--r--chromium/ash/autoclick/mus/BUILD.gn2
-rw-r--r--chromium/ash/mus/BUILD.gn245
-rw-r--r--chromium/ash/public/cpp/BUILD.gn8
-rw-r--r--chromium/ash/public/interfaces/BUILD.gn18
-rw-r--r--chromium/ash/public/interfaces/accessibility_controller.mojom50
-rw-r--r--chromium/ash/public/interfaces/ash_message_center_controller.mojom71
-rw-r--r--chromium/ash/public/interfaces/cast_config.mojom15
-rw-r--r--chromium/ash/public/interfaces/highlighter_controller.mojom3
-rw-r--r--chromium/ash/public/interfaces/login_screen.mojom (renamed from chromium/ash/public/interfaces/lock_screen.mojom)19
-rw-r--r--chromium/ash/public/interfaces/login_user_info.mojom43
-rw-r--r--chromium/ash/public/interfaces/note_taking_controller.mojom19
-rw-r--r--chromium/ash/public/interfaces/shelf.mojom1
-rw-r--r--chromium/ash/public/interfaces/shelf_test_api.mojom22
-rw-r--r--chromium/ash/public/interfaces/system_tray.mojom3
-rw-r--r--chromium/ash/public/interfaces/system_tray_test_api.mojom15
-rw-r--r--chromium/ash/public/interfaces/tray_action.mojom5
-rw-r--r--chromium/ash/public/interfaces/voice_interaction_controller.mojom66
-rw-r--r--chromium/ash/public/interfaces/vpn_list.mojom26
-rw-r--r--chromium/ash/public/interfaces/wallpaper.mojom116
-rw-r--r--chromium/ash/public/interfaces/window_actions.mojom10
-rw-r--r--chromium/ash/public/interfaces/window_properties.mojom21
-rw-r--r--chromium/ash/resources/BUILD.gn6
-rw-r--r--chromium/ash/resources/vector_icons/BUILD.gn30
-rw-r--r--chromium/ash/standalone/BUILD.gn (renamed from chromium/ash/mus/standalone/BUILD.gn)10
-rw-r--r--chromium/ash/touch_hud/mus/BUILD.gn2
-rw-r--r--chromium/ash/wayland/BUILD.gn2
28 files changed, 884 insertions, 335 deletions
diff --git a/chromium/ash/BUILD.gn b/chromium/ash/BUILD.gn
index 65beaf4e972..b172a0d1b09 100644
--- a/chromium/ash/BUILD.gn
+++ b/chromium/ash/BUILD.gn
@@ -4,7 +4,11 @@
import("//build/config/features.gni")
import("//build/config/ui.gni")
+import("//mojo/public/tools/bindings/mojom.gni")
+import("//services/service_manager/public/cpp/service.gni")
+import("//services/service_manager/public/service_manifest.gni")
import("//testing/test.gni")
+import("//tools/grit/repack.gni")
import("//ui/base/ui_features.gni")
# Historical note: Ash shipped on Windows for a couple years to support
@@ -24,8 +28,14 @@ component("ash") {
"accelerators/accelerator_controller_delegate.h",
"accelerators/accelerator_controller_delegate_classic.cc",
"accelerators/accelerator_controller_delegate_classic.h",
+ "accelerators/accelerator_controller_delegate_mash.cc",
+ "accelerators/accelerator_controller_delegate_mash.h",
+ "accelerators/accelerator_controller_registrar.cc",
+ "accelerators/accelerator_controller_registrar.h",
"accelerators/accelerator_delegate.cc",
"accelerators/accelerator_delegate.h",
+ "accelerators/accelerator_handler.h",
+ "accelerators/accelerator_ids.h",
"accelerators/accelerator_router.cc",
"accelerators/accelerator_router.h",
"accelerators/accelerator_table.cc",
@@ -53,15 +63,16 @@ component("ash") {
"accessibility/accessibility_focus_ring_controller.h",
"accessibility/accessibility_focus_ring_layer.cc",
"accessibility/accessibility_focus_ring_layer.h",
+ "accessibility/accessibility_highlight_layer.cc",
+ "accessibility/accessibility_highlight_layer.h",
+ "accessibility/accessibility_layer.cc",
+ "accessibility/accessibility_layer.h",
"accessibility/default_accessibility_delegate.cc",
"accessibility/default_accessibility_delegate.h",
"accessibility/focus_ring_controller.cc",
"accessibility/focus_ring_controller.h",
"accessibility/focus_ring_layer.cc",
"accessibility/focus_ring_layer.h",
-
- # TODO(jamescook): Move parts of this into //ash/public/cpp
- "accessibility_types.h",
"animation/animation_change_type.h",
"app_list/app_list_delegate_impl.cc",
"app_list/app_list_delegate_impl.h",
@@ -87,6 +98,8 @@ component("ash") {
"debug.h",
"default_wallpaper_delegate.cc",
"default_wallpaper_delegate.h",
+ "disconnected_app_handler.cc",
+ "disconnected_app_handler.h",
"display/ash_display_controller.cc",
"display/ash_display_controller.h",
"display/cursor_window_controller.cc",
@@ -100,6 +113,10 @@ component("ash") {
"display/display_configuration_controller.h",
"display/display_error_observer_chromeos.cc",
"display/display_error_observer_chromeos.h",
+ "display/display_move_window_util.cc",
+ "display/display_move_window_util.h",
+ "display/display_synchronizer.cc",
+ "display/display_synchronizer.h",
"display/display_util.cc",
"display/display_util.h",
"display/event_transformation_handler.cc",
@@ -145,6 +162,8 @@ component("ash") {
"drag_drop/drag_drop_tracker.h",
"drag_drop/drag_image_view.cc",
"drag_drop/drag_image_view.h",
+ "event_matcher_util.cc",
+ "event_matcher_util.h",
"fast_ink/fast_ink_pointer_controller.cc",
"fast_ink/fast_ink_pointer_controller.h",
"fast_ink/fast_ink_points.cc",
@@ -160,6 +179,8 @@ component("ash") {
"focus_cycler.cc",
"focus_cycler.h",
"frame/caption_buttons/caption_button_types.h",
+ "frame/caption_buttons/frame_back_button.cc",
+ "frame/caption_buttons/frame_back_button.h",
"frame/caption_buttons/frame_caption_button.cc",
"frame/caption_buttons/frame_caption_button.h",
"frame/caption_buttons/frame_caption_button_container_view.cc",
@@ -169,18 +190,17 @@ component("ash") {
"frame/caption_buttons/frame_size_button_delegate.h",
"frame/custom_frame_view_ash.cc",
"frame/custom_frame_view_ash.h",
- "frame/default_header_painter.cc",
- "frame/default_header_painter.h",
+ "frame/default_frame_header.cc",
+ "frame/default_frame_header.h",
+ "frame/detached_title_area_renderer.cc",
+ "frame/detached_title_area_renderer.h",
"frame/frame_border_hit_test.cc",
"frame/frame_border_hit_test.h",
- "frame/header_painter.h",
- "frame/header_painter_util.cc",
- "frame/header_painter_util.h",
+ "frame/frame_header.h",
+ "frame/frame_header_util.cc",
+ "frame/frame_header_util.h",
"frame/header_view.cc",
"frame/header_view.h",
- "gpu_support.h",
- "gpu_support_stub.cc",
- "gpu_support_stub.h",
"high_contrast/high_contrast_controller.cc",
"high_contrast/high_contrast_controller.h",
"highlighter/highlighter_controller.cc",
@@ -194,6 +214,11 @@ component("ash") {
"host/ash_window_tree_host.cc",
"host/ash_window_tree_host.h",
"host/ash_window_tree_host_init_params.h",
+ "host/ash_window_tree_host_mirroring_delegate.h",
+ "host/ash_window_tree_host_mirroring_unified.cc",
+ "host/ash_window_tree_host_mirroring_unified.h",
+ "host/ash_window_tree_host_mus.cc",
+ "host/ash_window_tree_host_mus.h",
"host/ash_window_tree_host_platform.cc",
"host/ash_window_tree_host_platform.h",
"host/ash_window_tree_host_unified.cc",
@@ -208,6 +233,8 @@ component("ash") {
"keyboard/keyboard_observer_register.h",
"keyboard/keyboard_ui.cc",
"keyboard/keyboard_ui.h",
+ "keyboard/keyboard_ui_mash.cc",
+ "keyboard/keyboard_ui_mash.h",
"keyboard/keyboard_ui_observer.h",
"laser/laser_pointer_controller.cc",
"laser/laser_pointer_controller.h",
@@ -225,12 +252,18 @@ component("ash") {
"lock_screen_action/lock_screen_action_background_state.h",
"lock_screen_action/lock_screen_action_background_view.cc",
"lock_screen_action/lock_screen_action_background_view.h",
+ "lock_screen_action/lock_screen_note_display_state_handler.cc",
+ "lock_screen_action/lock_screen_note_display_state_handler.h",
+ "lock_screen_action/lock_screen_note_launcher.cc",
+ "lock_screen_action/lock_screen_note_launcher.h",
"login/lock_screen_apps_focus_observer.h",
- "login/lock_screen_controller.cc",
- "login/lock_screen_controller.h",
+ "login/login_screen_controller.cc",
+ "login/login_screen_controller.h",
"login/ui/animated_rounded_image_view.cc",
"login/ui/animated_rounded_image_view.h",
"login/ui/animation_frame.h",
+ "login/ui/hover_notifier.cc",
+ "login/ui/hover_notifier.h",
"login/ui/image_parser.cc",
"login/ui/image_parser.h",
"login/ui/layout_util.cc",
@@ -249,6 +282,8 @@ component("ash") {
"login/ui/login_base_bubble_view.h",
"login/ui/login_bubble.cc",
"login/ui/login_bubble.h",
+ "login/ui/login_button.cc",
+ "login/ui/login_button.h",
"login/ui/login_constants.h",
"login/ui/login_data_dispatcher.cc",
"login/ui/login_data_dispatcher.h",
@@ -290,6 +325,8 @@ component("ash") {
"metrics/desktop_task_switch_metric_recorder.cc",
"metrics/desktop_task_switch_metric_recorder.h",
"metrics/gesture_action_type.h",
+ "metrics/login_metrics_recorder.cc",
+ "metrics/login_metrics_recorder.h",
"metrics/pointer_metrics_recorder.cc",
"metrics/pointer_metrics_recorder.h",
"metrics/task_switch_metrics_recorder.cc",
@@ -304,9 +341,12 @@ component("ash") {
"mojo_interface_factory.h",
"multi_profile_uma.cc",
"multi_profile_uma.h",
+ "network_connect_delegate_mus.cc",
+ "network_connect_delegate_mus.h",
"new_window_controller.cc",
"new_window_controller.h",
- "palette_delegate.h",
+ "note_taking_controller.cc",
+ "note_taking_controller.h",
"pointer_watcher_adapter_classic.cc",
"pointer_watcher_adapter_classic.h",
"root_window_controller.cc",
@@ -339,6 +379,8 @@ component("ash") {
"shelf/app_list_button.h",
"shelf/app_list_shelf_item_delegate.cc",
"shelf/app_list_shelf_item_delegate.h",
+ "shelf/assistant_overlay.cc",
+ "shelf/assistant_overlay.h",
"shelf/ink_drop_button_listener.h",
"shelf/login_shelf_view.cc",
"shelf/login_shelf_view.h",
@@ -384,19 +426,28 @@ 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",
+ "shell_delegate_mus.cc",
+ "shell_delegate_mus.h",
+ "shell_init_params.cc",
"shell_init_params.h",
"shell_observer.h",
"shell_port.cc",
"shell_port.h",
"shell_port_classic.cc",
"shell_port_classic.h",
+ "shell_port_mash.cc",
+ "shell_port_mash.h",
+ "shell_port_mus.cc",
+ "shell_port_mus.h",
"shutdown_controller.cc",
"shutdown_controller.h",
+ "sidebar/sidebar.cc",
+ "sidebar/sidebar.h",
+ "sidebar/sidebar_widget.cc",
+ "sidebar/sidebar_widget.h",
"sticky_keys/sticky_keys_controller.cc",
"sticky_keys/sticky_keys_controller.h",
"sticky_keys/sticky_keys_overlay.cc",
@@ -508,6 +559,8 @@ component("ash") {
"system/palette/palette_tray.h",
"system/palette/palette_utils.cc",
"system/palette/palette_utils.h",
+ "system/palette/palette_welcome_bubble.cc",
+ "system/palette/palette_welcome_bubble.h",
"system/palette/tools/capture_region_mode.cc",
"system/palette/tools/capture_region_mode.h",
"system/palette/tools/capture_screen_action.cc",
@@ -520,6 +573,8 @@ component("ash") {
"system/palette/tools/magnifier_mode.h",
"system/palette/tools/metalayer_mode.cc",
"system/palette/tools/metalayer_mode.h",
+ "system/power/backlights_forced_off_setter.cc",
+ "system/power/backlights_forced_off_setter.h",
"system/power/battery_notification.cc",
"system/power/battery_notification.h",
"system/power/dual_role_notification.cc",
@@ -530,12 +585,16 @@ component("ash") {
"system/power/power_button_controller.h",
"system/power/power_button_display_controller.cc",
"system/power/power_button_display_controller.h",
+ "system/power/power_button_screenshot_controller.cc",
+ "system/power/power_button_screenshot_controller.h",
"system/power/power_event_observer.cc",
"system/power/power_event_observer.h",
"system/power/power_status.cc",
"system/power/power_status.h",
"system/power/power_status_view.cc",
"system/power/power_status_view.h",
+ "system/power/scoped_backlights_forced_off.cc",
+ "system/power/scoped_backlights_forced_off.h",
"system/power/tablet_power_button_controller.cc",
"system/power/tablet_power_button_controller.h",
"system/power/tray_power.cc",
@@ -605,6 +664,8 @@ component("ash") {
"system/tray/system_tray_item.h",
"system/tray/system_tray_notifier.cc",
"system/tray/system_tray_notifier.h",
+ "system/tray/system_tray_view.cc",
+ "system/tray/system_tray_view.h",
"system/tray/tray_background_view.cc",
"system/tray/tray_background_view.h",
"system/tray/tray_bubble_wrapper.cc",
@@ -682,6 +743,8 @@ component("ash") {
"touch/touch_hud_projection.h",
"touch/touch_observer_hud.cc",
"touch/touch_observer_hud.h",
+ "touch/touch_transform_setter_mus.cc",
+ "touch/touch_transform_setter_mus.h",
"touch/touch_uma.cc",
"touch/touch_uma.h",
"tray_action/tray_action.cc",
@@ -693,21 +756,34 @@ component("ash") {
"utility/transformer_util.h",
"virtual_keyboard_controller.cc",
"virtual_keyboard_controller.h",
+ "voice_interaction/voice_interaction_controller.cc",
+ "voice_interaction/voice_interaction_controller.h",
+ "voice_interaction/voice_interaction_observer.h",
"wallpaper/wallpaper_controller.cc",
"wallpaper/wallpaper_controller.h",
"wallpaper/wallpaper_controller_observer.h",
"wallpaper/wallpaper_delegate.h",
+ "wallpaper/wallpaper_delegate_mus.cc",
+ "wallpaper/wallpaper_delegate_mus.h",
"wallpaper/wallpaper_view.cc",
"wallpaper/wallpaper_view.h",
"wallpaper/wallpaper_widget_controller.cc",
"wallpaper/wallpaper_widget_controller.h",
"wallpaper/wallpaper_window_state_manager.cc",
"wallpaper/wallpaper_window_state_manager.h",
+ "window_manager.cc",
+ "window_manager.h",
+ "window_manager_service.cc",
+ "window_manager_service.h",
"window_user_data.h",
"wm/always_on_top_controller.cc",
"wm/always_on_top_controller.h",
"wm/ash_focus_rules.cc",
"wm/ash_focus_rules.h",
+ "wm/base_state.cc",
+ "wm/base_state.h",
+ "wm/client_controlled_state.cc",
+ "wm/client_controlled_state.h",
"wm/container_finder.cc",
"wm/container_finder.h",
"wm/cursor_manager_chromeos.cc",
@@ -722,6 +798,8 @@ component("ash") {
"wm/drag_window_controller.h",
"wm/drag_window_resizer.cc",
"wm/drag_window_resizer.h",
+ "wm/drag_window_resizer_mash.cc",
+ "wm/drag_window_resizer_mash.h",
"wm/event_client_impl.cc",
"wm/event_client_impl.h",
"wm/focus_rules.cc",
@@ -738,6 +816,8 @@ component("ash") {
"wm/immersive_gesture_handler_classic.h",
"wm/immersive_handler_factory_ash.cc",
"wm/immersive_handler_factory_ash.h",
+ "wm/immersive_handler_factory_mash.cc",
+ "wm/immersive_handler_factory_mash.h",
"wm/lock_action_handler_layout_manager.cc",
"wm/lock_action_handler_layout_manager.h",
"wm/lock_layout_manager.cc",
@@ -747,6 +827,8 @@ component("ash") {
"wm/lock_state_observer.h",
"wm/lock_window_state.cc",
"wm/lock_window_state.h",
+ "wm/move_event_handler.cc",
+ "wm/move_event_handler.h",
"wm/mru_window_tracker.cc",
"wm/mru_window_tracker.h",
"wm/native_cursor_manager_ash.h",
@@ -754,6 +836,8 @@ component("ash") {
"wm/native_cursor_manager_ash_classic.h",
"wm/native_cursor_manager_ash_mus.cc",
"wm/native_cursor_manager_ash_mus.h",
+ "wm/non_client_frame_controller.cc",
+ "wm/non_client_frame_controller.h",
"wm/overlay_event_filter.cc",
"wm/overlay_event_filter.h",
"wm/overview/cleanup_animation_observer.cc",
@@ -761,6 +845,8 @@ component("ash") {
"wm/overview/overview_animation_type.h",
"wm/overview/overview_window_drag_controller.cc",
"wm/overview/overview_window_drag_controller.h",
+ "wm/overview/rounded_rect_view.cc",
+ "wm/overview/rounded_rect_view.h",
"wm/overview/scoped_hide_overview_windows.cc",
"wm/overview/scoped_hide_overview_windows.h",
"wm/overview/scoped_overview_animation_settings.cc",
@@ -786,6 +872,8 @@ component("ash") {
"wm/panels/panel_window_event_handler.h",
"wm/panels/panel_window_resizer.cc",
"wm/panels/panel_window_resizer.h",
+ "wm/property_util.cc",
+ "wm/property_util.h",
"wm/resize_handle_window_targeter.cc",
"wm/resize_handle_window_targeter.h",
"wm/resize_shadow.cc",
@@ -843,6 +931,8 @@ component("ash") {
"wm/tablet_mode/tablet_mode_window_state.h",
"wm/tablet_mode/touchpad_and_keyboard_disabler.cc",
"wm/tablet_mode/touchpad_and_keyboard_disabler.h",
+ "wm/top_level_window_factory.cc",
+ "wm/top_level_window_factory.h",
"wm/toplevel_window_event_handler.cc",
"wm/toplevel_window_event_handler.h",
"wm/video_detector.cc",
@@ -905,6 +995,8 @@ component("ash") {
"wm/workspace/workspace_event_handler.h",
"wm/workspace/workspace_event_handler_classic.cc",
"wm/workspace/workspace_event_handler_classic.h",
+ "wm/workspace/workspace_event_handler_mash.cc",
+ "wm/workspace/workspace_event_handler_mash.h",
"wm/workspace/workspace_layout_manager.cc",
"wm/workspace/workspace_layout_manager.h",
"wm/workspace/workspace_types.h",
@@ -918,13 +1010,32 @@ component("ash") {
defines = [ "ASH_IMPLEMENTATION" ]
public_deps = [
+ "//ash/public/cpp",
"//ash/resources",
"//ash/resources/vector_icons",
"//ash/strings",
+ "//ash/wayland",
+ "//mash/public/interfaces",
+ "//mojo/common:common_base",
+ "//services/ui/common:mus_common",
+ "//services/ui/public/cpp",
+ "//services/ui/public/cpp/input_devices",
+ "//services/ui/public/interfaces",
+ "//services/ui/public/interfaces/display",
+ "//skia",
+ "//ui/aura",
+ "//ui/events",
+ "//ui/gfx",
+ "//ui/gfx/geometry",
+ "//ui/gfx/geometry/mojo",
+ "//ui/resources",
+ "//ui/strings",
+ "//ui/views",
+ "//ui/views/mus:for_mojo_application",
+ "//ui/wm",
]
deps = [
"//ash/autoclick/common:autoclick",
- "//ash/public/cpp:ash_public_cpp",
"//ash/touch_hud",
"//base",
"//base:i18n",
@@ -935,6 +1046,8 @@ component("ash") {
"//chromeos",
"//chromeos:power_manager_proto",
"//components/device_event_log",
+ "//components/exo",
+ "//components/exo/wayland",
"//components/onc",
"//components/pref_registry",
"//components/prefs",
@@ -944,6 +1057,7 @@ component("ash") {
"//components/strings",
"//components/user_manager",
"//components/vector_icons",
+ "//components/viz/host",
"//components/viz/service",
"//components/wallpaper",
"//device/bluetooth",
@@ -954,10 +1068,7 @@ component("ash") {
"//services/data_decoder/public/cpp",
"//services/preferences/public/cpp",
"//services/service_manager/public/cpp",
- "//services/ui/public/cpp",
- "//services/ui/public/cpp/input_devices",
- "//services/ui/public/interfaces",
- "//skia",
+ "//services/ui/public/interfaces/input_devices",
# TODO(msw): Remove this; only ash_with_content should depend on webkit.
"//third_party/WebKit/public:blink_headers",
@@ -966,7 +1077,6 @@ component("ash") {
"//third_party/re2",
"//ui/accessibility",
"//ui/app_list/presenter",
- "//ui/aura",
"//ui/base",
"//ui/base:ui_data_pack",
"//ui/base/ime",
@@ -979,29 +1089,28 @@ component("ash") {
"//ui/display/manager",
"//ui/display/types",
"//ui/display/util",
- "//ui/events",
"//ui/events:dom_keycode_converter",
"//ui/events:events_base",
"//ui/events:gesture_detection",
"//ui/events/devices",
+ "//ui/events/devices/mojo",
"//ui/events/ozone:events_ozone",
- "//ui/gfx",
- "//ui/gfx/geometry",
"//ui/keyboard",
+ "//ui/keyboard:mojom",
"//ui/message_center",
"//ui/message_center/public/cpp",
"//ui/native_theme",
"//ui/ozone",
"//ui/platform_window",
"//ui/platform_window/stub",
- "//ui/resources",
- "//ui/strings",
- "//ui/views",
- "//ui/wm",
"//ui/wm/public",
"//url",
]
+ data_deps = [
+ "//ash/touch_hud/mus:touch_hud",
+ ]
+
# TODO(jamescook): Move to ash_unittests?
data = [
"display/test_data/",
@@ -1012,13 +1121,16 @@ component("ash") {
"//content/public/browser",
"//content/public/common",
]
+
+ allow_circular_includes_from = [
+ "//components/exo",
+ "//components/exo/wayland",
+ ]
}
component("ash_with_content") {
sources = [
"content/ash_with_content_export.h",
- "content/gpu_support_impl.cc",
- "content/gpu_support_impl.h",
"content/keyboard_overlay/keyboard_overlay_delegate.cc",
"content/keyboard_overlay/keyboard_overlay_delegate.h",
"content/keyboard_overlay/keyboard_overlay_view.cc",
@@ -1035,7 +1147,7 @@ component("ash_with_content") {
":ash",
]
deps = [
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//base",
"//base/third_party/dynamic_annotations",
"//content/public/browser",
@@ -1096,7 +1208,7 @@ static_library("ash_shell_lib") {
deps = [
":ash",
":test_support_without_content",
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//base",
"//base:i18n",
"//components/user_manager",
@@ -1132,7 +1244,7 @@ static_library("ash_shell_lib_with_content") {
":ash_shell_lib",
":ash_with_content",
":test_support_without_content",
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//base:i18n",
"//chrome:packed_resources",
"//chromeos",
@@ -1173,7 +1285,7 @@ test("ash_content_unittests") {
":ash",
":ash_with_content",
":test_support_with_content",
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//base",
"//base/test:test_support",
"//chromeos",
@@ -1230,6 +1342,7 @@ test("ash_unittests") {
"display/display_configuration_controller_unittest.cc",
"display/display_error_observer_chromeos_unittest.cc",
"display/display_manager_unittest.cc",
+ "display/display_move_window_util_unittest.cc",
"display/display_util_unittest.cc",
"display/extended_mouse_warp_controller_unittest.cc",
"display/mirror_window_controller_unittest.cc",
@@ -1252,16 +1365,18 @@ test("ash_unittests") {
"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",
+ "frame/default_frame_header_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_segment_utils_unittest.cc",
"lock_screen_action/lock_screen_action_background_controller_impl_unittest.cc",
- "login/lock_screen_controller_unittest.cc",
- "login/mock_lock_screen_client.cc",
- "login/mock_lock_screen_client.h",
+ "lock_screen_action/lock_screen_note_display_state_handler_unittest.cc",
+ "lock_screen_action/lock_screen_note_launcher_unittest.cc",
+ "login/login_screen_controller_unittest.cc",
+ "login/mock_login_screen_client.cc",
+ "login/mock_login_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",
@@ -1280,11 +1395,11 @@ test("ash_unittests") {
"message_center/message_list_view_unittest.cc",
"message_center/notifier_settings_view_unittest.cc",
"metrics/desktop_task_switch_metric_recorder_unittest.cc",
+ "metrics/login_metrics_recorder_unittest.cc",
"metrics/pointer_metrics_recorder_unittest.cc",
"metrics/task_switch_metrics_recorder_unittest.cc",
"metrics/task_switch_time_tracker_unittest.cc",
"metrics/user_metrics_recorder_unittest.cc",
- "mus/window_manager_common_unittests.cc",
"mus_property_mirror_ash_unittest.cc",
"pointer_watcher_adapter_classic_unittest.cc",
"root_window_controller_unittest.cc",
@@ -1332,10 +1447,13 @@ test("ash_unittests") {
"system/palette/mock_palette_tool_delegate.h",
"system/palette/palette_tool_manager_unittest.cc",
"system/palette/palette_tray_unittest.cc",
+ "system/palette/palette_welcome_bubble_unittest.cc",
"system/palette/tools/create_note_unittest.cc",
"system/palette/tools/metalayer_unittest.cc",
"system/palette/tools/screenshot_unittest.cc",
+ "system/power/backlights_forced_off_setter_unittest.cc",
"system/power/peripheral_battery_notifier_unittest.cc",
+ "system/power/power_button_screenshot_controller_unittest.cc",
"system/power/power_event_observer_unittest.cc",
"system/power/power_status_unittest.cc",
"system/power/power_status_view_unittest.cc",
@@ -1377,10 +1495,13 @@ test("ash_unittests") {
"tray_action/tray_action_unittest.cc",
"utility/screenshot_controller_unittest.cc",
"virtual_keyboard_controller_unittest.cc",
+ "voice_interaction/voice_interaction_controller_unittest.cc",
"wallpaper/wallpaper_controller_unittest.cc",
+ "window_manager_common_unittests.cc",
"window_user_data_unittest.cc",
"wm/always_on_top_controller_unittest.cc",
"wm/ash_focus_rules_unittest.cc",
+ "wm/client_controlled_state_unittest.cc",
"wm/container_finder_unittest.cc",
"wm/drag_window_resizer_unittest.cc",
"wm/gestures/overview_gesture_handler_unittest.cc",
@@ -1433,8 +1554,7 @@ test("ash_unittests") {
":ash",
":test_support_without_content",
"//ash/autoclick/common:autoclick",
- "//ash/mus:lib",
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//ash/public/cpp:unit_tests",
"//ash/resources",
"//ash/resources/vector_icons",
@@ -1518,7 +1638,7 @@ test("ash_perftests") {
deps = [
":test_support_without_content",
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//base/test:test_support",
"//cc/base",
"//mojo/edk/embedder:headers",
@@ -1598,6 +1718,8 @@ static_library("test_support_common") {
testonly = true
visibility = [ ":*" ]
sources = [
+ "accessibility/test_accessibility_controller_client.cc",
+ "accessibility/test_accessibility_controller_client.h",
"accessibility/test_accessibility_delegate.cc",
"accessibility/test_accessibility_delegate.h",
"app_list/test_app_list_presenter_impl.cc",
@@ -1640,6 +1762,8 @@ static_library("test_support_common") {
"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_test_api.cc",
+ "shelf/shelf_test_api.h",
"shelf/shelf_view_test_api.cc",
"shelf/shelf_view_test_api.h",
"shell/toplevel_window.cc",
@@ -1648,10 +1772,14 @@ static_library("test_support_common") {
"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/palette/palette_tray_test_api.cc",
+ "system/palette/palette_tray_test_api.h",
+ "system/power/power_button_screenshot_controller_test_api.cc",
+ "system/power/power_button_screenshot_controller_test_api.h",
"system/power/power_button_test_base.cc",
"system/power/power_button_test_base.h",
+ "system/power/tablet_power_button_controller_test_api.cc",
+ "system/power/tablet_power_button_controller_test_api.h",
"system/status_area_widget_test_helper.cc",
"system/status_area_widget_test_helper.h",
"system/tray/system_tray_test_api.cc",
@@ -1708,8 +1836,7 @@ static_library("test_support_common") {
]
deps = [
"//ash",
- "//ash/mus:lib",
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//ash/public/interfaces:test_interfaces",
"//ash/resources",
"//base",
@@ -1723,6 +1850,7 @@ static_library("test_support_common") {
"//components/user_manager:user_manager",
"//components/viz/test:test_support",
"//device/bluetooth",
+ "//services/ui/public/cpp",
"//services/ui/public/cpp/input_devices",
"//services/ui/public/interfaces",
"//skia",
@@ -1779,3 +1907,124 @@ static_library("interactive_ui_test_support") {
"//ui/gl:test_support",
]
}
+
+service("ash_service") {
+ output_name = "ash"
+
+ sources = [
+ "main.cc",
+ ]
+
+ deps = [
+ ":ash",
+ ":ash_service_resources",
+ ":ash_service_resources_200",
+ "//services/service_manager/public/cpp",
+ ]
+
+ # TODO(beng): This target relies on //mash/session, but there is a cycle so we
+ # can't state that dependency here.
+ data_deps = [
+ ":ash_service_resources",
+ ":ash_service_resources_200",
+ "//services/ui",
+ ]
+}
+
+service_manifest("manifest") {
+ name = "ash"
+ source = "manifest.json"
+}
+
+# TODO: Load locale-specific strings.
+# TODO: Avoid duplication between Mash and Chrome pak files: crbug.com/628715.
+repack("ash_service_resources") {
+ output = "$root_out_dir/ash_service_resources.pak"
+ sources = [
+ "$root_gen_dir/ash/resources/ash_resources_100_percent.pak",
+ "$root_gen_dir/ash/strings/ash_strings_en-US.pak",
+ "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_100_percent.pak",
+ "$root_gen_dir/ui/chromeos/strings/ui_chromeos_strings_en-US.pak",
+ "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
+ "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
+ "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
+ "$root_gen_dir/ui/views/resources/views_resources_100_percent.pak",
+ ]
+ deps = [
+ "//ash/resources",
+ "//ash/strings",
+ "//ui/chromeos/resources",
+ "//ui/chromeos/strings",
+ "//ui/resources",
+ "//ui/strings",
+ "//ui/views/mus:resources",
+ "//ui/views/resources",
+ ]
+}
+
+repack("ash_service_resources_200") {
+ output = "$root_out_dir/ash_service_resources_200.pak"
+ sources = [
+ "$root_gen_dir/ash/resources/ash_resources_200_percent.pak",
+ "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_200_percent.pak",
+ "$root_gen_dir/ui/resources/ui_resources_200_percent.pak",
+ "$root_gen_dir/ui/views/resources/views_resources_200_percent.pak",
+ ]
+ deps = [
+ "//ash/resources",
+ "//ui/chromeos/resources",
+ "//ui/resources",
+ "//ui/views/resources",
+ ]
+}
+
+source_set("mash_unittests") {
+ testonly = true
+
+ sources = [
+ "app_launch_unittest.cc",
+ "display/display_synchronizer_unittest.cc",
+ "window_manager_unittest.cc",
+ "wm/non_client_frame_controller_unittest.cc",
+ "wm/top_level_window_factory_unittest.cc",
+ ]
+
+ deps = [
+ ":ash_service_resources",
+ "//ash",
+ "//ash:test_support_without_content",
+ "//ash/public/cpp",
+ "//base",
+ "//base/test:test_config",
+ "//base/test:test_support",
+ "//mash/quick_launch/public/interfaces:constants",
+ "//mojo/public/cpp/system",
+ "//services/service_manager/public/cpp:service_test_support",
+ "//services/ui/common:mus_common",
+ "//services/ui/public/cpp",
+ "//services/ui/public/cpp/input_devices",
+ "//services/ui/public/interfaces",
+ "//skia",
+ "//testing/gtest",
+ "//ui/aura",
+ "//ui/aura:test_support",
+ "//ui/base",
+ "//ui/base:test_support",
+ "//ui/compositor:test_support",
+ "//ui/display",
+ "//ui/events",
+ "//ui/events:test_support",
+ "//ui/gfx:test_support",
+ "//ui/gfx/geometry",
+ "//ui/gfx/geometry/mojo",
+ "//ui/message_center",
+ "//ui/views:test_support",
+ "//ui/views/mus",
+ ]
+
+ data_deps = [
+ ":ash_service",
+ "//mash/quick_launch",
+ "//services/ui/ime/test_ime_driver",
+ ]
+}
diff --git a/chromium/ash/app_list/model/BUILD.gn b/chromium/ash/app_list/model/BUILD.gn
new file mode 100644
index 00000000000..015aad05398
--- /dev/null
+++ b/chromium/ash/app_list/model/BUILD.gn
@@ -0,0 +1,48 @@
+# 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.
+
+component("app_list_model") {
+ sources = [
+ "app_list_folder_item.cc",
+ "app_list_folder_item.h",
+ "app_list_item.cc",
+ "app_list_item.h",
+ "app_list_item_list.cc",
+ "app_list_item_list.h",
+ "app_list_item_list_observer.h",
+ "app_list_item_observer.h",
+ "app_list_model.cc",
+ "app_list_model.h",
+ "app_list_model_observer.h",
+ "app_list_view_state.h",
+ "folder_image.cc",
+ "folder_image.h",
+ "search/term_break_iterator.cc",
+ "search/term_break_iterator.h",
+ "search/tokenized_string.cc",
+ "search/tokenized_string.h",
+ "search/tokenized_string_char_iterator.cc",
+ "search/tokenized_string_char_iterator.h",
+ "search/tokenized_string_match.cc",
+ "search/tokenized_string_match.h",
+ "search_box_model.cc",
+ "search_box_model.h",
+ "search_box_model_observer.h",
+ "search_result.cc",
+ "search_result.h",
+ "search_result_observer.h",
+ ]
+
+ defines = [ "APP_LIST_MODEL_IMPLEMENTATION" ]
+
+ deps = [
+ "//base:i18n",
+ "//cc/paint",
+ "//components/sync",
+ "//skia",
+ "//third_party/icu",
+ "//ui/base",
+ "//ui/gfx",
+ ]
+}
diff --git a/chromium/ash/autoclick/mus/BUILD.gn b/chromium/ash/autoclick/mus/BUILD.gn
index c69bc11f635..b881bd5c662 100644
--- a/chromium/ash/autoclick/mus/BUILD.gn
+++ b/chromium/ash/autoclick/mus/BUILD.gn
@@ -16,7 +16,7 @@ source_set("lib") {
deps = [
"//ash/autoclick/common:autoclick",
"//ash/autoclick/mus/public/interfaces",
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//base",
"//mash/public/interfaces",
"//mojo/common",
diff --git a/chromium/ash/mus/BUILD.gn b/chromium/ash/mus/BUILD.gn
deleted file mode 100644
index 22ab79ffa7e..00000000000
--- a/chromium/ash/mus/BUILD.gn
+++ /dev/null
@@ -1,245 +0,0 @@
-# Copyright 2015 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")
-import("//mojo/public/tools/bindings/mojom.gni")
-import("//services/service_manager/public/cpp/service.gni")
-import("//services/service_manager/public/service_manifest.gni")
-import("//tools/grit/repack.gni")
-
-assert(is_chromeos)
-
-source_set("lib") {
- sources = [
- "accelerators/accelerator_controller_delegate_mus.cc",
- "accelerators/accelerator_controller_delegate_mus.h",
- "accelerators/accelerator_controller_registrar.cc",
- "accelerators/accelerator_controller_registrar.h",
- "accelerators/accelerator_handler.h",
- "accelerators/accelerator_ids.h",
- "ash_window_tree_host_mus.cc",
- "ash_window_tree_host_mus.h",
- "bridge/immersive_handler_factory_mus.cc",
- "bridge/immersive_handler_factory_mus.h",
- "bridge/shell_port_mash.cc",
- "bridge/shell_port_mash.h",
- "bridge/workspace_event_handler_mus.cc",
- "bridge/workspace_event_handler_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",
- "keyboard_ui_mus.h",
- "move_event_handler.cc",
- "move_event_handler.h",
- "network_connect_delegate_mus.cc",
- "network_connect_delegate_mus.h",
- "non_client_frame_controller.cc",
- "non_client_frame_controller.h",
- "property_util.cc",
- "property_util.h",
- "shell_delegate_mus.cc",
- "shell_delegate_mus.h",
- "top_level_window_factory.cc",
- "top_level_window_factory.h",
- "touch_transform_setter_mus.cc",
- "touch_transform_setter_mus.h",
- "wallpaper_delegate_mus.cc",
- "wallpaper_delegate_mus.h",
- "window_manager.cc",
- "window_manager.h",
- "window_manager_application.cc",
- "window_manager_application.h",
- "window_properties.cc",
- "window_properties.h",
- ]
-
- defines = [ "NOTIMPLEMENTED_POLICY=5" ]
-
- deps = [
- "//chromeos",
- "//chromeos:power_manager_proto",
- "//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",
- "//ui/chromeos",
- "//ui/display/manager",
- "//ui/events/devices/mojo",
- "//ui/keyboard",
- "//ui/keyboard:mojom",
- "//ui/message_center",
- "//ui/wm/public",
- ]
-
- public_deps = [
- "//ash",
- "//ash/public/cpp:ash_public_cpp",
- "//ash/wayland",
- "//base",
- "//base:i18n",
- "//mash/public/interfaces",
- "//mojo/common:common_base",
- "//services/service_manager/public/cpp",
- "//services/ui/common:mus_common",
- "//services/ui/public/cpp",
- "//services/ui/public/cpp/input_devices",
- "//services/ui/public/interfaces",
- "//services/ui/public/interfaces/display",
- "//skia",
- "//ui/aura",
- "//ui/events",
- "//ui/gfx",
- "//ui/gfx/geometry",
- "//ui/gfx/geometry/mojo",
- "//ui/resources",
- "//ui/strings",
- "//ui/views",
- "//ui/views/mus:for_mojo_application",
- "//ui/wm",
- ]
-
- data_deps = [
- "//ash/touch_hud/mus:touch_hud",
- ]
-
- assert_no_deps = [
- "//content/public/browser",
- "//content/public/common",
- ]
-}
-
-service("mus") {
- output_name = "ash"
-
- sources = [
- "main.cc",
- ]
-
- deps = [
- ":lib",
- ":resources",
- ":resources_200",
- "//services/service_manager/public/cpp",
- ]
-
- # TODO(beng): This target relies on //mash/session, but there is a cycle so we
- # can't state that dependency here.
- data_deps = [
- ":resources",
- ":resources_200",
- "//services/ui",
- ]
-}
-
-service_manifest("manifest") {
- name = "ash"
- source = "manifest.json"
-}
-
-# TODO: Load locale-specific strings.
-# TODO: Avoid duplication between Mash and Chrome pak files: crbug.com/628715.
-repack("resources") {
- output = "$root_out_dir/ash_mus_resources.pak"
- sources = [
- "$root_gen_dir/ash/resources/ash_resources_100_percent.pak",
- "$root_gen_dir/ash/strings/ash_strings_en-US.pak",
- "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_100_percent.pak",
- "$root_gen_dir/ui/chromeos/strings/ui_chromeos_strings_en-US.pak",
- "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
- "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
- "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
- "$root_gen_dir/ui/views/resources/views_resources_100_percent.pak",
- ]
- deps = [
- "//ash/resources",
- "//ash/strings",
- "//ui/chromeos/resources",
- "//ui/chromeos/strings",
- "//ui/resources",
- "//ui/strings",
- "//ui/views/mus:resources",
- "//ui/views/resources",
- ]
-}
-
-repack("resources_200") {
- output = "$root_out_dir/ash_mus_resources_200.pak"
- sources = [
- "$root_gen_dir/ash/resources/ash_resources_200_percent.pak",
- "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_200_percent.pak",
- "$root_gen_dir/ui/resources/ui_resources_200_percent.pak",
- "$root_gen_dir/ui/views/resources/views_resources_200_percent.pak",
- ]
- deps = [
- "//ash/resources",
- "//ui/chromeos/resources",
- "//ui/resources",
- "//ui/views/resources",
- ]
-}
-
-source_set("unittests") {
- testonly = true
-
- sources = [
- "app_launch_unittest.cc",
- "bridge/shell_port_mash_test_api.h",
- "display_synchronizer_unittest.cc",
- "non_client_frame_controller_unittest.cc",
- "top_level_window_factory_unittest.cc",
- "window_manager_unittest.cc",
- ]
-
- deps = [
- ":lib",
- ":resources",
- "//ash",
- "//ash:test_support_without_content",
- "//ash/public/cpp:ash_public_cpp",
- "//base",
- "//base/test:test_config",
- "//base/test:test_support",
- "//mash/quick_launch/public/interfaces:constants",
- "//mojo/public/cpp/system",
- "//services/service_manager/public/cpp:service_test_support",
- "//services/ui/common:mus_common",
- "//services/ui/public/cpp",
- "//services/ui/public/cpp/input_devices",
- "//services/ui/public/interfaces",
- "//skia",
- "//testing/gtest",
- "//ui/aura",
- "//ui/aura:test_support",
- "//ui/base",
- "//ui/base:test_support",
- "//ui/compositor:test_support",
- "//ui/display",
- "//ui/events",
- "//ui/events:test_support",
- "//ui/gfx:test_support",
- "//ui/gfx/geometry",
- "//ui/gfx/geometry/mojo",
- "//ui/message_center",
- "//ui/views:test_support",
- "//ui/views/mus",
- ]
-
- data_deps = [
- ":mus",
- "//mash/quick_launch",
- ]
-
- defines = [ "NOTIMPLEMENTED_POLICY=5" ]
-}
diff --git a/chromium/ash/public/cpp/BUILD.gn b/chromium/ash/public/cpp/BUILD.gn
index 4992d0c54d7..0bd8246471e 100644
--- a/chromium/ash/public/cpp/BUILD.gn
+++ b/chromium/ash/public/cpp/BUILD.gn
@@ -5,8 +5,9 @@
import("//mojo/public/tools/bindings/mojom.gni")
# C++ headers and sources that can be used outside ash.
-component("ash_public_cpp") {
+component("cpp") {
sources = [
+ "accessibility_types.h",
"app_types.h",
"ash_pref_names.cc",
"ash_pref_names.h",
@@ -49,7 +50,6 @@ component("ash_public_cpp") {
"shell_window_ids.h",
"stylus_utils.cc",
"stylus_utils.h",
- "voice_interaction_state.h",
"window_pin_type.cc",
"window_pin_type.h",
"window_properties.cc",
@@ -81,6 +81,8 @@ component("ash_public_cpp") {
allow_circular_includes_from =
[ "//ash/public/interfaces:interfaces_internal" ]
+
+ output_name = "ash_public_cpp"
}
# Using a test service because the traits need to pass handles around. Revisit
@@ -105,7 +107,7 @@ source_set("unit_tests") {
]
deps = [
- ":ash_public_cpp",
+ ":cpp",
":test_interfaces",
"//base",
"//testing/gtest",
diff --git a/chromium/ash/public/interfaces/BUILD.gn b/chromium/ash/public/interfaces/BUILD.gn
index 7b49da5a2fe..60e07b215ac 100644
--- a/chromium/ash/public/interfaces/BUILD.gn
+++ b/chromium/ash/public/interfaces/BUILD.gn
@@ -4,16 +4,18 @@
import("//mojo/public/tools/bindings/mojom.gni")
-# Depend upon //ash/public/cpp:ash_public_cpp, which has a public_dep on this.
-# The two targets must be bundled together as the typemaps depend upon
-# //ash/public/cpp, and //ash/public/cpp needs to depend on this for generated
-# code (such as enums and constants).
+# Depend upon //ash/public/cpp, which has a public_dep on this. The two targets
+# must be bundled together as the typemaps depend upon //ash/public/cpp,
+# and //ash/public/cpp needs to depend on this for generated code (such as
+# enums and constants).
mojom("interfaces_internal") {
visibility = [ "//ash/public/cpp:*" ]
sources = [
"accelerator_controller.mojom",
+ "accessibility_controller.mojom",
"ash_display_controller.mojom",
+ "ash_message_center_controller.mojom",
"cast_config.mojom",
"constants.mojom",
"event_properties.mojom",
@@ -21,11 +23,12 @@ mojom("interfaces_internal") {
"ime_controller.mojom",
"ime_info.mojom",
"locale.mojom",
- "lock_screen.mojom",
+ "login_screen.mojom",
"login_user_info.mojom",
"media.mojom",
"new_window.mojom",
"night_light_controller.mojom",
+ "note_taking_controller.mojom",
"pref_connector.mojom",
"session_controller.mojom",
"shelf.mojom",
@@ -35,10 +38,13 @@ mojom("interfaces_internal") {
"tray_action.mojom",
"update.mojom",
"user_info.mojom",
+ "voice_interaction_controller.mojom",
"volume.mojom",
"vpn_list.mojom",
"wallpaper.mojom",
+ "window_actions.mojom",
"window_pin_type.mojom",
+ "window_properties.mojom",
"window_state_type.mojom",
"window_style.mojom",
]
@@ -51,6 +57,7 @@ mojom("interfaces_internal") {
"//skia/public/interfaces",
"//ui/events/mojo:interfaces",
"//ui/gfx/image/mojo:interfaces",
+ "//ui/message_center/mojo:mojo",
]
component_output_prefix = "ash_public_interfaces_internal"
@@ -62,6 +69,7 @@ mojom("interfaces_internal") {
mojom("test_interfaces") {
testonly = true
sources = [
+ "shelf_test_api.mojom",
"system_tray_test_api.mojom",
]
deps = [
diff --git a/chromium/ash/public/interfaces/accessibility_controller.mojom b/chromium/ash/public/interfaces/accessibility_controller.mojom
new file mode 100644
index 00000000000..c73f7a667c5
--- /dev/null
+++ b/chromium/ash/public/interfaces/accessibility_controller.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;
+
+// Alert sent to the accessibility api.
+enum AccessibilityAlert {
+ // Default value, indicates no accessibility alert.
+ NONE,
+
+ // When caps lock is turned on.
+ CAPS_ON,
+
+ // When caps lock is turned off.
+ CAPS_OFF,
+
+ // When screen is turned on by tablet power button.
+ SCREEN_ON,
+
+ // When screen is turned off by tablet power button.
+ SCREEN_OFF,
+
+ // When window moved to above/below/left/right display by accelerators.
+ WINDOW_MOVED_TO_ABOVE_DISPLAY,
+ WINDOW_MOVED_TO_BELOW_DISPLAY,
+ WINDOW_MOVED_TO_LEFT_DISPLAY,
+ WINDOW_MOVED_TO_RIGHT_DISPLAY,
+
+ // When the user attempts a keyboard command that requires a window to work,
+ // and none is available.
+ WINDOW_NEEDED,
+
+ // When the user enters window overview mode.
+ WINDOW_OVERVIEW_MODE_ENTERED
+};
+
+// Interface for ash client (e.g. Chrome) to control and query accessibility
+// features.
+interface AccessibilityController {
+ // Sets the client interface.
+ SetClient(AccessibilityControllerClient client);
+};
+
+// Interface for ash to request accessibility service from its client (e.g.
+// Chrome).
+interface AccessibilityControllerClient {
+ // Triggers an accessibility alert to give the user feedback.
+ TriggerAccessibilityAlert(AccessibilityAlert alert);
+};
diff --git a/chromium/ash/public/interfaces/ash_message_center_controller.mojom b/chromium/ash/public/interfaces/ash_message_center_controller.mojom
new file mode 100644
index 00000000000..f42ce2c4033
--- /dev/null
+++ b/chromium/ash/public/interfaces/ash_message_center_controller.mojom
@@ -0,0 +1,71 @@
+// 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 "ui/gfx/image/mojo/image.mojom";
+import "ui/message_center/mojo/notification.mojom";
+import "ui/message_center/mojo/notifier_id.mojom";
+import "mojo/common/string16.mojom";
+
+// A struct that contains information for presenting a notifier in a settings
+// panel.
+struct NotifierUiData {
+ // The notifier (e.g. an extension).
+ message_center.mojom.NotifierId notifier_id;
+
+ // The user-visible name of the notifier (e.g. an extension's name).
+ mojo.common.mojom.String16 name;
+
+ // True if the notifier has a button for advanced settings/"learn more".
+ bool has_advanced_settings;
+
+ // True if notifications from the notifier are presently enabled.
+ bool enabled;
+
+ // An icon displayed next to the name.
+ gfx.mojom.ImageSkia? icon;
+};
+
+// The message center controller funnels notification requests from the client
+// to the MessageCenter.
+interface AshMessageCenterController {
+ SetClient(associated AshMessageCenterClient client);
+
+ ShowClientNotification(message_center.mojom.Notification notification);
+
+ UpdateNotifierIcon(message_center.mojom.NotifierId notifier_id,
+ gfx.mojom.ImageSkia icon);
+
+ NotifierEnabledChanged(message_center.mojom.NotifierId notifier_id,
+ bool enabled);
+};
+
+// The message center client interface mimics
+// message_center::NotificationDelegate. The ID strings match the id passed in
+// |notification| in ShowClientNotification and the format of the ID is up to
+// the client.
+interface AshMessageCenterClient {
+ // Called when a notification previously displayed by the client is closed.
+ HandleNotificationClosed(string id, bool by_user);
+
+ // Called when the body of a notification is clicked.
+ HandleNotificationClicked(string id);
+
+ // Called when a notification that has buttons (e.g., "Learn more") receives a
+ // click on one of the buttons.
+ HandleNotificationButtonClicked(string id, int32 button_index);
+
+ // Called when a user enables or disables notifications from the given
+ // notifier.
+ SetNotifierEnabled(message_center.mojom.NotifierId notifier_id, bool enabled);
+
+ // Called when the advanced settings button is pressed for a notifier.
+ HandleNotifierAdvancedSettingsRequested(
+ message_center.mojom.NotifierId notifier_id);
+
+ // Asks the client for a list of notifiers and associated UI information to be
+ // displayed in a settings panel.
+ GetNotifierList() => (array<NotifierUiData> notifiers);
+};
diff --git a/chromium/ash/public/interfaces/cast_config.mojom b/chromium/ash/public/interfaces/cast_config.mojom
index 3a6392639c3..72b4e8e9d2b 100644
--- a/chromium/ash/public/interfaces/cast_config.mojom
+++ b/chromium/ash/public/interfaces/cast_config.mojom
@@ -4,10 +4,25 @@
module ash.mojom;
+// The type of icon the sink is associated with. These values match
+// media_router::SinkIconType.
+enum SinkIconType {
+ CAST = 0,
+ CAST_AUDIO_GROUP = 1,
+ CAST_AUDIO = 2,
+ MEETING = 3,
+ HANGOUT = 4,
+ EDUCATION = 5,
+ GENERIC = 6
+};
+
struct CastSink {
string id;
string name;
string domain;
+
+ // Icon which describes the type of sink media is being routed to.
+ SinkIconType sink_icon_type = SinkIconType.GENERIC;
};
enum ContentSource {
diff --git a/chromium/ash/public/interfaces/highlighter_controller.mojom b/chromium/ash/public/interfaces/highlighter_controller.mojom
index fc679f56bb9..4a643d01f9b 100644
--- a/chromium/ash/public/interfaces/highlighter_controller.mojom
+++ b/chromium/ash/public/interfaces/highlighter_controller.mojom
@@ -12,6 +12,9 @@ import "ui/gfx/geometry/mojo/geometry.mojom";
interface HighlighterController {
// Sets the client interface.
SetClient(HighlighterControllerClient client);
+
+ // Exits the highlighter mode if it is currently enabled.
+ ExitHighlighterMode();
};
// Interface for ash to notify the client (e.g. Chrome) about the highlighter
diff --git a/chromium/ash/public/interfaces/lock_screen.mojom b/chromium/ash/public/interfaces/login_screen.mojom
index 5a5155b8024..91da5e10b5a 100644
--- a/chromium/ash/public/interfaces/lock_screen.mojom
+++ b/chromium/ash/public/interfaces/login_screen.mojom
@@ -9,10 +9,11 @@ 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 {
+// Allows clients (e.g. Chrome browser) to control the ash login/lock/user-add
+// screens.
+interface LoginScreen {
// Sets the client interface.
- SetClient(LockScreenClient client);
+ SetClient(LoginScreenClient client);
// Displays the lock screen. |did_show| is true iff the lock UI was
// successfully displayed.
@@ -37,7 +38,7 @@ interface LockScreen {
// |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);
+ EasyUnlockIconOptions icon);
// Requests to hide the custom icon in the user pod.
// |account_id|: The account id of the user in the user pod.
@@ -65,11 +66,19 @@ interface LockScreen {
// Requests focus to be handed off to the next suitable widget.
// |reverse|: Whether the tab order is reversed.
HandleFocusLeavingLockScreenApps(bool reverse);
+
+ // Called when the info shown for dev and canary channels are changed.
+ // |os_version_label_text|: The OS version.
+ // |enterprise_info_text|: The enterprise info.
+ // |bluetooth_name|: The name of the bluetooth adapter.
+ SetDevChannelInfo(string os_version_label_text,
+ string enterprise_info_text,
+ string bluetooth_name);
};
// Allows ash lock screen to control a client (e.g. Chrome browser). Requests
// often involve preferences or talk to cryptohome that is not available to ash.
-interface LockScreenClient {
+interface LoginScreenClient {
// Request user authentication in chrome.
// If auth succeeds:
// chrome will hide the lock screen and clear any displayed error messages.
diff --git a/chromium/ash/public/interfaces/login_user_info.mojom b/chromium/ash/public/interfaces/login_user_info.mojom
index 36e1daa5019..15779c24405 100644
--- a/chromium/ash/public/interfaces/login_user_info.mojom
+++ b/chromium/ash/public/interfaces/login_user_info.mojom
@@ -17,13 +17,52 @@ enum MultiProfileUserBehavior {
OWNER_PRIMARY_ONLY = 3,
};
+// Easy unlock icon choices.
+enum EasyUnlockIconId {
+ // No icon shown.
+ NONE,
+ // The user has clicked the easy unlock icon and disabled easy unlock for this
+ // login/lock session.
+ HARDLOCKED,
+ // Phone could not be found.
+ LOCKED,
+ // Phone found, but it is not unlocked.
+ LOCKED_TO_BE_ACTIVATED,
+ // Phone found, but it is too far away.
+ LOCKED_WITH_PROXIMITY_HINT,
+ // Phone found and unlocked. The user can click to dismiss the login/lock
+ // screen.
+ UNLOCKED,
+ // Scanning for phone.
+ SPINNER,
+};
+
// Information about the custom icon in the user pod.
-struct UserPodCustomIconOptions {
- string id;
+struct EasyUnlockIconOptions {
+ // Icon that should be displayed.
+ EasyUnlockIconId icon;
+ // Tooltip that is associated with the icon. This is shown automatically if
+ // |autoshow_tooltip| is true. The user can always see the tooltip if they
+ // hover over the icon. The tooltip should be used for the accessibility label
+ // if it is present.
mojo.common.mojom.String16 tooltip;
+ // If true, the tooltip should be displayed (even if the user is not currently
+ // hovering over the icon, ie, this makes |tooltip| act like a little like a
+ // notification).
bool autoshow_tooltip;
+ // Accessibility label. Only used if |tooltip| is empty.
+ // TODO(jdufault): Always populate and use |aria_label|, even if |tooltip| is
+ // non-empty.
mojo.common.mojom.String16 aria_label;
+ // If true, clicking the easy unlock icon should fire a hardlock event which
+ // will disable easy unlock. The hardlock event will request a new icon
+ // display via a separate EasyUnlockIconsOption update. See
+ // login_screen.mojom::HardlockPod.
bool hardlock_on_click;
+ // If true, the lock screen is being demoed so the user can test out easy
+ // unlock. The flow operates as normal. Hardlocking is disabled in this
+ // scenario.
+ // TODO(jdufault): This should be removed, as it does not change UI.
bool is_trial_run;
};
diff --git a/chromium/ash/public/interfaces/note_taking_controller.mojom b/chromium/ash/public/interfaces/note_taking_controller.mojom
new file mode 100644
index 00000000000..a97e33373c2
--- /dev/null
+++ b/chromium/ash/public/interfaces/note_taking_controller.mojom
@@ -0,0 +1,19 @@
+// 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;
+
+// Interface for ash client (e.g. Chrome) to connect to the note taking
+// controller.
+interface NoteTakingController {
+ // Sets the client interface.
+ SetClient(NoteTakingControllerClient client);
+};
+
+// Interface for ash to notify the client (e.g. Chrome) about the new note
+// creation.
+interface NoteTakingControllerClient {
+ // Called when the controller needs to create a new note.
+ CreateNote();
+}; \ No newline at end of file
diff --git a/chromium/ash/public/interfaces/shelf.mojom b/chromium/ash/public/interfaces/shelf.mojom
index e2ecf4fc075..58d155afeb1 100644
--- a/chromium/ash/public/interfaces/shelf.mojom
+++ b/chromium/ash/public/interfaces/shelf.mojom
@@ -33,7 +33,6 @@ enum ShelfAction {
enum ShelfItemStatus {
CLOSED, // A closed shelf item, i.e. has no live instance.
RUNNING, // A shelf item that has live instance.
- ACTIVE, // An active shelf item that has focus.
ATTENTION, // A shelf item that needs user's attention.
};
diff --git a/chromium/ash/public/interfaces/shelf_test_api.mojom b/chromium/ash/public/interfaces/shelf_test_api.mojom
new file mode 100644
index 00000000000..57040fcea1c
--- /dev/null
+++ b/chromium/ash/public/interfaces/shelf_test_api.mojom
@@ -0,0 +1,22 @@
+// 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;
+
+// All methods operate on the shelf on the primary display.
+interface ShelfTestApi {
+ // Returns true if the shelf is visible (e.g. not auto-hidden).
+ IsVisible() => (bool visible);
+
+ // Forces a visibility update and then runs the callback.
+ UpdateVisibility() => ();
+
+ // Returns true if a window is overlapping the shelf, which changes its
+ // appearance slightly.
+ HasOverlappingWindow() => (bool overlap);
+
+ // Returns true if the shelf alignment is BOTTOM_LOCKED, which is not exposed
+ // via prefs.
+ IsAlignmentBottomLocked() => (bool locked);
+};
diff --git a/chromium/ash/public/interfaces/system_tray.mojom b/chromium/ash/public/interfaces/system_tray.mojom
index 4c5571e00e6..3f5dffd1d17 100644
--- a/chromium/ash/public/interfaces/system_tray.mojom
+++ b/chromium/ash/public/interfaces/system_tray.mojom
@@ -122,6 +122,9 @@ interface SystemTrayClient {
// connection (e.g. Cisco AnyConnect).
ShowThirdPartyVpnCreate(string extension_id);
+ // Launches Arc VPN provider.
+ ShowArcVpnCreate(string app_id);
+
// Shows settings related to networking. If |network_id| is empty, shows
// general settings. Otherwise shows settings for the individual network.
// On devices |network_id| is a GUID, but on Linux desktop and in tests it can
diff --git a/chromium/ash/public/interfaces/system_tray_test_api.mojom b/chromium/ash/public/interfaces/system_tray_test_api.mojom
index c46bba08749..9ac668b0356 100644
--- a/chromium/ash/public/interfaces/system_tray_test_api.mojom
+++ b/chromium/ash/public/interfaces/system_tray_test_api.mojom
@@ -15,6 +15,14 @@ enum TrayItem {
// All methods operate on the system tray on the primary display.
interface SystemTrayTestApi {
+ // Disables animations (e.g. the tray view icon slide-in).
+ DisableAnimations() => ();
+
+ // Returns true if the view exists and is visible in the system tray area
+ // at the bottom of the screen. Usually these views are icons, like the Wi-Fi
+ // or battery icon.
+ IsTrayViewVisible(int32 view_id) => (bool visible);
+
// Shows the system tray bubble menu.
ShowBubble() => ();
@@ -27,4 +35,11 @@ interface SystemTrayTestApi {
// Returns the tooltip for a bubble view, or the empty string if the view
// does not exist.
GetBubbleViewTooltip(int32 view_id) => (mojo.common.mojom.String16 tooltip);
+
+ // Returns the label for a bubble view, or the empty string if the view does
+ // not exist. The view must be a views::Label.
+ GetBubbleLabelText(int32 view_id) => (mojo.common.mojom.String16 tooltip);
+
+ // Returns true if the clock is using 24 hour time.
+ Is24HourClock() => (bool is_24_hour);
};
diff --git a/chromium/ash/public/interfaces/tray_action.mojom b/chromium/ash/public/interfaces/tray_action.mojom
index 49f40c5babf..4e08e4831b9 100644
--- a/chromium/ash/public/interfaces/tray_action.mojom
+++ b/chromium/ash/public/interfaces/tray_action.mojom
@@ -19,11 +19,6 @@ enum TrayActionState {
// The client is currently handling the action.
kActive,
-
- // The client is currently handling the action, but in background (e.g. the
- // handler window for the lock screen action was moved to the background and
- // appears underneath the login user pods).
- kBackground,
};
// The user action that triggered a request for a new note.
diff --git a/chromium/ash/public/interfaces/voice_interaction_controller.mojom b/chromium/ash/public/interfaces/voice_interaction_controller.mojom
new file mode 100644
index 00000000000..56c73f81901
--- /dev/null
+++ b/chromium/ash/public/interfaces/voice_interaction_controller.mojom
@@ -0,0 +1,66 @@
+// 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;
+
+// There is another copy of the VoiceInteractionState definition in
+// //components/arc/common/voice_interaction_framework.mojom
+// Please also update the other one if you change it.
+// The duplicate definition is because we do not use extensible widely
+// (crbug.com/731893).
+
+// The initial state is NOT_READY, then it will either becomes STOPPED or
+// RUNNING. If the mojo connection is lost, the state will be set back to
+// NOT_READY.
+enum VoiceInteractionState {
+ // Voice interaction service is not ready yet, request sent will be waiting.
+ NOT_READY = 0,
+ // Voice interaction session is stopped.
+ STOPPED,
+ // Voice interaction session is currently running.
+ RUNNING
+};
+
+enum AssistantAllowedState {
+ // Assistant feature is allowed.
+ ALLOWED = 0,
+ // Disallowed because ARC++ is disallowed. There could be many specific
+ // reasones why ARC++ is disallowed. This enum is a catch all. Some enums
+ // below will show specific reasons.
+ DISALLOWED_BY_ARC_DISALLOWED,
+ // Disallowed because ARC++ is disabled by policy.
+ DISALLOWED_BY_ARC_POLICY,
+ // Disallowed because user's locale is not compatible.
+ DISALLOWED_BY_LOCALE,
+ // Disallowed because the feature flag is off.
+ DISALLOWED_BY_FLAG,
+ // Disallowed because current user is not primary user.
+ DISALLOWED_BY_NONPRIMARY_USER,
+ // Disallowed because current user is supervised user.
+ DISALLOWED_BY_SUPERVISED_USER,
+ // Disallowed because incognito mode.
+ DISALLOWED_BY_INCOGNITO
+};
+
+// Interface for ash client (Chrome) to connect to the voice interaction
+// controller, which notifies changes of voice interaction related flags.
+interface VoiceInteractionController {
+ // Called when the voice interaction state is changed.
+ NotifyStatusChanged(VoiceInteractionState state);
+
+ // Called when the voice interaction settings is enabled/disabled.
+ NotifySettingsEnabled(bool enabled);
+
+ // Called when the voice interaction context is enabled/disabled.
+ // If context is enabled the screenshot will be passed in voice
+ // interaction session.
+ NotifyContextEnabled(bool enabled);
+
+ // Called when the voice interaction setup complete status is changed.
+ NotifySetupCompleted(bool completed);
+
+ // Notify if voice interaction feature is allowed or not. e.g. not allowed
+ // if disabled by policy.
+ NotifyFeatureAllowed(AssistantAllowedState state);
+};
diff --git a/chromium/ash/public/interfaces/vpn_list.mojom b/chromium/ash/public/interfaces/vpn_list.mojom
index dd7954330a4..3c030fe527c 100644
--- a/chromium/ash/public/interfaces/vpn_list.mojom
+++ b/chromium/ash/public/interfaces/vpn_list.mojom
@@ -4,17 +4,43 @@
module ash.mojom;
+import "mojo/common/time.mojom";
+
// Describes a third-party VPN provided by an extension (e.g. Cisco AnyConnect).
struct ThirdPartyVpnProvider {
string name;
string extension_id;
};
+// Describes an Arc VPN provider. last_launch_time is used to sort the list of
+// Arc VPN providers.
+struct ArcVpnProvider {
+ // Unique android package name of the Arc VPN provider. e.g. vpn.app.package
+ string package_name;
+ // App name of Arc VPN provider. e.g. VPNapp
+ string app_name;
+ // Unique app id for launching the app. e.g. pbmkokpdlpfmapoiccpblbmjjhhabjaa
+ string app_id;
+ // Last launch time of the Arc VPN provider.
+ mojo.common.mojom.Time last_launch_time;
+};
+
// Manages the VPN provider list in ash. Allows extension-backed VPN providers
// to be added. Ash handles the built-in OpenVPN / L2TP provider internally.
+// Allows Arc VPN providers to be added and removed, updates providers' launch
+// time so that they are shown in LRU order, updates providers' name change.
interface VpnList {
// Sets the list of third-party VPN providers. The |providers| array may be
// empty to clear the list (e.g. after the last third-party VPN extension is
// uninstalled).
SetThirdPartyVpnProviders(array<ThirdPartyVpnProvider> providers);
+
+ // Sets the list of Arc VPN providers.
+ SetArcVpnProviders(array<ArcVpnProvider> arc_providers);
+
+ // Adds or updates an Arc VPN provider.
+ AddOrUpdateArcVPNProvider(ArcVpnProvider arc_provider);
+
+ // Removes an Arc VPN provider.
+ RemoveArcVPNProvider(string package_name);
};
diff --git a/chromium/ash/public/interfaces/wallpaper.mojom b/chromium/ash/public/interfaces/wallpaper.mojom
index d368fe9a2be..3db509c80ac 100644
--- a/chromium/ash/public/interfaces/wallpaper.mojom
+++ b/chromium/ash/public/interfaces/wallpaper.mojom
@@ -4,8 +4,12 @@
module ash.mojom;
+import "ash/public/interfaces/user_info.mojom";
+import "components/signin/public/interfaces/account_id.mojom";
+import "mojo/common/file_path.mojom";
import "mojo/common/time.mojom";
import "skia/public/interfaces/bitmap.mojom";
+import "url/mojo/url.mojom";
// These values match wallpaper::WallpaperLayout.
enum WallpaperLayout {
@@ -26,6 +30,9 @@ enum WallpaperType {
DEVICE,
};
+// TODO(crbug.com/776464): Remove this after WallpaperManager is removed.
+// WallpaperInfo will be an internal concept within WallpaperController.
+//
// This corresponds to wallpaper::WallpaperInfo.
struct WallpaperInfo {
string location;
@@ -34,25 +41,118 @@ struct WallpaperInfo {
mojo.common.mojom.Time date;
};
+// User info needed to set wallpapers. Clients must specify the user because
+// it's not always the same with the active user, e.g., when showing wallpapers
+// for different user pods at login screen, or setting wallpapers selectively
+// for primary user and active user during a multi-profile session.
+struct WallpaperUserInfo {
+ // The user's account id.
+ signin.mojom.AccountId account_id;
+
+ // The user type. Matches user_manager::UserType.
+ UserType type;
+
+ // True if the user's non-cryptohome data (wallpaper, avatar etc.) is
+ // ephemeral. See |UserManager::IsCurrentUserNonCryptohomeDataEphemeral| for
+ // more details.
+ bool is_ephemeral;
+
+ // True if the user has gaia account.
+ bool has_gaia_account;
+};
+
// 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);
+ // Sets the client interface.
+ SetClient(WallpaperControllerClient client);
+
+ // Sets wallpaper from policy or from a local file. Saves the custom wallpaper
+ // to file, posts task to generate thumbnail and updates local state.
+ // |user_info|: The user's information related to wallpaper.
+ // |wallpaper_files_id|: The unique id of each wallpaper file.
+ // |file_name|: The name of the wallpaper file.
+ // |layout|: The layout of the wallpaper, used for wallpaper resizing.
+ // |type|: The type of the wallpaper, e.g., default, policy etc.
+ // |image|: The wallpaper image.
+ // |show_wallpaper|: If false, don't show the new wallpaper now but only
+ // update cache.
+ SetCustomWallpaper(WallpaperUserInfo user_info,
+ string wallpaper_files_id,
+ string file_name,
+ WallpaperLayout layout,
+ WallpaperType type,
+ skia.mojom.Bitmap image,
+ bool show_wallpaper);
+
+ // Sets wallpaper from the wallpaper picker selection, i.e., the wallpaper
+ // type is ONLINE.
+ // |user_info|: The user's information related to wallpaper.
+ // |image|: The wallpaper image.
+ // |url|: The url corresponding to this wallpaper. Used as a placeholder for
+ // the location in WallpaperInfo.
+ // |layout|: The layout of the wallpaper, used for wallpaper resizing.
+ // |show_wallpaper|: If false, don't show the new wallpaper now but only
+ // update cache.
+ SetOnlineWallpaper(WallpaperUserInfo user_info,
+ skia.mojom.Bitmap image,
+ string url,
+ WallpaperLayout layout,
+ bool show_wallpaper);
+
+ // Sets the user's wallpaper to be the default wallpaper. Note: different user
+ // types may have different default wallpapers. If |show_wallpaper| is false,
+ // don't show the default wallpaper now.
+ SetDefaultWallpaper(WallpaperUserInfo user_info, bool show_wallpaper);
- // Set the wallpaper picker interface, to let ash trigger Chrome's picker.
- SetWallpaperPicker(WallpaperPicker picker);
+ // Sets a customized default wallpaper to be used wherever a default wallpaper
+ // is needed. Note: it doesn't change the default wallpaper for guest and
+ // child accounts.
+ // |wallpaper_url|: The url corresponding to this wallpaper.
+ // |file_path|: The path of the wallpaper file.
+ // |resized_directory|: The directory where resized versions are stored. Must
+ // be writable.
+ SetCustomizedDefaultWallpaper(url.mojom.Url wallpaper_url,
+ mojo.common.mojom.FilePath file_path,
+ mojo.common.mojom.FilePath resized_directory);
+ // Shows the user's wallpaper, which is determined in the following order:
+ // 1) Use device policy wallpaper if it exists AND we are at the login screen.
+ // 2) Use user policy wallpaper if it exists.
+ // 3) Use the wallpaper set by the user (either by |SetOnlineWallpaper| or
+ // |SetCustomWallpaper|), if any.
+ // 4) Use the default wallpaper of this user.
+ ShowUserWallpaper(WallpaperUserInfo user_info);
+
+ // Used by the gaia-signin UI. Signin wallpaper is considered either as the
+ // device policy wallpaper or the default wallpaper.
+ ShowSigninWallpaper();
+
+ // Removes all of the user's saved wallpapers and related info.
+ RemoveUserWallpaper(WallpaperUserInfo user_info);
+
+ // TODO(crbug.com/776464): This is only used by WallpaperManager. Remove this
+ // after WallpaperManager is removed.
+ //
// 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, WallpaperInfo info);
+ // Calling this method triggers an initial notification of the wallpaper
+ // state. Observers are automatically removed as their connections are closed.
+ AddObserver(associated WallpaperObserver observer);
+
// Runs to get wallpaper prominent colors.
GetWallpaperColors() => (array<uint32> prominent_colors);
};
+// Used by ash to control a Chrome client.
+interface WallpaperControllerClient {
+ // Opens the wallpaper picker window.
+ OpenWallpaperPicker();
+};
+
// Used to listen for wallpaper state changed.
interface WallpaperObserver {
// Called when the colors extracted from the current wallpaper change. May
@@ -61,9 +161,3 @@ interface WallpaperObserver {
// Colors are ordered and are referenced in wallpaper::ColorProfileType.
OnWallpaperColorsChanged(array<uint32> prominent_colors);
};
-
-// Used by ash to trigger Chrome's wallpaper picker functionality.
-interface WallpaperPicker {
- // Open the wallpaper picker window.
- Open();
-};
diff --git a/chromium/ash/public/interfaces/window_actions.mojom b/chromium/ash/public/interfaces/window_actions.mojom
new file mode 100644
index 00000000000..1caa15b71b9
--- /dev/null
+++ b/chromium/ash/public/interfaces/window_actions.mojom
@@ -0,0 +1,10 @@
+// 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;
+
+// The multiprofile mode in chromeos performs tricks with window visibility
+// which require manually notifying the tablet mode controller that a window
+// should be considered visible.
+const string kAddWindowToTabletMode = "ash:add-window-to-tablet-mode";
diff --git a/chromium/ash/public/interfaces/window_properties.mojom b/chromium/ash/public/interfaces/window_properties.mojom
new file mode 100644
index 00000000000..af14f4fcf6a
--- /dev/null
+++ b/chromium/ash/public/interfaces/window_properties.mojom
@@ -0,0 +1,21 @@
+// 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;
+
+// V1 apps can intercept system keys. This will let the app handle F-keys instead
+// of the window manager.
+const string kCanConsumeSystemKeys_Property =
+ "ash:can-consume-system-keys";
+
+// True if the shelf should be hidden when this window is put into fullscreen.
+// Exposed because some windows want to explicitly opt-out of this.
+const string kHideShelfWhenFullscreen_Property =
+ "ash:hide-shelf-when-fullscreen";
+
+// This is put on windows to indicate that ash should perform auto management of
+// window positions; when you open a second browser, ash will move the two to
+// minimize overlap.
+const string kWindowPositionManaged_Property =
+ "ash:window-position-managed";
diff --git a/chromium/ash/resources/BUILD.gn b/chromium/ash/resources/BUILD.gn
index 57aeab683b9..045404f0574 100644
--- a/chromium/ash/resources/BUILD.gn
+++ b/chromium/ash/resources/BUILD.gn
@@ -35,7 +35,10 @@ template("ash_test_resources") {
]
if (percent == "100") {
- sources += [ "$root_gen_dir/ui/resources/webui_resources.pak" ]
+ sources += [
+ "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
+ "$root_gen_dir/ui/resources/webui_resources.pak",
+ ]
}
if (defined(invoker.sources)) {
@@ -44,6 +47,7 @@ template("ash_test_resources") {
deps = [
"//ash/resources",
+ "//mojo/public/js:resources",
"//ui/app_list/resources",
"//ui/chromeos/resources",
"//ui/resources",
diff --git a/chromium/ash/resources/vector_icons/BUILD.gn b/chromium/ash/resources/vector_icons/BUILD.gn
index 53af1f94ca9..ca3fb8218f9 100644
--- a/chromium/ash/resources/vector_icons/BUILD.gn
+++ b/chromium/ash/resources/vector_icons/BUILD.gn
@@ -2,6 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/chrome_build.gni")
import("//components/vector_icons/vector_icons.gni")
aggregate_vector_icons("ash_vector_icons") {
@@ -26,6 +27,8 @@ aggregate_vector_icons("ash_vector_icons") {
"lock_screen_arrow.icon",
"lock_screen_backspace.1x.icon",
"lock_screen_backspace.icon",
+ "lock_screen_caps_lock.1x.icon",
+ "lock_screen_caps_lock.icon",
"lock_screen_dropdown.1x.icon",
"lock_screen_dropdown.icon",
"network_badge_add_other.1x.icon",
@@ -76,8 +79,10 @@ aggregate_vector_icons("ash_vector_icons") {
"notification_capslock.icon",
"notification_center_all_done.icon",
"notification_center_clear_all.icon",
+ "notification_center_collapse.icon",
"notification_center_do_not_disturb_off.icon",
"notification_center_do_not_disturb_on.icon",
+ "notification_center_empty.icon",
"notification_center_settings.icon",
"notification_charging_usb_c.icon",
"notification_chromevox.icon",
@@ -170,10 +175,16 @@ aggregate_vector_icons("ash_vector_icons") {
"system_menu_caps_lock.icon",
"system_menu_cast.1x.icon",
"system_menu_cast.icon",
- "system_menu_cast_device.1x.icon",
- "system_menu_cast_device.icon",
+ "system_menu_cast_audio.1x.icon",
+ "system_menu_cast_audio.icon",
+ "system_menu_cast_audio_group.1x.icon",
+ "system_menu_cast_audio_group.icon",
"system_menu_cast_enabled.1x.icon",
"system_menu_cast_enabled.icon",
+ "system_menu_cast_generic.1x.icon",
+ "system_menu_cast_generic.icon",
+ "system_menu_cast_message.1x.icon",
+ "system_menu_cast_message.icon",
"system_menu_child_user.1x.icon",
"system_menu_child_user.icon",
"system_menu_computer.1x.icon",
@@ -276,6 +287,8 @@ aggregate_vector_icons("ash_vector_icons") {
"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",
"window_control_close.icon",
"window_control_left_snapped.1x.icon",
@@ -289,6 +302,19 @@ aggregate_vector_icons("ash_vector_icons") {
"window_control_right_snapped.1x.icon",
"window_control_right_snapped.icon",
]
+
+ if (is_chrome_branded) {
+ icons += [
+ "system_menu_cast_device.1x.icon",
+ "system_menu_cast_device.icon",
+ "system_menu_cast_education.1x.icon",
+ "system_menu_cast_education.icon",
+ "system_menu_cast_hangout.1x.icon",
+ "system_menu_cast_hangout.icon",
+ "system_menu_cast_meeting.1x.icon",
+ "system_menu_cast_meeting.icon",
+ ]
+ }
}
source_set("vector_icons") {
diff --git a/chromium/ash/mus/standalone/BUILD.gn b/chromium/ash/standalone/BUILD.gn
index 01ebe41d771..3b70c57f379 100644
--- a/chromium/ash/mus/standalone/BUILD.gn
+++ b/chromium/ash/standalone/BUILD.gn
@@ -16,10 +16,10 @@ service("ash_standalone") {
]
deps = [
+ "//ash",
+ "//ash:ash_service_resources",
+ "//ash:ash_service_resources_200",
"//ash:ash_shell_lib",
- "//ash/mus:lib",
- "//ash/mus:resources",
- "//ash/mus:resources_200",
"//services/service_manager/public/cpp",
"//services/ui/public/cpp/input_devices",
"//services/ui/public/interfaces",
@@ -30,8 +30,8 @@ service("ash_standalone") {
# TODO(beng): This target relies on //mash/session, but there is a cycle so we
# can't state that dependency here.
data_deps = [
- "//ash/mus:resources",
- "//ash/mus:resources_200",
+ "//ash:ash_service_resources",
+ "//ash:ash_service_resources_200",
"//services/ui",
]
}
diff --git a/chromium/ash/touch_hud/mus/BUILD.gn b/chromium/ash/touch_hud/mus/BUILD.gn
index 8c82e8df51b..97d0989b127 100644
--- a/chromium/ash/touch_hud/mus/BUILD.gn
+++ b/chromium/ash/touch_hud/mus/BUILD.gn
@@ -14,7 +14,7 @@ source_set("lib") {
]
deps = [
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//ash/touch_hud",
"//base",
"//mash/public/interfaces",
diff --git a/chromium/ash/wayland/BUILD.gn b/chromium/ash/wayland/BUILD.gn
index 2eba8065306..d9f3fe0eb21 100644
--- a/chromium/ash/wayland/BUILD.gn
+++ b/chromium/ash/wayland/BUILD.gn
@@ -11,7 +11,7 @@ source_set("wayland") {
]
deps = [
- "//ash/public/cpp:ash_public_cpp",
+ "//ash/public/cpp",
"//base",
"//components/exo",
"//components/exo/wayland",