Chromium Code Reviews| Index: chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc |
| diff --git a/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc b/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc |
| index 44c4be84b596733cabe7ab3e764bc85e5a78c109..3ab58448a088aef55eb1c01bd2ea8ffc6dc15a1e 100644 |
| --- a/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc |
| +++ b/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc |
| @@ -381,6 +381,39 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingServiceTest, Malware) { |
| EXPECT_TRUE(ShowingInterstitialPage()); |
| } |
| +const char kPrefetchMalwarePage[] = "files/safe_browsing/prefetch_malware.html"; |
| + |
| +// This test confirms that prefetches don't themselves get the |
| +// interstitial treatment. |
| +IN_PROC_BROWSER_TEST_F(SafeBrowsingServiceTest, Prefetch) { |
| + GURL url = test_server()->GetURL(kPrefetchMalwarePage); |
| + GURL malware_url = test_server()->GetURL(kMalwarePage); |
| + |
| + class SetPrefetchForTest { |
| + public: |
| + explicit SetPrefetchForTest(bool prefetch) |
| + : old_prefetch_state_(ResourceDispatcherHost::is_prefetch_enabled()) { |
| + ResourceDispatcherHost::set_is_prefetch_enabled(prefetch); |
| + } |
| + |
| + ~SetPrefetchForTest() { |
| + ResourceDispatcherHost::set_is_prefetch_enabled(old_prefetch_state_); |
| + } |
| + private: |
| + bool old_prefetch_state_; |
| + } set_prefetch_for_test(true); |
| + |
| + // After adding the url to safebrowsing database and getfullhash result, |
|
lzheng
2011/03/08 18:01:34
nit: We may want to update this comment.
Should w
gavinp
2011/03/08 22:33:04
I fixed the comment.
With regard to testing, we'd
|
| + // we should see the interstitial page. |
| + SBFullHashResult malware_full_hash; |
| + int chunk_id = 0; |
| + GenUrlFullhashResult(malware_url, safe_browsing_util::kMalwareList, |
| + chunk_id, &malware_full_hash); |
| + SetupResponseForUrl(malware_url, malware_full_hash); |
| + ui_test_utils::NavigateToURL(browser(), url); |
| + EXPECT_FALSE(ShowingInterstitialPage()); |
| +} |
| + |
| } // namespace |
| class TestSBClient |