Index: net/http/http_content_disposition.h |
diff --git a/net/http/http_content_disposition.h b/net/http/http_content_disposition.h |
index f3573a9dceadcc27a6c9c54e8b7c0452b4f3e2a4..2b4ca709eb3cbb581bab6c9101eda889fc0a3141 100644 |
--- a/net/http/http_content_disposition.h |
+++ b/net/http/http_content_disposition.h |
@@ -19,6 +19,37 @@ class NET_EXPORT HttpContentDisposition { |
ATTACHMENT, |
}; |
+ // Properties of the Content-Disposition header. Used for UMA. |
+ enum ParseResultFlags { |
+ INVALID = 0, |
+ |
+ // A valid disposition-type is present. |
+ HAS_DISPOSITION_TYPE = 1 << 0, |
+ |
+ // The disposition-type is not 'inline' or 'attachment'. |
+ HAS_UNKNOWN_DISPOSITION_TYPE = 1 << 1, |
+ |
+ // Has a valid non-empty 'name' attribute. |
+ HAS_NAME = 1 << 2, |
+ |
+ // Has a valid non-empty 'filename' attribute. |
+ HAS_FILENAME = 1 << 3, |
+ |
+ // Has a valid non-empty 'filename*' attribute. |
+ HAS_EXT_FILENAME = 1 << 4, |
+ |
+ // The following fields are properties of the 'filename' attribute: |
+ |
+ // Quoted-string contains non-ASCII characters. |
+ HAS_NON_ASCII_STRINGS = 1 << 5, |
+ |
+ // Quoted-string contains percent-encoding. |
+ HAS_PERCENT_ENCODED_STRINGS = 1 << 6, |
+ |
+ // Quoted-string contains RFC 2047 encoded words. |
+ HAS_RFC2047_ENCODED_STRINGS = 1 << 7 |
+ }; |
+ |
HttpContentDisposition(const std::string& header, |
const std::string& referrer_charset); |
~HttpContentDisposition(); |
@@ -28,6 +59,9 @@ class NET_EXPORT HttpContentDisposition { |
Type type() const { return type_; } |
const std::string& filename() const { return filename_; } |
+ // A combination of ParseResultFlags values. |
+ int parse_result_flags() const { return parse_result_flags_; } |
+ |
private: |
void Parse(const std::string& header, const std::string& referrer_charset); |
std::string::const_iterator ConsumeDispositionType( |
@@ -35,6 +69,7 @@ class NET_EXPORT HttpContentDisposition { |
Type type_; |
std::string filename_; |
+ int parse_result_flags_; |
DISALLOW_COPY_AND_ASSIGN(HttpContentDisposition); |
}; |