OLD | NEW |
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 749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
760 // wildcards. The plugin mime types could be: | 760 // wildcards. The plugin mime types could be: |
761 // application/x-foo | 761 // application/x-foo |
762 // application/* | 762 // application/* |
763 // application/*+xml | 763 // application/*+xml |
764 // * | 764 // * |
765 // Also tests mime parameters -- all parameters in the pattern must be present | 765 // Also tests mime parameters -- all parameters in the pattern must be present |
766 // in the tested type for a match to succeed. | 766 // in the tested type for a match to succeed. |
767 bool MimeUtil::MatchesMimeType(const std::string& mime_type_pattern, | 767 bool MimeUtil::MatchesMimeType(const std::string& mime_type_pattern, |
768 const std::string& mime_type) const { | 768 const std::string& mime_type) const { |
769 // Verify caller is passing lowercase strings. | 769 // Verify caller is passing lowercase strings. |
770 DCHECK_EQ(StringToLowerASCII(mime_type_pattern), mime_type_pattern); | 770 DCHECK_EQ(base::StringToLowerASCII(mime_type_pattern), mime_type_pattern); |
771 DCHECK_EQ(StringToLowerASCII(mime_type), mime_type); | 771 DCHECK_EQ(base::StringToLowerASCII(mime_type), mime_type); |
772 | 772 |
773 if (mime_type_pattern.empty()) | 773 if (mime_type_pattern.empty()) |
774 return false; | 774 return false; |
775 | 775 |
776 std::string::size_type semicolon = mime_type_pattern.find(';'); | 776 std::string::size_type semicolon = mime_type_pattern.find(';'); |
777 const std::string base_pattern(mime_type_pattern.substr(0, semicolon)); | 777 const std::string base_pattern(mime_type_pattern.substr(0, semicolon)); |
778 semicolon = mime_type.find(';'); | 778 semicolon = mime_type.find(';'); |
779 const std::string base_type(mime_type.substr(0, semicolon)); | 779 const std::string base_type(mime_type.substr(0, semicolon)); |
780 | 780 |
781 if (base_pattern == "*" || base_pattern == "*/*") | 781 if (base_pattern == "*" || base_pattern == "*/*") |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 return false; | 831 return false; |
832 | 832 |
833 if (top_level_type) | 833 if (top_level_type) |
834 *top_level_type = components[0]; | 834 *top_level_type = components[0]; |
835 if (subtype) | 835 if (subtype) |
836 *subtype = components[1]; | 836 *subtype = components[1]; |
837 return true; | 837 return true; |
838 } | 838 } |
839 | 839 |
840 bool MimeUtil::IsValidTopLevelMimeType(const std::string& type_string) const { | 840 bool MimeUtil::IsValidTopLevelMimeType(const std::string& type_string) const { |
841 std::string lower_type = StringToLowerASCII(type_string); | 841 std::string lower_type = base::StringToLowerASCII(type_string); |
842 for (size_t i = 0; i < arraysize(legal_top_level_types); ++i) { | 842 for (size_t i = 0; i < arraysize(legal_top_level_types); ++i) { |
843 if (lower_type.compare(legal_top_level_types[i]) == 0) | 843 if (lower_type.compare(legal_top_level_types[i]) == 0) |
844 return true; | 844 return true; |
845 } | 845 } |
846 | 846 |
847 return type_string.size() > 2 && StartsWithASCII(type_string, "x-", false); | 847 return type_string.size() > 2 && StartsWithASCII(type_string, "x-", false); |
848 } | 848 } |
849 | 849 |
850 bool MimeUtil::AreSupportedMediaCodecs( | 850 bool MimeUtil::AreSupportedMediaCodecs( |
851 const std::vector<std::string>& codecs) const { | 851 const std::vector<std::string>& codecs) const { |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1263 (*target)[old_target_size + i] = *iter; | 1263 (*target)[old_target_size + i] = *iter; |
1264 } | 1264 } |
1265 } | 1265 } |
1266 | 1266 |
1267 void GetExtensionsForMimeType( | 1267 void GetExtensionsForMimeType( |
1268 const std::string& unsafe_mime_type, | 1268 const std::string& unsafe_mime_type, |
1269 std::vector<base::FilePath::StringType>* extensions) { | 1269 std::vector<base::FilePath::StringType>* extensions) { |
1270 if (unsafe_mime_type == "*/*" || unsafe_mime_type == "*") | 1270 if (unsafe_mime_type == "*/*" || unsafe_mime_type == "*") |
1271 return; | 1271 return; |
1272 | 1272 |
1273 const std::string mime_type = StringToLowerASCII(unsafe_mime_type); | 1273 const std::string mime_type = base::StringToLowerASCII(unsafe_mime_type); |
1274 base::hash_set<base::FilePath::StringType> unique_extensions; | 1274 base::hash_set<base::FilePath::StringType> unique_extensions; |
1275 | 1275 |
1276 if (EndsWith(mime_type, "/*", true)) { | 1276 if (EndsWith(mime_type, "/*", true)) { |
1277 std::string leading_mime_type = mime_type.substr(0, mime_type.length() - 1); | 1277 std::string leading_mime_type = mime_type.substr(0, mime_type.length() - 1); |
1278 | 1278 |
1279 // Find the matching StandardType from within kStandardTypes, or fall | 1279 // Find the matching StandardType from within kStandardTypes, or fall |
1280 // through to the last (default) StandardType. | 1280 // through to the last (default) StandardType. |
1281 const StandardType* type = NULL; | 1281 const StandardType* type = NULL; |
1282 for (size_t i = 0; i < arraysize(kStandardTypes); ++i) { | 1282 for (size_t i = 0; i < arraysize(kStandardTypes); ++i) { |
1283 type = &(kStandardTypes[i]); | 1283 type = &(kStandardTypes[i]); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1359 post_data->append("\r\n" + value + "\r\n"); | 1359 post_data->append("\r\n" + value + "\r\n"); |
1360 } | 1360 } |
1361 | 1361 |
1362 void AddMultipartFinalDelimiterForUpload(const std::string& mime_boundary, | 1362 void AddMultipartFinalDelimiterForUpload(const std::string& mime_boundary, |
1363 std::string* post_data) { | 1363 std::string* post_data) { |
1364 DCHECK(post_data); | 1364 DCHECK(post_data); |
1365 post_data->append("--" + mime_boundary + "--\r\n"); | 1365 post_data->append("--" + mime_boundary + "--\r\n"); |
1366 } | 1366 } |
1367 | 1367 |
1368 } // namespace net | 1368 } // namespace net |
OLD | NEW |