OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |