OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/subresource_filter/content/common/document_subresource_filt
er.h" | 5 #include "components/subresource_filter/content/common/document_subresource_filt
er.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/files/file.h" | 9 #include "base/files/file.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 blink::WebURLRequest::RequestContext request_context = | 85 blink::WebURLRequest::RequestContext request_context = |
86 blink::WebURLRequest::RequestContextImage; | 86 blink::WebURLRequest::RequestContextImage; |
87 TestCallbackReceiver first_disallowed_load_callback_receiver; | 87 TestCallbackReceiver first_disallowed_load_callback_receiver; |
88 | 88 |
89 ActivationState activation_state(kDryRun); | 89 ActivationState activation_state(kDryRun); |
90 activation_state.measure_performance = true; | 90 activation_state.measure_performance = true; |
91 DocumentSubresourceFilter filter( | 91 DocumentSubresourceFilter filter( |
92 url::Origin(), activation_state, ruleset(), | 92 url::Origin(), activation_state, ruleset(), |
93 first_disallowed_load_callback_receiver.closure()); | 93 first_disallowed_load_callback_receiver.closure()); |
94 | 94 |
95 EXPECT_EQ(blink::WebDocumentSubresourceFilter::WouldDisallow, | 95 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::WouldDisallow, |
96 filter.getLoadPolicy(GURL(kTestAlphaURL), request_context)); | 96 filter.getLoadPolicy(GURL(kTestAlphaURL), request_context)); |
97 EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow, | 97 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::Allow, |
98 filter.getLoadPolicy(GURL(kTestAlphaDataURI), request_context)); | 98 filter.getLoadPolicy(GURL(kTestAlphaDataURI), request_context)); |
99 EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow, | 99 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::Allow, |
100 filter.getLoadPolicy(GURL(kTestBetaURL), request_context)); | 100 filter.getLoadPolicy(GURL(kTestBetaURL), request_context)); |
101 EXPECT_EQ(blink::WebDocumentSubresourceFilter::WouldDisallow, | 101 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::WouldDisallow, |
102 filter.GetLoadPolicyForSubdocument(GURL(kTestAlphaURL))); | 102 filter.GetLoadPolicyForSubdocument(GURL(kTestAlphaURL))); |
103 EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow, | 103 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::Allow, |
104 filter.GetLoadPolicyForSubdocument(GURL(kTestBetaURL))); | 104 filter.GetLoadPolicyForSubdocument(GURL(kTestBetaURL))); |
105 | 105 |
106 const auto& statistics = filter.statistics(); | 106 const auto& statistics = filter.statistics(); |
107 EXPECT_EQ(5, statistics.num_loads_total); | 107 EXPECT_EQ(5, statistics.num_loads_total); |
108 EXPECT_EQ(4, statistics.num_loads_evaluated); | 108 EXPECT_EQ(4, statistics.num_loads_evaluated); |
109 EXPECT_EQ(2, statistics.num_loads_matching_rules); | 109 EXPECT_EQ(2, statistics.num_loads_matching_rules); |
110 EXPECT_EQ(0, statistics.num_loads_disallowed); | 110 EXPECT_EQ(0, statistics.num_loads_disallowed); |
111 | 111 |
112 EXPECT_EQ(0u, first_disallowed_load_callback_receiver.callback_count()); | 112 EXPECT_EQ(0u, first_disallowed_load_callback_receiver.callback_count()); |
113 } | 113 } |
114 | 114 |
115 TEST_F(DocumentSubresourceFilterTest, Enabled) { | 115 TEST_F(DocumentSubresourceFilterTest, Enabled) { |
116 auto test_impl = [this](bool measure_performance) { | 116 auto test_impl = [this](bool measure_performance) { |
117 blink::WebURLRequest::RequestContext request_context = | 117 blink::WebURLRequest::RequestContext request_context = |
118 blink::WebURLRequest::RequestContextImage; | 118 blink::WebURLRequest::RequestContextImage; |
119 ActivationState activation_state(kEnabled); | 119 ActivationState activation_state(kEnabled); |
120 activation_state.measure_performance = measure_performance; | 120 activation_state.measure_performance = measure_performance; |
121 DocumentSubresourceFilter filter(url::Origin(), activation_state, ruleset(), | 121 DocumentSubresourceFilter filter(url::Origin(), activation_state, ruleset(), |
122 base::OnceClosure()); | 122 base::OnceClosure()); |
123 | 123 |
124 EXPECT_EQ(blink::WebDocumentSubresourceFilter::Disallow, | 124 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::Disallow, |
125 filter.getLoadPolicy(GURL(kTestAlphaURL), request_context)); | 125 filter.getLoadPolicy(GURL(kTestAlphaURL), request_context)); |
126 EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow, | 126 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::Allow, |
127 filter.getLoadPolicy(GURL(kTestAlphaDataURI), request_context)); | 127 filter.getLoadPolicy(GURL(kTestAlphaDataURI), request_context)); |
128 EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow, | 128 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::Allow, |
129 filter.getLoadPolicy(GURL(kTestBetaURL), request_context)); | 129 filter.getLoadPolicy(GURL(kTestBetaURL), request_context)); |
130 EXPECT_EQ(blink::WebDocumentSubresourceFilter::Disallow, | 130 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::Disallow, |
131 filter.GetLoadPolicyForSubdocument(GURL(kTestAlphaURL))); | 131 filter.GetLoadPolicyForSubdocument(GURL(kTestAlphaURL))); |
132 EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow, | 132 EXPECT_EQ(DocumentSubresourceFilter::LoadPolicy::Allow, |
133 filter.GetLoadPolicyForSubdocument(GURL(kTestBetaURL))); | 133 filter.GetLoadPolicyForSubdocument(GURL(kTestBetaURL))); |
134 | 134 |
135 const auto& statistics = filter.statistics(); | 135 const auto& statistics = filter.statistics(); |
136 EXPECT_EQ(5, statistics.num_loads_total); | 136 EXPECT_EQ(5, statistics.num_loads_total); |
137 EXPECT_EQ(4, statistics.num_loads_evaluated); | 137 EXPECT_EQ(4, statistics.num_loads_evaluated); |
138 EXPECT_EQ(2, statistics.num_loads_matching_rules); | 138 EXPECT_EQ(2, statistics.num_loads_matching_rules); |
139 EXPECT_EQ(2, statistics.num_loads_disallowed); | 139 EXPECT_EQ(2, statistics.num_loads_disallowed); |
140 | 140 |
141 if (!measure_performance) { | 141 if (!measure_performance) { |
142 EXPECT_TRUE(statistics.evaluation_total_cpu_duration.is_zero()); | 142 EXPECT_TRUE(statistics.evaluation_total_cpu_duration.is_zero()); |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 for (const auto& url_string : test_case.ancestor_document_urls) | 329 for (const auto& url_string : test_case.ancestor_document_urls) |
330 ancestor_document_urls.emplace_back(url_string); | 330 ancestor_document_urls.emplace_back(url_string); |
331 | 331 |
332 ActivationState activation_state = ComputeActivationState( | 332 ActivationState activation_state = ComputeActivationState( |
333 test_case.activation_level, false, ancestor_document_urls, ruleset()); | 333 test_case.activation_level, false, ancestor_document_urls, ruleset()); |
334 EXPECT_EQ(test_case.expected_activation_state, activation_state); | 334 EXPECT_EQ(test_case.expected_activation_state, activation_state); |
335 } | 335 } |
336 } | 336 } |
337 | 337 |
338 } // namespace subresource_filter | 338 } // namespace subresource_filter |
OLD | NEW |