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. 4 5 #ifndef CONTENT_CHILD_SIMPLE_WEBMIMEREGISTRY_IMPL_H_ 6 #define CONTENT_CHILD_SIMPLE_WEBMIMEREGISTRY_IMPL_H_ 7 8 #include <string> 9 10 #include "base/compiler_specific.h" 11 #include "content/common/content_export.h" 12 #include "third_party/WebKit/public/platform/WebMimeRegistry.h" 13 14 namespace content { 15 16 class CONTENT_EXPORT SimpleWebMimeRegistryImpl : NON_EXPORTED_BASE(public blink::WebMimeRegistry)17 NON_EXPORTED_BASE(public blink::WebMimeRegistry) { 18 public: 19 SimpleWebMimeRegistryImpl() {} 20 virtual ~SimpleWebMimeRegistryImpl() {} 21 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); 25 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 bool supportsEncryptedMediaMIMEType(const blink::WebString&, 42 const blink::WebString&, 43 const blink::WebString&); 44 virtual blink::WebMimeRegistry::SupportsType supportsNonImageMIMEType( 45 const blink::WebString&); 46 virtual blink::WebString mimeTypeForExtension(const blink::WebString&); 47 virtual blink::WebString wellKnownMimeTypeForExtension( 48 const blink::WebString&); 49 virtual blink::WebString mimeTypeFromFile(const blink::WebString&); 50 }; 51 52 } // namespace content 53 54 #endif // CONTENT_CHILD_SIMPLE_WEBMIMEREGISTRY_IMPL_H_ 55