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

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

Issue 1361173005: Created SerializedUserDataManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@serialized_navigation_manager
Patch Set: Eugene's comments Created 5 years, 2 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/serialized_navigation_manager_builder.h" 5 #import "ios/web/navigation/serialized_navigation_manager_builder.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #import "base/mac/scoped_nsobject.h" 8 #import "base/mac/scoped_nsobject.h"
9 #import "ios/web/navigation/crw_serialized_navigation_manager.h" 9 #import "ios/web/navigation/crw_serialized_navigation_manager.h"
10 #import "ios/web/navigation/crw_session_controller.h" 10 #import "ios/web/navigation/crw_session_controller.h"
11 #include "ios/web/navigation/navigation_manager_impl.h" 11 #include "ios/web/navigation/navigation_manager_impl.h"
12 #include "ios/web/public/serialized_user_data_manager.h"
12 13
13 // CRWSessionController's readonly properties redefined as readwrite. These 14 // CRWSessionController's readonly properties redefined as readwrite. These
14 // will be removed and NavigationManagerImpl's ivars will be written directly 15 // will be removed and NavigationManagerImpl's ivars will be written directly
15 // as this functionality moves from CRWSessionController to 16 // as this functionality moves from CRWSessionController to
16 // NavigationManagerImpl; 17 // NavigationManagerImpl;
17 @interface CRWSessionController (ExposedForSerialization) 18 @interface CRWSessionController (ExposedForSerialization)
18 @property(nonatomic, readwrite, retain) NSString* tabId; 19 @property(nonatomic, readwrite, retain) NSString* tabId;
19 @property(nonatomic, readwrite, copy) NSString* openerId; 20 @property(nonatomic, readwrite, copy) NSString* openerId;
20 @property(nonatomic, readwrite, getter=isOpenedByDOM) BOOL openedByDOM; 21 @property(nonatomic, readwrite, getter=isOpenedByDOM) BOOL openedByDOM;
21 @property(nonatomic, readwrite, assign) NSInteger openerNavigationIndex; 22 @property(nonatomic, readwrite, assign) NSInteger openerNavigationIndex;
(...skipping 25 matching lines...) Expand all
47 session_controller.currentNavigationIndex; 48 session_controller.currentNavigationIndex;
48 serialized_navigation_manager.previousNavigationIndex = 49 serialized_navigation_manager.previousNavigationIndex =
49 session_controller.previousNavigationIndex; 50 session_controller.previousNavigationIndex;
50 serialized_navigation_manager.lastVisitedTimestamp = 51 serialized_navigation_manager.lastVisitedTimestamp =
51 session_controller.lastVisitedTimestamp; 52 session_controller.lastVisitedTimestamp;
52 serialized_navigation_manager.entries = session_controller.entries; 53 serialized_navigation_manager.entries = session_controller.entries;
53 serialized_navigation_manager.sessionCertificatePolicyManager = 54 serialized_navigation_manager.sessionCertificatePolicyManager =
54 session_controller.sessionCertificatePolicyManager; 55 session_controller.sessionCertificatePolicyManager;
55 serialized_navigation_manager.XCallbackParameters = 56 serialized_navigation_manager.XCallbackParameters =
56 session_controller.xCallbackParameters; 57 session_controller.xCallbackParameters;
58 web::SerializedUserDataManager* userDataManager =
59 web::SerializedUserDataManager::FromWebState(
60 navigation_manager->GetWebState());
61 serialized_navigation_manager.serializedUserData =
62 userDataManager->GetSerializationDictionary();
63
57 return serialized_navigation_manager; 64 return serialized_navigation_manager;
58 } 65 }
59 66
60 // static 67 // static
61 scoped_ptr<NavigationManagerImpl> 68 scoped_ptr<NavigationManagerImpl>
62 SerializedNavigationManagerBuilder::ToNavigationManager( 69 SerializedNavigationManagerBuilder::ToNavigationManager(
63 CRWSerializedNavigationManager* serialized_navigation_manager) { 70 CRWSerializedNavigationManager* serialized_navigation_manager) {
64 DCHECK(serialized_navigation_manager); 71 DCHECK(serialized_navigation_manager);
65 base::scoped_nsobject<CRWSessionController> session_controller( 72 base::scoped_nsobject<CRWSessionController> session_controller(
66 [[CRWSessionController alloc] init]); 73 [[CRWSessionController alloc] init]);
(...skipping 10 matching lines...) Expand all
77 [session_controller setLastVisitedTimestamp: 84 [session_controller setLastVisitedTimestamp:
78 serialized_navigation_manager.lastVisitedTimestamp]; 85 serialized_navigation_manager.lastVisitedTimestamp];
79 [session_controller setEntries:serialized_navigation_manager.entries]; 86 [session_controller setEntries:serialized_navigation_manager.entries];
80 [session_controller setSessionCertificatePolicyManager: 87 [session_controller setSessionCertificatePolicyManager:
81 serialized_navigation_manager.sessionCertificatePolicyManager]; 88 serialized_navigation_manager.sessionCertificatePolicyManager];
82 [session_controller setXCallbackParameters: 89 [session_controller setXCallbackParameters:
83 serialized_navigation_manager.XCallbackParameters]; 90 serialized_navigation_manager.XCallbackParameters];
84 scoped_ptr<NavigationManagerImpl> navigation_manager( 91 scoped_ptr<NavigationManagerImpl> navigation_manager(
85 new NavigationManagerImpl()); 92 new NavigationManagerImpl());
86 navigation_manager->SetSessionController(session_controller); 93 navigation_manager->SetSessionController(session_controller);
94 web::SerializedUserDataManager* userDataManager =
95 web::SerializedUserDataManager::FromWebState(
96 navigation_manager->GetWebState());
97 userDataManager->AddValuesFromDictionary(
98 serialized_navigation_manager.serializedUserData);
87 return navigation_manager.Pass(); 99 return navigation_manager.Pass();
88 } 100 }
89 101
90 } // namespace web 102 } // namespace web
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698