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/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 EXTENSION_DEX, | 167 EXTENSION_DEX, |
168 EXTENSION_APPREF_MS, | 168 EXTENSION_APPREF_MS, |
169 EXTENSION_GADGET, | 169 EXTENSION_GADGET, |
170 EXTENSION_EFI, | 170 EXTENSION_EFI, |
171 EXTENSION_FON, | 171 EXTENSION_FON, |
172 EXTENSION_BZIP2, | 172 EXTENSION_BZIP2, |
173 EXTENSION_GZIP, | 173 EXTENSION_GZIP, |
174 EXTENSION_TAZ, | 174 EXTENSION_TAZ, |
175 EXTENSION_TBZ, | 175 EXTENSION_TBZ, |
176 EXTENSION_TBZ2, | 176 EXTENSION_TBZ2, |
| 177 EXTENSION_PARTIAL, |
| 178 EXTENSION_SVG, |
| 179 EXTENSION_XML, |
| 180 EXTENSION_XRM_MS, |
| 181 EXTENSION_XSL, |
| 182 EXTENSION_ACTION, |
| 183 EXTENSION_BIN, |
| 184 EXTENSION_INX, |
| 185 EXTENSION_IPA, |
| 186 EXTENSION_ISU, |
| 187 EXTENSION_JOB, |
| 188 EXTENSION_OUT, |
| 189 EXTENSION_PAD, |
| 190 EXTENSION_PAF, |
| 191 EXTENSION_RGS, |
| 192 EXTENSION_U3P, |
| 193 EXTENSION_VBSCRIPT, |
| 194 EXTENSION_WORKFLOW, |
177 | 195 |
178 // New values go above this one. | 196 // New values go above this one. |
179 EXTENSION_MAX | 197 EXTENSION_MAX |
180 }; | 198 }; |
181 | 199 |
182 struct SafeBrowsingFiletype { | 200 struct SafeBrowsingFiletype { |
183 const base::FilePath::CharType* const extension; | 201 const base::FilePath::CharType* const extension; |
184 int uma_value; | 202 int uma_value; |
185 bool is_supported_binary; | 203 bool is_supported_binary; |
186 bool is_archive; | 204 bool is_archive; |
187 }; | 205 }; |
188 | 206 |
189 const SafeBrowsingFiletype kSafeBrowsingFileTypes[] = { | 207 const SafeBrowsingFiletype kSafeBrowsingFileTypes[] = { |
190 // KEEP THIS LIST SORTED! | 208 // KEEP THIS LIST SORTED! |
191 {FILE_PATH_LITERAL(".7z"), EXTENSION_7Z, true, true}, | 209 {FILE_PATH_LITERAL(".7z"), EXTENSION_7Z, true, true}, |
| 210 {FILE_PATH_LITERAL(".action"), EXTENSION_ACTION, false, false}, // UMA. |
192 {FILE_PATH_LITERAL(".ade"), EXTENSION_ADE, true, false}, | 211 {FILE_PATH_LITERAL(".ade"), EXTENSION_ADE, true, false}, |
193 {FILE_PATH_LITERAL(".adp"), EXTENSION_ADP, true, false}, | 212 {FILE_PATH_LITERAL(".adp"), EXTENSION_ADP, true, false}, |
194 {FILE_PATH_LITERAL(".apk"), EXTENSION_APK, true, false}, | 213 {FILE_PATH_LITERAL(".apk"), EXTENSION_APK, true, false}, |
195 {FILE_PATH_LITERAL(".app"), EXTENSION_APP, true, false}, | 214 {FILE_PATH_LITERAL(".app"), EXTENSION_APP, true, false}, |
196 {FILE_PATH_LITERAL(".application"), EXTENSION_APPLICATION, true, false}, | 215 {FILE_PATH_LITERAL(".application"), EXTENSION_APPLICATION, true, false}, |
197 {FILE_PATH_LITERAL(".appref-ms"), EXTENSION_APPREF_MS, true, false}, | 216 {FILE_PATH_LITERAL(".appref-ms"), EXTENSION_APPREF_MS, true, false}, |
198 {FILE_PATH_LITERAL(".arj"), EXTENSION_ARJ, true, true}, | 217 {FILE_PATH_LITERAL(".arj"), EXTENSION_ARJ, true, true}, |
199 {FILE_PATH_LITERAL(".asp"), EXTENSION_ASP, true, false}, | 218 {FILE_PATH_LITERAL(".asp"), EXTENSION_ASP, true, false}, |
200 {FILE_PATH_LITERAL(".asx"), EXTENSION_ASX, true, false}, | 219 {FILE_PATH_LITERAL(".asx"), EXTENSION_ASX, true, false}, |
201 {FILE_PATH_LITERAL(".bas"), EXTENSION_BAS, true, false}, | 220 {FILE_PATH_LITERAL(".bas"), EXTENSION_BAS, true, false}, |
202 {FILE_PATH_LITERAL(".bash"), EXTENSION_BASH, true, false}, | 221 {FILE_PATH_LITERAL(".bash"), EXTENSION_BASH, true, false}, |
203 {FILE_PATH_LITERAL(".bat"), EXTENSION_BAT, true, false}, | 222 {FILE_PATH_LITERAL(".bat"), EXTENSION_BAT, true, false}, |
| 223 {FILE_PATH_LITERAL(".bin"), EXTENSION_BIN, false, false}, // UMA only. |
204 {FILE_PATH_LITERAL(".bz2"), EXTENSION_BZ2, true, true}, | 224 {FILE_PATH_LITERAL(".bz2"), EXTENSION_BZ2, true, true}, |
205 {FILE_PATH_LITERAL(".bzip2"), EXTENSION_BZIP2, true, true}, | 225 {FILE_PATH_LITERAL(".bzip2"), EXTENSION_BZIP2, true, true}, |
206 {FILE_PATH_LITERAL(".cab"), EXTENSION_CAB, true, true}, | 226 {FILE_PATH_LITERAL(".cab"), EXTENSION_CAB, true, true}, |
207 {FILE_PATH_LITERAL(".cfg"), EXTENSION_CFG, true, false}, | 227 {FILE_PATH_LITERAL(".cfg"), EXTENSION_CFG, true, false}, |
208 {FILE_PATH_LITERAL(".chi"), EXTENSION_CHI, true, false}, | 228 {FILE_PATH_LITERAL(".chi"), EXTENSION_CHI, true, false}, |
209 {FILE_PATH_LITERAL(".chm"), EXTENSION_CHM, true, false}, | 229 {FILE_PATH_LITERAL(".chm"), EXTENSION_CHM, true, false}, |
210 {FILE_PATH_LITERAL(".class"), EXTENSION_CLASS, true, false}, | 230 {FILE_PATH_LITERAL(".class"), EXTENSION_CLASS, true, false}, |
211 {FILE_PATH_LITERAL(".cmd"), EXTENSION_CMD, true, false}, | 231 {FILE_PATH_LITERAL(".cmd"), EXTENSION_CMD, true, false}, |
212 {FILE_PATH_LITERAL(".com"), EXTENSION_COM, true, false}, | 232 {FILE_PATH_LITERAL(".com"), EXTENSION_COM, true, false}, |
213 {FILE_PATH_LITERAL(".command"), EXTENSION_COMMAND, true, false}, | 233 {FILE_PATH_LITERAL(".command"), EXTENSION_COMMAND, true, false}, |
(...skipping 14 matching lines...) Expand all Loading... |
228 {FILE_PATH_LITERAL(".gadget"), EXTENSION_GADGET, true, false}, | 248 {FILE_PATH_LITERAL(".gadget"), EXTENSION_GADGET, true, false}, |
229 {FILE_PATH_LITERAL(".grp"), EXTENSION_GRP, true, false}, | 249 {FILE_PATH_LITERAL(".grp"), EXTENSION_GRP, true, false}, |
230 {FILE_PATH_LITERAL(".gz"), EXTENSION_GZ, true, true}, | 250 {FILE_PATH_LITERAL(".gz"), EXTENSION_GZ, true, true}, |
231 {FILE_PATH_LITERAL(".gzip"), EXTENSION_GZIP, true, true}, | 251 {FILE_PATH_LITERAL(".gzip"), EXTENSION_GZIP, true, true}, |
232 {FILE_PATH_LITERAL(".hlp"), EXTENSION_HLP, true, false}, | 252 {FILE_PATH_LITERAL(".hlp"), EXTENSION_HLP, true, false}, |
233 {FILE_PATH_LITERAL(".hta"), EXTENSION_HTA, true, false}, | 253 {FILE_PATH_LITERAL(".hta"), EXTENSION_HTA, true, false}, |
234 {FILE_PATH_LITERAL(".htt"), EXTENSION_HTT, true, false}, | 254 {FILE_PATH_LITERAL(".htt"), EXTENSION_HTT, true, false}, |
235 {FILE_PATH_LITERAL(".inf"), EXTENSION_INF, true, false}, | 255 {FILE_PATH_LITERAL(".inf"), EXTENSION_INF, true, false}, |
236 {FILE_PATH_LITERAL(".ini"), EXTENSION_INI, true, false}, | 256 {FILE_PATH_LITERAL(".ini"), EXTENSION_INI, true, false}, |
237 {FILE_PATH_LITERAL(".ins"), EXTENSION_INS, true, false}, | 257 {FILE_PATH_LITERAL(".ins"), EXTENSION_INS, true, false}, |
| 258 {FILE_PATH_LITERAL(".inx"), EXTENSION_INX, false, false}, // UMA only. |
| 259 {FILE_PATH_LITERAL(".ipa"), EXTENSION_IPA, false, false}, // UMA only. |
238 {FILE_PATH_LITERAL(".isp"), EXTENSION_ISP, true, false}, | 260 {FILE_PATH_LITERAL(".isp"), EXTENSION_ISP, true, false}, |
| 261 {FILE_PATH_LITERAL(".isu"), EXTENSION_ISU, false, false}, // UMA only. |
239 {FILE_PATH_LITERAL(".jar"), EXTENSION_JAR, true, false}, | 262 {FILE_PATH_LITERAL(".jar"), EXTENSION_JAR, true, false}, |
240 {FILE_PATH_LITERAL(".jnlp"), EXTENSION_JNLP, true, false}, | 263 {FILE_PATH_LITERAL(".jnlp"), EXTENSION_JNLP, true, false}, |
| 264 {FILE_PATH_LITERAL(".job"), EXTENSION_JOB, false, false}, // UMA only. |
241 {FILE_PATH_LITERAL(".js"), EXTENSION_JS, true, false}, | 265 {FILE_PATH_LITERAL(".js"), EXTENSION_JS, true, false}, |
242 {FILE_PATH_LITERAL(".jse"), EXTENSION_JSE, true, false}, | 266 {FILE_PATH_LITERAL(".jse"), EXTENSION_JSE, true, false}, |
243 {FILE_PATH_LITERAL(".ksh"), EXTENSION_KSH, true, false}, | 267 {FILE_PATH_LITERAL(".ksh"), EXTENSION_KSH, true, false}, |
244 {FILE_PATH_LITERAL(".lha"), EXTENSION_LHA, true, true}, | 268 {FILE_PATH_LITERAL(".lha"), EXTENSION_LHA, true, true}, |
245 {FILE_PATH_LITERAL(".lnk"), EXTENSION_LNK, true, false}, | 269 {FILE_PATH_LITERAL(".lnk"), EXTENSION_LNK, true, false}, |
246 {FILE_PATH_LITERAL(".local"), EXTENSION_LOCAL, true, false}, | 270 {FILE_PATH_LITERAL(".local"), EXTENSION_LOCAL, true, false}, |
247 {FILE_PATH_LITERAL(".lzh"), EXTENSION_LZH, true, true}, | 271 {FILE_PATH_LITERAL(".lzh"), EXTENSION_LZH, true, true}, |
248 {FILE_PATH_LITERAL(".lzma"), EXTENSION_LZMA, true, true}, | 272 {FILE_PATH_LITERAL(".lzma"), EXTENSION_LZMA, true, true}, |
249 {FILE_PATH_LITERAL(".mad"), EXTENSION_MAD, true, false}, | 273 {FILE_PATH_LITERAL(".mad"), EXTENSION_MAD, true, false}, |
250 {FILE_PATH_LITERAL(".maf"), EXTENSION_MAF, true, false}, | 274 {FILE_PATH_LITERAL(".maf"), EXTENSION_MAF, true, false}, |
(...skipping 23 matching lines...) Expand all Loading... |
274 {FILE_PATH_LITERAL(".msh1xml"), EXTENSION_MSH1XML, true, false}, | 298 {FILE_PATH_LITERAL(".msh1xml"), EXTENSION_MSH1XML, true, false}, |
275 {FILE_PATH_LITERAL(".msh2"), EXTENSION_MSH2, true, false}, | 299 {FILE_PATH_LITERAL(".msh2"), EXTENSION_MSH2, true, false}, |
276 {FILE_PATH_LITERAL(".msh2xml"), EXTENSION_MSH2XML, true, false}, | 300 {FILE_PATH_LITERAL(".msh2xml"), EXTENSION_MSH2XML, true, false}, |
277 {FILE_PATH_LITERAL(".mshxml"), EXTENSION_MSHXML, true, false}, | 301 {FILE_PATH_LITERAL(".mshxml"), EXTENSION_MSHXML, true, false}, |
278 {FILE_PATH_LITERAL(".msi"), EXTENSION_MSI, true, false}, | 302 {FILE_PATH_LITERAL(".msi"), EXTENSION_MSI, true, false}, |
279 {FILE_PATH_LITERAL(".msp"), EXTENSION_MSP, true, false}, | 303 {FILE_PATH_LITERAL(".msp"), EXTENSION_MSP, true, false}, |
280 {FILE_PATH_LITERAL(".mst"), EXTENSION_MST, true, false}, | 304 {FILE_PATH_LITERAL(".mst"), EXTENSION_MST, true, false}, |
281 {FILE_PATH_LITERAL(".ocx"), EXTENSION_OCX, true, false}, | 305 {FILE_PATH_LITERAL(".ocx"), EXTENSION_OCX, true, false}, |
282 {FILE_PATH_LITERAL(".ops"), EXTENSION_OPS, true, false}, | 306 {FILE_PATH_LITERAL(".ops"), EXTENSION_OPS, true, false}, |
283 {FILE_PATH_LITERAL(".osx"), EXTENSION_OSX, true, false}, | 307 {FILE_PATH_LITERAL(".osx"), EXTENSION_OSX, true, false}, |
| 308 {FILE_PATH_LITERAL(".out"), EXTENSION_OUT, false, false}, // UMA only. |
| 309 {FILE_PATH_LITERAL(".pad"), EXTENSION_PAD, false, false}, // UMA only. |
| 310 {FILE_PATH_LITERAL(".paf"), EXTENSION_PAF, false, false}, // UMA only. |
| 311 {FILE_PATH_LITERAL(".partial"), EXTENSION_PARTIAL, true, false}, |
284 {FILE_PATH_LITERAL(".pcd"), EXTENSION_PCD, true, false}, | 312 {FILE_PATH_LITERAL(".pcd"), EXTENSION_PCD, true, false}, |
285 {FILE_PATH_LITERAL(".pif"), EXTENSION_PIF, true, false}, | 313 {FILE_PATH_LITERAL(".pif"), EXTENSION_PIF, true, false}, |
286 {FILE_PATH_LITERAL(".pkg"), EXTENSION_PKG, true, false}, | 314 {FILE_PATH_LITERAL(".pkg"), EXTENSION_PKG, true, false}, |
287 {FILE_PATH_LITERAL(".pl"), EXTENSION_PL, true, false}, | 315 {FILE_PATH_LITERAL(".pl"), EXTENSION_PL, true, false}, |
288 {FILE_PATH_LITERAL(".plg"), EXTENSION_PLG, true, false}, | 316 {FILE_PATH_LITERAL(".plg"), EXTENSION_PLG, true, false}, |
289 {FILE_PATH_LITERAL(".prf"), EXTENSION_PRF, true, false}, | 317 {FILE_PATH_LITERAL(".prf"), EXTENSION_PRF, true, false}, |
290 {FILE_PATH_LITERAL(".prg"), EXTENSION_PRG, true, false}, | 318 {FILE_PATH_LITERAL(".prg"), EXTENSION_PRG, true, false}, |
291 {FILE_PATH_LITERAL(".ps1"), EXTENSION_PS1, true, false}, | 319 {FILE_PATH_LITERAL(".ps1"), EXTENSION_PS1, true, false}, |
292 {FILE_PATH_LITERAL(".ps1xml"), EXTENSION_PS1XML, true, false}, | 320 {FILE_PATH_LITERAL(".ps1xml"), EXTENSION_PS1XML, true, false}, |
293 {FILE_PATH_LITERAL(".ps2"), EXTENSION_PS2, true, false}, | 321 {FILE_PATH_LITERAL(".ps2"), EXTENSION_PS2, true, false}, |
294 {FILE_PATH_LITERAL(".ps2xml"), EXTENSION_PS2XML, true, false}, | 322 {FILE_PATH_LITERAL(".ps2xml"), EXTENSION_PS2XML, true, false}, |
295 {FILE_PATH_LITERAL(".psc1"), EXTENSION_PSC1, true, false}, | 323 {FILE_PATH_LITERAL(".psc1"), EXTENSION_PSC1, true, false}, |
296 {FILE_PATH_LITERAL(".psc2"), EXTENSION_PSC2, true, false}, | 324 {FILE_PATH_LITERAL(".psc2"), EXTENSION_PSC2, true, false}, |
297 {FILE_PATH_LITERAL(".pst"), EXTENSION_PST, true, false}, | 325 {FILE_PATH_LITERAL(".pst"), EXTENSION_PST, true, false}, |
298 {FILE_PATH_LITERAL(".py"), EXTENSION_PY, true, false}, | 326 {FILE_PATH_LITERAL(".py"), EXTENSION_PY, true, false}, |
299 {FILE_PATH_LITERAL(".pyc"), EXTENSION_PYC, true, false}, | 327 {FILE_PATH_LITERAL(".pyc"), EXTENSION_PYC, true, false}, |
300 {FILE_PATH_LITERAL(".pyw"), EXTENSION_PYW, true, false}, | 328 {FILE_PATH_LITERAL(".pyw"), EXTENSION_PYW, true, false}, |
301 {FILE_PATH_LITERAL(".rar"), EXTENSION_RAR, true, true}, | 329 {FILE_PATH_LITERAL(".rar"), EXTENSION_RAR, true, true}, |
302 {FILE_PATH_LITERAL(".rb"), EXTENSION_RB, true, false}, | 330 {FILE_PATH_LITERAL(".rb"), EXTENSION_RB, true, false}, |
303 {FILE_PATH_LITERAL(".reg"), EXTENSION_REG, true, false}, | 331 {FILE_PATH_LITERAL(".reg"), EXTENSION_REG, true, false}, |
| 332 {FILE_PATH_LITERAL(".rgs"), EXTENSION_RGS, false, false}, // UMA only. |
304 {FILE_PATH_LITERAL(".rpm"), EXTENSION_RPM, true, false}, | 333 {FILE_PATH_LITERAL(".rpm"), EXTENSION_RPM, true, false}, |
305 {FILE_PATH_LITERAL(".scf"), EXTENSION_SCF, true, false}, | 334 {FILE_PATH_LITERAL(".scf"), EXTENSION_SCF, true, false}, |
306 {FILE_PATH_LITERAL(".scr"), EXTENSION_SCR, true, false}, | 335 {FILE_PATH_LITERAL(".scr"), EXTENSION_SCR, true, false}, |
307 {FILE_PATH_LITERAL(".sct"), EXTENSION_SCT, true, false}, | 336 {FILE_PATH_LITERAL(".sct"), EXTENSION_SCT, true, false}, |
308 {FILE_PATH_LITERAL(".sh"), EXTENSION_SH, true, false}, | 337 {FILE_PATH_LITERAL(".sh"), EXTENSION_SH, true, false}, |
309 {FILE_PATH_LITERAL(".shar"), EXTENSION_SHAR, true, false}, | 338 {FILE_PATH_LITERAL(".shar"), EXTENSION_SHAR, true, false}, |
310 {FILE_PATH_LITERAL(".shb"), EXTENSION_SHB, true, false}, | 339 {FILE_PATH_LITERAL(".shb"), EXTENSION_SHB, true, false}, |
311 {FILE_PATH_LITERAL(".shs"), EXTENSION_SHS, true, false}, | 340 {FILE_PATH_LITERAL(".shs"), EXTENSION_SHS, true, false}, |
312 {FILE_PATH_LITERAL(".spl"), EXTENSION_SPL, true, false}, | 341 {FILE_PATH_LITERAL(".spl"), EXTENSION_SPL, true, false}, |
| 342 {FILE_PATH_LITERAL(".svg"), EXTENSION_SVG, true, false}, |
313 {FILE_PATH_LITERAL(".swf"), EXTENSION_SWF, true, false}, | 343 {FILE_PATH_LITERAL(".swf"), EXTENSION_SWF, true, false}, |
314 {FILE_PATH_LITERAL(".sys"), EXTENSION_SYS, true, false}, | 344 {FILE_PATH_LITERAL(".sys"), EXTENSION_SYS, true, false}, |
315 {FILE_PATH_LITERAL(".tar"), EXTENSION_TAR, true, true}, | 345 {FILE_PATH_LITERAL(".tar"), EXTENSION_TAR, true, true}, |
316 {FILE_PATH_LITERAL(".taz"), EXTENSION_TAZ, true, true}, | 346 {FILE_PATH_LITERAL(".taz"), EXTENSION_TAZ, true, true}, |
317 {FILE_PATH_LITERAL(".tbz"), EXTENSION_TBZ, true, true}, | 347 {FILE_PATH_LITERAL(".tbz"), EXTENSION_TBZ, true, true}, |
318 {FILE_PATH_LITERAL(".tbz2"), EXTENSION_TBZ2, true, true}, | 348 {FILE_PATH_LITERAL(".tbz2"), EXTENSION_TBZ2, true, true}, |
319 {FILE_PATH_LITERAL(".tcsh"), EXTENSION_TCSH, true, false}, | 349 {FILE_PATH_LITERAL(".tcsh"), EXTENSION_TCSH, true, false}, |
320 {FILE_PATH_LITERAL(".tgz"), EXTENSION_TGZ, true, true}, | 350 {FILE_PATH_LITERAL(".tgz"), EXTENSION_TGZ, true, true}, |
321 {FILE_PATH_LITERAL(".torrent"), EXTENSION_TORRENT, true, false}, | 351 {FILE_PATH_LITERAL(".torrent"), EXTENSION_TORRENT, true, false}, |
| 352 {FILE_PATH_LITERAL(".u3p"), EXTENSION_U3P, false, false}, // UMA only. |
322 {FILE_PATH_LITERAL(".url"), EXTENSION_URL, true, false}, | 353 {FILE_PATH_LITERAL(".url"), EXTENSION_URL, true, false}, |
323 {FILE_PATH_LITERAL(".vb"), EXTENSION_VB, true, false}, | 354 {FILE_PATH_LITERAL(".vb"), EXTENSION_VB, true, false}, |
324 {FILE_PATH_LITERAL(".vbe"), EXTENSION_VBE, true, false}, | 355 {FILE_PATH_LITERAL(".vbe"), EXTENSION_VBE, true, false}, |
325 {FILE_PATH_LITERAL(".vbs"), EXTENSION_VBS, true, false}, | 356 {FILE_PATH_LITERAL(".vbs"), EXTENSION_VBS, true, false}, |
| 357 {FILE_PATH_LITERAL(".vbscript"), EXTENSION_VBSCRIPT, false, false}, // UMA. |
326 {FILE_PATH_LITERAL(".vsd"), EXTENSION_VSD, true, false}, | 358 {FILE_PATH_LITERAL(".vsd"), EXTENSION_VSD, true, false}, |
327 {FILE_PATH_LITERAL(".vsmacros"), EXTENSION_VSMACROS, true, false}, | 359 {FILE_PATH_LITERAL(".vsmacros"), EXTENSION_VSMACROS, true, false}, |
328 {FILE_PATH_LITERAL(".vss"), EXTENSION_VSS, true, false}, | 360 {FILE_PATH_LITERAL(".vss"), EXTENSION_VSS, true, false}, |
329 {FILE_PATH_LITERAL(".vst"), EXTENSION_VST, true, false}, | 361 {FILE_PATH_LITERAL(".vst"), EXTENSION_VST, true, false}, |
330 {FILE_PATH_LITERAL(".vsw"), EXTENSION_VSW, true, false}, | 362 {FILE_PATH_LITERAL(".vsw"), EXTENSION_VSW, true, false}, |
331 {FILE_PATH_LITERAL(".website"), EXTENSION_WEBSITE, true, false}, | 363 {FILE_PATH_LITERAL(".website"), EXTENSION_WEBSITE, true, false}, |
332 {FILE_PATH_LITERAL(".wim"), EXTENSION_WIM, true, true}, | 364 {FILE_PATH_LITERAL(".wim"), EXTENSION_WIM, true, true}, |
| 365 {FILE_PATH_LITERAL(".workflow"), EXTENSION_WORKFLOW, false, false}, // UMA. |
333 {FILE_PATH_LITERAL(".ws"), EXTENSION_WS, true, false}, | 366 {FILE_PATH_LITERAL(".ws"), EXTENSION_WS, true, false}, |
334 {FILE_PATH_LITERAL(".wsc"), EXTENSION_WSC, true, false}, | 367 {FILE_PATH_LITERAL(".wsc"), EXTENSION_WSC, true, false}, |
335 {FILE_PATH_LITERAL(".wsf"), EXTENSION_WSF, true, false}, | 368 {FILE_PATH_LITERAL(".wsf"), EXTENSION_WSF, true, false}, |
336 {FILE_PATH_LITERAL(".wsh"), EXTENSION_WSH, true, false}, | 369 {FILE_PATH_LITERAL(".wsh"), EXTENSION_WSH, true, false}, |
337 {FILE_PATH_LITERAL(".xbap"), EXTENSION_XBAP, true, false}, | 370 {FILE_PATH_LITERAL(".xbap"), EXTENSION_XBAP, true, false}, |
| 371 {FILE_PATH_LITERAL(".xml"), EXTENSION_XML, true, false}, |
338 {FILE_PATH_LITERAL(".xnk"), EXTENSION_XNK, true, false}, | 372 {FILE_PATH_LITERAL(".xnk"), EXTENSION_XNK, true, false}, |
| 373 {FILE_PATH_LITERAL(".xrm-ms"), EXTENSION_XRM_MS, true, false}, |
| 374 {FILE_PATH_LITERAL(".xsl"), EXTENSION_XSL, true, false}, |
339 {FILE_PATH_LITERAL(".xz"), EXTENSION_XZ, true, true}, | 375 {FILE_PATH_LITERAL(".xz"), EXTENSION_XZ, true, true}, |
340 {FILE_PATH_LITERAL(".z"), EXTENSION_Z, true, true}, | 376 {FILE_PATH_LITERAL(".z"), EXTENSION_Z, true, true}, |
341 {FILE_PATH_LITERAL(".zip"), EXTENSION_ZIP, true, true}, | 377 {FILE_PATH_LITERAL(".zip"), EXTENSION_ZIP, true, true}, |
342 }; | 378 }; |
343 | 379 |
344 const SafeBrowsingFiletype& GetFileType(const base::FilePath& file) { | 380 const SafeBrowsingFiletype& GetFileType(const base::FilePath& file) { |
345 static const SafeBrowsingFiletype kOther = { | 381 static const SafeBrowsingFiletype kOther = { |
346 nullptr, EXTENSION_OTHER, false, false | 382 nullptr, EXTENSION_OTHER, false, false |
347 }; | 383 }; |
348 | 384 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 return ClientDownloadRequest::ARCHIVE; | 444 return ClientDownloadRequest::ARCHIVE; |
409 return ClientDownloadRequest::WIN_EXECUTABLE; | 445 return ClientDownloadRequest::WIN_EXECUTABLE; |
410 } | 446 } |
411 | 447 |
412 int GetSBClientDownloadExtensionValueForUMA(const base::FilePath& file) { | 448 int GetSBClientDownloadExtensionValueForUMA(const base::FilePath& file) { |
413 return GetFileType(file).uma_value; | 449 return GetFileType(file).uma_value; |
414 } | 450 } |
415 | 451 |
416 } // namespace download_protection_util | 452 } // namespace download_protection_util |
417 } // namespace safe_browsing | 453 } // namespace safe_browsing |
OLD | NEW |