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

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

Issue 10831150: Refactor request parameters into RequestData struct. Also make RequestStage singular. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: ?? Created 8 years, 4 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_action .h" 5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_action .h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/stringprintf.h" 11 #include "base/stringprintf.h"
12 #include "base/string_util.h" 12 #include "base/string_util.h"
13 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chrome/browser/extensions/api/declarative_webrequest/request_stages.h" 15 #include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h"
16 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_consta nts.h" 16 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_consta nts.h"
17 #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"
18 #include "chrome/browser/extensions/api/web_request/web_request_permissions.h" 18 #include "chrome/browser/extensions/api/web_request/web_request_permissions.h"
19 #include "chrome/browser/extensions/extension_info_map.h" 19 #include "chrome/browser/extensions/extension_info_map.h"
20 #include "chrome/common/extensions/extension.h" 20 #include "chrome/common/extensions/extension.h"
21 #include "net/url_request/url_request.h" 21 #include "net/url_request/url_request.h"
22 22
23 namespace extensions { 23 namespace extensions {
24 24
25 namespace helpers = extension_web_request_api_helpers; 25 namespace helpers = extension_web_request_api_helpers;
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 return scoped_ptr<WebRequestActionSet>(NULL); 411 return scoped_ptr<WebRequestActionSet>(NULL);
412 result.push_back(make_linked_ptr(action.release())); 412 result.push_back(make_linked_ptr(action.release()));
413 } 413 }
414 414
415 return scoped_ptr<WebRequestActionSet>(new WebRequestActionSet(result)); 415 return scoped_ptr<WebRequestActionSet>(new WebRequestActionSet(result));
416 } 416 }
417 417
418 std::list<LinkedPtrEventResponseDelta> WebRequestActionSet::CreateDeltas( 418 std::list<LinkedPtrEventResponseDelta> WebRequestActionSet::CreateDeltas(
419 const ExtensionInfoMap* extension_info_map, 419 const ExtensionInfoMap* extension_info_map,
420 const std::string& extension_id, 420 const std::string& extension_id,
421 net::URLRequest* request, 421 const WebRequestRule::RequestData& request_data,
422 bool crosses_incognito, 422 bool crosses_incognito,
423 RequestStages request_stage,
424 const WebRequestRule::OptionalRequestData& optional_request_data,
425 const base::Time& extension_install_time) const { 423 const base::Time& extension_install_time) const {
426 std::list<LinkedPtrEventResponseDelta> result; 424 std::list<LinkedPtrEventResponseDelta> result;
427 for (Actions::const_iterator i = actions_.begin(); i != actions_.end(); ++i) { 425 for (Actions::const_iterator i = actions_.begin(); i != actions_.end(); ++i) {
428 if (!(*i)->HasPermission(extension_info_map, extension_id, request, 426 if (!(*i)->HasPermission(extension_info_map, extension_id,
429 crosses_incognito)) 427 request_data.request, crosses_incognito))
430 continue; 428 continue;
431 if ((*i)->GetStages() & request_stage) { 429 if ((*i)->GetStages() & request_data.stage) {
432 LinkedPtrEventResponseDelta delta = (*i)->CreateDelta(request, 430 LinkedPtrEventResponseDelta delta = (*i)->CreateDelta(
433 request_stage, optional_request_data, extension_id, 431 request_data, extension_id, extension_install_time);
434 extension_install_time);
435 if (delta.get()) 432 if (delta.get())
436 result.push_back(delta); 433 result.push_back(delta);
437 } 434 }
438 } 435 }
439 return result; 436 return result;
440 } 437 }
441 438
442 int WebRequestActionSet::GetMinimumPriority() const { 439 int WebRequestActionSet::GetMinimumPriority() const {
443 int minimum_priority = std::numeric_limits<int>::min(); 440 int minimum_priority = std::numeric_limits<int>::min();
444 for (Actions::const_iterator i = actions_.begin(); i != actions_.end(); ++i) { 441 for (Actions::const_iterator i = actions_.begin(); i != actions_.end(); ++i) {
(...skipping 13 matching lines...) Expand all
458 int WebRequestCancelAction::GetStages() const { 455 int WebRequestCancelAction::GetStages() const {
459 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED | 456 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_HEADERS_RECEIVED |
460 ON_AUTH_REQUIRED; 457 ON_AUTH_REQUIRED;
461 } 458 }
462 459
463 WebRequestAction::Type WebRequestCancelAction::GetType() const { 460 WebRequestAction::Type WebRequestCancelAction::GetType() const {
464 return WebRequestAction::ACTION_CANCEL_REQUEST; 461 return WebRequestAction::ACTION_CANCEL_REQUEST;
465 } 462 }
466 463
467 LinkedPtrEventResponseDelta WebRequestCancelAction::CreateDelta( 464 LinkedPtrEventResponseDelta WebRequestCancelAction::CreateDelta(
468 net::URLRequest* request, 465 const WebRequestRule::RequestData& request_data,
469 RequestStages request_stage,
470 const WebRequestRule::OptionalRequestData& optional_request_data,
471 const std::string& extension_id, 466 const std::string& extension_id,
472 const base::Time& extension_install_time) const { 467 const base::Time& extension_install_time) const {
473 CHECK(request_stage & GetStages()); 468 CHECK(request_data.stage & GetStages());
474 LinkedPtrEventResponseDelta result( 469 LinkedPtrEventResponseDelta result(
475 new helpers::EventResponseDelta(extension_id, extension_install_time)); 470 new helpers::EventResponseDelta(extension_id, extension_install_time));
476 result->cancel = true; 471 result->cancel = true;
477 return result; 472 return result;
478 } 473 }
479 474
480 // 475 //
481 // WebRequestRedirectAction 476 // WebRequestRedirectAction
482 // 477 //
483 478
484 WebRequestRedirectAction::WebRequestRedirectAction(const GURL& redirect_url) 479 WebRequestRedirectAction::WebRequestRedirectAction(const GURL& redirect_url)
485 : redirect_url_(redirect_url) {} 480 : redirect_url_(redirect_url) {}
486 481
487 WebRequestRedirectAction::~WebRequestRedirectAction() {} 482 WebRequestRedirectAction::~WebRequestRedirectAction() {}
488 483
489 int WebRequestRedirectAction::GetStages() const { 484 int WebRequestRedirectAction::GetStages() const {
490 return ON_BEFORE_REQUEST; 485 return ON_BEFORE_REQUEST;
491 } 486 }
492 487
493 WebRequestAction::Type WebRequestRedirectAction::GetType() const { 488 WebRequestAction::Type WebRequestRedirectAction::GetType() const {
494 return WebRequestAction::ACTION_REDIRECT_REQUEST; 489 return WebRequestAction::ACTION_REDIRECT_REQUEST;
495 } 490 }
496 491
497 LinkedPtrEventResponseDelta WebRequestRedirectAction::CreateDelta( 492 LinkedPtrEventResponseDelta WebRequestRedirectAction::CreateDelta(
498 net::URLRequest* request, 493 const WebRequestRule::RequestData& request_data,
499 RequestStages request_stage,
500 const WebRequestRule::OptionalRequestData& optional_request_data,
501 const std::string& extension_id, 494 const std::string& extension_id,
502 const base::Time& extension_install_time) const { 495 const base::Time& extension_install_time) const {
503 CHECK(request_stage & GetStages()); 496 CHECK(request_data.stage & GetStages());
504 if (request->url() == redirect_url_) 497 if (request_data.request->url() == redirect_url_)
505 return LinkedPtrEventResponseDelta(NULL); 498 return LinkedPtrEventResponseDelta(NULL);
506 LinkedPtrEventResponseDelta result( 499 LinkedPtrEventResponseDelta result(
507 new helpers::EventResponseDelta(extension_id, extension_install_time)); 500 new helpers::EventResponseDelta(extension_id, extension_install_time));
508 result->new_url = redirect_url_; 501 result->new_url = redirect_url_;
509 return result; 502 return result;
510 } 503 }
511 504
512 // 505 //
513 // WebRequestRedirectToTransparentImageAction 506 // WebRequestRedirectToTransparentImageAction
514 // 507 //
(...skipping 13 matching lines...) Expand all
528 return WebRequestAction::ACTION_REDIRECT_TO_TRANSPARENT_IMAGE; 521 return WebRequestAction::ACTION_REDIRECT_TO_TRANSPARENT_IMAGE;
529 } 522 }
530 523
531 bool WebRequestRedirectToTransparentImageAction::ShouldEnforceHostPermissions() 524 bool WebRequestRedirectToTransparentImageAction::ShouldEnforceHostPermissions()
532 const { 525 const {
533 return false; 526 return false;
534 } 527 }
535 528
536 LinkedPtrEventResponseDelta 529 LinkedPtrEventResponseDelta
537 WebRequestRedirectToTransparentImageAction::CreateDelta( 530 WebRequestRedirectToTransparentImageAction::CreateDelta(
538 net::URLRequest* request, 531 const WebRequestRule::RequestData& request_data,
539 RequestStages request_stage,
540 const WebRequestRule::OptionalRequestData& optional_request_data,
541 const std::string& extension_id, 532 const std::string& extension_id,
542 const base::Time& extension_install_time) const { 533 const base::Time& extension_install_time) const {
543 CHECK(request_stage & GetStages()); 534 CHECK(request_data.stage & GetStages());
544 LinkedPtrEventResponseDelta result( 535 LinkedPtrEventResponseDelta result(
545 new helpers::EventResponseDelta(extension_id, extension_install_time)); 536 new helpers::EventResponseDelta(extension_id, extension_install_time));
546 result->new_url = GURL(kTransparentImageUrl); 537 result->new_url = GURL(kTransparentImageUrl);
547 return result; 538 return result;
548 } 539 }
549 540
550 // 541 //
551 // WebRequestRedirectToEmptyDocumentAction 542 // WebRequestRedirectToEmptyDocumentAction
552 // 543 //
553 544
(...skipping 12 matching lines...) Expand all
566 return WebRequestAction::ACTION_REDIRECT_TO_EMPTY_DOCUMENT; 557 return WebRequestAction::ACTION_REDIRECT_TO_EMPTY_DOCUMENT;
567 } 558 }
568 559
569 bool 560 bool
570 WebRequestRedirectToEmptyDocumentAction::ShouldEnforceHostPermissions() const { 561 WebRequestRedirectToEmptyDocumentAction::ShouldEnforceHostPermissions() const {
571 return false; 562 return false;
572 } 563 }
573 564
574 LinkedPtrEventResponseDelta 565 LinkedPtrEventResponseDelta
575 WebRequestRedirectToEmptyDocumentAction::CreateDelta( 566 WebRequestRedirectToEmptyDocumentAction::CreateDelta(
576 net::URLRequest* request, 567 const WebRequestRule::RequestData& request_data,
577 RequestStages request_stage,
578 const WebRequestRule::OptionalRequestData& optional_request_data,
579 const std::string& extension_id, 568 const std::string& extension_id,
580 const base::Time& extension_install_time) const { 569 const base::Time& extension_install_time) const {
581 CHECK(request_stage & GetStages()); 570 CHECK(request_data.stage & GetStages());
582 LinkedPtrEventResponseDelta result( 571 LinkedPtrEventResponseDelta result(
583 new helpers::EventResponseDelta(extension_id, extension_install_time)); 572 new helpers::EventResponseDelta(extension_id, extension_install_time));
584 result->new_url = GURL(kEmptyDocumentUrl); 573 result->new_url = GURL(kEmptyDocumentUrl);
585 return result; 574 return result;
586 } 575 }
587 576
588 // 577 //
589 // WebRequestRedirectByRegExAction 578 // WebRequestRedirectByRegExAction
590 // 579 //
591 580
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 641
653 int WebRequestRedirectByRegExAction::GetStages() const { 642 int WebRequestRedirectByRegExAction::GetStages() const {
654 return ON_BEFORE_REQUEST; 643 return ON_BEFORE_REQUEST;
655 } 644 }
656 645
657 WebRequestAction::Type WebRequestRedirectByRegExAction::GetType() const { 646 WebRequestAction::Type WebRequestRedirectByRegExAction::GetType() const {
658 return WebRequestAction::ACTION_REDIRECT_BY_REGEX_DOCUMENT; 647 return WebRequestAction::ACTION_REDIRECT_BY_REGEX_DOCUMENT;
659 } 648 }
660 649
661 LinkedPtrEventResponseDelta WebRequestRedirectByRegExAction::CreateDelta( 650 LinkedPtrEventResponseDelta WebRequestRedirectByRegExAction::CreateDelta(
662 net::URLRequest* request, 651 const WebRequestRule::RequestData& request_data,
663 RequestStages request_stage,
664 const WebRequestRule::OptionalRequestData& optional_request_data,
665 const std::string& extension_id, 652 const std::string& extension_id,
666 const base::Time& extension_install_time) const { 653 const base::Time& extension_install_time) const {
667 CHECK(request_stage & GetStages()); 654 CHECK(request_data.stage & GetStages());
668 CHECK(from_pattern_.get()); 655 CHECK(from_pattern_.get());
669 656
670 UErrorCode status = U_ZERO_ERROR; 657 UErrorCode status = U_ZERO_ERROR;
671 const std::string& old_url = request->url().spec(); 658 const std::string& old_url = request_data.request->url().spec();
672 icu::UnicodeString old_url_unicode(old_url.data(), old_url.size()); 659 icu::UnicodeString old_url_unicode(old_url.data(), old_url.size());
673 660
674 scoped_ptr<icu::RegexMatcher> matcher( 661 scoped_ptr<icu::RegexMatcher> matcher(
675 from_pattern_->matcher(old_url_unicode, status)); 662 from_pattern_->matcher(old_url_unicode, status));
676 if (U_FAILURE(status) || !matcher.get()) 663 if (U_FAILURE(status) || !matcher.get())
677 return LinkedPtrEventResponseDelta(NULL); 664 return LinkedPtrEventResponseDelta(NULL);
678 665
679 icu::UnicodeString new_url = matcher->replaceAll(to_pattern_, status); 666 icu::UnicodeString new_url = matcher->replaceAll(to_pattern_, status);
680 if (U_FAILURE(status)) 667 if (U_FAILURE(status))
681 return LinkedPtrEventResponseDelta(NULL); 668 return LinkedPtrEventResponseDelta(NULL);
682 669
683 std::string new_url_utf8; 670 std::string new_url_utf8;
684 UTF16ToUTF8(new_url.getBuffer(), new_url.length(), &new_url_utf8); 671 UTF16ToUTF8(new_url.getBuffer(), new_url.length(), &new_url_utf8);
685 672
686 if (new_url_utf8 == request->url().spec()) 673 if (new_url_utf8 == request_data.request->url().spec())
687 return LinkedPtrEventResponseDelta(NULL); 674 return LinkedPtrEventResponseDelta(NULL);
688 675
689 LinkedPtrEventResponseDelta result( 676 LinkedPtrEventResponseDelta result(
690 new extension_web_request_api_helpers::EventResponseDelta( 677 new extension_web_request_api_helpers::EventResponseDelta(
691 extension_id, extension_install_time)); 678 extension_id, extension_install_time));
692 result->new_url = GURL(new_url_utf8); 679 result->new_url = GURL(new_url_utf8);
693 return result; 680 return result;
694 } 681 }
695 682
696 // 683 //
(...skipping 13 matching lines...) Expand all
710 return ON_BEFORE_SEND_HEADERS; 697 return ON_BEFORE_SEND_HEADERS;
711 } 698 }
712 699
713 WebRequestAction::Type 700 WebRequestAction::Type
714 WebRequestSetRequestHeaderAction::GetType() const { 701 WebRequestSetRequestHeaderAction::GetType() const {
715 return WebRequestAction::ACTION_SET_REQUEST_HEADER; 702 return WebRequestAction::ACTION_SET_REQUEST_HEADER;
716 } 703 }
717 704
718 LinkedPtrEventResponseDelta 705 LinkedPtrEventResponseDelta
719 WebRequestSetRequestHeaderAction::CreateDelta( 706 WebRequestSetRequestHeaderAction::CreateDelta(
720 net::URLRequest* request, 707 const WebRequestRule::RequestData& request_data,
721 RequestStages request_stage,
722 const WebRequestRule::OptionalRequestData& optional_request_data,
723 const std::string& extension_id, 708 const std::string& extension_id,
724 const base::Time& extension_install_time) const { 709 const base::Time& extension_install_time) const {
725 CHECK(request_stage & GetStages()); 710 CHECK(request_data.stage & GetStages());
726 LinkedPtrEventResponseDelta result( 711 LinkedPtrEventResponseDelta result(
727 new helpers::EventResponseDelta(extension_id, extension_install_time)); 712 new helpers::EventResponseDelta(extension_id, extension_install_time));
728 result->modified_request_headers.SetHeader(name_, value_); 713 result->modified_request_headers.SetHeader(name_, value_);
729 return result; 714 return result;
730 } 715 }
731 716
732 // 717 //
733 // WebRequestRemoveRequestHeaderAction 718 // WebRequestRemoveRequestHeaderAction
734 // 719 //
735 720
736 WebRequestRemoveRequestHeaderAction::WebRequestRemoveRequestHeaderAction( 721 WebRequestRemoveRequestHeaderAction::WebRequestRemoveRequestHeaderAction(
737 const std::string& name) 722 const std::string& name)
738 : name_(name) { 723 : name_(name) {
739 } 724 }
740 725
741 WebRequestRemoveRequestHeaderAction::~WebRequestRemoveRequestHeaderAction() {} 726 WebRequestRemoveRequestHeaderAction::~WebRequestRemoveRequestHeaderAction() {}
742 727
743 int WebRequestRemoveRequestHeaderAction::GetStages() const { 728 int WebRequestRemoveRequestHeaderAction::GetStages() const {
744 return ON_BEFORE_SEND_HEADERS; 729 return ON_BEFORE_SEND_HEADERS;
745 } 730 }
746 731
747 WebRequestAction::Type 732 WebRequestAction::Type
748 WebRequestRemoveRequestHeaderAction::GetType() const { 733 WebRequestRemoveRequestHeaderAction::GetType() const {
749 return WebRequestAction::ACTION_REMOVE_REQUEST_HEADER; 734 return WebRequestAction::ACTION_REMOVE_REQUEST_HEADER;
750 } 735 }
751 736
752 LinkedPtrEventResponseDelta 737 LinkedPtrEventResponseDelta
753 WebRequestRemoveRequestHeaderAction::CreateDelta( 738 WebRequestRemoveRequestHeaderAction::CreateDelta(
754 net::URLRequest* request, 739 const WebRequestRule::RequestData& request_data,
755 RequestStages request_stage,
756 const WebRequestRule::OptionalRequestData& optional_request_data,
757 const std::string& extension_id, 740 const std::string& extension_id,
758 const base::Time& extension_install_time) const { 741 const base::Time& extension_install_time) const {
759 CHECK(request_stage & GetStages()); 742 CHECK(request_data.stage & GetStages());
760 LinkedPtrEventResponseDelta result( 743 LinkedPtrEventResponseDelta result(
761 new helpers::EventResponseDelta(extension_id, extension_install_time)); 744 new helpers::EventResponseDelta(extension_id, extension_install_time));
762 result->deleted_request_headers.push_back(name_); 745 result->deleted_request_headers.push_back(name_);
763 return result; 746 return result;
764 } 747 }
765 748
766 // 749 //
767 // WebRequestAddResponseHeaderAction 750 // WebRequestAddResponseHeaderAction
768 // 751 //
769 752
(...skipping 10 matching lines...) Expand all
780 return ON_HEADERS_RECEIVED; 763 return ON_HEADERS_RECEIVED;
781 } 764 }
782 765
783 WebRequestAction::Type 766 WebRequestAction::Type
784 WebRequestAddResponseHeaderAction::GetType() const { 767 WebRequestAddResponseHeaderAction::GetType() const {
785 return WebRequestAction::ACTION_ADD_RESPONSE_HEADER; 768 return WebRequestAction::ACTION_ADD_RESPONSE_HEADER;
786 } 769 }
787 770
788 LinkedPtrEventResponseDelta 771 LinkedPtrEventResponseDelta
789 WebRequestAddResponseHeaderAction::CreateDelta( 772 WebRequestAddResponseHeaderAction::CreateDelta(
790 net::URLRequest* request, 773 const WebRequestRule::RequestData& request_data,
791 RequestStages request_stage,
792 const WebRequestRule::OptionalRequestData& optional_request_data,
793 const std::string& extension_id, 774 const std::string& extension_id,
794 const base::Time& extension_install_time) const { 775 const base::Time& extension_install_time) const {
795 CHECK(request_stage & GetStages()); 776 CHECK(request_data.stage & GetStages());
796 net::HttpResponseHeaders* headers = 777 net::HttpResponseHeaders* headers =
797 optional_request_data.original_response_headers; 778 request_data.original_response_headers;
798 if (!headers) 779 if (!headers)
799 return LinkedPtrEventResponseDelta(NULL); 780 return LinkedPtrEventResponseDelta(NULL);
800 781
801 // Don't generate the header if it exists already. 782 // Don't generate the header if it exists already.
802 if (headers->HasHeaderValue(name_, value_)) 783 if (headers->HasHeaderValue(name_, value_))
803 return LinkedPtrEventResponseDelta(NULL); 784 return LinkedPtrEventResponseDelta(NULL);
804 785
805 LinkedPtrEventResponseDelta result( 786 LinkedPtrEventResponseDelta result(
806 new helpers::EventResponseDelta(extension_id, extension_install_time)); 787 new helpers::EventResponseDelta(extension_id, extension_install_time));
807 result->added_response_headers.push_back(make_pair(name_, value_)); 788 result->added_response_headers.push_back(make_pair(name_, value_));
(...skipping 19 matching lines...) Expand all
827 return ON_HEADERS_RECEIVED; 808 return ON_HEADERS_RECEIVED;
828 } 809 }
829 810
830 WebRequestAction::Type 811 WebRequestAction::Type
831 WebRequestRemoveResponseHeaderAction::GetType() const { 812 WebRequestRemoveResponseHeaderAction::GetType() const {
832 return WebRequestAction::ACTION_REMOVE_RESPONSE_HEADER; 813 return WebRequestAction::ACTION_REMOVE_RESPONSE_HEADER;
833 } 814 }
834 815
835 LinkedPtrEventResponseDelta 816 LinkedPtrEventResponseDelta
836 WebRequestRemoveResponseHeaderAction::CreateDelta( 817 WebRequestRemoveResponseHeaderAction::CreateDelta(
837 net::URLRequest* request, 818 const WebRequestRule::RequestData& request_data,
838 RequestStages request_stage,
839 const WebRequestRule::OptionalRequestData& optional_request_data,
840 const std::string& extension_id, 819 const std::string& extension_id,
841 const base::Time& extension_install_time) const { 820 const base::Time& extension_install_time) const {
842 CHECK(request_stage & GetStages()); 821 CHECK(request_data.stage & GetStages());
843 net::HttpResponseHeaders* headers = 822 net::HttpResponseHeaders* headers =
844 optional_request_data.original_response_headers; 823 request_data.original_response_headers;
845 if (!headers) 824 if (!headers)
846 return LinkedPtrEventResponseDelta(NULL); 825 return LinkedPtrEventResponseDelta(NULL);
847 826
848 LinkedPtrEventResponseDelta result( 827 LinkedPtrEventResponseDelta result(
849 new helpers::EventResponseDelta(extension_id, extension_install_time)); 828 new helpers::EventResponseDelta(extension_id, extension_install_time));
850 void* iter = NULL; 829 void* iter = NULL;
851 std::string current_value; 830 std::string current_value;
852 while (headers->EnumerateHeader(&iter, name_, &current_value)) { 831 while (headers->EnumerateHeader(&iter, name_, &current_value)) {
853 if (has_value_ && 832 if (has_value_ &&
854 (current_value.size() != value_.size() || 833 (current_value.size() != value_.size() ||
(...skipping 29 matching lines...) Expand all
884 863
885 int WebRequestIgnoreRulesAction::GetMinimumPriority() const { 864 int WebRequestIgnoreRulesAction::GetMinimumPriority() const {
886 return minimum_priority_; 865 return minimum_priority_;
887 } 866 }
888 867
889 bool WebRequestIgnoreRulesAction::ShouldEnforceHostPermissions() const { 868 bool WebRequestIgnoreRulesAction::ShouldEnforceHostPermissions() const {
890 return false; 869 return false;
891 } 870 }
892 871
893 LinkedPtrEventResponseDelta WebRequestIgnoreRulesAction::CreateDelta( 872 LinkedPtrEventResponseDelta WebRequestIgnoreRulesAction::CreateDelta(
894 net::URLRequest* request, 873 const WebRequestRule::RequestData& request_data,
895 RequestStages request_stage,
896 const WebRequestRule::OptionalRequestData& optional_request_data,
897 const std::string& extension_id, 874 const std::string& extension_id,
898 const base::Time& extension_install_time) const { 875 const base::Time& extension_install_time) const {
899 CHECK(request_stage & GetStages()); 876 CHECK(request_data.stage & GetStages());
900 return LinkedPtrEventResponseDelta(NULL); 877 return LinkedPtrEventResponseDelta(NULL);
901 } 878 }
902 879
903 // 880 //
904 // WebRequestRequestCookieAction 881 // WebRequestRequestCookieAction
905 // 882 //
906 883
907 WebRequestRequestCookieAction::WebRequestRequestCookieAction( 884 WebRequestRequestCookieAction::WebRequestRequestCookieAction(
908 linked_ptr<RequestCookieModification> request_cookie_modification) 885 linked_ptr<RequestCookieModification> request_cookie_modification)
909 : request_cookie_modification_(request_cookie_modification) { 886 : request_cookie_modification_(request_cookie_modification) {
910 CHECK(request_cookie_modification_.get()); 887 CHECK(request_cookie_modification_.get());
911 } 888 }
912 889
913 WebRequestRequestCookieAction::~WebRequestRequestCookieAction() {} 890 WebRequestRequestCookieAction::~WebRequestRequestCookieAction() {}
914 891
915 int WebRequestRequestCookieAction::GetStages() const { 892 int WebRequestRequestCookieAction::GetStages() const {
916 return ON_BEFORE_SEND_HEADERS; 893 return ON_BEFORE_SEND_HEADERS;
917 } 894 }
918 895
919 WebRequestAction::Type WebRequestRequestCookieAction::GetType() const { 896 WebRequestAction::Type WebRequestRequestCookieAction::GetType() const {
920 return WebRequestAction::ACTION_MODIFY_REQUEST_COOKIE; 897 return WebRequestAction::ACTION_MODIFY_REQUEST_COOKIE;
921 } 898 }
922 899
923 LinkedPtrEventResponseDelta WebRequestRequestCookieAction::CreateDelta( 900 LinkedPtrEventResponseDelta WebRequestRequestCookieAction::CreateDelta(
924 net::URLRequest* request, 901 const WebRequestRule::RequestData& request_data,
925 RequestStages request_stage,
926 const WebRequestRule::OptionalRequestData& optional_request_data,
927 const std::string& extension_id, 902 const std::string& extension_id,
928 const base::Time& extension_install_time) const { 903 const base::Time& extension_install_time) const {
929 CHECK(request_stage & GetStages()); 904 CHECK(request_data.stage & GetStages());
930 LinkedPtrEventResponseDelta result( 905 LinkedPtrEventResponseDelta result(
931 new extension_web_request_api_helpers::EventResponseDelta( 906 new extension_web_request_api_helpers::EventResponseDelta(
932 extension_id, extension_install_time)); 907 extension_id, extension_install_time));
933 result->request_cookie_modifications.push_back( 908 result->request_cookie_modifications.push_back(
934 request_cookie_modification_); 909 request_cookie_modification_);
935 return result; 910 return result;
936 } 911 }
937 912
938 // 913 //
939 // WebRequestResponseCookieAction 914 // WebRequestResponseCookieAction
940 // 915 //
941 916
942 WebRequestResponseCookieAction::WebRequestResponseCookieAction( 917 WebRequestResponseCookieAction::WebRequestResponseCookieAction(
943 linked_ptr<ResponseCookieModification> response_cookie_modification) 918 linked_ptr<ResponseCookieModification> response_cookie_modification)
944 : response_cookie_modification_(response_cookie_modification) { 919 : response_cookie_modification_(response_cookie_modification) {
945 CHECK(response_cookie_modification_.get()); 920 CHECK(response_cookie_modification_.get());
946 } 921 }
947 922
948 WebRequestResponseCookieAction::~WebRequestResponseCookieAction() {} 923 WebRequestResponseCookieAction::~WebRequestResponseCookieAction() {}
949 924
950 int WebRequestResponseCookieAction::GetStages() const { 925 int WebRequestResponseCookieAction::GetStages() const {
951 return ON_HEADERS_RECEIVED; 926 return ON_HEADERS_RECEIVED;
952 } 927 }
953 928
954 WebRequestAction::Type WebRequestResponseCookieAction::GetType() const { 929 WebRequestAction::Type WebRequestResponseCookieAction::GetType() const {
955 return WebRequestAction::ACTION_MODIFY_RESPONSE_COOKIE; 930 return WebRequestAction::ACTION_MODIFY_RESPONSE_COOKIE;
956 } 931 }
957 932
958 LinkedPtrEventResponseDelta WebRequestResponseCookieAction::CreateDelta( 933 LinkedPtrEventResponseDelta WebRequestResponseCookieAction::CreateDelta(
959 net::URLRequest* request, 934 const WebRequestRule::RequestData& request_data,
960 RequestStages request_stage,
961 const WebRequestRule::OptionalRequestData& optional_request_data,
962 const std::string& extension_id, 935 const std::string& extension_id,
963 const base::Time& extension_install_time) const { 936 const base::Time& extension_install_time) const {
964 CHECK(request_stage & GetStages()); 937 CHECK(request_data.stage & GetStages());
965 LinkedPtrEventResponseDelta result( 938 LinkedPtrEventResponseDelta result(
966 new extension_web_request_api_helpers::EventResponseDelta( 939 new extension_web_request_api_helpers::EventResponseDelta(
967 extension_id, extension_install_time)); 940 extension_id, extension_install_time));
968 result->response_cookie_modifications.push_back( 941 result->response_cookie_modifications.push_back(
969 response_cookie_modification_); 942 response_cookie_modification_);
970 return result; 943 return result;
971 } 944 }
972 945
973 } // namespace extensions 946 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698