| Index: chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
|
| diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
|
| index 1f3af7bcca3df4a2c8a5b3759a6df3a71b71df44..2886fb6f90d480259f4d18ed4815e76834045695 100644
|
| --- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
|
| +++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
|
| @@ -22,7 +22,7 @@
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/safe_browsing/local_database_manager.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/test_safe_browsing_service.h"
|
| #include "chrome/browser/safe_browsing/threat_details.h"
|
| #include "chrome/browser/safe_browsing/ui_manager.h"
|
| #include "chrome/browser/ui/browser.h"
|
| @@ -136,10 +136,12 @@ class FakeSafeBrowsingDatabaseManager : public TestSafeBrowsingDatabaseManager {
|
| };
|
|
|
| // A SafeBrowingUIManager class that allows intercepting malware details.
|
| -class FakeSafeBrowsingUIManager : public SafeBrowsingUIManager {
|
| +class FakeSafeBrowsingUIManager : public TestSafeBrowsingUIManager {
|
| public:
|
| + FakeSafeBrowsingUIManager()
|
| + : TestSafeBrowsingUIManager(), threat_details_done_(false) {}
|
| explicit FakeSafeBrowsingUIManager(SafeBrowsingService* service)
|
| - : SafeBrowsingUIManager(service), threat_details_done_(false) {}
|
| + : TestSafeBrowsingUIManager(service), threat_details_done_(false) {}
|
|
|
| // Overrides SafeBrowsingUIManager
|
| void SendSerializedThreatDetails(const std::string& serialized) override {
|
| @@ -187,68 +189,6 @@ class FakeSafeBrowsingUIManager : public SafeBrowsingUIManager {
|
| DISALLOW_COPY_AND_ASSIGN(FakeSafeBrowsingUIManager);
|
| };
|
|
|
| -class FakeSafeBrowsingService : public SafeBrowsingService {
|
| - public:
|
| - FakeSafeBrowsingService()
|
| - : fake_database_manager_(),
|
| - fake_ui_manager_() { }
|
| -
|
| - // Returned pointer has the same lifespan as the database_manager_ refcounted
|
| - // object.
|
| - FakeSafeBrowsingDatabaseManager* fake_database_manager() {
|
| - return fake_database_manager_;
|
| - }
|
| - // Returned pointer has the same lifespan as the ui_manager_ refcounted
|
| - // object.
|
| - FakeSafeBrowsingUIManager* fake_ui_manager() {
|
| - return fake_ui_manager_;
|
| - }
|
| -
|
| - protected:
|
| - ~FakeSafeBrowsingService() override {}
|
| -
|
| - SafeBrowsingDatabaseManager* CreateDatabaseManager() override {
|
| - fake_database_manager_ = new FakeSafeBrowsingDatabaseManager();
|
| - return fake_database_manager_;
|
| - }
|
| -
|
| - SafeBrowsingUIManager* CreateUIManager() override {
|
| - fake_ui_manager_ = new FakeSafeBrowsingUIManager(this);
|
| - return fake_ui_manager_;
|
| - }
|
| -
|
| - SafeBrowsingProtocolManagerDelegate* GetProtocolManagerDelegate() override {
|
| - // Our SafeBrowsingDatabaseManager doesn't implement this delegate.
|
| - return NULL;
|
| - }
|
| -
|
| - private:
|
| - FakeSafeBrowsingDatabaseManager* fake_database_manager_;
|
| - FakeSafeBrowsingUIManager* fake_ui_manager_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(FakeSafeBrowsingService);
|
| -};
|
| -
|
| -// Factory that creates FakeSafeBrowsingService instances.
|
| -class TestSafeBrowsingServiceFactory : public SafeBrowsingServiceFactory {
|
| - public:
|
| - TestSafeBrowsingServiceFactory() :
|
| - most_recent_service_(NULL) { }
|
| - ~TestSafeBrowsingServiceFactory() override {}
|
| -
|
| - SafeBrowsingService* CreateSafeBrowsingService() override {
|
| - most_recent_service_ = new FakeSafeBrowsingService();
|
| - return most_recent_service_;
|
| - }
|
| -
|
| - FakeSafeBrowsingService* most_recent_service() const {
|
| - return most_recent_service_;
|
| - }
|
| -
|
| - private:
|
| - FakeSafeBrowsingService* most_recent_service_;
|
| -};
|
| -
|
| } // namespace
|
|
|
| class TestThreatDetailsFactory : public ThreatDetailsFactory {
|
| @@ -342,6 +282,10 @@ class SafeBrowsingBlockingPageBrowserTest
|
| SafeBrowsingBlockingPageBrowserTest() {}
|
|
|
| void SetUp() override {
|
| + // Test UI manager and test database manager should be set before
|
| + // InProcessBrowserTest::SetUp().
|
| + factory_.SetTestUIManager(new FakeSafeBrowsingUIManager());
|
| + factory_.SetTestDatabaseManager(new FakeSafeBrowsingDatabaseManager());
|
| SafeBrowsingService::RegisterFactory(&factory_);
|
| SafeBrowsingBlockingPage::RegisterFactory(&blocking_page_factory_);
|
| ThreatDetails::RegisterFactory(&details_factory_);
|
| @@ -367,12 +311,12 @@ class SafeBrowsingBlockingPageBrowserTest
|
| }
|
|
|
| void SetURLThreatType(const GURL& url, SBThreatType threat_type) {
|
| - FakeSafeBrowsingService* service =
|
| - static_cast<FakeSafeBrowsingService*>(
|
| - g_browser_process->safe_browsing_service());
|
| -
|
| + TestSafeBrowsingService* service = factory_.test_safe_browsing_service();
|
| ASSERT_TRUE(service);
|
| - service->fake_database_manager()->SetURLThreatType(url, threat_type);
|
| +
|
| + static_cast<FakeSafeBrowsingDatabaseManager*>(
|
| + service->database_manager().get())
|
| + ->SetURLThreatType(url, threat_type);
|
| }
|
|
|
| // Adds a safebrowsing result of the current test threat to the fake
|
| @@ -449,13 +393,15 @@ class SafeBrowsingBlockingPageBrowserTest
|
| }
|
|
|
| void SetReportSentCallback(const base::Closure& callback) {
|
| - factory_.most_recent_service()
|
| - ->fake_ui_manager()
|
| + static_cast<FakeSafeBrowsingUIManager*>(
|
| + factory_.test_safe_browsing_service()->ui_manager().get())
|
| ->set_threat_details_done_callback(callback);
|
| }
|
|
|
| std::string GetReportSent() {
|
| - return factory_.most_recent_service()->fake_ui_manager()->GetReport();
|
| + return static_cast<FakeSafeBrowsingUIManager*>(
|
| + factory_.test_safe_browsing_service()->ui_manager().get())
|
| + ->GetReport();
|
| }
|
|
|
| void MalwareRedirectCancelAndProceed(const std::string& open_function) {
|
|
|