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