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

Unified Diff: components/subresource_filter/core/browser/subresource_filter_features_test_support.h

Issue 2844063002: Add support for multiple simultaneous subresource_filter::Configurations. (Closed)
Patch Set: Rebase. Created 3 years, 7 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/core/browser/subresource_filter_features_test_support.h
diff --git a/components/subresource_filter/core/browser/subresource_filter_features_test_support.h b/components/subresource_filter/core/browser/subresource_filter_features_test_support.h
index dc06a78e204cce58f55c3d9c3f545490e661f365..974e97bb416f891ea6b249d25e83f6c76eb48f5a 100644
--- a/components/subresource_filter/core/browser/subresource_filter_features_test_support.h
+++ b/components/subresource_filter/core/browser/subresource_filter_features_test_support.h
@@ -5,6 +5,9 @@
#ifndef COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_SUBRESOURCE_FILTER_FEATURES_TEST_SUPPORT_H_
#define COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_SUBRESOURCE_FILTER_FEATURES_TEST_SUPPORT_H_
+#include <memory>
+#include <string>
+
#include "base/feature_list.h"
#include "base/macros.h"
#include "base/test/scoped_feature_list.h"
@@ -21,11 +24,16 @@ namespace testing {
class ScopedSubresourceFilterConfigurator {
public:
explicit ScopedSubresourceFilterConfigurator(
- scoped_refptr<ConfigurationList> configs = nullptr);
+ scoped_refptr<ConfigurationList> config_list = nullptr);
explicit ScopedSubresourceFilterConfigurator(Configuration config);
+ explicit ScopedSubresourceFilterConfigurator(
+ std::vector<Configuration> configs);
~ScopedSubresourceFilterConfigurator();
+ void ResetConfiguration(
+ scoped_refptr<ConfigurationList> config_list = nullptr);
void ResetConfiguration(Configuration config);
+ void ResetConfiguration(std::vector<Configuration> config);
private:
scoped_refptr<ConfigurationList> original_config_;
@@ -36,21 +44,27 @@ class ScopedSubresourceFilterConfigurator {
// Helper class to override the state of the |kSafeBrowsingSubresourceFilter|
// feature.
//
-// Clears the active subresource filtering configuration override, upon
+// Clears the active subresource filtering configuration override upon
// construction, if any, and restores it on destruction. So while the instance
-// is in scope, calls to GetActiveConfigurations() will default to returning the
-// hard-coded configuration corresponding to the forced feature state. Tests
+// is in scope, calls to GetEnabledConfigurations() will default to returning
+// the hard-coded configuration corresponding to the forced feature state. Tests
// that need to toggle both the feature and override the active configuration
// should therefore do so in that order.
class ScopedSubresourceFilterFeatureToggle {
public:
+ ScopedSubresourceFilterFeatureToggle();
explicit ScopedSubresourceFilterFeatureToggle(
- base::FeatureList::OverrideState subresource_filter_state);
+ base::FeatureList::OverrideState feature_state,
+ const std::string& additional_features_to_enable = std::string());
~ScopedSubresourceFilterFeatureToggle();
+ void ResetSubresourceFilterState(
+ base::FeatureList::OverrideState feature_state,
+ const std::string& additional_features_to_enable = std::string());
+
private:
ScopedSubresourceFilterConfigurator scoped_configuration_;
- base::test::ScopedFeatureList scoped_feature_list_;
+ std::unique_ptr<base::test::ScopedFeatureList> scoped_feature_list_;
DISALLOW_COPY_AND_ASSIGN(ScopedSubresourceFilterFeatureToggle);
};

Powered by Google App Engine
This is Rietveld 408576698