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

Side by Side Diff: ash/shell.h

Issue 2918403006: CrOS Tablet Window management - Split Screen part I (Closed)
Patch Set: Address oshima@'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 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 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 StickyKeysController* sticky_keys_controller() { 534 StickyKeysController* sticky_keys_controller() {
534 return sticky_keys_controller_.get(); 535 return sticky_keys_controller_.get();
535 } 536 }
536 537
537 ScreenPinningController* screen_pinning_controller() { 538 ScreenPinningController* screen_pinning_controller() {
538 return screen_pinning_controller_.get(); 539 return screen_pinning_controller_.get();
539 } 540 }
540 541
541 GPUSupport* gpu_support() { return gpu_support_.get(); } 542 GPUSupport* gpu_support() { return gpu_support_.get(); }
542 543
544 SplitViewController* split_view_controller() {
545 return split_view_controller_.get();
546 }
547
548 // Returns true if split view mode is active.
549 bool IsSplitViewModeActive() const;
550
543 void AddShellObserver(ShellObserver* observer); 551 void AddShellObserver(ShellObserver* observer);
544 void RemoveShellObserver(ShellObserver* observer); 552 void RemoveShellObserver(ShellObserver* observer);
545 553
546 // Shows the app list on the active root window. 554 // Shows the app list on the active root window.
547 void ShowAppList(); 555 void ShowAppList();
548 556
549 // Dismisses the app list. 557 // Dismisses the app list.
550 void DismissAppList(); 558 void DismissAppList();
551 559
552 // Shows the app list if it's not visible. Dismisses it otherwise. 560 // Shows the app list if it's not visible. Dismisses it otherwise.
(...skipping 21 matching lines...) Expand all
574 // returning to their original position. 582 // returning to their original position.
575 void NotifyMaximizeModeEnded(); 583 void NotifyMaximizeModeEnded();
576 584
577 // Notifies observers that overview mode is about to be started (before the 585 // Notifies observers that overview mode is about to be started (before the
578 // windows get re-arranged). 586 // windows get re-arranged).
579 void NotifyOverviewModeStarting(); 587 void NotifyOverviewModeStarting();
580 588
581 // Notifies observers that overview mode has ended. 589 // Notifies observers that overview mode has ended.
582 void NotifyOverviewModeEnded(); 590 void NotifyOverviewModeEnded();
583 591
592 // Notifies observers that split view mode is about to be started (before the
593 // window gets snapped and activated).
594 void NotifySplitViewModeStarting();
595
596 // Notifies observers that split view mode has ended.
597 void NotifySplitViewModeEnded();
598
584 // Notifies observers that fullscreen mode has changed for |root_window|. 599 // Notifies observers that fullscreen mode has changed for |root_window|.
585 void NotifyFullscreenStateChanged(bool is_fullscreen, 600 void NotifyFullscreenStateChanged(bool is_fullscreen,
586 aura::Window* root_window); 601 aura::Window* root_window);
587 602
588 // Notifies observers that |pinned_window| changed its pinned window state. 603 // Notifies observers that |pinned_window| changed its pinned window state.
589 void NotifyPinnedStateChanged(aura::Window* pinned_window); 604 void NotifyPinnedStateChanged(aura::Window* pinned_window);
590 605
591 // Notifies observers that the virtual keyboard has been 606 // Notifies observers that the virtual keyboard has been
592 // activated/deactivated for |root_window|. 607 // activated/deactivated for |root_window|.
593 void NotifyVirtualKeyboardActivated(bool activated, 608 void NotifyVirtualKeyboardActivated(bool activated,
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 std::unique_ptr<ScreenLayoutObserver> screen_layout_observer_; 815 std::unique_ptr<ScreenLayoutObserver> screen_layout_observer_;
801 816
802 std::unique_ptr<AshTouchTransformController> touch_transformer_controller_; 817 std::unique_ptr<AshTouchTransformController> touch_transformer_controller_;
803 818
804 std::unique_ptr<ui::EventHandler> magnifier_key_scroll_handler_; 819 std::unique_ptr<ui::EventHandler> magnifier_key_scroll_handler_;
805 std::unique_ptr<ui::EventHandler> speech_feedback_handler_; 820 std::unique_ptr<ui::EventHandler> speech_feedback_handler_;
806 std::unique_ptr<LaserPointerController> laser_pointer_controller_; 821 std::unique_ptr<LaserPointerController> laser_pointer_controller_;
807 std::unique_ptr<PartialMagnificationController> 822 std::unique_ptr<PartialMagnificationController>
808 partial_magnification_controller_; 823 partial_magnification_controller_;
809 824
825 // The split view controller for Chrome OS in tablet mode.
826 std::unique_ptr<SplitViewController> split_view_controller_;
827
810 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a 828 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a
811 // pointer to vend to test code. 829 // pointer to vend to test code.
812 AshNativeCursorManager* native_cursor_manager_; 830 AshNativeCursorManager* native_cursor_manager_;
813 831
814 // Cursor may be hidden on certain key events in Chrome OS, whereas we never 832 // Cursor may be hidden on certain key events in Chrome OS, whereas we never
815 // hide the cursor on Windows. 833 // hide the cursor on Windows.
816 std::unique_ptr<::wm::CursorManager> cursor_manager_; 834 std::unique_ptr<::wm::CursorManager> cursor_manager_;
817 835
818 // For testing only: simulate that a modal window is open 836 // For testing only: simulate that a modal window is open
819 bool simulate_modal_window_open_for_testing_; 837 bool simulate_modal_window_open_for_testing_;
(...skipping 14 matching lines...) Expand all
834 base::ObserverList<ShellObserver> shell_observers_; 852 base::ObserverList<ShellObserver> shell_observers_;
835 853
836 scoped_refptr<base::SequencedWorkerPool> blocking_pool_; 854 scoped_refptr<base::SequencedWorkerPool> blocking_pool_;
837 855
838 DISALLOW_COPY_AND_ASSIGN(Shell); 856 DISALLOW_COPY_AND_ASSIGN(Shell);
839 }; 857 };
840 858
841 } // namespace ash 859 } // namespace ash
842 860
843 #endif // ASH_SHELL_H_ 861 #endif // ASH_SHELL_H_
OLDNEW
« no previous file with comments | « ash/ash_switches.cc ('k') | ash/shell.cc » ('j') | ash/wm/overview/overview_animation_type.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698