Home | History | Annotate | Download | only in glue
      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