Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / child / simple_webmimeregistry_impl.h
blob10156c5918ff3fe5a579a8786ced2edd2619cd4e
1 // Copyright 2014 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 #ifndef CONTENT_CHILD_SIMPLE_WEBMIMEREGISTRY_IMPL_H_
6 #define CONTENT_CHILD_SIMPLE_WEBMIMEREGISTRY_IMPL_H_
8 #include <string>
10 #include "base/compiler_specific.h"
11 #include "content/common/content_export.h"
12 #include "third_party/WebKit/public/platform/WebMimeRegistry.h"
14 namespace content {
16 class CONTENT_EXPORT SimpleWebMimeRegistryImpl :
17 NON_EXPORTED_BASE(public blink::WebMimeRegistry) {
18 public:
19 SimpleWebMimeRegistryImpl() {}
20 virtual ~SimpleWebMimeRegistryImpl() {}
22 // Convert a WebString to ASCII, falling back on an empty string in the case
23 // of a non-ASCII string.
24 static std::string ToASCIIOrEmpty(const blink::WebString& string);
26 // WebMimeRegistry methods:
27 virtual blink::WebMimeRegistry::SupportsType supportsMIMEType(
28 const blink::WebString&);
29 virtual blink::WebMimeRegistry::SupportsType supportsImageMIMEType(
30 const blink::WebString&);
31 virtual blink::WebMimeRegistry::SupportsType supportsImagePrefixedMIMEType(
32 const blink::WebString&);
33 virtual blink::WebMimeRegistry::SupportsType supportsJavaScriptMIMEType(
34 const blink::WebString&);
35 virtual blink::WebMimeRegistry::SupportsType supportsMediaMIMEType(
36 const blink::WebString&,
37 const blink::WebString&,
38 const blink::WebString&);
39 virtual bool supportsMediaSourceMIMEType(const blink::WebString&,
40 const blink::WebString&);
41 virtual blink::WebMimeRegistry::SupportsType supportsNonImageMIMEType(
42 const blink::WebString&);
43 virtual blink::WebString mimeTypeForExtension(const blink::WebString&);
44 virtual blink::WebString wellKnownMimeTypeForExtension(
45 const blink::WebString&);
46 virtual blink::WebString mimeTypeFromFile(const blink::WebString&);
49 } // namespace content
51 #endif // CONTENT_CHILD_SIMPLE_WEBMIMEREGISTRY_IMPL_H_