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..c1d903fabf1bec5566c485da79725ced6ab4380e 100644 |
--- a/chrome/common/safe_browsing/download_protection_util.cc |
+++ b/chrome/common/safe_browsing/download_protection_util.cc |
@@ -16,33 +16,30 @@ 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(".bas"), FILE_PATH_LITERAL(".bat"), |
+ FILE_PATH_LITERAL(".cab"), FILE_PATH_LITERAL(".cmd"), |
+ FILE_PATH_LITERAL(".com"), FILE_PATH_LITERAL(".exe"), |
+ FILE_PATH_LITERAL(".hta"), FILE_PATH_LITERAL(".msi"), |
+ FILE_PATH_LITERAL(".pif"), FILE_PATH_LITERAL(".reg"), |
+ FILE_PATH_LITERAL(".scr"), FILE_PATH_LITERAL(".url"), |
+ FILE_PATH_LITERAL(".vb"), FILE_PATH_LITERAL(".vbe"), |
+ FILE_PATH_LITERAL(".vbs"), FILE_PATH_LITERAL(".js"), |
+ FILE_PATH_LITERAL(".jse"), FILE_PATH_LITERAL(".website"), |
+ FILE_PATH_LITERAL(".mht"), FILE_PATH_LITERAL(".mhtml"), |
moheeb1
2015/07/08 20:25:30
could you please also add .wsf (windows script fi
|
// Chrome extensions and android APKs are also reported. |
- file.MatchesExtension(FILE_PATH_LITERAL(".crx")) || |
- file.MatchesExtension(FILE_PATH_LITERAL(".apk")) || |
+ FILE_PATH_LITERAL(".crx"), FILE_PATH_LITERAL(".apk"), |
// 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(".dmg"), FILE_PATH_LITERAL(".pkg"), |
+ FILE_PATH_LITERAL(".osx"), FILE_PATH_LITERAL(".app"), |
+ }; |
+ 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( |