| 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 cc5d2518e12746e82ef3fda3903e03f2cf3d99cc..00f5eed77fd849b461ea3db52d0fc4b6bcf82197 100644
|
| --- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h
|
| +++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h
|
| @@ -36,7 +36,8 @@ class WebRequestConditionAttribute {
|
| enum Type {
|
| CONDITION_RESOURCE_TYPE,
|
| CONDITION_CONTENT_TYPE,
|
| - CONDITION_RESPONSE_HEADERS
|
| + CONDITION_RESPONSE_HEADERS,
|
| + CONDITION_THIRD_PARTY
|
| };
|
|
|
| WebRequestConditionAttribute();
|
| @@ -172,6 +173,34 @@ class WebRequestConditionAttributeResponseHeaders
|
| DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeResponseHeaders);
|
| };
|
|
|
| +// This condition tests whether the request origin is third-party.
|
| +class WebRequestConditionAttributeThirdParty
|
| + : public WebRequestConditionAttribute {
|
| + public:
|
| + virtual ~WebRequestConditionAttributeThirdParty();
|
| +
|
| + 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) const OVERRIDE;
|
| + virtual Type GetType() const OVERRIDE;
|
| +
|
| + private:
|
| + explicit WebRequestConditionAttributeThirdParty(bool match_third_party);
|
| +
|
| + const bool match_third_party_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeThirdParty);
|
| +};
|
| +
|
| } // namespace extensions
|
|
|
| #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_CONDITION_ATTRIBUTE_H_
|
|
|