Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: ash/shell.h

Issue 2072853002: Implement "pinned" mode in ash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix linux build breakage Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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>
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 class WmWindow; 165 class WmWindow;
166 166
167 namespace shell { 167 namespace shell {
168 class WindowWatcher; 168 class WindowWatcher;
169 } 169 }
170 170
171 namespace test { 171 namespace test {
172 class ShellTestApi; 172 class ShellTestApi;
173 } 173 }
174 174
175 namespace wm {
176 class PinnedController;
177 }
178
175 // Shell is a singleton object that presents the Shell API and implements the 179 // Shell is a singleton object that presents the Shell API and implements the
176 // RootWindow's delegate interface. 180 // RootWindow's delegate interface.
177 // 181 //
178 // Upon creation, the Shell sets itself as the RootWindow's delegate, which 182 // Upon creation, the Shell sets itself as the RootWindow's delegate, which
179 // takes ownership of the Shell. 183 // takes ownership of the Shell.
180 class ASH_EXPORT Shell : public SystemModalContainerEventFilterDelegate, 184 class ASH_EXPORT Shell : public SystemModalContainerEventFilterDelegate,
181 public ui::EventTarget, 185 public ui::EventTarget,
182 public aura::client::ActivationChangeObserver { 186 public aura::client::ActivationChangeObserver {
183 public: 187 public:
184 typedef std::vector<RootWindowController*> RootWindowControllerList; 188 typedef std::vector<RootWindowController*> RootWindowControllerList;
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 // returned object. 585 // returned object.
582 ash::FirstRunHelper* CreateFirstRunHelper(); 586 ash::FirstRunHelper* CreateFirstRunHelper();
583 587
584 // Toggles cursor compositing on/off. Native cursor is disabled when cursor 588 // Toggles cursor compositing on/off. Native cursor is disabled when cursor
585 // compositing is enabled, and vice versa. 589 // compositing is enabled, and vice versa.
586 void SetCursorCompositingEnabled(bool enabled); 590 void SetCursorCompositingEnabled(bool enabled);
587 591
588 StickyKeysController* sticky_keys_controller() { 592 StickyKeysController* sticky_keys_controller() {
589 return sticky_keys_controller_.get(); 593 return sticky_keys_controller_.get();
590 } 594 }
595
591 #endif // defined(OS_CHROMEOS) 596 #endif // defined(OS_CHROMEOS)
592 597
598 wm::PinnedController* pinned_controller() { return pinned_controller_.get(); }
599
593 ToastManager* toast_manager() { return toast_manager_.get(); } 600 ToastManager* toast_manager() { return toast_manager_.get(); }
594 601
595 GPUSupport* gpu_support() { return gpu_support_.get(); } 602 GPUSupport* gpu_support() { return gpu_support_.get(); }
596 603
597 private: 604 private:
598 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); 605 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor);
599 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); 606 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors);
600 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate); 607 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate);
601 friend class RootWindowController; 608 friend class RootWindowController;
602 friend class ScopedTargetRootWindow; 609 friend class ScopedTargetRootWindow;
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 std::unique_ptr<SystemGestureEventFilter> system_gesture_filter_; 730 std::unique_ptr<SystemGestureEventFilter> system_gesture_filter_;
724 731
725 // An event filter that pre-handles global accelerators. 732 // An event filter that pre-handles global accelerators.
726 std::unique_ptr<::wm::AcceleratorFilter> accelerator_filter_; 733 std::unique_ptr<::wm::AcceleratorFilter> accelerator_filter_;
727 734
728 std::unique_ptr<DisplayManager> display_manager_; 735 std::unique_ptr<DisplayManager> display_manager_;
729 std::unique_ptr<DisplayConfigurationController> 736 std::unique_ptr<DisplayConfigurationController>
730 display_configuration_controller_; 737 display_configuration_controller_;
731 738
732 std::unique_ptr<LocaleNotificationController> locale_notification_controller_; 739 std::unique_ptr<LocaleNotificationController> locale_notification_controller_;
740 std::unique_ptr<wm::PinnedController> pinned_controller_;
733 741
734 #if defined(OS_CHROMEOS) 742 #if defined(OS_CHROMEOS)
735 std::unique_ptr<PowerEventObserver> power_event_observer_; 743 std::unique_ptr<PowerEventObserver> power_event_observer_;
736 std::unique_ptr<ui::UserActivityPowerManagerNotifier> user_activity_notifier_; 744 std::unique_ptr<ui::UserActivityPowerManagerNotifier> user_activity_notifier_;
737 std::unique_ptr<VideoActivityNotifier> video_activity_notifier_; 745 std::unique_ptr<VideoActivityNotifier> video_activity_notifier_;
738 std::unique_ptr<StickyKeysController> sticky_keys_controller_; 746 std::unique_ptr<StickyKeysController> sticky_keys_controller_;
739 std::unique_ptr<ResolutionNotificationController> 747 std::unique_ptr<ResolutionNotificationController>
740 resolution_notification_controller_; 748 resolution_notification_controller_;
741 std::unique_ptr<BluetoothNotificationController> 749 std::unique_ptr<BluetoothNotificationController>
742 bluetooth_notification_controller_; 750 bluetooth_notification_controller_;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 bool in_mus_ = false; 795 bool in_mus_ = false;
788 796
789 std::unique_ptr<KeyboardUI> keyboard_ui_; 797 std::unique_ptr<KeyboardUI> keyboard_ui_;
790 798
791 DISALLOW_COPY_AND_ASSIGN(Shell); 799 DISALLOW_COPY_AND_ASSIGN(Shell);
792 }; 800 };
793 801
794 } // namespace ash 802 } // namespace ash
795 803
796 #endif // ASH_SHELL_H_ 804 #endif // ASH_SHELL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698