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

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: Fix Dominic's comments 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 #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 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 WebRequestActionFactory& factory = g_web_request_action_factory.Get(); 434 WebRequestActionFactory& factory = g_web_request_action_factory.Get();
434 std::map<std::string, WebRequestActionFactory::FactoryMethod>::iterator 435 std::map<std::string, WebRequestActionFactory::FactoryMethod>::iterator
435 factory_method_iter = factory.factory_methods.find(instance_type); 436 factory_method_iter = factory.factory_methods.find(instance_type);
436 if (factory_method_iter != factory.factory_methods.end()) 437 if (factory_method_iter != factory.factory_methods.end())
437 return (*factory_method_iter->second)(action_dict, error, bad_message); 438 return (*factory_method_iter->second)(action_dict, error, bad_message);
438 439
439 *error = base::StringPrintf(kInvalidInstanceTypeError, instance_type.c_str()); 440 *error = base::StringPrintf(kInvalidInstanceTypeError, instance_type.c_str());
440 return scoped_ptr<WebRequestAction>(); 441 return scoped_ptr<WebRequestAction>();
441 } 442 }
442 443
444 void WebRequestAction::Apply(const std::string& extension_id,
445 base::Time extension_install_time,
446 ApplyInfo* apply_info) const {
447 if (!HasPermission(apply_info->extension_info_map, extension_id,
448 apply_info->request_data.request,
449 apply_info->crosses_incognito))
450 return;
451 if (GetStages() & apply_info->request_data.stage) {
452 LinkedPtrEventResponseDelta delta = CreateDelta(
453 apply_info->request_data, extension_id, extension_install_time);
454 if (delta.get()) {
455 if (DeltaHasPermission(apply_info->extension_info_map, extension_id,
456 apply_info->request_data.request,
457 apply_info->crosses_incognito,
458 delta))
459 apply_info->deltas->push_back(delta);
460 }
461 }
462 }
463
443 464
444 // 465 //
445 // WebRequestActionSet
446 //
447
448 WebRequestActionSet::WebRequestActionSet(const Actions& actions)
449 : actions_(actions) {}
450
451 WebRequestActionSet::~WebRequestActionSet() {}
452
453 // static
454 scoped_ptr<WebRequestActionSet> WebRequestActionSet::Create(
455 const AnyVector& actions,
456 std::string* error,
457 bool* bad_message) {
458 *error = "";
459 *bad_message = false;
460 Actions result;
461
462 for (AnyVector::const_iterator i = actions.begin();
463 i != actions.end(); ++i) {
464 CHECK(i->get());
465 scoped_ptr<WebRequestAction> action =
466 WebRequestAction::Create((*i)->value(), error, bad_message);
467 if (!error->empty() || *bad_message)
468 return scoped_ptr<WebRequestActionSet>(NULL);
469 result.push_back(make_linked_ptr(action.release()));
470 }
471
472 return scoped_ptr<WebRequestActionSet>(new WebRequestActionSet(result));
473 }
474
475 std::list<LinkedPtrEventResponseDelta> WebRequestActionSet::CreateDeltas(
476 const ExtensionInfoMap* extension_info_map,
477 const std::string& extension_id,
478 const WebRequestRule::RequestData& request_data,
479 bool crosses_incognito,
480 const base::Time& extension_install_time) const {
481 std::list<LinkedPtrEventResponseDelta> result;
482 for (Actions::const_iterator i = actions_.begin(); i != actions_.end(); ++i) {
483 if (!(*i)->HasPermission(extension_info_map, extension_id,
484 request_data.request, crosses_incognito))
485 continue;
486 if ((*i)->GetStages() & request_data.stage) {
487 LinkedPtrEventResponseDelta delta = (*i)->CreateDelta(
488 request_data, extension_id, extension_install_time);
489 if (delta.get()) {
490 if ((*i)->DeltaHasPermission(extension_info_map, extension_id,
491 request_data.request, crosses_incognito,
492 delta))
493 result.push_back(delta);
494 }
495 }
496 }
497 return result;
498 }
499
500 int WebRequestActionSet::GetMinimumPriority() const {
501 int minimum_priority = std::numeric_limits<int>::min();
502 for (Actions::const_iterator i = actions_.begin(); i != actions_.end(); ++i) {
503 minimum_priority = std::max(minimum_priority, (*i)->GetMinimumPriority());
504 }
505 return minimum_priority;
506 }
507
508 //
509 // WebRequestCancelAction 466 // WebRequestCancelAction
510 // 467 //
511 468
512 WebRequestCancelAction::WebRequestCancelAction() {} 469 WebRequestCancelAction::WebRequestCancelAction() {}
513 470
514 WebRequestCancelAction::~WebRequestCancelAction() {} 471 WebRequestCancelAction::~WebRequestCancelAction() {}
515 472
516 int WebRequestCancelAction::GetStages() const { 473 int WebRequestCancelAction::GetStages() const {
517 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED | 474 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED |
518 ON_AUTH_REQUIRED; 475 ON_AUTH_REQUIRED;
519 } 476 }
520 477
521 WebRequestAction::Type WebRequestCancelAction::GetType() const { 478 WebRequestAction::Type WebRequestCancelAction::GetType() const {
522 return WebRequestAction::ACTION_CANCEL_REQUEST; 479 return WebRequestAction::ACTION_CANCEL_REQUEST;
523 } 480 }
524 481
525 WebRequestAction::HostPermissionsStrategy 482 WebRequestAction::HostPermissionsStrategy
526 WebRequestCancelAction::GetHostPermissionsStrategy() const { 483 WebRequestCancelAction::GetHostPermissionsStrategy() const {
527 return WebRequestAction::STRATEGY_NONE; 484 return WebRequestAction::STRATEGY_NONE;
528 } 485 }
529 486
530 LinkedPtrEventResponseDelta WebRequestCancelAction::CreateDelta( 487 LinkedPtrEventResponseDelta WebRequestCancelAction::CreateDelta(
531 const WebRequestRule::RequestData& request_data, 488 const DeclarativeWebRequestData& request_data,
532 const std::string& extension_id, 489 const std::string& extension_id,
533 const base::Time& extension_install_time) const { 490 const base::Time& extension_install_time) const {
534 CHECK(request_data.stage & GetStages()); 491 CHECK(request_data.stage & GetStages());
535 LinkedPtrEventResponseDelta result( 492 LinkedPtrEventResponseDelta result(
536 new helpers::EventResponseDelta(extension_id, extension_install_time)); 493 new helpers::EventResponseDelta(extension_id, extension_install_time));
537 result->cancel = true; 494 result->cancel = true;
538 return result; 495 return result;
539 } 496 }
540 497
541 // 498 //
(...skipping 12 matching lines...) Expand all
554 WebRequestAction::Type WebRequestRedirectAction::GetType() const { 511 WebRequestAction::Type WebRequestRedirectAction::GetType() const {
555 return WebRequestAction::ACTION_REDIRECT_REQUEST; 512 return WebRequestAction::ACTION_REDIRECT_REQUEST;
556 } 513 }
557 514
558 WebRequestAction::HostPermissionsStrategy 515 WebRequestAction::HostPermissionsStrategy
559 WebRequestRedirectAction::GetHostPermissionsStrategy() const { 516 WebRequestRedirectAction::GetHostPermissionsStrategy() const {
560 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN; 517 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN;
561 } 518 }
562 519
563 LinkedPtrEventResponseDelta WebRequestRedirectAction::CreateDelta( 520 LinkedPtrEventResponseDelta WebRequestRedirectAction::CreateDelta(
564 const WebRequestRule::RequestData& request_data, 521 const DeclarativeWebRequestData& request_data,
565 const std::string& extension_id, 522 const std::string& extension_id,
566 const base::Time& extension_install_time) const { 523 const base::Time& extension_install_time) const {
567 CHECK(request_data.stage & GetStages()); 524 CHECK(request_data.stage & GetStages());
568 if (request_data.request->url() == redirect_url_) 525 if (request_data.request->url() == redirect_url_)
569 return LinkedPtrEventResponseDelta(NULL); 526 return LinkedPtrEventResponseDelta(NULL);
570 LinkedPtrEventResponseDelta result( 527 LinkedPtrEventResponseDelta result(
571 new helpers::EventResponseDelta(extension_id, extension_install_time)); 528 new helpers::EventResponseDelta(extension_id, extension_install_time));
572 result->new_url = redirect_url_; 529 result->new_url = redirect_url_;
573 return result; 530 return result;
574 } 531 }
(...skipping 17 matching lines...) Expand all
592 return WebRequestAction::ACTION_REDIRECT_TO_TRANSPARENT_IMAGE; 549 return WebRequestAction::ACTION_REDIRECT_TO_TRANSPARENT_IMAGE;
593 } 550 }
594 551
595 WebRequestAction::HostPermissionsStrategy 552 WebRequestAction::HostPermissionsStrategy
596 WebRequestRedirectToTransparentImageAction::GetHostPermissionsStrategy() const { 553 WebRequestRedirectToTransparentImageAction::GetHostPermissionsStrategy() const {
597 return WebRequestAction::STRATEGY_NONE; 554 return WebRequestAction::STRATEGY_NONE;
598 } 555 }
599 556
600 LinkedPtrEventResponseDelta 557 LinkedPtrEventResponseDelta
601 WebRequestRedirectToTransparentImageAction::CreateDelta( 558 WebRequestRedirectToTransparentImageAction::CreateDelta(
602 const WebRequestRule::RequestData& request_data, 559 const DeclarativeWebRequestData& request_data,
603 const std::string& extension_id, 560 const std::string& extension_id,
604 const base::Time& extension_install_time) const { 561 const base::Time& extension_install_time) const {
605 CHECK(request_data.stage & GetStages()); 562 CHECK(request_data.stage & GetStages());
606 LinkedPtrEventResponseDelta result( 563 LinkedPtrEventResponseDelta result(
607 new helpers::EventResponseDelta(extension_id, extension_install_time)); 564 new helpers::EventResponseDelta(extension_id, extension_install_time));
608 result->new_url = GURL(kTransparentImageUrl); 565 result->new_url = GURL(kTransparentImageUrl);
609 return result; 566 return result;
610 } 567 }
611 568
612 // 569 //
(...skipping 15 matching lines...) Expand all
628 return WebRequestAction::ACTION_REDIRECT_TO_EMPTY_DOCUMENT; 585 return WebRequestAction::ACTION_REDIRECT_TO_EMPTY_DOCUMENT;
629 } 586 }
630 587
631 WebRequestAction::HostPermissionsStrategy 588 WebRequestAction::HostPermissionsStrategy
632 WebRequestRedirectToEmptyDocumentAction::GetHostPermissionsStrategy() const { 589 WebRequestRedirectToEmptyDocumentAction::GetHostPermissionsStrategy() const {
633 return WebRequestAction::STRATEGY_NONE; 590 return WebRequestAction::STRATEGY_NONE;
634 } 591 }
635 592
636 LinkedPtrEventResponseDelta 593 LinkedPtrEventResponseDelta
637 WebRequestRedirectToEmptyDocumentAction::CreateDelta( 594 WebRequestRedirectToEmptyDocumentAction::CreateDelta(
638 const WebRequestRule::RequestData& request_data, 595 const DeclarativeWebRequestData& request_data,
639 const std::string& extension_id, 596 const std::string& extension_id,
640 const base::Time& extension_install_time) const { 597 const base::Time& extension_install_time) const {
641 CHECK(request_data.stage & GetStages()); 598 CHECK(request_data.stage & GetStages());
642 LinkedPtrEventResponseDelta result( 599 LinkedPtrEventResponseDelta result(
643 new helpers::EventResponseDelta(extension_id, extension_install_time)); 600 new helpers::EventResponseDelta(extension_id, extension_install_time));
644 result->new_url = GURL(kEmptyDocumentUrl); 601 result->new_url = GURL(kEmptyDocumentUrl);
645 return result; 602 return result;
646 } 603 }
647 604
648 // 605 //
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 WebRequestAction::Type WebRequestRedirectByRegExAction::GetType() const { 674 WebRequestAction::Type WebRequestRedirectByRegExAction::GetType() const {
718 return WebRequestAction::ACTION_REDIRECT_BY_REGEX_DOCUMENT; 675 return WebRequestAction::ACTION_REDIRECT_BY_REGEX_DOCUMENT;
719 } 676 }
720 677
721 WebRequestAction::HostPermissionsStrategy 678 WebRequestAction::HostPermissionsStrategy
722 WebRequestRedirectByRegExAction::GetHostPermissionsStrategy() const { 679 WebRequestRedirectByRegExAction::GetHostPermissionsStrategy() const {
723 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN; 680 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN;
724 } 681 }
725 682
726 LinkedPtrEventResponseDelta WebRequestRedirectByRegExAction::CreateDelta( 683 LinkedPtrEventResponseDelta WebRequestRedirectByRegExAction::CreateDelta(
727 const WebRequestRule::RequestData& request_data, 684 const DeclarativeWebRequestData& request_data,
728 const std::string& extension_id, 685 const std::string& extension_id,
729 const base::Time& extension_install_time) const { 686 const base::Time& extension_install_time) const {
730 CHECK(request_data.stage & GetStages()); 687 CHECK(request_data.stage & GetStages());
731 CHECK(from_pattern_.get()); 688 CHECK(from_pattern_.get());
732 689
733 const std::string& old_url = request_data.request->url().spec(); 690 const std::string& old_url = request_data.request->url().spec();
734 std::string new_url = old_url; 691 std::string new_url = old_url;
735 if (!RE2::Replace(&new_url, *from_pattern_, to_pattern_) || 692 if (!RE2::Replace(&new_url, *from_pattern_, to_pattern_) ||
736 new_url == old_url) { 693 new_url == old_url) {
737 return LinkedPtrEventResponseDelta(NULL); 694 return LinkedPtrEventResponseDelta(NULL);
(...skipping 23 matching lines...) Expand all
761 return ON_BEFORE_SEND_HEADERS; 718 return ON_BEFORE_SEND_HEADERS;
762 } 719 }
763 720
764 WebRequestAction::Type 721 WebRequestAction::Type
765 WebRequestSetRequestHeaderAction::GetType() const { 722 WebRequestSetRequestHeaderAction::GetType() const {
766 return WebRequestAction::ACTION_SET_REQUEST_HEADER; 723 return WebRequestAction::ACTION_SET_REQUEST_HEADER;
767 } 724 }
768 725
769 LinkedPtrEventResponseDelta 726 LinkedPtrEventResponseDelta
770 WebRequestSetRequestHeaderAction::CreateDelta( 727 WebRequestSetRequestHeaderAction::CreateDelta(
771 const WebRequestRule::RequestData& request_data, 728 const DeclarativeWebRequestData& request_data,
772 const std::string& extension_id, 729 const std::string& extension_id,
773 const base::Time& extension_install_time) const { 730 const base::Time& extension_install_time) const {
774 CHECK(request_data.stage & GetStages()); 731 CHECK(request_data.stage & GetStages());
775 LinkedPtrEventResponseDelta result( 732 LinkedPtrEventResponseDelta result(
776 new helpers::EventResponseDelta(extension_id, extension_install_time)); 733 new helpers::EventResponseDelta(extension_id, extension_install_time));
777 result->modified_request_headers.SetHeader(name_, value_); 734 result->modified_request_headers.SetHeader(name_, value_);
778 return result; 735 return result;
779 } 736 }
780 737
781 // 738 //
(...skipping 11 matching lines...) Expand all
793 return ON_BEFORE_SEND_HEADERS; 750 return ON_BEFORE_SEND_HEADERS;
794 } 751 }
795 752
796 WebRequestAction::Type 753 WebRequestAction::Type
797 WebRequestRemoveRequestHeaderAction::GetType() const { 754 WebRequestRemoveRequestHeaderAction::GetType() const {
798 return WebRequestAction::ACTION_REMOVE_REQUEST_HEADER; 755 return WebRequestAction::ACTION_REMOVE_REQUEST_HEADER;
799 } 756 }
800 757
801 LinkedPtrEventResponseDelta 758 LinkedPtrEventResponseDelta
802 WebRequestRemoveRequestHeaderAction::CreateDelta( 759 WebRequestRemoveRequestHeaderAction::CreateDelta(
803 const WebRequestRule::RequestData& request_data, 760 const DeclarativeWebRequestData& request_data,
804 const std::string& extension_id, 761 const std::string& extension_id,
805 const base::Time& extension_install_time) const { 762 const base::Time& extension_install_time) const {
806 CHECK(request_data.stage & GetStages()); 763 CHECK(request_data.stage & GetStages());
807 LinkedPtrEventResponseDelta result( 764 LinkedPtrEventResponseDelta result(
808 new helpers::EventResponseDelta(extension_id, extension_install_time)); 765 new helpers::EventResponseDelta(extension_id, extension_install_time));
809 result->deleted_request_headers.push_back(name_); 766 result->deleted_request_headers.push_back(name_);
810 return result; 767 return result;
811 } 768 }
812 769
813 // 770 //
(...skipping 13 matching lines...) Expand all
827 return ON_HEADERS_RECEIVED; 784 return ON_HEADERS_RECEIVED;
828 } 785 }
829 786
830 WebRequestAction::Type 787 WebRequestAction::Type
831 WebRequestAddResponseHeaderAction::GetType() const { 788 WebRequestAddResponseHeaderAction::GetType() const {
832 return WebRequestAction::ACTION_ADD_RESPONSE_HEADER; 789 return WebRequestAction::ACTION_ADD_RESPONSE_HEADER;
833 } 790 }
834 791
835 LinkedPtrEventResponseDelta 792 LinkedPtrEventResponseDelta
836 WebRequestAddResponseHeaderAction::CreateDelta( 793 WebRequestAddResponseHeaderAction::CreateDelta(
837 const WebRequestRule::RequestData& request_data, 794 const DeclarativeWebRequestData& request_data,
838 const std::string& extension_id, 795 const std::string& extension_id,
839 const base::Time& extension_install_time) const { 796 const base::Time& extension_install_time) const {
840 CHECK(request_data.stage & GetStages()); 797 CHECK(request_data.stage & GetStages());
841 const net::HttpResponseHeaders* headers = 798 const net::HttpResponseHeaders* headers =
842 request_data.original_response_headers; 799 request_data.original_response_headers;
843 if (!headers) 800 if (!headers)
844 return LinkedPtrEventResponseDelta(NULL); 801 return LinkedPtrEventResponseDelta(NULL);
845 802
846 // Don't generate the header if it exists already. 803 // Don't generate the header if it exists already.
847 if (headers->HasHeaderValue(name_, value_)) 804 if (headers->HasHeaderValue(name_, value_))
(...skipping 24 matching lines...) Expand all
872 return ON_HEADERS_RECEIVED; 829 return ON_HEADERS_RECEIVED;
873 } 830 }
874 831
875 WebRequestAction::Type 832 WebRequestAction::Type
876 WebRequestRemoveResponseHeaderAction::GetType() const { 833 WebRequestRemoveResponseHeaderAction::GetType() const {
877 return WebRequestAction::ACTION_REMOVE_RESPONSE_HEADER; 834 return WebRequestAction::ACTION_REMOVE_RESPONSE_HEADER;
878 } 835 }
879 836
880 LinkedPtrEventResponseDelta 837 LinkedPtrEventResponseDelta
881 WebRequestRemoveResponseHeaderAction::CreateDelta( 838 WebRequestRemoveResponseHeaderAction::CreateDelta(
882 const WebRequestRule::RequestData& request_data, 839 const DeclarativeWebRequestData& request_data,
883 const std::string& extension_id, 840 const std::string& extension_id,
884 const base::Time& extension_install_time) const { 841 const base::Time& extension_install_time) const {
885 CHECK(request_data.stage & GetStages()); 842 CHECK(request_data.stage & GetStages());
886 const net::HttpResponseHeaders* headers = 843 const net::HttpResponseHeaders* headers =
887 request_data.original_response_headers; 844 request_data.original_response_headers;
888 if (!headers) 845 if (!headers)
889 return LinkedPtrEventResponseDelta(NULL); 846 return LinkedPtrEventResponseDelta(NULL);
890 847
891 LinkedPtrEventResponseDelta result( 848 LinkedPtrEventResponseDelta result(
892 new helpers::EventResponseDelta(extension_id, extension_install_time)); 849 new helpers::EventResponseDelta(extension_id, extension_install_time));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
928 int WebRequestIgnoreRulesAction::GetMinimumPriority() const { 885 int WebRequestIgnoreRulesAction::GetMinimumPriority() const {
929 return minimum_priority_; 886 return minimum_priority_;
930 } 887 }
931 888
932 WebRequestAction::HostPermissionsStrategy 889 WebRequestAction::HostPermissionsStrategy
933 WebRequestIgnoreRulesAction::GetHostPermissionsStrategy() const { 890 WebRequestIgnoreRulesAction::GetHostPermissionsStrategy() const {
934 return WebRequestAction::STRATEGY_NONE; 891 return WebRequestAction::STRATEGY_NONE;
935 } 892 }
936 893
937 LinkedPtrEventResponseDelta WebRequestIgnoreRulesAction::CreateDelta( 894 LinkedPtrEventResponseDelta WebRequestIgnoreRulesAction::CreateDelta(
938 const WebRequestRule::RequestData& request_data, 895 const DeclarativeWebRequestData& request_data,
939 const std::string& extension_id, 896 const std::string& extension_id,
940 const base::Time& extension_install_time) const { 897 const base::Time& extension_install_time) const {
941 CHECK(request_data.stage & GetStages()); 898 CHECK(request_data.stage & GetStages());
942 return LinkedPtrEventResponseDelta(NULL); 899 return LinkedPtrEventResponseDelta(NULL);
943 } 900 }
944 901
945 // 902 //
946 // WebRequestRequestCookieAction 903 // WebRequestRequestCookieAction
947 // 904 //
948 905
949 WebRequestRequestCookieAction::WebRequestRequestCookieAction( 906 WebRequestRequestCookieAction::WebRequestRequestCookieAction(
950 linked_ptr<RequestCookieModification> request_cookie_modification) 907 linked_ptr<RequestCookieModification> request_cookie_modification)
951 : request_cookie_modification_(request_cookie_modification) { 908 : request_cookie_modification_(request_cookie_modification) {
952 CHECK(request_cookie_modification_.get()); 909 CHECK(request_cookie_modification_.get());
953 } 910 }
954 911
955 WebRequestRequestCookieAction::~WebRequestRequestCookieAction() {} 912 WebRequestRequestCookieAction::~WebRequestRequestCookieAction() {}
956 913
957 int WebRequestRequestCookieAction::GetStages() const { 914 int WebRequestRequestCookieAction::GetStages() const {
958 return ON_BEFORE_SEND_HEADERS; 915 return ON_BEFORE_SEND_HEADERS;
959 } 916 }
960 917
961 WebRequestAction::Type WebRequestRequestCookieAction::GetType() const { 918 WebRequestAction::Type WebRequestRequestCookieAction::GetType() const {
962 return WebRequestAction::ACTION_MODIFY_REQUEST_COOKIE; 919 return WebRequestAction::ACTION_MODIFY_REQUEST_COOKIE;
963 } 920 }
964 921
965 LinkedPtrEventResponseDelta WebRequestRequestCookieAction::CreateDelta( 922 LinkedPtrEventResponseDelta WebRequestRequestCookieAction::CreateDelta(
966 const WebRequestRule::RequestData& request_data, 923 const DeclarativeWebRequestData& request_data,
967 const std::string& extension_id, 924 const std::string& extension_id,
968 const base::Time& extension_install_time) const { 925 const base::Time& extension_install_time) const {
969 CHECK(request_data.stage & GetStages()); 926 CHECK(request_data.stage & GetStages());
970 LinkedPtrEventResponseDelta result( 927 LinkedPtrEventResponseDelta result(
971 new extension_web_request_api_helpers::EventResponseDelta( 928 new extension_web_request_api_helpers::EventResponseDelta(
972 extension_id, extension_install_time)); 929 extension_id, extension_install_time));
973 result->request_cookie_modifications.push_back( 930 result->request_cookie_modifications.push_back(
974 request_cookie_modification_); 931 request_cookie_modification_);
975 return result; 932 return result;
976 } 933 }
(...skipping 12 matching lines...) Expand all
989 946
990 int WebRequestResponseCookieAction::GetStages() const { 947 int WebRequestResponseCookieAction::GetStages() const {
991 return ON_HEADERS_RECEIVED; 948 return ON_HEADERS_RECEIVED;
992 } 949 }
993 950
994 WebRequestAction::Type WebRequestResponseCookieAction::GetType() const { 951 WebRequestAction::Type WebRequestResponseCookieAction::GetType() const {
995 return WebRequestAction::ACTION_MODIFY_RESPONSE_COOKIE; 952 return WebRequestAction::ACTION_MODIFY_RESPONSE_COOKIE;
996 } 953 }
997 954
998 LinkedPtrEventResponseDelta WebRequestResponseCookieAction::CreateDelta( 955 LinkedPtrEventResponseDelta WebRequestResponseCookieAction::CreateDelta(
999 const WebRequestRule::RequestData& request_data, 956 const DeclarativeWebRequestData& request_data,
1000 const std::string& extension_id, 957 const std::string& extension_id,
1001 const base::Time& extension_install_time) const { 958 const base::Time& extension_install_time) const {
1002 CHECK(request_data.stage & GetStages()); 959 CHECK(request_data.stage & GetStages());
1003 LinkedPtrEventResponseDelta result( 960 LinkedPtrEventResponseDelta result(
1004 new extension_web_request_api_helpers::EventResponseDelta( 961 new extension_web_request_api_helpers::EventResponseDelta(
1005 extension_id, extension_install_time)); 962 extension_id, extension_install_time));
1006 result->response_cookie_modifications.push_back( 963 result->response_cookie_modifications.push_back(
1007 response_cookie_modification_); 964 response_cookie_modification_);
1008 return result; 965 return result;
1009 } 966 }
(...skipping 13 matching lines...) Expand all
1023 int WebRequestSendMessageToExtensionAction::GetStages() const { 980 int WebRequestSendMessageToExtensionAction::GetStages() const {
1024 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED | 981 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED |
1025 ON_AUTH_REQUIRED; 982 ON_AUTH_REQUIRED;
1026 } 983 }
1027 984
1028 WebRequestAction::Type WebRequestSendMessageToExtensionAction::GetType() const { 985 WebRequestAction::Type WebRequestSendMessageToExtensionAction::GetType() const {
1029 return WebRequestAction::ACTION_SEND_MESSAGE_TO_EXTENSION; 986 return WebRequestAction::ACTION_SEND_MESSAGE_TO_EXTENSION;
1030 } 987 }
1031 988
1032 LinkedPtrEventResponseDelta WebRequestSendMessageToExtensionAction::CreateDelta( 989 LinkedPtrEventResponseDelta WebRequestSendMessageToExtensionAction::CreateDelta(
1033 const WebRequestRule::RequestData& request_data, 990 const DeclarativeWebRequestData& request_data,
1034 const std::string& extension_id, 991 const std::string& extension_id,
1035 const base::Time& extension_install_time) const { 992 const base::Time& extension_install_time) const {
1036 CHECK(request_data.stage & GetStages()); 993 CHECK(request_data.stage & GetStages());
1037 LinkedPtrEventResponseDelta result( 994 LinkedPtrEventResponseDelta result(
1038 new extension_web_request_api_helpers::EventResponseDelta( 995 new extension_web_request_api_helpers::EventResponseDelta(
1039 extension_id, extension_install_time)); 996 extension_id, extension_install_time));
1040 result->messages_to_extension.insert(message_); 997 result->messages_to_extension.insert(message_);
1041 return result; 998 return result;
1042 } 999 }
1043 1000
1044 } // namespace extensions 1001 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698