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
 
 | 
| } |