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 #import "ios/web/navigation/navigation_item_impl_list.h" | 11 #import "ios/web/navigation/navigation_item_impl_list.h" |
| 12 #import "ios/web/public/navigation_manager.h" |
12 #include "ui/base/page_transition_types.h" | 13 #include "ui/base/page_transition_types.h" |
13 #include "url/gurl.h" | 14 #include "url/gurl.h" |
14 | 15 |
15 namespace web { | 16 namespace web { |
16 class BrowserState; | 17 class BrowserState; |
17 class NavigationItemImpl; | 18 class NavigationItemImpl; |
18 class NavigationManagerImpl; | 19 class NavigationManagerImpl; |
19 enum class NavigationInitiationType; | 20 enum class NavigationInitiationType; |
20 struct Referrer; | 21 struct Referrer; |
21 } | 22 } |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 | 71 |
71 // CRWSessionController doesn't have public constructors. New | 72 // CRWSessionController doesn't have public constructors. New |
72 // CRWSessionControllers are created by deserialization, or via a | 73 // CRWSessionControllers are created by deserialization, or via a |
73 // NavigationManager. | 74 // NavigationManager. |
74 | 75 |
75 // Sets the corresponding NavigationManager. | 76 // Sets the corresponding NavigationManager. |
76 - (void)setNavigationManager:(web::NavigationManagerImpl*)navigationManager; | 77 - (void)setNavigationManager:(web::NavigationManagerImpl*)navigationManager; |
77 // Sets the corresponding BrowserState. | 78 // Sets the corresponding BrowserState. |
78 - (void)setBrowserState:(web::BrowserState*)browserState; | 79 - (void)setBrowserState:(web::BrowserState*)browserState; |
79 | 80 |
80 // Add a new item with the given url, referrer, and navigation type, making it | 81 // Add a new item with the given url, referrer, navigation type and user agent |
81 // the current item. If pending item is the same as current item, this does | 82 // override option, making it the current item. If pending item is the same as |
82 // nothing. |referrer| may be nil if there isn't one. The item starts out as | 83 // current item, this does nothing. |referrer| may be nil if there isn't one. |
83 // pending, and will be lost unless |-commitPendingItem| is called. | 84 // The item starts out as pending, and will be lost unless |-commitPendingItem| |
| 85 // is called. |
84 - (void)addPendingItem:(const GURL&)url | 86 - (void)addPendingItem:(const GURL&)url |
85 referrer:(const web::Referrer&)referrer | 87 referrer:(const web::Referrer&)referrer |
86 transition:(ui::PageTransition)type | 88 transition:(ui::PageTransition)type |
87 initiationType:(web::NavigationInitiationType)initiationType; | 89 initiationType:(web::NavigationInitiationType)initiationType |
| 90 userAgentOverrideOption:(web::NavigationManager::UserAgentOverrideOption) |
| 91 userAgentOverrideOption; |
88 | 92 |
89 // Updates the URL of the yet to be committed pending item. Useful for page | 93 // Updates the URL of the yet to be committed pending item. Useful for page |
90 // redirects. Does nothing if there is no pending item. | 94 // redirects. Does nothing if there is no pending item. |
91 - (void)updatePendingItem:(const GURL&)url; | 95 - (void)updatePendingItem:(const GURL&)url; |
92 | 96 |
93 // Commits the current pending item. No changes are made to the item during | 97 // Commits the current pending item. No changes are made to the item during |
94 // this process, it is just moved from pending to committed. | 98 // this process, it is just moved from pending to committed. |
95 // TODO(pinkerton): Desktop Chrome broadcasts a notification here, should we? | 99 // TODO(pinkerton): Desktop Chrome broadcasts a notification here, should we? |
96 - (void)commitPendingItem; | 100 - (void)commitPendingItem; |
97 | 101 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 | 148 |
145 // Returns the index of |item| in |items|. | 149 // Returns the index of |item| in |items|. |
146 - (NSInteger)indexOfItem:(const web::NavigationItem*)item; | 150 - (NSInteger)indexOfItem:(const web::NavigationItem*)item; |
147 | 151 |
148 // Returns the item at |index| in |items|. | 152 // Returns the item at |index| in |items|. |
149 - (web::NavigationItemImpl*)itemAtIndex:(NSInteger)index; | 153 - (web::NavigationItemImpl*)itemAtIndex:(NSInteger)index; |
150 | 154 |
151 @end | 155 @end |
152 | 156 |
153 #endif // IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ | 157 #endif // IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_H_ |
OLD | NEW |