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

Side by Side Diff: ash/shell.h

Issue 2633293005: Converts mash to use Shell (Closed)
Patch Set: feedback Created 3 years, 11 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/root_window_controller.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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 class ProjectingObserver; 98 class ProjectingObserver;
99 class ResizeShadowController; 99 class ResizeShadowController;
100 class ResolutionNotificationController; 100 class ResolutionNotificationController;
101 class RootWindowController; 101 class RootWindowController;
102 class ScopedOverviewAnimationSettingsFactoryAura; 102 class ScopedOverviewAnimationSettingsFactoryAura;
103 class ScreenOrientationController; 103 class ScreenOrientationController;
104 class ScreenshotController; 104 class ScreenshotController;
105 class ScreenPinningController; 105 class ScreenPinningController;
106 class ScreenPositionController; 106 class ScreenPositionController;
107 class SessionStateDelegate; 107 class SessionStateDelegate;
108 class ShellDelegate;
109 struct ShellInitParams; 108 struct ShellInitParams;
110 class ShutdownObserver; 109 class ShutdownObserver;
111 class StickyKeysController; 110 class StickyKeysController;
112 class SystemGestureEventFilter; 111 class SystemGestureEventFilter;
113 class SystemModalContainerEventFilter; 112 class SystemModalContainerEventFilter;
114 class SystemTray; 113 class SystemTray;
115 class ToplevelWindowEventHandler; 114 class ToplevelWindowEventHandler;
116 class AshTouchTransformController; 115 class AshTouchTransformController;
117 class ScreenLayoutObserver; 116 class ScreenLayoutObserver;
118 class VirtualKeyboardController; 117 class VirtualKeyboardController;
119 class VideoActivityNotifier; 118 class VideoActivityNotifier;
120 class VideoDetector; 119 class VideoDetector;
121 class WebNotificationTray; 120 class WebNotificationTray;
122 class WindowPositioner; 121 class WindowPositioner;
123 class WindowTreeHostManager; 122 class WindowTreeHostManager;
124 class WmShellAura; 123 class WmShell;
125 class WmWindow; 124 class WmWindow;
126 125
127 namespace shell { 126 namespace shell {
128 class WindowWatcher; 127 class WindowWatcher;
129 } 128 }
130 129
131 namespace test { 130 namespace test {
132 class ShellTestApi; 131 class ShellTestApi;
133 } 132 }
134 133
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 GPUSupport* gpu_support() { return gpu_support_.get(); } 399 GPUSupport* gpu_support() { return gpu_support_.get(); }
401 400
402 private: 401 private:
403 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); 402 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor);
404 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); 403 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors);
405 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate); 404 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate);
406 friend class RootWindowController; 405 friend class RootWindowController;
407 friend class test::ShellTestApi; 406 friend class test::ShellTestApi;
408 friend class shell::WindowWatcher; 407 friend class shell::WindowWatcher;
409 408
410 // Takes ownership of |delegate|. 409 explicit Shell(std::unique_ptr<WmShell> wm_shell);
411 explicit Shell(ShellDelegate* delegate);
412 ~Shell() override; 410 ~Shell() override;
413 411
414 void Init(const ShellInitParams& init_params); 412 void Init(const ShellInitParams& init_params);
415 413
416 // Initializes virtual keyboard controller. 414 // Initializes virtual keyboard controller.
417 void InitKeyboard(); 415 void InitKeyboard();
418 416
419 // Initializes the root window so that it can host browser windows. 417 // Initializes the root window so that it can host browser windows.
420 void InitRootWindow(aura::Window* root_window); 418 void InitRootWindow(aura::Window* root_window);
421 419
420 // Destroys all child windows including widgets across all roots.
421 void CloseAllRootWindowChildWindows();
422
422 // SystemModalContainerEventFilterDelegate: 423 // SystemModalContainerEventFilterDelegate:
423 bool CanWindowReceiveEvents(aura::Window* window) override; 424 bool CanWindowReceiveEvents(aura::Window* window) override;
424 425
425 // Overridden from ui::EventTarget: 426 // Overridden from ui::EventTarget:
426 bool CanAcceptEvent(const ui::Event& event) override; 427 bool CanAcceptEvent(const ui::Event& event) override;
427 EventTarget* GetParentTarget() override; 428 EventTarget* GetParentTarget() override;
428 std::unique_ptr<ui::EventTargetIterator> GetChildIterator() const override; 429 std::unique_ptr<ui::EventTargetIterator> GetChildIterator() const override;
429 ui::EventTargeter* GetEventTargeter() override; 430 ui::EventTargeter* GetEventTargeter() override;
430 431
431 static Shell* instance_; 432 static Shell* instance_;
432 433
433 // Only valid in mash, for classic ash this is null. 434 // Only valid in mash, for classic ash this is null.
434 static aura::WindowTreeClient* window_tree_client_; 435 static aura::WindowTreeClient* window_tree_client_;
435 static aura::WindowManagerClient* window_manager_client_; 436 static aura::WindowManagerClient* window_manager_client_;
436 437
437 // If set before the Shell is initialized, the mouse cursor will be hidden 438 // If set before the Shell is initialized, the mouse cursor will be hidden
438 // when the screen is initially created. 439 // when the screen is initially created.
439 static bool initially_hide_cursor_; 440 static bool initially_hide_cursor_;
440 441
441 std::unique_ptr<ScopedOverviewAnimationSettingsFactoryAura> 442 std::unique_ptr<ScopedOverviewAnimationSettingsFactoryAura>
442 scoped_overview_animation_settings_factory_; 443 scoped_overview_animation_settings_factory_;
443 std::unique_ptr<WmShellAura> wm_shell_; 444 std::unique_ptr<WmShell> wm_shell_;
444 445
445 // The CompoundEventFilter owned by aura::Env object. 446 // The CompoundEventFilter owned by aura::Env object.
446 std::unique_ptr<::wm::CompoundEventFilter> env_filter_; 447 std::unique_ptr<::wm::CompoundEventFilter> env_filter_;
447 448
448 std::unique_ptr<UserMetricsRecorder> user_metrics_recorder_; 449 std::unique_ptr<UserMetricsRecorder> user_metrics_recorder_;
449 std::unique_ptr<AcceleratorControllerDelegateAura> 450 std::unique_ptr<AcceleratorControllerDelegateAura>
450 accelerator_controller_delegate_; 451 accelerator_controller_delegate_;
451 std::unique_ptr<SessionStateDelegate> session_state_delegate_; 452 std::unique_ptr<SessionStateDelegate> session_state_delegate_;
452 std::unique_ptr<WindowPositioner> window_positioner_; 453 std::unique_ptr<WindowPositioner> window_positioner_;
453 454
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 std::unique_ptr<GPUSupport> gpu_support_; 549 std::unique_ptr<GPUSupport> gpu_support_;
549 550
550 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_; 551 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_;
551 552
552 DISALLOW_COPY_AND_ASSIGN(Shell); 553 DISALLOW_COPY_AND_ASSIGN(Shell);
553 }; 554 };
554 555
555 } // namespace ash 556 } // namespace ash
556 557
557 #endif // ASH_SHELL_H_ 558 #endif // ASH_SHELL_H_
OLDNEW
« no previous file with comments | « ash/root_window_controller.cc ('k') | ash/shell.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698