diff options
author | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-21 00:05:41 +0000 |
---|---|---|
committer | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-21 00:05:41 +0000 |
commit | 1410fb00866fd282414a32e04b300230a51bbe1c (patch) | |
tree | 8a737a4414af262de364b3e56af898e990d9dc23 /ash/shell.h | |
parent | 9fe2d0edd3d21c60886ebeb449fc057ace9ebe76 (diff) | |
download | chromium_src-1410fb00866fd282414a32e04b300230a51bbe1c.zip chromium_src-1410fb00866fd282414a32e04b300230a51bbe1c.tar.gz chromium_src-1410fb00866fd282414a32e04b300230a51bbe1c.tar.bz2 |
ash/chromeos: Defer creating launcher until after login.
This fixes several issues (blank titles in context menu,
missing icons, pinned apps not getting restored) caused by
launcher-related code that was initialized at startup and
cached the pre-login profile. This change makes us defer
initialization of the launcher until after the user has
logged in when running on Chrome OS devices.
To test:
- Logged in on a Chrome OS device and checked that
previously-pinned apps appear in the launcher and that
non-component extensions have icons and titles in their
context menus.
- Killed the Chrome process and checked that the launcher is
visible when it restarts.
- Ran Chrome and ash_shell on a Linux workstation and
checked that the launcher is present.
BUG=118129,118945
TEST=manual: see above
Review URL: https://chromiumcodereview.appspot.com/9733024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127841 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.h')
-rw-r--r-- | ash/shell.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ash/shell.h b/ash/shell.h index b5fc9cf..06a41d6 100644 --- a/ash/shell.h +++ b/ash/shell.h @@ -113,7 +113,7 @@ class ASH_EXPORT Shell : public aura::MonitorObserver { static void DeleteInstance(); - // Get the singleton RootWindow used by the Shell. + // Gets the singleton RootWindow used by the Shell. static aura::RootWindow* GetRootWindow(); internal::RootWindowLayoutManager* root_window_layout() const { @@ -145,7 +145,7 @@ class ASH_EXPORT Shell : public aura::MonitorObserver { views::NonClientFrameView* CreateDefaultNonClientFrameView( views::Widget* widget); - // Rotate focus through containers that can receive focus. + // Rotates focus through containers that can receive focus. void RotateFocus(Direction direction); // Sets the work area insets of the monitor that contains |window|, @@ -153,7 +153,10 @@ class ASH_EXPORT Shell : public aura::MonitorObserver { void SetMonitorWorkAreaInsets(aura::Window* window, const gfx::Insets& insets); - // Add/remove observer. + // Initializes |launcher_|. Does nothing if it's already initialized. + void CreateLauncher(); + + // Adds/removes observer. void AddShellObserver(ShellObserver* observer); void RemoveShellObserver(ShellObserver* observer); |