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

Unified Diff: chrome/browser/safe_browsing/ui_manager_unittest.cc

Issue 2461093002: Revert of Trigger Dangerous indicator for unsafe subresources (Closed)
Patch Set: 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/safe_browsing/ui_manager.cc ('k') | chrome/browser/ssl/chrome_security_state_model_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/browser/safe_browsing/ui_manager.cc ('k') | chrome/browser/ssl/chrome_security_state_model_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698