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

Side by Side Diff: chrome/browser/referrer_policy_browsertest.cc

Issue 2248873002: Convert WindowOpenDisposition to an enum class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 mouse_event.type = blink::WebInputEvent::MouseDown; 181 mouse_event.type = blink::WebInputEvent::MouseDown;
182 mouse_event.button = button; 182 mouse_event.button = button;
183 mouse_event.x = 15; 183 mouse_event.x = 15;
184 mouse_event.y = 15; 184 mouse_event.y = 15;
185 mouse_event.clickCount = 1; 185 mouse_event.clickCount = 1;
186 tab->GetRenderViewHost()->GetWidget()->ForwardMouseEvent(mouse_event); 186 tab->GetRenderViewHost()->GetWidget()->ForwardMouseEvent(mouse_event);
187 mouse_event.type = blink::WebInputEvent::MouseUp; 187 mouse_event.type = blink::WebInputEvent::MouseUp;
188 tab->GetRenderViewHost()->GetWidget()->ForwardMouseEvent(mouse_event); 188 tab->GetRenderViewHost()->GetWidget()->ForwardMouseEvent(mouse_event);
189 } 189 }
190 190
191 if (disposition == CURRENT_TAB) { 191 if (disposition == WindowOpenDisposition::CURRENT_TAB) {
192 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); 192 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle());
193 } else { 193 } else {
194 tab_added_observer.Wait(); 194 tab_added_observer.Wait();
195 tab = tab_added_observer.GetTab(); 195 tab = tab_added_observer.GetTab();
196 EXPECT_TRUE(tab); 196 EXPECT_TRUE(tab);
197 content::TitleWatcher title_watcher2(tab, expected_title); 197 content::TitleWatcher title_watcher2(tab, expected_title);
198 198
199 // Watch for all possible outcomes to avoid timeouts if something breaks. 199 // Watch for all possible outcomes to avoid timeouts if something breaks.
200 AddAllPossibleTitles(start_url, &title_watcher2); 200 AddAllPossibleTitles(start_url, &title_watcher2);
201 201
(...skipping 30 matching lines...) Expand all
232 232
233 // The basic behavior of referrer policies is covered by layout tests in 233 // The basic behavior of referrer policies is covered by layout tests in
234 // http/tests/security/referrer-policy-*. These tests cover (hopefully) all 234 // http/tests/security/referrer-policy-*. These tests cover (hopefully) all
235 // code paths chrome uses to navigate. To keep the number of combinations down, 235 // code paths chrome uses to navigate. To keep the number of combinations down,
236 // we only test the "origin" policy here. 236 // we only test the "origin" policy here.
237 // 237 //
238 // Some tests are marked as FAILS, see http://crbug.com/124750 238 // Some tests are marked as FAILS, see http://crbug.com/124750
239 239
240 // Content initiated navigation, from HTTP to HTTP. 240 // Content initiated navigation, from HTTP to HTTP.
241 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Origin) { 241 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Origin) {
242 RunReferrerTest(blink::WebReferrerPolicyOrigin, 242 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
243 START_ON_HTTP, 243 NO_REDIRECT, WindowOpenDisposition::CURRENT_TAB,
244 REGULAR_LINK,
245 NO_REDIRECT,
246 CURRENT_TAB,
247 blink::WebMouseEvent::Button::NoButton, 244 blink::WebMouseEvent::Button::NoButton,
248 EXPECT_ORIGIN_AS_REFERRER); 245 EXPECT_ORIGIN_AS_REFERRER);
249 } 246 }
250 247
251 // Content initiated navigation, from HTTPS to HTTP. 248 // Content initiated navigation, from HTTPS to HTTP.
252 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsDefault) { 249 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsDefault) {
253 RunReferrerTest(blink::WebReferrerPolicyOrigin, 250 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
254 START_ON_HTTPS, 251 NO_REDIRECT, WindowOpenDisposition::CURRENT_TAB,
255 REGULAR_LINK,
256 NO_REDIRECT,
257 CURRENT_TAB,
258 blink::WebMouseEvent::Button::NoButton, 252 blink::WebMouseEvent::Button::NoButton,
259 EXPECT_ORIGIN_AS_REFERRER); 253 EXPECT_ORIGIN_AS_REFERRER);
260 } 254 }
261 255
262 // User initiated navigation, from HTTP to HTTP. 256 // User initiated navigation, from HTTP to HTTP.
263 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, LeftClickOrigin) { 257 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, LeftClickOrigin) {
264 RunReferrerTest(blink::WebReferrerPolicyOrigin, 258 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
265 START_ON_HTTP, 259 NO_REDIRECT, WindowOpenDisposition::CURRENT_TAB,
266 REGULAR_LINK,
267 NO_REDIRECT,
268 CURRENT_TAB,
269 blink::WebMouseEvent::Button::Left, 260 blink::WebMouseEvent::Button::Left,
270 EXPECT_ORIGIN_AS_REFERRER); 261 EXPECT_ORIGIN_AS_REFERRER);
271 } 262 }
272 263
273 // User initiated navigation, from HTTPS to HTTP. 264 // User initiated navigation, from HTTPS to HTTP.
274 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickOrigin) { 265 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickOrigin) {
275 RunReferrerTest(blink::WebReferrerPolicyOrigin, 266 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
276 START_ON_HTTPS, 267 NO_REDIRECT, WindowOpenDisposition::CURRENT_TAB,
277 REGULAR_LINK,
278 NO_REDIRECT,
279 CURRENT_TAB,
280 blink::WebMouseEvent::Button::Left, 268 blink::WebMouseEvent::Button::Left,
281 EXPECT_ORIGIN_AS_REFERRER); 269 EXPECT_ORIGIN_AS_REFERRER);
282 } 270 }
283 271
284 // User initiated navigation, middle click, from HTTP to HTTP. 272 // User initiated navigation, middle click, from HTTP to HTTP.
285 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickOrigin) { 273 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickOrigin) {
286 RunReferrerTest(blink::WebReferrerPolicyOrigin, 274 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
287 START_ON_HTTP, 275 NO_REDIRECT, WindowOpenDisposition::NEW_BACKGROUND_TAB,
288 REGULAR_LINK,
289 NO_REDIRECT,
290 NEW_BACKGROUND_TAB,
291 blink::WebMouseEvent::Button::Middle, 276 blink::WebMouseEvent::Button::Middle,
292 EXPECT_ORIGIN_AS_REFERRER); 277 EXPECT_ORIGIN_AS_REFERRER);
293 } 278 }
294 279
295 // User initiated navigation, middle click, from HTTPS to HTTP. 280 // User initiated navigation, middle click, from HTTPS to HTTP.
296 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickOrigin) { 281 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickOrigin) {
297 RunReferrerTest(blink::WebReferrerPolicyOrigin, 282 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
298 START_ON_HTTPS, 283 NO_REDIRECT, WindowOpenDisposition::NEW_BACKGROUND_TAB,
299 REGULAR_LINK,
300 NO_REDIRECT,
301 NEW_BACKGROUND_TAB,
302 blink::WebMouseEvent::Button::Middle, 284 blink::WebMouseEvent::Button::Middle,
303 EXPECT_ORIGIN_AS_REFERRER); 285 EXPECT_ORIGIN_AS_REFERRER);
304 } 286 }
305 287
306 // User initiated navigation, target blank, from HTTP to HTTP. 288 // User initiated navigation, target blank, from HTTP to HTTP.
307 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankOrigin) { 289 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankOrigin) {
308 RunReferrerTest(blink::WebReferrerPolicyOrigin, 290 RunReferrerTest(
309 START_ON_HTTP, 291 blink::WebReferrerPolicyOrigin, START_ON_HTTP, LINK_WITH_TARGET_BLANK,
310 LINK_WITH_TARGET_BLANK, 292 NO_REDIRECT, WindowOpenDisposition::NEW_FOREGROUND_TAB,
311 NO_REDIRECT, 293 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER);
312 NEW_FOREGROUND_TAB,
313 blink::WebMouseEvent::Button::Left,
314 EXPECT_ORIGIN_AS_REFERRER);
315 } 294 }
316 295
317 // User initiated navigation, target blank, from HTTPS to HTTP. 296 // User initiated navigation, target blank, from HTTPS to HTTP.
318 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankOrigin) { 297 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankOrigin) {
319 RunReferrerTest(blink::WebReferrerPolicyOrigin, 298 RunReferrerTest(
320 START_ON_HTTPS, 299 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, LINK_WITH_TARGET_BLANK,
321 LINK_WITH_TARGET_BLANK, 300 NO_REDIRECT, WindowOpenDisposition::NEW_FOREGROUND_TAB,
322 NO_REDIRECT, 301 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER);
323 NEW_FOREGROUND_TAB,
324 blink::WebMouseEvent::Button::Left,
325 EXPECT_ORIGIN_AS_REFERRER);
326 } 302 }
327 303
328 // User initiated navigation, middle click, target blank, from HTTP to HTTP. 304 // User initiated navigation, middle click, target blank, from HTTP to HTTP.
329 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankOrigin) { 305 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankOrigin) {
330 RunReferrerTest(blink::WebReferrerPolicyOrigin, 306 RunReferrerTest(
331 START_ON_HTTP, 307 blink::WebReferrerPolicyOrigin, START_ON_HTTP, LINK_WITH_TARGET_BLANK,
332 LINK_WITH_TARGET_BLANK, 308 NO_REDIRECT, WindowOpenDisposition::NEW_FOREGROUND_TAB,
333 NO_REDIRECT, 309 blink::WebMouseEvent::Button::Middle, EXPECT_ORIGIN_AS_REFERRER);
334 NEW_FOREGROUND_TAB,
335 blink::WebMouseEvent::Button::Middle,
336 EXPECT_ORIGIN_AS_REFERRER);
337 } 310 }
338 311
339 // User initiated navigation, middle click, target blank, from HTTPS to HTTP. 312 // User initiated navigation, middle click, target blank, from HTTPS to HTTP.
340 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickTargetBlankOrigin) { 313 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickTargetBlankOrigin) {
341 RunReferrerTest(blink::WebReferrerPolicyOrigin, 314 RunReferrerTest(
342 START_ON_HTTPS, 315 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, LINK_WITH_TARGET_BLANK,
343 LINK_WITH_TARGET_BLANK, 316 NO_REDIRECT, WindowOpenDisposition::NEW_FOREGROUND_TAB,
344 NO_REDIRECT, 317 blink::WebMouseEvent::Button::Middle, EXPECT_ORIGIN_AS_REFERRER);
345 NEW_FOREGROUND_TAB,
346 blink::WebMouseEvent::Button::Middle,
347 EXPECT_ORIGIN_AS_REFERRER);
348 } 318 }
349 319
350 // Context menu, from HTTP to HTTP. 320 // Context menu, from HTTP to HTTP.
351 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, ContextMenuOrigin) { 321 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, ContextMenuOrigin) {
352 ContextMenuNotificationObserver context_menu_observer( 322 ContextMenuNotificationObserver context_menu_observer(
353 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); 323 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB);
354 RunReferrerTest(blink::WebReferrerPolicyOrigin, 324 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
355 START_ON_HTTP, 325 NO_REDIRECT, WindowOpenDisposition::NEW_FOREGROUND_TAB,
356 REGULAR_LINK,
357 NO_REDIRECT,
358 NEW_FOREGROUND_TAB,
359 blink::WebMouseEvent::Button::Right, 326 blink::WebMouseEvent::Button::Right,
360 EXPECT_ORIGIN_AS_REFERRER); 327 EXPECT_ORIGIN_AS_REFERRER);
361 } 328 }
362 329
363 // Context menu, from HTTPS to HTTP. 330 // Context menu, from HTTPS to HTTP.
364 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsContextMenuOrigin) { 331 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsContextMenuOrigin) {
365 ContextMenuNotificationObserver context_menu_observer( 332 ContextMenuNotificationObserver context_menu_observer(
366 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); 333 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB);
367 RunReferrerTest(blink::WebReferrerPolicyOrigin, 334 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
368 START_ON_HTTPS, 335 NO_REDIRECT, WindowOpenDisposition::NEW_FOREGROUND_TAB,
369 REGULAR_LINK,
370 NO_REDIRECT,
371 NEW_FOREGROUND_TAB,
372 blink::WebMouseEvent::Button::Right, 336 blink::WebMouseEvent::Button::Right,
373 EXPECT_ORIGIN_AS_REFERRER); 337 EXPECT_ORIGIN_AS_REFERRER);
374 } 338 }
375 339
376 // Content initiated navigation, from HTTP to HTTP via server redirect. 340 // Content initiated navigation, from HTTP to HTTP via server redirect.
377 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Redirect) { 341 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Redirect) {
378 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK, 342 RunReferrerTest(
379 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB, 343 blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
380 blink::WebMouseEvent::Button::NoButton, 344 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, WindowOpenDisposition::CURRENT_TAB,
381 EXPECT_ORIGIN_AS_REFERRER); 345 blink::WebMouseEvent::Button::NoButton, EXPECT_ORIGIN_AS_REFERRER);
382 } 346 }
383 347
384 // Content initiated navigation, from HTTPS to HTTP via server redirect. 348 // Content initiated navigation, from HTTPS to HTTP via server redirect.
385 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsRedirect) { 349 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsRedirect) {
386 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK, 350 RunReferrerTest(
387 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB, 351 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
388 blink::WebMouseEvent::Button::NoButton, 352 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, WindowOpenDisposition::CURRENT_TAB,
389 EXPECT_ORIGIN_AS_REFERRER); 353 blink::WebMouseEvent::Button::NoButton, EXPECT_ORIGIN_AS_REFERRER);
390 } 354 }
391 355
392 // User initiated navigation, from HTTP to HTTP via server redirect. 356 // User initiated navigation, from HTTP to HTTP via server redirect.
393 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, LeftClickRedirect) { 357 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, LeftClickRedirect) {
394 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK, 358 RunReferrerTest(
395 SERVER_REDIRECT_FROM_HTTP_TO_HTTP, CURRENT_TAB, 359 blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
396 blink::WebMouseEvent::Button::Left, 360 SERVER_REDIRECT_FROM_HTTP_TO_HTTP, WindowOpenDisposition::CURRENT_TAB,
397 EXPECT_ORIGIN_AS_REFERRER); 361 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER);
398 } 362 }
399 363
400 // User initiated navigation, from HTTPS to HTTP via server redirect. 364 // User initiated navigation, from HTTPS to HTTP via server redirect.
401 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickRedirect) { 365 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickRedirect) {
402 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK, 366 RunReferrerTest(
403 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB, 367 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
404 blink::WebMouseEvent::Button::Left, 368 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, WindowOpenDisposition::CURRENT_TAB,
405 EXPECT_ORIGIN_AS_REFERRER); 369 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER);
406 } 370 }
407 371
408 // User initiated navigation, middle click, from HTTP to HTTP via server 372 // User initiated navigation, middle click, from HTTP to HTTP via server
409 // redirect. 373 // redirect.
410 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickRedirect) { 374 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickRedirect) {
411 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK, 375 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
412 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, NEW_BACKGROUND_TAB, 376 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
377 WindowOpenDisposition::NEW_BACKGROUND_TAB,
413 blink::WebMouseEvent::Button::Middle, 378 blink::WebMouseEvent::Button::Middle,
414 EXPECT_ORIGIN_AS_REFERRER); 379 EXPECT_ORIGIN_AS_REFERRER);
415 } 380 }
416 381
417 // User initiated navigation, middle click, from HTTPS to HTTP via server 382 // User initiated navigation, middle click, from HTTPS to HTTP via server
418 // redirect. 383 // redirect.
419 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickRedirect) { 384 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickRedirect) {
420 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK, 385 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
421 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, NEW_BACKGROUND_TAB, 386 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
387 WindowOpenDisposition::NEW_BACKGROUND_TAB,
422 blink::WebMouseEvent::Button::Middle, 388 blink::WebMouseEvent::Button::Middle,
423 EXPECT_ORIGIN_AS_REFERRER); 389 EXPECT_ORIGIN_AS_REFERRER);
424 } 390 }
425 391
426 // User initiated navigation, target blank, from HTTP to HTTP via server 392 // User initiated navigation, target blank, from HTTP to HTTP via server
427 // redirect. 393 // redirect.
428 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankRedirect) { 394 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankRedirect) {
429 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, 395 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP,
430 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, 396 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
431 NEW_FOREGROUND_TAB, blink::WebMouseEvent::Button::Left, 397 WindowOpenDisposition::NEW_FOREGROUND_TAB,
398 blink::WebMouseEvent::Button::Left,
432 EXPECT_ORIGIN_AS_REFERRER); 399 EXPECT_ORIGIN_AS_REFERRER);
433 } 400 }
434 401
435 // User initiated navigation, target blank, from HTTPS to HTTP via server 402 // User initiated navigation, target blank, from HTTPS to HTTP via server
436 // redirect. 403 // redirect.
437 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankRedirect) { 404 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankRedirect) {
438 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, 405 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS,
439 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, 406 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
440 NEW_FOREGROUND_TAB, blink::WebMouseEvent::Button::Left, 407 WindowOpenDisposition::NEW_FOREGROUND_TAB,
408 blink::WebMouseEvent::Button::Left,
441 EXPECT_ORIGIN_AS_REFERRER); 409 EXPECT_ORIGIN_AS_REFERRER);
442 } 410 }
443 411
444 // User initiated navigation, middle click, target blank, from HTTP to HTTP via 412 // User initiated navigation, middle click, target blank, from HTTP to HTTP via
445 // server redirect. 413 // server redirect.
446 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankRedirect) { 414 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankRedirect) {
447 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, 415 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP,
448 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, 416 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
449 NEW_FOREGROUND_TAB, blink::WebMouseEvent::Button::Middle, 417 WindowOpenDisposition::NEW_FOREGROUND_TAB,
418 blink::WebMouseEvent::Button::Middle,
450 EXPECT_ORIGIN_AS_REFERRER); 419 EXPECT_ORIGIN_AS_REFERRER);
451 } 420 }
452 421
453 // User initiated navigation, middle click, target blank, from HTTPS to HTTP 422 // User initiated navigation, middle click, target blank, from HTTPS to HTTP
454 // via server redirect. 423 // via server redirect.
455 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, 424 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest,
456 HttpsMiddleClickTargetBlankRedirect) { 425 HttpsMiddleClickTargetBlankRedirect) {
457 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, 426 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS,
458 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, 427 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
459 NEW_FOREGROUND_TAB, blink::WebMouseEvent::Button::Middle, 428 WindowOpenDisposition::NEW_FOREGROUND_TAB,
429 blink::WebMouseEvent::Button::Middle,
460 EXPECT_ORIGIN_AS_REFERRER); 430 EXPECT_ORIGIN_AS_REFERRER);
461 } 431 }
462 432
463 // Context menu, from HTTP to HTTP via server redirect. 433 // Context menu, from HTTP to HTTP via server redirect.
464 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, ContextMenuRedirect) { 434 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, ContextMenuRedirect) {
465 ContextMenuNotificationObserver context_menu_observer( 435 ContextMenuNotificationObserver context_menu_observer(
466 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); 436 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB);
467 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK, 437 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
468 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, NEW_FOREGROUND_TAB, 438 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
439 WindowOpenDisposition::NEW_FOREGROUND_TAB,
469 blink::WebMouseEvent::Button::Right, 440 blink::WebMouseEvent::Button::Right,
470 EXPECT_ORIGIN_AS_REFERRER); 441 EXPECT_ORIGIN_AS_REFERRER);
471 } 442 }
472 443
473 // Context menu, from HTTPS to HTTP via server redirect. 444 // Context menu, from HTTPS to HTTP via server redirect.
474 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsContextMenuRedirect) { 445 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsContextMenuRedirect) {
475 ContextMenuNotificationObserver context_menu_observer( 446 ContextMenuNotificationObserver context_menu_observer(
476 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); 447 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB);
477 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK, 448 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
478 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, NEW_FOREGROUND_TAB, 449 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
450 WindowOpenDisposition::NEW_FOREGROUND_TAB,
479 blink::WebMouseEvent::Button::Right, 451 blink::WebMouseEvent::Button::Right,
480 EXPECT_ORIGIN_AS_REFERRER); 452 EXPECT_ORIGIN_AS_REFERRER);
481 } 453 }
482 454
483 // Tests history navigation actions: Navigate from A to B with a referrer 455 // Tests history navigation actions: Navigate from A to B with a referrer
484 // policy, then navigate to C, back to B, and reload. 456 // policy, then navigate to C, back to B, and reload.
485 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, History) { 457 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, History) {
486 // Navigate from A to B. 458 // Navigate from A to B.
487 GURL start_url = RunReferrerTest( 459 GURL start_url = RunReferrerTest(
488 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK, 460 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
489 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB, 461 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, WindowOpenDisposition::CURRENT_TAB,
490 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER); 462 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER);
491 463
492 // Navigate to C. 464 // Navigate to C.
493 ui_test_utils::NavigateToURL( 465 ui_test_utils::NavigateToURL(
494 browser(), net::URLRequestMockHTTPJob::GetMockUrl(std::string())); 466 browser(), net::URLRequestMockHTTPJob::GetMockUrl(std::string()));
495 467
496 base::string16 expected_title = 468 base::string16 expected_title =
497 GetExpectedTitle(start_url, EXPECT_ORIGIN_AS_REFERRER); 469 GetExpectedTitle(start_url, EXPECT_ORIGIN_AS_REFERRER);
498 content::WebContents* tab = 470 content::WebContents* tab =
499 browser()->tab_strip_model()->GetActiveWebContents(); 471 browser()->tab_strip_model()->GetActiveWebContents();
500 std::unique_ptr<content::TitleWatcher> title_watcher( 472 std::unique_ptr<content::TitleWatcher> title_watcher(
501 new content::TitleWatcher(tab, expected_title)); 473 new content::TitleWatcher(tab, expected_title));
502 474
503 // Watch for all possible outcomes to avoid timeouts if something breaks. 475 // Watch for all possible outcomes to avoid timeouts if something breaks.
504 AddAllPossibleTitles(start_url, title_watcher.get()); 476 AddAllPossibleTitles(start_url, title_watcher.get());
505 477
506 // Go back to B. 478 // Go back to B.
507 chrome::GoBack(browser(), CURRENT_TAB); 479 chrome::GoBack(browser(), WindowOpenDisposition::CURRENT_TAB);
508 EXPECT_EQ(expected_title, title_watcher->WaitAndGetTitle()); 480 EXPECT_EQ(expected_title, title_watcher->WaitAndGetTitle());
509 481
510 title_watcher.reset(new content::TitleWatcher(tab, expected_title)); 482 title_watcher.reset(new content::TitleWatcher(tab, expected_title));
511 AddAllPossibleTitles(start_url, title_watcher.get()); 483 AddAllPossibleTitles(start_url, title_watcher.get());
512 484
513 // Reload to B. 485 // Reload to B.
514 chrome::Reload(browser(), CURRENT_TAB); 486 chrome::Reload(browser(), WindowOpenDisposition::CURRENT_TAB);
515 EXPECT_EQ(expected_title, title_watcher->WaitAndGetTitle()); 487 EXPECT_EQ(expected_title, title_watcher->WaitAndGetTitle());
516 488
517 title_watcher.reset(new content::TitleWatcher(tab, expected_title)); 489 title_watcher.reset(new content::TitleWatcher(tab, expected_title));
518 AddAllPossibleTitles(start_url, title_watcher.get()); 490 AddAllPossibleTitles(start_url, title_watcher.get());
519 491
520 // Shift-reload to B. 492 // Shift-reload to B.
521 chrome::ReloadBypassingCache(browser(), CURRENT_TAB); 493 chrome::ReloadBypassingCache(browser(), WindowOpenDisposition::CURRENT_TAB);
522 EXPECT_EQ(expected_title, title_watcher->WaitAndGetTitle()); 494 EXPECT_EQ(expected_title, title_watcher->WaitAndGetTitle());
523 } 495 }
524 496
525 // Tests that reloading a site for "request tablet version" correctly clears 497 // Tests that reloading a site for "request tablet version" correctly clears
526 // the referrer. 498 // the referrer.
527 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, RequestTabletSite) { 499 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, RequestTabletSite) {
528 GURL start_url = RunReferrerTest( 500 GURL start_url = RunReferrerTest(
529 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK, 501 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
530 SERVER_REDIRECT_FROM_HTTP_TO_HTTP, CURRENT_TAB, 502 SERVER_REDIRECT_FROM_HTTP_TO_HTTP, WindowOpenDisposition::CURRENT_TAB,
531 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER); 503 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER);
532 504
533 base::string16 expected_title = 505 base::string16 expected_title =
534 GetExpectedTitle(start_url, EXPECT_EMPTY_REFERRER); 506 GetExpectedTitle(start_url, EXPECT_EMPTY_REFERRER);
535 content::WebContents* tab = 507 content::WebContents* tab =
536 browser()->tab_strip_model()->GetActiveWebContents(); 508 browser()->tab_strip_model()->GetActiveWebContents();
537 content::TitleWatcher title_watcher(tab, expected_title); 509 content::TitleWatcher title_watcher(tab, expected_title);
538 510
539 // Watch for all possible outcomes to avoid timeouts if something breaks. 511 // Watch for all possible outcomes to avoid timeouts if something breaks.
540 AddAllPossibleTitles(start_url, &title_watcher); 512 AddAllPossibleTitles(start_url, &title_watcher);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 net::URLRequestMockHTTPJob::GetMockUrl( 568 net::URLRequestMockHTTPJob::GetMockUrl(
597 "referrer_policy/referrer-policy-log.html").spec(), 569 "referrer_policy/referrer-policy-log.html").spec(),
598 title); 570 title);
599 } 571 }
600 572
601 // Origin When Cross-Origin 573 // Origin When Cross-Origin
602 574
603 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, 575 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest,
604 HttpLeftClickHTTPSRedirectToHTTPOriginWhenCrossOrigin) { 576 HttpLeftClickHTTPSRedirectToHTTPOriginWhenCrossOrigin) {
605 RunReferrerTest(blink::WebReferrerPolicyOriginWhenCrossOrigin, START_ON_HTTPS, 577 RunReferrerTest(blink::WebReferrerPolicyOriginWhenCrossOrigin, START_ON_HTTPS,
606 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB, 578 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
579 WindowOpenDisposition::CURRENT_TAB,
607 blink::WebMouseEvent::Button::Left, 580 blink::WebMouseEvent::Button::Left,
608 EXPECT_ORIGIN_AS_REFERRER); 581 EXPECT_ORIGIN_AS_REFERRER);
609 } 582 }
610 583
611 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, 584 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest,
612 HttpLeftClickRedirectToHTTPSOriginWhenCrossOrigin) { 585 HttpLeftClickRedirectToHTTPSOriginWhenCrossOrigin) {
613 RunReferrerTest(blink::WebReferrerPolicyOriginWhenCrossOrigin, START_ON_HTTP, 586 RunReferrerTest(blink::WebReferrerPolicyOriginWhenCrossOrigin, START_ON_HTTP,
614 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, CURRENT_TAB, 587 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTP_TO_HTTPS,
588 WindowOpenDisposition::CURRENT_TAB,
615 blink::WebMouseEvent::Button::Left, 589 blink::WebMouseEvent::Button::Left,
616 EXPECT_ORIGIN_AS_REFERRER); 590 EXPECT_ORIGIN_AS_REFERRER);
617 } 591 }
618 592
619 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, 593 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest,
620 HttpLeftClickRedirectToHTTPOriginWhenCrossOrigin) { 594 HttpLeftClickRedirectToHTTPOriginWhenCrossOrigin) {
621 RunReferrerTest(blink::WebReferrerPolicyOriginWhenCrossOrigin, START_ON_HTTP, 595 RunReferrerTest(blink::WebReferrerPolicyOriginWhenCrossOrigin, START_ON_HTTP,
622 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTP_TO_HTTP, CURRENT_TAB, 596 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTP_TO_HTTP,
597 WindowOpenDisposition::CURRENT_TAB,
623 blink::WebMouseEvent::Button::Left, EXPECT_FULL_REFERRER); 598 blink::WebMouseEvent::Button::Left, EXPECT_FULL_REFERRER);
624 } 599 }
625 600
626 // Reduced 'referer' granularity flag tests. 601 // Reduced 'referer' granularity flag tests.
627 602
628 // User initiated navigation, from HTTP to HTTPS via server redirect. 603 // User initiated navigation, from HTTP to HTTPS via server redirect.
629 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpLeftClickRedirectDefaultNoFlag) { 604 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpLeftClickRedirectDefaultNoFlag) {
630 RunReferrerTest(blink::WebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK, 605 RunReferrerTest(blink::WebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK,
631 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, CURRENT_TAB, 606 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS,
607 WindowOpenDisposition::CURRENT_TAB,
632 blink::WebMouseEvent::Button::Left, EXPECT_FULL_REFERRER, 608 blink::WebMouseEvent::Button::Left, EXPECT_FULL_REFERRER,
633 blink::WebReferrerPolicyNoReferrerWhenDowngrade); 609 blink::WebReferrerPolicyNoReferrerWhenDowngrade);
634 } 610 }
635 611
636 IN_PROC_BROWSER_TEST_F(ReferrerPolicyWithReduceReferrerGranularityFlagTest, 612 IN_PROC_BROWSER_TEST_F(ReferrerPolicyWithReduceReferrerGranularityFlagTest,
637 HttpLeftClickRedirectDefaultFlag) { 613 HttpLeftClickRedirectDefaultFlag) {
638 blink::WebReferrerPolicy expected_referrer_policy = 614 blink::WebReferrerPolicy expected_referrer_policy =
639 blink::WebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin; 615 blink::WebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin;
640 616
641 RunReferrerTest(blink::WebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK, 617 RunReferrerTest(blink::WebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK,
642 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, CURRENT_TAB, 618 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS,
619 WindowOpenDisposition::CURRENT_TAB,
643 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER, 620 blink::WebMouseEvent::Button::Left, EXPECT_ORIGIN_AS_REFERRER,
644 expected_referrer_policy); 621 expected_referrer_policy);
645 } 622 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698