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

Unified Diff: ash/root_window_controller.h

Issue 11087009: Merge 159822 - ash: Display system background while loading wallpaper. (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1271/src/
Patch Set: 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
===================================================================
--- ash/root_window_controller.h (revision 160653)
+++ ash/root_window_controller.h (working copy)
@@ -27,6 +27,7 @@
class EventClientImpl;
class RootWindowLayoutManager;
class ScreenDimmer;
+class SystemBackgroundController;
class WorkspaceController;
// This class maintains the per root window state for ash. This class
@@ -57,9 +58,16 @@
aura::Window* GetContainer(int container_id);
+ void InitLayoutManagers();
void CreateContainers();
- void InitLayoutManagers();
+ // 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'
// root window safely when the display disconnect signal is received,
@@ -83,6 +91,12 @@
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