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