diff options
author | amogh.bihani@samsung.com <amogh.bihani@samsung.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-23 08:29:52 +0000 |
---|---|---|
committer | amogh.bihani@samsung.com <amogh.bihani@samsung.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-23 08:29:52 +0000 |
commit | 1b08a816c57837a5da4bf7e4828629a7acc70416 (patch) | |
tree | 4b20b1b85a859a1a9078c29a673024ce9e487288 /net/base | |
parent | 619a0398ce1312b4f76f8c44dd945390f695ed12 (diff) | |
download | chromium_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.cc | 8 | ||||
-rw-r--r-- | net/base/mime_util_unittest.cc | 13 |
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")); |