OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ | 5 #ifndef IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ |
6 #define IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ | 6 #define IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ |
7 | 7 |
8 #import <Foundation/Foundation.h> | 8 #import <Foundation/Foundation.h> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 struct SSLStatus; | 21 struct SSLStatus; |
22 } | 22 } |
23 | 23 |
24 // A CRWSessionController is similar to a NavigationController object in desktop | 24 // A CRWSessionController is similar to a NavigationController object in desktop |
25 // Chrome. It maintains information needed to save/restore a tab with its | 25 // Chrome. It maintains information needed to save/restore a tab with its |
26 // complete session history. There is one of these for each tab. | 26 // complete session history. There is one of these for each tab. |
27 // TODO(stuartmorgan): Move under NavigationManager, and consider merging into | 27 // TODO(stuartmorgan): Move under NavigationManager, and consider merging into |
28 // NavigationManager. | 28 // NavigationManager. |
29 @interface CRWSessionController : NSObject<NSCoding, NSCopying> | 29 @interface CRWSessionController : NSObject<NSCoding, NSCopying> |
30 | 30 |
31 @property(nonatomic, readonly, retain) NSString* tabId; | 31 @property(nonatomic, readonly, copy) NSString* tabId; |
32 @property(nonatomic, readonly, assign) NSInteger currentNavigationIndex; | 32 @property(nonatomic, readonly, assign) NSInteger currentNavigationIndex; |
33 @property(nonatomic, readonly, assign) NSInteger previousNavigationIndex; | 33 @property(nonatomic, readonly, assign) NSInteger previousNavigationIndex; |
34 @property(nonatomic, readonly, retain) NSArray* entries; | 34 @property(nonatomic, readonly, strong) NSArray* entries; |
35 @property(nonatomic, copy) NSString* windowName; | 35 @property(nonatomic, copy) NSString* windowName; |
36 // Indicates whether the page was opened by DOM (e.g. with |window.open| | 36 // Indicates whether the page was opened by DOM (e.g. with |window.open| |
37 // JavaScript call or by clicking a link with |_blank| target). | 37 // JavaScript call or by clicking a link with |_blank| target). |
38 @property(nonatomic, readonly, getter=isOpenedByDOM) BOOL openedByDOM; | 38 @property(nonatomic, readonly, getter=isOpenedByDOM) BOOL openedByDOM; |
39 @property(nonatomic, readonly, retain) | 39 @property(nonatomic, readonly, strong) |
40 CRWSessionCertificatePolicyManager* sessionCertificatePolicyManager; | 40 CRWSessionCertificatePolicyManager* sessionCertificatePolicyManager; |
41 // Returns the current entry in the session list, or the pending entry if there | 41 // Returns the current entry in the session list, or the pending entry if there |
42 // is a navigation in progress. | 42 // is a navigation in progress. |
43 @property(nonatomic, readonly) CRWSessionEntry* currentEntry; | 43 @property(nonatomic, readonly, strong) CRWSessionEntry* currentEntry; |
44 // Returns the entry that should be displayed to users (e.g., in the omnibox). | 44 // Returns the entry that should be displayed to users (e.g., in the omnibox). |
45 @property(nonatomic, readonly) CRWSessionEntry* visibleEntry; | 45 @property(nonatomic, readonly, strong) CRWSessionEntry* visibleEntry; |
46 // Returns the pending entry, if any. | 46 // Returns the pending entry, if any. |
47 @property(nonatomic, readonly) CRWSessionEntry* pendingEntry; | 47 @property(nonatomic, readonly, strong) CRWSessionEntry* pendingEntry; |
48 // Returns the transient entry, if any. | 48 // Returns the transient entry, if any. |
49 @property(nonatomic, readonly) CRWSessionEntry* transientEntry; | 49 @property(nonatomic, readonly, strong) CRWSessionEntry* transientEntry; |
50 // Returns the last committed entry. | 50 // Returns the last committed entry. |
51 @property(nonatomic, readonly) CRWSessionEntry* lastCommittedEntry; | 51 @property(nonatomic, readonly, strong) CRWSessionEntry* lastCommittedEntry; |
52 // Returns the previous entry in the session list, or nil if there isn't any. | 52 // Returns the previous entry in the session list, or nil if there isn't any. |
53 @property(nonatomic, readonly) CRWSessionEntry* previousEntry; | 53 @property(nonatomic, readonly, strong) CRWSessionEntry* previousEntry; |
54 @property(nonatomic, assign) NSTimeInterval lastVisitedTimestamp; | 54 @property(nonatomic, assign) NSTimeInterval lastVisitedTimestamp; |
55 @property(nonatomic, readonly, copy) NSString* openerId; | 55 @property(nonatomic, readonly, copy) NSString* openerId; |
56 @property(nonatomic, readonly, assign) NSInteger openerNavigationIndex; | 56 @property(nonatomic, readonly, assign) NSInteger openerNavigationIndex; |
57 @property(nonatomic, retain) XCallbackParameters* xCallbackParameters; | 57 @property(nonatomic, strong) XCallbackParameters* xCallbackParameters; |
58 | 58 |
59 // CRWSessionController doesn't have public constructors. New | 59 // CRWSessionController doesn't have public constructors. New |
60 // CRWSessionControllers are created by deserialization, or via a | 60 // CRWSessionControllers are created by deserialization, or via a |
61 // NavigationManager. | 61 // NavigationManager. |
62 | 62 |
63 // Sets the corresponding NavigationManager. | 63 // Sets the corresponding NavigationManager. |
64 - (void)setNavigationManager:(web::NavigationManagerImpl*)navigationManager; | 64 - (void)setNavigationManager:(web::NavigationManagerImpl*)navigationManager; |
65 | 65 |
66 // Add a new entry with the given url, referrer, and navigation type, making it | 66 // Add a new entry with the given url, referrer, and navigation type, making it |
67 // the current entry. If |url| is the same as the current entry's url, this | 67 // the current entry. If |url| is the same as the current entry's url, this |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 // |entries_| is empty. | 150 // |entries_| is empty. |
151 - (CRWSessionEntry*)lastUserEntry; | 151 - (CRWSessionEntry*)lastUserEntry; |
152 | 152 |
153 // Set |useDesktopUserAgentForNextPendingEntry_| to YES if there is no pending | 153 // Set |useDesktopUserAgentForNextPendingEntry_| to YES if there is no pending |
154 // entry, otherwise set |useDesktopUserAgent| in the pending entry. | 154 // entry, otherwise set |useDesktopUserAgent| in the pending entry. |
155 - (void)useDesktopUserAgentForNextPendingEntry; | 155 - (void)useDesktopUserAgentForNextPendingEntry; |
156 | 156 |
157 @end | 157 @end |
158 | 158 |
159 #endif // IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ | 159 #endif // IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ |
OLD | NEW |