Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: ios/web/navigation/navigation_manager_storage_builder.mm

Issue 2672953005: Updated ownership of NavigationItems within CRWSessionController. (Closed)
Patch Set: fix unittests Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ios/web/navigation/navigation_item_impl_list.mm ('k') | ios/web/public/navigation_item_list.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/web/navigation/navigation_manager_storage_builder.h" 5 #import "ios/web/navigation/navigation_manager_storage_builder.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/mac/foundation_util.h" 8 #include "base/mac/foundation_util.h"
9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h"
10 #import "ios/web/navigation/crw_session_controller.h" 10 #import "ios/web/navigation/crw_session_controller.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 session_controller.currentNavigationIndex; 47 session_controller.currentNavigationIndex;
48 serialized_navigation_manager.previousNavigationIndex = 48 serialized_navigation_manager.previousNavigationIndex =
49 session_controller.previousNavigationIndex; 49 session_controller.previousNavigationIndex;
50 serialized_navigation_manager.lastVisitedTimestamp = 50 serialized_navigation_manager.lastVisitedTimestamp =
51 session_controller.lastVisitedTimestamp; 51 session_controller.lastVisitedTimestamp;
52 serialized_navigation_manager.sessionCertificatePolicyManager = 52 serialized_navigation_manager.sessionCertificatePolicyManager =
53 session_controller.sessionCertificatePolicyManager; 53 session_controller.sessionCertificatePolicyManager;
54 NSMutableArray* item_storages = [[NSMutableArray alloc] init]; 54 NSMutableArray* item_storages = [[NSMutableArray alloc] init];
55 NavigationItemStorageBuilder item_storage_builder; 55 NavigationItemStorageBuilder item_storage_builder;
56 for (size_t index = 0; index < session_controller.items.size(); ++index) { 56 for (size_t index = 0; index < session_controller.items.size(); ++index) {
57 web::NavigationItemImpl* item = 57 web::NavigationItemImpl* item = session_controller.items[index].get();
58 static_cast<web::NavigationItemImpl*>(session_controller.items[index]);
59 [item_storages addObject:item_storage_builder.BuildStorage(item)]; 58 [item_storages addObject:item_storage_builder.BuildStorage(item)];
60 } 59 }
61 serialized_navigation_manager.itemStorages = item_storages; 60 serialized_navigation_manager.itemStorages = item_storages;
62 return serialized_navigation_manager; 61 return serialized_navigation_manager;
63 } 62 }
64 63
65 std::unique_ptr<NavigationManagerImpl> 64 std::unique_ptr<NavigationManagerImpl>
66 NavigationManagerStorageBuilder::BuildNavigationManagerImpl( 65 NavigationManagerStorageBuilder::BuildNavigationManagerImpl(
67 CRWNavigationManagerStorage* navigation_manager_serialization) const { 66 CRWNavigationManagerStorage* navigation_manager_serialization) const {
68 DCHECK(navigation_manager_serialization); 67 DCHECK(navigation_manager_serialization);
(...skipping 27 matching lines...) Expand all
96 [session_controller 95 [session_controller
97 setSessionCertificatePolicyManager:navigation_manager_serialization 96 setSessionCertificatePolicyManager:navigation_manager_serialization
98 .sessionCertificatePolicyManager]; 97 .sessionCertificatePolicyManager];
99 std::unique_ptr<NavigationManagerImpl> navigation_manager( 98 std::unique_ptr<NavigationManagerImpl> navigation_manager(
100 new NavigationManagerImpl()); 99 new NavigationManagerImpl());
101 navigation_manager->SetSessionController(session_controller); 100 navigation_manager->SetSessionController(session_controller);
102 return navigation_manager; 101 return navigation_manager;
103 } 102 }
104 103
105 } // namespace web 104 } // namespace web
OLDNEW
« no previous file with comments | « ios/web/navigation/navigation_item_impl_list.mm ('k') | ios/web/public/navigation_item_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698