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/download_protection_service.h" | 5 #include "chrome/browser/safe_browsing/download_protection_service.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 tab_url_(item->GetTabUrl()), | 286 tab_url_(item->GetTabUrl()), |
287 tab_referrer_url_(item->GetTabReferrerUrl()), | 287 tab_referrer_url_(item->GetTabReferrerUrl()), |
288 zipped_executable_(false), | 288 zipped_executable_(false), |
289 callback_(callback), | 289 callback_(callback), |
290 service_(service), | 290 service_(service), |
291 binary_feature_extractor_(binary_feature_extractor), | 291 binary_feature_extractor_(binary_feature_extractor), |
292 database_manager_(database_manager), | 292 database_manager_(database_manager), |
293 pingback_enabled_(service_->enabled()), | 293 pingback_enabled_(service_->enabled()), |
294 finished_(false), | 294 finished_(false), |
295 type_(ClientDownloadRequest::WIN_EXECUTABLE), | 295 type_(ClientDownloadRequest::WIN_EXECUTABLE), |
296 weakptr_factory_(this), | 296 start_time_(base::TimeTicks::Now()), |
297 start_time_(base::TimeTicks::Now()) { | 297 weakptr_factory_(this) { |
298 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 298 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
299 item_->AddObserver(this); | 299 item_->AddObserver(this); |
300 } | 300 } |
301 | 301 |
302 void Start() { | 302 void Start() { |
303 DVLOG(2) << "Starting SafeBrowsing download check for: " | 303 DVLOG(2) << "Starting SafeBrowsing download check for: " |
304 << item_->DebugString(true); | 304 << item_->DebugString(true); |
305 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 305 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
306 // TODO(noelutz): implement some cache to make sure we don't issue the same | 306 // TODO(noelutz): implement some cache to make sure we don't issue the same |
307 // request over and over again if a user downloads the same binary multiple | 307 // request over and over again if a user downloads the same binary multiple |
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 scoped_refptr<BinaryFeatureExtractor> binary_feature_extractor_; | 898 scoped_refptr<BinaryFeatureExtractor> binary_feature_extractor_; |
899 scoped_refptr<SafeBrowsingDatabaseManager> database_manager_; | 899 scoped_refptr<SafeBrowsingDatabaseManager> database_manager_; |
900 const bool pingback_enabled_; | 900 const bool pingback_enabled_; |
901 scoped_ptr<net::URLFetcher> fetcher_; | 901 scoped_ptr<net::URLFetcher> fetcher_; |
902 scoped_refptr<SandboxedZipAnalyzer> analyzer_; | 902 scoped_refptr<SandboxedZipAnalyzer> analyzer_; |
903 base::TimeTicks zip_analysis_start_time_; | 903 base::TimeTicks zip_analysis_start_time_; |
904 bool finished_; | 904 bool finished_; |
905 ClientDownloadRequest::DownloadType type_; | 905 ClientDownloadRequest::DownloadType type_; |
906 std::string client_download_request_data_; | 906 std::string client_download_request_data_; |
907 base::CancelableTaskTracker request_tracker_; // For HistoryService lookup. | 907 base::CancelableTaskTracker request_tracker_; // For HistoryService lookup. |
908 base::WeakPtrFactory<CheckClientDownloadRequest> weakptr_factory_; | |
909 base::TimeTicks start_time_; // Used for stats. | 908 base::TimeTicks start_time_; // Used for stats. |
910 base::TimeTicks timeout_start_time_; | 909 base::TimeTicks timeout_start_time_; |
911 base::TimeTicks request_start_time_; | 910 base::TimeTicks request_start_time_; |
| 911 base::WeakPtrFactory<CheckClientDownloadRequest> weakptr_factory_; |
912 | 912 |
913 DISALLOW_COPY_AND_ASSIGN(CheckClientDownloadRequest); | 913 DISALLOW_COPY_AND_ASSIGN(CheckClientDownloadRequest); |
914 }; | 914 }; |
915 | 915 |
916 DownloadProtectionService::DownloadProtectionService( | 916 DownloadProtectionService::DownloadProtectionService( |
917 SafeBrowsingService* sb_service, | 917 SafeBrowsingService* sb_service, |
918 net::URLRequestContextGetter* request_context_getter) | 918 net::URLRequestContextGetter* request_context_getter) |
919 : request_context_getter_(request_context_getter), | 919 : request_context_getter_(request_context_getter), |
920 enabled_(false), | 920 enabled_(false), |
921 binary_feature_extractor_(new BinaryFeatureExtractor()), | 921 binary_feature_extractor_(new BinaryFeatureExtractor()), |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1110 GURL DownloadProtectionService::GetDownloadRequestUrl() { | 1110 GURL DownloadProtectionService::GetDownloadRequestUrl() { |
1111 GURL url(kDownloadRequestUrl); | 1111 GURL url(kDownloadRequestUrl); |
1112 std::string api_key = google_apis::GetAPIKey(); | 1112 std::string api_key = google_apis::GetAPIKey(); |
1113 if (!api_key.empty()) | 1113 if (!api_key.empty()) |
1114 url = url.Resolve("?key=" + net::EscapeQueryParamValue(api_key, true)); | 1114 url = url.Resolve("?key=" + net::EscapeQueryParamValue(api_key, true)); |
1115 | 1115 |
1116 return url; | 1116 return url; |
1117 } | 1117 } |
1118 | 1118 |
1119 } // namespace safe_browsing | 1119 } // namespace safe_browsing |
OLD | NEW |