16d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
26d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
36d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// found in the LICENSE file.
46d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef MOJO_SERVICES_HTML_VIEWER_WEBMIMEREGISTRY_IMPL_H_
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define MOJO_SERVICES_HTML_VIEWER_WEBMIMEREGISTRY_IMPL_H_
76d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
86d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "base/compiler_specific.h"
96d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "third_party/WebKit/public/platform/WebMimeRegistry.h"
106d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
116d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)namespace mojo {
126d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
136d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)class WebMimeRegistryImpl : public blink::WebMimeRegistry {
146d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) public:
156d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  WebMimeRegistryImpl() {}
166d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual ~WebMimeRegistryImpl() {}
176d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
186d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  // WebMimeRegistry methods:
196d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual blink::WebMimeRegistry::SupportsType supportsMIMEType(
206d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& mime_type);
216d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual blink::WebMimeRegistry::SupportsType supportsImageMIMEType(
226d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& mime_type);
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual blink::WebMimeRegistry::SupportsType supportsImagePrefixedMIMEType(
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const blink::WebString& mime_type);
256d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual blink::WebMimeRegistry::SupportsType supportsJavaScriptMIMEType(
266d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& mime_type);
276d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual blink::WebMimeRegistry::SupportsType supportsMediaMIMEType(
286d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& mime_type,
296d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& codecs,
306d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& key_system);
316d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual bool supportsMediaSourceMIMEType(
326d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& mime_type,
336d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& codecs);
346d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual bool supportsEncryptedMediaMIMEType(
356d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& key_system,
366d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& mime_type,
376d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& codecs);
386d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual blink::WebMimeRegistry::SupportsType supportsNonImageMIMEType(
396d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& mime_type);
406d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual blink::WebString mimeTypeForExtension(
416d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& extension);
426d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual blink::WebString wellKnownMimeTypeForExtension(
436d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& extension);
446d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual blink::WebString mimeTypeFromFile(
456d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      const blink::WebString& path);
466d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)};
476d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
486d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}  // namespace mojo
496d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif  // MOJO_SERVICES_HTML_VIEWER_WEBMIMEREGISTRY_IMPL_H_
51