diff options
author | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-10 06:25:49 +0000 |
---|---|---|
committer | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-10 06:25:49 +0000 |
commit | bca9a7ee39bf817edd4976ef2bf314d26feea11f (patch) | |
tree | a6b260a3c1d420878528469d49f4a9764bcee6bc /ash/root_window_controller.h | |
parent | 9badbe63637a07eb23112f30fda959f849fe923f (diff) | |
download | chromium_src-bca9a7ee39bf817edd4976ef2bf314d26feea11f.zip chromium_src-bca9a7ee39bf817edd4976ef2bf314d26feea11f.tar.gz chromium_src-bca9a7ee39bf817edd4976ef2bf314d26feea11f.tar.bz2 |
ash: Add flag to animate transition from boot splash screen.
This adds an --ash-animate-from-boot-splash-screen flag that
can be set to tell Ash to grab the Chrome OS boot splash
screen and fade from it into the login screen's
brightness/grayscale desktop background animation.
I'm also making SystemBackgroundController just control a
solid-color layer and moving its host-window-grabbing code
into a new BootSplashScreen class.
BUG=152309
TEST=add --ash-animate-from-boot-splash-screen to
/sbin/session_manager_setup.sh, reboot, and see the
animation
Review URL: https://chromiumcodereview.appspot.com/11362067
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167068 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/root_window_controller.h')
-rw-r--r-- | ash/root_window_controller.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/ash/root_window_controller.h b/ash/root_window_controller.h index 50f4351..4d9cc8d 100644 --- a/ash/root_window_controller.h +++ b/ash/root_window_controller.h @@ -33,6 +33,7 @@ class ToplevelWindowEventHandler; namespace internal { +class BootSplashScreen; class PanelLayoutManager; class RootWindowLayoutManager; class ScreenDimmer; @@ -99,8 +100,8 @@ class ASH_EXPORT RootWindowController { // creates void InitForPrimaryDisplay(); - // Initializes |system_background_|. |is_first_run_after_boot| determines the - // background's initial content. + // Initializes |system_background_| and possibly also |boot_splash_screen_|. + // |is_first_run_after_boot| determines the background's initial color. void CreateSystemBackground(bool is_first_run_after_boot); // Initializes |launcher_|. Does nothing if it's already initialized. @@ -116,7 +117,13 @@ class ASH_EXPORT RootWindowController { // TODO(oshima): Investigate if we can merge this and |OnLoginStateChanged|. void UpdateAfterLoginStatusChange(user::LoginStatus status); - // Updates |background_| to be black after the desktop background is visible. + // Called when the brightness/grayscale animation from white to the login + // desktop background image has started. Starts |boot_splash_screen_|'s + // hiding animation (if the screen is non-NULL). + void HandleInitialDesktopBackgroundAnimationStarted(); + + // Called when the login background is fully visible. Updates |background_| + // to be black and drops |boot_splash_screen_|. void HandleDesktopBackgroundVisible(); // Deletes associated objects and clears the state, but doesn't delete @@ -168,6 +175,7 @@ class ASH_EXPORT RootWindowController { scoped_ptr<Launcher> launcher_; scoped_ptr<SystemBackgroundController> system_background_; + scoped_ptr<BootSplashScreen> boot_splash_screen_; scoped_ptr<ScreenDimmer> screen_dimmer_; scoped_ptr<WorkspaceController> workspace_controller_; |