OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 5 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "base/threading/thread.h" | 21 #include "base/threading/thread.h" |
22 #include "base/threading/thread_restrictions.h" | 22 #include "base/threading/thread_restrictions.h" |
23 #include "base/threading/worker_pool.h" | 23 #include "base/threading/worker_pool.h" |
24 #include "base/trace_event/trace_event.h" | 24 #include "base/trace_event/trace_event.h" |
25 #include "build/build_config.h" | 25 #include "build/build_config.h" |
26 #include "chrome/browser/browser_process.h" | 26 #include "chrome/browser/browser_process.h" |
27 #include "chrome/browser/chrome_notification_types.h" | 27 #include "chrome/browser/chrome_notification_types.h" |
28 #include "chrome/browser/profiles/profile.h" | 28 #include "chrome/browser/profiles/profile.h" |
29 #include "chrome/browser/profiles/profile_manager.h" | 29 #include "chrome/browser/profiles/profile_manager.h" |
30 #include "chrome/browser/safe_browsing/ping_manager.h" | 30 #include "chrome/browser/safe_browsing/ping_manager.h" |
| 31 #include "chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager
.h" |
31 #include "chrome/browser/safe_browsing/ui_manager.h" | 32 #include "chrome/browser/safe_browsing/ui_manager.h" |
32 #include "chrome/common/chrome_paths.h" | 33 #include "chrome/common/chrome_paths.h" |
33 #include "chrome/common/chrome_switches.h" | 34 #include "chrome/common/chrome_switches.h" |
34 #include "chrome/common/pref_names.h" | 35 #include "chrome/common/pref_names.h" |
35 #include "chrome/common/safe_browsing/file_type_policies.h" | 36 #include "chrome/common/safe_browsing/file_type_policies.h" |
36 #include "components/prefs/pref_change_registrar.h" | 37 #include "components/prefs/pref_change_registrar.h" |
37 #include "components/prefs/pref_service.h" | 38 #include "components/prefs/pref_service.h" |
38 #include "components/safe_browsing/common/safebrowsing_constants.h" | 39 #include "components/safe_browsing/common/safebrowsing_constants.h" |
39 #include "components/safe_browsing/common/safebrowsing_switches.h" | 40 #include "components/safe_browsing/common/safebrowsing_switches.h" |
40 #include "components/safe_browsing_db/database_manager.h" | 41 #include "components/safe_browsing_db/database_manager.h" |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 | 303 |
303 url_request_context_getter_ = new SafeBrowsingURLRequestContextGetter( | 304 url_request_context_getter_ = new SafeBrowsingURLRequestContextGetter( |
304 g_browser_process->system_request_context()); | 305 g_browser_process->system_request_context()); |
305 | 306 |
306 ui_manager_ = CreateUIManager(); | 307 ui_manager_ = CreateUIManager(); |
307 | 308 |
308 if (!enabled_v4_only_) { | 309 if (!enabled_v4_only_) { |
309 database_manager_ = CreateDatabaseManager(); | 310 database_manager_ = CreateDatabaseManager(); |
310 } | 311 } |
311 | 312 |
| 313 if (base::FeatureList::IsEnabled( |
| 314 SafeBrowsingNavigationObserverManager::kDownloadAttribution)) { |
| 315 navigation_observer_manager_ = new SafeBrowsingNavigationObserverManager(); |
| 316 } |
| 317 |
312 services_delegate_->Initialize(); | 318 services_delegate_->Initialize(); |
313 services_delegate_->InitializeCsdService(url_request_context_getter_.get()); | 319 services_delegate_->InitializeCsdService(url_request_context_getter_.get()); |
314 | 320 |
315 // Track the safe browsing preference of existing profiles. | 321 // Track the safe browsing preference of existing profiles. |
316 // The SafeBrowsingService will be started if any existing profile has the | 322 // The SafeBrowsingService will be started if any existing profile has the |
317 // preference enabled. It will also listen for updates to the preferences. | 323 // preference enabled. It will also listen for updates to the preferences. |
318 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 324 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
319 if (profile_manager) { | 325 if (profile_manager) { |
320 std::vector<Profile*> profiles = profile_manager->GetLoadedProfiles(); | 326 std::vector<Profile*> profiles = profile_manager->GetLoadedProfiles(); |
321 // TODO(felt): I believe this for-loop is dead code. Confirm this and | 327 // TODO(felt): I believe this for-loop is dead code. Confirm this and |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 const scoped_refptr<SafeBrowsingUIManager>& | 392 const scoped_refptr<SafeBrowsingUIManager>& |
387 SafeBrowsingService::ui_manager() const { | 393 SafeBrowsingService::ui_manager() const { |
388 return ui_manager_; | 394 return ui_manager_; |
389 } | 395 } |
390 | 396 |
391 const scoped_refptr<SafeBrowsingDatabaseManager>& | 397 const scoped_refptr<SafeBrowsingDatabaseManager>& |
392 SafeBrowsingService::database_manager() const { | 398 SafeBrowsingService::database_manager() const { |
393 return enabled_v4_only_ ? v4_local_database_manager() : database_manager_; | 399 return enabled_v4_only_ ? v4_local_database_manager() : database_manager_; |
394 } | 400 } |
395 | 401 |
| 402 scoped_refptr<SafeBrowsingNavigationObserverManager> |
| 403 SafeBrowsingService::navigation_observer_manager() { |
| 404 return navigation_observer_manager_; |
| 405 } |
| 406 |
396 SafeBrowsingProtocolManager* SafeBrowsingService::protocol_manager() const { | 407 SafeBrowsingProtocolManager* SafeBrowsingService::protocol_manager() const { |
397 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 408 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
398 #if defined(SAFE_BROWSING_DB_LOCAL) | 409 #if defined(SAFE_BROWSING_DB_LOCAL) |
399 DCHECK(!enabled_v4_only_); | 410 DCHECK(!enabled_v4_only_); |
400 return protocol_manager_.get(); | 411 return protocol_manager_.get(); |
401 #else | 412 #else |
402 return nullptr; | 413 return nullptr; |
403 #endif | 414 #endif |
404 } | 415 } |
405 | 416 |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
718 ping_manager()->ReportThreatDetails(report); | 729 ping_manager()->ReportThreatDetails(report); |
719 } | 730 } |
720 | 731 |
721 void SafeBrowsingService::ProcessResourceRequest( | 732 void SafeBrowsingService::ProcessResourceRequest( |
722 const ResourceRequestInfo& request) { | 733 const ResourceRequestInfo& request) { |
723 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 734 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
724 services_delegate_->ProcessResourceRequest(&request); | 735 services_delegate_->ProcessResourceRequest(&request); |
725 } | 736 } |
726 | 737 |
727 } // namespace safe_browsing | 738 } // namespace safe_browsing |
OLD | NEW |