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 <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
664 base::BindOnce(&CheckClientDownloadRequest::StartTimeout, this)); | 664 base::BindOnce(&CheckClientDownloadRequest::StartTimeout, this)); |
665 } | 665 } |
666 | 666 |
667 void StartExtractFileFeatures() { | 667 void StartExtractFileFeatures() { |
668 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 668 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
669 DCHECK(item_); // Called directly from Start(), item should still exist. | 669 DCHECK(item_); // Called directly from Start(), item should still exist. |
670 // Since we do blocking I/O, offload this to a worker thread. | 670 // Since we do blocking I/O, offload this to a worker thread. |
671 // The task does not need to block shutdown. | 671 // The task does not need to block shutdown. |
672 base::PostTaskWithTraits( | 672 base::PostTaskWithTraits( |
673 FROM_HERE, | 673 FROM_HERE, |
674 base::TaskTraits() | 674 {base::MayBlock(), base::TaskPriority::BACKGROUND, |
675 .MayBlock() | 675 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN}, |
676 .WithPriority(base::TaskPriority::BACKGROUND) | |
677 .WithShutdownBehavior( | |
678 base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN), | |
679 base::BindOnce(&CheckClientDownloadRequest::ExtractFileFeatures, this, | 676 base::BindOnce(&CheckClientDownloadRequest::ExtractFileFeatures, this, |
680 item_->GetFullPath())); | 677 item_->GetFullPath())); |
681 } | 678 } |
682 | 679 |
683 void ExtractFileFeatures(const base::FilePath& file_path) { | 680 void ExtractFileFeatures(const base::FilePath& file_path) { |
684 base::TimeTicks start_time = base::TimeTicks::Now(); | 681 base::TimeTicks start_time = base::TimeTicks::Now(); |
685 binary_feature_extractor_->CheckSignature(file_path, &signature_info_); | 682 binary_feature_extractor_->CheckSignature(file_path, &signature_info_); |
686 bool is_signed = (signature_info_.certificate_chain_size() > 0); | 683 bool is_signed = (signature_info_.certificate_chain_size() > 0); |
687 if (is_signed) { | 684 if (is_signed) { |
688 DVLOG(2) << "Downloaded a signed binary: " << file_path.value(); | 685 DVLOG(2) << "Downloaded a signed binary: " << file_path.value(); |
(...skipping 1310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1999 out_request->mutable_referrer_chain()); | 1996 out_request->mutable_referrer_chain()); |
2000 UMA_HISTOGRAM_COUNTS_100( | 1997 UMA_HISTOGRAM_COUNTS_100( |
2001 "SafeBrowsing.ReferrerURLChainSize.PPAPIDownloadAttribution", | 1998 "SafeBrowsing.ReferrerURLChainSize.PPAPIDownloadAttribution", |
2002 out_request->referrer_chain_size()); | 1999 out_request->referrer_chain_size()); |
2003 UMA_HISTOGRAM_ENUMERATION( | 2000 UMA_HISTOGRAM_ENUMERATION( |
2004 "SafeBrowsing.ReferrerAttributionResult.PPAPIDownloadAttribution", result, | 2001 "SafeBrowsing.ReferrerAttributionResult.PPAPIDownloadAttribution", result, |
2005 SafeBrowsingNavigationObserverManager::ATTRIBUTION_FAILURE_TYPE_MAX); | 2002 SafeBrowsingNavigationObserverManager::ATTRIBUTION_FAILURE_TYPE_MAX); |
2006 } | 2003 } |
2007 | 2004 |
2008 } // namespace safe_browsing | 2005 } // namespace safe_browsing |
OLD | NEW |