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

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

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 #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"
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 WebRequestAction::Type WebRequestCancelAction::GetType() const { 480 WebRequestAction::Type WebRequestCancelAction::GetType() const {
481 return WebRequestAction::ACTION_CANCEL_REQUEST; 481 return WebRequestAction::ACTION_CANCEL_REQUEST;
482 } 482 }
483 483
484 WebRequestAction::HostPermissionsStrategy 484 WebRequestAction::HostPermissionsStrategy
485 WebRequestCancelAction::GetHostPermissionsStrategy() const { 485 WebRequestCancelAction::GetHostPermissionsStrategy() const {
486 return WebRequestAction::STRATEGY_NONE; 486 return WebRequestAction::STRATEGY_NONE;
487 } 487 }
488 488
489 LinkedPtrEventResponseDelta WebRequestCancelAction::CreateDelta( 489 LinkedPtrEventResponseDelta WebRequestCancelAction::CreateDelta(
490 const DeclarativeWebRequestData& request_data, 490 const WebRequestData& request_data,
491 const std::string& extension_id, 491 const std::string& extension_id,
492 const base::Time& extension_install_time) const { 492 const base::Time& extension_install_time) const {
493 CHECK(request_data.stage & GetStages()); 493 CHECK(request_data.stage & GetStages());
494 LinkedPtrEventResponseDelta result( 494 LinkedPtrEventResponseDelta result(
495 new helpers::EventResponseDelta(extension_id, extension_install_time)); 495 new helpers::EventResponseDelta(extension_id, extension_install_time));
496 result->cancel = true; 496 result->cancel = true;
497 return result; 497 return result;
498 } 498 }
499 499
500 // 500 //
(...skipping 12 matching lines...) Expand all
513 WebRequestAction::Type WebRequestRedirectAction::GetType() const { 513 WebRequestAction::Type WebRequestRedirectAction::GetType() const {
514 return WebRequestAction::ACTION_REDIRECT_REQUEST; 514 return WebRequestAction::ACTION_REDIRECT_REQUEST;
515 } 515 }
516 516
517 WebRequestAction::HostPermissionsStrategy 517 WebRequestAction::HostPermissionsStrategy
518 WebRequestRedirectAction::GetHostPermissionsStrategy() const { 518 WebRequestRedirectAction::GetHostPermissionsStrategy() const {
519 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN; 519 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN;
520 } 520 }
521 521
522 LinkedPtrEventResponseDelta WebRequestRedirectAction::CreateDelta( 522 LinkedPtrEventResponseDelta WebRequestRedirectAction::CreateDelta(
523 const DeclarativeWebRequestData& request_data, 523 const WebRequestData& request_data,
524 const std::string& extension_id, 524 const std::string& extension_id,
525 const base::Time& extension_install_time) const { 525 const base::Time& extension_install_time) const {
526 CHECK(request_data.stage & GetStages()); 526 CHECK(request_data.stage & GetStages());
527 if (request_data.request->url() == redirect_url_) 527 if (request_data.request->url() == redirect_url_)
528 return LinkedPtrEventResponseDelta(NULL); 528 return LinkedPtrEventResponseDelta(NULL);
529 LinkedPtrEventResponseDelta result( 529 LinkedPtrEventResponseDelta result(
530 new helpers::EventResponseDelta(extension_id, extension_install_time)); 530 new helpers::EventResponseDelta(extension_id, extension_install_time));
531 result->new_url = redirect_url_; 531 result->new_url = redirect_url_;
532 return result; 532 return result;
533 } 533 }
(...skipping 17 matching lines...) Expand all
551 return WebRequestAction::ACTION_REDIRECT_TO_TRANSPARENT_IMAGE; 551 return WebRequestAction::ACTION_REDIRECT_TO_TRANSPARENT_IMAGE;
552 } 552 }
553 553
554 WebRequestAction::HostPermissionsStrategy 554 WebRequestAction::HostPermissionsStrategy
555 WebRequestRedirectToTransparentImageAction::GetHostPermissionsStrategy() const { 555 WebRequestRedirectToTransparentImageAction::GetHostPermissionsStrategy() const {
556 return WebRequestAction::STRATEGY_NONE; 556 return WebRequestAction::STRATEGY_NONE;
557 } 557 }
558 558
559 LinkedPtrEventResponseDelta 559 LinkedPtrEventResponseDelta
560 WebRequestRedirectToTransparentImageAction::CreateDelta( 560 WebRequestRedirectToTransparentImageAction::CreateDelta(
561 const DeclarativeWebRequestData& request_data, 561 const WebRequestData& request_data,
562 const std::string& extension_id, 562 const std::string& extension_id,
563 const base::Time& extension_install_time) const { 563 const base::Time& extension_install_time) const {
564 CHECK(request_data.stage & GetStages()); 564 CHECK(request_data.stage & GetStages());
565 LinkedPtrEventResponseDelta result( 565 LinkedPtrEventResponseDelta result(
566 new helpers::EventResponseDelta(extension_id, extension_install_time)); 566 new helpers::EventResponseDelta(extension_id, extension_install_time));
567 result->new_url = GURL(kTransparentImageUrl); 567 result->new_url = GURL(kTransparentImageUrl);
568 return result; 568 return result;
569 } 569 }
570 570
571 // 571 //
(...skipping 15 matching lines...) Expand all
587 return WebRequestAction::ACTION_REDIRECT_TO_EMPTY_DOCUMENT; 587 return WebRequestAction::ACTION_REDIRECT_TO_EMPTY_DOCUMENT;
588 } 588 }
589 589
590 WebRequestAction::HostPermissionsStrategy 590 WebRequestAction::HostPermissionsStrategy
591 WebRequestRedirectToEmptyDocumentAction::GetHostPermissionsStrategy() const { 591 WebRequestRedirectToEmptyDocumentAction::GetHostPermissionsStrategy() const {
592 return WebRequestAction::STRATEGY_NONE; 592 return WebRequestAction::STRATEGY_NONE;
593 } 593 }
594 594
595 LinkedPtrEventResponseDelta 595 LinkedPtrEventResponseDelta
596 WebRequestRedirectToEmptyDocumentAction::CreateDelta( 596 WebRequestRedirectToEmptyDocumentAction::CreateDelta(
597 const DeclarativeWebRequestData& request_data, 597 const WebRequestData& request_data,
598 const std::string& extension_id, 598 const std::string& extension_id,
599 const base::Time& extension_install_time) const { 599 const base::Time& extension_install_time) const {
600 CHECK(request_data.stage & GetStages()); 600 CHECK(request_data.stage & GetStages());
601 LinkedPtrEventResponseDelta result( 601 LinkedPtrEventResponseDelta result(
602 new helpers::EventResponseDelta(extension_id, extension_install_time)); 602 new helpers::EventResponseDelta(extension_id, extension_install_time));
603 result->new_url = GURL(kEmptyDocumentUrl); 603 result->new_url = GURL(kEmptyDocumentUrl);
604 return result; 604 return result;
605 } 605 }
606 606
607 // 607 //
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 WebRequestAction::Type WebRequestRedirectByRegExAction::GetType() const { 676 WebRequestAction::Type WebRequestRedirectByRegExAction::GetType() const {
677 return WebRequestAction::ACTION_REDIRECT_BY_REGEX_DOCUMENT; 677 return WebRequestAction::ACTION_REDIRECT_BY_REGEX_DOCUMENT;
678 } 678 }
679 679
680 WebRequestAction::HostPermissionsStrategy 680 WebRequestAction::HostPermissionsStrategy
681 WebRequestRedirectByRegExAction::GetHostPermissionsStrategy() const { 681 WebRequestRedirectByRegExAction::GetHostPermissionsStrategy() const {
682 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN; 682 return WebRequestAction::STRATEGY_ALLOW_SAME_DOMAIN;
683 } 683 }
684 684
685 LinkedPtrEventResponseDelta WebRequestRedirectByRegExAction::CreateDelta( 685 LinkedPtrEventResponseDelta WebRequestRedirectByRegExAction::CreateDelta(
686 const DeclarativeWebRequestData& request_data, 686 const WebRequestData& request_data,
687 const std::string& extension_id, 687 const std::string& extension_id,
688 const base::Time& extension_install_time) const { 688 const base::Time& extension_install_time) const {
689 CHECK(request_data.stage & GetStages()); 689 CHECK(request_data.stage & GetStages());
690 CHECK(from_pattern_.get()); 690 CHECK(from_pattern_.get());
691 691
692 const std::string& old_url = request_data.request->url().spec(); 692 const std::string& old_url = request_data.request->url().spec();
693 std::string new_url = old_url; 693 std::string new_url = old_url;
694 if (!RE2::Replace(&new_url, *from_pattern_, to_pattern_) || 694 if (!RE2::Replace(&new_url, *from_pattern_, to_pattern_) ||
695 new_url == old_url) { 695 new_url == old_url) {
696 return LinkedPtrEventResponseDelta(NULL); 696 return LinkedPtrEventResponseDelta(NULL);
(...skipping 23 matching lines...) Expand all
720 return ON_BEFORE_SEND_HEADERS; 720 return ON_BEFORE_SEND_HEADERS;
721 } 721 }
722 722
723 WebRequestAction::Type 723 WebRequestAction::Type
724 WebRequestSetRequestHeaderAction::GetType() const { 724 WebRequestSetRequestHeaderAction::GetType() const {
725 return WebRequestAction::ACTION_SET_REQUEST_HEADER; 725 return WebRequestAction::ACTION_SET_REQUEST_HEADER;
726 } 726 }
727 727
728 LinkedPtrEventResponseDelta 728 LinkedPtrEventResponseDelta
729 WebRequestSetRequestHeaderAction::CreateDelta( 729 WebRequestSetRequestHeaderAction::CreateDelta(
730 const DeclarativeWebRequestData& request_data, 730 const WebRequestData& request_data,
731 const std::string& extension_id, 731 const std::string& extension_id,
732 const base::Time& extension_install_time) const { 732 const base::Time& extension_install_time) const {
733 CHECK(request_data.stage & GetStages()); 733 CHECK(request_data.stage & GetStages());
734 LinkedPtrEventResponseDelta result( 734 LinkedPtrEventResponseDelta result(
735 new helpers::EventResponseDelta(extension_id, extension_install_time)); 735 new helpers::EventResponseDelta(extension_id, extension_install_time));
736 result->modified_request_headers.SetHeader(name_, value_); 736 result->modified_request_headers.SetHeader(name_, value_);
737 return result; 737 return result;
738 } 738 }
739 739
740 // 740 //
(...skipping 11 matching lines...) Expand all
752 return ON_BEFORE_SEND_HEADERS; 752 return ON_BEFORE_SEND_HEADERS;
753 } 753 }
754 754
755 WebRequestAction::Type 755 WebRequestAction::Type
756 WebRequestRemoveRequestHeaderAction::GetType() const { 756 WebRequestRemoveRequestHeaderAction::GetType() const {
757 return WebRequestAction::ACTION_REMOVE_REQUEST_HEADER; 757 return WebRequestAction::ACTION_REMOVE_REQUEST_HEADER;
758 } 758 }
759 759
760 LinkedPtrEventResponseDelta 760 LinkedPtrEventResponseDelta
761 WebRequestRemoveRequestHeaderAction::CreateDelta( 761 WebRequestRemoveRequestHeaderAction::CreateDelta(
762 const DeclarativeWebRequestData& request_data, 762 const WebRequestData& request_data,
763 const std::string& extension_id, 763 const std::string& extension_id,
764 const base::Time& extension_install_time) const { 764 const base::Time& extension_install_time) const {
765 CHECK(request_data.stage & GetStages()); 765 CHECK(request_data.stage & GetStages());
766 LinkedPtrEventResponseDelta result( 766 LinkedPtrEventResponseDelta result(
767 new helpers::EventResponseDelta(extension_id, extension_install_time)); 767 new helpers::EventResponseDelta(extension_id, extension_install_time));
768 result->deleted_request_headers.push_back(name_); 768 result->deleted_request_headers.push_back(name_);
769 return result; 769 return result;
770 } 770 }
771 771
772 // 772 //
(...skipping 13 matching lines...) Expand all
786 return ON_HEADERS_RECEIVED; 786 return ON_HEADERS_RECEIVED;
787 } 787 }
788 788
789 WebRequestAction::Type 789 WebRequestAction::Type
790 WebRequestAddResponseHeaderAction::GetType() const { 790 WebRequestAddResponseHeaderAction::GetType() const {
791 return WebRequestAction::ACTION_ADD_RESPONSE_HEADER; 791 return WebRequestAction::ACTION_ADD_RESPONSE_HEADER;
792 } 792 }
793 793
794 LinkedPtrEventResponseDelta 794 LinkedPtrEventResponseDelta
795 WebRequestAddResponseHeaderAction::CreateDelta( 795 WebRequestAddResponseHeaderAction::CreateDelta(
796 const DeclarativeWebRequestData& request_data, 796 const WebRequestData& request_data,
797 const std::string& extension_id, 797 const std::string& extension_id,
798 const base::Time& extension_install_time) const { 798 const base::Time& extension_install_time) const {
799 CHECK(request_data.stage & GetStages()); 799 CHECK(request_data.stage & GetStages());
800 const net::HttpResponseHeaders* headers = 800 const net::HttpResponseHeaders* headers =
801 request_data.original_response_headers; 801 request_data.original_response_headers;
802 if (!headers) 802 if (!headers)
803 return LinkedPtrEventResponseDelta(NULL); 803 return LinkedPtrEventResponseDelta(NULL);
804 804
805 // Don't generate the header if it exists already. 805 // Don't generate the header if it exists already.
806 if (headers->HasHeaderValue(name_, value_)) 806 if (headers->HasHeaderValue(name_, value_))
(...skipping 24 matching lines...) Expand all
831 return ON_HEADERS_RECEIVED; 831 return ON_HEADERS_RECEIVED;
832 } 832 }
833 833
834 WebRequestAction::Type 834 WebRequestAction::Type
835 WebRequestRemoveResponseHeaderAction::GetType() const { 835 WebRequestRemoveResponseHeaderAction::GetType() const {
836 return WebRequestAction::ACTION_REMOVE_RESPONSE_HEADER; 836 return WebRequestAction::ACTION_REMOVE_RESPONSE_HEADER;
837 } 837 }
838 838
839 LinkedPtrEventResponseDelta 839 LinkedPtrEventResponseDelta
840 WebRequestRemoveResponseHeaderAction::CreateDelta( 840 WebRequestRemoveResponseHeaderAction::CreateDelta(
841 const DeclarativeWebRequestData& request_data, 841 const WebRequestData& request_data,
842 const std::string& extension_id, 842 const std::string& extension_id,
843 const base::Time& extension_install_time) const { 843 const base::Time& extension_install_time) const {
844 CHECK(request_data.stage & GetStages()); 844 CHECK(request_data.stage & GetStages());
845 const net::HttpResponseHeaders* headers = 845 const net::HttpResponseHeaders* headers =
846 request_data.original_response_headers; 846 request_data.original_response_headers;
847 if (!headers) 847 if (!headers)
848 return LinkedPtrEventResponseDelta(NULL); 848 return LinkedPtrEventResponseDelta(NULL);
849 849
850 LinkedPtrEventResponseDelta result( 850 LinkedPtrEventResponseDelta result(
851 new helpers::EventResponseDelta(extension_id, extension_install_time)); 851 new helpers::EventResponseDelta(extension_id, extension_install_time));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 int WebRequestIgnoreRulesAction::GetMinimumPriority() const { 887 int WebRequestIgnoreRulesAction::GetMinimumPriority() const {
888 return minimum_priority_; 888 return minimum_priority_;
889 } 889 }
890 890
891 WebRequestAction::HostPermissionsStrategy 891 WebRequestAction::HostPermissionsStrategy
892 WebRequestIgnoreRulesAction::GetHostPermissionsStrategy() const { 892 WebRequestIgnoreRulesAction::GetHostPermissionsStrategy() const {
893 return WebRequestAction::STRATEGY_NONE; 893 return WebRequestAction::STRATEGY_NONE;
894 } 894 }
895 895
896 LinkedPtrEventResponseDelta WebRequestIgnoreRulesAction::CreateDelta( 896 LinkedPtrEventResponseDelta WebRequestIgnoreRulesAction::CreateDelta(
897 const DeclarativeWebRequestData& request_data, 897 const WebRequestData& request_data,
898 const std::string& extension_id, 898 const std::string& extension_id,
899 const base::Time& extension_install_time) const { 899 const base::Time& extension_install_time) const {
900 CHECK(request_data.stage & GetStages()); 900 CHECK(request_data.stage & GetStages());
901 return LinkedPtrEventResponseDelta(NULL); 901 return LinkedPtrEventResponseDelta(NULL);
902 } 902 }
903 903
904 // 904 //
905 // WebRequestRequestCookieAction 905 // WebRequestRequestCookieAction
906 // 906 //
907 907
908 WebRequestRequestCookieAction::WebRequestRequestCookieAction( 908 WebRequestRequestCookieAction::WebRequestRequestCookieAction(
909 linked_ptr<RequestCookieModification> request_cookie_modification) 909 linked_ptr<RequestCookieModification> request_cookie_modification)
910 : request_cookie_modification_(request_cookie_modification) { 910 : request_cookie_modification_(request_cookie_modification) {
911 CHECK(request_cookie_modification_.get()); 911 CHECK(request_cookie_modification_.get());
912 } 912 }
913 913
914 WebRequestRequestCookieAction::~WebRequestRequestCookieAction() {} 914 WebRequestRequestCookieAction::~WebRequestRequestCookieAction() {}
915 915
916 int WebRequestRequestCookieAction::GetStages() const { 916 int WebRequestRequestCookieAction::GetStages() const {
917 return ON_BEFORE_SEND_HEADERS; 917 return ON_BEFORE_SEND_HEADERS;
918 } 918 }
919 919
920 WebRequestAction::Type WebRequestRequestCookieAction::GetType() const { 920 WebRequestAction::Type WebRequestRequestCookieAction::GetType() const {
921 return WebRequestAction::ACTION_MODIFY_REQUEST_COOKIE; 921 return WebRequestAction::ACTION_MODIFY_REQUEST_COOKIE;
922 } 922 }
923 923
924 LinkedPtrEventResponseDelta WebRequestRequestCookieAction::CreateDelta( 924 LinkedPtrEventResponseDelta WebRequestRequestCookieAction::CreateDelta(
925 const DeclarativeWebRequestData& request_data, 925 const WebRequestData& request_data,
926 const std::string& extension_id, 926 const std::string& extension_id,
927 const base::Time& extension_install_time) const { 927 const base::Time& extension_install_time) const {
928 CHECK(request_data.stage & GetStages()); 928 CHECK(request_data.stage & GetStages());
929 LinkedPtrEventResponseDelta result( 929 LinkedPtrEventResponseDelta result(
930 new extension_web_request_api_helpers::EventResponseDelta( 930 new extension_web_request_api_helpers::EventResponseDelta(
931 extension_id, extension_install_time)); 931 extension_id, extension_install_time));
932 result->request_cookie_modifications.push_back( 932 result->request_cookie_modifications.push_back(
933 request_cookie_modification_); 933 request_cookie_modification_);
934 return result; 934 return result;
935 } 935 }
(...skipping 12 matching lines...) Expand all
948 948
949 int WebRequestResponseCookieAction::GetStages() const { 949 int WebRequestResponseCookieAction::GetStages() const {
950 return ON_HEADERS_RECEIVED; 950 return ON_HEADERS_RECEIVED;
951 } 951 }
952 952
953 WebRequestAction::Type WebRequestResponseCookieAction::GetType() const { 953 WebRequestAction::Type WebRequestResponseCookieAction::GetType() const {
954 return WebRequestAction::ACTION_MODIFY_RESPONSE_COOKIE; 954 return WebRequestAction::ACTION_MODIFY_RESPONSE_COOKIE;
955 } 955 }
956 956
957 LinkedPtrEventResponseDelta WebRequestResponseCookieAction::CreateDelta( 957 LinkedPtrEventResponseDelta WebRequestResponseCookieAction::CreateDelta(
958 const DeclarativeWebRequestData& request_data, 958 const WebRequestData& request_data,
959 const std::string& extension_id, 959 const std::string& extension_id,
960 const base::Time& extension_install_time) const { 960 const base::Time& extension_install_time) const {
961 CHECK(request_data.stage & GetStages()); 961 CHECK(request_data.stage & GetStages());
962 LinkedPtrEventResponseDelta result( 962 LinkedPtrEventResponseDelta result(
963 new extension_web_request_api_helpers::EventResponseDelta( 963 new extension_web_request_api_helpers::EventResponseDelta(
964 extension_id, extension_install_time)); 964 extension_id, extension_install_time));
965 result->response_cookie_modifications.push_back( 965 result->response_cookie_modifications.push_back(
966 response_cookie_modification_); 966 response_cookie_modification_);
967 return result; 967 return result;
968 } 968 }
(...skipping 13 matching lines...) Expand all
982 int WebRequestSendMessageToExtensionAction::GetStages() const { 982 int WebRequestSendMessageToExtensionAction::GetStages() const {
983 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED | 983 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED |
984 ON_AUTH_REQUIRED; 984 ON_AUTH_REQUIRED;
985 } 985 }
986 986
987 WebRequestAction::Type WebRequestSendMessageToExtensionAction::GetType() const { 987 WebRequestAction::Type WebRequestSendMessageToExtensionAction::GetType() const {
988 return WebRequestAction::ACTION_SEND_MESSAGE_TO_EXTENSION; 988 return WebRequestAction::ACTION_SEND_MESSAGE_TO_EXTENSION;
989 } 989 }
990 990
991 LinkedPtrEventResponseDelta WebRequestSendMessageToExtensionAction::CreateDelta( 991 LinkedPtrEventResponseDelta WebRequestSendMessageToExtensionAction::CreateDelta(
992 const DeclarativeWebRequestData& request_data, 992 const WebRequestData& request_data,
993 const std::string& extension_id, 993 const std::string& extension_id,
994 const base::Time& extension_install_time) const { 994 const base::Time& extension_install_time) const {
995 CHECK(request_data.stage & GetStages()); 995 CHECK(request_data.stage & GetStages());
996 LinkedPtrEventResponseDelta result( 996 LinkedPtrEventResponseDelta result(
997 new extension_web_request_api_helpers::EventResponseDelta( 997 new extension_web_request_api_helpers::EventResponseDelta(
998 extension_id, extension_install_time)); 998 extension_id, extension_install_time));
999 result->messages_to_extension.insert(message_); 999 result->messages_to_extension.insert(message_);
1000 return result; 1000 return result;
1001 } 1001 }
1002 1002
1003 } // namespace extensions 1003 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698