| Index: chrome/browser/ui/browser_tabrestore.cc
|
| diff --git a/chrome/browser/ui/browser_tabrestore.cc b/chrome/browser/ui/browser_tabrestore.cc
|
| index 2b9c5b5701985bbb05b96aa674df25c47bc4957b..fb09f87c80efe80729644938d2fe9259b8e20584 100644
|
| --- a/chrome/browser/ui/browser_tabrestore.cc
|
| +++ b/chrome/browser/ui/browser_tabrestore.cc
|
| @@ -45,7 +45,8 @@ WebContents* CreateRestoredTab(
|
| bool from_last_session,
|
| content::SessionStorageNamespace* session_storage_namespace,
|
| const std::string& user_agent_override,
|
| - bool initially_hidden) {
|
| + bool initially_hidden,
|
| + base::Optional<RestoreOrigin::Type> restore_origin_type = base::nullopt) {
|
| 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
|
| @@ -67,6 +68,10 @@ WebContents* CreateRestoredTab(
|
| WebContents* web_contents = content::WebContents::CreateWithSessionStorage(
|
| create_params,
|
| session_storage_namespace_map);
|
| + if (restore_origin_type) {
|
| + RestoreOrigin::CreateForWebContents(web_contents,
|
| + restore_origin_type.value());
|
| + }
|
| extensions::TabHelper::CreateForWebContents(web_contents);
|
| extensions::TabHelper::FromWebContents(web_contents)->
|
| SetExtensionAppById(extension_app_id);
|
| @@ -94,15 +99,12 @@ content::WebContents* AddRestoredTab(
|
| bool pin,
|
| bool from_last_session,
|
| content::SessionStorageNamespace* session_storage_namespace,
|
| - const std::string& user_agent_override) {
|
| - WebContents* web_contents = CreateRestoredTab(browser,
|
| - navigations,
|
| - selected_navigation,
|
| - extension_app_id,
|
| - from_last_session,
|
| - session_storage_namespace,
|
| - user_agent_override,
|
| - !select);
|
| + const std::string& user_agent_override,
|
| + base::Optional<RestoreOrigin::Type> restore_origin_type) {
|
| + WebContents* web_contents = CreateRestoredTab(
|
| + browser, navigations, selected_navigation, extension_app_id,
|
| + from_last_session, session_storage_namespace, user_agent_override,
|
| + !select, restore_origin_type);
|
|
|
| int add_types = select ? TabStripModel::ADD_ACTIVE
|
| : TabStripModel::ADD_NONE;
|
|
|