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

Side by Side Diff: ash/shell.h

Issue 2739763003: Moves maintaining ShellObservers back to Shell (Closed)
Patch Set: merge Created 3 years, 9 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/shelf/shelf_widget_unittest.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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 class ResizeShadowController; 102 class ResizeShadowController;
103 class ResolutionNotificationController; 103 class ResolutionNotificationController;
104 class RootWindowController; 104 class RootWindowController;
105 class ScopedOverviewAnimationSettingsFactoryAura; 105 class ScopedOverviewAnimationSettingsFactoryAura;
106 class ScreenOrientationController; 106 class ScreenOrientationController;
107 class ScreenshotController; 107 class ScreenshotController;
108 class ScreenPinningController; 108 class ScreenPinningController;
109 class ScreenPositionController; 109 class ScreenPositionController;
110 class SessionStateDelegate; 110 class SessionStateDelegate;
111 struct ShellInitParams; 111 struct ShellInitParams;
112 class ShellObserver;
112 class ShutdownObserver; 113 class ShutdownObserver;
113 class SmsObserver; 114 class SmsObserver;
114 class StickyKeysController; 115 class StickyKeysController;
115 class SystemGestureEventFilter; 116 class SystemGestureEventFilter;
116 class SystemModalContainerEventFilter; 117 class SystemModalContainerEventFilter;
117 class SystemTray; 118 class SystemTray;
118 class ToplevelWindowEventHandler; 119 class ToplevelWindowEventHandler;
119 class AshTouchTransformController; 120 class AshTouchTransformController;
120 class ScreenLayoutObserver; 121 class ScreenLayoutObserver;
121 class VirtualKeyboardController; 122 class VirtualKeyboardController;
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 StickyKeysController* sticky_keys_controller() { 404 StickyKeysController* sticky_keys_controller() {
404 return sticky_keys_controller_.get(); 405 return sticky_keys_controller_.get();
405 } 406 }
406 407
407 ScreenPinningController* screen_pinning_controller() { 408 ScreenPinningController* screen_pinning_controller() {
408 return screen_pinning_controller_.get(); 409 return screen_pinning_controller_.get();
409 } 410 }
410 411
411 GPUSupport* gpu_support() { return gpu_support_.get(); } 412 GPUSupport* gpu_support() { return gpu_support_.get(); }
412 413
414 void AddShellObserver(ShellObserver* observer);
415 void RemoveShellObserver(ShellObserver* observer);
416
417 // Notifies observers that maximize mode has started, windows might still
418 // animate.
419 void NotifyMaximizeModeStarted();
420
421 // Notifies observers that maximize mode is about to end.
422 void NotifyMaximizeModeEnding();
423
424 // Notifies observers that maximize mode has ended, windows might still be
425 // returning to their original position.
426 void NotifyMaximizeModeEnded();
427
428 // Notifies observers that overview mode is about to be started (before the
429 // windows get re-arranged).
430 void NotifyOverviewModeStarting();
431
432 // Notifies observers that overview mode has ended.
433 void NotifyOverviewModeEnded();
434
435 // Notifies observers that fullscreen mode has changed for |root_window|.
436 void NotifyFullscreenStateChanged(bool is_fullscreen, WmWindow* root_window);
437
438 // Notifies observers that |pinned_window| changed its pinned window state.
439 void NotifyPinnedStateChanged(WmWindow* pinned_window);
440
441 // Notifies observers that the virtual keyboard has been
442 // activated/deactivated.
443 void NotifyVirtualKeyboardActivated(bool activated);
444
445 // Notifies observers that the shelf was created for |root_window|.
446 // TODO(jamescook): Move to Shelf.
447 void NotifyShelfCreatedForRootWindow(WmWindow* root_window);
448
449 // Notifies observers that |root_window|'s shelf changed alignment.
450 // TODO(jamescook): Move to Shelf.
451 void NotifyShelfAlignmentChanged(WmWindow* root_window);
452
453 // Notifies observers that |root_window|'s shelf changed auto-hide behavior.
454 // TODO(jamescook): Move to Shelf.
455 void NotifyShelfAutoHideBehaviorChanged(WmWindow* root_window);
456
413 private: 457 private:
414 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); 458 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor);
415 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); 459 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors);
416 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate); 460 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate);
417 friend class RootWindowController; 461 friend class RootWindowController;
418 friend class ScopedRootWindowForNewWindows; 462 friend class ScopedRootWindowForNewWindows;
419 friend class SmsObserverTest; 463 friend class SmsObserverTest;
420 friend class test::ShellTestApi; 464 friend class test::ShellTestApi;
421 friend class shell::WindowWatcher; 465 friend class shell::WindowWatcher;
422 466
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 WmWindow* root_window_for_new_windows_ = nullptr; 617 WmWindow* root_window_for_new_windows_ = nullptr;
574 WmWindow* scoped_root_window_for_new_windows_ = nullptr; 618 WmWindow* scoped_root_window_for_new_windows_ = nullptr;
575 619
576 // Injected content::GPUDataManager support. 620 // Injected content::GPUDataManager support.
577 std::unique_ptr<GPUSupport> gpu_support_; 621 std::unique_ptr<GPUSupport> gpu_support_;
578 622
579 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_; 623 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_;
580 624
581 std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_; 625 std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_;
582 626
627 base::ObserverList<ShellObserver> shell_observers_;
628
583 DISALLOW_COPY_AND_ASSIGN(Shell); 629 DISALLOW_COPY_AND_ASSIGN(Shell);
584 }; 630 };
585 631
586 } // namespace ash 632 } // namespace ash
587 633
588 #endif // ASH_SHELL_H_ 634 #endif // ASH_SHELL_H_
OLDNEW
« no previous file with comments | « ash/shelf/shelf_widget_unittest.cc ('k') | ash/shell.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698