Chromium Code Reviews| 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..b056d6c3031b0a40d4c3550a64c95d13e2c95e40 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]; |
| + TabModel* model = tab_model(); |
| + [model closeTab:model.currentTab]; |
|
rohitrao (ping after 24h)
2017/03/26 23:21:21
We still need to call the TabModel API for this, n
sdefresne
2017/03/28 15:15:05
No, we could call WebStateList (-closeTab: is just
|
| } |