| 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/common/safe_browsing/download_protection_util.h" | 5 #include "chrome/common/safe_browsing/download_protection_util.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 EXTENSION_UDF, | 255 EXTENSION_UDF, |
| 256 EXTENSION_UU, | 256 EXTENSION_UU, |
| 257 EXTENSION_UUE, | 257 EXTENSION_UUE, |
| 258 EXTENSION_VHD, | 258 EXTENSION_VHD, |
| 259 EXTENSION_VMDK, | 259 EXTENSION_VMDK, |
| 260 EXTENSION_WRC, | 260 EXTENSION_WRC, |
| 261 EXTENSION_XAR, | 261 EXTENSION_XAR, |
| 262 EXTENSION_XXE, | 262 EXTENSION_XXE, |
| 263 EXTENSION_ZIPX, | 263 EXTENSION_ZIPX, |
| 264 EXTENSION_ZPAQ, | 264 EXTENSION_ZPAQ, |
| 265 EXTENSION_RELS, |
| 266 EXTENSION_MSG, |
| 267 EXTENSION_EML, |
| 268 EXTENSION_RTF, |
| 265 | 269 |
| 266 // New values go above this one. | 270 // New values go above this one. |
| 267 EXTENSION_MAX | 271 EXTENSION_MAX |
| 268 }; | 272 }; |
| 269 | 273 |
| 270 struct SafeBrowsingFiletype { | 274 struct SafeBrowsingFiletype { |
| 271 const base::FilePath::CharType* const extension; | 275 const base::FilePath::CharType* const extension; |
| 272 int uma_value; | 276 int uma_value; |
| 273 bool is_supported_binary; | 277 bool is_supported_binary; |
| 274 bool is_archive; | 278 bool is_archive; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 312 {FILE_PATH_LITERAL(".cpl"), EXTENSION_CPL, true, false}, | 316 {FILE_PATH_LITERAL(".cpl"), EXTENSION_CPL, true, false}, |
| 313 {FILE_PATH_LITERAL(".crt"), EXTENSION_CRT, true, false}, | 317 {FILE_PATH_LITERAL(".crt"), EXTENSION_CRT, true, false}, |
| 314 {FILE_PATH_LITERAL(".crx"), EXTENSION_CRX, true, false}, | 318 {FILE_PATH_LITERAL(".crx"), EXTENSION_CRX, true, false}, |
| 315 {FILE_PATH_LITERAL(".csh"), EXTENSION_CSH, true, false}, | 319 {FILE_PATH_LITERAL(".csh"), EXTENSION_CSH, true, false}, |
| 316 {FILE_PATH_LITERAL(".deb"), EXTENSION_DEB, true, false}, | 320 {FILE_PATH_LITERAL(".deb"), EXTENSION_DEB, true, false}, |
| 317 {FILE_PATH_LITERAL(".dex"), EXTENSION_DEX, true, false}, | 321 {FILE_PATH_LITERAL(".dex"), EXTENSION_DEX, true, false}, |
| 318 {FILE_PATH_LITERAL(".dll"), EXTENSION_DLL, true, false}, | 322 {FILE_PATH_LITERAL(".dll"), EXTENSION_DLL, true, false}, |
| 319 {FILE_PATH_LITERAL(".dmg"), EXTENSION_DMG, true, false}, | 323 {FILE_PATH_LITERAL(".dmg"), EXTENSION_DMG, true, false}, |
| 320 {FILE_PATH_LITERAL(".drv"), EXTENSION_DRV, true, false}, | 324 {FILE_PATH_LITERAL(".drv"), EXTENSION_DRV, true, false}, |
| 321 {FILE_PATH_LITERAL(".efi"), EXTENSION_EFI, true, false}, | 325 {FILE_PATH_LITERAL(".efi"), EXTENSION_EFI, true, false}, |
| 326 {FILE_PATH_LITERAL(".eml"), EXTENSION_EML, true, false}, |
| 322 {FILE_PATH_LITERAL(".exe"), EXTENSION_EXE, true, false}, | 327 {FILE_PATH_LITERAL(".exe"), EXTENSION_EXE, true, false}, |
| 323 {FILE_PATH_LITERAL(".fat"), EXTENSION_FAT, true, true}, | 328 {FILE_PATH_LITERAL(".fat"), EXTENSION_FAT, true, true}, |
| 324 {FILE_PATH_LITERAL(".fon"), EXTENSION_FON, true, false}, | 329 {FILE_PATH_LITERAL(".fon"), EXTENSION_FON, true, false}, |
| 325 {FILE_PATH_LITERAL(".fxp"), EXTENSION_FXP, true, false}, | 330 {FILE_PATH_LITERAL(".fxp"), EXTENSION_FXP, true, false}, |
| 326 {FILE_PATH_LITERAL(".gadget"), EXTENSION_GADGET, true, false}, | 331 {FILE_PATH_LITERAL(".gadget"), EXTENSION_GADGET, true, false}, |
| 327 {FILE_PATH_LITERAL(".grp"), EXTENSION_GRP, true, false}, | 332 {FILE_PATH_LITERAL(".grp"), EXTENSION_GRP, true, false}, |
| 328 {FILE_PATH_LITERAL(".gz"), EXTENSION_GZ, true, true}, | 333 {FILE_PATH_LITERAL(".gz"), EXTENSION_GZ, true, true}, |
| 329 {FILE_PATH_LITERAL(".gzip"), EXTENSION_GZIP, true, true}, | 334 {FILE_PATH_LITERAL(".gzip"), EXTENSION_GZIP, true, true}, |
| 330 {FILE_PATH_LITERAL(".hfs"), EXTENSION_HFS, true, true}, | 335 {FILE_PATH_LITERAL(".hfs"), EXTENSION_HFS, true, true}, |
| 331 {FILE_PATH_LITERAL(".hlp"), EXTENSION_HLP, true, false}, | 336 {FILE_PATH_LITERAL(".hlp"), EXTENSION_HLP, true, false}, |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 {FILE_PATH_LITERAL(".mde"), EXTENSION_MDE, true, false}, | 376 {FILE_PATH_LITERAL(".mde"), EXTENSION_MDE, true, false}, |
| 372 {FILE_PATH_LITERAL(".mdt"), EXTENSION_MDT, true, false}, | 377 {FILE_PATH_LITERAL(".mdt"), EXTENSION_MDT, true, false}, |
| 373 {FILE_PATH_LITERAL(".mdw"), EXTENSION_MDW, true, false}, | 378 {FILE_PATH_LITERAL(".mdw"), EXTENSION_MDW, true, false}, |
| 374 {FILE_PATH_LITERAL(".mdz"), EXTENSION_MDZ, true, false}, | 379 {FILE_PATH_LITERAL(".mdz"), EXTENSION_MDZ, true, false}, |
| 375 {FILE_PATH_LITERAL(".mht"), EXTENSION_MHT, true, false}, | 380 {FILE_PATH_LITERAL(".mht"), EXTENSION_MHT, true, false}, |
| 376 {FILE_PATH_LITERAL(".mhtml"), EXTENSION_MHTML, true, false}, | 381 {FILE_PATH_LITERAL(".mhtml"), EXTENSION_MHTML, true, false}, |
| 377 {FILE_PATH_LITERAL(".mim"), EXTENSION_MIM, true, true}, | 382 {FILE_PATH_LITERAL(".mim"), EXTENSION_MIM, true, true}, |
| 378 {FILE_PATH_LITERAL(".mmc"), EXTENSION_MMC, true, false}, | 383 {FILE_PATH_LITERAL(".mmc"), EXTENSION_MMC, true, false}, |
| 379 {FILE_PATH_LITERAL(".mof"), EXTENSION_MOF, true, false}, | 384 {FILE_PATH_LITERAL(".mof"), EXTENSION_MOF, true, false}, |
| 380 {FILE_PATH_LITERAL(".msc"), EXTENSION_MSC, true, false}, | 385 {FILE_PATH_LITERAL(".msc"), EXTENSION_MSC, true, false}, |
| 386 {FILE_PATH_LITERAL(".msg"), EXTENSION_MSG, true, false}, |
| 381 {FILE_PATH_LITERAL(".msh"), EXTENSION_MSH, true, false}, | 387 {FILE_PATH_LITERAL(".msh"), EXTENSION_MSH, true, false}, |
| 382 {FILE_PATH_LITERAL(".msh1"), EXTENSION_MSH1, true, false}, | 388 {FILE_PATH_LITERAL(".msh1"), EXTENSION_MSH1, true, false}, |
| 383 {FILE_PATH_LITERAL(".msh1xml"), EXTENSION_MSH1XML, true, false}, | 389 {FILE_PATH_LITERAL(".msh1xml"), EXTENSION_MSH1XML, true, false}, |
| 384 {FILE_PATH_LITERAL(".msh2"), EXTENSION_MSH2, true, false}, | 390 {FILE_PATH_LITERAL(".msh2"), EXTENSION_MSH2, true, false}, |
| 385 {FILE_PATH_LITERAL(".msh2xml"), EXTENSION_MSH2XML, true, false}, | 391 {FILE_PATH_LITERAL(".msh2xml"), EXTENSION_MSH2XML, true, false}, |
| 386 {FILE_PATH_LITERAL(".mshxml"), EXTENSION_MSHXML, true, false}, | 392 {FILE_PATH_LITERAL(".mshxml"), EXTENSION_MSHXML, true, false}, |
| 387 {FILE_PATH_LITERAL(".msi"), EXTENSION_MSI, true, false}, | 393 {FILE_PATH_LITERAL(".msi"), EXTENSION_MSI, true, false}, |
| 388 {FILE_PATH_LITERAL(".msp"), EXTENSION_MSP, true, false}, | 394 {FILE_PATH_LITERAL(".msp"), EXTENSION_MSP, true, false}, |
| 389 {FILE_PATH_LITERAL(".mst"), EXTENSION_MST, true, false}, | 395 {FILE_PATH_LITERAL(".mst"), EXTENSION_MST, true, false}, |
| 390 {FILE_PATH_LITERAL(".ntfs"), EXTENSION_NTFS, true, true}, | 396 {FILE_PATH_LITERAL(".ntfs"), EXTENSION_NTFS, true, true}, |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 {FILE_PATH_LITERAL(".r22"), EXTENSION_R22, true, true}, | 451 {FILE_PATH_LITERAL(".r22"), EXTENSION_R22, true, true}, |
| 446 {FILE_PATH_LITERAL(".r23"), EXTENSION_R23, true, true}, | 452 {FILE_PATH_LITERAL(".r23"), EXTENSION_R23, true, true}, |
| 447 {FILE_PATH_LITERAL(".r24"), EXTENSION_R24, true, true}, | 453 {FILE_PATH_LITERAL(".r24"), EXTENSION_R24, true, true}, |
| 448 {FILE_PATH_LITERAL(".r25"), EXTENSION_R25, true, true}, | 454 {FILE_PATH_LITERAL(".r25"), EXTENSION_R25, true, true}, |
| 449 {FILE_PATH_LITERAL(".r26"), EXTENSION_R26, true, true}, | 455 {FILE_PATH_LITERAL(".r26"), EXTENSION_R26, true, true}, |
| 450 {FILE_PATH_LITERAL(".r27"), EXTENSION_R27, true, true}, | 456 {FILE_PATH_LITERAL(".r27"), EXTENSION_R27, true, true}, |
| 451 {FILE_PATH_LITERAL(".r28"), EXTENSION_R28, true, true}, | 457 {FILE_PATH_LITERAL(".r28"), EXTENSION_R28, true, true}, |
| 452 {FILE_PATH_LITERAL(".r29"), EXTENSION_R29, true, true}, | 458 {FILE_PATH_LITERAL(".r29"), EXTENSION_R29, true, true}, |
| 453 {FILE_PATH_LITERAL(".rar"), EXTENSION_RAR, true, true}, | 459 {FILE_PATH_LITERAL(".rar"), EXTENSION_RAR, true, true}, |
| 454 {FILE_PATH_LITERAL(".rb"), EXTENSION_RB, true, false}, | 460 {FILE_PATH_LITERAL(".rb"), EXTENSION_RB, true, false}, |
| 461 {FILE_PATH_LITERAL(".rels"), EXTENSION_RELS, true, false}, |
| 455 {FILE_PATH_LITERAL(".reg"), EXTENSION_REG, true, false}, | 462 {FILE_PATH_LITERAL(".reg"), EXTENSION_REG, true, false}, |
| 456 {FILE_PATH_LITERAL(".rgs"), EXTENSION_RGS, false, false}, // UMA only. | 463 {FILE_PATH_LITERAL(".rgs"), EXTENSION_RGS, false, false}, // UMA only. |
| 457 {FILE_PATH_LITERAL(".rpm"), EXTENSION_RPM, true, false}, | 464 {FILE_PATH_LITERAL(".rpm"), EXTENSION_RPM, true, false}, |
| 465 {FILE_PATH_LITERAL(".rtf"), EXTENSION_RTF, false, false}, // UMA only. |
| 458 {FILE_PATH_LITERAL(".scf"), EXTENSION_SCF, true, false}, | 466 {FILE_PATH_LITERAL(".scf"), EXTENSION_SCF, true, false}, |
| 459 {FILE_PATH_LITERAL(".scr"), EXTENSION_SCR, true, false}, | 467 {FILE_PATH_LITERAL(".scr"), EXTENSION_SCR, true, false}, |
| 460 {FILE_PATH_LITERAL(".sct"), EXTENSION_SCT, true, false}, | 468 {FILE_PATH_LITERAL(".sct"), EXTENSION_SCT, true, false}, |
| 461 {FILE_PATH_LITERAL(".sh"), EXTENSION_SH, true, false}, | 469 {FILE_PATH_LITERAL(".sh"), EXTENSION_SH, true, false}, |
| 462 {FILE_PATH_LITERAL(".shar"), EXTENSION_SHAR, true, false}, | 470 {FILE_PATH_LITERAL(".shar"), EXTENSION_SHAR, true, false}, |
| 463 {FILE_PATH_LITERAL(".shb"), EXTENSION_SHB, true, false}, | 471 {FILE_PATH_LITERAL(".shb"), EXTENSION_SHB, true, false}, |
| 464 {FILE_PATH_LITERAL(".shs"), EXTENSION_SHS, true, false}, | 472 {FILE_PATH_LITERAL(".shs"), EXTENSION_SHS, true, false}, |
| 465 {FILE_PATH_LITERAL(".slp"), EXTENSION_SLP, true, true}, | 473 {FILE_PATH_LITERAL(".slp"), EXTENSION_SLP, true, true}, |
| 466 {FILE_PATH_LITERAL(".spl"), EXTENSION_SPL, true, false}, | 474 {FILE_PATH_LITERAL(".spl"), EXTENSION_SPL, true, false}, |
| 467 {FILE_PATH_LITERAL(".squashfs"), EXTENSION_SQUASHFS, true, true}, | 475 {FILE_PATH_LITERAL(".squashfs"), EXTENSION_SQUASHFS, true, true}, |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 return ClientDownloadRequest::ARCHIVE; | 596 return ClientDownloadRequest::ARCHIVE; |
| 589 return ClientDownloadRequest::WIN_EXECUTABLE; | 597 return ClientDownloadRequest::WIN_EXECUTABLE; |
| 590 } | 598 } |
| 591 | 599 |
| 592 int GetSBClientDownloadExtensionValueForUMA(const base::FilePath& file) { | 600 int GetSBClientDownloadExtensionValueForUMA(const base::FilePath& file) { |
| 593 return GetFileType(file).uma_value; | 601 return GetFileType(file).uma_value; |
| 594 } | 602 } |
| 595 | 603 |
| 596 } // namespace download_protection_util | 604 } // namespace download_protection_util |
| 597 } // namespace safe_browsing | 605 } // namespace safe_browsing |
| OLD | NEW |