Chromium Code Reviews| Index: chrome/browser/download/download_exe.cc |
| diff --git a/chrome/browser/download/download_exe.cc b/chrome/browser/download/download_exe.cc |
| deleted file mode 100644 |
| index 8111f5d376eb997597ab07f48c0d4e61b10d1dd4..0000000000000000000000000000000000000000 |
| --- a/chrome/browser/download/download_exe.cc |
| +++ /dev/null |
| @@ -1,241 +0,0 @@ |
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
|
brettw
2010/11/24 21:57:29
This file doesn't say "D" for deleted, just make s
|
| -// Use of this source code is governed by a BSD-style license that can be |
| -// found in the LICENSE file. |
| - |
| -#include <set> |
| -#include <string> |
| - |
| -#include "chrome/browser/download/download_util.h" |
| - |
| -#include "base/string_util.h" |
| -#include "net/base/mime_util.h" |
| -#include "net/base/net_util.h" |
| - |
| -namespace download_util { |
| - |
| -// For file extensions taken from mozilla: |
| - |
| -/* ***** BEGIN LICENSE BLOCK ***** |
| - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| - * |
| - * The contents of this file are subject to the Mozilla Public License Version |
| - * 1.1 (the "License"); you may not use this file except in compliance with |
| - * the License. You may obtain a copy of the License at |
| - * http://www.mozilla.org/MPL/ |
| - * |
| - * Software distributed under the License is distributed on an "AS IS" basis, |
| - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
| - * for the specific language governing rights and limitations under the |
| - * License. |
| - * |
| - * The Original Code is Mozilla Communicator client code, released |
| - * March 31, 1998. |
| - * |
| - * The Initial Developer of the Original Code is |
| - * Netscape Communications Corporation. |
| - * Portions created by the Initial Developer are Copyright (C) 1998-1999 |
| - * the Initial Developer. All Rights Reserved. |
| - * |
| - * Contributor(s): |
| - * Doug Turner <dougt@netscape.com> |
| - * Dean Tessman <dean_tessman@hotmail.com> |
| - * Brodie Thiesfield <brofield@jellycan.com> |
| - * Jungshik Shin <jshin@i18nl10n.com> |
| - * |
| - * Alternatively, the contents of this file may be used under the terms of |
| - * either of the GNU General Public License Version 2 or later (the "GPL"), |
| - * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
| - * in which case the provisions of the GPL or the LGPL are applicable instead |
| - * of those above. If you wish to allow use of your version of this file only |
| - * under the terms of either the GPL or the LGPL, and not to allow others to |
| - * use your version of this file under the terms of the MPL, indicate your |
| - * decision by deleting the provisions above and replace them with the notice |
| - * and other provisions required by the GPL or the LGPL. If you do not delete |
| - * the provisions above, a recipient may use your version of this file under |
| - * the terms of any one of the MPL, the GPL or the LGPL. |
| - * |
| - * ***** END LICENSE BLOCK ***** */ |
| - |
| -static const char* const g_executables[] = { |
| - "class", |
| - "htm", |
| - "html", |
| - "jar", |
| - "pdf", |
| - "pdfxml", |
| - "mars", |
| - "fdf", |
| - "xfdf", |
| - "xdp", |
| - "xfd", |
| - "pl", |
| - "py", |
| - "rb", |
| - "shtm", |
| - "shtml", |
| - "svg", |
| - "swf", |
| - "xht", |
| - "xhtm", |
| - "xhtml", |
| - "xml", |
| - "xsl", |
| - "xslt", |
| -#if defined(OS_WIN) |
| - "ad", |
| - "ade", |
| - "adp", |
| - "app", |
| - "application", |
| - "asp", |
| - "asx", |
| - "bas", |
| - "bat", |
| - "chm", |
| - "cmd", |
| - "com", |
| - "cpl", |
| - "crt", |
| - "dll", |
| - "exe", |
| - "fxp", |
| - "hlp", |
| - "hta", |
| - "htt", |
| - "inf", |
| - "ins", |
| - "isp", |
| - "js", |
| - "jse", |
| - "lnk", |
| - "mad", |
| - "maf", |
| - "mag", |
| - "mam", |
| - "maq", |
| - "mar", |
| - "mas", |
| - "mat", |
| - "mau", |
| - "mav", |
| - "maw", |
| - "mda", |
| - "mdb", |
| - "mde", |
| - "mdt", |
| - "mdw", |
| - "mdz", |
| - "mht", |
| - "mhtml", |
| - "msc", |
| - "msh", |
| - "mshxml", |
| - "msi", |
| - "msp", |
| - "mst", |
| - "ocx", |
| - "ops", |
| - "pcd", |
| - "pif", |
| - "plg", |
| - "prf", |
| - "prg", |
| - "pst", |
| - "reg", |
| - "scf", |
| - "scr", |
| - "sct", |
| - "shb", |
| - "shs", |
| - "url", |
| - "vb", |
| - "vbe", |
| - "vbs", |
| - "vsd", |
| - "vsmacros", |
| - "vss", |
| - "vst", |
| - "vsw", |
| - "ws", |
| - "wsc", |
| - "wsf", |
| - "wsh", |
| - "xbap", |
| -#elif defined(OS_MACOSX) |
| - // TODO(thakis): Figure out what makes sense here -- crbug.com/19096 |
| - "app", |
| - "dmg", |
| -#elif defined(OS_POSIX) |
| - // TODO(estade): lengthen this list. |
| - "bash", |
| - "csh", |
| - "deb", |
| - "exe", |
| - "ksh", |
| - "rpm", |
| - "sh", |
| - "tcsh", |
| -#endif |
| -}; |
| - |
| -bool IsExecutableFile(const FilePath& path) { |
| - return IsExecutableExtension(path.Extension()); |
| -} |
| - |
| -bool IsExecutableExtension(const FilePath::StringType& extension) { |
| - if (extension.empty()) |
| - return false; |
| - if (!IsStringASCII(extension)) |
| - return false; |
| -#if defined(OS_WIN) |
| - std::string ascii_extension = WideToASCII(extension); |
| -#elif defined(OS_POSIX) |
| - std::string ascii_extension = extension; |
| -#endif |
| - |
| - // Strip out leading dot if it's still there |
| - if (ascii_extension[0] == FilePath::kExtensionSeparator) |
| - ascii_extension.erase(0, 1); |
| - |
| - for (size_t i = 0; i < arraysize(g_executables); ++i) { |
| - if (LowerCaseEqualsASCII(ascii_extension, g_executables[i])) |
| - return true; |
| - } |
| - return false; |
| -} |
| - |
| -static const char* kExecutableWhiteList[] = { |
| - // JavaScript is just as powerful as EXE. |
| - "text/javascript", |
| - "text/javascript;version=*", |
| - "text/html", |
| - // Registry files can cause critical changes to the MS OS behavior. |
| - // Addition of this mimetype also addresses bug 7337. |
| - "text/x-registry", |
| - "text/x-sh", |
| - // Some sites use binary/octet-stream to mean application/octet-stream. |
| - // See http://code.google.com/p/chromium/issues/detail?id=1573 |
| - "binary/octet-stream" |
| -}; |
| - |
| -static const char* kExecutableBlackList[] = { |
| - // These application types are not executable. |
| - "application/*+xml", |
| - "application/xml" |
| -}; |
| - |
| -bool IsExecutableMimeType(const std::string& mime_type) { |
| - for (size_t i = 0; i < arraysize(kExecutableWhiteList); ++i) { |
| - if (net::MatchesMimeType(kExecutableWhiteList[i], mime_type)) |
| - return true; |
| - } |
| - for (size_t i = 0; i < arraysize(kExecutableBlackList); ++i) { |
| - if (net::MatchesMimeType(kExecutableBlackList[i], mime_type)) |
| - return false; |
| - } |
| - // We consider only other application types to be executable. |
| - return net::MatchesMimeType("application/*", mime_type); |
| -} |
| - |
| - |
| -} // namespace download_util |