| Index: chrome/browser/sessions/session_restore.cc
|
| diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc
|
| index 6f38e51340abfb29a05d55ac32d03ddbfc4d6c64..34172158d99d62e00c2feaf38c9b0fefb2f23b8d 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_;
|
| };
|
|
|
|
|