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