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

Side by Side Diff: ash/shell.h

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

Powered by Google App Engine
This is Rietveld 408576698