| Index: chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h
|
| diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h
|
| index 5c8a6cb633871fa8db3043e6a0ae14fc84c8f579..fdaea5f1d1029ab2120c7ca02ef06a25664b4d16 100644
|
| --- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h
|
| +++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h
|
| @@ -16,6 +16,7 @@
|
| #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rule.h"
|
| #include "chrome/common/extensions/api/events.h"
|
| #include "googleurl/src/gurl.h"
|
| +#include "unicode/regex.h"
|
|
|
| namespace base {
|
| class DictionaryValue;
|
| @@ -47,6 +48,7 @@ class WebRequestAction {
|
| ACTION_REDIRECT_REQUEST,
|
| ACTION_REDIRECT_TO_TRANSPARENT_IMAGE,
|
| ACTION_REDIRECT_TO_EMPTY_DOCUMENT,
|
| + ACTION_REDIRECT_BY_REGEX_DOCUMENT,
|
| ACTION_SET_REQUEST_HEADER,
|
| ACTION_REMOVE_REQUEST_HEADER,
|
| ACTION_ADD_RESPONSE_HEADER,
|
| @@ -216,6 +218,31 @@ class WebRequestRedirectToEmptyDocumentAction : public WebRequestAction {
|
| DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToEmptyDocumentAction);
|
| };
|
|
|
| +// Action that instructs to redirect a network request.
|
| +class WebRequestRedirectByRegExAction : public WebRequestAction {
|
| + public:
|
| + explicit WebRequestRedirectByRegExAction(
|
| + scoped_ptr<icu::RegexPattern> from_pattern,
|
| + const std::string& to_pattern);
|
| + virtual ~WebRequestRedirectByRegExAction();
|
| +
|
| + // Implementation of WebRequestAction:
|
| + virtual int GetStages() const OVERRIDE;
|
| + virtual Type GetType() const OVERRIDE;
|
| + virtual LinkedPtrEventResponseDelta CreateDelta(
|
| + net::URLRequest* request,
|
| + RequestStages request_stage,
|
| + const WebRequestRule::OptionalRequestData& optional_request_data,
|
| + const std::string& extension_id,
|
| + const base::Time& extension_install_time) const OVERRIDE;
|
| +
|
| + private:
|
| + scoped_ptr<icu::RegexPattern> from_pattern_;
|
| + icu::UnicodeString to_pattern_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectByRegExAction);
|
| +};
|
| +
|
| // Action that instructs to set a request header.
|
| class WebRequestSetRequestHeaderAction : public WebRequestAction {
|
| public:
|
|
|