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 |
11 #include "ios/web/public/navigation_item_list.h" | 11 #import "ios/web/navigation/navigation_item_impl_list.h" |
12 #include "ui/base/page_transition_types.h" | 12 #include "ui/base/page_transition_types.h" |
13 #include "url/gurl.h" | 13 #include "url/gurl.h" |
14 | 14 |
15 @class CRWSessionEntry; | 15 @class CRWSessionEntry; |
16 @class CRWSessionCertificatePolicyManager; | 16 @class CRWSessionCertificatePolicyManager; |
17 | 17 |
18 namespace web { | 18 namespace web { |
19 class BrowserState; | 19 class BrowserState; |
20 class NavigationItemImpl; | 20 class NavigationItemImpl; |
21 class NavigationManagerImpl; | 21 class NavigationManagerImpl; |
(...skipping 17 matching lines...) Expand all Loading... |
39 @property(nonatomic, copy) NSString* windowName; | 39 @property(nonatomic, copy) NSString* windowName; |
40 // Indicates whether the page was opened by DOM (e.g. with |window.open| | 40 // Indicates whether the page was opened by DOM (e.g. with |window.open| |
41 // JavaScript call or by clicking a link with |_blank| target). | 41 // JavaScript call or by clicking a link with |_blank| target). |
42 @property(nonatomic, readonly, getter=isOpenedByDOM) BOOL openedByDOM; | 42 @property(nonatomic, readonly, getter=isOpenedByDOM) BOOL openedByDOM; |
43 @property(nonatomic, readonly, strong) | 43 @property(nonatomic, readonly, strong) |
44 CRWSessionCertificatePolicyManager* sessionCertificatePolicyManager; | 44 CRWSessionCertificatePolicyManager* sessionCertificatePolicyManager; |
45 @property(nonatomic, assign) NSTimeInterval lastVisitedTimestamp; | 45 @property(nonatomic, assign) NSTimeInterval lastVisitedTimestamp; |
46 @property(nonatomic, readonly, copy) NSString* openerId; | 46 @property(nonatomic, readonly, copy) NSString* openerId; |
47 @property(nonatomic, readonly, assign) NSInteger openerNavigationIndex; | 47 @property(nonatomic, readonly, assign) NSInteger openerNavigationIndex; |
48 | 48 |
49 // The list of CRWSessionEntries in |_entries|'s NavigationItemImpls. | 49 // The ScopedNavigationItemImplList used to store the NavigationItemImpls for |
50 @property(nonatomic, readonly) web::NavigationItemList items; | 50 // this session. |
| 51 @property(nonatomic, readonly) const web::ScopedNavigationItemImplList& items; |
51 // The current NavigationItem. During a pending navigation, returns the | 52 // The current NavigationItem. During a pending navigation, returns the |
52 // NavigationItem for that navigation. If a transient NavigationItem exists, | 53 // NavigationItem for that navigation. If a transient NavigationItem exists, |
53 // this NavigationItem will be returned. | 54 // this NavigationItem will be returned. |
54 @property(nonatomic, readonly) web::NavigationItemImpl* currentItem; | 55 @property(nonatomic, readonly) web::NavigationItemImpl* currentItem; |
55 // Returns the NavigationItem whose URL should be displayed to the user. | 56 // Returns the NavigationItem whose URL should be displayed to the user. |
56 @property(nonatomic, readonly) web::NavigationItemImpl* visibleItem; | 57 @property(nonatomic, readonly) web::NavigationItemImpl* visibleItem; |
57 // Returns the NavigationItem corresponding to a load for which no data has yet | 58 // Returns the NavigationItem corresponding to a load for which no data has yet |
58 // been received. | 59 // been received. |
59 @property(nonatomic, readonly) web::NavigationItemImpl* pendingItem; | 60 @property(nonatomic, readonly) web::NavigationItemImpl* pendingItem; |
60 // Returns the NavigationItem corresponding with a transient navigation (i.e. | 61 // Returns the NavigationItem corresponding with a transient navigation (i.e. |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 // Set |useDesktopUserAgentForNextPendingItem_| to YES if there is no pending | 157 // Set |useDesktopUserAgentForNextPendingItem_| to YES if there is no pending |
157 // entry, otherwise set |useDesktopUserAgent| in the pending entry. | 158 // entry, otherwise set |useDesktopUserAgent| in the pending entry. |
158 - (void)useDesktopUserAgentForNextPendingItem; | 159 - (void)useDesktopUserAgentForNextPendingItem; |
159 | 160 |
160 // Returns the index of |item| in |items|. | 161 // Returns the index of |item| in |items|. |
161 - (NSInteger)indexOfItem:(web::NavigationItem*)item; | 162 - (NSInteger)indexOfItem:(web::NavigationItem*)item; |
162 | 163 |
163 @end | 164 @end |
164 | 165 |
165 #endif // IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ | 166 #endif // IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ |
OLD | NEW |