From 8d86fce009d9dc39300a5ec9b0559ce17ff0e44e Mon Sep 17 00:00:00 2001 From: "darin@chromium.org" Date: Thu, 26 Feb 2009 23:37:55 +0000 Subject: 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 --- webkit/glue/simple_webmimeregistry_impl.cc | 61 ++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 webkit/glue/simple_webmimeregistry_impl.cc (limited to 'webkit/glue/simple_webmimeregistry_impl.cc') 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 -- cgit v1.1