Index: chrome/browser/ui/browser_tabrestore.cc |
diff --git a/chrome/browser/ui/browser_tabrestore.cc b/chrome/browser/ui/browser_tabrestore.cc |
index 9bb737a4d97ea4e407d2d7c44a843ea1ec5aa9d9..b6f6eeff60841670bcd0d1ce6cb97815d54b3f92 100644 |
--- a/chrome/browser/ui/browser_tabrestore.cc |
+++ b/chrome/browser/ui/browser_tabrestore.cc |
@@ -8,6 +8,7 @@ |
#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/session_tab_helper.h" |
#include "chrome/browser/tab_contents/tab_util.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_window.h" |
@@ -43,7 +44,8 @@ WebContents* CreateRestoredTab( |
const std::string& extension_app_id, |
bool from_last_session, |
content::SessionStorageNamespace* session_storage_namespace, |
- const std::string& user_agent_override) { |
+ const std::string& user_agent_override, |
+ const int64 sync_id) { |
GURL restore_url = navigations.at(selected_navigation).virtual_url(); |
// TODO(ajwong): Remove the temporary session_storage_namespace_map when |
// we teach session restore to understand that one tab can have multiple |
@@ -65,11 +67,13 @@ WebContents* CreateRestoredTab( |
create_params, |
session_storage_namespace_map); |
extensions::TabHelper::CreateForWebContents(web_contents); |
- extensions::TabHelper::FromWebContents(web_contents)-> |
- SetExtensionAppById(extension_app_id); |
+ SessionTabHelper::CreateForWebContents(web_contents); |
+ SessionTabHelper::FromWebContents(web_contents)->SetSessionSyncId(sync_id); |
+ extensions::TabHelper::FromWebContents(web_contents) |
+ ->SetExtensionAppById(extension_app_id); |
std::vector<NavigationEntry*> entries = |
- SerializedNavigationEntry::ToNavigationEntries( |
- navigations, browser->profile()); |
+ SerializedNavigationEntry::ToNavigationEntries(navigations, |
+ browser->profile()); |
web_contents->SetUserAgentOverride(user_agent_override); |
web_contents->GetController().Restore( |
selected_navigation, GetRestoreType(browser, from_last_session), |
@@ -91,14 +95,16 @@ content::WebContents* AddRestoredTab( |
bool pin, |
bool from_last_session, |
content::SessionStorageNamespace* session_storage_namespace, |
- const std::string& user_agent_override) { |
+ const std::string& user_agent_override, |
+ const int64& sync_id) { |
WebContents* web_contents = CreateRestoredTab(browser, |
navigations, |
selected_navigation, |
extension_app_id, |
from_last_session, |
session_storage_namespace, |
- user_agent_override); |
+ user_agent_override, |
+ sync_id); |
int add_types = select ? TabStripModel::ADD_ACTIVE |
: TabStripModel::ADD_NONE; |
@@ -137,14 +143,16 @@ void ReplaceRestoredTab( |
bool from_last_session, |
const std::string& extension_app_id, |
content::SessionStorageNamespace* session_storage_namespace, |
- const std::string& user_agent_override) { |
+ const std::string& user_agent_override, |
+ const int64& sync_id) { |
WebContents* web_contents = CreateRestoredTab(browser, |
navigations, |
selected_navigation, |
extension_app_id, |
from_last_session, |
session_storage_namespace, |
- user_agent_override); |
+ user_agent_override, |
+ sync_id); |
// ReplaceWebContentsAt won't animate in the restoration, so manually do the |
// equivalent of ReplaceWebContentsAt. |