Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Side by Side Diff: ios/web/navigation/navigation_manager_impl_unittest.mm

Issue 2779383002: implement user agent override option. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/navigation_manager_impl.h" 5 #import "ios/web/navigation/navigation_manager_impl.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_session_controller+private_constructors.h" 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h"
10 #import "ios/web/navigation/navigation_manager_delegate.h" 10 #import "ios/web/navigation/navigation_manager_delegate.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 EXPECT_EQ(-1, navigation_manager()->GetLastCommittedItemIndex()); 65 EXPECT_EQ(-1, navigation_manager()->GetLastCommittedItemIndex());
66 EXPECT_FALSE(navigation_manager()->GetPendingItem()); 66 EXPECT_FALSE(navigation_manager()->GetPendingItem());
67 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); 67 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex());
68 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0)); 68 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0));
69 } 69 }
70 70
71 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry. 71 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry.
72 TEST_F(NavigationManagerTest, GetPendingItemIndexWithoutPendingEntry) { 72 TEST_F(NavigationManagerTest, GetPendingItemIndexWithoutPendingEntry) {
73 navigation_manager()->AddPendingItem( 73 navigation_manager()->AddPendingItem(
74 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 74 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
75 web::NavigationInitiationType::USER_INITIATED); 75 web::NavigationInitiationType::USER_INITIATED,
76 web::NavigationManager::UserAgentOverrideOption::INHERIT);
76 [session_controller() commitPendingItem]; 77 [session_controller() commitPendingItem];
77 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); 78 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex());
78 } 79 }
79 80
80 // Tests that GetPendingItemIndex() returns current item index if there is a 81 // Tests that GetPendingItemIndex() returns current item index if there is a
81 // pending entry. 82 // pending entry.
82 TEST_F(NavigationManagerTest, GetPendingItemIndexWithPendingEntry) { 83 TEST_F(NavigationManagerTest, GetPendingItemIndexWithPendingEntry) {
83 navigation_manager()->AddPendingItem( 84 navigation_manager()->AddPendingItem(
84 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 85 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
85 web::NavigationInitiationType::USER_INITIATED); 86 web::NavigationInitiationType::USER_INITIATED,
87 web::NavigationManager::UserAgentOverrideOption::INHERIT);
86 [session_controller() commitPendingItem]; 88 [session_controller() commitPendingItem];
87 navigation_manager()->AddPendingItem( 89 navigation_manager()->AddPendingItem(
88 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 90 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
89 web::NavigationInitiationType::USER_INITIATED); 91 web::NavigationInitiationType::USER_INITIATED,
92 web::NavigationManager::UserAgentOverrideOption::INHERIT);
90 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); 93 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex());
91 } 94 }
92 95
93 // Tests that GetPendingItemIndex() returns same index as was set by 96 // Tests that GetPendingItemIndex() returns same index as was set by
94 // -[CRWSessionController setPendingItemIndex:]. 97 // -[CRWSessionController setPendingItemIndex:].
95 TEST_F(NavigationManagerTest, GetPendingItemIndexWithIndexedPendingEntry) { 98 TEST_F(NavigationManagerTest, GetPendingItemIndexWithIndexedPendingEntry) {
96 navigation_manager()->AddPendingItem( 99 navigation_manager()->AddPendingItem(
97 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 100 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
98 web::NavigationInitiationType::USER_INITIATED); 101 web::NavigationInitiationType::USER_INITIATED,
102 web::NavigationManager::UserAgentOverrideOption::INHERIT);
99 [session_controller() commitPendingItem]; 103 [session_controller() commitPendingItem];
100 navigation_manager()->AddPendingItem( 104 navigation_manager()->AddPendingItem(
101 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 105 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
102 web::NavigationInitiationType::USER_INITIATED); 106 web::NavigationInitiationType::USER_INITIATED,
107 web::NavigationManager::UserAgentOverrideOption::INHERIT);
103 [session_controller() commitPendingItem]; 108 [session_controller() commitPendingItem];
104 109
105 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); 110 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex());
106 [session_controller() setPendingItemIndex:0]; 111 [session_controller() setPendingItemIndex:0];
107 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); 112 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex());
108 } 113 }
109 114
110 // Tests that going back or negative offset is not possible without a committed 115 // Tests that going back or negative offset is not possible without a committed
111 // item. 116 // item.
112 TEST_F(NavigationManagerTest, CanGoBackWithoutCommitedItem) { 117 TEST_F(NavigationManagerTest, CanGoBackWithoutCommitedItem) {
113 EXPECT_FALSE(navigation_manager()->CanGoBack()); 118 EXPECT_FALSE(navigation_manager()->CanGoBack());
114 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); 119 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1));
115 } 120 }
116 121
117 // Tests that going back or negative offset is not possible if there is a 122 // Tests that going back or negative offset is not possible if there is a
118 // transient item, but not committed items. 123 // transient item, but not committed items.
119 TEST_F(NavigationManagerTest, CanGoBackWithTransientItem) { 124 TEST_F(NavigationManagerTest, CanGoBackWithTransientItem) {
120 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")]; 125 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")];
121 126
122 EXPECT_FALSE(navigation_manager()->CanGoBack()); 127 EXPECT_FALSE(navigation_manager()->CanGoBack());
123 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); 128 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1));
124 } 129 }
125 130
126 // Tests that going back or negative offset is possible if there is a transient 131 // Tests that going back or negative offset is possible if there is a transient
127 // item and at least one committed item. 132 // item and at least one committed item.
128 TEST_F(NavigationManagerTest, CanGoBackWithTransientItemAndCommittedItem) { 133 TEST_F(NavigationManagerTest, CanGoBackWithTransientItemAndCommittedItem) {
129 navigation_manager()->AddPendingItem( 134 navigation_manager()->AddPendingItem(
130 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 135 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
131 web::NavigationInitiationType::USER_INITIATED); 136 web::NavigationInitiationType::USER_INITIATED,
137 web::NavigationManager::UserAgentOverrideOption::INHERIT);
132 [session_controller() commitPendingItem]; 138 [session_controller() commitPendingItem];
133 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/0")]; 139 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/0")];
134 140
135 EXPECT_TRUE(navigation_manager()->CanGoBack()); 141 EXPECT_TRUE(navigation_manager()->CanGoBack());
136 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); 142 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1));
137 } 143 }
138 144
139 // Tests that going back or negative offset is not possible if there is ony one 145 // Tests that going back or negative offset is not possible if there is ony one
140 // committed item and no transient item. 146 // committed item and no transient item.
141 TEST_F(NavigationManagerTest, CanGoBackWithSingleCommitedItem) { 147 TEST_F(NavigationManagerTest, CanGoBackWithSingleCommitedItem) {
142 navigation_manager()->AddPendingItem( 148 navigation_manager()->AddPendingItem(
143 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 149 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
144 web::NavigationInitiationType::USER_INITIATED); 150 web::NavigationInitiationType::USER_INITIATED,
151 web::NavigationManager::UserAgentOverrideOption::INHERIT);
145 [session_controller() commitPendingItem]; 152 [session_controller() commitPendingItem];
146 153
147 EXPECT_FALSE(navigation_manager()->CanGoBack()); 154 EXPECT_FALSE(navigation_manager()->CanGoBack());
148 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); 155 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1));
149 } 156 }
150 157
151 // Tests going back possibility with multiple committed items. 158 // Tests going back possibility with multiple committed items.
152 TEST_F(NavigationManagerTest, CanGoBackWithMultipleCommitedItems) { 159 TEST_F(NavigationManagerTest, CanGoBackWithMultipleCommitedItems) {
153 navigation_manager()->AddPendingItem( 160 navigation_manager()->AddPendingItem(
154 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 161 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
155 web::NavigationInitiationType::USER_INITIATED); 162 web::NavigationInitiationType::USER_INITIATED,
163 web::NavigationManager::UserAgentOverrideOption::INHERIT);
156 [session_controller() commitPendingItem]; 164 [session_controller() commitPendingItem];
157 navigation_manager()->AddPendingItem( 165 navigation_manager()->AddPendingItem(
158 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 166 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
159 web::NavigationInitiationType::USER_INITIATED); 167 web::NavigationInitiationType::USER_INITIATED,
168 web::NavigationManager::UserAgentOverrideOption::INHERIT);
160 [session_controller() commitPendingItem]; 169 [session_controller() commitPendingItem];
161 navigation_manager()->AddPendingItem( 170 navigation_manager()->AddPendingItem(
162 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, 171 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED,
163 web::NavigationInitiationType::USER_INITIATED); 172 web::NavigationInitiationType::USER_INITIATED,
173 web::NavigationManager::UserAgentOverrideOption::INHERIT);
164 [session_controller() commitPendingItem]; 174 [session_controller() commitPendingItem];
165 175
166 EXPECT_TRUE(navigation_manager()->CanGoBack()); 176 EXPECT_TRUE(navigation_manager()->CanGoBack());
167 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); 177 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1));
168 178
169 [session_controller() goToItemAtIndex:1]; 179 [session_controller() goToItemAtIndex:1];
170 EXPECT_TRUE(navigation_manager()->CanGoBack()); 180 EXPECT_TRUE(navigation_manager()->CanGoBack());
171 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); 181 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1));
172 182
173 [session_controller() goToItemAtIndex:0]; 183 [session_controller() goToItemAtIndex:0];
174 EXPECT_FALSE(navigation_manager()->CanGoBack()); 184 EXPECT_FALSE(navigation_manager()->CanGoBack());
175 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); 185 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1));
176 186
177 [session_controller() goToItemAtIndex:1]; 187 [session_controller() goToItemAtIndex:1];
178 EXPECT_TRUE(navigation_manager()->CanGoBack()); 188 EXPECT_TRUE(navigation_manager()->CanGoBack());
179 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); 189 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1));
180 } 190 }
181 191
182 // Tests that going forward or positive offset is not possible if there is a 192 // Tests that going forward or positive offset is not possible if there is a
183 // pending entry. 193 // pending entry.
184 TEST_F(NavigationManagerTest, CanGoForwardWithPendingItem) { 194 TEST_F(NavigationManagerTest, CanGoForwardWithPendingItem) {
185 navigation_manager()->AddPendingItem( 195 navigation_manager()->AddPendingItem(
186 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 196 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
187 web::NavigationInitiationType::USER_INITIATED); 197 web::NavigationInitiationType::USER_INITIATED,
198 web::NavigationManager::UserAgentOverrideOption::INHERIT);
188 [session_controller() commitPendingItem]; 199 [session_controller() commitPendingItem];
189 navigation_manager()->AddPendingItem( 200 navigation_manager()->AddPendingItem(
190 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 201 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
191 web::NavigationInitiationType::USER_INITIATED); 202 web::NavigationInitiationType::USER_INITIATED,
203 web::NavigationManager::UserAgentOverrideOption::INHERIT);
192 [session_controller() commitPendingItem]; 204 [session_controller() commitPendingItem];
193 [session_controller() goToItemAtIndex:0]; 205 [session_controller() goToItemAtIndex:0];
194 navigation_manager()->AddPendingItem( 206 navigation_manager()->AddPendingItem(
195 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, 207 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED,
196 web::NavigationInitiationType::USER_INITIATED); 208 web::NavigationInitiationType::USER_INITIATED,
209 web::NavigationManager::UserAgentOverrideOption::INHERIT);
197 210
198 // Pending entry should not allow going forward. 211 // Pending entry should not allow going forward.
199 EXPECT_FALSE(navigation_manager()->CanGoForward()); 212 EXPECT_FALSE(navigation_manager()->CanGoForward());
200 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); 213 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1));
201 } 214 }
202 215
203 // Tests that going forward or positive offset is not possible without a 216 // Tests that going forward or positive offset is not possible without a
204 // committed item. 217 // committed item.
205 TEST_F(NavigationManagerTest, CanGoForwardWithoutCommitedItem) { 218 TEST_F(NavigationManagerTest, CanGoForwardWithoutCommitedItem) {
206 EXPECT_FALSE(navigation_manager()->CanGoForward()); 219 EXPECT_FALSE(navigation_manager()->CanGoForward());
207 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); 220 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1));
208 } 221 }
209 222
210 // Tests that going forward or positive offset is not possible if there is ony 223 // Tests that going forward or positive offset is not possible if there is ony
211 // one committed item and no transient item. 224 // one committed item and no transient item.
212 TEST_F(NavigationManagerTest, CanGoForwardWithSingleCommitedItem) { 225 TEST_F(NavigationManagerTest, CanGoForwardWithSingleCommitedItem) {
213 navigation_manager()->AddPendingItem( 226 navigation_manager()->AddPendingItem(
214 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 227 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
215 web::NavigationInitiationType::USER_INITIATED); 228 web::NavigationInitiationType::USER_INITIATED,
229 web::NavigationManager::UserAgentOverrideOption::INHERIT);
216 [session_controller() commitPendingItem]; 230 [session_controller() commitPendingItem];
217 231
218 EXPECT_FALSE(navigation_manager()->CanGoForward()); 232 EXPECT_FALSE(navigation_manager()->CanGoForward());
219 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); 233 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1));
220 } 234 }
221 235
222 // Tests going forward possibility with multiple committed items. 236 // Tests going forward possibility with multiple committed items.
223 TEST_F(NavigationManagerTest, CanGoForwardWithMultipleCommitedEntries) { 237 TEST_F(NavigationManagerTest, CanGoForwardWithMultipleCommitedEntries) {
224 navigation_manager()->AddPendingItem( 238 navigation_manager()->AddPendingItem(
225 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 239 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
226 web::NavigationInitiationType::USER_INITIATED); 240 web::NavigationInitiationType::USER_INITIATED,
241 web::NavigationManager::UserAgentOverrideOption::INHERIT);
227 [session_controller() commitPendingItem]; 242 [session_controller() commitPendingItem];
228 navigation_manager()->AddPendingItem( 243 navigation_manager()->AddPendingItem(
229 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 244 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
230 web::NavigationInitiationType::USER_INITIATED); 245 web::NavigationInitiationType::USER_INITIATED,
246 web::NavigationManager::UserAgentOverrideOption::INHERIT);
231 [session_controller() commitPendingItem]; 247 [session_controller() commitPendingItem];
232 navigation_manager()->AddPendingItem( 248 navigation_manager()->AddPendingItem(
233 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, 249 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED,
234 web::NavigationInitiationType::USER_INITIATED); 250 web::NavigationInitiationType::USER_INITIATED,
251 web::NavigationManager::UserAgentOverrideOption::INHERIT);
235 [session_controller() commitPendingItem]; 252 [session_controller() commitPendingItem];
236 253
237 EXPECT_FALSE(navigation_manager()->CanGoForward()); 254 EXPECT_FALSE(navigation_manager()->CanGoForward());
238 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); 255 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1));
239 256
240 [session_controller() goToItemAtIndex:1]; 257 [session_controller() goToItemAtIndex:1];
241 EXPECT_TRUE(navigation_manager()->CanGoForward()); 258 EXPECT_TRUE(navigation_manager()->CanGoForward());
242 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); 259 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1));
243 260
244 [session_controller() goToItemAtIndex:0]; 261 [session_controller() goToItemAtIndex:0];
245 EXPECT_TRUE(navigation_manager()->CanGoForward()); 262 EXPECT_TRUE(navigation_manager()->CanGoForward());
246 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); 263 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1));
247 264
248 [session_controller() goToItemAtIndex:1]; 265 [session_controller() goToItemAtIndex:1];
249 EXPECT_TRUE(navigation_manager()->CanGoForward()); 266 EXPECT_TRUE(navigation_manager()->CanGoForward());
250 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); 267 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1));
251 268
252 [session_controller() goToItemAtIndex:2]; 269 [session_controller() goToItemAtIndex:2];
253 EXPECT_FALSE(navigation_manager()->CanGoForward()); 270 EXPECT_FALSE(navigation_manager()->CanGoForward());
254 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); 271 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1));
255 } 272 }
256 273
257 // Tests CanGoToOffset API for positive, negative and zero delta. Tested 274 // Tests CanGoToOffset API for positive, negative and zero delta. Tested
258 // navigation manager will have redirect entries to make sure they are 275 // navigation manager will have redirect entries to make sure they are
259 // appropriately skipped. 276 // appropriately skipped.
260 TEST_F(NavigationManagerTest, OffsetsWithoutPendingIndex) { 277 TEST_F(NavigationManagerTest, OffsetsWithoutPendingIndex) {
261 navigation_manager()->AddPendingItem( 278 navigation_manager()->AddPendingItem(
262 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, 279 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK,
263 web::NavigationInitiationType::USER_INITIATED); 280 web::NavigationInitiationType::USER_INITIATED,
281 web::NavigationManager::UserAgentOverrideOption::INHERIT);
264 [session_controller() commitPendingItem]; 282 [session_controller() commitPendingItem];
265 navigation_manager()->AddPendingItem( 283 navigation_manager()->AddPendingItem(
266 GURL("http://www.url.com/redirect"), Referrer(), 284 GURL("http://www.url.com/redirect"), Referrer(),
267 ui::PAGE_TRANSITION_CLIENT_REDIRECT, 285 ui::PAGE_TRANSITION_CLIENT_REDIRECT,
268 web::NavigationInitiationType::USER_INITIATED); 286 web::NavigationInitiationType::USER_INITIATED,
287 web::NavigationManager::UserAgentOverrideOption::INHERIT);
269 [session_controller() commitPendingItem]; 288 [session_controller() commitPendingItem];
270 navigation_manager()->AddPendingItem( 289 navigation_manager()->AddPendingItem(
271 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK, 290 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK,
272 web::NavigationInitiationType::USER_INITIATED); 291 web::NavigationInitiationType::USER_INITIATED,
292 web::NavigationManager::UserAgentOverrideOption::INHERIT);
273 [session_controller() commitPendingItem]; 293 [session_controller() commitPendingItem];
274 navigation_manager()->AddPendingItem( 294 navigation_manager()->AddPendingItem(
275 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_LINK, 295 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_LINK,
276 web::NavigationInitiationType::USER_INITIATED); 296 web::NavigationInitiationType::USER_INITIATED,
297 web::NavigationManager::UserAgentOverrideOption::INHERIT);
277 [session_controller() commitPendingItem]; 298 [session_controller() commitPendingItem];
278 navigation_manager()->AddPendingItem( 299 navigation_manager()->AddPendingItem(
279 GURL("http://www.url.com/redirect"), Referrer(), 300 GURL("http://www.url.com/redirect"), Referrer(),
280 ui::PAGE_TRANSITION_CLIENT_REDIRECT, 301 ui::PAGE_TRANSITION_CLIENT_REDIRECT,
281 web::NavigationInitiationType::USER_INITIATED); 302 web::NavigationInitiationType::USER_INITIATED,
303 web::NavigationManager::UserAgentOverrideOption::INHERIT);
282 [session_controller() commitPendingItem]; 304 [session_controller() commitPendingItem];
283 ASSERT_EQ(5, navigation_manager()->GetItemCount()); 305 ASSERT_EQ(5, navigation_manager()->GetItemCount());
284 ASSERT_EQ(4, navigation_manager()->GetLastCommittedItemIndex()); 306 ASSERT_EQ(4, navigation_manager()->GetLastCommittedItemIndex());
285 307
286 // Go to entry at index 1 and test API from that state. 308 // Go to entry at index 1 and test API from that state.
287 [session_controller() goToItemAtIndex:1]; 309 [session_controller() goToItemAtIndex:1];
288 ASSERT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); 310 ASSERT_EQ(1, navigation_manager()->GetLastCommittedItemIndex());
289 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); 311 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex());
290 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); 312 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1));
291 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); 313 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1));
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 } 499 }
478 500
479 // Tests offsets with pending transient entries (specifically gong back and 501 // Tests offsets with pending transient entries (specifically gong back and
480 // forward from a pending navigation entry that is added to the middle of the 502 // forward from a pending navigation entry that is added to the middle of the
481 // navigation stack). 503 // navigation stack).
482 TEST_F(NavigationManagerTest, OffsetsWithPendingTransientEntry) { 504 TEST_F(NavigationManagerTest, OffsetsWithPendingTransientEntry) {
483 // Create a transient item in the middle of the navigation stack and go back 505 // Create a transient item in the middle of the navigation stack and go back
484 // to it (pending index is 1, current index is 2). 506 // to it (pending index is 1, current index is 2).
485 navigation_manager()->AddPendingItem( 507 navigation_manager()->AddPendingItem(
486 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK, 508 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_LINK,
487 web::NavigationInitiationType::USER_INITIATED); 509 web::NavigationInitiationType::USER_INITIATED,
510 web::NavigationManager::UserAgentOverrideOption::INHERIT);
488 [session_controller() commitPendingItem]; 511 [session_controller() commitPendingItem];
489 navigation_manager()->AddPendingItem( 512 navigation_manager()->AddPendingItem(
490 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK, 513 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_LINK,
491 web::NavigationInitiationType::USER_INITIATED); 514 web::NavigationInitiationType::USER_INITIATED,
515 web::NavigationManager::UserAgentOverrideOption::INHERIT);
492 [session_controller() commitPendingItem]; 516 [session_controller() commitPendingItem];
493 navigation_manager()->AddPendingItem( 517 navigation_manager()->AddPendingItem(
494 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_LINK, 518 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_LINK,
495 web::NavigationInitiationType::USER_INITIATED); 519 web::NavigationInitiationType::USER_INITIATED,
520 web::NavigationManager::UserAgentOverrideOption::INHERIT);
496 [session_controller() commitPendingItem]; 521 [session_controller() commitPendingItem];
497 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/1")]; 522 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/1")];
498 [session_controller() setPendingItemIndex:1]; 523 [session_controller() setPendingItemIndex:1];
499 524
500 ASSERT_EQ(3, navigation_manager()->GetItemCount()); 525 ASSERT_EQ(3, navigation_manager()->GetItemCount());
501 ASSERT_EQ(2, navigation_manager()->GetLastCommittedItemIndex()); 526 ASSERT_EQ(2, navigation_manager()->GetLastCommittedItemIndex());
502 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); 527 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex());
503 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); 528 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1));
504 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); 529 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1));
505 530
506 // Now go forward to that middle transient item (pending index is 1, 531 // Now go forward to that middle transient item (pending index is 1,
507 // current index is 0). 532 // current index is 0).
508 [session_controller() goToItemAtIndex:0]; 533 [session_controller() goToItemAtIndex:0];
509 [session_controller() setPendingItemIndex:1]; 534 [session_controller() setPendingItemIndex:1];
510 ASSERT_EQ(3, navigation_manager()->GetItemCount()); 535 ASSERT_EQ(3, navigation_manager()->GetItemCount());
511 ASSERT_EQ(0, navigation_manager()->GetLastCommittedItemIndex()); 536 ASSERT_EQ(0, navigation_manager()->GetLastCommittedItemIndex());
512 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); 537 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex());
513 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); 538 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1));
514 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); 539 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1));
515 } 540 }
516 541
517 // Tests that desktop user agent can be enforced to use for next pending item. 542 // Tests that desktop user agent can be enforced to use for next pending item
518 TEST_F(NavigationManagerTest, OverrideDesktopUserAgent) { 543 // when UserAgentOverrideOption is DESKTOP.
519 navigation_manager()->OverrideDesktopUserAgentForNextPendingItem(); 544 TEST_F(NavigationManagerTest, OverrideUserAgentWithDesktop) {
520 navigation_manager()->AddPendingItem( 545 navigation_manager()->AddPendingItem(
521 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 546 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
522 web::NavigationInitiationType::USER_INITIATED); 547 web::NavigationInitiationType::USER_INITIATED,
548 web::NavigationManager::UserAgentOverrideOption::INHERIT);
523 [session_controller() commitPendingItem]; 549 [session_controller() commitPendingItem];
524 NavigationItem* visible_item = navigation_manager()->GetVisibleItem(); 550 NavigationItem* last_committed_item =
525 EXPECT_EQ(visible_item->GetUserAgentType(), UserAgentType::DESKTOP); 551 navigation_manager()->GetLastCommittedItem();
552 EXPECT_EQ(UserAgentType::MOBILE, last_committed_item->GetUserAgentType());
553
554 navigation_manager()->AddPendingItem(
555 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
556 web::NavigationInitiationType::USER_INITIATED,
557 web::NavigationManager::UserAgentOverrideOption::DESKTOP);
558 ASSERT_TRUE(navigation_manager()->GetPendingItem());
559 EXPECT_EQ(UserAgentType::DESKTOP,
560 navigation_manager()->GetPendingItem()->GetUserAgentType());
526 } 561 }
527 562
528 // Tests that the UserAgentType is propagated to subsequent NavigationItems. 563 // Tests that mobile user agent can be enforced to use for next pending item
529 TEST_F(NavigationManagerTest, UserAgentTypePropagation) { 564 // when UserAgentOverrideOption is MOBILE.
565 TEST_F(NavigationManagerTest, OverrideUserAgentWithMobile) {
566 navigation_manager()->AddPendingItem(
567 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
568 web::NavigationInitiationType::USER_INITIATED,
569 web::NavigationManager::UserAgentOverrideOption::INHERIT);
570 [session_controller() commitPendingItem];
571 NavigationItem* last_committed_item =
572 navigation_manager()->GetLastCommittedItem();
573 last_committed_item->SetUserAgentType(UserAgentType::DESKTOP);
574 EXPECT_EQ(UserAgentType::DESKTOP, last_committed_item->GetUserAgentType());
575
576 navigation_manager()->AddPendingItem(
577 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
578 web::NavigationInitiationType::USER_INITIATED,
579 web::NavigationManager::UserAgentOverrideOption::MOBILE);
580 ASSERT_TRUE(navigation_manager()->GetPendingItem());
581 EXPECT_EQ(UserAgentType::MOBILE,
582 navigation_manager()->GetPendingItem()->GetUserAgentType());
583 }
584
585 // Tests that the UserAgentType is propagated to subsequent NavigationItems when
586 // UserAgentOverrideOption is INHERIT.
587 TEST_F(NavigationManagerTest, OverrideUserAgentWithInherit) {
530 // Add and commit two NavigationItems. 588 // Add and commit two NavigationItems.
531 navigation_manager()->AddPendingItem( 589 navigation_manager()->AddPendingItem(
532 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 590 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
533 web::NavigationInitiationType::USER_INITIATED); 591 web::NavigationInitiationType::USER_INITIATED,
592 web::NavigationManager::UserAgentOverrideOption::INHERIT);
534 [session_controller() commitPendingItem]; 593 [session_controller() commitPendingItem];
535 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); 594 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem();
536 ASSERT_EQ(web::UserAgentType::MOBILE, item1->GetUserAgentType()); 595 ASSERT_EQ(web::UserAgentType::MOBILE, item1->GetUserAgentType());
537 navigation_manager()->AddPendingItem( 596 navigation_manager()->AddPendingItem(
538 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 597 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
539 web::NavigationInitiationType::USER_INITIATED); 598 web::NavigationInitiationType::USER_INITIATED,
599 web::NavigationManager::UserAgentOverrideOption::INHERIT);
540 [session_controller() commitPendingItem]; 600 [session_controller() commitPendingItem];
541 web::NavigationItem* item2 = navigation_manager()->GetLastCommittedItem(); 601 web::NavigationItem* item2 = navigation_manager()->GetLastCommittedItem();
542 602
543 // Verify that the second item's UserAgentType is equal to the first. 603 // Verify that the second item's UserAgentType is equal to the first.
544 EXPECT_EQ(item1->GetUserAgentType(), item2->GetUserAgentType()); 604 EXPECT_EQ(item1->GetUserAgentType(), item2->GetUserAgentType());
545 605
546 // Update |item2|'s UA type to DESKTOP and commit a new item. 606 // Update |item2|'s user agent type to DESKTOP and commit a new item.
547 item2->SetUserAgentType(web::UserAgentType::DESKTOP); 607 item2->SetUserAgentType(web::UserAgentType::DESKTOP);
548 ASSERT_EQ(web::UserAgentType::DESKTOP, item2->GetUserAgentType()); 608 ASSERT_EQ(web::UserAgentType::DESKTOP, item2->GetUserAgentType());
549 navigation_manager()->AddPendingItem( 609 navigation_manager()->AddPendingItem(
550 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 610 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
551 web::NavigationInitiationType::USER_INITIATED); 611 web::NavigationInitiationType::USER_INITIATED,
612 web::NavigationManager::UserAgentOverrideOption::INHERIT);
552 [session_controller() commitPendingItem]; 613 [session_controller() commitPendingItem];
553 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); 614 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem();
554 615
555 // Verify that the third item's UserAgentType is equal to the second. 616 // Verify that the third item's UserAgentType is equal to the second.
556 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); 617 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType());
557 } 618 }
558 619
559 // Tests that the UserAgentType is propagated to subsequent NavigationItems if 620 // Tests that the UserAgentType is propagated to subsequent NavigationItems if
560 // a native URL exists in between naviations. 621 // a native URL exists in between naviations.
561 TEST_F(NavigationManagerTest, UserAgentTypePropagationPastNativeItems) { 622 TEST_F(NavigationManagerTest, UserAgentTypePropagationPastNativeItems) {
562 // GURL::Replacements that will replace a GURL's scheme with the test native 623 // GURL::Replacements that will replace a GURL's scheme with the test native
563 // scheme. 624 // scheme.
564 GURL::Replacements native_scheme_replacement; 625 GURL::Replacements native_scheme_replacement;
565 native_scheme_replacement.SetSchemeStr(kTestNativeContentScheme); 626 native_scheme_replacement.SetSchemeStr(kTestNativeContentScheme);
566 627
567 // Create two non-native navigations that are separated by a native one. 628 // Create two non-native navigations that are separated by a native one.
568 navigation_manager()->AddPendingItem( 629 navigation_manager()->AddPendingItem(
569 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 630 GURL("http://www.1.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
570 web::NavigationInitiationType::USER_INITIATED); 631 web::NavigationInitiationType::USER_INITIATED,
632 web::NavigationManager::UserAgentOverrideOption::INHERIT);
571 [session_controller() commitPendingItem]; 633 [session_controller() commitPendingItem];
572 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); 634 web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem();
573 ASSERT_EQ(web::UserAgentType::MOBILE, item1->GetUserAgentType()); 635 ASSERT_EQ(web::UserAgentType::MOBILE, item1->GetUserAgentType());
574 navigation_manager()->AddPendingItem( 636 navigation_manager()->AddPendingItem(
575 item1->GetURL().ReplaceComponents(native_scheme_replacement), Referrer(), 637 item1->GetURL().ReplaceComponents(native_scheme_replacement), Referrer(),
576 ui::PAGE_TRANSITION_TYPED, web::NavigationInitiationType::USER_INITIATED); 638 ui::PAGE_TRANSITION_TYPED, web::NavigationInitiationType::USER_INITIATED,
639 web::NavigationManager::UserAgentOverrideOption::INHERIT);
577 [session_controller() commitPendingItem]; 640 [session_controller() commitPendingItem];
578 web::NavigationItem* native_item1 = 641 web::NavigationItem* native_item1 =
579 navigation_manager()->GetLastCommittedItem(); 642 navigation_manager()->GetLastCommittedItem();
580 ASSERT_EQ(web::UserAgentType::NONE, native_item1->GetUserAgentType()); 643 ASSERT_EQ(web::UserAgentType::NONE, native_item1->GetUserAgentType());
581 navigation_manager()->AddPendingItem( 644 navigation_manager()->AddPendingItem(
582 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 645 GURL("http://www.2.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
583 web::NavigationInitiationType::USER_INITIATED); 646 web::NavigationInitiationType::USER_INITIATED,
647 web::NavigationManager::UserAgentOverrideOption::INHERIT);
584 [session_controller() commitPendingItem]; 648 [session_controller() commitPendingItem];
585 web::NavigationItem* item2 = navigation_manager()->GetLastCommittedItem(); 649 web::NavigationItem* item2 = navigation_manager()->GetLastCommittedItem();
586 650
587 // Verify that |item1|'s UserAgentType is propagated to |item2|. 651 // Verify that |item1|'s UserAgentType is propagated to |item2|.
588 EXPECT_EQ(item1->GetUserAgentType(), item2->GetUserAgentType()); 652 EXPECT_EQ(item1->GetUserAgentType(), item2->GetUserAgentType());
589 653
590 // Update |item2|'s UA type to DESKTOP and add a third non-native navigation, 654 // Update |item2|'s UA type to DESKTOP and add a third non-native navigation,
591 // once again separated by a native one. 655 // once again separated by a native one.
592 item2->SetUserAgentType(web::UserAgentType::DESKTOP); 656 item2->SetUserAgentType(web::UserAgentType::DESKTOP);
593 ASSERT_EQ(web::UserAgentType::DESKTOP, item2->GetUserAgentType()); 657 ASSERT_EQ(web::UserAgentType::DESKTOP, item2->GetUserAgentType());
594 navigation_manager()->AddPendingItem( 658 navigation_manager()->AddPendingItem(
595 item2->GetURL().ReplaceComponents(native_scheme_replacement), Referrer(), 659 item2->GetURL().ReplaceComponents(native_scheme_replacement), Referrer(),
596 ui::PAGE_TRANSITION_TYPED, web::NavigationInitiationType::USER_INITIATED); 660 ui::PAGE_TRANSITION_TYPED, web::NavigationInitiationType::USER_INITIATED,
661 web::NavigationManager::UserAgentOverrideOption::INHERIT);
597 [session_controller() commitPendingItem]; 662 [session_controller() commitPendingItem];
598 web::NavigationItem* native_item2 = 663 web::NavigationItem* native_item2 =
599 navigation_manager()->GetLastCommittedItem(); 664 navigation_manager()->GetLastCommittedItem();
600 ASSERT_EQ(web::UserAgentType::NONE, native_item2->GetUserAgentType()); 665 ASSERT_EQ(web::UserAgentType::NONE, native_item2->GetUserAgentType());
601 navigation_manager()->AddPendingItem( 666 navigation_manager()->AddPendingItem(
602 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 667 GURL("http://www.3.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
603 web::NavigationInitiationType::USER_INITIATED); 668 web::NavigationInitiationType::USER_INITIATED,
669 web::NavigationManager::UserAgentOverrideOption::INHERIT);
604 [session_controller() commitPendingItem]; 670 [session_controller() commitPendingItem];
605 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem(); 671 web::NavigationItem* item3 = navigation_manager()->GetLastCommittedItem();
606 672
607 // Verify that |item2|'s UserAgentType is propagated to |item3|. 673 // Verify that |item2|'s UserAgentType is propagated to |item3|.
608 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType()); 674 EXPECT_EQ(item2->GetUserAgentType(), item3->GetUserAgentType());
609 } 675 }
610 676
611 // Tests that calling |Reload| with web::ReloadType::NORMAL is no-op when there 677 // Tests that calling |Reload| with web::ReloadType::NORMAL is no-op when there
612 // are no transient, pending and committed items. 678 // are no transient, pending and committed items.
613 TEST_F(NavigationManagerTest, ReloadEmptyWithNormalType) { 679 TEST_F(NavigationManagerTest, ReloadEmptyWithNormalType) {
614 ASSERT_FALSE(navigation_manager()->GetTransientItem()); 680 ASSERT_FALSE(navigation_manager()->GetTransientItem());
615 ASSERT_FALSE(navigation_manager()->GetPendingItem()); 681 ASSERT_FALSE(navigation_manager()->GetPendingItem());
616 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); 682 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem());
617 683
618 navigation_manager()->Reload(web::ReloadType::NORMAL, 684 navigation_manager()->Reload(web::ReloadType::NORMAL,
619 false /* check_for_repost */); 685 false /* check_for_repost */);
620 EXPECT_FALSE(navigation_manager_delegate().reload_called()); 686 EXPECT_FALSE(navigation_manager_delegate().reload_called());
621 687
622 ASSERT_FALSE(navigation_manager()->GetTransientItem()); 688 ASSERT_FALSE(navigation_manager()->GetTransientItem());
623 ASSERT_FALSE(navigation_manager()->GetPendingItem()); 689 ASSERT_FALSE(navigation_manager()->GetPendingItem());
624 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); 690 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem());
625 } 691 }
626 692
627 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of 693 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of
628 // the renderer initiated pending item unchanged when there is one. 694 // the renderer initiated pending item unchanged when there is one.
629 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithNormalType) { 695 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithNormalType) {
630 GURL url_before_reload = GURL("http://www.url.com"); 696 GURL url_before_reload = GURL("http://www.url.com");
631 navigation_manager()->AddPendingItem( 697 navigation_manager()->AddPendingItem(
632 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, 698 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED,
633 web::NavigationInitiationType::RENDERER_INITIATED); 699 web::NavigationInitiationType::USER_INITIATED,
700 web::NavigationManager::UserAgentOverrideOption::INHERIT);
634 701
635 navigation_manager()->Reload(web::ReloadType::NORMAL, 702 navigation_manager()->Reload(web::ReloadType::NORMAL,
636 false /* check_for_repost */); 703 false /* check_for_repost */);
637 EXPECT_TRUE(navigation_manager_delegate().reload_called()); 704 EXPECT_TRUE(navigation_manager_delegate().reload_called());
638 705
639 ASSERT_TRUE(navigation_manager()->GetPendingItem()); 706 ASSERT_TRUE(navigation_manager()->GetPendingItem());
640 EXPECT_EQ(url_before_reload, 707 EXPECT_EQ(url_before_reload,
641 navigation_manager()->GetPendingItem()->GetURL()); 708 navigation_manager()->GetPendingItem()->GetURL());
642 } 709 }
643 710
644 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of 711 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of
645 // the user initiated pending item unchanged when there is one. 712 // the user initiated pending item unchanged when there is one.
646 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithNormalType) { 713 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithNormalType) {
647 GURL url_before_reload = GURL("http://www.url.com"); 714 GURL url_before_reload = GURL("http://www.url.com");
648 navigation_manager()->AddPendingItem( 715 navigation_manager()->AddPendingItem(
649 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, 716 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED,
650 web::NavigationInitiationType::USER_INITIATED); 717 web::NavigationInitiationType::USER_INITIATED,
718 web::NavigationManager::UserAgentOverrideOption::INHERIT);
651 719
652 navigation_manager()->Reload(web::ReloadType::NORMAL, 720 navigation_manager()->Reload(web::ReloadType::NORMAL,
653 false /* check_for_repost */); 721 false /* check_for_repost */);
654 EXPECT_TRUE(navigation_manager_delegate().reload_called()); 722 EXPECT_TRUE(navigation_manager_delegate().reload_called());
655 723
656 ASSERT_TRUE(navigation_manager()->GetPendingItem()); 724 ASSERT_TRUE(navigation_manager()->GetPendingItem());
657 EXPECT_EQ(url_before_reload, 725 EXPECT_EQ(url_before_reload,
658 navigation_manager()->GetPendingItem()->GetURL()); 726 navigation_manager()->GetPendingItem()->GetURL());
659 } 727 }
660 728
661 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of 729 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of
662 // the last committed item unchanged when there is no pending item. 730 // the last committed item unchanged when there is no pending item.
663 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithNormalType) { 731 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithNormalType) {
664 navigation_manager()->AddPendingItem( 732 navigation_manager()->AddPendingItem(
665 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 733 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
666 web::NavigationInitiationType::USER_INITIATED); 734 web::NavigationInitiationType::USER_INITIATED,
735 web::NavigationManager::UserAgentOverrideOption::INHERIT);
667 [session_controller() commitPendingItem]; 736 [session_controller() commitPendingItem];
668 737
669 GURL url_before_reload = GURL("http://www.url.com/1"); 738 GURL url_before_reload = GURL("http://www.url.com/1");
670 navigation_manager()->AddPendingItem( 739 navigation_manager()->AddPendingItem(
671 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, 740 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED,
672 web::NavigationInitiationType::USER_INITIATED); 741 web::NavigationInitiationType::USER_INITIATED,
742 web::NavigationManager::UserAgentOverrideOption::INHERIT);
673 [session_controller() commitPendingItem]; 743 [session_controller() commitPendingItem];
674 744
675 navigation_manager()->Reload(web::ReloadType::NORMAL, 745 navigation_manager()->Reload(web::ReloadType::NORMAL,
676 false /* check_for_repost */); 746 false /* check_for_repost */);
677 EXPECT_TRUE(navigation_manager_delegate().reload_called()); 747 EXPECT_TRUE(navigation_manager_delegate().reload_called());
678 748
679 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); 749 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem());
680 EXPECT_EQ(url_before_reload, 750 EXPECT_EQ(url_before_reload,
681 navigation_manager()->GetLastCommittedItem()->GetURL()); 751 navigation_manager()->GetLastCommittedItem()->GetURL());
682 } 752 }
683 753
684 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of 754 // Tests that calling |Reload| with web::ReloadType::NORMAL leaves the url of
685 // the last committed item unchanged when there is no pending item, but there 755 // the last committed item unchanged when there is no pending item, but there
686 // forward items after last committed item. 756 // forward items after last committed item.
687 TEST_F(NavigationManagerTest, 757 TEST_F(NavigationManagerTest,
688 ReloadLastCommittedItemWithNormalTypeWithForwardItems) { 758 ReloadLastCommittedItemWithNormalTypeWithForwardItems) {
689 navigation_manager()->AddPendingItem( 759 navigation_manager()->AddPendingItem(
690 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 760 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
691 web::NavigationInitiationType::USER_INITIATED); 761 web::NavigationInitiationType::USER_INITIATED,
762 web::NavigationManager::UserAgentOverrideOption::INHERIT);
692 [session_controller() commitPendingItem]; 763 [session_controller() commitPendingItem];
693 764
694 GURL url_before_reload = GURL("http://www.url.com/1"); 765 GURL url_before_reload = GURL("http://www.url.com/1");
695 navigation_manager()->AddPendingItem( 766 navigation_manager()->AddPendingItem(
696 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED, 767 url_before_reload, Referrer(), ui::PAGE_TRANSITION_TYPED,
697 web::NavigationInitiationType::USER_INITIATED); 768 web::NavigationInitiationType::USER_INITIATED,
769 web::NavigationManager::UserAgentOverrideOption::INHERIT);
698 [session_controller() commitPendingItem]; 770 [session_controller() commitPendingItem];
699 771
700 navigation_manager()->AddPendingItem( 772 navigation_manager()->AddPendingItem(
701 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_TYPED, 773 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_TYPED,
702 web::NavigationInitiationType::USER_INITIATED); 774 web::NavigationInitiationType::USER_INITIATED,
775 web::NavigationManager::UserAgentOverrideOption::INHERIT);
703 [session_controller() commitPendingItem]; 776 [session_controller() commitPendingItem];
704 777
705 [session_controller() goToItemAtIndex:1]; 778 [session_controller() goToItemAtIndex:1];
706 EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); 779 EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex());
707 780
708 navigation_manager()->Reload(web::ReloadType::NORMAL, 781 navigation_manager()->Reload(web::ReloadType::NORMAL,
709 false /* check_for_repost */); 782 false /* check_for_repost */);
710 EXPECT_TRUE(navigation_manager_delegate().reload_called()); 783 EXPECT_TRUE(navigation_manager_delegate().reload_called());
711 784
712 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); 785 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem());
(...skipping 16 matching lines...) Expand all
729 ASSERT_FALSE(navigation_manager()->GetPendingItem()); 802 ASSERT_FALSE(navigation_manager()->GetPendingItem());
730 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem()); 803 ASSERT_FALSE(navigation_manager()->GetLastCommittedItem());
731 } 804 }
732 805
733 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL 806 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL
734 // changes the renderer initiated pending item's url to its original request url 807 // changes the renderer initiated pending item's url to its original request url
735 // when there is one. 808 // when there is one.
736 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithOriginalType) { 809 TEST_F(NavigationManagerTest, ReloadRendererPendingItemWithOriginalType) {
737 navigation_manager()->AddPendingItem( 810 navigation_manager()->AddPendingItem(
738 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 811 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
739 web::NavigationInitiationType::RENDERER_INITIATED); 812 web::NavigationInitiationType::USER_INITIATED,
813 web::NavigationManager::UserAgentOverrideOption::INHERIT);
740 ASSERT_TRUE(navigation_manager()->GetPendingItem()); 814 ASSERT_TRUE(navigation_manager()->GetPendingItem());
741 GURL expected_original_url = GURL("http://www.url.com/original"); 815 GURL expected_original_url = GURL("http://www.url.com/original");
742 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( 816 navigation_manager()->GetPendingItem()->SetOriginalRequestURL(
743 expected_original_url); 817 expected_original_url);
744 818
745 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, 819 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL,
746 false /* check_for_repost */); 820 false /* check_for_repost */);
747 EXPECT_TRUE(navigation_manager_delegate().reload_called()); 821 EXPECT_TRUE(navigation_manager_delegate().reload_called());
748 822
749 ASSERT_TRUE(navigation_manager()->GetPendingItem()); 823 ASSERT_TRUE(navigation_manager()->GetPendingItem());
750 EXPECT_EQ(expected_original_url, 824 EXPECT_EQ(expected_original_url,
751 navigation_manager()->GetPendingItem()->GetURL()); 825 navigation_manager()->GetPendingItem()->GetURL());
752 } 826 }
753 827
754 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL 828 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL
755 // changes the user initiated pending item's url to its original request url 829 // changes the user initiated pending item's url to its original request url
756 // when there is one. 830 // when there is one.
757 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithOriginalType) { 831 TEST_F(NavigationManagerTest, ReloadUserPendingItemWithOriginalType) {
758 navigation_manager()->AddPendingItem( 832 navigation_manager()->AddPendingItem(
759 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED, 833 GURL("http://www.url.com"), Referrer(), ui::PAGE_TRANSITION_TYPED,
760 web::NavigationInitiationType::USER_INITIATED); 834 web::NavigationInitiationType::USER_INITIATED,
835 web::NavigationManager::UserAgentOverrideOption::INHERIT);
761 ASSERT_TRUE(navigation_manager()->GetPendingItem()); 836 ASSERT_TRUE(navigation_manager()->GetPendingItem());
762 GURL expected_original_url = GURL("http://www.url.com/original"); 837 GURL expected_original_url = GURL("http://www.url.com/original");
763 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( 838 navigation_manager()->GetPendingItem()->SetOriginalRequestURL(
764 expected_original_url); 839 expected_original_url);
765 840
766 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, 841 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL,
767 false /* check_for_repost */); 842 false /* check_for_repost */);
768 EXPECT_TRUE(navigation_manager_delegate().reload_called()); 843 EXPECT_TRUE(navigation_manager_delegate().reload_called());
769 844
770 ASSERT_TRUE(navigation_manager()->GetPendingItem()); 845 ASSERT_TRUE(navigation_manager()->GetPendingItem());
771 EXPECT_EQ(expected_original_url, 846 EXPECT_EQ(expected_original_url,
772 navigation_manager()->GetPendingItem()->GetURL()); 847 navigation_manager()->GetPendingItem()->GetURL());
773 } 848 }
774 849
775 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL 850 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL
776 // changes the last committed item's url to its original request url when there 851 // changes the last committed item's url to its original request url when there
777 // is no pending item. 852 // is no pending item.
778 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithOriginalType) { 853 TEST_F(NavigationManagerTest, ReloadLastCommittedItemWithOriginalType) {
779 navigation_manager()->AddPendingItem( 854 navigation_manager()->AddPendingItem(
780 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 855 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
781 web::NavigationInitiationType::USER_INITIATED); 856 web::NavigationInitiationType::USER_INITIATED,
857 web::NavigationManager::UserAgentOverrideOption::INHERIT);
782 [session_controller() commitPendingItem]; 858 [session_controller() commitPendingItem];
783 859
784 navigation_manager()->AddPendingItem( 860 navigation_manager()->AddPendingItem(
785 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, 861 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED,
786 web::NavigationInitiationType::USER_INITIATED); 862 web::NavigationInitiationType::USER_INITIATED,
863 web::NavigationManager::UserAgentOverrideOption::INHERIT);
787 GURL expected_original_url = GURL("http://www.url.com/1/original"); 864 GURL expected_original_url = GURL("http://www.url.com/1/original");
788 ASSERT_TRUE(navigation_manager()->GetPendingItem()); 865 ASSERT_TRUE(navigation_manager()->GetPendingItem());
789 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( 866 navigation_manager()->GetPendingItem()->SetOriginalRequestURL(
790 expected_original_url); 867 expected_original_url);
791 [session_controller() commitPendingItem]; 868 [session_controller() commitPendingItem];
792 869
793 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, 870 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL,
794 false /* check_for_repost */); 871 false /* check_for_repost */);
795 EXPECT_TRUE(navigation_manager_delegate().reload_called()); 872 EXPECT_TRUE(navigation_manager_delegate().reload_called());
796 873
797 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); 874 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem());
798 EXPECT_EQ(expected_original_url, 875 EXPECT_EQ(expected_original_url,
799 navigation_manager()->GetLastCommittedItem()->GetURL()); 876 navigation_manager()->GetLastCommittedItem()->GetURL());
800 } 877 }
801 878
802 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL 879 // Tests that calling |Reload| with web::ReloadType::ORIGINAL_REQUEST_URL
803 // changes the last committed item's url to its original request url when there 880 // changes the last committed item's url to its original request url when there
804 // is no pending item, but there are forward items after last committed item. 881 // is no pending item, but there are forward items after last committed item.
805 TEST_F(NavigationManagerTest, 882 TEST_F(NavigationManagerTest,
806 ReloadLastCommittedItemWithOriginalTypeWithForwardItems) { 883 ReloadLastCommittedItemWithOriginalTypeWithForwardItems) {
807 navigation_manager()->AddPendingItem( 884 navigation_manager()->AddPendingItem(
808 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, 885 GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED,
809 web::NavigationInitiationType::USER_INITIATED); 886 web::NavigationInitiationType::USER_INITIATED,
887 web::NavigationManager::UserAgentOverrideOption::INHERIT);
810 [session_controller() commitPendingItem]; 888 [session_controller() commitPendingItem];
811 889
812 navigation_manager()->AddPendingItem( 890 navigation_manager()->AddPendingItem(
813 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, 891 GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED,
814 web::NavigationInitiationType::USER_INITIATED); 892 web::NavigationInitiationType::USER_INITIATED,
893 web::NavigationManager::UserAgentOverrideOption::INHERIT);
815 GURL expected_original_url = GURL("http://www.url.com/1/original"); 894 GURL expected_original_url = GURL("http://www.url.com/1/original");
816 ASSERT_TRUE(navigation_manager()->GetPendingItem()); 895 ASSERT_TRUE(navigation_manager()->GetPendingItem());
817 navigation_manager()->GetPendingItem()->SetOriginalRequestURL( 896 navigation_manager()->GetPendingItem()->SetOriginalRequestURL(
818 expected_original_url); 897 expected_original_url);
819 [session_controller() commitPendingItem]; 898 [session_controller() commitPendingItem];
820 899
821 navigation_manager()->AddPendingItem( 900 navigation_manager()->AddPendingItem(
822 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_TYPED, 901 GURL("http://www.url.com/2"), Referrer(), ui::PAGE_TRANSITION_TYPED,
823 web::NavigationInitiationType::USER_INITIATED); 902 web::NavigationInitiationType::USER_INITIATED,
903 web::NavigationManager::UserAgentOverrideOption::INHERIT);
824 [session_controller() commitPendingItem]; 904 [session_controller() commitPendingItem];
825 905
826 [session_controller() goToItemAtIndex:1]; 906 [session_controller() goToItemAtIndex:1];
827 EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex()); 907 EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex());
828 908
829 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL, 909 navigation_manager()->Reload(web::ReloadType::ORIGINAL_REQUEST_URL,
830 false /* check_for_repost */); 910 false /* check_for_repost */);
831 EXPECT_TRUE(navigation_manager_delegate().reload_called()); 911 EXPECT_TRUE(navigation_manager_delegate().reload_called());
832 912
833 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem()); 913 ASSERT_TRUE(navigation_manager()->GetLastCommittedItem());
834 EXPECT_EQ(expected_original_url, 914 EXPECT_EQ(expected_original_url,
835 navigation_manager()->GetLastCommittedItem()->GetURL()); 915 navigation_manager()->GetLastCommittedItem()->GetURL());
836 } 916 }
837 917
838 } // namespace web 918 } // namespace web
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698