OLD | NEW |
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> |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 | 46 |
47 namespace extensions { | 47 namespace extensions { |
48 | 48 |
49 typedef linked_ptr<extension_web_request_api_helpers::EventResponseDelta> | 49 typedef linked_ptr<extension_web_request_api_helpers::EventResponseDelta> |
50 LinkedPtrEventResponseDelta; | 50 LinkedPtrEventResponseDelta; |
51 | 51 |
52 // Base class for all WebRequestActions of the declarative Web Request API. | 52 // Base class for all WebRequestActions of the declarative Web Request API. |
53 class WebRequestAction : public base::RefCounted<WebRequestAction> { | 53 class WebRequestAction : public base::RefCounted<WebRequestAction> { |
54 public: | 54 public: |
55 // Type identifiers for concrete WebRequestActions. If you add a new type, | 55 // Type identifiers for concrete WebRequestActions. If you add a new type, |
56 // also update |action_names| in WebRequestActionFactory, update the | 56 // also update the unittest WebRequestActionTest.GetName, and add a |
57 // unittest WebRequestActionTest.GetName, and add a | |
58 // WebRequestActionWithThreadsTest.Permission* unittest. | 57 // WebRequestActionWithThreadsTest.Permission* unittest. |
59 enum Type { | 58 enum Type { |
60 ACTION_CANCEL_REQUEST, | 59 ACTION_CANCEL_REQUEST, |
61 ACTION_REDIRECT_REQUEST, | 60 ACTION_REDIRECT_REQUEST, |
62 ACTION_REDIRECT_TO_TRANSPARENT_IMAGE, | 61 ACTION_REDIRECT_TO_TRANSPARENT_IMAGE, |
63 ACTION_REDIRECT_TO_EMPTY_DOCUMENT, | 62 ACTION_REDIRECT_TO_EMPTY_DOCUMENT, |
64 ACTION_REDIRECT_BY_REGEX_DOCUMENT, | 63 ACTION_REDIRECT_BY_REGEX_DOCUMENT, |
65 ACTION_SET_REQUEST_HEADER, | 64 ACTION_SET_REQUEST_HEADER, |
66 ACTION_REMOVE_REQUEST_HEADER, | 65 ACTION_REMOVE_REQUEST_HEADER, |
67 ACTION_ADD_RESPONSE_HEADER, | 66 ACTION_ADD_RESPONSE_HEADER, |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 Type type() const { | 98 Type type() const { |
100 return type_; | 99 return type_; |
101 } | 100 } |
102 | 101 |
103 // Compares the Type of two WebRequestActions, needs to be overridden for | 102 // Compares the Type of two WebRequestActions, needs to be overridden for |
104 // parameterized types. | 103 // parameterized types. |
105 virtual bool Equals(const WebRequestAction* other) const; | 104 virtual bool Equals(const WebRequestAction* other) const; |
106 | 105 |
107 // Return the JavaScript type name corresponding to type(). If there are | 106 // Return the JavaScript type name corresponding to type(). If there are |
108 // more names, they are returned separated by a colon. | 107 // more names, they are returned separated by a colon. |
109 const std::string& GetName() const; | 108 virtual std::string GetName() const = 0; |
110 | 109 |
111 int minimum_priority() const { | 110 int minimum_priority() const { |
112 return minimum_priority_; | 111 return minimum_priority_; |
113 } | 112 } |
114 | 113 |
115 HostPermissionsStrategy host_permissions_strategy() const { | 114 HostPermissionsStrategy host_permissions_strategy() const { |
116 return host_permissions_strategy_; | 115 return host_permissions_strategy_; |
117 } | 116 } |
118 | 117 |
119 // Returns whether the specified extension has permission to execute this | 118 // Returns whether the specified extension has permission to execute this |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 // | 179 // |
181 // The following are concrete actions. | 180 // The following are concrete actions. |
182 // | 181 // |
183 | 182 |
184 // Action that instructs to cancel a network request. | 183 // Action that instructs to cancel a network request. |
185 class WebRequestCancelAction : public WebRequestAction { | 184 class WebRequestCancelAction : public WebRequestAction { |
186 public: | 185 public: |
187 WebRequestCancelAction(); | 186 WebRequestCancelAction(); |
188 | 187 |
189 // Implementation of WebRequestAction: | 188 // Implementation of WebRequestAction: |
| 189 virtual std::string GetName() const OVERRIDE; |
190 virtual LinkedPtrEventResponseDelta CreateDelta( | 190 virtual LinkedPtrEventResponseDelta CreateDelta( |
191 const WebRequestData& request_data, | 191 const WebRequestData& request_data, |
192 const std::string& extension_id, | 192 const std::string& extension_id, |
193 const base::Time& extension_install_time) const OVERRIDE; | 193 const base::Time& extension_install_time) const OVERRIDE; |
194 | 194 |
195 private: | 195 private: |
196 virtual ~WebRequestCancelAction(); | 196 virtual ~WebRequestCancelAction(); |
197 DISALLOW_COPY_AND_ASSIGN(WebRequestCancelAction); | 197 DISALLOW_COPY_AND_ASSIGN(WebRequestCancelAction); |
198 }; | 198 }; |
199 | 199 |
200 // Action that instructs to redirect a network request. | 200 // Action that instructs to redirect a network request. |
201 class WebRequestRedirectAction : public WebRequestAction { | 201 class WebRequestRedirectAction : public WebRequestAction { |
202 public: | 202 public: |
203 explicit WebRequestRedirectAction(const GURL& redirect_url); | 203 explicit WebRequestRedirectAction(const GURL& redirect_url); |
204 | 204 |
205 // Implementation of WebRequestAction: | 205 // Implementation of WebRequestAction: |
206 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 206 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 207 virtual std::string GetName() const OVERRIDE; |
207 virtual LinkedPtrEventResponseDelta CreateDelta( | 208 virtual LinkedPtrEventResponseDelta CreateDelta( |
208 const WebRequestData& request_data, | 209 const WebRequestData& request_data, |
209 const std::string& extension_id, | 210 const std::string& extension_id, |
210 const base::Time& extension_install_time) const OVERRIDE; | 211 const base::Time& extension_install_time) const OVERRIDE; |
211 | 212 |
212 private: | 213 private: |
213 virtual ~WebRequestRedirectAction(); | 214 virtual ~WebRequestRedirectAction(); |
214 | 215 |
215 GURL redirect_url_; // Target to which the request shall be redirected. | 216 GURL redirect_url_; // Target to which the request shall be redirected. |
216 | 217 |
217 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectAction); | 218 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectAction); |
218 }; | 219 }; |
219 | 220 |
220 // Action that instructs to redirect a network request to a transparent image. | 221 // Action that instructs to redirect a network request to a transparent image. |
221 class WebRequestRedirectToTransparentImageAction : public WebRequestAction { | 222 class WebRequestRedirectToTransparentImageAction : public WebRequestAction { |
222 public: | 223 public: |
223 WebRequestRedirectToTransparentImageAction(); | 224 WebRequestRedirectToTransparentImageAction(); |
224 | 225 |
225 // Implementation of WebRequestAction: | 226 // Implementation of WebRequestAction: |
| 227 virtual std::string GetName() const OVERRIDE; |
226 virtual LinkedPtrEventResponseDelta CreateDelta( | 228 virtual LinkedPtrEventResponseDelta CreateDelta( |
227 const WebRequestData& request_data, | 229 const WebRequestData& request_data, |
228 const std::string& extension_id, | 230 const std::string& extension_id, |
229 const base::Time& extension_install_time) const OVERRIDE; | 231 const base::Time& extension_install_time) const OVERRIDE; |
230 | 232 |
231 private: | 233 private: |
232 virtual ~WebRequestRedirectToTransparentImageAction(); | 234 virtual ~WebRequestRedirectToTransparentImageAction(); |
233 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToTransparentImageAction); | 235 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToTransparentImageAction); |
234 }; | 236 }; |
235 | 237 |
236 | 238 |
237 // Action that instructs to redirect a network request to an empty document. | 239 // Action that instructs to redirect a network request to an empty document. |
238 class WebRequestRedirectToEmptyDocumentAction : public WebRequestAction { | 240 class WebRequestRedirectToEmptyDocumentAction : public WebRequestAction { |
239 public: | 241 public: |
240 WebRequestRedirectToEmptyDocumentAction(); | 242 WebRequestRedirectToEmptyDocumentAction(); |
241 | 243 |
242 // Implementation of WebRequestAction: | 244 // Implementation of WebRequestAction: |
| 245 virtual std::string GetName() const OVERRIDE; |
243 virtual LinkedPtrEventResponseDelta CreateDelta( | 246 virtual LinkedPtrEventResponseDelta CreateDelta( |
244 const WebRequestData& request_data, | 247 const WebRequestData& request_data, |
245 const std::string& extension_id, | 248 const std::string& extension_id, |
246 const base::Time& extension_install_time) const OVERRIDE; | 249 const base::Time& extension_install_time) const OVERRIDE; |
247 | 250 |
248 private: | 251 private: |
249 virtual ~WebRequestRedirectToEmptyDocumentAction(); | 252 virtual ~WebRequestRedirectToEmptyDocumentAction(); |
250 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToEmptyDocumentAction); | 253 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToEmptyDocumentAction); |
251 }; | 254 }; |
252 | 255 |
253 // Action that instructs to redirect a network request. | 256 // Action that instructs to redirect a network request. |
254 class WebRequestRedirectByRegExAction : public WebRequestAction { | 257 class WebRequestRedirectByRegExAction : public WebRequestAction { |
255 public: | 258 public: |
256 // The |to_pattern| has to be passed in RE2 syntax with the exception that | 259 // The |to_pattern| has to be passed in RE2 syntax with the exception that |
257 // capture groups are referenced in Perl style ($1, $2, ...). | 260 // capture groups are referenced in Perl style ($1, $2, ...). |
258 explicit WebRequestRedirectByRegExAction(scoped_ptr<re2::RE2> from_pattern, | 261 explicit WebRequestRedirectByRegExAction(scoped_ptr<re2::RE2> from_pattern, |
259 const std::string& to_pattern); | 262 const std::string& to_pattern); |
260 | 263 |
261 // Conversion of capture group styles between Perl style ($1, $2, ...) and | 264 // Conversion of capture group styles between Perl style ($1, $2, ...) and |
262 // RE2 (\1, \2, ...). | 265 // RE2 (\1, \2, ...). |
263 static std::string PerlToRe2Style(const std::string& perl); | 266 static std::string PerlToRe2Style(const std::string& perl); |
264 | 267 |
265 // Implementation of WebRequestAction: | 268 // Implementation of WebRequestAction: |
266 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 269 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 270 virtual std::string GetName() const OVERRIDE; |
267 virtual LinkedPtrEventResponseDelta CreateDelta( | 271 virtual LinkedPtrEventResponseDelta CreateDelta( |
268 const WebRequestData& request_data, | 272 const WebRequestData& request_data, |
269 const std::string& extension_id, | 273 const std::string& extension_id, |
270 const base::Time& extension_install_time) const OVERRIDE; | 274 const base::Time& extension_install_time) const OVERRIDE; |
271 | 275 |
272 private: | 276 private: |
273 virtual ~WebRequestRedirectByRegExAction(); | 277 virtual ~WebRequestRedirectByRegExAction(); |
274 | 278 |
275 scoped_ptr<re2::RE2> from_pattern_; | 279 scoped_ptr<re2::RE2> from_pattern_; |
276 std::string to_pattern_; | 280 std::string to_pattern_; |
277 | 281 |
278 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectByRegExAction); | 282 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectByRegExAction); |
279 }; | 283 }; |
280 | 284 |
281 // Action that instructs to set a request header. | 285 // Action that instructs to set a request header. |
282 class WebRequestSetRequestHeaderAction : public WebRequestAction { | 286 class WebRequestSetRequestHeaderAction : public WebRequestAction { |
283 public: | 287 public: |
284 WebRequestSetRequestHeaderAction(const std::string& name, | 288 WebRequestSetRequestHeaderAction(const std::string& name, |
285 const std::string& value); | 289 const std::string& value); |
286 | 290 |
287 // Implementation of WebRequestAction: | 291 // Implementation of WebRequestAction: |
288 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 292 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 293 virtual std::string GetName() const OVERRIDE; |
289 virtual LinkedPtrEventResponseDelta CreateDelta( | 294 virtual LinkedPtrEventResponseDelta CreateDelta( |
290 const WebRequestData& request_data, | 295 const WebRequestData& request_data, |
291 const std::string& extension_id, | 296 const std::string& extension_id, |
292 const base::Time& extension_install_time) const OVERRIDE; | 297 const base::Time& extension_install_time) const OVERRIDE; |
293 | 298 |
294 private: | 299 private: |
295 virtual ~WebRequestSetRequestHeaderAction(); | 300 virtual ~WebRequestSetRequestHeaderAction(); |
296 | 301 |
297 std::string name_; | 302 std::string name_; |
298 std::string value_; | 303 std::string value_; |
299 DISALLOW_COPY_AND_ASSIGN(WebRequestSetRequestHeaderAction); | 304 DISALLOW_COPY_AND_ASSIGN(WebRequestSetRequestHeaderAction); |
300 }; | 305 }; |
301 | 306 |
302 // Action that instructs to remove a request header. | 307 // Action that instructs to remove a request header. |
303 class WebRequestRemoveRequestHeaderAction : public WebRequestAction { | 308 class WebRequestRemoveRequestHeaderAction : public WebRequestAction { |
304 public: | 309 public: |
305 explicit WebRequestRemoveRequestHeaderAction(const std::string& name); | 310 explicit WebRequestRemoveRequestHeaderAction(const std::string& name); |
306 | 311 |
307 // Implementation of WebRequestAction: | 312 // Implementation of WebRequestAction: |
308 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 313 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 314 virtual std::string GetName() const OVERRIDE; |
309 virtual LinkedPtrEventResponseDelta CreateDelta( | 315 virtual LinkedPtrEventResponseDelta CreateDelta( |
310 const WebRequestData& request_data, | 316 const WebRequestData& request_data, |
311 const std::string& extension_id, | 317 const std::string& extension_id, |
312 const base::Time& extension_install_time) const OVERRIDE; | 318 const base::Time& extension_install_time) const OVERRIDE; |
313 | 319 |
314 private: | 320 private: |
315 virtual ~WebRequestRemoveRequestHeaderAction(); | 321 virtual ~WebRequestRemoveRequestHeaderAction(); |
316 | 322 |
317 std::string name_; | 323 std::string name_; |
318 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveRequestHeaderAction); | 324 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveRequestHeaderAction); |
319 }; | 325 }; |
320 | 326 |
321 // Action that instructs to add a response header. | 327 // Action that instructs to add a response header. |
322 class WebRequestAddResponseHeaderAction : public WebRequestAction { | 328 class WebRequestAddResponseHeaderAction : public WebRequestAction { |
323 public: | 329 public: |
324 WebRequestAddResponseHeaderAction(const std::string& name, | 330 WebRequestAddResponseHeaderAction(const std::string& name, |
325 const std::string& value); | 331 const std::string& value); |
326 | 332 |
327 // Implementation of WebRequestAction: | 333 // Implementation of WebRequestAction: |
328 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 334 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 335 virtual std::string GetName() const OVERRIDE; |
329 virtual LinkedPtrEventResponseDelta CreateDelta( | 336 virtual LinkedPtrEventResponseDelta CreateDelta( |
330 const WebRequestData& request_data, | 337 const WebRequestData& request_data, |
331 const std::string& extension_id, | 338 const std::string& extension_id, |
332 const base::Time& extension_install_time) const OVERRIDE; | 339 const base::Time& extension_install_time) const OVERRIDE; |
333 | 340 |
334 private: | 341 private: |
335 virtual ~WebRequestAddResponseHeaderAction(); | 342 virtual ~WebRequestAddResponseHeaderAction(); |
336 | 343 |
337 std::string name_; | 344 std::string name_; |
338 std::string value_; | 345 std::string value_; |
339 DISALLOW_COPY_AND_ASSIGN(WebRequestAddResponseHeaderAction); | 346 DISALLOW_COPY_AND_ASSIGN(WebRequestAddResponseHeaderAction); |
340 }; | 347 }; |
341 | 348 |
342 // Action that instructs to remove a response header. | 349 // Action that instructs to remove a response header. |
343 class WebRequestRemoveResponseHeaderAction : public WebRequestAction { | 350 class WebRequestRemoveResponseHeaderAction : public WebRequestAction { |
344 public: | 351 public: |
345 explicit WebRequestRemoveResponseHeaderAction(const std::string& name, | 352 explicit WebRequestRemoveResponseHeaderAction(const std::string& name, |
346 const std::string& value, | 353 const std::string& value, |
347 bool has_value); | 354 bool has_value); |
348 | 355 |
349 // Implementation of WebRequestAction: | 356 // Implementation of WebRequestAction: |
350 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 357 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 358 virtual std::string GetName() const OVERRIDE; |
351 virtual LinkedPtrEventResponseDelta CreateDelta( | 359 virtual LinkedPtrEventResponseDelta CreateDelta( |
352 const WebRequestData& request_data, | 360 const WebRequestData& request_data, |
353 const std::string& extension_id, | 361 const std::string& extension_id, |
354 const base::Time& extension_install_time) const OVERRIDE; | 362 const base::Time& extension_install_time) const OVERRIDE; |
355 | 363 |
356 private: | 364 private: |
357 virtual ~WebRequestRemoveResponseHeaderAction(); | 365 virtual ~WebRequestRemoveResponseHeaderAction(); |
358 | 366 |
359 std::string name_; | 367 std::string name_; |
360 std::string value_; | 368 std::string value_; |
361 bool has_value_; | 369 bool has_value_; |
362 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveResponseHeaderAction); | 370 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveResponseHeaderAction); |
363 }; | 371 }; |
364 | 372 |
365 // Action that instructs to ignore rules below a certain priority. | 373 // Action that instructs to ignore rules below a certain priority. |
366 class WebRequestIgnoreRulesAction : public WebRequestAction { | 374 class WebRequestIgnoreRulesAction : public WebRequestAction { |
367 public: | 375 public: |
368 explicit WebRequestIgnoreRulesAction(int minimum_priority, | 376 explicit WebRequestIgnoreRulesAction(int minimum_priority, |
369 const std::string& ignore_tag); | 377 const std::string& ignore_tag); |
370 | 378 |
371 // Implementation of WebRequestAction: | 379 // Implementation of WebRequestAction: |
372 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 380 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 381 virtual std::string GetName() const OVERRIDE; |
373 virtual LinkedPtrEventResponseDelta CreateDelta( | 382 virtual LinkedPtrEventResponseDelta CreateDelta( |
374 const WebRequestData& request_data, | 383 const WebRequestData& request_data, |
375 const std::string& extension_id, | 384 const std::string& extension_id, |
376 const base::Time& extension_install_time) const OVERRIDE; | 385 const base::Time& extension_install_time) const OVERRIDE; |
377 const std::string& ignore_tag() const { return ignore_tag_; } | 386 const std::string& ignore_tag() const { return ignore_tag_; } |
378 | 387 |
379 private: | 388 private: |
380 virtual ~WebRequestIgnoreRulesAction(); | 389 virtual ~WebRequestIgnoreRulesAction(); |
381 | 390 |
382 // Rules are ignored if they have a tag matching |ignore_tag_| and | 391 // Rules are ignored if they have a tag matching |ignore_tag_| and |
383 // |ignore_tag_| is non-empty. | 392 // |ignore_tag_| is non-empty. |
384 std::string ignore_tag_; | 393 std::string ignore_tag_; |
385 DISALLOW_COPY_AND_ASSIGN(WebRequestIgnoreRulesAction); | 394 DISALLOW_COPY_AND_ASSIGN(WebRequestIgnoreRulesAction); |
386 }; | 395 }; |
387 | 396 |
388 // Action that instructs to modify (add, edit, remove) a request cookie. | 397 // Action that instructs to modify (add, edit, remove) a request cookie. |
389 class WebRequestRequestCookieAction : public WebRequestAction { | 398 class WebRequestRequestCookieAction : public WebRequestAction { |
390 public: | 399 public: |
391 typedef extension_web_request_api_helpers::RequestCookieModification | 400 typedef extension_web_request_api_helpers::RequestCookieModification |
392 RequestCookieModification; | 401 RequestCookieModification; |
393 | 402 |
394 explicit WebRequestRequestCookieAction( | 403 explicit WebRequestRequestCookieAction( |
395 linked_ptr<RequestCookieModification> request_cookie_modification); | 404 linked_ptr<RequestCookieModification> request_cookie_modification); |
396 | 405 |
397 // Implementation of WebRequestAction: | 406 // Implementation of WebRequestAction: |
398 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 407 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 408 virtual std::string GetName() const OVERRIDE; |
399 virtual LinkedPtrEventResponseDelta CreateDelta( | 409 virtual LinkedPtrEventResponseDelta CreateDelta( |
400 const WebRequestData& request_data, | 410 const WebRequestData& request_data, |
401 const std::string& extension_id, | 411 const std::string& extension_id, |
402 const base::Time& extension_install_time) const OVERRIDE; | 412 const base::Time& extension_install_time) const OVERRIDE; |
403 | 413 |
404 private: | 414 private: |
405 virtual ~WebRequestRequestCookieAction(); | 415 virtual ~WebRequestRequestCookieAction(); |
406 | 416 |
407 linked_ptr<RequestCookieModification> request_cookie_modification_; | 417 linked_ptr<RequestCookieModification> request_cookie_modification_; |
408 DISALLOW_COPY_AND_ASSIGN(WebRequestRequestCookieAction); | 418 DISALLOW_COPY_AND_ASSIGN(WebRequestRequestCookieAction); |
409 }; | 419 }; |
410 | 420 |
411 // Action that instructs to modify (add, edit, remove) a response cookie. | 421 // Action that instructs to modify (add, edit, remove) a response cookie. |
412 class WebRequestResponseCookieAction : public WebRequestAction { | 422 class WebRequestResponseCookieAction : public WebRequestAction { |
413 public: | 423 public: |
414 typedef extension_web_request_api_helpers::ResponseCookieModification | 424 typedef extension_web_request_api_helpers::ResponseCookieModification |
415 ResponseCookieModification; | 425 ResponseCookieModification; |
416 | 426 |
417 explicit WebRequestResponseCookieAction( | 427 explicit WebRequestResponseCookieAction( |
418 linked_ptr<ResponseCookieModification> response_cookie_modification); | 428 linked_ptr<ResponseCookieModification> response_cookie_modification); |
419 | 429 |
420 // Implementation of WebRequestAction: | 430 // Implementation of WebRequestAction: |
421 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 431 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 432 virtual std::string GetName() const OVERRIDE; |
422 virtual LinkedPtrEventResponseDelta CreateDelta( | 433 virtual LinkedPtrEventResponseDelta CreateDelta( |
423 const WebRequestData& request_data, | 434 const WebRequestData& request_data, |
424 const std::string& extension_id, | 435 const std::string& extension_id, |
425 const base::Time& extension_install_time) const OVERRIDE; | 436 const base::Time& extension_install_time) const OVERRIDE; |
426 | 437 |
427 private: | 438 private: |
428 virtual ~WebRequestResponseCookieAction(); | 439 virtual ~WebRequestResponseCookieAction(); |
429 | 440 |
430 linked_ptr<ResponseCookieModification> response_cookie_modification_; | 441 linked_ptr<ResponseCookieModification> response_cookie_modification_; |
431 DISALLOW_COPY_AND_ASSIGN(WebRequestResponseCookieAction); | 442 DISALLOW_COPY_AND_ASSIGN(WebRequestResponseCookieAction); |
432 }; | 443 }; |
433 | 444 |
434 // Action that triggers the chrome.declarativeWebRequest.onMessage event in | 445 // Action that triggers the chrome.declarativeWebRequest.onMessage event in |
435 // the background/event/... pages of the extension. | 446 // the background/event/... pages of the extension. |
436 class WebRequestSendMessageToExtensionAction : public WebRequestAction { | 447 class WebRequestSendMessageToExtensionAction : public WebRequestAction { |
437 public: | 448 public: |
438 explicit WebRequestSendMessageToExtensionAction(const std::string& message); | 449 explicit WebRequestSendMessageToExtensionAction(const std::string& message); |
439 | 450 |
440 // Implementation of WebRequestAction: | 451 // Implementation of WebRequestAction: |
441 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; | 452 virtual bool Equals(const WebRequestAction* other) const OVERRIDE; |
| 453 virtual std::string GetName() const OVERRIDE; |
442 virtual LinkedPtrEventResponseDelta CreateDelta( | 454 virtual LinkedPtrEventResponseDelta CreateDelta( |
443 const WebRequestData& request_data, | 455 const WebRequestData& request_data, |
444 const std::string& extension_id, | 456 const std::string& extension_id, |
445 const base::Time& extension_install_time) const OVERRIDE; | 457 const base::Time& extension_install_time) const OVERRIDE; |
446 | 458 |
447 private: | 459 private: |
448 virtual ~WebRequestSendMessageToExtensionAction(); | 460 virtual ~WebRequestSendMessageToExtensionAction(); |
449 | 461 |
450 std::string message_; | 462 std::string message_; |
451 DISALLOW_COPY_AND_ASSIGN(WebRequestSendMessageToExtensionAction); | 463 DISALLOW_COPY_AND_ASSIGN(WebRequestSendMessageToExtensionAction); |
452 }; | 464 }; |
453 | 465 |
454 } // namespace extensions | 466 } // namespace extensions |
455 | 467 |
456 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTIO
N_H_ | 468 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTIO
N_H_ |
OLD | NEW |