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

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

Powered by Google App Engine
This is Rietveld 408576698