Index: chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc |
=================================================================== |
--- chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc (revision 66339) |
+++ chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc (working copy) |
@@ -5,9 +5,12 @@ |
#include "chrome/browser/renderer_host/test/test_render_view_host.h" |
#include "chrome/browser/browser_thread.h" |
+#include "chrome/browser/prefs/pref_service.h" |
+#include "chrome/browser/profile.h" |
#include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h" |
#include "chrome/browser/tab_contents/navigation_entry.h" |
#include "chrome/browser/tab_contents/test_tab_contents.h" |
+#include "chrome/common/pref_names.h" |
#include "chrome/common/render_messages.h" |
#include "chrome/common/render_messages_params.h" |
@@ -390,8 +393,7 @@ |
EXPECT_EQ(kBadURL, controller().GetActiveEntry()->url().spec()); |
} |
-// Tests that calling "don't proceed" after "proceed" has been called doesn't |
-// cause problems. http://crbug.com/30079 |
+// |
TEST_F(SafeBrowsingBlockingPageTest, ProceedThenDontProceed) { |
// Start a load. |
controller().LoadURL(GURL(kBadURL), GURL(), PageTransition::TYPED); |
@@ -415,3 +417,35 @@ |
EXPECT_EQ(OK, user_response()); |
EXPECT_FALSE(GetSafeBrowsingBlockingPage()); |
} |
+ |
+// Test setting the malware report preferance |
+TEST_F(SafeBrowsingBlockingPageTest, MalwareReports) { |
+ // Disable malware reports. |
+ contents()->profile()->GetPrefs()->SetBoolean( |
+ prefs::kSafeBrowsingReportingEnabled, false); |
+ |
+ // Start a load. |
+ controller().LoadURL(GURL(kBadURL), GURL(), PageTransition::TYPED); |
+ |
+ // Simulate the load causing a safe browsing interstitial to be shown. |
+ ShowInterstitial(ResourceType::MAIN_FRAME, kBadURL); |
+ SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage(); |
+ ASSERT_TRUE(sb_interstitial); |
+ |
+ MessageLoop::current()->RunAllPending(); |
+ |
+ EXPECT_FALSE(contents()->profile()->GetPrefs()->GetBoolean( |
+ prefs::kSafeBrowsingReportingEnabled)); |
+ |
+ // Simulate the user check the report agreement checkbox. |
+ sb_interstitial->SetReportingPreference(true); |
+ |
+ EXPECT_TRUE(contents()->profile()->GetPrefs()->GetBoolean( |
+ prefs::kSafeBrowsingReportingEnabled)); |
+ |
+ // Simulate the user uncheck the report agreement checkbox. |
+ sb_interstitial->SetReportingPreference(false); |
+ |
+ EXPECT_FALSE(contents()->profile()->GetPrefs()->GetBoolean( |
+ prefs::kSafeBrowsingReportingEnabled)); |
+} |