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

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

Issue 11414230: Declarative Web Request: firstPartyForCookiesUrl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased + attribute description in JSON changed Created 7 years, 11 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 | Annotate | Revision Log
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>
(...skipping 14 matching lines...) Expand all
25 class Time; 25 class Time;
26 class Value; 26 class Value;
27 } 27 }
28 28
29 namespace extension_web_request_api_helpers { 29 namespace extension_web_request_api_helpers {
30 struct EventResponseDelta; 30 struct EventResponseDelta;
31 } 31 }
32 32
33 namespace extensions { 33 namespace extensions {
34 class Extension; 34 class Extension;
35 struct DeclarativeWebRequestData; 35 struct WebRequestData;
36 } 36 }
37 37
38 namespace net { 38 namespace net {
39 class URLRequest; 39 class URLRequest;
40 } 40 }
41 41
42 namespace re2 { 42 namespace re2 {
43 class RE2; 43 class RE2;
44 } 44 }
45 45
(...skipping 30 matching lines...) Expand all
76 STRATEGY_ALLOW_SAME_DOMAIN, // Skip host permission checks if the request 76 STRATEGY_ALLOW_SAME_DOMAIN, // Skip host permission checks if the request
77 // URL and new URL have the same domain. 77 // URL and new URL have the same domain.
78 // Do these checks in DeltaHasPermission, 78 // Do these checks in DeltaHasPermission,
79 // after creating the delta. 79 // after creating the delta.
80 }; 80 };
81 81
82 // Information necessary to decide how to apply a WebRequestAction 82 // Information necessary to decide how to apply a WebRequestAction
83 // inside a matching rule. 83 // inside a matching rule.
84 struct ApplyInfo { 84 struct ApplyInfo {
85 const ExtensionInfoMap* extension_info_map; 85 const ExtensionInfoMap* extension_info_map;
86 const DeclarativeWebRequestData& request_data; 86 const WebRequestData& request_data;
87 bool crosses_incognito; 87 bool crosses_incognito;
88 // Modified by each applied action: 88 // Modified by each applied action:
89 std::list<LinkedPtrEventResponseDelta>* deltas; 89 std::list<LinkedPtrEventResponseDelta>* deltas;
90 }; 90 };
91 91
92 WebRequestAction(); 92 WebRequestAction();
93 virtual ~WebRequestAction(); 93 virtual ~WebRequestAction();
94 94
95 // Returns a bit vector representing extensions::RequestStage. The bit vector 95 // Returns a bit vector representing extensions::RequestStage. The bit vector
96 // contains a 1 for each request stage during which the condition can be 96 // contains a 1 for each request stage during which the condition can be
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 // Sets |error| and returns NULL in case of a semantic error that cannot 140 // Sets |error| and returns NULL in case of a semantic error that cannot
141 // be caught by schema validation. Sets |bad_message| and returns NULL 141 // be caught by schema validation. Sets |bad_message| and returns NULL
142 // in case the input is syntactically unexpected. 142 // in case the input is syntactically unexpected.
143 static scoped_ptr<WebRequestAction> Create(const base::Value& json_action, 143 static scoped_ptr<WebRequestAction> Create(const base::Value& json_action,
144 std::string* error, 144 std::string* error,
145 bool* bad_message); 145 bool* bad_message);
146 146
147 // Returns a description of the modification to the request caused by 147 // Returns a description of the modification to the request caused by
148 // this action. 148 // this action.
149 virtual LinkedPtrEventResponseDelta CreateDelta( 149 virtual LinkedPtrEventResponseDelta CreateDelta(
150 const DeclarativeWebRequestData& request_data, 150 const WebRequestData& request_data,
151 const std::string& extension_id, 151 const std::string& extension_id,
152 const base::Time& extension_install_time) const = 0; 152 const base::Time& extension_install_time) const = 0;
153 153
154 // Applies this action to a request, recording the results into 154 // Applies this action to a request, recording the results into
155 // apply_info.deltas. 155 // apply_info.deltas.
156 void Apply(const std::string& extension_id, 156 void Apply(const std::string& extension_id,
157 base::Time extension_install_time, 157 base::Time extension_install_time,
158 ApplyInfo* apply_info) const; 158 ApplyInfo* apply_info) const;
159 }; 159 };
160 160
161 typedef DeclarativeActionSet<WebRequestAction> WebRequestActionSet; 161 typedef DeclarativeActionSet<WebRequestAction> WebRequestActionSet;
162 162
163 // 163 //
164 // The following are concrete actions. 164 // The following are concrete actions.
165 // 165 //
166 166
167 // Action that instructs to cancel a network request. 167 // Action that instructs to cancel a network request.
168 class WebRequestCancelAction : public WebRequestAction { 168 class WebRequestCancelAction : public WebRequestAction {
169 public: 169 public:
170 WebRequestCancelAction(); 170 WebRequestCancelAction();
171 virtual ~WebRequestCancelAction(); 171 virtual ~WebRequestCancelAction();
172 172
173 // Implementation of WebRequestAction: 173 // Implementation of WebRequestAction:
174 virtual int GetStages() const OVERRIDE; 174 virtual int GetStages() const OVERRIDE;
175 virtual Type GetType() const OVERRIDE; 175 virtual Type GetType() const OVERRIDE;
176 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; 176 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE;
177 virtual LinkedPtrEventResponseDelta CreateDelta( 177 virtual LinkedPtrEventResponseDelta CreateDelta(
178 const DeclarativeWebRequestData& request_data, 178 const WebRequestData& request_data,
179 const std::string& extension_id, 179 const std::string& extension_id,
180 const base::Time& extension_install_time) const OVERRIDE; 180 const base::Time& extension_install_time) const OVERRIDE;
181 181
182 private: 182 private:
183 DISALLOW_COPY_AND_ASSIGN(WebRequestCancelAction); 183 DISALLOW_COPY_AND_ASSIGN(WebRequestCancelAction);
184 }; 184 };
185 185
186 // Action that instructs to redirect a network request. 186 // Action that instructs to redirect a network request.
187 class WebRequestRedirectAction : public WebRequestAction { 187 class WebRequestRedirectAction : public WebRequestAction {
188 public: 188 public:
189 explicit WebRequestRedirectAction(const GURL& redirect_url); 189 explicit WebRequestRedirectAction(const GURL& redirect_url);
190 virtual ~WebRequestRedirectAction(); 190 virtual ~WebRequestRedirectAction();
191 191
192 // Implementation of WebRequestAction: 192 // Implementation of WebRequestAction:
193 virtual int GetStages() const OVERRIDE; 193 virtual int GetStages() const OVERRIDE;
194 virtual Type GetType() const OVERRIDE; 194 virtual Type GetType() const OVERRIDE;
195 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; 195 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE;
196 virtual LinkedPtrEventResponseDelta CreateDelta( 196 virtual LinkedPtrEventResponseDelta CreateDelta(
197 const DeclarativeWebRequestData& request_data, 197 const WebRequestData& request_data,
198 const std::string& extension_id, 198 const std::string& extension_id,
199 const base::Time& extension_install_time) const OVERRIDE; 199 const base::Time& extension_install_time) const OVERRIDE;
200 200
201 private: 201 private:
202 GURL redirect_url_; // Target to which the request shall be redirected. 202 GURL redirect_url_; // Target to which the request shall be redirected.
203 203
204 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectAction); 204 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectAction);
205 }; 205 };
206 206
207 // Action that instructs to redirect a network request to a transparent image. 207 // Action that instructs to redirect a network request to a transparent image.
208 class WebRequestRedirectToTransparentImageAction : public WebRequestAction { 208 class WebRequestRedirectToTransparentImageAction : public WebRequestAction {
209 public: 209 public:
210 WebRequestRedirectToTransparentImageAction(); 210 WebRequestRedirectToTransparentImageAction();
211 virtual ~WebRequestRedirectToTransparentImageAction(); 211 virtual ~WebRequestRedirectToTransparentImageAction();
212 212
213 // Implementation of WebRequestAction: 213 // Implementation of WebRequestAction:
214 virtual int GetStages() const OVERRIDE; 214 virtual int GetStages() const OVERRIDE;
215 virtual Type GetType() const OVERRIDE; 215 virtual Type GetType() const OVERRIDE;
216 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; 216 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE;
217 virtual LinkedPtrEventResponseDelta CreateDelta( 217 virtual LinkedPtrEventResponseDelta CreateDelta(
218 const DeclarativeWebRequestData& request_data, 218 const WebRequestData& request_data,
219 const std::string& extension_id, 219 const std::string& extension_id,
220 const base::Time& extension_install_time) const OVERRIDE; 220 const base::Time& extension_install_time) const OVERRIDE;
221 221
222 private: 222 private:
223 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToTransparentImageAction); 223 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToTransparentImageAction);
224 }; 224 };
225 225
226 226
227 // Action that instructs to redirect a network request to an empty document. 227 // Action that instructs to redirect a network request to an empty document.
228 class WebRequestRedirectToEmptyDocumentAction : public WebRequestAction { 228 class WebRequestRedirectToEmptyDocumentAction : public WebRequestAction {
229 public: 229 public:
230 WebRequestRedirectToEmptyDocumentAction(); 230 WebRequestRedirectToEmptyDocumentAction();
231 virtual ~WebRequestRedirectToEmptyDocumentAction(); 231 virtual ~WebRequestRedirectToEmptyDocumentAction();
232 232
233 // Implementation of WebRequestAction: 233 // Implementation of WebRequestAction:
234 virtual int GetStages() const OVERRIDE; 234 virtual int GetStages() const OVERRIDE;
235 virtual Type GetType() const OVERRIDE; 235 virtual Type GetType() const OVERRIDE;
236 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; 236 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE;
237 virtual LinkedPtrEventResponseDelta CreateDelta( 237 virtual LinkedPtrEventResponseDelta CreateDelta(
238 const DeclarativeWebRequestData& request_data, 238 const WebRequestData& request_data,
239 const std::string& extension_id, 239 const std::string& extension_id,
240 const base::Time& extension_install_time) const OVERRIDE; 240 const base::Time& extension_install_time) const OVERRIDE;
241 241
242 private: 242 private:
243 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToEmptyDocumentAction); 243 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectToEmptyDocumentAction);
244 }; 244 };
245 245
246 // Action that instructs to redirect a network request. 246 // Action that instructs to redirect a network request.
247 class WebRequestRedirectByRegExAction : public WebRequestAction { 247 class WebRequestRedirectByRegExAction : public WebRequestAction {
248 public: 248 public:
249 // The |to_pattern| has to be passed in RE2 syntax with the exception that 249 // The |to_pattern| has to be passed in RE2 syntax with the exception that
250 // capture groups are referenced in Perl style ($1, $2, ...). 250 // capture groups are referenced in Perl style ($1, $2, ...).
251 explicit WebRequestRedirectByRegExAction(scoped_ptr<re2::RE2> from_pattern, 251 explicit WebRequestRedirectByRegExAction(scoped_ptr<re2::RE2> from_pattern,
252 const std::string& to_pattern); 252 const std::string& to_pattern);
253 virtual ~WebRequestRedirectByRegExAction(); 253 virtual ~WebRequestRedirectByRegExAction();
254 254
255 // Conversion of capture group styles between Perl style ($1, $2, ...) and 255 // Conversion of capture group styles between Perl style ($1, $2, ...) and
256 // RE2 (\1, \2, ...). 256 // RE2 (\1, \2, ...).
257 static std::string PerlToRe2Style(const std::string& perl); 257 static std::string PerlToRe2Style(const std::string& perl);
258 258
259 // Implementation of WebRequestAction: 259 // Implementation of WebRequestAction:
260 virtual int GetStages() const OVERRIDE; 260 virtual int GetStages() const OVERRIDE;
261 virtual Type GetType() const OVERRIDE; 261 virtual Type GetType() const OVERRIDE;
262 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; 262 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE;
263 virtual LinkedPtrEventResponseDelta CreateDelta( 263 virtual LinkedPtrEventResponseDelta CreateDelta(
264 const DeclarativeWebRequestData& request_data, 264 const WebRequestData& request_data,
265 const std::string& extension_id, 265 const std::string& extension_id,
266 const base::Time& extension_install_time) const OVERRIDE; 266 const base::Time& extension_install_time) const OVERRIDE;
267 267
268 private: 268 private:
269 scoped_ptr<re2::RE2> from_pattern_; 269 scoped_ptr<re2::RE2> from_pattern_;
270 std::string to_pattern_; 270 std::string to_pattern_;
271 271
272 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectByRegExAction); 272 DISALLOW_COPY_AND_ASSIGN(WebRequestRedirectByRegExAction);
273 }; 273 };
274 274
275 // Action that instructs to set a request header. 275 // Action that instructs to set a request header.
276 class WebRequestSetRequestHeaderAction : public WebRequestAction { 276 class WebRequestSetRequestHeaderAction : public WebRequestAction {
277 public: 277 public:
278 WebRequestSetRequestHeaderAction(const std::string& name, 278 WebRequestSetRequestHeaderAction(const std::string& name,
279 const std::string& value); 279 const std::string& value);
280 virtual ~WebRequestSetRequestHeaderAction(); 280 virtual ~WebRequestSetRequestHeaderAction();
281 281
282 // Implementation of WebRequestAction: 282 // Implementation of WebRequestAction:
283 virtual int GetStages() const OVERRIDE; 283 virtual int GetStages() const OVERRIDE;
284 virtual Type GetType() const OVERRIDE; 284 virtual Type GetType() const OVERRIDE;
285 virtual LinkedPtrEventResponseDelta CreateDelta( 285 virtual LinkedPtrEventResponseDelta CreateDelta(
286 const DeclarativeWebRequestData& request_data, 286 const WebRequestData& request_data,
287 const std::string& extension_id, 287 const std::string& extension_id,
288 const base::Time& extension_install_time) const OVERRIDE; 288 const base::Time& extension_install_time) const OVERRIDE;
289 289
290 private: 290 private:
291 std::string name_; 291 std::string name_;
292 std::string value_; 292 std::string value_;
293 DISALLOW_COPY_AND_ASSIGN(WebRequestSetRequestHeaderAction); 293 DISALLOW_COPY_AND_ASSIGN(WebRequestSetRequestHeaderAction);
294 }; 294 };
295 295
296 // Action that instructs to remove a request header. 296 // Action that instructs to remove a request header.
297 class WebRequestRemoveRequestHeaderAction : public WebRequestAction { 297 class WebRequestRemoveRequestHeaderAction : public WebRequestAction {
298 public: 298 public:
299 explicit WebRequestRemoveRequestHeaderAction(const std::string& name); 299 explicit WebRequestRemoveRequestHeaderAction(const std::string& name);
300 virtual ~WebRequestRemoveRequestHeaderAction(); 300 virtual ~WebRequestRemoveRequestHeaderAction();
301 301
302 // Implementation of WebRequestAction: 302 // Implementation of WebRequestAction:
303 virtual int GetStages() const OVERRIDE; 303 virtual int GetStages() const OVERRIDE;
304 virtual Type GetType() const OVERRIDE; 304 virtual Type GetType() const OVERRIDE;
305 virtual LinkedPtrEventResponseDelta CreateDelta( 305 virtual LinkedPtrEventResponseDelta CreateDelta(
306 const DeclarativeWebRequestData& request_data, 306 const WebRequestData& request_data,
307 const std::string& extension_id, 307 const std::string& extension_id,
308 const base::Time& extension_install_time) const OVERRIDE; 308 const base::Time& extension_install_time) const OVERRIDE;
309 309
310 private: 310 private:
311 std::string name_; 311 std::string name_;
312 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveRequestHeaderAction); 312 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveRequestHeaderAction);
313 }; 313 };
314 314
315 // Action that instructs to add a response header. 315 // Action that instructs to add a response header.
316 class WebRequestAddResponseHeaderAction : public WebRequestAction { 316 class WebRequestAddResponseHeaderAction : public WebRequestAction {
317 public: 317 public:
318 WebRequestAddResponseHeaderAction(const std::string& name, 318 WebRequestAddResponseHeaderAction(const std::string& name,
319 const std::string& value); 319 const std::string& value);
320 virtual ~WebRequestAddResponseHeaderAction(); 320 virtual ~WebRequestAddResponseHeaderAction();
321 321
322 // Implementation of WebRequestAction: 322 // Implementation of WebRequestAction:
323 virtual int GetStages() const OVERRIDE; 323 virtual int GetStages() const OVERRIDE;
324 virtual Type GetType() const OVERRIDE; 324 virtual Type GetType() const OVERRIDE;
325 virtual LinkedPtrEventResponseDelta CreateDelta( 325 virtual LinkedPtrEventResponseDelta CreateDelta(
326 const DeclarativeWebRequestData& request_data, 326 const WebRequestData& request_data,
327 const std::string& extension_id, 327 const std::string& extension_id,
328 const base::Time& extension_install_time) const OVERRIDE; 328 const base::Time& extension_install_time) const OVERRIDE;
329 329
330 private: 330 private:
331 std::string name_; 331 std::string name_;
332 std::string value_; 332 std::string value_;
333 DISALLOW_COPY_AND_ASSIGN(WebRequestAddResponseHeaderAction); 333 DISALLOW_COPY_AND_ASSIGN(WebRequestAddResponseHeaderAction);
334 }; 334 };
335 335
336 // Action that instructs to remove a response header. 336 // Action that instructs to remove a response header.
337 class WebRequestRemoveResponseHeaderAction : public WebRequestAction { 337 class WebRequestRemoveResponseHeaderAction : public WebRequestAction {
338 public: 338 public:
339 explicit WebRequestRemoveResponseHeaderAction(const std::string& name, 339 explicit WebRequestRemoveResponseHeaderAction(const std::string& name,
340 const std::string& value, 340 const std::string& value,
341 bool has_value); 341 bool has_value);
342 virtual ~WebRequestRemoveResponseHeaderAction(); 342 virtual ~WebRequestRemoveResponseHeaderAction();
343 343
344 // Implementation of WebRequestAction: 344 // Implementation of WebRequestAction:
345 virtual int GetStages() const OVERRIDE; 345 virtual int GetStages() const OVERRIDE;
346 virtual Type GetType() const OVERRIDE; 346 virtual Type GetType() const OVERRIDE;
347 virtual LinkedPtrEventResponseDelta CreateDelta( 347 virtual LinkedPtrEventResponseDelta CreateDelta(
348 const DeclarativeWebRequestData& request_data, 348 const WebRequestData& request_data,
349 const std::string& extension_id, 349 const std::string& extension_id,
350 const base::Time& extension_install_time) const OVERRIDE; 350 const base::Time& extension_install_time) const OVERRIDE;
351 351
352 private: 352 private:
353 std::string name_; 353 std::string name_;
354 std::string value_; 354 std::string value_;
355 bool has_value_; 355 bool has_value_;
356 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveResponseHeaderAction); 356 DISALLOW_COPY_AND_ASSIGN(WebRequestRemoveResponseHeaderAction);
357 }; 357 };
358 358
359 // Action that instructs to ignore rules below a certain priority. 359 // Action that instructs to ignore rules below a certain priority.
360 class WebRequestIgnoreRulesAction : public WebRequestAction { 360 class WebRequestIgnoreRulesAction : public WebRequestAction {
361 public: 361 public:
362 explicit WebRequestIgnoreRulesAction(int minimum_priority); 362 explicit WebRequestIgnoreRulesAction(int minimum_priority);
363 virtual ~WebRequestIgnoreRulesAction(); 363 virtual ~WebRequestIgnoreRulesAction();
364 364
365 // Implementation of WebRequestAction: 365 // Implementation of WebRequestAction:
366 virtual int GetStages() const OVERRIDE; 366 virtual int GetStages() const OVERRIDE;
367 virtual Type GetType() const OVERRIDE; 367 virtual Type GetType() const OVERRIDE;
368 virtual int GetMinimumPriority() const OVERRIDE; 368 virtual int GetMinimumPriority() const OVERRIDE;
369 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE; 369 virtual HostPermissionsStrategy GetHostPermissionsStrategy() const OVERRIDE;
370 virtual LinkedPtrEventResponseDelta CreateDelta( 370 virtual LinkedPtrEventResponseDelta CreateDelta(
371 const DeclarativeWebRequestData& request_data, 371 const WebRequestData& request_data,
372 const std::string& extension_id, 372 const std::string& extension_id,
373 const base::Time& extension_install_time) const OVERRIDE; 373 const base::Time& extension_install_time) const OVERRIDE;
374 374
375 private: 375 private:
376 int minimum_priority_; 376 int minimum_priority_;
377 DISALLOW_COPY_AND_ASSIGN(WebRequestIgnoreRulesAction); 377 DISALLOW_COPY_AND_ASSIGN(WebRequestIgnoreRulesAction);
378 }; 378 };
379 379
380 // Action that instructs to modify (add, edit, remove) a request cookie. 380 // Action that instructs to modify (add, edit, remove) a request cookie.
381 class WebRequestRequestCookieAction : public WebRequestAction { 381 class WebRequestRequestCookieAction : public WebRequestAction {
382 public: 382 public:
383 typedef extension_web_request_api_helpers::RequestCookieModification 383 typedef extension_web_request_api_helpers::RequestCookieModification
384 RequestCookieModification; 384 RequestCookieModification;
385 385
386 explicit WebRequestRequestCookieAction( 386 explicit WebRequestRequestCookieAction(
387 linked_ptr<RequestCookieModification> request_cookie_modification); 387 linked_ptr<RequestCookieModification> request_cookie_modification);
388 virtual ~WebRequestRequestCookieAction(); 388 virtual ~WebRequestRequestCookieAction();
389 389
390 // Implementation of WebRequestAction: 390 // Implementation of WebRequestAction:
391 virtual int GetStages() const OVERRIDE; 391 virtual int GetStages() const OVERRIDE;
392 virtual Type GetType() const OVERRIDE; 392 virtual Type GetType() const OVERRIDE;
393 virtual LinkedPtrEventResponseDelta CreateDelta( 393 virtual LinkedPtrEventResponseDelta CreateDelta(
394 const DeclarativeWebRequestData& request_data, 394 const WebRequestData& request_data,
395 const std::string& extension_id, 395 const std::string& extension_id,
396 const base::Time& extension_install_time) const OVERRIDE; 396 const base::Time& extension_install_time) const OVERRIDE;
397 397
398 private: 398 private:
399 linked_ptr<RequestCookieModification> request_cookie_modification_; 399 linked_ptr<RequestCookieModification> request_cookie_modification_;
400 DISALLOW_COPY_AND_ASSIGN(WebRequestRequestCookieAction); 400 DISALLOW_COPY_AND_ASSIGN(WebRequestRequestCookieAction);
401 }; 401 };
402 402
403 // Action that instructs to modify (add, edit, remove) a response cookie. 403 // Action that instructs to modify (add, edit, remove) a response cookie.
404 class WebRequestResponseCookieAction : public WebRequestAction { 404 class WebRequestResponseCookieAction : public WebRequestAction {
405 public: 405 public:
406 typedef extension_web_request_api_helpers::ResponseCookieModification 406 typedef extension_web_request_api_helpers::ResponseCookieModification
407 ResponseCookieModification; 407 ResponseCookieModification;
408 408
409 explicit WebRequestResponseCookieAction( 409 explicit WebRequestResponseCookieAction(
410 linked_ptr<ResponseCookieModification> response_cookie_modification); 410 linked_ptr<ResponseCookieModification> response_cookie_modification);
411 virtual ~WebRequestResponseCookieAction(); 411 virtual ~WebRequestResponseCookieAction();
412 412
413 // Implementation of WebRequestAction: 413 // Implementation of WebRequestAction:
414 virtual int GetStages() const OVERRIDE; 414 virtual int GetStages() const OVERRIDE;
415 virtual Type GetType() const OVERRIDE; 415 virtual Type GetType() const OVERRIDE;
416 virtual LinkedPtrEventResponseDelta CreateDelta( 416 virtual LinkedPtrEventResponseDelta CreateDelta(
417 const DeclarativeWebRequestData& request_data, 417 const WebRequestData& request_data,
418 const std::string& extension_id, 418 const std::string& extension_id,
419 const base::Time& extension_install_time) const OVERRIDE; 419 const base::Time& extension_install_time) const OVERRIDE;
420 420
421 private: 421 private:
422 linked_ptr<ResponseCookieModification> response_cookie_modification_; 422 linked_ptr<ResponseCookieModification> response_cookie_modification_;
423 DISALLOW_COPY_AND_ASSIGN(WebRequestResponseCookieAction); 423 DISALLOW_COPY_AND_ASSIGN(WebRequestResponseCookieAction);
424 }; 424 };
425 425
426 // Action that triggers the chrome.declarativeWebRequest.onMessage event in 426 // Action that triggers the chrome.declarativeWebRequest.onMessage event in
427 // the background/event/... pages of the extension. 427 // the background/event/... pages of the extension.
428 class WebRequestSendMessageToExtensionAction : public WebRequestAction { 428 class WebRequestSendMessageToExtensionAction : public WebRequestAction {
429 public: 429 public:
430 explicit WebRequestSendMessageToExtensionAction(const std::string& message); 430 explicit WebRequestSendMessageToExtensionAction(const std::string& message);
431 virtual ~WebRequestSendMessageToExtensionAction(); 431 virtual ~WebRequestSendMessageToExtensionAction();
432 432
433 // Implementation of WebRequestAction: 433 // Implementation of WebRequestAction:
434 virtual int GetStages() const OVERRIDE; 434 virtual int GetStages() const OVERRIDE;
435 virtual Type GetType() const OVERRIDE; 435 virtual Type GetType() const OVERRIDE;
436 virtual LinkedPtrEventResponseDelta CreateDelta( 436 virtual LinkedPtrEventResponseDelta CreateDelta(
437 const DeclarativeWebRequestData& request_data, 437 const WebRequestData& request_data,
438 const std::string& extension_id, 438 const std::string& extension_id,
439 const base::Time& extension_install_time) const OVERRIDE; 439 const base::Time& extension_install_time) const OVERRIDE;
440 440
441 private: 441 private:
442 std::string message_; 442 std::string message_;
443 DISALLOW_COPY_AND_ASSIGN(WebRequestSendMessageToExtensionAction); 443 DISALLOW_COPY_AND_ASSIGN(WebRequestSendMessageToExtensionAction);
444 }; 444 };
445 445
446 } // namespace extensions 446 } // namespace extensions
447 447
448 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTIO N_H_ 448 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_WEBREQUEST_ACTIO N_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698