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

Unified Diff: chrome/common/safe_browsing/download_protection_util.cc

Issue 1236613003: [Merge to M44] [SafeBrowsing] Send pingbacks for additional file types. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2403
Patch Set: Created 5 years, 5 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
Index: chrome/common/safe_browsing/download_protection_util.cc
diff --git a/chrome/common/safe_browsing/download_protection_util.cc b/chrome/common/safe_browsing/download_protection_util.cc
index 3358b893b1c90445d1e1468339a25e73348677ca..ab8630f801a9d29c6ae03d617d668e8c781b4ae2 100644
--- a/chrome/common/safe_browsing/download_protection_util.cc
+++ b/chrome/common/safe_browsing/download_protection_util.cc
@@ -16,33 +16,64 @@ bool IsArchiveFile(const base::FilePath& file) {
}
bool IsBinaryFile(const base::FilePath& file) {
- return (
+ const base::FilePath::CharType* kSupportedBinaryFileTypes[] = {
// Executable extensions for MS Windows.
- file.MatchesExtension(FILE_PATH_LITERAL(".bas")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".bat")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".cab")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".cmd")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".com")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".exe")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".hta")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".msi")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".pif")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".reg")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".scr")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".url")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".vb")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".vbs")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".website")) ||
+ FILE_PATH_LITERAL(".cab"),
+ FILE_PATH_LITERAL(".cmd"),
+ FILE_PATH_LITERAL(".com"),
+ FILE_PATH_LITERAL(".dll"),
+ FILE_PATH_LITERAL(".exe"),
+ FILE_PATH_LITERAL(".msc"),
+ FILE_PATH_LITERAL(".msi"),
+ FILE_PATH_LITERAL(".msp"),
+ FILE_PATH_LITERAL(".mst"),
+ FILE_PATH_LITERAL(".pif"),
+ FILE_PATH_LITERAL(".scr"),
+ // Not binary, but still contain executable code, or can be used to launch
+ // other executables.
+ FILE_PATH_LITERAL(".bas"),
+ FILE_PATH_LITERAL(".bat"),
+ FILE_PATH_LITERAL(".hta"),
+ FILE_PATH_LITERAL(".js"),
+ FILE_PATH_LITERAL(".jse"),
+ FILE_PATH_LITERAL(".mht"),
+ FILE_PATH_LITERAL(".mhtml"),
+ FILE_PATH_LITERAL(".msh"),
+ FILE_PATH_LITERAL(".msh1"),
+ FILE_PATH_LITERAL(".msh1xml"),
+ FILE_PATH_LITERAL(".msh2"),
+ FILE_PATH_LITERAL(".msh2xml"),
+ FILE_PATH_LITERAL(".mshxml"),
+ FILE_PATH_LITERAL(".ps1"),
+ FILE_PATH_LITERAL(".ps1xml"),
+ FILE_PATH_LITERAL(".ps2"),
+ FILE_PATH_LITERAL(".ps2xml"),
+ FILE_PATH_LITERAL(".psc1"),
+ FILE_PATH_LITERAL(".psc2"),
+ FILE_PATH_LITERAL(".reg"),
+ FILE_PATH_LITERAL(".scf"),
+ FILE_PATH_LITERAL(".sct"),
+ FILE_PATH_LITERAL(".url"),
+ FILE_PATH_LITERAL(".vb"),
+ FILE_PATH_LITERAL(".vbe"),
+ FILE_PATH_LITERAL(".vbs"),
+ FILE_PATH_LITERAL(".website"),
+ FILE_PATH_LITERAL(".wsf"),
// Chrome extensions and android APKs are also reported.
- file.MatchesExtension(FILE_PATH_LITERAL(".crx")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".apk")) ||
+ FILE_PATH_LITERAL(".apk"),
+ FILE_PATH_LITERAL(".crx"),
// Mac extensions.
- file.MatchesExtension(FILE_PATH_LITERAL(".dmg")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".pkg")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".osx")) ||
- file.MatchesExtension(FILE_PATH_LITERAL(".app")) ||
- // Archives _may_ contain binaries, we'll check in ExtractFileFeatures.
- IsArchiveFile(file));
+ FILE_PATH_LITERAL(".app"),
+ FILE_PATH_LITERAL(".dmg"),
+ FILE_PATH_LITERAL(".osx"),
+ FILE_PATH_LITERAL(".pkg"),
+ };
+ for (const auto& extension : kSupportedBinaryFileTypes)
+ if (file.MatchesExtension(extension))
+ return true;
+
+ // Archives _may_ contain binaries, we'll check in ExtractFileFeatures.
+ return IsArchiveFile(file);
}
ClientDownloadRequest::DownloadType GetDownloadType(
« no previous file with comments | « chrome/browser/safe_browsing/download_protection_service.cc ('k') | content/browser/download/download_stats.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698