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

Unified Diff: chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h

Issue 10843065: Add condition attribute for MIME media types from Content-Type header. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: dammit docs Created 8 years, 4 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
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_

Powered by Google App Engine
This is Rietveld 408576698