summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authormarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-08 12:38:44 +0000
committermarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-08 12:38:44 +0000
commita0a69fd756b858da17e1db581629144f53c3ff30 (patch)
treeef65fba7468f20633ec813319e89b55bf2cf049d /chrome
parent17abeb4103f1de4c00cd4982e9472e064269c8d1 (diff)
downloadchromium_src-a0a69fd756b858da17e1db581629144f53c3ff30.zip
chromium_src-a0a69fd756b858da17e1db581629144f53c3ff30.tar.gz
chromium_src-a0a69fd756b858da17e1db581629144f53c3ff30.tar.bz2
Make TabLoader (session_restore.cc) functional again.
It didn't do anything because Browser::AddRestoredTab was already calling LoadIfNecessary for all the restored tabs (since http://codereview.chromium.org/8678002 ). BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/9503001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125603 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/sessions/session_restore.cc3
-rw-r--r--chrome/browser/sessions/session_restore_browsertest.cc5
-rw-r--r--chrome/browser/sessions/tab_restore_service.cc18
-rw-r--r--chrome/browser/ui/browser.cc1
4 files changed, 18 insertions, 9 deletions
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc
index b45ac82..852df74 100644
--- a/chrome/browser/sessions/session_restore.cc
+++ b/chrome/browser/sessions/session_restore.cc
@@ -767,6 +767,9 @@ class SessionRestoreImpl : public content::NotificationObserver {
tab.pinned,
true,
NULL);
+ // Regression check: check that the tab didn't start loading right away. The
+ // focused tab will be loaded by Browser, and TabLoader will load the rest.
+ DCHECK(web_contents->GetController().NeedsReload());
// Set up the file access rights for the selected navigation entry.
const int id = web_contents->GetRenderProcessHost()->GetID();
diff --git a/chrome/browser/sessions/session_restore_browsertest.cc b/chrome/browser/sessions/session_restore_browsertest.cc
index 791eac9..639963a 100644
--- a/chrome/browser/sessions/session_restore_browsertest.cc
+++ b/chrome/browser/sessions/session_restore_browsertest.cc
@@ -2,18 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/command_line.h"
#include "base/file_path.h"
#include "chrome/browser/defaults.h"
#include "chrome/browser/first_run/first_run.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/sessions/session_service.h"
+#include "chrome/browser/sessions/session_service_factory.h"
#include "chrome/browser/sessions/tab_restore_service.h"
#include "chrome/browser/sessions/tab_restore_service_factory.h"
#include "chrome/browser/tabs/tab_strip_model.h"
#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_init.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
+#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
#include "content/public/browser/web_contents.h"
diff --git a/chrome/browser/sessions/tab_restore_service.cc b/chrome/browser/sessions/tab_restore_service.cc
index b1f7e9d..99e5f4e 100644
--- a/chrome/browser/sessions/tab_restore_service.cc
+++ b/chrome/browser/sessions/tab_restore_service.cc
@@ -974,14 +974,16 @@ TabRestoreServiceDelegate* TabRestoreService::RestoreTab(
tab_index = delegate->GetTabCount();
}
- delegate->AddRestoredTab(tab.navigations,
- tab_index,
- tab.current_navigation_index,
- tab.extension_app_id,
- disposition != NEW_BACKGROUND_TAB,
- tab.pinned,
- tab.from_last_session,
- tab.session_storage_namespace);
+ WebContents* web_contents = delegate->AddRestoredTab(
+ tab.navigations,
+ tab_index,
+ tab.current_navigation_index,
+ tab.extension_app_id,
+ disposition != NEW_BACKGROUND_TAB,
+ tab.pinned,
+ tab.from_last_session,
+ tab.session_storage_namespace);
+ web_contents->GetController().LoadIfNecessary();
}
RecordAppLaunch(profile(), tab);
return delegate;
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 028b327..97dd65d 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -1468,7 +1468,6 @@ WebContents* Browser::AddRestoredTab(
// contains similar logic.
new_tab->GetView()->SizeContents(window_->GetRestoredBounds().size());
new_tab->HideContents();
- new_tab->GetController().LoadIfNecessary();
}
SessionService* session_service =
SessionServiceFactory::GetForProfileIfExisting(profile_);