diff options
author | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-18 18:31:50 +0000 |
---|---|---|
committer | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-18 18:31:50 +0000 |
commit | 1b810530a418a711c68d6e7b4417b326f555b2d1 (patch) | |
tree | d91c43e9bb35bb14908c9bd46b70537294b6a7f3 /chrome/browser/sessions | |
parent | 4e9eba0d0848269269e45e7f2dcf04b9f4686d0f (diff) | |
download | chromium_src-1b810530a418a711c68d6e7b4417b326f555b2d1.zip chromium_src-1b810530a418a711c68d6e7b4417b326f555b2d1.tar.gz chromium_src-1b810530a418a711c68d6e7b4417b326f555b2d1.tar.bz2 |
Add "open as window" menu item to NTP app menu.
BUG=59697
TEST=BrowserTest.OpenAppWindowLikeNtp,SessionRestoreUITest.RestoreAfterClosing*
Review URL: http://codereview.chromium.org/5019005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66646 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sessions')
-rw-r--r-- | chrome/browser/sessions/session_restore.cc | 54 |
1 files changed, 1 insertions, 53 deletions
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc index 6f38e51..3417215 100644 --- a/chrome/browser/sessions/session_restore.cc +++ b/chrome/browser/sessions/session_restore.cc @@ -272,8 +272,7 @@ class SessionRestoreImpl : public NotificationObserver { synchronous_(synchronous), clobber_existing_window_(clobber_existing_window), always_create_tabbed_browser_(always_create_tabbed_browser), - urls_to_open_(urls_to_open), - waiting_for_extension_service_(false) { + urls_to_open_(urls_to_open) { } void Restore() { @@ -339,19 +338,6 @@ class SessionRestoreImpl : public NotificationObserver { delete this; return; - case NotificationType::EXTENSIONS_READY: { - if (!waiting_for_extension_service_) - return; - - waiting_for_extension_service_ = false; - if (synchronous_) { - MessageLoop::current()->Quit(); - return; - } - ProcessSessionWindows(&windows_); - return; - } - default: NOTREACHED(); break; @@ -396,18 +382,6 @@ class SessionRestoreImpl : public NotificationObserver { void OnGotSession(SessionService::Handle handle, std::vector<SessionWindow*>* windows) { - if (HasExtensionApps(*windows) && profile_->GetExtensionsService() && - !profile_->GetExtensionsService()->is_ready()) { - // At least one tab is an app tab and the extension service hasn't - // finished loading. Wait to continue processing until the extensions - // service finishes loading. - registrar_.Add(this, NotificationType::EXTENSIONS_READY, - Source<Profile>(profile_)); - windows_.swap(*windows); - waiting_for_extension_service_ = true; - return; - } - if (synchronous_) { // See comment above windows_ as to why we don't process immediately. windows_.swap(*windows); @@ -418,28 +392,6 @@ class SessionRestoreImpl : public NotificationObserver { ProcessSessionWindows(windows); } - // Returns true if any tab in |windows| has an application extension id. - bool HasExtensionApps(const std::vector<SessionWindow*>& windows) { - for (std::vector<SessionWindow*>::const_iterator i = windows.begin(); - i != windows.end(); ++i) { - if (HasExtensionApps((*i)->tabs)) - return true; - } - - return false; - } - - // Returns true if any tab in |tabs| has an application extension id. - bool HasExtensionApps(const std::vector<SessionTab*>& tabs) { - for (std::vector<SessionTab*>::const_iterator i = tabs.begin(); - i != tabs.end(); ++i) { - if (!(*i)->extension_app_id.empty()) - return true; - } - - return false; - } - void ProcessSessionWindows(std::vector<SessionWindow*>* windows) { if (windows->empty()) { // Restore was unsuccessful. @@ -601,10 +553,6 @@ class SessionRestoreImpl : public NotificationObserver { // windows when the nested message loop exits. std::vector<SessionWindow*> windows_; - // If true, indicates at least one tab has an application extension id and - // we're waiting for the extension service to finish loading. - bool waiting_for_extension_service_; - NotificationRegistrar registrar_; }; |