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

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

Issue 8785004: Change NavigationController::LoadURL to take a Referrer class instead of a GURL as referrer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 9 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 5
6 #include "chrome/browser/prefs/pref_service.h" 6 #include "chrome/browser/prefs/pref_service.h"
7 #include "chrome/browser/profiles/profile.h" 7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/safe_browsing/malware_details.h" 8 #include "chrome/browser/safe_browsing/malware_details.h"
9 #include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h" 9 #include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h"
10 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 content::TestBrowserThread io_thread_; 182 content::TestBrowserThread io_thread_;
183 }; 183 };
184 184
185 // Tests showing a blocking page for a malware page and not proceeding. 185 // Tests showing a blocking page for a malware page and not proceeding.
186 TEST_F(SafeBrowsingBlockingPageTest, MalwarePageDontProceed) { 186 TEST_F(SafeBrowsingBlockingPageTest, MalwarePageDontProceed) {
187 // Enable malware details. 187 // Enable malware details.
188 Profile* profile = Profile::FromBrowserContext(contents()->browser_context()); 188 Profile* profile = Profile::FromBrowserContext(contents()->browser_context());
189 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true); 189 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true);
190 190
191 // Start a load. 191 // Start a load.
192 controller().LoadURL(GURL(kBadURL), GURL(), content::PAGE_TRANSITION_TYPED, 192 controller().LoadURL(GURL(kBadURL), content::Referrer(),
193 std::string()); 193 content::PAGE_TRANSITION_TYPED, std::string());
194 194
195 195
196 // Simulate the load causing a safe browsing interstitial to be shown. 196 // Simulate the load causing a safe browsing interstitial to be shown.
197 ShowInterstitial(false, kBadURL); 197 ShowInterstitial(false, kBadURL);
198 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 198 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
199 ASSERT_TRUE(sb_interstitial); 199 ASSERT_TRUE(sb_interstitial);
200 200
201 MessageLoop::current()->RunAllPending(); 201 MessageLoop::current()->RunAllPending();
202 202
203 // Simulate the user clicking "don't proceed". 203 // Simulate the user clicking "don't proceed".
(...skipping 11 matching lines...) Expand all
215 service_->GetDetails()->clear(); 215 service_->GetDetails()->clear();
216 } 216 }
217 217
218 // Tests showing a blocking page for a malware page and then proceeding. 218 // Tests showing a blocking page for a malware page and then proceeding.
219 TEST_F(SafeBrowsingBlockingPageTest, MalwarePageProceed) { 219 TEST_F(SafeBrowsingBlockingPageTest, MalwarePageProceed) {
220 // Enable malware reports. 220 // Enable malware reports.
221 Profile* profile = Profile::FromBrowserContext(contents()->browser_context()); 221 Profile* profile = Profile::FromBrowserContext(contents()->browser_context());
222 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true); 222 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true);
223 223
224 // Start a load. 224 // Start a load.
225 controller().LoadURL(GURL(kBadURL), GURL(), content::PAGE_TRANSITION_TYPED, 225 controller().LoadURL(GURL(kBadURL), content::Referrer(),
226 std::string()); 226 content::PAGE_TRANSITION_TYPED, std::string());
227 227
228 // Simulate the load causing a safe browsing interstitial to be shown. 228 // Simulate the load causing a safe browsing interstitial to be shown.
229 ShowInterstitial(false, kBadURL); 229 ShowInterstitial(false, kBadURL);
230 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 230 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
231 ASSERT_TRUE(sb_interstitial); 231 ASSERT_TRUE(sb_interstitial);
232 232
233 // Simulate the user clicking "proceed". 233 // Simulate the user clicking "proceed".
234 ProceedThroughInterstitial(sb_interstitial); 234 ProceedThroughInterstitial(sb_interstitial);
235 235
236 // The interstitial is shown until the navigation commits. 236 // The interstitial is shown until the navigation commits.
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 // controller entries are OK. http://crbug.com/17627 460 // controller entries are OK. http://crbug.com/17627
461 TEST_F(SafeBrowsingBlockingPageTest, NavigatingBackAndForth) { 461 TEST_F(SafeBrowsingBlockingPageTest, NavigatingBackAndForth) {
462 // Enable malware reports. 462 // Enable malware reports.
463 Profile* profile = Profile::FromBrowserContext(contents()->browser_context()); 463 Profile* profile = Profile::FromBrowserContext(contents()->browser_context());
464 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true); 464 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true);
465 465
466 // Navigate somewhere. 466 // Navigate somewhere.
467 Navigate(kGoodURL, 1); 467 Navigate(kGoodURL, 1);
468 468
469 // Now navigate to a bad page triggerring an interstitial. 469 // Now navigate to a bad page triggerring an interstitial.
470 controller().LoadURL(GURL(kBadURL), GURL(), content::PAGE_TRANSITION_TYPED, 470 controller().LoadURL(GURL(kBadURL), content::Referrer(),
471 std::string()); 471 content::PAGE_TRANSITION_TYPED, std::string());
472 ShowInterstitial(false, kBadURL); 472 ShowInterstitial(false, kBadURL);
473 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 473 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
474 ASSERT_TRUE(sb_interstitial); 474 ASSERT_TRUE(sb_interstitial);
475 475
476 // Proceed, then navigate back. 476 // Proceed, then navigate back.
477 ProceedThroughInterstitial(sb_interstitial); 477 ProceedThroughInterstitial(sb_interstitial);
478 Navigate(kBadURL, 2); // Commit the navigation. 478 Navigate(kBadURL, 2); // Commit the navigation.
479 GoBackCrossSite(); 479 GoBackCrossSite();
480 480
481 // We are back on the good page. 481 // We are back on the good page.
(...skipping 22 matching lines...) Expand all
504 } 504 }
505 505
506 // Tests that calling "don't proceed" after "proceed" has been called doesn't 506 // Tests that calling "don't proceed" after "proceed" has been called doesn't
507 // cause problems. http://crbug.com/30079 507 // cause problems. http://crbug.com/30079
508 TEST_F(SafeBrowsingBlockingPageTest, ProceedThenDontProceed) { 508 TEST_F(SafeBrowsingBlockingPageTest, ProceedThenDontProceed) {
509 // Enable malware reports. 509 // Enable malware reports.
510 Profile* profile = Profile::FromBrowserContext(contents()->browser_context()); 510 Profile* profile = Profile::FromBrowserContext(contents()->browser_context());
511 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true); 511 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true);
512 512
513 // Start a load. 513 // Start a load.
514 controller().LoadURL(GURL(kBadURL), GURL(), content::PAGE_TRANSITION_TYPED, 514 controller().LoadURL(GURL(kBadURL), content::Referrer(),
515 std::string()); 515 content::PAGE_TRANSITION_TYPED, std::string());
516 516
517 // Simulate the load causing a safe browsing interstitial to be shown. 517 // Simulate the load causing a safe browsing interstitial to be shown.
518 ShowInterstitial(false, kBadURL); 518 ShowInterstitial(false, kBadURL);
519 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 519 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
520 ASSERT_TRUE(sb_interstitial); 520 ASSERT_TRUE(sb_interstitial);
521 521
522 MessageLoop::current()->RunAllPending(); 522 MessageLoop::current()->RunAllPending();
523 523
524 // Simulate the user clicking "proceed" then "don't proceed" (before the 524 // Simulate the user clicking "proceed" then "don't proceed" (before the
525 // interstitial is shown). 525 // interstitial is shown).
(...skipping 12 matching lines...) Expand all
538 service_->GetDetails()->clear(); 538 service_->GetDetails()->clear();
539 } 539 }
540 540
541 // Tests showing a blocking page for a malware page with reports disabled. 541 // Tests showing a blocking page for a malware page with reports disabled.
542 TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsDisabled) { 542 TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsDisabled) {
543 // Disable malware reports. 543 // Disable malware reports.
544 Profile* profile = Profile::FromBrowserContext(contents()->browser_context()); 544 Profile* profile = Profile::FromBrowserContext(contents()->browser_context());
545 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, false); 545 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, false);
546 546
547 // Start a load. 547 // Start a load.
548 controller().LoadURL(GURL(kBadURL), GURL(), content::PAGE_TRANSITION_TYPED, 548 controller().LoadURL(GURL(kBadURL), content::Referrer(),
549 std::string()); 549 content::PAGE_TRANSITION_TYPED, std::string());
550 550
551 // Simulate the load causing a safe browsing interstitial to be shown. 551 // Simulate the load causing a safe browsing interstitial to be shown.
552 ShowInterstitial(false, kBadURL); 552 ShowInterstitial(false, kBadURL);
553 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 553 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
554 ASSERT_TRUE(sb_interstitial); 554 ASSERT_TRUE(sb_interstitial);
555 555
556 MessageLoop::current()->RunAllPending(); 556 MessageLoop::current()->RunAllPending();
557 557
558 // Simulate the user clicking "don't proceed". 558 // Simulate the user clicking "don't proceed".
559 DontProceedThroughInterstitial(sb_interstitial); 559 DontProceedThroughInterstitial(sb_interstitial);
(...skipping 10 matching lines...) Expand all
570 service_->GetDetails()->clear(); 570 service_->GetDetails()->clear();
571 } 571 }
572 572
573 // Test setting the malware report preferance 573 // Test setting the malware report preferance
574 TEST_F(SafeBrowsingBlockingPageTest, MalwareReports) { 574 TEST_F(SafeBrowsingBlockingPageTest, MalwareReports) {
575 // Disable malware reports. 575 // Disable malware reports.
576 Profile* profile = Profile::FromBrowserContext(contents()->browser_context()); 576 Profile* profile = Profile::FromBrowserContext(contents()->browser_context());
577 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, false); 577 profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, false);
578 578
579 // Start a load. 579 // Start a load.
580 controller().LoadURL(GURL(kBadURL), GURL(), content::PAGE_TRANSITION_TYPED, 580 controller().LoadURL(GURL(kBadURL), content::Referrer(),
581 std::string()); 581 content::PAGE_TRANSITION_TYPED, std::string());
582 582
583 // Simulate the load causing a safe browsing interstitial to be shown. 583 // Simulate the load causing a safe browsing interstitial to be shown.
584 ShowInterstitial(false, kBadURL); 584 ShowInterstitial(false, kBadURL);
585 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); 585 SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
586 ASSERT_TRUE(sb_interstitial); 586 ASSERT_TRUE(sb_interstitial);
587 587
588 MessageLoop::current()->RunAllPending(); 588 MessageLoop::current()->RunAllPending();
589 589
590 EXPECT_FALSE(profile->GetPrefs()->GetBoolean( 590 EXPECT_FALSE(profile->GetPrefs()->GetBoolean(
591 prefs::kSafeBrowsingReportingEnabled)); 591 prefs::kSafeBrowsingReportingEnabled));
592 592
593 // Simulate the user check the report agreement checkbox. 593 // Simulate the user check the report agreement checkbox.
594 sb_interstitial->SetReportingPreference(true); 594 sb_interstitial->SetReportingPreference(true);
595 595
596 EXPECT_TRUE(profile->GetPrefs()->GetBoolean( 596 EXPECT_TRUE(profile->GetPrefs()->GetBoolean(
597 prefs::kSafeBrowsingReportingEnabled)); 597 prefs::kSafeBrowsingReportingEnabled));
598 598
599 // Simulate the user uncheck the report agreement checkbox. 599 // Simulate the user uncheck the report agreement checkbox.
600 sb_interstitial->SetReportingPreference(false); 600 sb_interstitial->SetReportingPreference(false);
601 601
602 EXPECT_FALSE(profile->GetPrefs()->GetBoolean( 602 EXPECT_FALSE(profile->GetPrefs()->GetBoolean(
603 prefs::kSafeBrowsingReportingEnabled)); 603 prefs::kSafeBrowsingReportingEnabled));
604 } 604 }
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/malware_details_unittest.cc ('k') | chrome/browser/sidebar/sidebar_container.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698