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

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

Issue 11572061: Create DeclarativeConditionSet, DeclarativeActionSet, and DeclarativeRule templates (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to Vaclav's CL and fix Dominic's comments Created 8 years 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 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_action .h" 5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_action .h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/stringprintf.h" 11 #include "base/stringprintf.h"
12 #include "base/string_util.h" 12 #include "base/string_util.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h" 14 #include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h"
15 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_condit ion.h"
15 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_consta nts.h" 16 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_consta nts.h"
16 #include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h" 17 #include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h"
17 #include "chrome/browser/extensions/api/web_request/web_request_permissions.h" 18 #include "chrome/browser/extensions/api/web_request/web_request_permissions.h"
18 #include "chrome/browser/extensions/extension_info_map.h" 19 #include "chrome/browser/extensions/extension_info_map.h"
19 #include "chrome/common/extensions/extension.h" 20 #include "chrome/common/extensions/extension.h"
20 #include "content/public/common/url_constants.h" 21 #include "content/public/common/url_constants.h"
21 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" 22 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
22 #include "net/url_request/url_request.h" 23 #include "net/url_request/url_request.h"
23 #include "third_party/re2/re2/re2.h" 24 #include "third_party/re2/re2/re2.h"
24 25
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 WebRequestActionFactory& factory = g_web_request_action_factory.Get(); 422 WebRequestActionFactory& factory = g_web_request_action_factory.Get();
422 std::map<std::string, WebRequestActionFactory::FactoryMethod>::iterator 423 std::map<std::string, WebRequestActionFactory::FactoryMethod>::iterator
423 factory_method_iter = factory.factory_methods.find(instance_type); 424 factory_method_iter = factory.factory_methods.find(instance_type);
424 if (factory_method_iter != factory.factory_methods.end()) 425 if (factory_method_iter != factory.factory_methods.end())
425 return (*factory_method_iter->second)(action_dict, error, bad_message); 426 return (*factory_method_iter->second)(action_dict, error, bad_message);
426 427
427 *error = base::StringPrintf(kInvalidInstanceTypeError, instance_type.c_str()); 428 *error = base::StringPrintf(kInvalidInstanceTypeError, instance_type.c_str());
428 return scoped_ptr<WebRequestAction>(); 429 return scoped_ptr<WebRequestAction>();
429 } 430 }
430 431
432 void WebRequestAction::Apply(const std::string& extension_id,
433 base::Time extension_install_time,
434 ApplyInfo* apply_info) const {
435 if (!HasPermission(apply_info->extension_info_map, extension_id,
436 apply_info->request_data.request,
437 apply_info->crosses_incognito))
438 return;
439 if (GetStages() & apply_info->request_data.stage) {
440 LinkedPtrEventResponseDelta delta = CreateDelta(
441 apply_info->request_data, extension_id,
442 extension_install_time);
443 if (delta.get()) {
444 if (DeltaHasPermission(apply_info->extension_info_map, extension_id,
445 apply_info->request_data.request,
446 apply_info->crosses_incognito,
447 delta))
448 apply_info->deltas->push_back(delta);
449 }
450 }
451 }
452
431 453
432 // 454 //
433 // WebRequestActionSet
434 //
435
436 WebRequestActionSet::WebRequestActionSet(const Actions& actions)
437 : actions_(actions) {}
438
439 WebRequestActionSet::~WebRequestActionSet() {}
440
441 // static
442 scoped_ptr<WebRequestActionSet> WebRequestActionSet::Create(
443 const AnyVector& actions,
444 std::string* error,
445 bool* bad_message) {
446 *error = "";
447 *bad_message = false;
448 Actions result;
449
450 for (AnyVector::const_iterator i = actions.begin();
451 i != actions.end(); ++i) {
452 CHECK(i->get());
453 scoped_ptr<WebRequestAction> action =
454 WebRequestAction::Create((*i)->value(), error, bad_message);
455 if (!error->empty() || *bad_message)
456 return scoped_ptr<WebRequestActionSet>(NULL);
457 result.push_back(make_linked_ptr(action.release()));
458 }
459
460 return scoped_ptr<WebRequestActionSet>(new WebRequestActionSet(result));
461 }
462
463 std::list<LinkedPtrEventResponseDelta> WebRequestActionSet::CreateDeltas(
464 const ExtensionInfoMap* extension_info_map,
465 const std::string& extension_id,
466 const WebRequestRule::RequestData& request_data,
467 bool crosses_incognito,
468 const base::Time& extension_install_time) const {
469 std::list<LinkedPtrEventResponseDelta> result;
470 for (Actions::const_iterator i = actions_.begin(); i != actions_.end(); ++i) {
471 if (!(*i)->HasPermission(extension_info_map, extension_id,
472 request_data.request, crosses_incognito))
473 continue;
474 if ((*i)->GetStages() & request_data.stage) {
475 LinkedPtrEventResponseDelta delta = (*i)->CreateDelta(
476 request_data, extension_id, extension_install_time);
477 if (delta.get()) {
478 if ((*i)->DeltaHasPermission(extension_info_map, extension_id,
479 request_data.request, crosses_incognito,
480 delta))
481 result.push_back(delta);
482 }
483 }
484 }
485 return result;
486 }
487
488 int WebRequestActionSet::GetMinimumPriority() const {
489 int minimum_priority = std::numeric_limits<int>::min();
490 for (Actions::const_iterator i = actions_.begin(); i != actions_.end(); ++i) {
491 minimum_priority = std::max(minimum_priority, (*i)->GetMinimumPriority());
492 }
493 return minimum_priority;
494 }
495
496 //
497 // WebRequestCancelAction 455 // WebRequestCancelAction
498 // 456 //
499 457
500 WebRequestCancelAction::WebRequestCancelAction() {} 458 WebRequestCancelAction::WebRequestCancelAction() {}
501 459
502 WebRequestCancelAction::~WebRequestCancelAction() {} 460 WebRequestCancelAction::~WebRequestCancelAction() {}
503 461
504 int WebRequestCancelAction::GetStages() const { 462 int WebRequestCancelAction::GetStages() const {
505 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED | 463 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED |
506 ON_AUTH_REQUIRED; 464 ON_AUTH_REQUIRED;
507 } 465 }
508 466
509 WebRequestAction::Type WebRequestCancelAction::GetType() const { 467 WebRequestAction::Type WebRequestCancelAction::GetType() const {
510 return WebRequestAction::ACTION_CANCEL_REQUEST; 468 return WebRequestAction::ACTION_CANCEL_REQUEST;
511 } 469 }
512 470
513 WebRequestAction::HostPermissionsStrategy 471 WebRequestAction::HostPermissionsStrategy
514 WebRequestCancelAction::GetHostPermissionsStrategy() const { 472 WebRequestCancelAction::GetHostPermissionsStrategy() const {
515 return WebRequestAction::STRATEGY_NONE; 473 return WebRequestAction::STRATEGY_NONE;
516 } 474 }
517 475
518 LinkedPtrEventResponseDelta WebRequestCancelAction::CreateDelta( 476 LinkedPtrEventResponseDelta WebRequestCancelAction::CreateDelta(
519 const WebRequestRule::RequestData& request_data, 477 const DeclarativeWebRequestData& request_data,
520 const std::string& extension_id, 478 const std::string& extension_id,
521 const base::Time& extension_install_time) const { 479 const base::Time& extension_install_time) const {
522 CHECK(request_data.stage & GetStages()); 480 CHECK(request_data.stage & GetStages());
523 LinkedPtrEventResponseDelta result( 481 LinkedPtrEventResponseDelta result(
524 new helpers::EventResponseDelta(extension_id, extension_install_time)); 482 new helpers::EventResponseDelta(extension_id, extension_install_time));
525 result->cancel = true; 483 result->cancel = true;
526 return result; 484 return result;
527 } 485 }
528 486
529 // 487 //
(...skipping 12 matching lines...) Expand all
542 WebRequestAction::Type WebRequestRedirectAction::GetType() const { 500 WebRequestAction::Type WebRequestRedirectAction::GetType() const {
543 return WebRequestAction::ACTION_REDIRECT_REQUEST; 501 return WebRequestAction::ACTION_REDIRECT_REQUEST;
544 } 502 }
545 503
546 WebRequestAction::HostPermissionsStrategy 504 WebRequestAction::HostPermissionsStrategy
547 WebRequestRedirectAction::GetHostPermissionsStrategy() const { 505 WebRequestRedirectAction::GetHostPermissionsStrategy() const {
548 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN; 506 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN;
549 } 507 }
550 508
551 LinkedPtrEventResponseDelta WebRequestRedirectAction::CreateDelta( 509 LinkedPtrEventResponseDelta WebRequestRedirectAction::CreateDelta(
552 const WebRequestRule::RequestData& request_data, 510 const DeclarativeWebRequestData& request_data,
553 const std::string& extension_id, 511 const std::string& extension_id,
554 const base::Time& extension_install_time) const { 512 const base::Time& extension_install_time) const {
555 CHECK(request_data.stage & GetStages()); 513 CHECK(request_data.stage & GetStages());
556 if (request_data.request->url() == redirect_url_) 514 if (request_data.request->url() == redirect_url_)
557 return LinkedPtrEventResponseDelta(NULL); 515 return LinkedPtrEventResponseDelta(NULL);
558 LinkedPtrEventResponseDelta result( 516 LinkedPtrEventResponseDelta result(
559 new helpers::EventResponseDelta(extension_id, extension_install_time)); 517 new helpers::EventResponseDelta(extension_id, extension_install_time));
560 result->new_url = redirect_url_; 518 result->new_url = redirect_url_;
561 return result; 519 return result;
562 } 520 }
(...skipping 17 matching lines...) Expand all
580 return WebRequestAction::ACTION_REDIRECT_TO_TRANSPARENT_IMAGE; 538 return WebRequestAction::ACTION_REDIRECT_TO_TRANSPARENT_IMAGE;
581 } 539 }
582 540
583 WebRequestAction::HostPermissionsStrategy 541 WebRequestAction::HostPermissionsStrategy
584 WebRequestRedirectToTransparentImageAction::GetHostPermissionsStrategy() const { 542 WebRequestRedirectToTransparentImageAction::GetHostPermissionsStrategy() const {
585 return WebRequestAction::STRATEGY_NONE; 543 return WebRequestAction::STRATEGY_NONE;
586 } 544 }
587 545
588 LinkedPtrEventResponseDelta 546 LinkedPtrEventResponseDelta
589 WebRequestRedirectToTransparentImageAction::CreateDelta( 547 WebRequestRedirectToTransparentImageAction::CreateDelta(
590 const WebRequestRule::RequestData& request_data, 548 const DeclarativeWebRequestData& request_data,
591 const std::string& extension_id, 549 const std::string& extension_id,
592 const base::Time& extension_install_time) const { 550 const base::Time& extension_install_time) const {
593 CHECK(request_data.stage & GetStages()); 551 CHECK(request_data.stage & GetStages());
594 LinkedPtrEventResponseDelta result( 552 LinkedPtrEventResponseDelta result(
595 new helpers::EventResponseDelta(extension_id, extension_install_time)); 553 new helpers::EventResponseDelta(extension_id, extension_install_time));
596 result->new_url = GURL(kTransparentImageUrl); 554 result->new_url = GURL(kTransparentImageUrl);
597 return result; 555 return result;
598 } 556 }
599 557
600 // 558 //
(...skipping 15 matching lines...) Expand all
616 return WebRequestAction::ACTION_REDIRECT_TO_EMPTY_DOCUMENT; 574 return WebRequestAction::ACTION_REDIRECT_TO_EMPTY_DOCUMENT;
617 } 575 }
618 576
619 WebRequestAction::HostPermissionsStrategy 577 WebRequestAction::HostPermissionsStrategy
620 WebRequestRedirectToEmptyDocumentAction::GetHostPermissionsStrategy() const { 578 WebRequestRedirectToEmptyDocumentAction::GetHostPermissionsStrategy() const {
621 return WebRequestAction::STRATEGY_NONE; 579 return WebRequestAction::STRATEGY_NONE;
622 } 580 }
623 581
624 LinkedPtrEventResponseDelta 582 LinkedPtrEventResponseDelta
625 WebRequestRedirectToEmptyDocumentAction::CreateDelta( 583 WebRequestRedirectToEmptyDocumentAction::CreateDelta(
626 const WebRequestRule::RequestData& request_data, 584 const DeclarativeWebRequestData& request_data,
627 const std::string& extension_id, 585 const std::string& extension_id,
628 const base::Time& extension_install_time) const { 586 const base::Time& extension_install_time) const {
629 CHECK(request_data.stage & GetStages()); 587 CHECK(request_data.stage & GetStages());
630 LinkedPtrEventResponseDelta result( 588 LinkedPtrEventResponseDelta result(
631 new helpers::EventResponseDelta(extension_id, extension_install_time)); 589 new helpers::EventResponseDelta(extension_id, extension_install_time));
632 result->new_url = GURL(kEmptyDocumentUrl); 590 result->new_url = GURL(kEmptyDocumentUrl);
633 return result; 591 return result;
634 } 592 }
635 593
636 // 594 //
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 WebRequestAction::Type WebRequestRedirectByRegExAction::GetType() const { 663 WebRequestAction::Type WebRequestRedirectByRegExAction::GetType() const {
706 return WebRequestAction::ACTION_REDIRECT_BY_REGEX_DOCUMENT; 664 return WebRequestAction::ACTION_REDIRECT_BY_REGEX_DOCUMENT;
707 } 665 }
708 666
709 WebRequestAction::HostPermissionsStrategy 667 WebRequestAction::HostPermissionsStrategy
710 WebRequestRedirectByRegExAction::GetHostPermissionsStrategy() const { 668 WebRequestRedirectByRegExAction::GetHostPermissionsStrategy() const {
711 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN; 669 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN;
712 } 670 }
713 671
714 LinkedPtrEventResponseDelta WebRequestRedirectByRegExAction::CreateDelta( 672 LinkedPtrEventResponseDelta WebRequestRedirectByRegExAction::CreateDelta(
715 const WebRequestRule::RequestData& request_data, 673 const DeclarativeWebRequestData& request_data,
716 const std::string& extension_id, 674 const std::string& extension_id,
717 const base::Time& extension_install_time) const { 675 const base::Time& extension_install_time) const {
718 CHECK(request_data.stage & GetStages()); 676 CHECK(request_data.stage & GetStages());
719 CHECK(from_pattern_.get()); 677 CHECK(from_pattern_.get());
720 678
721 const std::string& old_url = request_data.request->url().spec(); 679 const std::string& old_url = request_data.request->url().spec();
722 std::string new_url = old_url; 680 std::string new_url = old_url;
723 if (!RE2::Replace(&new_url, *from_pattern_, to_pattern_) || 681 if (!RE2::Replace(&new_url, *from_pattern_, to_pattern_) ||
724 new_url == old_url) { 682 new_url == old_url) {
725 return LinkedPtrEventResponseDelta(NULL); 683 return LinkedPtrEventResponseDelta(NULL);
(...skipping 23 matching lines...) Expand all
749 return ON_BEFORE_SEND_HEADERS; 707 return ON_BEFORE_SEND_HEADERS;
750 } 708 }
751 709
752 WebRequestAction::Type 710 WebRequestAction::Type
753 WebRequestSetRequestHeaderAction::GetType() const { 711 WebRequestSetRequestHeaderAction::GetType() const {
754 return WebRequestAction::ACTION_SET_REQUEST_HEADER; 712 return WebRequestAction::ACTION_SET_REQUEST_HEADER;
755 } 713 }
756 714
757 LinkedPtrEventResponseDelta 715 LinkedPtrEventResponseDelta
758 WebRequestSetRequestHeaderAction::CreateDelta( 716 WebRequestSetRequestHeaderAction::CreateDelta(
759 const WebRequestRule::RequestData& request_data, 717 const DeclarativeWebRequestData& request_data,
760 const std::string& extension_id, 718 const std::string& extension_id,
761 const base::Time& extension_install_time) const { 719 const base::Time& extension_install_time) const {
762 CHECK(request_data.stage & GetStages()); 720 CHECK(request_data.stage & GetStages());
763 LinkedPtrEventResponseDelta result( 721 LinkedPtrEventResponseDelta result(
764 new helpers::EventResponseDelta(extension_id, extension_install_time)); 722 new helpers::EventResponseDelta(extension_id, extension_install_time));
765 result->modified_request_headers.SetHeader(name_, value_); 723 result->modified_request_headers.SetHeader(name_, value_);
766 return result; 724 return result;
767 } 725 }
768 726
769 // 727 //
(...skipping 11 matching lines...) Expand all
781 return ON_BEFORE_SEND_HEADERS; 739 return ON_BEFORE_SEND_HEADERS;
782 } 740 }
783 741
784 WebRequestAction::Type 742 WebRequestAction::Type
785 WebRequestRemoveRequestHeaderAction::GetType() const { 743 WebRequestRemoveRequestHeaderAction::GetType() const {
786 return WebRequestAction::ACTION_REMOVE_REQUEST_HEADER; 744 return WebRequestAction::ACTION_REMOVE_REQUEST_HEADER;
787 } 745 }
788 746
789 LinkedPtrEventResponseDelta 747 LinkedPtrEventResponseDelta
790 WebRequestRemoveRequestHeaderAction::CreateDelta( 748 WebRequestRemoveRequestHeaderAction::CreateDelta(
791 const WebRequestRule::RequestData& request_data, 749 const DeclarativeWebRequestData& request_data,
792 const std::string& extension_id, 750 const std::string& extension_id,
793 const base::Time& extension_install_time) const { 751 const base::Time& extension_install_time) const {
794 CHECK(request_data.stage & GetStages()); 752 CHECK(request_data.stage & GetStages());
795 LinkedPtrEventResponseDelta result( 753 LinkedPtrEventResponseDelta result(
796 new helpers::EventResponseDelta(extension_id, extension_install_time)); 754 new helpers::EventResponseDelta(extension_id, extension_install_time));
797 result->deleted_request_headers.push_back(name_); 755 result->deleted_request_headers.push_back(name_);
798 return result; 756 return result;
799 } 757 }
800 758
801 // 759 //
(...skipping 13 matching lines...) Expand all
815 return ON_HEADERS_RECEIVED; 773 return ON_HEADERS_RECEIVED;
816 } 774 }
817 775
818 WebRequestAction::Type 776 WebRequestAction::Type
819 WebRequestAddResponseHeaderAction::GetType() const { 777 WebRequestAddResponseHeaderAction::GetType() const {
820 return WebRequestAction::ACTION_ADD_RESPONSE_HEADER; 778 return WebRequestAction::ACTION_ADD_RESPONSE_HEADER;
821 } 779 }
822 780
823 LinkedPtrEventResponseDelta 781 LinkedPtrEventResponseDelta
824 WebRequestAddResponseHeaderAction::CreateDelta( 782 WebRequestAddResponseHeaderAction::CreateDelta(
825 const WebRequestRule::RequestData& request_data, 783 const DeclarativeWebRequestData& request_data,
826 const std::string& extension_id, 784 const std::string& extension_id,
827 const base::Time& extension_install_time) const { 785 const base::Time& extension_install_time) const {
828 CHECK(request_data.stage & GetStages()); 786 CHECK(request_data.stage & GetStages());
829 const net::HttpResponseHeaders* headers = 787 const net::HttpResponseHeaders* headers =
830 request_data.original_response_headers; 788 request_data.original_response_headers;
831 if (!headers) 789 if (!headers)
832 return LinkedPtrEventResponseDelta(NULL); 790 return LinkedPtrEventResponseDelta(NULL);
833 791
834 // Don't generate the header if it exists already. 792 // Don't generate the header if it exists already.
835 if (headers->HasHeaderValue(name_, value_)) 793 if (headers->HasHeaderValue(name_, value_))
(...skipping 24 matching lines...) Expand all
860 return ON_HEADERS_RECEIVED; 818 return ON_HEADERS_RECEIVED;
861 } 819 }
862 820
863 WebRequestAction::Type 821 WebRequestAction::Type
864 WebRequestRemoveResponseHeaderAction::GetType() const { 822 WebRequestRemoveResponseHeaderAction::GetType() const {
865 return WebRequestAction::ACTION_REMOVE_RESPONSE_HEADER; 823 return WebRequestAction::ACTION_REMOVE_RESPONSE_HEADER;
866 } 824 }
867 825
868 LinkedPtrEventResponseDelta 826 LinkedPtrEventResponseDelta
869 WebRequestRemoveResponseHeaderAction::CreateDelta( 827 WebRequestRemoveResponseHeaderAction::CreateDelta(
870 const WebRequestRule::RequestData& request_data, 828 const DeclarativeWebRequestData& request_data,
871 const std::string& extension_id, 829 const std::string& extension_id,
872 const base::Time& extension_install_time) const { 830 const base::Time& extension_install_time) const {
873 CHECK(request_data.stage & GetStages()); 831 CHECK(request_data.stage & GetStages());
874 const net::HttpResponseHeaders* headers = 832 const net::HttpResponseHeaders* headers =
875 request_data.original_response_headers; 833 request_data.original_response_headers;
876 if (!headers) 834 if (!headers)
877 return LinkedPtrEventResponseDelta(NULL); 835 return LinkedPtrEventResponseDelta(NULL);
878 836
879 LinkedPtrEventResponseDelta result( 837 LinkedPtrEventResponseDelta result(
880 new helpers::EventResponseDelta(extension_id, extension_install_time)); 838 new helpers::EventResponseDelta(extension_id, extension_install_time));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 int WebRequestIgnoreRulesAction::GetMinimumPriority() const { 874 int WebRequestIgnoreRulesAction::GetMinimumPriority() const {
917 return minimum_priority_; 875 return minimum_priority_;
918 } 876 }
919 877
920 WebRequestAction::HostPermissionsStrategy 878 WebRequestAction::HostPermissionsStrategy
921 WebRequestIgnoreRulesAction::GetHostPermissionsStrategy() const { 879 WebRequestIgnoreRulesAction::GetHostPermissionsStrategy() const {
922 return WebRequestAction::STRATEGY_NONE; 880 return WebRequestAction::STRATEGY_NONE;
923 } 881 }
924 882
925 LinkedPtrEventResponseDelta WebRequestIgnoreRulesAction::CreateDelta( 883 LinkedPtrEventResponseDelta WebRequestIgnoreRulesAction::CreateDelta(
926 const WebRequestRule::RequestData& request_data, 884 const DeclarativeWebRequestData& request_data,
927 const std::string& extension_id, 885 const std::string& extension_id,
928 const base::Time& extension_install_time) const { 886 const base::Time& extension_install_time) const {
929 CHECK(request_data.stage & GetStages()); 887 CHECK(request_data.stage & GetStages());
930 return LinkedPtrEventResponseDelta(NULL); 888 return LinkedPtrEventResponseDelta(NULL);
931 } 889 }
932 890
933 // 891 //
934 // WebRequestRequestCookieAction 892 // WebRequestRequestCookieAction
935 // 893 //
936 894
937 WebRequestRequestCookieAction::WebRequestRequestCookieAction( 895 WebRequestRequestCookieAction::WebRequestRequestCookieAction(
938 linked_ptr<RequestCookieModification> request_cookie_modification) 896 linked_ptr<RequestCookieModification> request_cookie_modification)
939 : request_cookie_modification_(request_cookie_modification) { 897 : request_cookie_modification_(request_cookie_modification) {
940 CHECK(request_cookie_modification_.get()); 898 CHECK(request_cookie_modification_.get());
941 } 899 }
942 900
943 WebRequestRequestCookieAction::~WebRequestRequestCookieAction() {} 901 WebRequestRequestCookieAction::~WebRequestRequestCookieAction() {}
944 902
945 int WebRequestRequestCookieAction::GetStages() const { 903 int WebRequestRequestCookieAction::GetStages() const {
946 return ON_BEFORE_SEND_HEADERS; 904 return ON_BEFORE_SEND_HEADERS;
947 } 905 }
948 906
949 WebRequestAction::Type WebRequestRequestCookieAction::GetType() const { 907 WebRequestAction::Type WebRequestRequestCookieAction::GetType() const {
950 return WebRequestAction::ACTION_MODIFY_REQUEST_COOKIE; 908 return WebRequestAction::ACTION_MODIFY_REQUEST_COOKIE;
951 } 909 }
952 910
953 LinkedPtrEventResponseDelta WebRequestRequestCookieAction::CreateDelta( 911 LinkedPtrEventResponseDelta WebRequestRequestCookieAction::CreateDelta(
954 const WebRequestRule::RequestData& request_data, 912 const DeclarativeWebRequestData& request_data,
955 const std::string& extension_id, 913 const std::string& extension_id,
956 const base::Time& extension_install_time) const { 914 const base::Time& extension_install_time) const {
957 CHECK(request_data.stage & GetStages()); 915 CHECK(request_data.stage & GetStages());
958 LinkedPtrEventResponseDelta result( 916 LinkedPtrEventResponseDelta result(
959 new extension_web_request_api_helpers::EventResponseDelta( 917 new extension_web_request_api_helpers::EventResponseDelta(
960 extension_id, extension_install_time)); 918 extension_id, extension_install_time));
961 result->request_cookie_modifications.push_back( 919 result->request_cookie_modifications.push_back(
962 request_cookie_modification_); 920 request_cookie_modification_);
963 return result; 921 return result;
964 } 922 }
(...skipping 12 matching lines...) Expand all
977 935
978 int WebRequestResponseCookieAction::GetStages() const { 936 int WebRequestResponseCookieAction::GetStages() const {
979 return ON_HEADERS_RECEIVED; 937 return ON_HEADERS_RECEIVED;
980 } 938 }
981 939
982 WebRequestAction::Type WebRequestResponseCookieAction::GetType() const { 940 WebRequestAction::Type WebRequestResponseCookieAction::GetType() const {
983 return WebRequestAction::ACTION_MODIFY_RESPONSE_COOKIE; 941 return WebRequestAction::ACTION_MODIFY_RESPONSE_COOKIE;
984 } 942 }
985 943
986 LinkedPtrEventResponseDelta WebRequestResponseCookieAction::CreateDelta( 944 LinkedPtrEventResponseDelta WebRequestResponseCookieAction::CreateDelta(
987 const WebRequestRule::RequestData& request_data, 945 const DeclarativeWebRequestData& request_data,
988 const std::string& extension_id, 946 const std::string& extension_id,
989 const base::Time& extension_install_time) const { 947 const base::Time& extension_install_time) const {
990 CHECK(request_data.stage & GetStages()); 948 CHECK(request_data.stage & GetStages());
991 LinkedPtrEventResponseDelta result( 949 LinkedPtrEventResponseDelta result(
992 new extension_web_request_api_helpers::EventResponseDelta( 950 new extension_web_request_api_helpers::EventResponseDelta(
993 extension_id, extension_install_time)); 951 extension_id, extension_install_time));
994 result->response_cookie_modifications.push_back( 952 result->response_cookie_modifications.push_back(
995 response_cookie_modification_); 953 response_cookie_modification_);
996 return result; 954 return result;
997 } 955 }
998 956
999 } // namespace extensions 957 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698