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

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

Issue 2720983002: Remove windowName from CRWSessionController. (Closed)
Patch Set: Address comments. Created 3 years, 9 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
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/session_storage_builder.h" 5 #import "ios/web/navigation/session_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"
11 #import "ios/web/navigation/crw_session_entry.h" 11 #import "ios/web/navigation/crw_session_entry.h"
12 #import "ios/web/navigation/navigation_item_impl.h" 12 #import "ios/web/navigation/navigation_item_impl.h"
13 #import "ios/web/navigation/navigation_item_storage_builder.h" 13 #import "ios/web/navigation/navigation_item_storage_builder.h"
14 #include "ios/web/navigation/navigation_manager_impl.h" 14 #include "ios/web/navigation/navigation_manager_impl.h"
15 #import "ios/web/public/crw_session_storage.h" 15 #import "ios/web/public/crw_session_storage.h"
16 #import "ios/web/public/serializable_user_data_manager.h" 16 #import "ios/web/public/serializable_user_data_manager.h"
17 #import "ios/web/web_state/web_state_impl.h" 17 #import "ios/web/web_state/web_state_impl.h"
18 18
19 // CRWSessionController's readonly properties redefined as readwrite. These 19 // CRWSessionController's readonly properties redefined as readwrite. These
20 // will be removed and NavigationManagerImpl's ivars will be written directly 20 // will be removed and NavigationManagerImpl's ivars will be written directly
21 // as this functionality moves from CRWSessionController to 21 // as this functionality moves from CRWSessionController to
22 // NavigationManagerImpl; 22 // NavigationManagerImpl;
23 @interface CRWSessionController (ExposedForSerialization) 23 @interface CRWSessionController (ExposedForSerialization)
24 @property(nonatomic, readwrite, retain) NSString* tabId;
25 @property(nonatomic, readwrite, getter=isOpenedByDOM) BOOL openedByDOM; 24 @property(nonatomic, readwrite, getter=isOpenedByDOM) BOOL openedByDOM;
26 @property(nonatomic, readwrite, assign) NSInteger previousNavigationIndex; 25 @property(nonatomic, readwrite, assign) NSInteger previousNavigationIndex;
27 @property(nonatomic, readwrite, retain) 26 @property(nonatomic, readwrite, retain)
28 CRWSessionCertificatePolicyManager* sessionCertificatePolicyManager; 27 CRWSessionCertificatePolicyManager* sessionCertificatePolicyManager;
29 @end 28 @end
30 29
31 namespace web { 30 namespace web {
32 31
33 CRWSessionStorage* SessionStorageBuilder::BuildStorage( 32 CRWSessionStorage* SessionStorageBuilder::BuildStorage(
34 WebStateImpl* web_state) const { 33 WebStateImpl* web_state) const {
35 DCHECK(web_state); 34 DCHECK(web_state);
36 web::NavigationManagerImpl* navigation_manager = 35 web::NavigationManagerImpl* navigation_manager =
37 web_state->navigation_manager_.get(); 36 web_state->navigation_manager_.get();
38 DCHECK(navigation_manager); 37 DCHECK(navigation_manager);
39 CRWSessionStorage* serialized_navigation_manager = 38 CRWSessionStorage* serialized_navigation_manager =
40 [[CRWSessionStorage alloc] init]; 39 [[CRWSessionStorage alloc] init];
41 CRWSessionController* session_controller = 40 CRWSessionController* session_controller =
42 navigation_manager->GetSessionController(); 41 navigation_manager->GetSessionController();
43 serialized_navigation_manager.openedByDOM = session_controller.openedByDOM; 42 serialized_navigation_manager.openedByDOM = session_controller.openedByDOM;
44 serialized_navigation_manager.windowName = session_controller.windowName;
45 serialized_navigation_manager.currentNavigationIndex = 43 serialized_navigation_manager.currentNavigationIndex =
46 session_controller.currentNavigationIndex; 44 session_controller.currentNavigationIndex;
47 serialized_navigation_manager.previousNavigationIndex = 45 serialized_navigation_manager.previousNavigationIndex =
48 session_controller.previousNavigationIndex; 46 session_controller.previousNavigationIndex;
49 serialized_navigation_manager.lastVisitedTimestamp = 47 serialized_navigation_manager.lastVisitedTimestamp =
50 session_controller.lastVisitedTimestamp; 48 session_controller.lastVisitedTimestamp;
51 serialized_navigation_manager.sessionCertificatePolicyManager = 49 serialized_navigation_manager.sessionCertificatePolicyManager =
52 session_controller.sessionCertificatePolicyManager; 50 session_controller.sessionCertificatePolicyManager;
53 NSMutableArray* item_storages = [[NSMutableArray alloc] init]; 51 NSMutableArray* item_storages = [[NSMutableArray alloc] init];
54 NavigationItemStorageBuilder item_storage_builder; 52 NavigationItemStorageBuilder item_storage_builder;
(...skipping 18 matching lines...) Expand all
73 NSArray* item_storages = storage.itemStorages; 71 NSArray* item_storages = storage.itemStorages;
74 web::ScopedNavigationItemList items(item_storages.count); 72 web::ScopedNavigationItemList items(item_storages.count);
75 NavigationItemStorageBuilder item_storage_builder; 73 NavigationItemStorageBuilder item_storage_builder;
76 for (size_t index = 0; index < item_storages.count; ++index) { 74 for (size_t index = 0; index < item_storages.count; ++index) {
77 std::unique_ptr<NavigationItemImpl> item_impl = 75 std::unique_ptr<NavigationItemImpl> item_impl =
78 item_storage_builder.BuildNavigationItemImpl(item_storages[index]); 76 item_storage_builder.BuildNavigationItemImpl(item_storages[index]);
79 items[index] = std::move(item_impl); 77 items[index] = std::move(item_impl);
80 } 78 }
81 NSUInteger current_index = storage.currentNavigationIndex; 79 NSUInteger current_index = storage.currentNavigationIndex;
82 base::scoped_nsobject<CRWSessionController> session_controller( 80 base::scoped_nsobject<CRWSessionController> session_controller(
83 [[CRWSessionController alloc] initWithNavigationItems:std::move(items) 81 [[CRWSessionController alloc] initWithBrowserState:nullptr
84 currentIndex:current_index 82 navigationItems:std::move(items)
85 browserState:nullptr]); 83 currentIndex:current_index]);
86 [session_controller setOpenedByDOM:storage.openedByDOM]; 84 [session_controller setOpenedByDOM:storage.openedByDOM];
87 [session_controller setWindowName:storage.windowName];
88 [session_controller 85 [session_controller
89 setPreviousNavigationIndex:storage.previousNavigationIndex]; 86 setPreviousNavigationIndex:storage.previousNavigationIndex];
90 [session_controller setLastVisitedTimestamp:storage.lastVisitedTimestamp]; 87 [session_controller setLastVisitedTimestamp:storage.lastVisitedTimestamp];
91 [session_controller 88 [session_controller
92 setSessionCertificatePolicyManager:storage 89 setSessionCertificatePolicyManager:storage
93 .sessionCertificatePolicyManager]; 90 .sessionCertificatePolicyManager];
94 web_state->navigation_manager_.reset(new NavigationManagerImpl()); 91 web_state->navigation_manager_.reset(new NavigationManagerImpl());
95 web_state->navigation_manager_->SetSessionController(session_controller); 92 web_state->navigation_manager_->SetSessionController(session_controller);
96 web::SerializableUserDataManager::FromWebState(web_state) 93 web::SerializableUserDataManager::FromWebState(web_state)
97 ->AddSerializableUserData(storage.userData); 94 ->AddSerializableUserData(storage.userData);
98 } 95 }
99 96
100 } // namespace web 97 } // namespace web
OLDNEW
« no previous file with comments | « ios/web/navigation/navigation_manager_impl_unittest.mm ('k') | ios/web/net/crw_ssl_status_updater_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698