Index: third_party/WebKit/Source/modules/media_capabilities/MediaCapabilities.cpp |
diff --git a/third_party/WebKit/Source/modules/media_capabilities/MediaCapabilities.cpp b/third_party/WebKit/Source/modules/media_capabilities/MediaCapabilities.cpp |
index 73f13ae144a7cab3458eb4125fce76450b3a855a..fd3f19fd55890be5f89accb9539a74fb94f82ce9 100644 |
--- a/third_party/WebKit/Source/modules/media_capabilities/MediaCapabilities.cpp |
+++ b/third_party/WebKit/Source/modules/media_capabilities/MediaCapabilities.cpp |
@@ -10,6 +10,7 @@ |
#include "bindings/core/v8/ScriptState.h" |
#include "modules/media_capabilities/MediaConfiguration.h" |
#include "modules/media_capabilities/MediaDecodingAbility.h" |
+#include "platform/network/ParsedContentType.h" |
#include "public/platform/Platform.h" |
#include "public/platform/modules/media_capabilities/WebMediaCapabilitiesClient.h" |
#include "public/platform/modules/media_capabilities/WebMediaConfiguration.h" |
@@ -25,7 +26,16 @@ WebAudioConfiguration toWebAudioConfiguration( |
// contentType is mandatory. |
DCHECK(configuration.hasContentType()); |
- webConfiguration.contentType = configuration.contentType(); |
+ ParsedContentType parsedContentType(configuration.contentType(), |
+ ParsedContentType::Mode::Strict); |
+ |
+ // TODO(mlamouri): Sort out error handling for invalid input. Spec issue |
+ // https://github.com/WICG/media-capabilities/issues/32 |
+ DCHECK(parsedContentType.isValid()); |
+ |
+ DEFINE_STATIC_LOCAL(const String, codecs, ("codecs")); |
+ webConfiguration.mimeType = parsedContentType.mimeType().lower(); |
+ webConfiguration.codec = parsedContentType.parameterValueForName(codecs); |
// channels is optional and will be set to a null WebString if not present. |
webConfiguration.channels = configuration.hasChannels() |
@@ -47,7 +57,15 @@ WebVideoConfiguration toWebVideoConfiguration( |
// All the properties are mandatory. |
DCHECK(configuration.hasContentType()); |
- webConfiguration.contentType = configuration.contentType(); |
+ ParsedContentType parsedContentType(configuration.contentType(), |
+ ParsedContentType::Mode::Strict); |
+ // TODO(mlamouri): Sort out error handling for invalid input. Spec issue |
+ // https://github.com/WICG/media-capabilities/issues/32 |
+ DCHECK(parsedContentType.isValid()); |
+ |
+ DEFINE_STATIC_LOCAL(const String, codecs, ("codecs")); |
+ webConfiguration.mimeType = parsedContentType.mimeType().lower(); |
+ webConfiguration.codec = parsedContentType.parameterValueForName(codecs); |
DCHECK(configuration.hasWidth()); |
webConfiguration.width = configuration.width(); |