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

Unified Diff: chrome/browser/browser_process_impl.cc

Issue 7583007: Add "enabled" state to the ClientSideDetectionService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 9 years, 4 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/browser_process_impl.h ('k') | chrome/browser/safe_browsing/client_side_detection_service.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/browser_process_impl.cc
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index 0a8a385e1c57598c75e9f2d1e7e991525c6cee45..24a06ee3b1f0d9d2ba727cf0bb5d7d5562dfd180 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -48,7 +48,6 @@
#include "chrome/browser/printing/print_preview_tab_controller.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.h"
-#include "chrome/browser/safe_browsing/client_side_detection_service.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/shell_integration.h"
#include "chrome/browser/sidebar/sidebar_manager.h"
@@ -135,7 +134,6 @@ BrowserProcessImpl::BrowserProcessImpl(const CommandLine& command_line)
created_browser_policy_connector_(false),
created_notification_ui_manager_(false),
created_safe_browsing_service_(false),
- created_safe_browsing_detection_service_(false),
module_ref_count_(0),
did_start_(false),
checked_for_new_frames_(false),
@@ -180,14 +178,18 @@ BrowserProcessImpl::~BrowserProcessImpl() {
// We need to destroy the MetricsService, GoogleURLTracker,
// IntranetRedirectDetector, and SafeBrowsing ClientSideDetectionService
- // before the io_thread_ gets destroyed, since their destructors can call the
- // URLFetcher destructor, which does a PostDelayedTask operation on the IO
- // thread. (The IO thread will handle that URLFetcher operation before going
- // away.)
+ // (owned by the SafeBrowsingService) before the io_thread_ gets destroyed,
+ // since their destructors can call the URLFetcher destructor, which does a
+ // PostDelayedTask operation on the IO thread.
+ // (The IO thread will handle that URLFetcher operation before going away.)
metrics_service_.reset();
google_url_tracker_.reset();
intranet_redirect_detector_.reset();
- safe_browsing_detection_service_.reset();
+#if defined(ENABLE_SAFE_BROWSING)
+ if (safe_browsing_service_.get()) {
+ safe_browsing_service()->ShutDown();
+ }
+#endif
// Need to clear the desktop notification balloons before the io_thread_ and
// before the profiles, since if there are any still showing we will access
@@ -213,11 +215,6 @@ BrowserProcessImpl::~BrowserProcessImpl() {
devtools_legacy_handler_ = NULL;
}
-#if defined(ENABLE_SAFE_BROWSING)
- if (safe_browsing_service_.get())
- safe_browsing_service()->ShutDown();
-#endif
-
if (resource_dispatcher_host_.get()) {
// Cancel pending requests and prevent new requests.
resource_dispatcher_host()->Shutdown();
@@ -626,9 +623,9 @@ SafeBrowsingService* BrowserProcessImpl::safe_browsing_service() {
safe_browsing::ClientSideDetectionService*
BrowserProcessImpl::safe_browsing_detection_service() {
DCHECK(CalledOnValidThread());
- if (!created_safe_browsing_detection_service_)
- CreateSafeBrowsingDetectionService();
- return safe_browsing_detection_service_.get();
+ if (safe_browsing_service())
+ return safe_browsing_service()->safe_browsing_detection_service();
+ return NULL;
}
bool BrowserProcessImpl::plugin_finder_disabled() const {
@@ -988,35 +985,6 @@ void BrowserProcessImpl::CreateSafeBrowsingService() {
#endif
}
-void BrowserProcessImpl::CreateSafeBrowsingDetectionService() {
- DCHECK(safe_browsing_detection_service_.get() == NULL);
- // Set this flag to true so that we don't retry indefinitely to
- // create the service class if there was an error.
- created_safe_browsing_detection_service_ = true;
-
-#if defined(ENABLE_SAFE_BROWSING)
- if (IsSafeBrowsingDetectionServiceEnabled()) {
- safe_browsing_detection_service_.reset(
- safe_browsing::ClientSideDetectionService::Create(
- g_browser_process->system_request_context()));
- }
-#endif
-}
-
-bool BrowserProcessImpl::IsSafeBrowsingDetectionServiceEnabled() {
- // The safe browsing client-side detection is enabled only if the switch is
- // not disabled and when safe browsing related stats are allowed to be
- // collected.
-#if defined(ENABLE_SAFE_BROWSING) && !defined(OS_CHROMEOS)
- return !CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableClientSidePhishingDetection) &&
- safe_browsing_service() &&
- safe_browsing_service()->CanReportStats();
-#else
- return false;
-#endif
-}
-
void BrowserProcessImpl::ApplyDisabledSchemesPolicy() {
std::set<std::string> schemes;
const ListValue* scheme_list = local_state_->GetList(prefs::kDisabledSchemes);
« no previous file with comments | « chrome/browser/browser_process_impl.h ('k') | chrome/browser/safe_browsing/client_side_detection_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698