Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: mojo/services/html_viewer/web_mime_registry_impl.cc

Issue 1099303002: Move html_viewer from mojo/services to components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/services/html_viewer/web_mime_registry_impl.cc
diff --git a/mojo/services/html_viewer/web_mime_registry_impl.cc b/mojo/services/html_viewer/web_mime_registry_impl.cc
deleted file mode 100644
index a778f8f5e1b88813d23b802f1d0732a0af6a6142..0000000000000000000000000000000000000000
--- a/mojo/services/html_viewer/web_mime_registry_impl.cc
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "mojo/services/html_viewer/web_mime_registry_impl.h"
-
-#include "base/files/file_path.h"
-#include "base/strings/string_util.h"
-#include "base/strings/sys_string_conversions.h"
-#include "base/strings/utf_string_conversions.h"
-#include "media/base/key_systems.h"
-#include "media/filters/stream_parser_factory.h"
-#include "net/base/mime_util.h"
-#include "third_party/WebKit/public/platform/WebString.h"
-
-namespace html_viewer {
-namespace {
-
-std::string ToASCIIOrEmpty(const blink::WebString& string) {
- return base::IsStringASCII(string) ? base::UTF16ToASCII(string)
- : std::string();
-}
-
-} // namespace
-
-blink::WebMimeRegistry::SupportsType WebMimeRegistryImpl::supportsMIMEType(
- const blink::WebString& mime_type) {
- return net::IsSupportedMimeType(ToASCIIOrEmpty(mime_type)) ?
- blink::WebMimeRegistry::IsSupported :
- blink::WebMimeRegistry::IsNotSupported;
-}
-
-blink::WebMimeRegistry::SupportsType WebMimeRegistryImpl::supportsImageMIMEType(
- const blink::WebString& mime_type) {
- return net::IsSupportedImageMimeType(ToASCIIOrEmpty(mime_type)) ?
- blink::WebMimeRegistry::IsSupported :
- blink::WebMimeRegistry::IsNotSupported;
-}
-
-blink::WebMimeRegistry::SupportsType
-WebMimeRegistryImpl::supportsImagePrefixedMIMEType(
- const blink::WebString& mime_type) {
- std::string ascii_mime_type = ToASCIIOrEmpty(mime_type);
- return (net::IsSupportedImageMimeType(ascii_mime_type) ||
- (StartsWithASCII(ascii_mime_type, "image/", true) &&
- net::IsSupportedNonImageMimeType(ascii_mime_type)))
- ? WebMimeRegistry::IsSupported
- : WebMimeRegistry::IsNotSupported;
-}
-
-blink::WebMimeRegistry::SupportsType
- WebMimeRegistryImpl::supportsJavaScriptMIMEType(
- const blink::WebString& mime_type) {
- return net::IsSupportedJavascriptMimeType(ToASCIIOrEmpty(mime_type)) ?
- blink::WebMimeRegistry::IsSupported :
- blink::WebMimeRegistry::IsNotSupported;
-}
-
-blink::WebMimeRegistry::SupportsType WebMimeRegistryImpl::supportsMediaMIMEType(
- const blink::WebString& mime_type,
- const blink::WebString& codecs,
- const blink::WebString& key_system) {
- const std::string mime_type_ascii = ToASCIIOrEmpty(mime_type);
- // Not supporting the container is a flat-out no.
- if (!net::IsSupportedMediaMimeType(mime_type_ascii))
- return IsNotSupported;
-
- // Mojo does not currently support any key systems.
- if (!key_system.isEmpty())
- return IsNotSupported;
-
- // Check list of strict codecs to see if it is supported.
- if (net::IsStrictMediaMimeType(mime_type_ascii)) {
- // Check if the codecs are a perfect match.
- std::vector<std::string> strict_codecs;
- net::ParseCodecString(ToASCIIOrEmpty(codecs), &strict_codecs, false);
- return static_cast<WebMimeRegistry::SupportsType>(
- net::IsSupportedStrictMediaMimeType(mime_type_ascii, strict_codecs));
- }
-
- // If we don't recognize the codec, it's possible we support it.
- std::vector<std::string> parsed_codecs;
- net::ParseCodecString(ToASCIIOrEmpty(codecs), &parsed_codecs, true);
- if (!net::AreSupportedMediaCodecs(parsed_codecs))
- return MayBeSupported;
-
- // Otherwise we have a perfect match.
- return IsSupported;
-}
-
-bool WebMimeRegistryImpl::supportsMediaSourceMIMEType(
- const blink::WebString& mime_type,
- const blink::WebString& codecs) {
- const std::string mime_type_ascii = ToASCIIOrEmpty(mime_type);
- if (mime_type_ascii.empty())
- return false;
-
- std::vector<std::string> parsed_codec_ids;
- net::ParseCodecString(ToASCIIOrEmpty(codecs), &parsed_codec_ids, false);
- return media::StreamParserFactory::IsTypeSupported(mime_type_ascii,
- parsed_codec_ids);
-}
-
-blink::WebMimeRegistry::SupportsType
- WebMimeRegistryImpl::supportsNonImageMIMEType(
- const blink::WebString& mime_type) {
- return net::IsSupportedNonImageMimeType(ToASCIIOrEmpty(mime_type)) ?
- blink::WebMimeRegistry::IsSupported :
- blink::WebMimeRegistry::IsNotSupported;
-}
-
-blink::WebString WebMimeRegistryImpl::mimeTypeForExtension(
- const blink::WebString& file_extension) {
- std::string mime_type;
- net::GetMimeTypeFromExtension(
- base::FilePath::FromUTF16Unsafe(file_extension).value(), &mime_type);
- return blink::WebString::fromUTF8(mime_type);
-}
-
-blink::WebString WebMimeRegistryImpl::wellKnownMimeTypeForExtension(
- const blink::WebString& file_extension) {
- std::string mime_type;
- net::GetWellKnownMimeTypeFromExtension(
- base::FilePath::FromUTF16Unsafe(file_extension).value(), &mime_type);
- return blink::WebString::fromUTF8(mime_type);
-}
-
-blink::WebString WebMimeRegistryImpl::mimeTypeFromFile(
- const blink::WebString& file_path) {
- std::string mime_type;
- net::GetMimeTypeFromFile(base::FilePath::FromUTF16Unsafe(file_path),
- &mime_type);
- return blink::WebString::fromUTF8(mime_type);
-}
-
-} // namespace html_viewer
« no previous file with comments | « mojo/services/html_viewer/web_mime_registry_impl.h ('k') | mojo/services/html_viewer/web_notification_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698