Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #import "ios/web/navigation/serialized_navigation_manager_builder.h" | |
| 6 | |
| 7 #include "base/logging.h" | |
| 8 #import "ios/web/navigation/crw_serialized_navigation_manager.h" | |
| 9 #import "ios/web/navigation/crw_session_controller.h" | |
| 10 #include "ios/web/navigation/navigation_manager_impl.h" | |
| 11 | |
| 12 // CRWSessionController's readonly properties redefined as readwrite. These | |
| 13 // will be removed and NavigationManagerImpl's ivars will be written directly | |
| 14 // as this functionality moves from CRWSessionController to | |
| 15 // NavigationManagerImpl; | |
| 16 @interface CRWSessionController (ExposedForSerialization) | |
| 17 @property(nonatomic, readwrite, retain) NSString* tabId; | |
| 18 @property(nonatomic, readwrite, copy) NSString* openerId; | |
| 19 @property(nonatomic, readwrite, getter=isOpenedByDOM) BOOL openedByDOM; | |
| 20 @property(nonatomic, readwrite, assign) NSInteger openerNavigationIndex; | |
| 21 @property(nonatomic, readwrite, assign) NSInteger currentNavigationIndex; | |
| 22 @property(nonatomic, readwrite, assign) NSInteger previousNavigationIndex; | |
| 23 @property(nonatomic, readwrite, retain) NSArray* entries; | |
| 24 @property(nonatomic, readwrite, retain) | |
| 25 CRWSessionCertificatePolicyManager* sessionCertificatePolicyManager; | |
| 26 @end | |
| 27 | |
| 28 namespace web { | |
| 29 | |
| 30 // static | |
| 31 CRWSerializedNavigationManager* | |
| 32 SerializedNavigationManagerBuilder::FromNavigationManager( | |
| 33 web::NavigationManagerImpl* navigation_manager) { | |
| 34 DCHECK(navigation_manager); | |
| 35 CRWSerializedNavigationManager* serialized_navigation_manager = | |
| 36 [[[CRWSerializedNavigationManager alloc] init] autorelease]; | |
|
Eugene But (OOO till 7-30)
2015/09/23 16:33:44
Please use scoped_nsobject instead of autorelease
kkhorimoto
2015/09/24 18:12:59
Why? I've created functions that returned scoped_
Eugene But (OOO till 7-30)
2015/09/24 18:44:29
I apologies, I missed that fact that you return se
| |
| 37 CRWSessionController* session_controller = | |
| 38 navigation_manager->GetSessionController(); | |
| 39 serialized_navigation_manager.tabId = session_controller.tabId; | |
| 40 serialized_navigation_manager.openerId = session_controller.openerId; | |
| 41 serialized_navigation_manager.openedByDOM = session_controller.openedByDOM; | |
| 42 serialized_navigation_manager.openerNavigationIndex = | |
| 43 session_controller.openerNavigationIndex; | |
| 44 serialized_navigation_manager.windowName = session_controller.windowName; | |
| 45 serialized_navigation_manager.currentNavigationIndex = | |
| 46 session_controller.currentNavigationIndex; | |
| 47 serialized_navigation_manager.previousNavigationIndex = | |
| 48 session_controller.previousNavigationIndex; | |
| 49 serialized_navigation_manager.lastVisitedTimestamp = | |
| 50 session_controller.lastVisitedTimestamp; | |
| 51 serialized_navigation_manager.entries = session_controller.entries; | |
| 52 serialized_navigation_manager.sessionCertificatePolicyManager = | |
| 53 session_controller.sessionCertificatePolicyManager; | |
| 54 serialized_navigation_manager.xCallbackParameters = | |
| 55 session_controller.xCallbackParameters; | |
| 56 return serialized_navigation_manager; | |
| 57 } | |
| 58 | |
| 59 // static | |
| 60 scoped_ptr<NavigationManagerImpl> | |
| 61 SerializedNavigationManagerBuilder::ToNavigationManager( | |
| 62 CRWSerializedNavigationManager* serialized_navigation_manager) { | |
| 63 DCHECK(serialized_navigation_manager); | |
| 64 CRWSessionController* session_controller = | |
| 65 [[[CRWSessionController alloc] init] autorelease]; | |
|
Eugene But (OOO till 7-30)
2015/09/23 16:33:44
ditto
kkhorimoto
2015/09/24 18:12:59
Done.
| |
| 66 session_controller.tabId = serialized_navigation_manager.tabId; | |
| 67 session_controller.openerId = serialized_navigation_manager.openerId; | |
| 68 session_controller.openedByDOM = serialized_navigation_manager.openedByDOM; | |
| 69 session_controller.openerNavigationIndex = | |
| 70 serialized_navigation_manager.openerNavigationIndex; | |
| 71 session_controller.windowName = serialized_navigation_manager.windowName; | |
| 72 session_controller.currentNavigationIndex = | |
| 73 serialized_navigation_manager.currentNavigationIndex; | |
| 74 session_controller.previousNavigationIndex = | |
| 75 serialized_navigation_manager.previousNavigationIndex; | |
| 76 session_controller.lastVisitedTimestamp = | |
| 77 serialized_navigation_manager.lastVisitedTimestamp; | |
| 78 session_controller.entries = serialized_navigation_manager.entries; | |
| 79 session_controller.sessionCertificatePolicyManager = | |
| 80 serialized_navigation_manager.sessionCertificatePolicyManager; | |
| 81 session_controller.xCallbackParameters = | |
| 82 serialized_navigation_manager.xCallbackParameters; | |
| 83 scoped_ptr<NavigationManagerImpl> navigation_manager( | |
| 84 new NavigationManagerImpl()); | |
| 85 navigation_manager->SetSessionController(session_controller); | |
| 86 return navigation_manager.Pass(); | |
| 87 } | |
| 88 | |
| 89 } // namespace web | |
| OLD | NEW |