| Index: ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.mm
|
| diff --git a/ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.mm b/ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.mm
|
| index c1a9437cf8263db0fe1e8b699f6dad2b2763af0c..f2a9cb543bf1c1b313cf4dcfa4552612c5b58ddc 100644
|
| --- a/ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.mm
|
| +++ b/ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.mm
|
| @@ -15,13 +15,12 @@
|
| #import "ios/chrome/browser/tabs/tab.h"
|
| #import "ios/chrome/browser/tabs/tab_model.h"
|
| #import "ios/chrome/browser/tabs/tab_model_list.h"
|
| +#import "ios/shared/chrome/browser/tabs/web_state_list.h"
|
| #import "ios/web/navigation/navigation_manager_impl.h"
|
| #include "ios/web/public/navigation_item.h"
|
| #import "ios/web/web_state/web_state_impl.h"
|
| #import "net/base/mac/url_conversions.h"
|
|
|
| -using web::WebStateImpl;
|
| -
|
| TabRestoreServiceDelegateImplIOS::TabRestoreServiceDelegateImplIOS(
|
| ios::ChromeBrowserState* browser_state)
|
| : browser_state_(browser_state) {}
|
| @@ -80,16 +79,16 @@ sessions::LiveTab* TabRestoreServiceDelegateImplIOS::AddRestoredTab(
|
| DCHECK_LT(selected_navigation, static_cast<int>(navigations.size()));
|
|
|
| web::WebState::CreateParams params(browser_state_);
|
| - std::unique_ptr<WebStateImpl> webState(new WebStateImpl(params));
|
| + std::unique_ptr<web::WebStateImpl> web_state(new web::WebStateImpl(params));
|
| std::vector<std::unique_ptr<web::NavigationItem>> items =
|
| sessions::IOSSerializedNavigationBuilder::ToNavigationItems(navigations);
|
| - webState->GetNavigationManagerImpl().ReplaceSessionHistory(
|
| + web_state->GetNavigationManagerImpl().ReplaceSessionHistory(
|
| std::move(items), selected_navigation);
|
| - TabModel* tabModel = tab_model();
|
| - Tab* tab =
|
| - [tabModel insertTabWithWebState:std::move(webState) atIndex:tab_index];
|
| +
|
| + WebStateList* web_state_list = [tab_model() webStateList];
|
| + web_state_list->InsertWebState(tab_index, std::move(web_state));
|
| // TODO(crbug.com/661636): Handle tab-switch animation somehow...
|
| - [tabModel setCurrentTab:tab];
|
| + web_state_list->ActivateWebStateAt(tab_index);
|
| return nullptr;
|
| }
|
|
|
| @@ -113,5 +112,6 @@ sessions::LiveTab* TabRestoreServiceDelegateImplIOS::ReplaceRestoredTab(
|
| }
|
|
|
| void TabRestoreServiceDelegateImplIOS::CloseTab() {
|
| - [[tab_model() currentTab] close];
|
| + WebStateList* web_state_list = [tab_model() webStateList];
|
| + web_state_list->CloseWebStateAt(web_state_list->active_index());
|
| }
|
|
|