Revert of https://codereview.chromium.org/94133003/
[chromium-blink-merge.git] / webkit / glue / simple_webmimeregistry_impl.cc
blobb6bdadc68cc1173984989ce01001862a6939ce11
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
3 // found in the LICENSE file.
5 #include "webkit/glue/simple_webmimeregistry_impl.h"
7 #include "base/files/file_path.h"
8 #include "base/strings/string_util.h"
9 #include "base/strings/sys_string_conversions.h"
10 #include "base/strings/utf_string_conversions.h"
11 #include "net/base/mime_util.h"
12 #include "third_party/WebKit/public/platform/WebString.h"
14 using blink::WebString;
15 using blink::WebMimeRegistry;
17 namespace webkit_glue {
19 //static
20 std::string SimpleWebMimeRegistryImpl::ToASCIIOrEmpty(const WebString& string) {
21 return IsStringASCII(string) ? UTF16ToASCII(string) : std::string();
24 WebMimeRegistry::SupportsType SimpleWebMimeRegistryImpl::supportsMIMEType(
25 const WebString& mime_type) {
26 return net::IsSupportedMimeType(ToASCIIOrEmpty(mime_type)) ?
27 WebMimeRegistry::IsSupported : WebMimeRegistry::IsNotSupported;
30 WebMimeRegistry::SupportsType SimpleWebMimeRegistryImpl::supportsImageMIMEType(
31 const WebString& mime_type) {
32 return net::IsSupportedImageMimeType(ToASCIIOrEmpty(mime_type)) ?
33 WebMimeRegistry::IsSupported : WebMimeRegistry::IsNotSupported;
36 WebMimeRegistry::SupportsType
37 SimpleWebMimeRegistryImpl::supportsJavaScriptMIMEType(
38 const WebString& mime_type) {
39 return net::IsSupportedJavascriptMimeType(ToASCIIOrEmpty(mime_type)) ?
40 WebMimeRegistry::IsSupported : WebMimeRegistry::IsNotSupported;
43 // When debugging layout tests failures in the test shell,
44 // see TestShellWebMimeRegistryImpl.
45 WebMimeRegistry::SupportsType SimpleWebMimeRegistryImpl::supportsMediaMIMEType(
46 const WebString& mime_type,
47 const WebString& codecs,
48 const WebString& key_system) {
49 // Media features are only supported at the content/ layer.
50 return IsNotSupported;
53 bool SimpleWebMimeRegistryImpl::supportsMediaSourceMIMEType(
54 const WebString& mime_type,
55 const WebString& codecs) {
56 // Media features are only supported at the content/ layer.
57 return IsNotSupported;
60 WebMimeRegistry::SupportsType
61 SimpleWebMimeRegistryImpl::supportsNonImageMIMEType(
62 const WebString& mime_type) {
63 return net::IsSupportedNonImageMimeType(ToASCIIOrEmpty(mime_type)) ?
64 WebMimeRegistry::IsSupported : WebMimeRegistry::IsNotSupported;
67 WebString SimpleWebMimeRegistryImpl::mimeTypeForExtension(
68 const WebString& file_extension) {
69 std::string mime_type;
70 net::GetMimeTypeFromExtension(
71 base::FilePath::FromUTF16Unsafe(file_extension).value(), &mime_type);
72 return WebString::fromUTF8(mime_type);
75 WebString SimpleWebMimeRegistryImpl::wellKnownMimeTypeForExtension(
76 const WebString& file_extension) {
77 std::string mime_type;
78 net::GetWellKnownMimeTypeFromExtension(
79 base::FilePath::FromUTF16Unsafe(file_extension).value(), &mime_type);
80 return WebString::fromUTF8(mime_type);
83 WebString SimpleWebMimeRegistryImpl::mimeTypeFromFile(
84 const WebString& file_path) {
85 std::string mime_type;
86 net::GetMimeTypeFromFile(base::FilePath::FromUTF16Unsafe(file_path),
87 &mime_type);
88 return WebString::fromUTF8(mime_type);
91 } // namespace webkit_glue