| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <set> | 5 #include <set> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "chrome/browser/download/download_util.h" | 8 #include "chrome/browser/download/download_util.h" |
| 9 | 9 |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 * under the terms of either the GPL or the LGPL, and not to allow others to | 50 * under the terms of either the GPL or the LGPL, and not to allow others to |
| 51 * use your version of this file under the terms of the MPL, indicate your | 51 * use your version of this file under the terms of the MPL, indicate your |
| 52 * decision by deleting the provisions above and replace them with the notice | 52 * decision by deleting the provisions above and replace them with the notice |
| 53 * and other provisions required by the GPL or the LGPL. If you do not delete | 53 * and other provisions required by the GPL or the LGPL. If you do not delete |
| 54 * the provisions above, a recipient may use your version of this file under | 54 * the provisions above, a recipient may use your version of this file under |
| 55 * the terms of any one of the MPL, the GPL or the LGPL. | 55 * the terms of any one of the MPL, the GPL or the LGPL. |
| 56 * | 56 * |
| 57 * ***** END LICENSE BLOCK ***** */ | 57 * ***** END LICENSE BLOCK ***** */ |
| 58 | 58 |
| 59 static const char* const g_executables[] = { | 59 static const char* const g_executables[] = { |
| 60 "class", |
| 61 "htm", |
| 62 "html", |
| 63 "jar", |
| 64 "pdf", |
| 65 "pl", |
| 66 "py", |
| 67 "rb", |
| 68 "shtm", |
| 69 "shtml", |
| 70 "svg", |
| 71 "swf", |
| 72 "xht", |
| 73 "xhtm", |
| 74 "xhtml", |
| 75 "xml", |
| 76 "xsl", |
| 77 "xslt", |
| 60 #if defined(OS_WIN) | 78 #if defined(OS_WIN) |
| 61 "ad", | 79 "ad", |
| 62 "ade", | 80 "ade", |
| 63 "adp", | 81 "adp", |
| 64 "app", | 82 "app", |
| 65 "application", | 83 "application", |
| 66 "asp", | 84 "asp", |
| 67 "asx", | 85 "asx", |
| 68 "bas", | 86 "bas", |
| 69 "bat", | 87 "bat", |
| 70 "chm", | 88 "chm", |
| 71 "cmd", | 89 "cmd", |
| 72 "com", | 90 "com", |
| 73 "cpl", | 91 "cpl", |
| 74 "crt", | 92 "crt", |
| 75 "dll", | 93 "dll", |
| 76 "exe", | 94 "exe", |
| 77 "fxp", | 95 "fxp", |
| 78 "hlp", | 96 "hlp", |
| 79 "hta", | 97 "hta", |
| 80 "htm", | |
| 81 "html", | |
| 82 "htt", | 98 "htt", |
| 83 "inf", | 99 "inf", |
| 84 "ins", | 100 "ins", |
| 85 "isp", | 101 "isp", |
| 86 "jar", | |
| 87 "js", | 102 "js", |
| 88 "jse", | 103 "jse", |
| 89 "lnk", | 104 "lnk", |
| 90 "mad", | 105 "mad", |
| 91 "maf", | 106 "maf", |
| 92 "mag", | 107 "mag", |
| 93 "mam", | 108 "mam", |
| 94 "maq", | 109 "maq", |
| 95 "mar", | 110 "mar", |
| 96 "mas", | 111 "mas", |
| (...skipping 22 matching lines...) Expand all Loading... |
| 119 "plg", | 134 "plg", |
| 120 "prf", | 135 "prf", |
| 121 "prg", | 136 "prg", |
| 122 "pst", | 137 "pst", |
| 123 "reg", | 138 "reg", |
| 124 "scf", | 139 "scf", |
| 125 "scr", | 140 "scr", |
| 126 "sct", | 141 "sct", |
| 127 "shb", | 142 "shb", |
| 128 "shs", | 143 "shs", |
| 129 "shtm", | |
| 130 "shtml", | |
| 131 "svg", | |
| 132 "url", | 144 "url", |
| 133 "vb", | 145 "vb", |
| 134 "vbe", | 146 "vbe", |
| 135 "vbs", | 147 "vbs", |
| 136 "vsd", | 148 "vsd", |
| 137 "vsmacros", | 149 "vsmacros", |
| 138 "vss", | 150 "vss", |
| 139 "vst", | 151 "vst", |
| 140 "vsw", | 152 "vsw", |
| 141 "ws", | 153 "ws", |
| 142 "wsc", | 154 "wsc", |
| 143 "wsf", | 155 "wsf", |
| 144 "wsh", | 156 "wsh", |
| 145 "xbap", | 157 "xbap", |
| 146 "xht", | |
| 147 "xhtm", | |
| 148 "xhtml", | |
| 149 "xml", | |
| 150 "xsl", | |
| 151 "xslt", | |
| 152 #elif defined(OS_MACOSX) | 158 #elif defined(OS_MACOSX) |
| 153 // TODO(thakis): Figure out what makes sense here -- crbug.com/19096 | 159 // TODO(thakis): Figure out what makes sense here -- crbug.com/19096 |
| 160 "app", |
| 154 "dmg", | 161 "dmg", |
| 155 #elif defined(OS_POSIX) | 162 #elif defined(OS_POSIX) |
| 156 // TODO(estade): lengthen this list. | 163 // TODO(estade): lengthen this list. |
| 157 "bash", | 164 "bash", |
| 158 "csh", | 165 "csh", |
| 159 "deb", | 166 "deb", |
| 160 "exe", | 167 "exe", |
| 161 "ksh", | 168 "ksh", |
| 162 "pl", | |
| 163 "py", | |
| 164 "rb", | |
| 165 "rpm", | 169 "rpm", |
| 166 "sh", | 170 "sh", |
| 167 "tcsh", | 171 "tcsh", |
| 168 #endif | 172 #endif |
| 169 }; | 173 }; |
| 170 | 174 |
| 171 bool IsExecutableFile(const FilePath& path) { | 175 bool IsExecutableFile(const FilePath& path) { |
| 172 return IsExecutableExtension(path.Extension()); | 176 return IsExecutableExtension(path.Extension()); |
| 173 } | 177 } |
| 174 | 178 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 for (size_t i = 0; i < arraysize(kExecutableBlackList); ++i) { | 226 for (size_t i = 0; i < arraysize(kExecutableBlackList); ++i) { |
| 223 if (net::MatchesMimeType(kExecutableBlackList[i], mime_type)) | 227 if (net::MatchesMimeType(kExecutableBlackList[i], mime_type)) |
| 224 return false; | 228 return false; |
| 225 } | 229 } |
| 226 // We consider only other application types to be executable. | 230 // We consider only other application types to be executable. |
| 227 return net::MatchesMimeType("application/*", mime_type); | 231 return net::MatchesMimeType("application/*", mime_type); |
| 228 } | 232 } |
| 229 | 233 |
| 230 | 234 |
| 231 } // namespace download_util | 235 } // namespace download_util |
| OLD | NEW |