Index: chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h |
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h b/chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h |
index ca420aa0025107faf36dc1d6aa091ad92b8d36fe..cec4b55fd37053c085ffa867d4196e5b9fdc9015 100644 |
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h |
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h |
@@ -31,7 +31,8 @@ namespace extensions { |
class WebRequestConditionAttribute { |
public: |
enum Type { |
- CONDITION_RESOURCE_TYPE |
+ CONDITION_RESOURCE_TYPE, |
+ CONDITION_CONTENT_TYPE |
}; |
WebRequestConditionAttribute(); |
@@ -100,6 +101,36 @@ class WebRequestConditionAttributeResourceType |
DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeResourceType); |
}; |
+// Condition that checks whether a response's Content-Type header has a |
+// certain MIME media type. |
+class WebRequestConditionAttributeContentType |
+ : public WebRequestConditionAttribute { |
+ public: |
+ virtual ~WebRequestConditionAttributeContentType(); |
+ |
+ static bool IsMatchingType(const std::string& instance_type); |
+ |
+ // Factory method, see WebRequestConditionAttribute::Create. |
+ static scoped_ptr<WebRequestConditionAttribute> Create( |
+ const std::string& name, |
+ const base::Value* value, |
+ std::string* error); |
+ |
+ // Implementation of WebRequestConditionAttribute: |
+ virtual int GetStages() const OVERRIDE; |
+ virtual bool IsFulfilled(const WebRequestRule::RequestData& request_data) |
+ OVERRIDE; |
+ virtual Type GetType() const OVERRIDE; |
+ |
+ private: |
+ explicit WebRequestConditionAttributeContentType( |
+ const std::vector<std::string>& content_types); |
+ |
+ std::vector<std::string> content_types_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeContentType); |
+}; |
+ |
} // namespace extensions |
#endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_CONDITION_ATTRIBUTE_H_ |