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 |
deleted file mode 100644 |
index 9fc7ee3c88addaeec875d0209a86fc0dcf738a51..0000000000000000000000000000000000000000 |
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_condition_attribute.h |
+++ /dev/null |
@@ -1,275 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_CONDITION_ATTRIBUTE_H_ |
-#define CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_CONDITION_ATTRIBUTE_H_ |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "content/public/common/resource_type.h" |
-#include "extensions/browser/api/declarative_webrequest/request_stage.h" |
-#include "extensions/common/api/events.h" |
- |
-namespace base { |
-class Value; |
-} |
- |
-namespace net { |
-class URLRequest; |
-} |
- |
-namespace extensions { |
- |
-class HeaderMatcher; |
-struct WebRequestData; |
- |
-// Base class for all condition attributes of the declarative Web Request API |
-// except for condition attribute to test URLPatterns. |
-class WebRequestConditionAttribute |
- : public base::RefCounted<WebRequestConditionAttribute> { |
- public: |
- enum Type { |
- CONDITION_RESOURCE_TYPE, |
- CONDITION_CONTENT_TYPE, |
- CONDITION_RESPONSE_HEADERS, |
- CONDITION_THIRD_PARTY, |
- CONDITION_REQUEST_HEADERS, |
- CONDITION_STAGES |
- }; |
- |
- WebRequestConditionAttribute(); |
- |
- // Factory method that creates a WebRequestConditionAttribute for the JSON |
- // dictionary {|name|: |value|} passed by the extension API. Sets |error| and |
- // returns NULL if something fails. |
- // The ownership of |value| remains at the caller. |
- static scoped_refptr<const WebRequestConditionAttribute> Create( |
- const std::string& name, |
- const base::Value* value, |
- std::string* error); |
- |
- // Returns a bit vector representing extensions::RequestStage. The bit vector |
- // contains a 1 for each request stage during which the condition attribute |
- // can be tested. |
- virtual int GetStages() const = 0; |
- |
- // Returns whether the condition is fulfilled for this request. |
- virtual bool IsFulfilled( |
- const WebRequestData& request_data) const = 0; |
- |
- virtual Type GetType() const = 0; |
- virtual std::string GetName() const = 0; |
- |
- // Compares the Type of two WebRequestConditionAttributes, needs to be |
- // overridden for parameterized types. |
- virtual bool Equals(const WebRequestConditionAttribute* other) const; |
- |
- protected: |
- friend class base::RefCounted<WebRequestConditionAttribute>; |
- virtual ~WebRequestConditionAttribute(); |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttribute); |
-}; |
- |
-typedef std::vector<scoped_refptr<const WebRequestConditionAttribute> > |
- WebRequestConditionAttributes; |
- |
-// |
-// The following are concrete condition attributes. |
-// |
- |
-// Condition that checks whether a request is for a specific resource type. |
-class WebRequestConditionAttributeResourceType |
- : public WebRequestConditionAttribute { |
- public: |
- // Factory method, see WebRequestConditionAttribute::Create. |
- static scoped_refptr<const WebRequestConditionAttribute> Create( |
- const std::string& instance_type, |
- const base::Value* value, |
- std::string* error, |
- bool* bad_message); |
- |
- // Implementation of WebRequestConditionAttribute: |
- virtual int GetStages() const OVERRIDE; |
- virtual bool IsFulfilled( |
- const WebRequestData& request_data) const OVERRIDE; |
- virtual Type GetType() const OVERRIDE; |
- virtual std::string GetName() const OVERRIDE; |
- virtual bool Equals(const WebRequestConditionAttribute* other) const OVERRIDE; |
- |
- private: |
- explicit WebRequestConditionAttributeResourceType( |
- const std::vector<content::ResourceType>& types); |
- virtual ~WebRequestConditionAttributeResourceType(); |
- |
- const std::vector<content::ResourceType> types_; |
- |
- 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: |
- // Factory method, see WebRequestConditionAttribute::Create. |
- static scoped_refptr<const WebRequestConditionAttribute> Create( |
- const std::string& name, |
- const base::Value* value, |
- std::string* error, |
- bool* bad_message); |
- |
- // Implementation of WebRequestConditionAttribute: |
- virtual int GetStages() const OVERRIDE; |
- virtual bool IsFulfilled( |
- const WebRequestData& request_data) const OVERRIDE; |
- virtual Type GetType() const OVERRIDE; |
- virtual std::string GetName() const OVERRIDE; |
- virtual bool Equals(const WebRequestConditionAttribute* other) const OVERRIDE; |
- |
- private: |
- explicit WebRequestConditionAttributeContentType( |
- const std::vector<std::string>& include_content_types, |
- bool inclusive); |
- virtual ~WebRequestConditionAttributeContentType(); |
- |
- const std::vector<std::string> content_types_; |
- const bool inclusive_; |
- |
- DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeContentType); |
-}; |
- |
-// Condition attribute for matching against request headers. Uses HeaderMatcher |
-// to handle the actual tests, in connection with a boolean positiveness |
-// flag. If that flag is set to true, then IsFulfilled() returns true iff |
-// |header_matcher_| matches at least one header. Otherwise IsFulfilled() |
-// returns true iff the |header_matcher_| matches no header. |
-class WebRequestConditionAttributeRequestHeaders |
- : public WebRequestConditionAttribute { |
- public: |
- // Factory method, see WebRequestConditionAttribute::Create. |
- static scoped_refptr<const WebRequestConditionAttribute> Create( |
- const std::string& name, |
- const base::Value* value, |
- std::string* error, |
- bool* bad_message); |
- |
- // Implementation of WebRequestConditionAttribute: |
- virtual int GetStages() const OVERRIDE; |
- virtual bool IsFulfilled( |
- const WebRequestData& request_data) const OVERRIDE; |
- virtual Type GetType() const OVERRIDE; |
- virtual std::string GetName() const OVERRIDE; |
- virtual bool Equals(const WebRequestConditionAttribute* other) const OVERRIDE; |
- |
- private: |
- WebRequestConditionAttributeRequestHeaders( |
- scoped_ptr<const HeaderMatcher> header_matcher, bool positive); |
- virtual ~WebRequestConditionAttributeRequestHeaders(); |
- |
- const scoped_ptr<const HeaderMatcher> header_matcher_; |
- const bool positive_; |
- |
- DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeRequestHeaders); |
-}; |
- |
-// Condition attribute for matching against response headers. Uses HeaderMatcher |
-// to handle the actual tests, in connection with a boolean positiveness |
-// flag. If that flag is set to true, then IsFulfilled() returns true iff |
-// |header_matcher_| matches at least one header. Otherwise IsFulfilled() |
-// returns true iff the |header_matcher_| matches no header. |
-class WebRequestConditionAttributeResponseHeaders |
- : public WebRequestConditionAttribute { |
- public: |
- // Factory method, see WebRequestConditionAttribute::Create. |
- static scoped_refptr<const WebRequestConditionAttribute> Create( |
- const std::string& name, |
- const base::Value* value, |
- std::string* error, |
- bool* bad_message); |
- |
- // Implementation of WebRequestConditionAttribute: |
- virtual int GetStages() const OVERRIDE; |
- virtual bool IsFulfilled( |
- const WebRequestData& request_data) const OVERRIDE; |
- virtual Type GetType() const OVERRIDE; |
- virtual std::string GetName() const OVERRIDE; |
- virtual bool Equals(const WebRequestConditionAttribute* other) const OVERRIDE; |
- |
- private: |
- WebRequestConditionAttributeResponseHeaders( |
- scoped_ptr<const HeaderMatcher> header_matcher, bool positive); |
- virtual ~WebRequestConditionAttributeResponseHeaders(); |
- |
- const scoped_ptr<const HeaderMatcher> header_matcher_; |
- const bool positive_; |
- |
- DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeResponseHeaders); |
-}; |
- |
-// This condition tests whether the request origin is third-party. |
-class WebRequestConditionAttributeThirdParty |
- : public WebRequestConditionAttribute { |
- public: |
- // Factory method, see WebRequestConditionAttribute::Create. |
- static scoped_refptr<const WebRequestConditionAttribute> Create( |
- const std::string& name, |
- const base::Value* value, |
- std::string* error, |
- bool* bad_message); |
- |
- // Implementation of WebRequestConditionAttribute: |
- virtual int GetStages() const OVERRIDE; |
- virtual bool IsFulfilled( |
- const WebRequestData& request_data) const OVERRIDE; |
- virtual Type GetType() const OVERRIDE; |
- virtual std::string GetName() const OVERRIDE; |
- virtual bool Equals(const WebRequestConditionAttribute* other) const OVERRIDE; |
- |
- private: |
- explicit WebRequestConditionAttributeThirdParty(bool match_third_party); |
- virtual ~WebRequestConditionAttributeThirdParty(); |
- |
- const bool match_third_party_; |
- |
- DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeThirdParty); |
-}; |
- |
-// This condition is used as a filter for request stages. It is true exactly in |
-// stages specified on construction. |
-class WebRequestConditionAttributeStages |
- : public WebRequestConditionAttribute { |
- public: |
- // Factory method, see WebRequestConditionAttribute::Create. |
- static scoped_refptr<const WebRequestConditionAttribute> Create( |
- const std::string& name, |
- const base::Value* value, |
- std::string* error, |
- bool* bad_message); |
- |
- // Implementation of WebRequestConditionAttribute: |
- virtual int GetStages() const OVERRIDE; |
- virtual bool IsFulfilled( |
- const WebRequestData& request_data) const OVERRIDE; |
- virtual Type GetType() const OVERRIDE; |
- virtual std::string GetName() const OVERRIDE; |
- virtual bool Equals(const WebRequestConditionAttribute* other) const OVERRIDE; |
- |
- private: |
- explicit WebRequestConditionAttributeStages(int allowed_stages); |
- virtual ~WebRequestConditionAttributeStages(); |
- |
- const int allowed_stages_; // Composition of RequestStage values. |
- |
- DISALLOW_COPY_AND_ASSIGN(WebRequestConditionAttributeStages); |
-}; |
- |
-} // namespace extensions |
- |
-#endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_CONDITION_ATTRIBUTE_H_ |