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

Side by Side Diff: net/base/mime_util.cc

Issue 1016553003: Remove MIME type check for pre-ICS Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <algorithm> 5 #include <algorithm>
6 #include <iterator> 6 #include <iterator>
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/containers/hash_tables.h" 10 #include "base/containers/hash_tables.h"
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 335
336 // WebM. 336 // WebM.
337 "video/webm", 337 "video/webm",
338 "audio/webm", 338 "audio/webm",
339 339
340 // Wav. 340 // Wav.
341 "audio/wav", 341 "audio/wav",
342 "audio/x-wav", 342 "audio/x-wav",
343 343
344 #if defined(OS_ANDROID) 344 #if defined(OS_ANDROID)
345 // HLS. Supported by Android ICS and above. 345 // HLS.
346 "application/vnd.apple.mpegurl", 346 "application/vnd.apple.mpegurl",
347 "application/x-mpegurl", 347 "application/x-mpegurl",
348 #endif 348 #endif
349 }; 349 };
350 350
351 // List of proprietary types only supported by Google Chrome. 351 // List of proprietary types only supported by Google Chrome.
352 static const char* const proprietary_media_types[] = { 352 static const char* const proprietary_media_types[] = {
353 // MPEG-4. 353 // MPEG-4.
354 "video/mp4", 354 "video/mp4",
355 "video/x-m4v", 355 "video/x-m4v",
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 case MimeUtil::OPUS: 479 case MimeUtil::OPUS:
480 // Opus is supported only in Lollipop+ (API Level 21). 480 // Opus is supported only in Lollipop+ (API Level 21).
481 return base::android::BuildInfo::GetInstance()->sdk_int() >= 21; 481 return base::android::BuildInfo::GetInstance()->sdk_int() >= 21;
482 482
483 case MimeUtil::THEORA: 483 case MimeUtil::THEORA:
484 return false; 484 return false;
485 } 485 }
486 486
487 return false; 487 return false;
488 } 488 }
489
490 static bool IsMimeTypeSupportedOnAndroid(const std::string& mimeType) {
491 // HLS codecs are supported in ICS and above (API level 14)
492 if ((!mimeType.compare("application/vnd.apple.mpegurl") ||
493 !mimeType.compare("application/x-mpegurl")) &&
494 base::android::BuildInfo::GetInstance()->sdk_int() < 14) {
495 return false;
496 }
497 return true;
498 }
499 #endif 489 #endif
500 490
501 struct MediaFormatStrict { 491 struct MediaFormatStrict {
502 const char* const mime_type; 492 const char* const mime_type;
503 const char* const codecs_list; 493 const char* const codecs_list;
504 }; 494 };
505 495
506 // Following is the list of RFC 6381 compliant codecs: 496 // Following is the list of RFC 6381 compliant codecs:
507 // mp4a.66 - MPEG-2 AAC MAIN 497 // mp4a.66 - MPEG-2 AAC MAIN
508 // mp4a.67 - MPEG-2 AAC LC 498 // mp4a.67 - MPEG-2 AAC LC
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 // Initialize the supported non-image types. 628 // Initialize the supported non-image types.
639 for (size_t i = 0; i < arraysize(supported_non_image_types); ++i) 629 for (size_t i = 0; i < arraysize(supported_non_image_types); ++i)
640 non_image_map_.insert(supported_non_image_types[i]); 630 non_image_map_.insert(supported_non_image_types[i]);
641 for (size_t i = 0; i < arraysize(supported_certificate_types); ++i) 631 for (size_t i = 0; i < arraysize(supported_certificate_types); ++i)
642 non_image_map_.insert(supported_certificate_types[i].mime_type); 632 non_image_map_.insert(supported_certificate_types[i].mime_type);
643 for (size_t i = 0; i < arraysize(unsupported_text_types); ++i) 633 for (size_t i = 0; i < arraysize(unsupported_text_types); ++i)
644 unsupported_text_map_.insert(unsupported_text_types[i]); 634 unsupported_text_map_.insert(unsupported_text_types[i]);
645 for (size_t i = 0; i < arraysize(supported_javascript_types); ++i) 635 for (size_t i = 0; i < arraysize(supported_javascript_types); ++i)
646 non_image_map_.insert(supported_javascript_types[i]); 636 non_image_map_.insert(supported_javascript_types[i]);
647 for (size_t i = 0; i < arraysize(common_media_types); ++i) { 637 for (size_t i = 0; i < arraysize(common_media_types); ++i) {
648 #if defined(OS_ANDROID)
649 if (!IsMimeTypeSupportedOnAndroid(common_media_types[i]))
650 continue;
651 #endif
652 non_image_map_.insert(common_media_types[i]); 638 non_image_map_.insert(common_media_types[i]);
653 } 639 }
654 #if defined(USE_PROPRIETARY_CODECS) 640 #if defined(USE_PROPRIETARY_CODECS)
655 allow_proprietary_codecs_ = true; 641 allow_proprietary_codecs_ = true;
656 642
657 for (size_t i = 0; i < arraysize(proprietary_media_types); ++i) 643 for (size_t i = 0; i < arraysize(proprietary_media_types); ++i)
658 non_image_map_.insert(proprietary_media_types[i]); 644 non_image_map_.insert(proprietary_media_types[i]);
659 #endif 645 #endif
660 646
661 // Initialize the supported media types. 647 // Initialize the supported media types.
662 for (size_t i = 0; i < arraysize(common_media_types); ++i) { 648 for (size_t i = 0; i < arraysize(common_media_types); ++i) {
663 #if defined(OS_ANDROID)
664 if (!IsMimeTypeSupportedOnAndroid(common_media_types[i]))
665 continue;
666 #endif
667 media_map_.insert(common_media_types[i]); 649 media_map_.insert(common_media_types[i]);
668 } 650 }
669 #if defined(USE_PROPRIETARY_CODECS) 651 #if defined(USE_PROPRIETARY_CODECS)
670 for (size_t i = 0; i < arraysize(proprietary_media_types); ++i) 652 for (size_t i = 0; i < arraysize(proprietary_media_types); ++i)
671 media_map_.insert(proprietary_media_types[i]); 653 media_map_.insert(proprietary_media_types[i]);
672 #endif 654 #endif
673 655
674 for (size_t i = 0; i < arraysize(supported_javascript_types); ++i) 656 for (size_t i = 0; i < arraysize(supported_javascript_types); ++i)
675 javascript_map_.insert(supported_javascript_types[i]); 657 javascript_map_.insert(supported_javascript_types[i]);
676 658
(...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after
1427 post_data->append("\r\n" + value + "\r\n"); 1409 post_data->append("\r\n" + value + "\r\n");
1428 } 1410 }
1429 1411
1430 void AddMultipartFinalDelimiterForUpload(const std::string& mime_boundary, 1412 void AddMultipartFinalDelimiterForUpload(const std::string& mime_boundary,
1431 std::string* post_data) { 1413 std::string* post_data) {
1432 DCHECK(post_data); 1414 DCHECK(post_data);
1433 post_data->append("--" + mime_boundary + "--\r\n"); 1415 post_data->append("--" + mime_boundary + "--\r\n");
1434 } 1416 }
1435 1417
1436 } // namespace net 1418 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698