| 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);
|
| };
|
|
|