diff options
author | dimich@chromium.org <dimich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-07 17:31:38 +0000 |
---|---|---|
committer | dimich@chromium.org <dimich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-07 17:31:38 +0000 |
commit | 0d1210d6475798d740cf7d8fbca726b132f865f9 (patch) | |
tree | 5c66c6a2aed93af03b165dd665ad523d7ecdb38a | |
parent | 367251f58d002d5f591969787f21d58a58a0b291 (diff) | |
download | chromium_src-0d1210d6475798d740cf7d8fbca726b132f865f9.zip chromium_src-0d1210d6475798d740cf7d8fbca726b132f865f9.tar.gz chromium_src-0d1210d6475798d740cf7d8fbca726b132f865f9.tar.bz2 |
First click on Dock icon (OSX) should restore session if Chrome was launched as hidden login item.
Review URL: http://codereview.chromium.org/3246007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58709 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/app_controller_mac.mm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm index eb4452c..60d4620 100644 --- a/chrome/browser/app_controller_mac.mm +++ b/chrome/browser/app_controller_mac.mm @@ -850,6 +850,23 @@ void RecordLastRunAppBundlePath() { if (flag) return YES; + // If launched as a hidden login item (due to installation of a persistent app + // or by the user, for example in System Preferenecs->Accounts->Login Items), + // allow session to be restored first time the user clicks on a Dock icon. + // Normally, it'd just open a new empty page. + { + static BOOL doneOnce = NO; + if (!doneOnce) { + doneOnce = YES; + if (mac_util::WasLaunchedAsHiddenLoginItem()) { + SessionService* sessionService = + [self defaultProfile]->GetSessionService(); + if (sessionService && + sessionService->RestoreIfNecessary(std::vector<GURL>())) + return NO; + } + } + } // Otherwise open a new window. { AutoReset<bool> auto_reset_in_run(&g_is_opening_new_window, true); |