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

Side by Side Diff: chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h

Issue 10831150: Refactor request parameters into RequestData struct. Also make RequestStage singular. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: ; 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTION_H _ 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTION_H _
6 #define CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTION_H _ 6 #define CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTION_H _
7 7
8 #include <list> 8 #include <list>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "base/memory/linked_ptr.h" 13 #include "base/memory/linked_ptr.h"
14 #include "chrome/browser/extensions/api/declarative_webrequest/request_stages.h" 14 #include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h"
15 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rule.h " 15 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rule.h "
16 #include "chrome/common/extensions/api/events.h" 16 #include "chrome/common/extensions/api/events.h"
17 #include "googleurl/src/gurl.h" 17 #include "googleurl/src/gurl.h"
18 #include "unicode/regex.h" 18 #include "unicode/regex.h"
19 19
20 class WebRequestPermission; 20 class WebRequestPermission;
21 21
22 namespace base { 22 namespace base {
23 class DictionaryValue; 23 class DictionaryValue;
24 class Time; 24 class Time;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 ACTION_SET_REQUEST_HEADER, 56 ACTION_SET_REQUEST_HEADER,
57 ACTION_REMOVE_REQUEST_HEADER, 57 ACTION_REMOVE_REQUEST_HEADER,
58 ACTION_ADD_RESPONSE_HEADER, 58 ACTION_ADD_RESPONSE_HEADER,
59 ACTION_REMOVE_RESPONSE_HEADER, 59 ACTION_REMOVE_RESPONSE_HEADER,
60 ACTION_IGNORE_RULES, 60 ACTION_IGNORE_RULES,
61 }; 61 };
62 62
63 WebRequestAction(); 63 WebRequestAction();
64 virtual ~WebRequestAction(); 64 virtual ~WebRequestAction();
65 65
66 // Returns a bit vector representing extensions::RequestStages. The bit vector 66 // Returns a bit vector representing extensions::RequestStage. The bit vector
67 // contains a 1 for each request stage during which the condition can be 67 // contains a 1 for each request stage during which the condition can be
68 // tested. 68 // tested.
69 virtual int GetStages() const = 0; 69 virtual int GetStages() const = 0;
70 70
71 virtual Type GetType() const = 0; 71 virtual Type GetType() const = 0;
72 72
73 // Returns the minimum priority of rules that may be evaluated after 73 // Returns the minimum priority of rules that may be evaluated after
74 // this rule. Defaults to MIN_INT. 74 // this rule. Defaults to MIN_INT.
75 virtual int GetMinimumPriority() const; 75 virtual int GetMinimumPriority() const;
76 76
(...skipping 19 matching lines...) Expand all
96 // Sets |error| and returns NULL in case of a semantic error that cannot 96 // Sets |error| and returns NULL in case of a semantic error that cannot
97 // be caught by schema validation. Sets |bad_message| and returns NULL 97 // be caught by schema validation. Sets |bad_message| and returns NULL
98 // in case the input is syntactically unexpected. 98 // in case the input is syntactically unexpected.
99 static scoped_ptr<WebRequestAction> Create(const base::Value& json_action, 99 static scoped_ptr<WebRequestAction> Create(const base::Value& json_action,
100 std::string* error, 100 std::string* error,
101 bool* bad_message); 101 bool* bad_message);
102 102
103 // Returns a description of the modification to |request| caused by this 103 // Returns a description of the modification to |request| caused by this
104 // action. 104 // action.
105 virtual LinkedPtrEventResponseDelta CreateDelta( 105 virtual LinkedPtrEventResponseDelta CreateDelta(
106 net::URLRequest* request, 106 const WebRequestRule::RequestData& request_data,
107 RequestStages request_stage,
108 const WebRequestRule::OptionalRequestData& optional_request_data,
109 const std::string& extension_id, 107 const std::string& extension_id,
110 const base::Time& extension_install_time) const = 0; 108 const base::Time& extension_install_time) const = 0;
111 }; 109 };
112 110
113 // Immutable container for multiple actions. 111 // Immutable container for multiple actions.
114 // 112 //
115 // TODO(battre): As WebRequestActionSet can become the single owner of all 113 // TODO(battre): As WebRequestActionSet can become the single owner of all
116 // actions, we can optimize here by making some of them singletons (e.g. Cancel 114 // actions, we can optimize here by making some of them singletons (e.g. Cancel
117 // actions). 115 // actions).
118 class WebRequestActionSet { 116 class WebRequestActionSet {
(...skipping 10 matching lines...) Expand all
129 static scoped_ptr<WebRequestActionSet> Create(const AnyVector& actions, 127 static scoped_ptr<WebRequestActionSet> Create(const AnyVector& actions,
130 std::string* error, 128 std::string* error,
131 bool* bad_message); 129 bool* bad_message);
132 130
133 // Returns a description of the modifications to |request| caused by the 131 // Returns a description of the modifications to |request| caused by the
134 // |actions_| that can be executed at |request_stage|. If |extension| 132 // |actions_| that can be executed at |request_stage|. If |extension|
135 // is not NULL, permissions of extensions are checked. 133 // is not NULL, permissions of extensions are checked.
136 std::list<LinkedPtrEventResponseDelta> CreateDeltas( 134 std::list<LinkedPtrEventResponseDelta> CreateDeltas(
137 const ExtensionInfoMap* extension_info_map, 135 const ExtensionInfoMap* extension_info_map,
138 const std::string& extension_id, 136 const std::string& extension_id,
139 net::URLRequest* request, 137 const WebRequestRule::RequestData& request_data,
140 bool crosses_incognito, 138 bool crosses_incognito,
141 RequestStages request_stage,
142 const WebRequestRule::OptionalRequestData& optional_request_data,
143 const base::Time& extension_install_time) const; 139 const base::Time& extension_install_time) const;
144 140
145 // Returns the minimum priority of rules that may be evaluated after 141 // Returns the minimum priority of rules that may be evaluated after
146 // this rule. Defaults to MIN_INT. 142 // this rule. Defaults to MIN_INT.
147 int GetMinimumPriority() const; 143 int GetMinimumPriority() const;
148 144
149 const Actions& actions() const { return actions_; } 145 const Actions& actions() const { return actions_; }
150 146
151 private: 147 private:
152 Actions actions_; 148 Actions actions_;
153 149
154 DISALLOW_COPY_AND_ASSIGN(WebRequestActionSet); 150 DISALLOW_COPY_AND_ASSIGN(WebRequestActionSet);
155 }; 151 };
156 152
157 // 153 //
158 // The following are concrete actions. 154 // The following are concrete actions.
159 // 155 //
160 156
161 // Action that instructs to cancel a network request. 157 // Action that instructs to cancel a network request.
162 class WebRequestCancelAction : public WebRequestAction { 158 class WebRequestCancelAction : public WebRequestAction {
163 public: 159 public:
164 WebRequestCancelAction(); 160 WebRequestCancelAction();
165 virtual ~WebRequestCancelAction(); 161 virtual ~WebRequestCancelAction();
166 162
167 // Implementation of WebRequestAction: 163 // Implementation of WebRequestAction:
168 virtual int GetStages() const OVERRIDE; 164 virtual int GetStages() const OVERRIDE;
169 virtual Type GetType() const OVERRIDE; 165 virtual Type GetType() const OVERRIDE;
170 virtual LinkedPtrEventResponseDelta CreateDelta( 166 virtual LinkedPtrEventResponseDelta CreateDelta(
171 net::URLRequest* request, 167 const WebRequestRule::RequestData& request_data,
172 RequestStages request_stage,
173 const WebRequestRule::OptionalRequestData& optional_request_data,
174 const std::string& extension_id, 168 const std::string& extension_id,
175 const base::Time& extension_install_time) const OVERRIDE; 169 const base::Time& extension_install_time) const OVERRIDE;
176 170
177 private: 171 private:
178 DISALLOW_COPY_AND_ASSIGN(WebRequestCancelAction); 172 DISALLOW_COPY_AND_ASSIGN(WebRequestCancelAction);
179 }; 173 };
180 174
181 // Action that instructs to redirect a network request. 175 // Action that instructs to redirect a network request.
182 class WebRequestRedirectAction : public WebRequestAction { 176 class WebRequestRedirectAction : public WebRequestAction {
183 public: 177 public:
184 explicit WebRequestRedirectAction(const GURL& redirect_url); 178 explicit WebRequestRedirectAction(const GURL& redirect_url);
185 virtual ~WebRequestRedirectAction(); 179 virtual ~WebRequestRedirectAction();
186 180
187 // Implementation of WebRequestAction: 181 // Implementation of WebRequestAction:
188 virtual int GetStages() const OVERRIDE; 182 virtual int GetStages() const OVERRIDE;
189 virtual Type GetType() const OVERRIDE; 183 virtual Type GetType() const OVERRIDE;
190 virtual LinkedPtrEventResponseDelta CreateDelta( 184 virtual LinkedPtrEventResponseDelta CreateDelta(
191 net::URLRequest* request, 185 const WebRequestRule::RequestData& request_data,
192 RequestStages request_stage,
193 const WebRequestRule::OptionalRequestData& optional_request_data,
194 const std::string& extension_id, 186 const std::string& extension_id,
195 const base::Time& extension_install_time) const OVERRIDE; 187 const base::Time& extension_install_time) const OVERRIDE;
196 188
197 private: 189 private:
198 GURL redirect_url_; // Target to which the request shall be redirected. 190 GURL redirect_url_; // Target to which the request shall be redirected.
199 191
200 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectAction); 192 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectAction);
201 }; 193 };
202 194
203 // Action that instructs to redirect a network request to a transparent image. 195 // Action that instructs to redirect a network request to a transparent image.
204 class WebRequestRedirectToTransparentImageAction : public WebRequestAction { 196 class WebRequestRedirectToTransparentImageAction : public WebRequestAction {
205 public: 197 public:
206 WebRequestRedirectToTransparentImageAction(); 198 WebRequestRedirectToTransparentImageAction();
207 virtual ~WebRequestRedirectToTransparentImageAction(); 199 virtual ~WebRequestRedirectToTransparentImageAction();
208 200
209 // Implementation of WebRequestAction: 201 // Implementation of WebRequestAction:
210 virtual int GetStages() const OVERRIDE; 202 virtual int GetStages() const OVERRIDE;
211 virtual Type GetType() const OVERRIDE; 203 virtual Type GetType() const OVERRIDE;
212 virtual bool ShouldEnforceHostPermissions() const OVERRIDE; 204 virtual bool ShouldEnforceHostPermissions() const OVERRIDE;
213 virtual LinkedPtrEventResponseDelta CreateDelta( 205 virtual LinkedPtrEventResponseDelta CreateDelta(
214 net::URLRequest* request, 206 const WebRequestRule::RequestData& request_data,
215 RequestStages request_stage,
216 const WebRequestRule::OptionalRequestData& optional_request_data,
217 const std::string& extension_id, 207 const std::string& extension_id,
218 const base::Time& extension_install_time) const OVERRIDE; 208 const base::Time& extension_install_time) const OVERRIDE;
219 209
220 private: 210 private:
221 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToTransparentImageAction); 211 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToTransparentImageAction);
222 }; 212 };
223 213
224 214
225 // Action that instructs to redirect a network request to an empty document. 215 // Action that instructs to redirect a network request to an empty document.
226 class WebRequestRedirectToEmptyDocumentAction : public WebRequestAction { 216 class WebRequestRedirectToEmptyDocumentAction : public WebRequestAction {
227 public: 217 public:
228 WebRequestRedirectToEmptyDocumentAction(); 218 WebRequestRedirectToEmptyDocumentAction();
229 virtual ~WebRequestRedirectToEmptyDocumentAction(); 219 virtual ~WebRequestRedirectToEmptyDocumentAction();
230 220
231 // Implementation of WebRequestAction: 221 // Implementation of WebRequestAction:
232 virtual int GetStages() const OVERRIDE; 222 virtual int GetStages() const OVERRIDE;
233 virtual Type GetType() const OVERRIDE; 223 virtual Type GetType() const OVERRIDE;
234 virtual bool ShouldEnforceHostPermissions() const OVERRIDE; 224 virtual bool ShouldEnforceHostPermissions() const OVERRIDE;
235 virtual LinkedPtrEventResponseDelta CreateDelta( 225 virtual LinkedPtrEventResponseDelta CreateDelta(
236 net::URLRequest* request, 226 const WebRequestRule::RequestData& request_data,
237 RequestStages request_stage,
238 const WebRequestRule::OptionalRequestData& optional_request_data,
239 const std::string& extension_id, 227 const std::string& extension_id,
240 const base::Time& extension_install_time) const OVERRIDE; 228 const base::Time& extension_install_time) const OVERRIDE;
241 229
242 private: 230 private:
243 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToEmptyDocumentAction); 231 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToEmptyDocumentAction);
244 }; 232 };
245 233
246 // Action that instructs to redirect a network request. 234 // Action that instructs to redirect a network request.
247 class WebRequestRedirectByRegExAction : public WebRequestAction { 235 class WebRequestRedirectByRegExAction : public WebRequestAction {
248 public: 236 public:
249 // The |to_pattern| has to be passed in ICU syntax. 237 // The |to_pattern| has to be passed in ICU syntax.
250 // TODO(battre): Change this to Perl style when migrated to RE2. 238 // TODO(battre): Change this to Perl style when migrated to RE2.
251 explicit WebRequestRedirectByRegExAction( 239 explicit WebRequestRedirectByRegExAction(
252 scoped_ptr<icu::RegexPattern> from_pattern, 240 scoped_ptr<icu::RegexPattern> from_pattern,
253 const std::string& to_pattern); 241 const std::string& to_pattern);
254 virtual ~WebRequestRedirectByRegExAction(); 242 virtual ~WebRequestRedirectByRegExAction();
255 243
256 // Conversion of capture group styles between Perl style ($1, $2, ...) and 244 // Conversion of capture group styles between Perl style ($1, $2, ...) and
257 // RE2 (\1, \2, ...). 245 // RE2 (\1, \2, ...).
258 static std::string PerlToRe2Style(const std::string& perl); 246 static std::string PerlToRe2Style(const std::string& perl);
259 247
260 // Implementation of WebRequestAction: 248 // Implementation of WebRequestAction:
261 virtual int GetStages() const OVERRIDE; 249 virtual int GetStages() const OVERRIDE;
262 virtual Type GetType() const OVERRIDE; 250 virtual Type GetType() const OVERRIDE;
263 virtual LinkedPtrEventResponseDelta CreateDelta( 251 virtual LinkedPtrEventResponseDelta CreateDelta(
264 net::URLRequest* request, 252 const WebRequestRule::RequestData& request_data,
265 RequestStages request_stage,
266 const WebRequestRule::OptionalRequestData& optional_request_data,
267 const std::string& extension_id, 253 const std::string& extension_id,
268 const base::Time& extension_install_time) const OVERRIDE; 254 const base::Time& extension_install_time) const OVERRIDE;
269 255
270 private: 256 private:
271 scoped_ptr<icu::RegexPattern> from_pattern_; 257 scoped_ptr<icu::RegexPattern> from_pattern_;
272 icu::UnicodeString to_pattern_; 258 icu::UnicodeString to_pattern_;
273 259
274 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectByRegExAction); 260 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectByRegExAction);
275 }; 261 };
276 262
277 // Action that instructs to set a request header. 263 // Action that instructs to set a request header.
278 class WebRequestSetRequestHeaderAction : public WebRequestAction { 264 class WebRequestSetRequestHeaderAction : public WebRequestAction {
279 public: 265 public:
280 WebRequestSetRequestHeaderAction(const std::string& name, 266 WebRequestSetRequestHeaderAction(const std::string& name,
281 const std::string& value); 267 const std::string& value);
282 virtual ~WebRequestSetRequestHeaderAction(); 268 virtual ~WebRequestSetRequestHeaderAction();
283 269
284 // Implementation of WebRequestAction: 270 // Implementation of WebRequestAction:
285 virtual int GetStages() const OVERRIDE; 271 virtual int GetStages() const OVERRIDE;
286 virtual Type GetType() const OVERRIDE; 272 virtual Type GetType() const OVERRIDE;
287 virtual LinkedPtrEventResponseDelta CreateDelta( 273 virtual LinkedPtrEventResponseDelta CreateDelta(
288 net::URLRequest* request, 274 const WebRequestRule::RequestData& request_data,
289 RequestStages request_stage,
290 const WebRequestRule::OptionalRequestData& optional_request_data,
291 const std::string& extension_id, 275 const std::string& extension_id,
292 const base::Time& extension_install_time) const OVERRIDE; 276 const base::Time& extension_install_time) const OVERRIDE;
293 277
294 private: 278 private:
295 std::string name_; 279 std::string name_;
296 std::string value_; 280 std::string value_;
297 DISALLOW_COPY_AND_ASSIGN(WebRequestSetRequestHeaderAction); 281 DISALLOW_COPY_AND_ASSIGN(WebRequestSetRequestHeaderAction);
298 }; 282 };
299 283
300 // Action that instructs to remove a request header. 284 // Action that instructs to remove a request header.
301 class WebRequestRemoveRequestHeaderAction : public WebRequestAction { 285 class WebRequestRemoveRequestHeaderAction : public WebRequestAction {
302 public: 286 public:
303 explicit WebRequestRemoveRequestHeaderAction(const std::string& name); 287 explicit WebRequestRemoveRequestHeaderAction(const std::string& name);
304 virtual ~WebRequestRemoveRequestHeaderAction(); 288 virtual ~WebRequestRemoveRequestHeaderAction();
305 289
306 // Implementation of WebRequestAction: 290 // Implementation of WebRequestAction:
307 virtual int GetStages() const OVERRIDE; 291 virtual int GetStages() const OVERRIDE;
308 virtual Type GetType() const OVERRIDE; 292 virtual Type GetType() const OVERRIDE;
309 virtual LinkedPtrEventResponseDelta CreateDelta( 293 virtual LinkedPtrEventResponseDelta CreateDelta(
310 net::URLRequest* request, 294 const WebRequestRule::RequestData& request_data,
311 RequestStages request_stage,
312 const WebRequestRule::OptionalRequestData& optional_request_data,
313 const std::string& extension_id, 295 const std::string& extension_id,
314 const base::Time& extension_install_time) const OVERRIDE; 296 const base::Time& extension_install_time) const OVERRIDE;
315 297
316 private: 298 private:
317 std::string name_; 299 std::string name_;
318 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveRequestHeaderAction); 300 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveRequestHeaderAction);
319 }; 301 };
320 302
321 // Action that instructs to add a response header. 303 // Action that instructs to add a response header.
322 class WebRequestAddResponseHeaderAction : public WebRequestAction { 304 class WebRequestAddResponseHeaderAction : public WebRequestAction {
323 public: 305 public:
324 WebRequestAddResponseHeaderAction(const std::string& name, 306 WebRequestAddResponseHeaderAction(const std::string& name,
325 const std::string& value); 307 const std::string& value);
326 virtual ~WebRequestAddResponseHeaderAction(); 308 virtual ~WebRequestAddResponseHeaderAction();
327 309
328 // Implementation of WebRequestAction: 310 // Implementation of WebRequestAction:
329 virtual int GetStages() const OVERRIDE; 311 virtual int GetStages() const OVERRIDE;
330 virtual Type GetType() const OVERRIDE; 312 virtual Type GetType() const OVERRIDE;
331 virtual LinkedPtrEventResponseDelta CreateDelta( 313 virtual LinkedPtrEventResponseDelta CreateDelta(
332 net::URLRequest* request, 314 const WebRequestRule::RequestData& request_data,
333 RequestStages request_stage,
334 const WebRequestRule::OptionalRequestData& optional_request_data,
335 const std::string& extension_id, 315 const std::string& extension_id,
336 const base::Time& extension_install_time) const OVERRIDE; 316 const base::Time& extension_install_time) const OVERRIDE;
337 317
338 private: 318 private:
339 std::string name_; 319 std::string name_;
340 std::string value_; 320 std::string value_;
341 DISALLOW_COPY_AND_ASSIGN(WebRequestAddResponseHeaderAction); 321 DISALLOW_COPY_AND_ASSIGN(WebRequestAddResponseHeaderAction);
342 }; 322 };
343 323
344 // Action that instructs to remove a response header. 324 // Action that instructs to remove a response header.
345 class WebRequestRemoveResponseHeaderAction : public WebRequestAction { 325 class WebRequestRemoveResponseHeaderAction : public WebRequestAction {
346 public: 326 public:
347 explicit WebRequestRemoveResponseHeaderAction(const std::string& name, 327 explicit WebRequestRemoveResponseHeaderAction(const std::string& name,
348 const std::string& value, 328 const std::string& value,
349 bool has_value); 329 bool has_value);
350 virtual ~WebRequestRemoveResponseHeaderAction(); 330 virtual ~WebRequestRemoveResponseHeaderAction();
351 331
352 // Implementation of WebRequestAction: 332 // Implementation of WebRequestAction:
353 virtual int GetStages() const OVERRIDE; 333 virtual int GetStages() const OVERRIDE;
354 virtual Type GetType() const OVERRIDE; 334 virtual Type GetType() const OVERRIDE;
355 virtual LinkedPtrEventResponseDelta CreateDelta( 335 virtual LinkedPtrEventResponseDelta CreateDelta(
356 net::URLRequest* request, 336 const WebRequestRule::RequestData& request_data,
357 RequestStages request_stage,
358 const WebRequestRule::OptionalRequestData& optional_request_data,
359 const std::string& extension_id, 337 const std::string& extension_id,
360 const base::Time& extension_install_time) const OVERRIDE; 338 const base::Time& extension_install_time) const OVERRIDE;
361 339
362 private: 340 private:
363 std::string name_; 341 std::string name_;
364 std::string value_; 342 std::string value_;
365 bool has_value_; 343 bool has_value_;
366 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveResponseHeaderAction); 344 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveResponseHeaderAction);
367 }; 345 };
368 346
369 // Action that instructs to ignore rules below a certain priority. 347 // Action that instructs to ignore rules below a certain priority.
370 class WebRequestIgnoreRulesAction : public WebRequestAction { 348 class WebRequestIgnoreRulesAction : public WebRequestAction {
371 public: 349 public:
372 explicit WebRequestIgnoreRulesAction(int minimum_priority); 350 explicit WebRequestIgnoreRulesAction(int minimum_priority);
373 virtual ~WebRequestIgnoreRulesAction(); 351 virtual ~WebRequestIgnoreRulesAction();
374 352
375 // Implementation of WebRequestAction: 353 // Implementation of WebRequestAction:
376 virtual int GetStages() const OVERRIDE; 354 virtual int GetStages() const OVERRIDE;
377 virtual Type GetType() const OVERRIDE; 355 virtual Type GetType() const OVERRIDE;
378 virtual int GetMinimumPriority() const OVERRIDE; 356 virtual int GetMinimumPriority() const OVERRIDE;
379 virtual bool ShouldEnforceHostPermissions() const OVERRIDE; 357 virtual bool ShouldEnforceHostPermissions() const OVERRIDE;
380 virtual LinkedPtrEventResponseDelta CreateDelta( 358 virtual LinkedPtrEventResponseDelta CreateDelta(
381 net::URLRequest* request, 359 const WebRequestRule::RequestData& request_data,
382 RequestStages request_stage,
383 const WebRequestRule::OptionalRequestData& optional_request_data,
384 const std::string& extension_id, 360 const std::string& extension_id,
385 const base::Time& extension_install_time) const OVERRIDE; 361 const base::Time& extension_install_time) const OVERRIDE;
386 362
387 private: 363 private:
388 int minimum_priority_; 364 int minimum_priority_;
389 DISALLOW_COPY_AND_ASSIGN(WebRequestIgnoreRulesAction); 365 DISALLOW_COPY_AND_ASSIGN(WebRequestIgnoreRulesAction);
390 }; 366 };
391 367
392 // TODO(battre) Implement further actions: 368 // TODO(battre) Implement further actions:
393 // Redirect by RegEx, Cookie manipulations, ... 369 // Redirect by RegEx, Cookie manipulations, ...
394 370
395 } // namespace extensions 371 } // namespace extensions
396 372
397 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTIO N_H_ 373 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTIO N_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698