summaryrefslogtreecommitdiffstats
path: root/webkit/glue/simple_webmimeregistry_impl.cc
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-26 23:37:55 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-26 23:37:55 +0000
commit8d86fce009d9dc39300a5ec9b0559ce17ff0e44e (patch)
tree74d2f7779a00c20f7ca9ef5e88852b01f4f4619d /webkit/glue/simple_webmimeregistry_impl.cc
parent5c935c135c544163d9b3923fd9e6d612cedf05c1 (diff)
downloadchromium_src-8d86fce009d9dc39300a5ec9b0559ce17ff0e44e.zip
chromium_src-8d86fce009d9dc39300a5ec9b0559ce17ff0e44e.tar.gz
chromium_src-8d86fce009d9dc39300a5ec9b0559ce17ff0e44e.tar.bz2
Chrome side to implement WebMimeRegistry.
R=dglazkov Review URL: http://codereview.chromium.org/27222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10532 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/simple_webmimeregistry_impl.cc')
-rw-r--r--webkit/glue/simple_webmimeregistry_impl.cc61
1 files changed, 61 insertions, 0 deletions
diff --git a/webkit/glue/simple_webmimeregistry_impl.cc b/webkit/glue/simple_webmimeregistry_impl.cc
new file mode 100644
index 0000000..a662958
--- /dev/null
+++ b/webkit/glue/simple_webmimeregistry_impl.cc
@@ -0,0 +1,61 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this
+// source code is governed by a BSD-style license that can be found in the
+// LICENSE file.
+
+// TODO(darin): This include should not be necessary, but for some reason the
+// Mac build requires it.
+#include "config.h"
+
+#include "webkit/glue/simple_webmimeregistry_impl.h"
+
+#include "WebString.h"
+
+#include "base/string_util.h"
+#include "base/sys_string_conversions.h"
+#include "net/base/mime_util.h"
+#include "webkit/glue/glue_util.h"
+
+using WebKit::WebString;
+
+namespace webkit_glue {
+
+bool SimpleWebMimeRegistryImpl::supportsImageMIMEType(
+ const WebString& mime_type) {
+ return net::IsSupportedImageMimeType(UTF16ToASCII(mime_type).c_str());
+}
+
+bool SimpleWebMimeRegistryImpl::supportsJavaScriptMIMEType(
+ const WebString& mime_type) {
+ return net::IsSupportedJavascriptMimeType(UTF16ToASCII(mime_type).c_str());
+}
+
+bool SimpleWebMimeRegistryImpl::supportsNonImageMIMEType(
+ const WebString& mime_type) {
+ return net::IsSupportedNonImageMimeType(UTF16ToASCII(mime_type).c_str());
+}
+
+WebString SimpleWebMimeRegistryImpl::mimeTypeForExtension(
+ const WebString& file_extension) {
+ std::string mime_type;
+ net::GetMimeTypeFromExtension(
+ WebStringToFilePathString(file_extension), &mime_type);
+ return ASCIIToUTF16(mime_type);
+}
+
+WebString SimpleWebMimeRegistryImpl::mimeTypeFromFile(
+ const WebString& file_path) {
+ std::string mime_type;
+ net::GetMimeTypeFromFile(
+ FilePath(WebStringToFilePathString(file_path)), &mime_type);
+ return ASCIIToUTF16(mime_type);
+}
+
+WebString SimpleWebMimeRegistryImpl::preferredExtensionForMIMEType(
+ const WebString& mime_type) {
+ FilePath::StringType file_extension;
+ net::GetPreferredExtensionForMimeType(UTF16ToASCII(mime_type),
+ &file_extension);
+ return FilePathStringToWebString(file_extension);
+}
+
+} // namespace webkit_glue