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) { |