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

Side by Side Diff: ash/shell.h

Issue 2918403006: CrOS Tablet Window management - Split Screen part I (Closed)
Patch Set: Fix failed unittest. Created 3 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 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 class SessionController; 145 class SessionController;
146 class ShelfController; 146 class ShelfController;
147 class ShelfModel; 147 class ShelfModel;
148 class ShelfWindowWatcher; 148 class ShelfWindowWatcher;
149 class ShellDelegate; 149 class ShellDelegate;
150 struct ShellInitParams; 150 struct ShellInitParams;
151 class ShellObserver; 151 class ShellObserver;
152 class ShutdownController; 152 class ShutdownController;
153 class ShutdownObserver; 153 class ShutdownObserver;
154 class SmsObserver; 154 class SmsObserver;
155 class SplitViewController;
155 class StickyKeysController; 156 class StickyKeysController;
156 class SystemGestureEventFilter; 157 class SystemGestureEventFilter;
157 class SystemModalContainerEventFilter; 158 class SystemModalContainerEventFilter;
158 class SystemTray; 159 class SystemTray;
159 class SystemTrayController; 160 class SystemTrayController;
160 class SystemTrayDelegate; 161 class SystemTrayDelegate;
161 class SystemTrayNotifier; 162 class SystemTrayNotifier;
162 class ToplevelWindowEventHandler; 163 class ToplevelWindowEventHandler;
163 class ToastManager; 164 class ToastManager;
164 class TrayAction; 165 class TrayAction;
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 StickyKeysController* sticky_keys_controller() { 537 StickyKeysController* sticky_keys_controller() {
537 return sticky_keys_controller_.get(); 538 return sticky_keys_controller_.get();
538 } 539 }
539 540
540 ScreenPinningController* screen_pinning_controller() { 541 ScreenPinningController* screen_pinning_controller() {
541 return screen_pinning_controller_.get(); 542 return screen_pinning_controller_.get();
542 } 543 }
543 544
544 GPUSupport* gpu_support() { return gpu_support_.get(); } 545 GPUSupport* gpu_support() { return gpu_support_.get(); }
545 546
547 SplitViewController* split_view_controller() {
548 return split_view_controller_.get();
549 }
550
551 // Returns true if split view mode is active.
552 bool IsSplitViewModeActive() const;
553
546 void AddShellObserver(ShellObserver* observer); 554 void AddShellObserver(ShellObserver* observer);
547 void RemoveShellObserver(ShellObserver* observer); 555 void RemoveShellObserver(ShellObserver* observer);
548 556
549 // Shows the app list on the active root window. 557 // Shows the app list on the active root window.
550 void ShowAppList(); 558 void ShowAppList();
551 559
552 // Dismisses the app list. 560 // Dismisses the app list.
553 void DismissAppList(); 561 void DismissAppList();
554 562
555 // Shows the app list if it's not visible. Dismisses it otherwise. 563 // Shows the app list if it's not visible. Dismisses it otherwise.
(...skipping 21 matching lines...) Expand all
577 // returning to their original position. 585 // returning to their original position.
578 void NotifyMaximizeModeEnded(); 586 void NotifyMaximizeModeEnded();
579 587
580 // Notifies observers that overview mode is about to be started (before the 588 // Notifies observers that overview mode is about to be started (before the
581 // windows get re-arranged). 589 // windows get re-arranged).
582 void NotifyOverviewModeStarting(); 590 void NotifyOverviewModeStarting();
583 591
584 // Notifies observers that overview mode has ended. 592 // Notifies observers that overview mode has ended.
585 void NotifyOverviewModeEnded(); 593 void NotifyOverviewModeEnded();
586 594
595 // Notifies observers that split view mode is about to be started (before the
596 // window gets snapped and activated).
597 void NotifySplitViewModeStarting();
598
599 // Notifies observers that split view mode has ended.
600 void NotifySplitViewModeEnded();
601
587 // Notifies observers that fullscreen mode has changed for |root_window|. 602 // Notifies observers that fullscreen mode has changed for |root_window|.
588 void NotifyFullscreenStateChanged(bool is_fullscreen, 603 void NotifyFullscreenStateChanged(bool is_fullscreen,
589 aura::Window* root_window); 604 aura::Window* root_window);
590 605
591 // Notifies observers that |pinned_window| changed its pinned window state. 606 // Notifies observers that |pinned_window| changed its pinned window state.
592 void NotifyPinnedStateChanged(aura::Window* pinned_window); 607 void NotifyPinnedStateChanged(aura::Window* pinned_window);
593 608
594 // Notifies observers that the virtual keyboard has been 609 // Notifies observers that the virtual keyboard has been
595 // activated/deactivated for |root_window|. 610 // activated/deactivated for |root_window|.
596 void NotifyVirtualKeyboardActivated(bool activated, 611 void NotifyVirtualKeyboardActivated(bool activated,
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 std::unique_ptr<ScreenLayoutObserver> screen_layout_observer_; 818 std::unique_ptr<ScreenLayoutObserver> screen_layout_observer_;
804 819
805 std::unique_ptr<AshTouchTransformController> touch_transformer_controller_; 820 std::unique_ptr<AshTouchTransformController> touch_transformer_controller_;
806 821
807 std::unique_ptr<ui::EventHandler> magnifier_key_scroll_handler_; 822 std::unique_ptr<ui::EventHandler> magnifier_key_scroll_handler_;
808 std::unique_ptr<ui::EventHandler> speech_feedback_handler_; 823 std::unique_ptr<ui::EventHandler> speech_feedback_handler_;
809 std::unique_ptr<LaserPointerController> laser_pointer_controller_; 824 std::unique_ptr<LaserPointerController> laser_pointer_controller_;
810 std::unique_ptr<PartialMagnificationController> 825 std::unique_ptr<PartialMagnificationController>
811 partial_magnification_controller_; 826 partial_magnification_controller_;
812 827
828 // The split view controller for Chrome OS in tablet mode.
829 std::unique_ptr<SplitViewController> split_view_controller_;
830
813 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a 831 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a
814 // pointer to vend to test code. 832 // pointer to vend to test code.
815 AshNativeCursorManager* native_cursor_manager_; 833 AshNativeCursorManager* native_cursor_manager_;
816 834
817 // Cursor may be hidden on certain key events in Chrome OS, whereas we never 835 // Cursor may be hidden on certain key events in Chrome OS, whereas we never
818 // hide the cursor on Windows. 836 // hide the cursor on Windows.
819 std::unique_ptr<::wm::CursorManager> cursor_manager_; 837 std::unique_ptr<::wm::CursorManager> cursor_manager_;
820 838
821 // For testing only: simulate that a modal window is open 839 // For testing only: simulate that a modal window is open
822 bool simulate_modal_window_open_for_testing_; 840 bool simulate_modal_window_open_for_testing_;
(...skipping 14 matching lines...) Expand all
837 base::ObserverList<ShellObserver> shell_observers_; 855 base::ObserverList<ShellObserver> shell_observers_;
838 856
839 scoped_refptr<base::SequencedWorkerPool> blocking_pool_; 857 scoped_refptr<base::SequencedWorkerPool> blocking_pool_;
840 858
841 DISALLOW_COPY_AND_ASSIGN(Shell); 859 DISALLOW_COPY_AND_ASSIGN(Shell);
842 }; 860 };
843 861
844 } // namespace ash 862 } // namespace ash
845 863
846 #endif // ASH_SHELL_H_ 864 #endif // ASH_SHELL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698