Chromium Code Reviews| Index: ios/web/navigation/session_storage_builder.mm |
| diff --git a/ios/web/navigation/session_storage_builder.mm b/ios/web/navigation/session_storage_builder.mm |
| index 24ff60e340ccd5e7d63d361c5986212f4b2cde15..ca79c306585cf7f6d287ed7d371829a8c32f2fc0 100644 |
| --- a/ios/web/navigation/session_storage_builder.mm |
| +++ b/ios/web/navigation/session_storage_builder.mm |
| @@ -11,6 +11,7 @@ |
| #include "base/memory/ptr_util.h" |
| #import "ios/web/navigation/crw_session_controller+private_constructors.h" |
| #import "ios/web/navigation/crw_session_controller.h" |
| +#include "ios/web/navigation/legacy_navigation_manager_impl.h" |
|
Eugene But (OOO till 7-30)
2017/06/20 22:49:04
s/include/import
danyao
2017/06/20 23:00:45
Done.
|
| #import "ios/web/navigation/navigation_item_impl.h" |
| #import "ios/web/navigation/navigation_item_storage_builder.h" |
| #include "ios/web/navigation/navigation_manager_impl.h" |
| @@ -42,15 +43,17 @@ CRWSessionStorage* SessionStorageBuilder::BuildStorage( |
| DCHECK(navigation_manager); |
| CRWSessionStorage* session_storage = [[CRWSessionStorage alloc] init]; |
| session_storage.hasOpener = web_state->HasOpener(); |
| - CRWSessionController* session_controller = |
| - navigation_manager->GetSessionController(); |
| session_storage.lastCommittedItemIndex = |
| - session_controller.lastCommittedItemIndex; |
| - session_storage.previousItemIndex = session_controller.previousItemIndex; |
| + navigation_manager->GetLastCommittedItemIndex(); |
| + session_storage.previousItemIndex = |
| + (NSInteger)navigation_manager->GetPreviousItemIndex(); |
|
Eugene But (OOO till 7-30)
2017/06/20 22:49:03
Per C++ Style Guide:
static_cast<NSInteger>(naviga
danyao
2017/06/20 23:00:45
Done.
|
| NSMutableArray* item_storages = [[NSMutableArray alloc] init]; |
| NavigationItemStorageBuilder item_storage_builder; |
| - for (size_t index = 0; index < session_controller.items.size(); ++index) { |
| - web::NavigationItemImpl* item = session_controller.items[index].get(); |
| + for (size_t index = 0; index < (size_t)navigation_manager->GetItemCount(); |
|
Eugene But (OOO till 7-30)
2017/06/20 22:49:03
ditto
danyao
2017/06/20 23:00:45
Done.
|
| + ++index) { |
| + web::NavigationItemImpl* item = |
| + navigation_manager->GetNavigationItemImplAtIndex(index); |
| + ; |
| [item_storages addObject:item_storage_builder.BuildStorage(item)]; |
| } |
| session_storage.itemStorages = item_storages; |
| @@ -85,8 +88,11 @@ void SessionStorageBuilder::ExtractSessionState( |
| navigationItems:std::move(items) |
| lastCommittedItemIndex:last_committed_item_index]); |
| [session_controller setPreviousItemIndex:storage.previousItemIndex]; |
| - web_state->navigation_manager_.reset(new NavigationManagerImpl()); |
| - web_state->navigation_manager_->SetSessionController(session_controller); |
| + |
| + auto navigation_manager = base::MakeUnique<LegacyNavigationManagerImpl>(); |
| + navigation_manager->SetSessionController(session_controller); |
| + web_state->navigation_manager_.reset(navigation_manager.release()); |
| + |
| SessionCertificatePolicyCacheStorageBuilder cert_builder; |
| std::unique_ptr<SessionCertificatePolicyCacheImpl> cert_policy_cache = |
| cert_builder.BuildSessionCertificatePolicyCache( |