| 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 688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 699 std::string error; | 699 std::string error; |
| 700 URLMatcher matcher; | 700 URLMatcher matcher; |
| 701 scoped_ptr<WebRequestConditionSet> conditions = | 701 scoped_ptr<WebRequestConditionSet> conditions = |
| 702 WebRequestConditionSet::Create( | 702 WebRequestConditionSet::Create( |
| 703 NULL, matcher.condition_factory(), rule.conditions, &error); | 703 NULL, matcher.condition_factory(), rule.conditions, &error); |
| 704 ASSERT_TRUE(error.empty()) << error; | 704 ASSERT_TRUE(error.empty()) << error; |
| 705 ASSERT_TRUE(conditions); | 705 ASSERT_TRUE(conditions); |
| 706 | 706 |
| 707 bool bad_message = false; | 707 bool bad_message = false; |
| 708 scoped_ptr<WebRequestActionSet> actions = | 708 scoped_ptr<WebRequestActionSet> actions = |
| 709 WebRequestActionSet::Create(NULL, rule.actions, &error, &bad_message); | 709 WebRequestActionSet::Create( |
| 710 NULL, NULL, rule.actions, &error, &bad_message); |
| 710 ASSERT_TRUE(error.empty()) << error; | 711 ASSERT_TRUE(error.empty()) << error; |
| 711 ASSERT_FALSE(bad_message); | 712 ASSERT_FALSE(bad_message); |
| 712 ASSERT_TRUE(actions); | 713 ASSERT_TRUE(actions); |
| 713 | 714 |
| 714 EXPECT_FALSE(WebRequestRulesRegistry::StageChecker( | 715 EXPECT_FALSE(WebRequestRulesRegistry::StageChecker( |
| 715 conditions.get(), actions.get(), &error)); | 716 conditions.get(), actions.get(), &error)); |
| 716 EXPECT_THAT(error, HasSubstr("no time in the request life-cycle")); | 717 EXPECT_THAT(error, HasSubstr("no time in the request life-cycle")); |
| 717 EXPECT_THAT(error, HasSubstr(actions->actions().back()->GetName())); | 718 EXPECT_THAT(error, HasSubstr(actions->actions().back()->GetName())); |
| 718 } | 719 } |
| 719 | 720 |
| 720 TEST(WebRequestRulesRegistrySimpleTest, HostPermissionsChecker) { | 721 TEST(WebRequestRulesRegistrySimpleTest, HostPermissionsChecker) { |
| 721 const char kAction[] = // This action requires all URLs host permission. | 722 const char kAction[] = // This action requires all URLs host permission. |
| 722 "{ \n" | 723 "{ \n" |
| 723 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" | 724 " \"instanceType\": \"declarativeWebRequest.RedirectRequest\",\n" |
| 724 " \"redirectUrl\": \"http://bar.com\" \n" | 725 " \"redirectUrl\": \"http://bar.com\" \n" |
| 725 "} "; | 726 "} "; |
| 726 scoped_ptr<base::Value> action_value(base::JSONReader::Read(kAction)); | 727 scoped_ptr<base::Value> action_value(base::JSONReader::Read(kAction)); |
| 727 ASSERT_TRUE(action_value); | 728 ASSERT_TRUE(action_value); |
| 728 | 729 |
| 729 WebRequestActionSet::AnyVector actions; | 730 WebRequestActionSet::AnyVector actions; |
| 730 actions.push_back(linked_ptr<base::Value>(action_value.release())); | 731 actions.push_back(linked_ptr<base::Value>(action_value.release())); |
| 731 ASSERT_TRUE(actions.back().get()); | 732 ASSERT_TRUE(actions.back().get()); |
| 732 | 733 |
| 733 std::string error; | 734 std::string error; |
| 734 bool bad_message = false; | 735 bool bad_message = false; |
| 735 scoped_ptr<WebRequestActionSet> action_set( | 736 scoped_ptr<WebRequestActionSet> action_set( |
| 736 WebRequestActionSet::Create(NULL, actions, &error, &bad_message)); | 737 WebRequestActionSet::Create(NULL, NULL, actions, &error, &bad_message)); |
| 737 ASSERT_TRUE(error.empty()) << error; | 738 ASSERT_TRUE(error.empty()) << error; |
| 738 ASSERT_FALSE(bad_message); | 739 ASSERT_FALSE(bad_message); |
| 739 ASSERT_TRUE(action_set); | 740 ASSERT_TRUE(action_set); |
| 740 | 741 |
| 741 scoped_refptr<Extension> extension_no_url( | 742 scoped_refptr<Extension> extension_no_url( |
| 742 LoadManifest("permissions", "web_request_no_host.json")); | 743 LoadManifest("permissions", "web_request_no_host.json")); |
| 743 scoped_refptr<Extension> extension_some_urls( | 744 scoped_refptr<Extension> extension_some_urls( |
| 744 LoadManifest("permissions", "web_request_com_host_permissions.json")); | 745 LoadManifest("permissions", "web_request_com_host_permissions.json")); |
| 745 scoped_refptr<Extension> extension_all_urls( | 746 scoped_refptr<Extension> extension_all_urls( |
| 746 LoadManifest("permissions", "web_request_all_host_permissions.json")); | 747 LoadManifest("permissions", "web_request_all_host_permissions.json")); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 805 | 806 |
| 806 // This is a correct match. | 807 // This is a correct match. |
| 807 GURL url2("http://foo.com/index.html"); | 808 GURL url2("http://foo.com/index.html"); |
| 808 net::TestURLRequest request2(url2, net::DEFAULT_PRIORITY, NULL, &context); | 809 net::TestURLRequest request2(url2, net::DEFAULT_PRIORITY, NULL, &context); |
| 809 WebRequestData request_data2(&request2, ON_BEFORE_REQUEST); | 810 WebRequestData request_data2(&request2, ON_BEFORE_REQUEST); |
| 810 deltas = registry->CreateDeltas(NULL, request_data2, false); | 811 deltas = registry->CreateDeltas(NULL, request_data2, false); |
| 811 EXPECT_EQ(1u, deltas.size()); | 812 EXPECT_EQ(1u, deltas.size()); |
| 812 } | 813 } |
| 813 | 814 |
| 814 } // namespace extensions | 815 } // namespace extensions |
| OLD | NEW |