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

Unified Diff: net/base/mime_util.h

Issue 54233002: Make net::DataURL's MIME string check stricter (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Split web_url_loader_impl change Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/base/data_url_unittest.cc ('k') | net/base/mime_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/mime_util.h
diff --git a/net/base/mime_util.h b/net/base/mime_util.h
index 9662e9656e397de2d48adedbfae590a3249ff4a7..6c943a7f7da83dc1f1e021c6db4578bfe7188621 100644
--- a/net/base/mime_util.h
+++ b/net/base/mime_util.h
@@ -55,10 +55,28 @@ NET_EXPORT bool IsSupportedMimeType(const std::string& mime_type);
NET_EXPORT bool MatchesMimeType(const std::string& mime_type_pattern,
const std::string& mime_type);
-// Returns true if the |type_string| is a correctly-formed mime type specifier.
-// Allows strings of the form x/y[;params], where "x" is a legal mime type name.
-// Also allows wildcard types -- "x/*", "*/*", and "*".
-NET_EXPORT bool IsMimeType(const std::string& type_string);
+// Returns true if the |type_string| is a correctly-formed mime type specifier
+// with no parameter, i.e. string that matches the following ABNF (see the
+// definition of content ABNF in RFC2045 and media-type ABNF httpbis p2
+// semantics).
+//
+// token "/" token
+//
+// If |top_level_type| is non-NULL, sets it to parsed top-level type string.
+// If |subtype| is non-NULL, sets it to parsed subtype string.
+NET_EXPORT bool ParseMimeTypeWithoutParameter(const std::string& type_string,
+ std::string* top_level_type,
+ std::string* subtype);
+
+// Returns true if the |type_string| is a top-level type of any media type
+// registered with IANA media types registry at
+// http://www.iana.org/assignments/media-types/media-types.xhtml or an
+// experimental type (type with x- prefix).
+//
+// This method doesn't check that the input conforms to token ABNF, so if input
+// is experimental type strings, you need to check check that before using
+// this method.
+NET_EXPORT bool IsValidTopLevelMimeType(const std::string& type_string);
// Returns true if and only if all codecs are supported, false otherwise.
NET_EXPORT bool AreSupportedMediaCodecs(const std::vector<std::string>& codecs);
« no previous file with comments | « net/base/data_url_unittest.cc ('k') | net/base/mime_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698