summaryrefslogtreecommitdiffstats
path: root/ash/shell.h
diff options
context:
space:
mode:
authorderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-21 00:05:41 +0000
committerderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-21 00:05:41 +0000
commit1410fb00866fd282414a32e04b300230a51bbe1c (patch)
tree8a737a4414af262de364b3e56af898e990d9dc23 /ash/shell.h
parent9fe2d0edd3d21c60886ebeb449fc057ace9ebe76 (diff)
downloadchromium_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.h9
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);