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

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

Issue 714813003: Referrer Policy: Add new policies to URLRequest. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tests. Created 6 years, 1 month 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/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
7 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/app/chrome_command_ids.h" 10 #include "chrome/app/chrome_command_ids.h"
10 #include "chrome/browser/chrome_notification_types.h" 11 #include "chrome/browser/chrome_notification_types.h"
11 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" 12 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
12 #include "chrome/browser/renderer_context_menu/render_view_context_menu_browsert est_util.h" 13 #include "chrome/browser/renderer_context_menu/render_view_context_menu_browsert est_util.h"
13 #include "chrome/browser/ui/browser.h" 14 #include "chrome/browser/ui/browser.h"
14 #include "chrome/browser/ui/browser_commands.h" 15 #include "chrome/browser/ui/browser_commands.h"
15 #include "chrome/browser/ui/tabs/tab_strip_model.h" 16 #include "chrome/browser/ui/tabs/tab_strip_model.h"
16 #include "chrome/common/pref_names.h" 17 #include "chrome/common/pref_names.h"
17 #include "chrome/test/base/in_process_browser_test.h" 18 #include "chrome/test/base/in_process_browser_test.h"
18 #include "chrome/test/base/ui_test_utils.h" 19 #include "chrome/test/base/ui_test_utils.h"
19 #include "content/public/browser/navigation_controller.h" 20 #include "content/public/browser/navigation_controller.h"
20 #include "content/public/browser/navigation_entry.h" 21 #include "content/public/browser/navigation_entry.h"
21 #include "content/public/browser/notification_service.h" 22 #include "content/public/browser/notification_service.h"
22 #include "content/public/browser/render_view_host.h" 23 #include "content/public/browser/render_view_host.h"
23 #include "content/public/browser/web_contents.h" 24 #include "content/public/browser/web_contents.h"
25 #include "content/public/common/content_switches.h"
24 #include "content/public/test/browser_test_utils.h" 26 #include "content/public/test/browser_test_utils.h"
25 #include "net/test/spawned_test_server/spawned_test_server.h" 27 #include "net/test/spawned_test_server/spawned_test_server.h"
26 #include "third_party/WebKit/public/web/WebInputEvent.h" 28 #include "third_party/WebKit/public/web/WebInputEvent.h"
27 29
28 namespace { 30 namespace {
29 31
30 const base::FilePath::CharType kDocRoot[] = 32 const base::FilePath::CharType kDocRoot[] =
31 FILE_PATH_LITERAL("chrome/test/data/referrer_policy"); 33 FILE_PATH_LITERAL("chrome/test/data/referrer_policy");
32 34
33 } // namespace 35 } // namespace
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 title_watcher->AlsoWaitForTitle( 89 title_watcher->AlsoWaitForTitle(
88 GetExpectedTitle(url, EXPECT_FULL_REFERRER)); 90 GetExpectedTitle(url, EXPECT_FULL_REFERRER));
89 title_watcher->AlsoWaitForTitle( 91 title_watcher->AlsoWaitForTitle(
90 GetExpectedTitle(url, EXPECT_ORIGIN_AS_REFERRER)); 92 GetExpectedTitle(url, EXPECT_ORIGIN_AS_REFERRER));
91 } 93 }
92 94
93 // Returns a string representation of a given |referrer_policy|. 95 // Returns a string representation of a given |referrer_policy|.
94 std::string ReferrerPolicyToString(blink::WebReferrerPolicy referrer_policy) { 96 std::string ReferrerPolicyToString(blink::WebReferrerPolicy referrer_policy) {
95 switch (referrer_policy) { 97 switch (referrer_policy) {
96 case blink::WebReferrerPolicyDefault: 98 case blink::WebReferrerPolicyDefault:
99 return "no-meta";
100 case blink::WebReferrerPolicyNoReferrerWhenDowngrade:
97 return "default"; 101 return "default";
98 case blink::WebReferrerPolicyOrigin: 102 case blink::WebReferrerPolicyOrigin:
99 return "origin"; 103 return "origin";
100 case blink::WebReferrerPolicyAlways: 104 case blink::WebReferrerPolicyAlways:
101 return "always"; 105 return "always";
102 case blink::WebReferrerPolicyNever: 106 case blink::WebReferrerPolicyNever:
103 return "never"; 107 return "never";
104 default: 108 default:
105 NOTREACHED(); 109 NOTREACHED();
106 return ""; 110 return "";
107 } 111 }
108 } 112 }
109 113
110 enum StartOnProtocol { START_ON_HTTP, START_ON_HTTPS, }; 114 enum StartOnProtocol { START_ON_HTTP, START_ON_HTTPS, };
111 115
112 enum LinkType { REGULAR_LINK, LINK_WITH_TARGET_BLANK, }; 116 enum LinkType { REGULAR_LINK, LINK_WITH_TARGET_BLANK, };
113 117
114 enum RedirectType { NO_REDIRECT, SERVER_REDIRECT, SERVER_REDIRECT_ON_HTTP, }; 118 enum RedirectType {
119 NO_REDIRECT,
120 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
121 SERVER_REDIRECT_FROM_HTTP_TO_HTTP,
122 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS
123 };
115 124
116 std::string RedirectTypeToString(RedirectType redirect) { 125 std::string RedirectTypeToString(RedirectType redirect) {
117 switch (redirect) { 126 switch (redirect) {
118 case NO_REDIRECT: 127 case NO_REDIRECT:
119 return "none"; 128 return "none";
120 case SERVER_REDIRECT: 129 case SERVER_REDIRECT_FROM_HTTPS_TO_HTTP:
121 return "https"; 130 return "https2http";
122 case SERVER_REDIRECT_ON_HTTP: 131 case SERVER_REDIRECT_FROM_HTTP_TO_HTTP:
123 return "http"; 132 return "http2http";
133 case SERVER_REDIRECT_FROM_HTTP_TO_HTTPS:
134 return "http2https";
124 } 135 }
125 NOTREACHED(); 136 NOTREACHED();
126 return ""; 137 return "";
127 } 138 }
128 139
129 // Navigates from a page with a given |referrer_policy| and checks that the 140 // Navigates from a page with a given |referrer_policy| and checks that the
130 // reported referrer matches the expectation. 141 // reported referrer matches the expectation.
131 // Parameters: 142 // Parameters:
132 // referrer_policy: The referrer policy to test. 143 // referrer_policy: The referrer policy to test.
133 // start_protocol: The protocol the test should start on. 144 // start_protocol: The protocol the test should start on.
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 START_ON_HTTPS, 360 START_ON_HTTPS,
350 REGULAR_LINK, 361 REGULAR_LINK,
351 NO_REDIRECT, 362 NO_REDIRECT,
352 NEW_FOREGROUND_TAB, 363 NEW_FOREGROUND_TAB,
353 blink::WebMouseEvent::ButtonRight, 364 blink::WebMouseEvent::ButtonRight,
354 EXPECT_ORIGIN_AS_REFERRER); 365 EXPECT_ORIGIN_AS_REFERRER);
355 } 366 }
356 367
357 // Content initiated navigation, from HTTP to HTTP via server redirect. 368 // Content initiated navigation, from HTTP to HTTP via server redirect.
358 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Redirect) { 369 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Redirect) {
359 RunReferrerTest(blink::WebReferrerPolicyOrigin, 370 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
360 START_ON_HTTP, 371 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB,
361 REGULAR_LINK, 372 blink::WebMouseEvent::ButtonNone, EXPECT_ORIGIN_AS_REFERRER);
362 SERVER_REDIRECT,
363 CURRENT_TAB,
364 blink::WebMouseEvent::ButtonNone,
365 EXPECT_ORIGIN_AS_REFERRER);
366 } 373 }
367 374
368 // Content initiated navigation, from HTTPS to HTTP via server redirect. 375 // Content initiated navigation, from HTTPS to HTTP via server redirect.
369 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsRedirect) { 376 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsRedirect) {
370 RunReferrerTest(blink::WebReferrerPolicyOrigin, 377 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
371 START_ON_HTTPS, 378 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB,
372 REGULAR_LINK, 379 blink::WebMouseEvent::ButtonNone, EXPECT_ORIGIN_AS_REFERRER);
373 SERVER_REDIRECT,
374 CURRENT_TAB,
375 blink::WebMouseEvent::ButtonNone,
376 EXPECT_ORIGIN_AS_REFERRER);
377 } 380 }
378 381
379 // User initiated navigation, from HTTP to HTTP via server redirect. 382 // User initiated navigation, from HTTP to HTTP via server redirect.
380 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, LeftClickRedirect) { 383 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, LeftClickRedirect) {
381 RunReferrerTest(blink::WebReferrerPolicyOrigin, 384 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
382 START_ON_HTTP, 385 SERVER_REDIRECT_FROM_HTTP_TO_HTTP, CURRENT_TAB,
383 REGULAR_LINK, 386 blink::WebMouseEvent::ButtonLeft, EXPECT_ORIGIN_AS_REFERRER);
384 SERVER_REDIRECT,
385 CURRENT_TAB,
386 blink::WebMouseEvent::ButtonLeft,
387 EXPECT_ORIGIN_AS_REFERRER);
388 } 387 }
389 388
390 // User initiated navigation, from HTTPS to HTTP via server redirect. 389 // User initiated navigation, from HTTPS to HTTP via server redirect.
391 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickRedirect) { 390 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickRedirect) {
392 RunReferrerTest(blink::WebReferrerPolicyOrigin, 391 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
393 START_ON_HTTPS, 392 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB,
394 REGULAR_LINK, 393 blink::WebMouseEvent::ButtonLeft, EXPECT_ORIGIN_AS_REFERRER);
395 SERVER_REDIRECT,
396 CURRENT_TAB,
397 blink::WebMouseEvent::ButtonLeft,
398 EXPECT_ORIGIN_AS_REFERRER);
399 } 394 }
400 395
401 // User initiated navigation, middle click, from HTTP to HTTP via server 396 // User initiated navigation, middle click, from HTTP to HTTP via server
402 // redirect. 397 // redirect.
403 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickRedirect) { 398 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickRedirect) {
404 RunReferrerTest(blink::WebReferrerPolicyOrigin, 399 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
405 START_ON_HTTP, 400 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, NEW_BACKGROUND_TAB,
406 REGULAR_LINK,
407 SERVER_REDIRECT,
408 NEW_BACKGROUND_TAB,
409 blink::WebMouseEvent::ButtonMiddle, 401 blink::WebMouseEvent::ButtonMiddle,
410 EXPECT_ORIGIN_AS_REFERRER); 402 EXPECT_ORIGIN_AS_REFERRER);
411 } 403 }
412 404
413 // User initiated navigation, middle click, from HTTPS to HTTP via server 405 // User initiated navigation, middle click, from HTTPS to HTTP via server
414 // redirect. 406 // redirect.
415 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickRedirect) { 407 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickRedirect) {
416 RunReferrerTest(blink::WebReferrerPolicyOrigin, 408 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
417 START_ON_HTTPS, 409 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, NEW_BACKGROUND_TAB,
418 REGULAR_LINK,
419 SERVER_REDIRECT,
420 NEW_BACKGROUND_TAB,
421 blink::WebMouseEvent::ButtonMiddle, 410 blink::WebMouseEvent::ButtonMiddle,
422 EXPECT_ORIGIN_AS_REFERRER); 411 EXPECT_ORIGIN_AS_REFERRER);
423 } 412 }
424 413
425 // User initiated navigation, target blank, from HTTP to HTTP via server 414 // User initiated navigation, target blank, from HTTP to HTTP via server
426 // redirect. 415 // redirect.
427 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankRedirect) { 416 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankRedirect) {
428 RunReferrerTest(blink::WebReferrerPolicyOrigin, 417 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP,
429 START_ON_HTTP, 418 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
430 LINK_WITH_TARGET_BLANK, 419 NEW_FOREGROUND_TAB, blink::WebMouseEvent::ButtonLeft,
431 SERVER_REDIRECT,
432 NEW_FOREGROUND_TAB,
433 blink::WebMouseEvent::ButtonLeft,
434 EXPECT_ORIGIN_AS_REFERRER); 420 EXPECT_ORIGIN_AS_REFERRER);
435 } 421 }
436 422
437 // User initiated navigation, target blank, from HTTPS to HTTP via server 423 // User initiated navigation, target blank, from HTTPS to HTTP via server
438 // redirect. 424 // redirect.
439 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankRedirect) { 425 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankRedirect) {
440 RunReferrerTest(blink::WebReferrerPolicyOrigin, 426 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS,
441 START_ON_HTTPS, 427 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
442 LINK_WITH_TARGET_BLANK, 428 NEW_FOREGROUND_TAB, blink::WebMouseEvent::ButtonLeft,
443 SERVER_REDIRECT,
444 NEW_FOREGROUND_TAB,
445 blink::WebMouseEvent::ButtonLeft,
446 EXPECT_ORIGIN_AS_REFERRER); 429 EXPECT_ORIGIN_AS_REFERRER);
447 } 430 }
448 431
449 // User initiated navigation, middle click, target blank, from HTTP to HTTP via 432 // User initiated navigation, middle click, target blank, from HTTP to HTTP via
450 // server redirect. 433 // server redirect.
451 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankRedirect) { 434 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankRedirect) {
452 RunReferrerTest(blink::WebReferrerPolicyOrigin, 435 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP,
453 START_ON_HTTP, 436 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
454 LINK_WITH_TARGET_BLANK, 437 NEW_FOREGROUND_TAB, blink::WebMouseEvent::ButtonMiddle,
455 SERVER_REDIRECT,
456 NEW_FOREGROUND_TAB,
457 blink::WebMouseEvent::ButtonMiddle,
458 EXPECT_ORIGIN_AS_REFERRER); 438 EXPECT_ORIGIN_AS_REFERRER);
459 } 439 }
460 440
461 // User initiated navigation, middle click, target blank, from HTTPS to HTTP 441 // User initiated navigation, middle click, target blank, from HTTPS to HTTP
462 // via server redirect. 442 // via server redirect.
463 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, 443 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest,
464 HttpsMiddleClickTargetBlankRedirect) { 444 HttpsMiddleClickTargetBlankRedirect) {
465 RunReferrerTest(blink::WebReferrerPolicyOrigin, 445 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS,
466 START_ON_HTTPS, 446 LINK_WITH_TARGET_BLANK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP,
467 LINK_WITH_TARGET_BLANK, 447 NEW_FOREGROUND_TAB, blink::WebMouseEvent::ButtonMiddle,
468 SERVER_REDIRECT,
469 NEW_FOREGROUND_TAB,
470 blink::WebMouseEvent::ButtonMiddle,
471 EXPECT_ORIGIN_AS_REFERRER); 448 EXPECT_ORIGIN_AS_REFERRER);
472 } 449 }
473 450
474 // Context menu, from HTTP to HTTP via server redirect. 451 // Context menu, from HTTP to HTTP via server redirect.
475 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, ContextMenuRedirect) { 452 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, ContextMenuRedirect) {
476 ContextMenuNotificationObserver context_menu_observer( 453 ContextMenuNotificationObserver context_menu_observer(
477 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); 454 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB);
478 RunReferrerTest(blink::WebReferrerPolicyOrigin, 455 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTP, REGULAR_LINK,
479 START_ON_HTTP, 456 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, NEW_FOREGROUND_TAB,
480 REGULAR_LINK, 457 blink::WebMouseEvent::ButtonRight, EXPECT_ORIGIN_AS_REFERRER);
481 SERVER_REDIRECT,
482 NEW_FOREGROUND_TAB,
483 blink::WebMouseEvent::ButtonRight,
484 EXPECT_ORIGIN_AS_REFERRER);
485 } 458 }
486 459
487 // Context menu, from HTTPS to HTTP via server redirect. 460 // Context menu, from HTTPS to HTTP via server redirect.
488 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsContextMenuRedirect) { 461 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsContextMenuRedirect) {
489 ContextMenuNotificationObserver context_menu_observer( 462 ContextMenuNotificationObserver context_menu_observer(
490 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); 463 IDC_CONTENT_CONTEXT_OPENLINKNEWTAB);
491 RunReferrerTest(blink::WebReferrerPolicyOrigin, 464 RunReferrerTest(blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
492 START_ON_HTTPS, 465 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, NEW_FOREGROUND_TAB,
493 REGULAR_LINK, 466 blink::WebMouseEvent::ButtonRight, EXPECT_ORIGIN_AS_REFERRER);
494 SERVER_REDIRECT,
495 NEW_FOREGROUND_TAB,
496 blink::WebMouseEvent::ButtonRight,
497 EXPECT_ORIGIN_AS_REFERRER);
498 } 467 }
499 468
500 // Tests history navigation actions: Navigate from A to B with a referrer 469 // Tests history navigation actions: Navigate from A to B with a referrer
501 // policy, then navigate to C, back to B, and reload. 470 // policy, then navigate to C, back to B, and reload.
502 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, History) { 471 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, History) {
503 // Navigate from A to B. 472 // Navigate from A to B.
504 GURL start_url = RunReferrerTest(blink::WebReferrerPolicyOrigin, 473 GURL start_url = RunReferrerTest(
505 START_ON_HTTPS, 474 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
506 REGULAR_LINK, 475 SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, CURRENT_TAB,
507 SERVER_REDIRECT, 476 blink::WebMouseEvent::ButtonLeft, EXPECT_ORIGIN_AS_REFERRER);
508 CURRENT_TAB,
509 blink::WebMouseEvent::ButtonLeft,
510 EXPECT_ORIGIN_AS_REFERRER);
511 477
512 // Navigate to C. 478 // Navigate to C.
513 ui_test_utils::NavigateToURL(browser(), test_server_->GetURL(std::string())); 479 ui_test_utils::NavigateToURL(browser(), test_server_->GetURL(std::string()));
514 480
515 base::string16 expected_title = 481 base::string16 expected_title =
516 GetExpectedTitle(start_url, EXPECT_ORIGIN_AS_REFERRER); 482 GetExpectedTitle(start_url, EXPECT_ORIGIN_AS_REFERRER);
517 content::WebContents* tab = 483 content::WebContents* tab =
518 browser()->tab_strip_model()->GetActiveWebContents(); 484 browser()->tab_strip_model()->GetActiveWebContents();
519 scoped_ptr<content::TitleWatcher> title_watcher( 485 scoped_ptr<content::TitleWatcher> title_watcher(
520 new content::TitleWatcher(tab, expected_title)); 486 new content::TitleWatcher(tab, expected_title));
(...skipping 16 matching lines...) Expand all
537 AddAllPossibleTitles(start_url, title_watcher.get()); 503 AddAllPossibleTitles(start_url, title_watcher.get());
538 504
539 // Shift-reload to B. 505 // Shift-reload to B.
540 chrome::ReloadIgnoringCache(browser(), CURRENT_TAB); 506 chrome::ReloadIgnoringCache(browser(), CURRENT_TAB);
541 EXPECT_EQ(expected_title, title_watcher->WaitAndGetTitle()); 507 EXPECT_EQ(expected_title, title_watcher->WaitAndGetTitle());
542 } 508 }
543 509
544 // Tests that reloading a site for "request tablet version" correctly clears 510 // Tests that reloading a site for "request tablet version" correctly clears
545 // the referrer. 511 // the referrer.
546 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, RequestTabletSite) { 512 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, RequestTabletSite) {
547 GURL start_url = RunReferrerTest(blink::WebReferrerPolicyOrigin, 513 GURL start_url = RunReferrerTest(
548 START_ON_HTTPS, 514 blink::WebReferrerPolicyOrigin, START_ON_HTTPS, REGULAR_LINK,
549 REGULAR_LINK, 515 SERVER_REDIRECT_FROM_HTTP_TO_HTTP, CURRENT_TAB,
550 SERVER_REDIRECT_ON_HTTP, 516 blink::WebMouseEvent::ButtonLeft, EXPECT_ORIGIN_AS_REFERRER);
551 CURRENT_TAB,
552 blink::WebMouseEvent::ButtonLeft,
553 EXPECT_ORIGIN_AS_REFERRER);
554 517
555 base::string16 expected_title = 518 base::string16 expected_title =
556 GetExpectedTitle(start_url, EXPECT_EMPTY_REFERRER); 519 GetExpectedTitle(start_url, EXPECT_EMPTY_REFERRER);
557 content::WebContents* tab = 520 content::WebContents* tab =
558 browser()->tab_strip_model()->GetActiveWebContents(); 521 browser()->tab_strip_model()->GetActiveWebContents();
559 content::TitleWatcher title_watcher(tab, expected_title); 522 content::TitleWatcher title_watcher(tab, expected_title);
560 523
561 // Watch for all possible outcomes to avoid timeouts if something breaks. 524 // Watch for all possible outcomes to avoid timeouts if something breaks.
562 AddAllPossibleTitles(start_url, &title_watcher); 525 AddAllPossibleTitles(start_url, &title_watcher);
563 526
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 574
612 // Verify that the full url of the iframe was used as referrer. 575 // Verify that the full url of the iframe was used as referrer.
613 EXPECT_TRUE(content::ExecuteScriptAndExtractString( 576 EXPECT_TRUE(content::ExecuteScriptAndExtractString(
614 frame, 577 frame,
615 "window.domAutomationController.send(document.title)", 578 "window.domAutomationController.send(document.title)",
616 &title)); 579 &title));
617 EXPECT_EQ("Referrer is " + 580 EXPECT_EQ("Referrer is " +
618 test_server_->GetURL("files/referrer-policy-log.html").spec(), 581 test_server_->GetURL("files/referrer-policy-log.html").spec(),
619 title); 582 title);
620 } 583 }
584
585 // Reduced 'referer' granularity flag tests.
586
587 // User initiated navigation, from HTTP to HTTPS via server redirect.
588 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpLeftClickRedirectDefaultNoFlag) {
589 RunReferrerTest(blink::WebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK,
590 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, CURRENT_TAB,
591 blink::WebMouseEvent::ButtonLeft, EXPECT_FULL_REFERRER);
592 }
593
594 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpLeftClickRedirectDefaultFlag) {
595 CommandLine::ForCurrentProcess()->AppendSwitch(
596 switches::kReducedReferrerGranularity);
597 RunReferrerTest(blink::WebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK,
598 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, CURRENT_TAB,
599 blink::WebMouseEvent::ButtonLeft, EXPECT_ORIGIN_AS_REFERRER);
600 }
OLDNEW
« no previous file with comments | « build/android/pylib/gtest/filter/net_unittests_disabled ('k') | chrome/test/data/referrer_policy/referrer-policy-start.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698