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

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc

Issue 2435933003: Further refactoring of SBER1 preference usage. (Closed)
Patch Set: Order functions alphabetically. Created 4 years, 2 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 <list> 5 #include <list>
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "chrome/browser/interstitials/chrome_controller_client.h" 8 #include "chrome/browser/interstitials/chrome_controller_client.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h" 10 #include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h"
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 UserResponse user_response_; 224 UserResponse user_response_;
225 TestSafeBrowsingBlockingPageFactory factory_; 225 TestSafeBrowsingBlockingPageFactory factory_;
226 }; 226 };
227 227
228 228
229 // Tests showing a blocking page for a malware page and not proceeding. 229 // Tests showing a blocking page for a malware page and not proceeding.
230 TEST_F(SafeBrowsingBlockingPageTest, MalwarePageDontProceed) { 230 TEST_F(SafeBrowsingBlockingPageTest, MalwarePageDontProceed) {
231 // Enable malware details. 231 // Enable malware details.
232 Profile* profile = Profile::FromBrowserContext( 232 Profile* profile = Profile::FromBrowserContext(
233 web_contents()->GetBrowserContext()); 233 web_contents()->GetBrowserContext());
234 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 234 SetExtendedReportingPref(profile->GetPrefs(), true);
235 235
236 // Start a load. 236 // Start a load.
237 controller().LoadURL(GURL(kBadURL), content::Referrer(), 237 controller().LoadURL(GURL(kBadURL), content::Referrer(),
238 ui::PAGE_TRANSITION_TYPED, std::string()); 238 ui::PAGE_TRANSITION_TYPED, std::string());
239 239
240 240
241 // Simulate the load causing a safe browsing interstitial to be shown. 241 // Simulate the load causing a safe browsing interstitial to be shown.
242 ShowInterstitial(false, kBadURL); 242 ShowInterstitial(false, kBadURL);
243 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 243 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
244 ASSERT_TRUE(sb_interstitial); 244 ASSERT_TRUE(sb_interstitial);
(...skipping 13 matching lines...) Expand all
258 // A report should have been sent. 258 // A report should have been sent.
259 EXPECT_EQ(1u, ui_manager_->GetThreatDetails()->size()); 259 EXPECT_EQ(1u, ui_manager_->GetThreatDetails()->size());
260 ui_manager_->GetThreatDetails()->clear(); 260 ui_manager_->GetThreatDetails()->clear();
261 } 261 }
262 262
263 // Tests showing a blocking page for a malware page and then proceeding. 263 // Tests showing a blocking page for a malware page and then proceeding.
264 TEST_F(SafeBrowsingBlockingPageTest, MalwarePageProceed) { 264 TEST_F(SafeBrowsingBlockingPageTest, MalwarePageProceed) {
265 // Enable malware reports. 265 // Enable malware reports.
266 Profile* profile = Profile::FromBrowserContext( 266 Profile* profile = Profile::FromBrowserContext(
267 web_contents()->GetBrowserContext()); 267 web_contents()->GetBrowserContext());
268 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 268 SetExtendedReportingPref(profile->GetPrefs(), true);
269 269
270 // Start a load. 270 // Start a load.
271 controller().LoadURL(GURL(kBadURL), content::Referrer(), 271 controller().LoadURL(GURL(kBadURL), content::Referrer(),
272 ui::PAGE_TRANSITION_TYPED, std::string()); 272 ui::PAGE_TRANSITION_TYPED, std::string());
273 int pending_id = controller().GetPendingEntry()->GetUniqueID(); 273 int pending_id = controller().GetPendingEntry()->GetUniqueID();
274 274
275 // Simulate the load causing a safe browsing interstitial to be shown. 275 // Simulate the load causing a safe browsing interstitial to be shown.
276 ShowInterstitial(false, kBadURL); 276 ShowInterstitial(false, kBadURL);
277 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 277 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
278 ASSERT_TRUE(sb_interstitial); 278 ASSERT_TRUE(sb_interstitial);
(...skipping 12 matching lines...) Expand all
291 EXPECT_EQ(1u, ui_manager_->GetThreatDetails()->size()); 291 EXPECT_EQ(1u, ui_manager_->GetThreatDetails()->size());
292 ui_manager_->GetThreatDetails()->clear(); 292 ui_manager_->GetThreatDetails()->clear();
293 } 293 }
294 294
295 // Tests showing a blocking page for a page that contains malware subresources 295 // Tests showing a blocking page for a page that contains malware subresources
296 // and not proceeding. 296 // and not proceeding.
297 TEST_F(SafeBrowsingBlockingPageTest, PageWithMalwareResourceDontProceed) { 297 TEST_F(SafeBrowsingBlockingPageTest, PageWithMalwareResourceDontProceed) {
298 // Enable malware reports. 298 // Enable malware reports.
299 Profile* profile = Profile::FromBrowserContext( 299 Profile* profile = Profile::FromBrowserContext(
300 web_contents()->GetBrowserContext()); 300 web_contents()->GetBrowserContext());
301 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 301 SetExtendedReportingPref(profile->GetPrefs(), true);
302 302
303 // Navigate somewhere. 303 // Navigate somewhere.
304 Navigate(kGoogleURL, 0, true); 304 Navigate(kGoogleURL, 0, true);
305 305
306 // Navigate somewhere else. 306 // Navigate somewhere else.
307 Navigate(kGoodURL, 0, true); 307 Navigate(kGoodURL, 0, true);
308 308
309 // Simulate that page loading a bad-resource triggering an interstitial. 309 // Simulate that page loading a bad-resource triggering an interstitial.
310 ShowInterstitial(true, kBadURL); 310 ShowInterstitial(true, kBadURL);
311 311
(...skipping 14 matching lines...) Expand all
326 EXPECT_EQ(1u, ui_manager_->GetThreatDetails()->size()); 326 EXPECT_EQ(1u, ui_manager_->GetThreatDetails()->size());
327 ui_manager_->GetThreatDetails()->clear(); 327 ui_manager_->GetThreatDetails()->clear();
328 } 328 }
329 329
330 // Tests showing a blocking page for a page that contains malware subresources 330 // Tests showing a blocking page for a page that contains malware subresources
331 // and proceeding. 331 // and proceeding.
332 TEST_F(SafeBrowsingBlockingPageTest, PageWithMalwareResourceProceed) { 332 TEST_F(SafeBrowsingBlockingPageTest, PageWithMalwareResourceProceed) {
333 // Enable malware reports. 333 // Enable malware reports.
334 Profile* profile = Profile::FromBrowserContext( 334 Profile* profile = Profile::FromBrowserContext(
335 web_contents()->GetBrowserContext()); 335 web_contents()->GetBrowserContext());
336 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 336 SetExtendedReportingPref(profile->GetPrefs(), true);
337 337
338 // Navigate somewhere. 338 // Navigate somewhere.
339 Navigate(kGoodURL, 0, true); 339 Navigate(kGoodURL, 0, true);
340 340
341 // Simulate that page loading a bad-resource triggering an interstitial. 341 // Simulate that page loading a bad-resource triggering an interstitial.
342 ShowInterstitial(true, kBadURL); 342 ShowInterstitial(true, kBadURL);
343 343
344 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 344 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
345 ASSERT_TRUE(sb_interstitial); 345 ASSERT_TRUE(sb_interstitial);
346 346
(...skipping 12 matching lines...) Expand all
359 } 359 }
360 360
361 // Tests showing a blocking page for a page that contains multiple malware 361 // Tests showing a blocking page for a page that contains multiple malware
362 // subresources and not proceeding. This just tests that the extra malware 362 // subresources and not proceeding. This just tests that the extra malware
363 // subresources (which trigger queued interstitial pages) do not break anything. 363 // subresources (which trigger queued interstitial pages) do not break anything.
364 TEST_F(SafeBrowsingBlockingPageTest, 364 TEST_F(SafeBrowsingBlockingPageTest,
365 PageWithMultipleMalwareResourceDontProceed) { 365 PageWithMultipleMalwareResourceDontProceed) {
366 // Enable malware reports. 366 // Enable malware reports.
367 Profile* profile = Profile::FromBrowserContext( 367 Profile* profile = Profile::FromBrowserContext(
368 web_contents()->GetBrowserContext()); 368 web_contents()->GetBrowserContext());
369 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 369 SetExtendedReportingPref(profile->GetPrefs(), true);
370 370
371 // Navigate somewhere. 371 // Navigate somewhere.
372 Navigate(kGoogleURL, 0, true); 372 Navigate(kGoogleURL, 0, true);
373 373
374 // Navigate somewhere else. 374 // Navigate somewhere else.
375 Navigate(kGoodURL, 0, true); 375 Navigate(kGoodURL, 0, true);
376 376
377 // Simulate that page loading a bad-resource triggering an interstitial. 377 // Simulate that page loading a bad-resource triggering an interstitial.
378 ShowInterstitial(true, kBadURL); 378 ShowInterstitial(true, kBadURL);
379 379
(...skipping 20 matching lines...) Expand all
400 ui_manager_->GetThreatDetails()->clear(); 400 ui_manager_->GetThreatDetails()->clear();
401 } 401 }
402 402
403 // Tests showing a blocking page for a page that contains multiple malware 403 // Tests showing a blocking page for a page that contains multiple malware
404 // subresources and proceeding through the first interstitial, but not the next. 404 // subresources and proceeding through the first interstitial, but not the next.
405 TEST_F(SafeBrowsingBlockingPageTest, 405 TEST_F(SafeBrowsingBlockingPageTest,
406 PageWithMultipleMalwareResourceProceedThenDontProceed) { 406 PageWithMultipleMalwareResourceProceedThenDontProceed) {
407 // Enable malware reports. 407 // Enable malware reports.
408 Profile* profile = Profile::FromBrowserContext( 408 Profile* profile = Profile::FromBrowserContext(
409 web_contents()->GetBrowserContext()); 409 web_contents()->GetBrowserContext());
410 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 410 SetExtendedReportingPref(profile->GetPrefs(), true);
411 411
412 // Navigate somewhere. 412 // Navigate somewhere.
413 Navigate(kGoogleURL, 0, true); 413 Navigate(kGoogleURL, 0, true);
414 414
415 // Navigate somewhere else. 415 // Navigate somewhere else.
416 Navigate(kGoodURL, 0, true); 416 Navigate(kGoodURL, 0, true);
417 417
418 // Simulate that page loading a bad-resource triggering an interstitial. 418 // Simulate that page loading a bad-resource triggering an interstitial.
419 ShowInterstitial(true, kBadURL); 419 ShowInterstitial(true, kBadURL);
420 420
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 EXPECT_EQ(0u, ui_manager_->GetThreatDetails()->size()); 456 EXPECT_EQ(0u, ui_manager_->GetThreatDetails()->size());
457 ui_manager_->GetThreatDetails()->clear(); 457 ui_manager_->GetThreatDetails()->clear();
458 } 458 }
459 459
460 // Tests showing a blocking page for a page that contains multiple malware 460 // Tests showing a blocking page for a page that contains multiple malware
461 // subresources and proceeding through the multiple interstitials. 461 // subresources and proceeding through the multiple interstitials.
462 TEST_F(SafeBrowsingBlockingPageTest, PageWithMultipleMalwareResourceProceed) { 462 TEST_F(SafeBrowsingBlockingPageTest, PageWithMultipleMalwareResourceProceed) {
463 // Enable malware reports. 463 // Enable malware reports.
464 Profile* profile = Profile::FromBrowserContext( 464 Profile* profile = Profile::FromBrowserContext(
465 web_contents()->GetBrowserContext()); 465 web_contents()->GetBrowserContext());
466 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 466 SetExtendedReportingPref(profile->GetPrefs(), true);
467 467
468 // Navigate somewhere else. 468 // Navigate somewhere else.
469 Navigate(kGoodURL, 0, true); 469 Navigate(kGoodURL, 0, true);
470 470
471 // Simulate that page loading a bad-resource triggering an interstitial. 471 // Simulate that page loading a bad-resource triggering an interstitial.
472 ShowInterstitial(true, kBadURL); 472 ShowInterstitial(true, kBadURL);
473 473
474 // More bad resources loading causing more interstitials. The new 474 // More bad resources loading causing more interstitials. The new
475 // interstitials should be queued. 475 // interstitials should be queued.
476 ShowInterstitial(true, kBadURL2); 476 ShowInterstitial(true, kBadURL2);
(...skipping 30 matching lines...) Expand all
507 EXPECT_EQ(0u, ui_manager_->GetThreatDetails()->size()); 507 EXPECT_EQ(0u, ui_manager_->GetThreatDetails()->size());
508 ui_manager_->GetThreatDetails()->clear(); 508 ui_manager_->GetThreatDetails()->clear();
509 } 509 }
510 510
511 // Tests showing a blocking page then navigating back and forth to make sure the 511 // Tests showing a blocking page then navigating back and forth to make sure the
512 // controller entries are OK. http://crbug.com/17627 512 // controller entries are OK. http://crbug.com/17627
513 TEST_F(SafeBrowsingBlockingPageTest, NavigatingBackAndForth) { 513 TEST_F(SafeBrowsingBlockingPageTest, NavigatingBackAndForth) {
514 // Enable malware reports. 514 // Enable malware reports.
515 Profile* profile = Profile::FromBrowserContext( 515 Profile* profile = Profile::FromBrowserContext(
516 web_contents()->GetBrowserContext()); 516 web_contents()->GetBrowserContext());
517 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 517 SetExtendedReportingPref(profile->GetPrefs(), true);
518 518
519 // Navigate somewhere. 519 // Navigate somewhere.
520 Navigate(kGoodURL, 0, true); 520 Navigate(kGoodURL, 0, true);
521 521
522 // Now navigate to a bad page triggerring an interstitial. 522 // Now navigate to a bad page triggerring an interstitial.
523 controller().LoadURL(GURL(kBadURL), content::Referrer(), 523 controller().LoadURL(GURL(kBadURL), content::Referrer(),
524 ui::PAGE_TRANSITION_TYPED, std::string()); 524 ui::PAGE_TRANSITION_TYPED, std::string());
525 int pending_id = controller().GetPendingEntry()->GetUniqueID(); 525 int pending_id = controller().GetPendingEntry()->GetUniqueID();
526 ShowInterstitial(false, kBadURL); 526 ShowInterstitial(false, kBadURL);
527 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 527 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
(...skipping 30 matching lines...) Expand all
558 EXPECT_EQ(2u, ui_manager_->GetThreatDetails()->size()); 558 EXPECT_EQ(2u, ui_manager_->GetThreatDetails()->size());
559 ui_manager_->GetThreatDetails()->clear(); 559 ui_manager_->GetThreatDetails()->clear();
560 } 560 }
561 561
562 // Tests that calling "don't proceed" after "proceed" has been called doesn't 562 // Tests that calling "don't proceed" after "proceed" has been called doesn't
563 // cause problems. http://crbug.com/30079 563 // cause problems. http://crbug.com/30079
564 TEST_F(SafeBrowsingBlockingPageTest, ProceedThenDontProceed) { 564 TEST_F(SafeBrowsingBlockingPageTest, ProceedThenDontProceed) {
565 // Enable malware reports. 565 // Enable malware reports.
566 Profile* profile = Profile::FromBrowserContext( 566 Profile* profile = Profile::FromBrowserContext(
567 web_contents()->GetBrowserContext()); 567 web_contents()->GetBrowserContext());
568 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 568 SetExtendedReportingPref(profile->GetPrefs(), true);
569 569
570 // Start a load. 570 // Start a load.
571 controller().LoadURL(GURL(kBadURL), content::Referrer(), 571 controller().LoadURL(GURL(kBadURL), content::Referrer(),
572 ui::PAGE_TRANSITION_TYPED, std::string()); 572 ui::PAGE_TRANSITION_TYPED, std::string());
573 573
574 // Simulate the load causing a safe browsing interstitial to be shown. 574 // Simulate the load causing a safe browsing interstitial to be shown.
575 ShowInterstitial(false, kBadURL); 575 ShowInterstitial(false, kBadURL);
576 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 576 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
577 ASSERT_TRUE(sb_interstitial); 577 ASSERT_TRUE(sb_interstitial);
578 578
(...skipping 14 matching lines...) Expand all
593 // Only one report should have been sent. 593 // Only one report should have been sent.
594 EXPECT_EQ(1u, ui_manager_->GetThreatDetails()->size()); 594 EXPECT_EQ(1u, ui_manager_->GetThreatDetails()->size());
595 ui_manager_->GetThreatDetails()->clear(); 595 ui_manager_->GetThreatDetails()->clear();
596 } 596 }
597 597
598 // Tests showing a blocking page for a malware page with reports disabled. 598 // Tests showing a blocking page for a malware page with reports disabled.
599 TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsDisabled) { 599 TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsDisabled) {
600 // Disable malware reports. 600 // Disable malware reports.
601 Profile* profile = Profile::FromBrowserContext( 601 Profile* profile = Profile::FromBrowserContext(
602 web_contents()->GetBrowserContext()); 602 web_contents()->GetBrowserContext());
603 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), false); 603 SetExtendedReportingPref(profile->GetPrefs(), false);
604 604
605 // Start a load. 605 // Start a load.
606 controller().LoadURL(GURL(kBadURL), content::Referrer(), 606 controller().LoadURL(GURL(kBadURL), content::Referrer(),
607 ui::PAGE_TRANSITION_TYPED, std::string()); 607 ui::PAGE_TRANSITION_TYPED, std::string());
608 608
609 // Simulate the load causing a safe browsing interstitial to be shown. 609 // Simulate the load causing a safe browsing interstitial to be shown.
610 ShowInterstitial(false, kBadURL); 610 ShowInterstitial(false, kBadURL);
611 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 611 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
612 ASSERT_TRUE(sb_interstitial); 612 ASSERT_TRUE(sb_interstitial);
613 EXPECT_TRUE(sb_interstitial->CanShowThreatDetailsOption()); 613 EXPECT_TRUE(sb_interstitial->CanShowThreatDetailsOption());
(...skipping 13 matching lines...) Expand all
627 // No report should have been sent. 627 // No report should have been sent.
628 EXPECT_EQ(0u, ui_manager_->GetThreatDetails()->size()); 628 EXPECT_EQ(0u, ui_manager_->GetThreatDetails()->size());
629 ui_manager_->GetThreatDetails()->clear(); 629 ui_manager_->GetThreatDetails()->clear();
630 } 630 }
631 631
632 // Test that toggling the checkbox has the anticipated effects. 632 // Test that toggling the checkbox has the anticipated effects.
633 TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsToggling) { 633 TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsToggling) {
634 // Disable malware reports. 634 // Disable malware reports.
635 Profile* profile = Profile::FromBrowserContext( 635 Profile* profile = Profile::FromBrowserContext(
636 web_contents()->GetBrowserContext()); 636 web_contents()->GetBrowserContext());
637 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), false); 637 SetExtendedReportingPref(profile->GetPrefs(), false);
638 638
639 // Start a load. 639 // Start a load.
640 controller().LoadURL(GURL(kBadURL), content::Referrer(), 640 controller().LoadURL(GURL(kBadURL), content::Referrer(),
641 ui::PAGE_TRANSITION_TYPED, std::string()); 641 ui::PAGE_TRANSITION_TYPED, std::string());
642 642
643 // Simulate the load causing a safe browsing interstitial to be shown. 643 // Simulate the load causing a safe browsing interstitial to be shown.
644 ShowInterstitial(false, kBadURL); 644 ShowInterstitial(false, kBadURL);
645 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 645 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
646 ASSERT_TRUE(sb_interstitial); 646 ASSERT_TRUE(sb_interstitial);
647 EXPECT_TRUE(sb_interstitial->CanShowThreatDetailsOption()); 647 EXPECT_TRUE(sb_interstitial->CanShowThreatDetailsOption());
(...skipping 12 matching lines...) Expand all
660 660
661 EXPECT_FALSE(IsExtendedReportingEnabled(*profile->GetPrefs())); 661 EXPECT_FALSE(IsExtendedReportingEnabled(*profile->GetPrefs()));
662 } 662 }
663 663
664 // Test that extended reporting option is not shown on blocking an HTTPS main 664 // Test that extended reporting option is not shown on blocking an HTTPS main
665 // page, and no report is sent. 665 // page, and no report is sent.
666 TEST_F(SafeBrowsingBlockingPageTest, ExtendedReportingNotShownOnSecurePage) { 666 TEST_F(SafeBrowsingBlockingPageTest, ExtendedReportingNotShownOnSecurePage) {
667 // Enable malware details. 667 // Enable malware details.
668 Profile* profile = Profile::FromBrowserContext( 668 Profile* profile = Profile::FromBrowserContext(
669 web_contents()->GetBrowserContext()); 669 web_contents()->GetBrowserContext());
670 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 670 SetExtendedReportingPref(profile->GetPrefs(), true);
671 671
672 // Start a load. 672 // Start a load.
673 controller().LoadURL(GURL(kBadHTTPSURL), content::Referrer(), 673 controller().LoadURL(GURL(kBadHTTPSURL), content::Referrer(),
674 ui::PAGE_TRANSITION_TYPED, std::string()); 674 ui::PAGE_TRANSITION_TYPED, std::string());
675 675
676 // Simulate the load causing a safe browsing interstitial to be shown. 676 // Simulate the load causing a safe browsing interstitial to be shown.
677 ShowInterstitial(false, kBadHTTPSURL); 677 ShowInterstitial(false, kBadHTTPSURL);
678 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 678 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
679 ASSERT_TRUE(sb_interstitial); 679 ASSERT_TRUE(sb_interstitial);
680 EXPECT_FALSE(sb_interstitial->CanShowThreatDetailsOption()); 680 EXPECT_FALSE(sb_interstitial->CanShowThreatDetailsOption());
(...skipping 12 matching lines...) Expand all
693 ui_manager_->GetThreatDetails()->clear(); 693 ui_manager_->GetThreatDetails()->clear();
694 } 694 }
695 695
696 // Test that extended reporting option is not shown on blocking an HTTPS 696 // Test that extended reporting option is not shown on blocking an HTTPS
697 // subresource on an HTTPS page, and no report is sent. 697 // subresource on an HTTPS page, and no report is sent.
698 TEST_F(SafeBrowsingBlockingPageTest, 698 TEST_F(SafeBrowsingBlockingPageTest,
699 ExtendedReportingNotShownOnSecurePageWithSecureSubresource) { 699 ExtendedReportingNotShownOnSecurePageWithSecureSubresource) {
700 // Enable malware details. 700 // Enable malware details.
701 Profile* profile = Profile::FromBrowserContext( 701 Profile* profile = Profile::FromBrowserContext(
702 web_contents()->GetBrowserContext()); 702 web_contents()->GetBrowserContext());
703 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 703 SetExtendedReportingPref(profile->GetPrefs(), true);
704 704
705 // Commit a load. 705 // Commit a load.
706 content::WebContentsTester::For(web_contents()) 706 content::WebContentsTester::For(web_contents())
707 ->NavigateAndCommit(GURL(kGoodHTTPSURL)); 707 ->NavigateAndCommit(GURL(kGoodHTTPSURL));
708 708
709 // Simulate a subresource load causing a safe browsing interstitial to be 709 // Simulate a subresource load causing a safe browsing interstitial to be
710 // shown. 710 // shown.
711 ShowInterstitial(true, kBadHTTPSURL); 711 ShowInterstitial(true, kBadHTTPSURL);
712 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 712 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
713 ASSERT_TRUE(sb_interstitial); 713 ASSERT_TRUE(sb_interstitial);
(...skipping 13 matching lines...) Expand all
727 ui_manager_->GetThreatDetails()->clear(); 727 ui_manager_->GetThreatDetails()->clear();
728 } 728 }
729 729
730 // Test that extended reporting option is not shown on blocking an HTTP 730 // Test that extended reporting option is not shown on blocking an HTTP
731 // subresource on an HTTPS page, and no report is sent. 731 // subresource on an HTTPS page, and no report is sent.
732 TEST_F(SafeBrowsingBlockingPageTest, 732 TEST_F(SafeBrowsingBlockingPageTest,
733 ExtendedReportingNotShownOnSecurePageWithInsecureSubresource) { 733 ExtendedReportingNotShownOnSecurePageWithInsecureSubresource) {
734 // Enable malware details. 734 // Enable malware details.
735 Profile* profile = Profile::FromBrowserContext( 735 Profile* profile = Profile::FromBrowserContext(
736 web_contents()->GetBrowserContext()); 736 web_contents()->GetBrowserContext());
737 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 737 SetExtendedReportingPref(profile->GetPrefs(), true);
738 738
739 // Commit a load. 739 // Commit a load.
740 content::WebContentsTester::For(web_contents()) 740 content::WebContentsTester::For(web_contents())
741 ->NavigateAndCommit(GURL(kGoodHTTPSURL)); 741 ->NavigateAndCommit(GURL(kGoodHTTPSURL));
742 742
743 // Simulate a subresource load causing a safe browsing interstitial to be 743 // Simulate a subresource load causing a safe browsing interstitial to be
744 // shown. 744 // shown.
745 ShowInterstitial(true, kBadURL); 745 ShowInterstitial(true, kBadURL);
746 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 746 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
747 ASSERT_TRUE(sb_interstitial); 747 ASSERT_TRUE(sb_interstitial);
(...skipping 13 matching lines...) Expand all
761 ui_manager_->GetThreatDetails()->clear(); 761 ui_manager_->GetThreatDetails()->clear();
762 } 762 }
763 763
764 // Test that extended reporting option is shown on blocking an HTTPS 764 // Test that extended reporting option is shown on blocking an HTTPS
765 // subresource on an HTTP page. 765 // subresource on an HTTP page.
766 TEST_F(SafeBrowsingBlockingPageTest, 766 TEST_F(SafeBrowsingBlockingPageTest,
767 ExtendedReportingOnInsecurePageWithSecureSubresource) { 767 ExtendedReportingOnInsecurePageWithSecureSubresource) {
768 // Enable malware details. 768 // Enable malware details.
769 Profile* profile = Profile::FromBrowserContext( 769 Profile* profile = Profile::FromBrowserContext(
770 web_contents()->GetBrowserContext()); 770 web_contents()->GetBrowserContext());
771 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 771 SetExtendedReportingPref(profile->GetPrefs(), true);
772 772
773 // Commit a load. 773 // Commit a load.
774 content::WebContentsTester::For(web_contents()) 774 content::WebContentsTester::For(web_contents())
775 ->NavigateAndCommit(GURL(kGoodURL)); 775 ->NavigateAndCommit(GURL(kGoodURL));
776 776
777 // Simulate a subresource load causing a safe browsing interstitial to be 777 // Simulate a subresource load causing a safe browsing interstitial to be
778 // shown. 778 // shown.
779 ShowInterstitial(true, kBadHTTPSURL); 779 ShowInterstitial(true, kBadHTTPSURL);
780 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 780 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
781 ASSERT_TRUE(sb_interstitial); 781 ASSERT_TRUE(sb_interstitial);
(...skipping 14 matching lines...) Expand all
796 } 796 }
797 797
798 // Test that extended reporting option is not shown on blocking an HTTPS 798 // Test that extended reporting option is not shown on blocking an HTTPS
799 // subresource on an HTTPS page while there is a pending load for an HTTP page, 799 // subresource on an HTTPS page while there is a pending load for an HTTP page,
800 // and no report is sent. 800 // and no report is sent.
801 TEST_F(SafeBrowsingBlockingPageTest, 801 TEST_F(SafeBrowsingBlockingPageTest,
802 ExtendedReportingNotShownOnSecurePageWithPendingInsecureLoad) { 802 ExtendedReportingNotShownOnSecurePageWithPendingInsecureLoad) {
803 // Enable malware details. 803 // Enable malware details.
804 Profile* profile = Profile::FromBrowserContext( 804 Profile* profile = Profile::FromBrowserContext(
805 web_contents()->GetBrowserContext()); 805 web_contents()->GetBrowserContext());
806 profile->GetPrefs()->SetBoolean(GetExtendedReportingPrefName(), true); 806 SetExtendedReportingPref(profile->GetPrefs(), true);
807 807
808 // Commit a load. 808 // Commit a load.
809 content::WebContentsTester::For(web_contents()) 809 content::WebContentsTester::For(web_contents())
810 ->NavigateAndCommit(GURL(kGoodHTTPSURL)); 810 ->NavigateAndCommit(GURL(kGoodHTTPSURL));
811 811
812 GURL pending_url("http://slow.example.com"); 812 GURL pending_url("http://slow.example.com");
813 813
814 // Start a pending load. 814 // Start a pending load.
815 content::WebContentsTester::For(web_contents())->StartNavigation(pending_url); 815 content::WebContentsTester::For(web_contents())->StartNavigation(pending_url);
816 816
(...skipping 17 matching lines...) Expand all
834 834
835 // No report should have been sent. 835 // No report should have been sent.
836 EXPECT_EQ(0u, ui_manager_->GetThreatDetails()->size()); 836 EXPECT_EQ(0u, ui_manager_->GetThreatDetails()->size());
837 ui_manager_->GetThreatDetails()->clear(); 837 ui_manager_->GetThreatDetails()->clear();
838 } 838 }
839 839
840 // TODO(mattm): Add test for extended reporting not shown or sent in incognito 840 // TODO(mattm): Add test for extended reporting not shown or sent in incognito
841 // window. 841 // window.
842 842
843 } // namespace safe_browsing 843 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698