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

Unified Diff: components/subresource_filter/content/renderer/document_subresource_filter.cc

Issue 2438743003: Implement GENERICBLOCK option. (Closed)
Patch Set: Address comments from engedy@ Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: components/subresource_filter/content/renderer/document_subresource_filter.cc
diff --git a/components/subresource_filter/content/renderer/document_subresource_filter.cc b/components/subresource_filter/content/renderer/document_subresource_filter.cc
index ad1f90c87bfee55f7aa28505bec3a89cb01417d9..944b3130d433c915fc21f2b0485abd9b6bee268d 100644
--- a/components/subresource_filter/content/renderer/document_subresource_filter.cc
+++ b/components/subresource_filter/content/renderer/document_subresource_filter.cc
@@ -96,15 +96,19 @@ DocumentSubresourceFilter::DocumentSubresourceFilter(
filtering_disabled_for_document_ = true;
return;
}
+ // TODO(pkalinnikov): Match several activation types in a batch.
+ generic_blocking_rules_disabled_ =
+ generic_blocking_rules_disabled_ ||
+ ruleset_matcher_.ShouldDisableFilteringForDocument(
+ document_url, parent_document_origin,
+ proto::ACTIVATION_TYPE_GENERICBLOCK);
+
// TODO(pkalinnikov): Think about avoiding this conversion.
parent_document_origin = url::Origin(document_url);
}
url::Origin document_origin = std::move(parent_document_origin);
document_origin_.reset(new FirstPartyOrigin(std::move(document_origin)));
-
- // TODO(pkalinnikov): Implement GENERICBLOCK activation type as well.
- // TODO(pkalinnikov): Match several activation types in a batch.
}
DocumentSubresourceFilter::~DocumentSubresourceFilter() = default;
@@ -126,8 +130,8 @@ bool DocumentSubresourceFilter::allowLoad(
++num_loads_evaluated_;
DCHECK(document_origin_);
if (ruleset_matcher_.ShouldDisallowResourceLoad(
- GURL(resourceUrl), *document_origin_,
- ToElementType(request_context))) {
+ GURL(resourceUrl), *document_origin_, ToElementType(request_context),
+ generic_blocking_rules_disabled_)) {
++num_loads_matching_rules_;
if (activation_state_ == ActivationState::ENABLED) {
if (!first_disallowed_load_callback_.is_null()) {

Powered by Google App Engine
This is Rietveld 408576698