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

Side by Side Diff: ash/shell.h

Issue 2918403006: CrOS Tablet Window management - Split Screen part I (Closed)
Patch Set: Add unittests. Will split the CL into two CLs. Created 3 years, 5 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
« no previous file with comments | « ash/ash_switches.cc ('k') | ash/shell.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 class SessionController; 138 class SessionController;
139 class ShelfController; 139 class ShelfController;
140 class ShelfModel; 140 class ShelfModel;
141 class ShelfWindowWatcher; 141 class ShelfWindowWatcher;
142 class ShellDelegate; 142 class ShellDelegate;
143 struct ShellInitParams; 143 struct ShellInitParams;
144 class ShellObserver; 144 class ShellObserver;
145 class ShutdownController; 145 class ShutdownController;
146 class ShutdownObserver; 146 class ShutdownObserver;
147 class SmsObserver; 147 class SmsObserver;
148 class SplitViewController;
148 class StickyKeysController; 149 class StickyKeysController;
149 class SystemGestureEventFilter; 150 class SystemGestureEventFilter;
150 class SystemModalContainerEventFilter; 151 class SystemModalContainerEventFilter;
151 class SystemTray; 152 class SystemTray;
152 class SystemTrayController; 153 class SystemTrayController;
153 class SystemTrayDelegate; 154 class SystemTrayDelegate;
154 class SystemTrayNotifier; 155 class SystemTrayNotifier;
155 class ToplevelWindowEventHandler; 156 class ToplevelWindowEventHandler;
156 class ToastManager; 157 class ToastManager;
157 class TrayAction; 158 class TrayAction;
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 StickyKeysController* sticky_keys_controller() { 524 StickyKeysController* sticky_keys_controller() {
524 return sticky_keys_controller_.get(); 525 return sticky_keys_controller_.get();
525 } 526 }
526 527
527 ScreenPinningController* screen_pinning_controller() { 528 ScreenPinningController* screen_pinning_controller() {
528 return screen_pinning_controller_.get(); 529 return screen_pinning_controller_.get();
529 } 530 }
530 531
531 GPUSupport* gpu_support() { return gpu_support_.get(); } 532 GPUSupport* gpu_support() { return gpu_support_.get(); }
532 533
534 SplitViewController* split_view_controller() {
535 return split_view_controller_.get();
536 }
537
538 // Returns true if split view mode is active.
539 bool IsSplitViewModeActive() const;
540
533 void AddShellObserver(ShellObserver* observer); 541 void AddShellObserver(ShellObserver* observer);
534 void RemoveShellObserver(ShellObserver* observer); 542 void RemoveShellObserver(ShellObserver* observer);
535 543
536 // Shows the app list on the active root window. 544 // Shows the app list on the active root window.
537 void ShowAppList(); 545 void ShowAppList();
538 546
539 // Dismisses the app list. 547 // Dismisses the app list.
540 void DismissAppList(); 548 void DismissAppList();
541 549
542 // Shows the app list if it's not visible. Dismisses it otherwise. 550 // Shows the app list if it's not visible. Dismisses it otherwise.
(...skipping 21 matching lines...) Expand all
564 // returning to their original position. 572 // returning to their original position.
565 void NotifyMaximizeModeEnded(); 573 void NotifyMaximizeModeEnded();
566 574
567 // Notifies observers that overview mode is about to be started (before the 575 // Notifies observers that overview mode is about to be started (before the
568 // windows get re-arranged). 576 // windows get re-arranged).
569 void NotifyOverviewModeStarting(); 577 void NotifyOverviewModeStarting();
570 578
571 // Notifies observers that overview mode has ended. 579 // Notifies observers that overview mode has ended.
572 void NotifyOverviewModeEnded(); 580 void NotifyOverviewModeEnded();
573 581
582 // Notifies observers that split view mode is about to be started (before the
583 // window gets snapped and activated).
584 void NotifySplitViewModeStarting();
585
586 // Notifies observers that split view mode has ended.
587 void NotifySplitViewModeEnded();
588
574 // Notifies observers that fullscreen mode has changed for |root_window|. 589 // Notifies observers that fullscreen mode has changed for |root_window|.
575 void NotifyFullscreenStateChanged(bool is_fullscreen, 590 void NotifyFullscreenStateChanged(bool is_fullscreen,
576 aura::Window* root_window); 591 aura::Window* root_window);
577 592
578 // Notifies observers that |pinned_window| changed its pinned window state. 593 // Notifies observers that |pinned_window| changed its pinned window state.
579 void NotifyPinnedStateChanged(aura::Window* pinned_window); 594 void NotifyPinnedStateChanged(aura::Window* pinned_window);
580 595
581 // Notifies observers that the virtual keyboard has been 596 // Notifies observers that the virtual keyboard has been
582 // activated/deactivated for |root_window|. 597 // activated/deactivated for |root_window|.
583 void NotifyVirtualKeyboardActivated(bool activated, 598 void NotifyVirtualKeyboardActivated(bool activated,
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 std::unique_ptr<ScreenLayoutObserver> screen_layout_observer_; 801 std::unique_ptr<ScreenLayoutObserver> screen_layout_observer_;
787 802
788 std::unique_ptr<AshTouchTransformController> touch_transformer_controller_; 803 std::unique_ptr<AshTouchTransformController> touch_transformer_controller_;
789 804
790 std::unique_ptr<ui::EventHandler> magnifier_key_scroll_handler_; 805 std::unique_ptr<ui::EventHandler> magnifier_key_scroll_handler_;
791 std::unique_ptr<ui::EventHandler> speech_feedback_handler_; 806 std::unique_ptr<ui::EventHandler> speech_feedback_handler_;
792 std::unique_ptr<LaserPointerController> laser_pointer_controller_; 807 std::unique_ptr<LaserPointerController> laser_pointer_controller_;
793 std::unique_ptr<PartialMagnificationController> 808 std::unique_ptr<PartialMagnificationController>
794 partial_magnification_controller_; 809 partial_magnification_controller_;
795 810
811 // The split view controller for Chrome OS in tablet mode.
812 std::unique_ptr<SplitViewController> split_view_controller_;
813
796 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a 814 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a
797 // pointer to vend to test code. 815 // pointer to vend to test code.
798 NativeCursorManagerAsh* native_cursor_manager_; 816 NativeCursorManagerAsh* native_cursor_manager_;
799 817
800 // Cursor may be hidden on certain key events in Chrome OS, whereas we never 818 // Cursor may be hidden on certain key events in Chrome OS, whereas we never
801 // hide the cursor on Windows. 819 // hide the cursor on Windows.
802 std::unique_ptr<::wm::CursorManager> cursor_manager_; 820 std::unique_ptr<::wm::CursorManager> cursor_manager_;
803 821
804 // For testing only: simulate that a modal window is open 822 // For testing only: simulate that a modal window is open
805 bool simulate_modal_window_open_for_testing_; 823 bool simulate_modal_window_open_for_testing_;
(...skipping 12 matching lines...) Expand all
818 std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_; 836 std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_;
819 837
820 base::ObserverList<ShellObserver> shell_observers_; 838 base::ObserverList<ShellObserver> shell_observers_;
821 839
822 DISALLOW_COPY_AND_ASSIGN(Shell); 840 DISALLOW_COPY_AND_ASSIGN(Shell);
823 }; 841 };
824 842
825 } // namespace ash 843 } // namespace ash
826 844
827 #endif // ASH_SHELL_H_ 845 #endif // ASH_SHELL_H_
OLDNEW
« no previous file with comments | « ash/ash_switches.cc ('k') | ash/shell.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698