Index: components/subresource_filter/content/renderer/web_document_subresource_filter_impl.cc |
diff --git a/components/subresource_filter/content/renderer/web_document_subresource_filter_impl.cc b/components/subresource_filter/content/renderer/web_document_subresource_filter_impl.cc |
index de17ed654bc9312e1cb3367380da8cab033cc6b1..9e2560d35d9b9ede17b87cad2920857064e45425 100644 |
--- a/components/subresource_filter/content/renderer/web_document_subresource_filter_impl.cc |
+++ b/components/subresource_filter/content/renderer/web_document_subresource_filter_impl.cc |
@@ -6,9 +6,11 @@ |
#include <utility> |
+#include "base/memory/ptr_util.h" |
#include "base/memory/ref_counted.h" |
#include "components/subresource_filter/core/common/activation_state.h" |
#include "components/subresource_filter/core/common/memory_mapped_ruleset.h" |
+#include "components/subresource_filter/core/common/url_pattern.h" |
#include "third_party/WebKit/public/platform/WebURL.h" |
#include "third_party/WebKit/public/platform/WebURLRequest.h" |
#include "url/gurl.h" |
@@ -87,6 +89,39 @@ WebLoadPolicy ToWebLoadPolicy(LoadPolicy load_policy) { |
} |
} |
+class LogRuleRecorder : public RuleRecorder { |
+ public: |
+ ~LogRuleRecorder() override {} |
+ void RecordRuleUsage(const flat::UrlRule* rule) override { |
+ if (!rule) |
+ return; |
+ std::string domains; |
+ auto* domains_included = rule->domains_included(); |
+ auto* domains_excluded = rule->domains_excluded(); |
+ if (domains_included || domains_excluded) { |
+ domains += " Domains:"; |
+ if (domains_included) { |
+ domains += " +("; |
+ for (const auto* domain : *domains_included) { |
+ domains += domain->str(); |
+ domains += " "; |
+ } |
+ domains += ")"; |
+ } |
+ if (domains_excluded) { |
+ domains += " -("; |
+ for (const auto* domain : *domains_excluded) { |
+ domains += domain->str(); |
+ domains += " "; |
+ } |
+ domains += ")"; |
+ } |
+ } |
+ UrlPattern pattern(*rule); |
+ LOG(ERROR) << "rule " << pattern << domains; |
+ } |
+}; |
+ |
} // namespace |
WebDocumentSubresourceFilterImpl::~WebDocumentSubresourceFilterImpl() = default; |
@@ -96,7 +131,10 @@ WebDocumentSubresourceFilterImpl::WebDocumentSubresourceFilterImpl( |
ActivationState activation_state, |
scoped_refptr<const MemoryMappedRuleset> ruleset, |
base::OnceClosure first_disallowed_load_callback) |
- : filter_(std::move(document_origin), activation_state, std::move(ruleset)), |
+ : filter_(std::move(document_origin), |
+ activation_state, |
+ std::move(ruleset), |
+ base::MakeUnique<LogRuleRecorder>()), |
first_disallowed_load_callback_( |
std::move(first_disallowed_load_callback)) {} |