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

Unified Diff: components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc

Issue 2841933003: [subresource_filter] Remove some state from the driver factory (Closed)
Patch Set: no more dep branch Created 3 years, 8 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/browser/content_subresource_filter_driver_factory.cc
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
index 90c0cb1883d1e5745533ad1ee9340bd526de8d57..213bd5f50f1482028061f9678a91223bfd569373 100644
--- a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
@@ -4,6 +4,8 @@
#include "components/subresource_filter/content/browser/content_subresource_filter_driver_factory.h"
+#include <utility>
+
#include "base/feature_list.h"
#include "base/metrics/histogram_macros.h"
#include "base/rand_util.h"
@@ -91,10 +93,7 @@ ContentSubresourceFilterDriverFactory::ContentSubresourceFilterDriverFactory(
base::MakeUnique<ContentSubresourceFilterThrottleManager>(
this,
client_->GetRulesetDealer(),
- web_contents)),
- activation_level_(ActivationLevel::DISABLED),
- activation_decision_(ActivationDecision::UNKNOWN),
- measure_performance_(false) {}
+ web_contents)) {}
ContentSubresourceFilterDriverFactory::
~ContentSubresourceFilterDriverFactory() {}
@@ -109,8 +108,7 @@ void ContentSubresourceFilterDriverFactory::
url, GetListForThreatTypeAndMetadata(threat_type, threat_type_metadata));
}
-ContentSubresourceFilterDriverFactory::ActivationDecision
-ContentSubresourceFilterDriverFactory::
+ActivationDecision ContentSubresourceFilterDriverFactory::
ComputeActivationDecisionForMainFrameNavigation(
content::NavigationHandle* navigation_handle) const {
const GURL& url(navigation_handle->GetURL());
@@ -196,31 +194,28 @@ void ContentSubresourceFilterDriverFactory::WillProcessResponse(
client_->WhitelistInCurrentWebContents(url);
}
- activation_decision_ =
+ ActivationDecision activation_decision =
ComputeActivationDecisionForMainFrameNavigation(navigation_handle);
- DCHECK(activation_decision_ != ActivationDecision::UNKNOWN);
- if (activation_decision_ != ActivationDecision::ACTIVATED) {
+ DCHECK(activation_decision != ActivationDecision::UNKNOWN);
+
+ ActivationLevel activation_level = ActivationLevel::DISABLED;
+ if (activation_decision != ActivationDecision::ACTIVATED) {
ResetActivationState();
- return;
+ } else {
+ activation_level = configurations->the_one_and_only().activation_level;
}
-
- activation_level_ = configurations->the_one_and_only().activation_level;
- measure_performance_ =
- activation_level_ != ActivationLevel::DISABLED &&
+ bool measure_performance =
+ activation_level != ActivationLevel::DISABLED &&
ShouldMeasurePerformanceForPageLoad(
configurations->the_one_and_only().performance_measurement_rate);
- ActivationState state = ActivationState(activation_level_);
- state.measure_performance = measure_performance_;
- throttle_manager_->NotifyPageActivationComputed(navigation_handle, state);
+ ActivationState state = ActivationState(activation_level);
+ state.measure_performance = measure_performance;
+ throttle_manager_->NotifyPageActivationComputed(navigation_handle, state,
+ activation_decision);
}
void ContentSubresourceFilterDriverFactory::OnFirstSubresourceLoadDisallowed() {
- const auto configurations = GetActiveConfigurations();
- if (configurations->the_one_and_only().should_suppress_notifications)
- return;
-
- client_->ToggleNotificationVisibility(activation_level_ ==
- ActivationLevel::ENABLED);
+ client_->ToggleNotificationVisibility(true);
}
bool ContentSubresourceFilterDriverFactory::ShouldSuppressActivation(
@@ -231,15 +226,12 @@ bool ContentSubresourceFilterDriverFactory::ShouldSuppressActivation(
void ContentSubresourceFilterDriverFactory::ResetActivationState() {
navigation_chain_.clear();
activation_list_matches_.clear();
- activation_level_ = ActivationLevel::DISABLED;
- measure_performance_ = false;
}
void ContentSubresourceFilterDriverFactory::DidStartNavigation(
content::NavigationHandle* navigation_handle) {
if (navigation_handle->IsInMainFrame() &&
!navigation_handle->IsSameDocument()) {
- activation_decision_ = ActivationDecision::UNKNOWN;
ResetActivationState();
navigation_chain_.push_back(navigation_handle->GetURL());
client_->ToggleNotificationVisibility(false);

Powered by Google App Engine
This is Rietveld 408576698