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

Side by Side Diff: ash/shell.h

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

Powered by Google App Engine
This is Rietveld 408576698