Chromium Code Reviews| 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 2785cfce115367265dde99fd19a98c5eae1a18d9..5309ef80deb13a75f564f4c0b4c1166672c687ff 100644 |
| --- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h |
| +++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h |
| @@ -71,12 +71,9 @@ class WebRequestAction { |
| // Strategies for checking host permissions. |
| enum HostPermissionsStrategy { |
| STRATEGY_NONE, // Do not check host permissions. |
| - STRATEGY_DEFAULT, // Check host permissions in HasPermission, |
| - // before creating the delta. |
| - STRATEGY_ALLOW_SAME_DOMAIN, // Skip host permission checks if the request |
| - // URL and new URL have the same domain. |
| - // Do these checks in DeltaHasPermission, |
| - // after creating the delta. |
| + STRATEGY_DEFAULT, // Check for host permissions for all URLs before |
| + // creating the delta. |
| + STRATEGY_HOST, // Check that host permissions match the URL of the request. |
| }; |
| // Information necessary to decide how to apply a WebRequestAction |
| @@ -91,6 +88,7 @@ class WebRequestAction { |
| }; |
| WebRequestAction(); |
|
Matt Perry
2013/04/19 21:55:28
Can the default constructor be removed?
vabr (Chromium)
2013/04/25 19:08:03
Done.
|
| + explicit WebRequestAction(HostPermissionsStrategy strategy); |
| virtual ~WebRequestAction(); |
| // Returns a bit vector representing extensions::RequestStage. The bit vector |
| @@ -104,11 +102,9 @@ class WebRequestAction { |
| // this rule. Defaults to MIN_INT. |
| virtual int GetMinimumPriority() const; |
| - // Returns whether host permissions checks depend on the resulting delta |
| - // and therefore must be checked in DeltaHasPermission, after the delta |
| - // is created, rather than in HasPermission, before it is created. |
| - // Defaults to STRATEGY_DEFAULT. |
| - virtual HostPermissionsStrategy GetHostPermissionsStrategy() const; |
| + HostPermissionsStrategy host_permissions_strategy() const { |
| + return host_permissions_strategy_; |
| + } |
| // Returns whether the specified extension has permission to execute this |
| // action on |request|. Checks the host permission if the host permissions |
| @@ -122,19 +118,6 @@ class WebRequestAction { |
| const net::URLRequest* request, |
| bool crosses_incognito) const; |
| - // Returns whether the specified extension has permission to modify the |
| - // |request| with this |delta|. This check is in addition to HasPermission; |
| - // if either fails, the request will not be modified. Unlike HasPermission, |
| - // it runs after the change is created, so it can use the full information |
| - // about what the change would be. Checks the host permission if the strategy |
| - // is STRATEGY_ALLOW_SAME_DOMAIN. |
| - virtual bool DeltaHasPermission( |
| - const ExtensionInfoMap* extension_info_map, |
| - const std::string& extension_id, |
| - const net::URLRequest* request, |
| - bool crosses_incognito, |
| - const LinkedPtrEventResponseDelta& delta) const; |
| - |
| // Factory method that instantiates a concrete WebRequestAction |
| // implementation according to |json_action|, the representation of the |
| // WebRequestAction as received from the extension API. |
| @@ -157,6 +140,10 @@ class WebRequestAction { |
| void Apply(const std::string& extension_id, |
| base::Time extension_install_time, |
| ApplyInfo* apply_info) const; |
| + |
| + private: |
| + // Defaults to STRATEGY_DEFAULT. |
| + const HostPermissionsStrategy host_permissions_strategy_; |
| }; |
| typedef DeclarativeActionSet<WebRequestAction> WebRequestActionSet; |
| @@ -174,7 +161,6 @@ class WebRequestCancelAction : public WebRequestAction { |
| // Implementation of WebRequestAction: |
| virtual int GetStages() const OVERRIDE; |
| virtual Type GetType() const OVERRIDE; |
| - virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; |
| virtual LinkedPtrEventResponseDelta CreateDelta( |
| const WebRequestData& request_data, |
| const std::string& extension_id, |
| @@ -193,7 +179,6 @@ class WebRequestRedirectAction : public WebRequestAction { |
| // Implementation of WebRequestAction: |
| virtual int GetStages() const OVERRIDE; |
| virtual Type GetType() const OVERRIDE; |
| - virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; |
| virtual LinkedPtrEventResponseDelta CreateDelta( |
| const WebRequestData& request_data, |
| const std::string& extension_id, |
| @@ -214,7 +199,6 @@ class WebRequestRedirectToTransparentImageAction : public WebRequestAction { |
| // Implementation of WebRequestAction: |
| virtual int GetStages() const OVERRIDE; |
| virtual Type GetType() const OVERRIDE; |
| - virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; |
| virtual LinkedPtrEventResponseDelta CreateDelta( |
| const WebRequestData& request_data, |
| const std::string& extension_id, |
| @@ -234,7 +218,6 @@ class WebRequestRedirectToEmptyDocumentAction : public WebRequestAction { |
| // Implementation of WebRequestAction: |
| virtual int GetStages() const OVERRIDE; |
| virtual Type GetType() const OVERRIDE; |
| - virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; |
| virtual LinkedPtrEventResponseDelta CreateDelta( |
| const WebRequestData& request_data, |
| const std::string& extension_id, |
| @@ -260,7 +243,6 @@ class WebRequestRedirectByRegExAction : public WebRequestAction { |
| // Implementation of WebRequestAction: |
| virtual int GetStages() const OVERRIDE; |
| virtual Type GetType() const OVERRIDE; |
| - virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; |
| virtual LinkedPtrEventResponseDelta CreateDelta( |
| const WebRequestData& request_data, |
| const std::string& extension_id, |
| @@ -368,7 +350,6 @@ class WebRequestIgnoreRulesAction : public WebRequestAction { |
| virtual int GetStages() const OVERRIDE; |
| virtual Type GetType() const OVERRIDE; |
| virtual int GetMinimumPriority() const OVERRIDE; |
| - virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; |
| virtual LinkedPtrEventResponseDelta CreateDelta( |
| const WebRequestData& request_data, |
| const std::string& extension_id, |