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

Side by Side Diff: webkit/glue/simple_webmimeregistry_impl.cc

Issue 12713004: Add Chromium-side changes for MediaSource::isTypeSupported() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Exclude StreamParserFactory for Android Created 7 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/glue/simple_webmimeregistry_impl.h" 5 #include "webkit/glue/simple_webmimeregistry_impl.h"
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "base/sys_string_conversions.h" 8 #include "base/sys_string_conversions.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "net/base/mime_util.h" 10 #include "net/base/mime_util.h"
11 #include "third_party/WebKit/Source/Platform/chromium/public/WebString.h" 11 #include "third_party/WebKit/Source/Platform/chromium/public/WebString.h"
12 #include "webkit/base/file_path_string_conversions.h" 12 #include "webkit/base/file_path_string_conversions.h"
13 #include "webkit/media/crypto/key_systems.h" 13 #include "webkit/media/crypto/key_systems.h"
14 #include "webkit/media/webmediasourceclient_impl.h"
14 15
15 using WebKit::WebString; 16 using WebKit::WebString;
16 using WebKit::WebMimeRegistry; 17 using WebKit::WebMimeRegistry;
17 18
18 namespace { 19 namespace {
19 20
20 // Convert a WebString to ASCII, falling back on an empty string in the case 21 // Convert a WebString to ASCII, falling back on an empty string in the case
21 // of a non-ASCII string. 22 // of a non-ASCII string.
22 std::string ToASCIIOrEmpty(const WebString& string) { 23 std::string ToASCIIOrEmpty(const WebString& string) {
23 return IsStringASCII(string) ? UTF16ToASCII(string) : std::string(); 24 return IsStringASCII(string) ? UTF16ToASCII(string) : std::string();
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 // If we don't recognize the codec, it's possible we support it. 100 // If we don't recognize the codec, it's possible we support it.
100 std::vector<std::string> parsed_codecs; 101 std::vector<std::string> parsed_codecs;
101 net::ParseCodecString(ToASCIIOrEmpty(codecs), &parsed_codecs, true); 102 net::ParseCodecString(ToASCIIOrEmpty(codecs), &parsed_codecs, true);
102 if (!net::AreSupportedMediaCodecs(parsed_codecs)) 103 if (!net::AreSupportedMediaCodecs(parsed_codecs))
103 return MayBeSupported; 104 return MayBeSupported;
104 105
105 // Otherwise we have a perfect match. 106 // Otherwise we have a perfect match.
106 return IsSupported; 107 return IsSupported;
107 } 108 }
108 109
110 bool SimpleWebMimeRegistryImpl::supportsMediaSourceMIMEType(
111 const WebKit::WebString& mime_type,
112 const WebString& codecs) {
113 const std::string mime_type_ascii = ToASCIIOrEmpty(mime_type);
114 std::vector<std::string> parsed_codec_ids;
115 net::ParseCodecString(ToASCIIOrEmpty(codecs), &parsed_codec_ids, false);
116 if (mime_type_ascii.empty() || parsed_codec_ids.size() == 0)
117 return false;
118 return webkit_media::WebMediaSourceClientImpl::isTypeSupported(
scherkus (not reviewing) 2013/03/14 18:49:40 why not call media::StreamParserFactory::IsTypeSup
acolwell GONE FROM CHROMIUM 2013/03/14 20:08:49 git cl upload said "no!" I think it is because cod
scherkus (not reviewing) 2013/03/14 20:21:03 well that's because media/ isn't in webkit/glue/DE
acolwell GONE FROM CHROMIUM 2013/03/14 20:56:35 Done.
119 mime_type_ascii, parsed_codec_ids);
120 }
121
109 WebMimeRegistry::SupportsType 122 WebMimeRegistry::SupportsType
110 SimpleWebMimeRegistryImpl::supportsNonImageMIMEType( 123 SimpleWebMimeRegistryImpl::supportsNonImageMIMEType(
111 const WebString& mime_type) { 124 const WebString& mime_type) {
112 return net::IsSupportedNonImageMimeType(ToASCIIOrEmpty(mime_type)) ? 125 return net::IsSupportedNonImageMimeType(ToASCIIOrEmpty(mime_type)) ?
113 WebMimeRegistry::IsSupported : WebMimeRegistry::IsNotSupported; 126 WebMimeRegistry::IsSupported : WebMimeRegistry::IsNotSupported;
114 } 127 }
115 128
116 WebString SimpleWebMimeRegistryImpl::mimeTypeForExtension( 129 WebString SimpleWebMimeRegistryImpl::mimeTypeForExtension(
117 const WebString& file_extension) { 130 const WebString& file_extension) {
118 std::string mime_type; 131 std::string mime_type;
(...skipping 20 matching lines...) Expand all
139 152
140 WebString SimpleWebMimeRegistryImpl::preferredExtensionForMIMEType( 153 WebString SimpleWebMimeRegistryImpl::preferredExtensionForMIMEType(
141 const WebString& mime_type) { 154 const WebString& mime_type) {
142 base::FilePath::StringType file_extension; 155 base::FilePath::StringType file_extension;
143 net::GetPreferredExtensionForMimeType(ToASCIIOrEmpty(mime_type), 156 net::GetPreferredExtensionForMimeType(ToASCIIOrEmpty(mime_type),
144 &file_extension); 157 &file_extension);
145 return webkit_base::FilePathStringToWebString(file_extension); 158 return webkit_base::FilePathStringToWebString(file_extension);
146 } 159 }
147 160
148 } // namespace webkit_glue 161 } // namespace webkit_glue
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698