Chromium Code Reviews| 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( |