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

Side by Side Diff: ash/root_window_controller.h

Issue 11273059: ash: Clean up system background layer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: apply review feedback Created 8 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « ash/ash_switches.cc ('k') | ash/root_window_controller.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_ROOT_WINDOW_CONTROLLER_H_ 5 #ifndef ASH_ROOT_WINDOW_CONTROLLER_H_
6 #define ASH_ROOT_WINDOW_CONTROLLER_H_ 6 #define ASH_ROOT_WINDOW_CONTROLLER_H_
7 7
8 #include "ash/ash_export.h" 8 #include "ash/ash_export.h"
9 #include "ash/system/user/login_status.h" 9 #include "ash/system/user/login_status.h"
10 #include "ash/wm/shelf_types.h" 10 #include "ash/wm/shelf_types.h"
(...skipping 15 matching lines...) Expand all
26 class RootWindowEventFilter; 26 class RootWindowEventFilter;
27 } // namespace shared 27 } // namespace shared
28 } // namespace aura 28 } // namespace aura
29 29
30 namespace ash { 30 namespace ash {
31 class Launcher; 31 class Launcher;
32 class ToplevelWindowEventHandler; 32 class ToplevelWindowEventHandler;
33 33
34 namespace internal { 34 namespace internal {
35 35
36 class ColoredWindowController;
37 class PanelLayoutManager; 36 class PanelLayoutManager;
38 class RootWindowLayoutManager; 37 class RootWindowLayoutManager;
39 class ScreenDimmer; 38 class ScreenDimmer;
40 class ShelfLayoutManager; 39 class ShelfLayoutManager;
41 class StatusAreaWidget; 40 class StatusAreaWidget;
42 class SystemBackgroundController; 41 class SystemBackgroundController;
43 class SystemModalContainerLayoutManager; 42 class SystemModalContainerLayoutManager;
44 class WorkspaceController; 43 class WorkspaceController;
45 44
46 // This class maintains the per root window state for ash. This class 45 // This class maintains the per root window state for ash. This class
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 92
94 aura::Window* GetContainer(int container_id); 93 aura::Window* GetContainer(int container_id);
95 94
96 void InitLayoutManagers(); 95 void InitLayoutManagers();
97 void CreateContainers(); 96 void CreateContainers();
98 97
99 // Initializs the RootWindowController for primary display. This 98 // Initializs the RootWindowController for primary display. This
100 // creates 99 // creates
101 void InitForPrimaryDisplay(); 100 void InitForPrimaryDisplay();
102 101
103 // Initializes |background_|. |is_first_run_after_boot| determines the 102 // Initializes |system_background_|. |is_first_run_after_boot| determines the
104 // background's initial color. 103 // background's initial content.
105 void CreateSystemBackground(bool is_first_run_after_boot); 104 void CreateSystemBackground(bool is_first_run_after_boot);
106 105
107 // Initializes |launcher_|. Does nothing if it's already initialized. 106 // Initializes |launcher_|. Does nothing if it's already initialized.
108 void CreateLauncher(); 107 void CreateLauncher();
109 108
110 // Show launcher view if it was created hidden (before session has started). 109 // Show launcher view if it was created hidden (before session has started).
111 void ShowLauncher(); 110 void ShowLauncher();
112 111
113 // Called when the user logs in. 112 // Called when the user logs in.
114 void OnLoginStateChanged(user::LoginStatus status); 113 void OnLoginStateChanged(user::LoginStatus status);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 // The shelf for managing the launcher and the status widget. 160 // The shelf for managing the launcher and the status widget.
162 // RootWindowController does not own the shelf. Instead, it is owned 161 // RootWindowController does not own the shelf. Instead, it is owned
163 // by container of the status area. 162 // by container of the status area.
164 ShelfLayoutManager* shelf_; 163 ShelfLayoutManager* shelf_;
165 164
166 // Manages layout of panels. Owned by PanelContainer. 165 // Manages layout of panels. Owned by PanelContainer.
167 PanelLayoutManager* panel_layout_manager_; 166 PanelLayoutManager* panel_layout_manager_;
168 167
169 scoped_ptr<Launcher> launcher_; 168 scoped_ptr<Launcher> launcher_;
170 169
171 // A background layer that's displayed beneath all other layers. Without 170 scoped_ptr<SystemBackgroundController> system_background_;
172 // this, portions of the root window that aren't covered by layers will be
173 // painted white; this can show up if e.g. it takes a long time to decode the
174 // desktop background image when displaying the login screen.
175 scoped_ptr<ColoredWindowController> background_;
176 171
177 scoped_ptr<ScreenDimmer> screen_dimmer_; 172 scoped_ptr<ScreenDimmer> screen_dimmer_;
178 scoped_ptr<WorkspaceController> workspace_controller_; 173 scoped_ptr<WorkspaceController> workspace_controller_;
179 174
180 // We need to own event handlers for various containers. 175 // We need to own event handlers for various containers.
181 scoped_ptr<ToplevelWindowEventHandler> default_container_handler_; 176 scoped_ptr<ToplevelWindowEventHandler> default_container_handler_;
182 scoped_ptr<ToplevelWindowEventHandler> always_on_top_container_handler_; 177 scoped_ptr<ToplevelWindowEventHandler> always_on_top_container_handler_;
183 scoped_ptr<ToplevelWindowEventHandler> modal_container_handler_; 178 scoped_ptr<ToplevelWindowEventHandler> modal_container_handler_;
184 scoped_ptr<ToplevelWindowEventHandler> lock_modal_container_handler_; 179 scoped_ptr<ToplevelWindowEventHandler> lock_modal_container_handler_;
185 180
186 DISALLOW_COPY_AND_ASSIGN(RootWindowController); 181 DISALLOW_COPY_AND_ASSIGN(RootWindowController);
187 }; 182 };
188 183
189 } // namespace internal 184 } // namespace internal
190 } // ash 185 } // ash
191 186
192 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ 187 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_
OLDNEW
« no previous file with comments | « ash/ash_switches.cc ('k') | ash/root_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698