OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_SHELL_H_ | 5 #ifndef ASH_SHELL_H_ |
6 #define ASH_SHELL_H_ | 6 #define ASH_SHELL_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "ash/ash_export.h" | 12 #include "ash/ash_export.h" |
13 #include "ash/metrics/user_metrics_recorder.h" | 13 #include "ash/metrics/user_metrics_recorder.h" |
14 #include "ash/public/cpp/shelf_types.h" | 14 #include "ash/public/cpp/shelf_types.h" |
15 #include "ash/wm/cursor_manager_chromeos.h" | 15 #include "ash/wm/cursor_manager_chromeos.h" |
16 #include "ash/wm/system_modal_container_event_filter_delegate.h" | 16 #include "ash/wm/system_modal_container_event_filter_delegate.h" |
17 #include "base/gtest_prod_util.h" | 17 #include "base/gtest_prod_util.h" |
18 #include "base/macros.h" | 18 #include "base/macros.h" |
19 #include "base/memory/weak_ptr.h" | 19 #include "base/memory/weak_ptr.h" |
20 #include "base/observer_list.h" | 20 #include "base/observer_list.h" |
21 #include "ui/aura/window.h" | 21 #include "ui/aura/window.h" |
22 #include "ui/display/screen.h" | 22 #include "ui/display/screen.h" |
23 #include "ui/events/event_target.h" | 23 #include "ui/events/event_target.h" |
24 #include "ui/wm/core/cursor_manager.h" | 24 #include "ui/wm/core/cursor_manager.h" |
25 | 25 |
26 namespace aura { | 26 namespace aura { |
27 class RootWindow; | 27 class RootWindow; |
| 28 class UserActivityForwarder; |
28 class Window; | 29 class Window; |
29 class WindowManagerClient; | 30 class WindowManagerClient; |
30 class WindowTreeClient; | 31 class WindowTreeClient; |
31 namespace client { | 32 namespace client { |
32 class ActivationClient; | 33 class ActivationClient; |
33 class FocusClient; | 34 class FocusClient; |
34 } | 35 } |
35 } | 36 } |
36 | 37 |
37 namespace chromeos { | 38 namespace chromeos { |
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 | 492 |
492 // An event filter that pre-handles global accelerators. | 493 // An event filter that pre-handles global accelerators. |
493 std::unique_ptr<::wm::AcceleratorFilter> accelerator_filter_; | 494 std::unique_ptr<::wm::AcceleratorFilter> accelerator_filter_; |
494 | 495 |
495 std::unique_ptr<display::DisplayManager> display_manager_; | 496 std::unique_ptr<display::DisplayManager> display_manager_; |
496 std::unique_ptr<DisplayConfigurationController> | 497 std::unique_ptr<DisplayConfigurationController> |
497 display_configuration_controller_; | 498 display_configuration_controller_; |
498 | 499 |
499 std::unique_ptr<ScreenPinningController> screen_pinning_controller_; | 500 std::unique_ptr<ScreenPinningController> screen_pinning_controller_; |
500 | 501 |
| 502 // Forwards user activity ui::mojom::UserActivityMonitor to |
| 503 // |user_activity_detector_|. Only initialized for mash. |
| 504 std::unique_ptr<aura::UserActivityForwarder> user_activity_forwarder_; |
| 505 |
501 std::unique_ptr<PowerEventObserver> power_event_observer_; | 506 std::unique_ptr<PowerEventObserver> power_event_observer_; |
502 std::unique_ptr<ui::UserActivityPowerManagerNotifier> user_activity_notifier_; | 507 std::unique_ptr<ui::UserActivityPowerManagerNotifier> user_activity_notifier_; |
503 std::unique_ptr<VideoActivityNotifier> video_activity_notifier_; | 508 std::unique_ptr<VideoActivityNotifier> video_activity_notifier_; |
504 std::unique_ptr<StickyKeysController> sticky_keys_controller_; | 509 std::unique_ptr<StickyKeysController> sticky_keys_controller_; |
505 std::unique_ptr<ResolutionNotificationController> | 510 std::unique_ptr<ResolutionNotificationController> |
506 resolution_notification_controller_; | 511 resolution_notification_controller_; |
507 std::unique_ptr<BluetoothNotificationController> | 512 std::unique_ptr<BluetoothNotificationController> |
508 bluetooth_notification_controller_; | 513 bluetooth_notification_controller_; |
509 std::unique_ptr<VirtualKeyboardController> virtual_keyboard_controller_; | 514 std::unique_ptr<VirtualKeyboardController> virtual_keyboard_controller_; |
510 std::unique_ptr<chromeos::AudioA11yController> audio_a11y_controller_; | 515 std::unique_ptr<chromeos::AudioA11yController> audio_a11y_controller_; |
511 // Controls video output device state. | 516 // Controls video output device state. |
512 std::unique_ptr<display::DisplayConfigurator> display_configurator_; | 517 std::unique_ptr<display::DisplayConfigurator> display_configurator_; |
513 std::unique_ptr<DisplayColorManager> display_color_manager_; | 518 std::unique_ptr<DisplayColorManager> display_color_manager_; |
514 std::unique_ptr<DisplayErrorObserver> display_error_observer_; | 519 std::unique_ptr<DisplayErrorObserver> display_error_observer_; |
515 std::unique_ptr<ProjectingObserver> projecting_observer_; | 520 std::unique_ptr<ProjectingObserver> projecting_observer_; |
516 | 521 |
517 // Listens for output changes and updates the display manager. | 522 // Listens for output changes and updates the display manager. |
518 std::unique_ptr<display::DisplayChangeObserver> display_change_observer_; | 523 std::unique_ptr<display::DisplayChangeObserver> display_change_observer_; |
519 | 524 |
520 // Listens for shutdown and updates DisplayConfigurator. | 525 // Listens for shutdown and updates DisplayConfigurator. |
521 std::unique_ptr<ShutdownObserver> shutdown_observer_; | 526 std::unique_ptr<ShutdownObserver> shutdown_observer_; |
522 | 527 |
523 // Implements content::ScreenOrientationController for ChromeOS | 528 // Implements content::ScreenOrientationController for Chrome OS. |
524 std::unique_ptr<ScreenOrientationController> screen_orientation_controller_; | 529 std::unique_ptr<ScreenOrientationController> screen_orientation_controller_; |
525 std::unique_ptr<ScreenLayoutObserver> screen_layout_observer_; | 530 std::unique_ptr<ScreenLayoutObserver> screen_layout_observer_; |
526 | 531 |
527 std::unique_ptr<AshTouchTransformController> touch_transformer_controller_; | 532 std::unique_ptr<AshTouchTransformController> touch_transformer_controller_; |
528 | 533 |
529 std::unique_ptr<ui::EventHandler> magnifier_key_scroll_handler_; | 534 std::unique_ptr<ui::EventHandler> magnifier_key_scroll_handler_; |
530 std::unique_ptr<ui::EventHandler> speech_feedback_handler_; | 535 std::unique_ptr<ui::EventHandler> speech_feedback_handler_; |
531 std::unique_ptr<LaserPointerController> laser_pointer_controller_; | 536 std::unique_ptr<LaserPointerController> laser_pointer_controller_; |
532 std::unique_ptr<PartialMagnificationController> | 537 std::unique_ptr<PartialMagnificationController> |
533 partial_magnification_controller_; | 538 partial_magnification_controller_; |
534 | 539 |
535 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a | 540 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a |
536 // pointer to vend to test code. | 541 // pointer to vend to test code. |
537 AshNativeCursorManager* native_cursor_manager_; | 542 AshNativeCursorManager* native_cursor_manager_; |
538 | 543 |
539 // Cursor may be hidden on certain key events in ChromeOS, whereas we never | 544 // Cursor may be hidden on certain key events in Chrome OS, whereas we never |
540 // hide the cursor on Windows. | 545 // hide the cursor on Windows. |
541 std::unique_ptr<::wm::CursorManager> cursor_manager_; | 546 std::unique_ptr<::wm::CursorManager> cursor_manager_; |
542 | 547 |
543 // For testing only: simulate that a modal window is open | 548 // For testing only: simulate that a modal window is open |
544 bool simulate_modal_window_open_for_testing_; | 549 bool simulate_modal_window_open_for_testing_; |
545 | 550 |
546 bool is_touch_hud_projection_enabled_; | 551 bool is_touch_hud_projection_enabled_; |
547 | 552 |
548 // Injected content::GPUDataManager support. | 553 // Injected content::GPUDataManager support. |
549 std::unique_ptr<GPUSupport> gpu_support_; | 554 std::unique_ptr<GPUSupport> gpu_support_; |
550 | 555 |
551 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_; | 556 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_; |
552 | 557 |
553 DISALLOW_COPY_AND_ASSIGN(Shell); | 558 DISALLOW_COPY_AND_ASSIGN(Shell); |
554 }; | 559 }; |
555 | 560 |
556 } // namespace ash | 561 } // namespace ash |
557 | 562 |
558 #endif // ASH_SHELL_H_ | 563 #endif // ASH_SHELL_H_ |
OLD | NEW |