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

Side by Side Diff: ash/shell.h

Issue 2739763003: Moves maintaining ShellObservers back to Shell (Closed)
Patch Set: 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
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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 class ResizeShadowController; 101 class ResizeShadowController;
102 class ResolutionNotificationController; 102 class ResolutionNotificationController;
103 class RootWindowController; 103 class RootWindowController;
104 class ScopedOverviewAnimationSettingsFactoryAura; 104 class ScopedOverviewAnimationSettingsFactoryAura;
105 class ScreenOrientationController; 105 class ScreenOrientationController;
106 class ScreenshotController; 106 class ScreenshotController;
107 class ScreenPinningController; 107 class ScreenPinningController;
108 class ScreenPositionController; 108 class ScreenPositionController;
109 class SessionStateDelegate; 109 class SessionStateDelegate;
110 struct ShellInitParams; 110 struct ShellInitParams;
111 class ShellObserver;
111 class ShutdownObserver; 112 class ShutdownObserver;
112 class SmsObserver; 113 class SmsObserver;
113 class StickyKeysController; 114 class StickyKeysController;
114 class SystemGestureEventFilter; 115 class SystemGestureEventFilter;
115 class SystemModalContainerEventFilter; 116 class SystemModalContainerEventFilter;
116 class SystemTray; 117 class SystemTray;
117 class ToplevelWindowEventHandler; 118 class ToplevelWindowEventHandler;
118 class AshTouchTransformController; 119 class AshTouchTransformController;
119 class ScreenLayoutObserver; 120 class ScreenLayoutObserver;
120 class VirtualKeyboardController; 121 class VirtualKeyboardController;
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 StickyKeysController* sticky_keys_controller() { 403 StickyKeysController* sticky_keys_controller() {
403 return sticky_keys_controller_.get(); 404 return sticky_keys_controller_.get();
404 } 405 }
405 406
406 ScreenPinningController* screen_pinning_controller() { 407 ScreenPinningController* screen_pinning_controller() {
407 return screen_pinning_controller_.get(); 408 return screen_pinning_controller_.get();
408 } 409 }
409 410
410 GPUSupport* gpu_support() { return gpu_support_.get(); } 411 GPUSupport* gpu_support() { return gpu_support_.get(); }
411 412
413 void AddShellObserver(ShellObserver* observer);
414 void RemoveShellObserver(ShellObserver* observer);
415
416 // Called after maximize mode has started, windows might still animate though.
417 void OnMaximizeModeStarted();
msw 2017/03/08 19:52:23 optional nit: wdyt about renaming these On* to Not
sky 2017/03/08 20:26:06 Done.
418
419 // Called after maximize mode is about to end.
420 void OnMaximizeModeEnding();
421
422 // Called after maximize mode has ended, windows might still be returning to
423 // their original position.
424 void OnMaximizeModeEnded();
425
426 // Called when the overview mode is about to be started (before the windows
427 // get re-arranged).
428 void OnOverviewModeStarting();
429
430 // Called after overview mode has ended.
431 void OnOverviewModeEnded();
432
433 // Notify observers that fullscreen mode has changed for |root_window|.
434 void NotifyFullscreenStateChanged(bool is_fullscreen, WmWindow* root_window);
435
436 // Notify observers that |pinned_window| changed its pinned window state.
437 void NotifyPinnedStateChanged(WmWindow* pinned_window);
438
439 // Notify observers that the virtual keyboard has been activated/deactivated.
440 void NotifyVirtualKeyboardActivated(bool activated);
441
442 // Notify observers that the shelf was created for |root_window|.
443 // TODO(jamescook): Move to Shelf.
444 void NotifyShelfCreatedForRootWindow(WmWindow* root_window);
445
446 // Notify observers that |root_window|'s shelf changed auto-hide alignment.
msw 2017/03/08 19:52:23 nit: remove 'auto-hide' (was wrong previously)
sky 2017/03/08 20:26:06 Done.
447 // TODO(jamescook): Move to Shelf.
448 void NotifyShelfAlignmentChanged(WmWindow* root_window);
449
450 // Notify observers that |root_window|'s shelf changed auto-hide behavior.
451 // TODO(jamescook): Move to Shelf.
452 void NotifyShelfAutoHideBehaviorChanged(WmWindow* root_window);
453
412 private: 454 private:
413 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); 455 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor);
414 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); 456 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors);
415 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate); 457 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate);
416 friend class RootWindowController; 458 friend class RootWindowController;
417 friend class test::ShellTestApi; 459 friend class test::ShellTestApi;
418 friend class shell::WindowWatcher; 460 friend class shell::WindowWatcher;
419 friend class SmsObserverTest; 461 friend class SmsObserverTest;
420 462
421 explicit Shell(std::unique_ptr<WmShell> wm_shell); 463 explicit Shell(std::unique_ptr<WmShell> wm_shell);
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 606
565 bool is_touch_hud_projection_enabled_; 607 bool is_touch_hud_projection_enabled_;
566 608
567 // Injected content::GPUDataManager support. 609 // Injected content::GPUDataManager support.
568 std::unique_ptr<GPUSupport> gpu_support_; 610 std::unique_ptr<GPUSupport> gpu_support_;
569 611
570 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_; 612 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_;
571 613
572 std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_; 614 std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_;
573 615
616 base::ObserverList<ShellObserver> shell_observers_;
617
574 DISALLOW_COPY_AND_ASSIGN(Shell); 618 DISALLOW_COPY_AND_ASSIGN(Shell);
575 }; 619 };
576 620
577 } // namespace ash 621 } // namespace ash
578 622
579 #endif // ASH_SHELL_H_ 623 #endif // ASH_SHELL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698