diff options
author | marja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-08 12:38:44 +0000 |
---|---|---|
committer | marja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-08 12:38:44 +0000 |
commit | a0a69fd756b858da17e1db581629144f53c3ff30 (patch) | |
tree | ef65fba7468f20633ec813319e89b55bf2cf049d /chrome | |
parent | 17abeb4103f1de4c00cd4982e9472e064269c8d1 (diff) | |
download | chromium_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.cc | 3 | ||||
-rw-r--r-- | chrome/browser/sessions/session_restore_browsertest.cc | 5 | ||||
-rw-r--r-- | chrome/browser/sessions/tab_restore_service.cc | 18 | ||||
-rw-r--r-- | chrome/browser/ui/browser.cc | 1 |
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_); |