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. 4 5 #ifndef WEBKIT_GLUE_SIMPLE_WEBMIMEREGISTRY_IMPL_H_ 6 #define WEBKIT_GLUE_SIMPLE_WEBMIMEREGISTRY_IMPL_H_ 7 8 #include <string> 9 10 #include "base/compiler_specific.h" 11 #include "third_party/WebKit/public/platform/WebMimeRegistry.h" 12 #include "webkit/glue/webkit_glue_export.h" 13 14 namespace webkit_glue { 15 16 class WEBKIT_GLUE_EXPORT SimpleWebMimeRegistryImpl : 17 NON_EXPORTED_BASE(public WebKit::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 WebKit::WebString& string); 25 26 // WebMimeRegistry methods: 27 virtual WebKit::WebMimeRegistry::SupportsType supportsMIMEType( 28 const WebKit::WebString&); 29 virtual WebKit::WebMimeRegistry::SupportsType supportsImageMIMEType( 30 const WebKit::WebString&); 31 virtual WebKit::WebMimeRegistry::SupportsType supportsJavaScriptMIMEType( 32 const WebKit::WebString&); 33 // TODO(ddorwin): Remove after http://webk.it/82983 lands. 34 virtual WebKit::WebMimeRegistry::SupportsType supportsMediaMIMEType( 35 const WebKit::WebString&, const WebKit::WebString&); 36 virtual WebKit::WebMimeRegistry::SupportsType supportsMediaMIMEType( 37 const WebKit::WebString&, 38 const WebKit::WebString&, 39 const WebKit::WebString&); 40 virtual bool supportsMediaSourceMIMEType(const WebKit::WebString&, 41 const WebKit::WebString&); 42 virtual WebKit::WebMimeRegistry::SupportsType supportsNonImageMIMEType( 43 const WebKit::WebString&); 44 virtual WebKit::WebString mimeTypeForExtension(const WebKit::WebString&); 45 virtual WebKit::WebString wellKnownMimeTypeForExtension( 46 const WebKit::WebString&); 47 virtual WebKit::WebString mimeTypeFromFile(const WebKit::WebString&); 48 virtual WebKit::WebString preferredExtensionForMIMEType( 49 const WebKit::WebString&); 50 }; 51 52 } // namespace webkit_glue 53 54 #endif // WEBKIT_GLUE_SIMPLE_WEBMIMEREGISTRY_IMPL_H_ 55