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

Unified Diff: ash/root_window_controller.h

Issue 11054005: ash: Display system background while loading wallpaper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix win_aura compile, hopefully Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/desktop_background/desktop_background_view.cc ('k') | ash/root_window_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/root_window_controller.h
diff --git a/ash/root_window_controller.h b/ash/root_window_controller.h
index 27f396d1bec46fedb9d7f5dbc7539de0f0327881..29f9c04b97bd8c3b615f812fcdbd3e202a66929d 100644
--- a/ash/root_window_controller.h
+++ b/ash/root_window_controller.h
@@ -27,6 +27,7 @@ namespace internal {
class EventClientImpl;
class RootWindowLayoutManager;
class ScreenDimmer;
+class SystemBackgroundController;
class WorkspaceController;
// This class maintains the per root window state for ash. This class
@@ -57,8 +58,15 @@ class RootWindowController {
aura::Window* GetContainer(int container_id);
- void CreateContainers();
void InitLayoutManagers();
+ void CreateContainers();
+
+ // Initializes |background_|. |is_first_run_after_boot| determines the
+ // background's initial color.
+ void CreateSystemBackground(bool is_first_run_after_boot);
+
+ // Updates |background_| to be black after the desktop background is visible.
+ void HandleDesktopBackgroundVisible();
// Deletes associated objects and clears the state, but doesn't delete
// the root window yet. This is used to delete a secondary displays'
@@ -83,6 +91,12 @@ class RootWindowController {
scoped_ptr<aura::RootWindow> root_window_;
internal::RootWindowLayoutManager* root_window_layout_;
+ // A background layer that's displayed beneath all other layers. Without
+ // this, portions of the root window that aren't covered by layers will be
+ // painted white; this can show up if e.g. it takes a long time to decode the
+ // desktop background image when displaying the login screen.
+ scoped_ptr<SystemBackgroundController> background_;
+
// An event filter that pre-handles all key events to send them to an IME.
scoped_ptr<internal::EventClientImpl> event_client_;
scoped_ptr<internal::ScreenDimmer> screen_dimmer_;
« no previous file with comments | « ash/desktop_background/desktop_background_view.cc ('k') | ash/root_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698