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_rules_
registry.h" | 5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_
registry.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
518 " ], \n" | 518 " ], \n" |
519 " \"actions\": [ \n" | 519 " \"actions\": [ \n" |
520 " { \n" | 520 " { \n" |
521 " \"instanceType\": \"declarativeWebRequest.IgnoreRules\", \n" | 521 " \"instanceType\": \"declarativeWebRequest.IgnoreRules\", \n" |
522 " \"hasTag\": \"ignore_tag\" \n" | 522 " \"hasTag\": \"ignore_tag\" \n" |
523 " } \n" | 523 " } \n" |
524 " ], \n" | 524 " ], \n" |
525 " \"priority\": 300 \n" | 525 " \"priority\": 300 \n" |
526 "} "; | 526 "} "; |
527 | 527 |
528 scoped_ptr<Value> value1(base::JSONReader::Read(kRule1)); | 528 scoped_ptr<base::Value> value1(base::JSONReader::Read(kRule1)); |
529 ASSERT_TRUE(value1.get()); | 529 ASSERT_TRUE(value1.get()); |
530 scoped_ptr<Value> value2(base::JSONReader::Read(kRule2)); | 530 scoped_ptr<base::Value> value2(base::JSONReader::Read(kRule2)); |
531 ASSERT_TRUE(value2.get()); | 531 ASSERT_TRUE(value2.get()); |
532 | 532 |
533 std::vector<linked_ptr<RulesRegistry::Rule> > rules; | 533 std::vector<linked_ptr<RulesRegistry::Rule> > rules; |
534 rules.push_back(make_linked_ptr(new RulesRegistry::Rule)); | 534 rules.push_back(make_linked_ptr(new RulesRegistry::Rule)); |
535 rules.push_back(make_linked_ptr(new RulesRegistry::Rule)); | 535 rules.push_back(make_linked_ptr(new RulesRegistry::Rule)); |
536 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value1, rules[0].get())); | 536 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value1, rules[0].get())); |
537 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value2, rules[1].get())); | 537 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value2, rules[1].get())); |
538 | 538 |
539 scoped_refptr<WebRequestRulesRegistry> registry( | 539 scoped_refptr<WebRequestRulesRegistry> registry( |
540 new TestWebRequestRulesRegistry(extension_info_map_)); | 540 new TestWebRequestRulesRegistry(extension_info_map_)); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 " ], \n" | 682 " ], \n" |
683 " \"actions\": [ \n" | 683 " \"actions\": [ \n" |
684 " { \n" | 684 " { \n" |
685 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" | 685 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" |
686 " \"redirectUrl\": \"http://bar.com\" \n" | 686 " \"redirectUrl\": \"http://bar.com\" \n" |
687 " } \n" | 687 " } \n" |
688 " ], \n" | 688 " ], \n" |
689 " \"priority\": 200 \n" | 689 " \"priority\": 200 \n" |
690 "} "; | 690 "} "; |
691 | 691 |
692 scoped_ptr<Value> value(base::JSONReader::Read(kRule)); | 692 scoped_ptr<base::Value> value(base::JSONReader::Read(kRule)); |
693 ASSERT_TRUE(value); | 693 ASSERT_TRUE(value); |
694 | 694 |
695 RulesRegistry::Rule rule; | 695 RulesRegistry::Rule rule; |
696 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value, &rule)); | 696 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value, &rule)); |
697 | 697 |
698 std::string error; | 698 std::string error; |
699 URLMatcher matcher; | 699 URLMatcher matcher; |
700 scoped_ptr<WebRequestConditionSet> conditions = | 700 scoped_ptr<WebRequestConditionSet> conditions = |
701 WebRequestConditionSet::Create( | 701 WebRequestConditionSet::Create( |
702 NULL, matcher.condition_factory(), rule.conditions, &error); | 702 NULL, matcher.condition_factory(), rule.conditions, &error); |
(...skipping 12 matching lines...) Expand all Loading... |
715 EXPECT_THAT(error, HasSubstr("no time in the request life-cycle")); | 715 EXPECT_THAT(error, HasSubstr("no time in the request life-cycle")); |
716 EXPECT_THAT(error, HasSubstr(actions->actions().back()->GetName())); | 716 EXPECT_THAT(error, HasSubstr(actions->actions().back()->GetName())); |
717 } | 717 } |
718 | 718 |
719 TEST(WebRequestRulesRegistrySimpleTest, HostPermissionsChecker) { | 719 TEST(WebRequestRulesRegistrySimpleTest, HostPermissionsChecker) { |
720 const char kAction[] = // This action requires all URLs host permission. | 720 const char kAction[] = // This action requires all URLs host permission. |
721 "{ \n" | 721 "{ \n" |
722 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" | 722 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" |
723 " \"redirectUrl\": \"http://bar.com\" \n" | 723 " \"redirectUrl\": \"http://bar.com\" \n" |
724 "} "; | 724 "} "; |
725 scoped_ptr<Value> action_value(base::JSONReader::Read(kAction)); | 725 scoped_ptr<base::Value> action_value(base::JSONReader::Read(kAction)); |
726 ASSERT_TRUE(action_value); | 726 ASSERT_TRUE(action_value); |
727 | 727 |
728 WebRequestActionSet::AnyVector actions; | 728 WebRequestActionSet::AnyVector actions; |
729 actions.push_back(linked_ptr<base::Value>(action_value.release())); | 729 actions.push_back(linked_ptr<base::Value>(action_value.release())); |
730 ASSERT_TRUE(actions.back().get()); | 730 ASSERT_TRUE(actions.back().get()); |
731 | 731 |
732 std::string error; | 732 std::string error; |
733 bool bad_message = false; | 733 bool bad_message = false; |
734 scoped_ptr<WebRequestActionSet> action_set( | 734 scoped_ptr<WebRequestActionSet> action_set( |
735 WebRequestActionSet::Create(NULL, actions, &error, &bad_message)); | 735 WebRequestActionSet::Create(NULL, actions, &error, &bad_message)); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
771 " ], \n" | 771 " ], \n" |
772 " \"actions\": [ \n" | 772 " \"actions\": [ \n" |
773 " { \n" | 773 " { \n" |
774 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" | 774 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" |
775 " \"redirectUrl\": \"http://bar.com\" \n" | 775 " \"redirectUrl\": \"http://bar.com\" \n" |
776 " } \n" | 776 " } \n" |
777 " ], \n" | 777 " ], \n" |
778 " \"priority\": 200 \n" | 778 " \"priority\": 200 \n" |
779 "} "; | 779 "} "; |
780 | 780 |
781 scoped_ptr<Value> value(base::JSONReader::Read(kRule)); | 781 scoped_ptr<base::Value> value(base::JSONReader::Read(kRule)); |
782 ASSERT_TRUE(value.get()); | 782 ASSERT_TRUE(value.get()); |
783 | 783 |
784 std::vector<linked_ptr<RulesRegistry::Rule> > rules; | 784 std::vector<linked_ptr<RulesRegistry::Rule> > rules; |
785 rules.push_back(make_linked_ptr(new RulesRegistry::Rule)); | 785 rules.push_back(make_linked_ptr(new RulesRegistry::Rule)); |
786 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value, rules.back().get())); | 786 ASSERT_TRUE(RulesRegistry::Rule::Populate(*value, rules.back().get())); |
787 | 787 |
788 scoped_refptr<WebRequestRulesRegistry> registry( | 788 scoped_refptr<WebRequestRulesRegistry> registry( |
789 new TestWebRequestRulesRegistry(extension_info_map_)); | 789 new TestWebRequestRulesRegistry(extension_info_map_)); |
790 | 790 |
791 URLMatcher matcher; | 791 URLMatcher matcher; |
(...skipping 12 matching lines...) Expand all Loading... |
804 | 804 |
805 // This is a correct match. | 805 // This is a correct match. |
806 GURL url2("http://foo.com/index.html"); | 806 GURL url2("http://foo.com/index.html"); |
807 net::TestURLRequest request2(url2, net::DEFAULT_PRIORITY, NULL, &context); | 807 net::TestURLRequest request2(url2, net::DEFAULT_PRIORITY, NULL, &context); |
808 WebRequestData request_data2(&request2, ON_BEFORE_REQUEST); | 808 WebRequestData request_data2(&request2, ON_BEFORE_REQUEST); |
809 deltas = registry->CreateDeltas(NULL, request_data2, false); | 809 deltas = registry->CreateDeltas(NULL, request_data2, false); |
810 EXPECT_EQ(1u, deltas.size()); | 810 EXPECT_EQ(1u, deltas.size()); |
811 } | 811 } |
812 | 812 |
813 } // namespace extensions | 813 } // namespace extensions |
OLD | NEW |