Index: chrome/browser/safe_browsing/ui_manager_unittest.cc |
diff --git a/chrome/browser/safe_browsing/ui_manager_unittest.cc b/chrome/browser/safe_browsing/ui_manager_unittest.cc |
index 0807da78315376dfd74f8a4744fffb7607c12ec6..fb6ba19cb7a71325e367fe388bd15aef168cd0bb 100644 |
--- a/chrome/browser/safe_browsing/ui_manager_unittest.cc |
+++ b/chrome/browser/safe_browsing/ui_manager_unittest.cc |
@@ -5,17 +5,14 @@ |
#include "chrome/browser/safe_browsing/ui_manager.h" |
#include "base/run_loop.h" |
-#include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h" |
#include "chrome/browser/safe_browsing/safe_browsing_service.h" |
#include "chrome/browser/safe_browsing/ui_manager.h" |
#include "chrome/test/base/chrome_render_view_host_test_harness.h" |
#include "chrome/test/base/testing_profile.h" |
-#include "components/safe_browsing_db/safe_browsing_prefs.h" |
#include "components/safe_browsing_db/util.h" |
#include "content/public/browser/render_process_host.h" |
#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/web_contents.h" |
-#include "content/public/browser/web_contents_delegate.h" |
#include "content/public/test/test_browser_thread_bundle.h" |
#include "content/public/test/web_contents_tester.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -116,9 +113,6 @@ |
ui_manager_->OnBlockingPageDone(resources, proceed); |
} |
- protected: |
- SafeBrowsingUIManager* ui_manager() { return ui_manager_.get(); } |
- |
private: |
scoped_refptr<SafeBrowsingUIManager> ui_manager_; |
}; |
@@ -277,110 +271,4 @@ |
EXPECT_FALSE(waiter.proceed()); |
} |
-namespace { |
- |
-// A WebContentsDelegate that records whether |
-// VisibleSecurityStateChanged() was called. |
-class SecurityStateWebContentsDelegate : public content::WebContentsDelegate { |
- public: |
- SecurityStateWebContentsDelegate() {} |
- ~SecurityStateWebContentsDelegate() override {} |
- |
- bool visible_security_state_changed() const { |
- return visible_security_state_changed_; |
- } |
- |
- void ClearVisibleSecurityStateChanged() { |
- visible_security_state_changed_ = false; |
- } |
- |
- // WebContentsDelegate: |
- void VisibleSecurityStateChanged(content::WebContents* source) override { |
- visible_security_state_changed_ = true; |
- } |
- |
- private: |
- bool visible_security_state_changed_ = false; |
- DISALLOW_COPY_AND_ASSIGN(SecurityStateWebContentsDelegate); |
-}; |
- |
-// A test blocking page that does not create windows. |
-class TestSafeBrowsingBlockingPage : public SafeBrowsingBlockingPage { |
- public: |
- TestSafeBrowsingBlockingPage(SafeBrowsingUIManager* manager, |
- content::WebContents* web_contents, |
- const GURL& main_frame_url, |
- const UnsafeResourceList& unsafe_resources) |
- : SafeBrowsingBlockingPage(manager, |
- web_contents, |
- main_frame_url, |
- unsafe_resources) { |
- // Don't delay details at all for the unittest. |
- threat_details_proceed_delay_ms_ = 0; |
- DontCreateViewForTesting(); |
- } |
-}; |
- |
-// A factory that creates TestSafeBrowsingBlockingPages. |
-class TestSafeBrowsingBlockingPageFactory |
- : public SafeBrowsingBlockingPageFactory { |
- public: |
- TestSafeBrowsingBlockingPageFactory() {} |
- ~TestSafeBrowsingBlockingPageFactory() override {} |
- |
- SafeBrowsingBlockingPage* CreateSafeBrowsingPage( |
- SafeBrowsingUIManager* delegate, |
- content::WebContents* web_contents, |
- const GURL& main_frame_url, |
- const SafeBrowsingBlockingPage::UnsafeResourceList& unsafe_resources) |
- override { |
- return new TestSafeBrowsingBlockingPage(delegate, web_contents, |
- main_frame_url, unsafe_resources); |
- } |
-}; |
- |
-} // namespace |
- |
-// Tests that the WebContentsDelegate is notified of a visible security |
-// state change when a blocking page is shown for a subresource. |
-TEST_F(SafeBrowsingUIManagerTest, |
- VisibleSecurityStateChangedForUnsafeSubresource) { |
- TestSafeBrowsingBlockingPageFactory factory; |
- SafeBrowsingBlockingPage::RegisterFactory(&factory); |
- SecurityStateWebContentsDelegate delegate; |
- web_contents()->SetDelegate(&delegate); |
- |
- // Simulate a blocking page showing for an unsafe subresource. |
- SafeBrowsingUIManager::UnsafeResource resource = |
- MakeUnsafeResource(kBadURL, true /* is_subresource */); |
- // Needed for showing the blocking page. |
- resource.threat_source = safe_browsing::ThreatSource::REMOTE; |
- NavigateAndCommit(GURL("http://example.test")); |
- |
- delegate.ClearVisibleSecurityStateChanged(); |
- EXPECT_FALSE(delegate.visible_security_state_changed()); |
- ui_manager()->DisplayBlockingPage(resource); |
- EXPECT_TRUE(delegate.visible_security_state_changed()); |
- |
- // Simulate proceeding through the blocking page. |
- SafeBrowsingCallbackWaiter waiter; |
- resource.callback = |
- base::Bind(&SafeBrowsingCallbackWaiter::OnBlockingPageDoneOnIO, |
- base::Unretained(&waiter)); |
- resource.callback_thread = |
- BrowserThread::GetTaskRunnerForThread(BrowserThread::IO); |
- std::vector<SafeBrowsingUIManager::UnsafeResource> resources; |
- resources.push_back(resource); |
- |
- delegate.ClearVisibleSecurityStateChanged(); |
- EXPECT_FALSE(delegate.visible_security_state_changed()); |
- SimulateBlockingPageDone(resources, true); |
- EXPECT_TRUE(delegate.visible_security_state_changed()); |
- |
- waiter.WaitForCallback(); |
- EXPECT_TRUE(waiter.callback_called()); |
- EXPECT_TRUE(waiter.proceed()); |
- EXPECT_TRUE(IsWhitelisted(resource)); |
-} |
- |
} // namespace safe_browsing |