| Index: chrome/browser/sessions/tab_restore_service.cc
|
| diff --git a/chrome/browser/sessions/tab_restore_service.cc b/chrome/browser/sessions/tab_restore_service.cc
|
| index 9d9e0ed5c7e17be3ff39b91a34c1d171bd73baf5..d66cc8c112452d0f9277eb3dd9f1a8eb653a9e8c 100644
|
| --- a/chrome/browser/sessions/tab_restore_service.cc
|
| +++ b/chrome/browser/sessions/tab_restore_service.cc
|
| @@ -379,7 +379,8 @@ void TabRestoreService::RestoreEntryById(TabRestoreServiceDelegate* delegate,
|
| static_cast<int>(tab_i) ==
|
| window->selected_tab_index,
|
| tab.pinned, tab.from_last_session,
|
| - tab.session_storage_namespace);
|
| + tab.session_storage_namespace,
|
| + tab.user_agent_override);
|
| if (restored_tab) {
|
| restored_tab->GetController().LoadIfNecessary();
|
| RecordAppLaunch(profile(), tab);
|
| @@ -546,6 +547,9 @@ void TabRestoreService::PopulateTab(Tab* tab,
|
| tab->extension_app_id = extension->id();
|
| }
|
|
|
| + tab->user_agent_override =
|
| + controller->GetWebContents()->GetUserAgentOverride();
|
| +
|
| // TODO(ajwong): This does not correctly handle storage for isolated apps.
|
| tab->session_storage_namespace =
|
| controller->GetDefaultSessionStorageNamespace();
|
| @@ -997,7 +1001,8 @@ TabRestoreServiceDelegate* TabRestoreService::RestoreTab(
|
| tab.current_navigation_index,
|
| tab.from_last_session,
|
| tab.extension_app_id,
|
| - tab.session_storage_namespace);
|
| + tab.session_storage_namespace,
|
| + tab.user_agent_override);
|
| } else {
|
| // We only respsect the tab's original browser if there's no disposition.
|
| if (disposition == UNKNOWN && tab.has_browser())
|
| @@ -1031,7 +1036,8 @@ TabRestoreServiceDelegate* TabRestoreService::RestoreTab(
|
| disposition != NEW_BACKGROUND_TAB,
|
| tab.pinned,
|
| tab.from_last_session,
|
| - tab.session_storage_namespace);
|
| + tab.session_storage_namespace,
|
| + tab.user_agent_override);
|
| web_contents->GetController().LoadIfNecessary();
|
| }
|
| RecordAppLaunch(profile(), tab);
|
|
|