| OLD | NEW |
| 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 "ios/web/navigation/crw_serialized_navigation_manager.h" | 8 #import "ios/web/navigation/crw_serialized_navigation_manager.h" |
| 9 #import "ios/web/navigation/crw_session_controller.h" | 9 #import "ios/web/navigation/crw_session_controller.h" |
| 10 #include "ios/web/navigation/navigation_manager_impl.h" | 10 #include "ios/web/navigation/navigation_manager_impl.h" |
| 11 #include "ios/web/public/serialized_user_data_manager.h" |
| 11 | 12 |
| 12 // CRWSessionController's readonly properties redefined as readwrite. These | 13 // CRWSessionController's readonly properties redefined as readwrite. These |
| 13 // will be removed and NavigationManagerImpl's ivars will be written directly | 14 // will be removed and NavigationManagerImpl's ivars will be written directly |
| 14 // as this functionality moves from CRWSessionController to | 15 // as this functionality moves from CRWSessionController to |
| 15 // NavigationManagerImpl; | 16 // NavigationManagerImpl; |
| 16 @interface CRWSessionController (ExposedForSerialization) | 17 @interface CRWSessionController (ExposedForSerialization) |
| 17 @property(nonatomic, readwrite, retain) NSString* tabId; | 18 @property(nonatomic, readwrite, retain) NSString* tabId; |
| 18 @property(nonatomic, readwrite, copy) NSString* openerId; | 19 @property(nonatomic, readwrite, copy) NSString* openerId; |
| 19 @property(nonatomic, readwrite, getter=isOpenedByDOM) BOOL openedByDOM; | 20 @property(nonatomic, readwrite, getter=isOpenedByDOM) BOOL openedByDOM; |
| 20 @property(nonatomic, readwrite, assign) NSInteger openerNavigationIndex; | 21 @property(nonatomic, readwrite, assign) NSInteger openerNavigationIndex; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 46 session_controller.currentNavigationIndex; | 47 session_controller.currentNavigationIndex; |
| 47 serialized_navigation_manager.previousNavigationIndex = | 48 serialized_navigation_manager.previousNavigationIndex = |
| 48 session_controller.previousNavigationIndex; | 49 session_controller.previousNavigationIndex; |
| 49 serialized_navigation_manager.lastVisitedTimestamp = | 50 serialized_navigation_manager.lastVisitedTimestamp = |
| 50 session_controller.lastVisitedTimestamp; | 51 session_controller.lastVisitedTimestamp; |
| 51 serialized_navigation_manager.entries = session_controller.entries; | 52 serialized_navigation_manager.entries = session_controller.entries; |
| 52 serialized_navigation_manager.sessionCertificatePolicyManager = | 53 serialized_navigation_manager.sessionCertificatePolicyManager = |
| 53 session_controller.sessionCertificatePolicyManager; | 54 session_controller.sessionCertificatePolicyManager; |
| 54 serialized_navigation_manager.xCallbackParameters = | 55 serialized_navigation_manager.xCallbackParameters = |
| 55 session_controller.xCallbackParameters; | 56 session_controller.xCallbackParameters; |
| 57 web::SerializedUserDataManager* userDataManager = |
| 58 web::SerializedUserDataManager::FromNavigationManager(navigation_manager); |
| 59 serialized_navigation_manager.serializedUserData = |
| 60 userDataManager->GetSerializationDictionary(); |
| 61 |
| 56 return serialized_navigation_manager; | 62 return serialized_navigation_manager; |
| 57 } | 63 } |
| 58 | 64 |
| 59 // static | 65 // static |
| 60 scoped_ptr<NavigationManagerImpl> | 66 scoped_ptr<NavigationManagerImpl> |
| 61 SerializedNavigationManagerBuilder::ToNavigationManager( | 67 SerializedNavigationManagerBuilder::ToNavigationManager( |
| 62 CRWSerializedNavigationManager* serialized_navigation_manager) { | 68 CRWSerializedNavigationManager* serialized_navigation_manager) { |
| 63 DCHECK(serialized_navigation_manager); | 69 DCHECK(serialized_navigation_manager); |
| 64 CRWSessionController* session_controller = | 70 CRWSessionController* session_controller = |
| 65 [[[CRWSessionController alloc] init] autorelease]; | 71 [[[CRWSessionController alloc] init] autorelease]; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 76 session_controller.lastVisitedTimestamp = | 82 session_controller.lastVisitedTimestamp = |
| 77 serialized_navigation_manager.lastVisitedTimestamp; | 83 serialized_navigation_manager.lastVisitedTimestamp; |
| 78 session_controller.entries = serialized_navigation_manager.entries; | 84 session_controller.entries = serialized_navigation_manager.entries; |
| 79 session_controller.sessionCertificatePolicyManager = | 85 session_controller.sessionCertificatePolicyManager = |
| 80 serialized_navigation_manager.sessionCertificatePolicyManager; | 86 serialized_navigation_manager.sessionCertificatePolicyManager; |
| 81 session_controller.xCallbackParameters = | 87 session_controller.xCallbackParameters = |
| 82 serialized_navigation_manager.xCallbackParameters; | 88 serialized_navigation_manager.xCallbackParameters; |
| 83 scoped_ptr<NavigationManagerImpl> navigation_manager( | 89 scoped_ptr<NavigationManagerImpl> navigation_manager( |
| 84 new NavigationManagerImpl()); | 90 new NavigationManagerImpl()); |
| 85 navigation_manager->SetSessionController(session_controller); | 91 navigation_manager->SetSessionController(session_controller); |
| 92 web::SerializedUserDataManager* userDataManager = |
| 93 web::SerializedUserDataManager::FromNavigationManager( |
| 94 navigation_manager.get()); |
| 95 userDataManager->AddValuesFromDictionary( |
| 96 serialized_navigation_manager.serializedUserData); |
| 86 return navigation_manager.Pass(); | 97 return navigation_manager.Pass(); |
| 87 } | 98 } |
| 88 | 99 |
| 89 } // namespace web | 100 } // namespace web |
| OLD | NEW |