| 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 "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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |