summaryrefslogtreecommitdiffstats
path: root/net/base
diff options
context:
space:
mode:
authoramogh.bihani@samsung.com <amogh.bihani@samsung.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-23 08:29:52 +0000
committeramogh.bihani@samsung.com <amogh.bihani@samsung.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-23 08:29:52 +0000
commit1b08a816c57837a5da4bf7e4828629a7acc70416 (patch)
tree4b20b1b85a859a1a9078c29a673024ce9e487288 /net/base
parent619a0398ce1312b4f76f8c44dd945390f695ed12 (diff)
downloadchromium_src-1b08a816c57837a5da4bf7e4828629a7acc70416.zip
chromium_src-1b08a816c57837a5da4bf7e4828629a7acc70416.tar.gz
chromium_src-1b08a816c57837a5da4bf7e4828629a7acc70416.tar.bz2
Adding check for MIME types that do not take codecs parameter
audio/mpeg, audio/mp3, audio/x-mp3 do not take any 'codecs' parameter and canPlayType query must return "probably" of them. Browser in general returns "maybe" when no 'codecs' parameter is present. We need to check whether the mime type specifically wants 'codecs' parameter to be absent. BUG=53193 Review URL: https://codereview.chromium.org/228823003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265577 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r--net/base/mime_util.cc8
-rw-r--r--net/base/mime_util_unittest.cc13
2 files changed, 13 insertions, 8 deletions
diff --git a/net/base/mime_util.cc b/net/base/mime_util.cc
index 4679dcc..fdb16fd 100644
--- a/net/base/mime_util.cc
+++ b/net/base/mime_util.cc
@@ -438,7 +438,10 @@ static const MediaFormatStrict format_codec_mappings[] = {
{ "audio/x-wav", "1" },
{ "video/ogg", "opus,theora,vorbis" },
{ "audio/ogg", "opus,vorbis" },
- { "application/ogg", "opus,theora,vorbis" }
+ { "application/ogg", "opus,theora,vorbis" },
+ { "audio/mpeg", "" },
+ { "audio/mp3", "" },
+ { "audio/x-mp3", "" }
};
MimeUtil::MimeUtil() {
@@ -448,6 +451,9 @@ MimeUtil::MimeUtil() {
// static
bool MimeUtil::AreSupportedCodecs(const MimeMappings& supported_codecs,
const std::vector<std::string>& codecs) {
+ if (supported_codecs.empty())
+ return codecs.empty();
+
for (size_t i = 0; i < codecs.size(); ++i) {
if (supported_codecs.find(codecs[i]) == supported_codecs.end())
return false;
diff --git a/net/base/mime_util_unittest.cc b/net/base/mime_util_unittest.cc
index 2720581..c0d7e80 100644
--- a/net/base/mime_util_unittest.cc
+++ b/net/base/mime_util_unittest.cc
@@ -105,16 +105,15 @@ TEST(MimeUtilTest, StrictMediaMimeType) {
EXPECT_TRUE(IsStrictMediaMimeType("audio/ogg"));
EXPECT_TRUE(IsStrictMediaMimeType("application/ogg"));
- // TODO(amogh.bihani): These formats should be in stict-format_map_. This will
- // be fixed with bug 53193 (http://crbug.com/53193)---------------------------
- EXPECT_FALSE(IsStrictMediaMimeType("audio/mpeg"));
- EXPECT_FALSE(IsStrictMediaMimeType("audio/mp3"));
- EXPECT_FALSE(IsStrictMediaMimeType("audio/x-mp3"));
+ EXPECT_TRUE(IsStrictMediaMimeType("audio/mpeg"));
+ EXPECT_TRUE(IsStrictMediaMimeType("audio/mp3"));
+ EXPECT_TRUE(IsStrictMediaMimeType("audio/x-mp3"));
+ // TODO(amogh.bihani): These will be fixed http://crbug.com/53193
EXPECT_FALSE(IsStrictMediaMimeType("video/mp4"));
- EXPECT_FALSE(IsStrictMediaMimeType("video/x-mp4v"));
+ EXPECT_FALSE(IsStrictMediaMimeType("video/x-m4v"));
EXPECT_FALSE(IsStrictMediaMimeType("audio/mp4"));
- EXPECT_FALSE(IsStrictMediaMimeType("audio/x-mp4a"));
+ EXPECT_FALSE(IsStrictMediaMimeType("audio/x-m4a"));
EXPECT_FALSE(IsStrictMediaMimeType("application/x-mpegurl"));
EXPECT_FALSE(IsStrictMediaMimeType("application/vnd.apple.mpegurl"));