Chromium Code Reviews| 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 #ifndef COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_SUBRESOURCE_FILTER_FEATURES_H _ | 5 #ifndef COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_SUBRESOURCE_FILTER_FEATURES_H _ |
| 6 #define COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_SUBRESOURCE_FILTER_FEATURES_H _ | 6 #define COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_SUBRESOURCE_FILTER_FEATURES_H _ |
| 7 | 7 |
| 8 #include "base/feature_list.h" | 8 #include "base/feature_list.h" |
| 9 #include "components/subresource_filter/core/common/activation_level.h" | 9 #include "components/subresource_filter/core/common/activation_level.h" |
| 10 #include "components/subresource_filter/core/common/activation_list.h" | 10 #include "components/subresource_filter/core/common/activation_list.h" |
| 11 #include "components/subresource_filter/core/common/activation_scope.h" | 11 #include "components/subresource_filter/core/common/activation_scope.h" |
| 12 | 12 |
| 13 namespace subresource_filter { | 13 namespace subresource_filter { |
| 14 | 14 |
| 15 // Encapsulates all parameters that define how the subresource filter feature | |
| 16 // should operate. | |
| 17 struct Configuration { | |
| 18 Configuration(); | |
| 19 ~Configuration(); | |
| 20 | |
| 21 // The maximum degree to which subresource filtering should be activated on | |
| 22 // any RenderFrame. This will be ActivationLevel::DISABLED unless the feature | |
| 23 // is enabled and variation parameters prescribe a higher activation level. | |
| 24 ActivationLevel activation_level = ActivationLevel::DISABLED; | |
| 25 | |
| 26 // The activation scope, that is, the subset of page loads where subresource | |
|
Charlie Harrison
2017/04/05 20:43:04
s/scope, that is/ scope. That is/
engedy
2017/04/07 08:40:58
Done.
| |
| 27 // filtering should be activated. This will be ActivationScope::NO_SITES | |
| 28 // unless the feature is enabled and variation parameters prescribe a wider | |
| 29 // activation scope. | |
| 30 ActivationScope activation_scope = ActivationScope::NO_SITES; | |
| 31 | |
| 32 // The activation list to use when the |activation_scope| is ACTIVATION_LIST. | |
| 33 // This will be ActivationList::NONE unless variation parameters prescribe a | |
| 34 // recognized list. | |
| 35 ActivationList activation_list = ActivationList::NONE; | |
| 36 | |
| 37 // A number in the range [0, 1], indicating the fraction of page loads that | |
| 38 // should have extended performance measurements enabled. The rate will | |
| 39 // be 0 unless a greater frequency is specified by variation parameters. | |
| 40 double performance_measurement_rate = 0.0; | |
| 41 | |
| 42 // Whether notifications indicating that a subresource was disallowed should | |
| 43 // be suppressed in the UI. | |
| 44 bool should_suppress_notifications = false; | |
| 45 | |
| 46 // The ruleset flavor to download through the component updater, or the empty | |
| 47 // string if the default ruleset should be used. | |
| 48 std::string ruleset_flavor; | |
| 49 | |
| 50 // Whether to whitelist a site when a page loaded from that site is reloaded. | |
| 51 bool should_whitelist_site_on_reload = false; | |
| 52 }; | |
| 53 | |
| 54 // Retrieves the subresource filtering configuration to use. Expensive to call. | |
| 55 Configuration GetActiveConfiguration(); | |
| 56 | |
| 57 // Feature and variation parameter definitions ------------------------------- | |
| 58 | |
| 15 // The master toggle to enable/disable the Safe Browsing Subresource Filter. | 59 // The master toggle to enable/disable the Safe Browsing Subresource Filter. |
| 16 extern const base::Feature kSafeBrowsingSubresourceFilter; | 60 extern const base::Feature kSafeBrowsingSubresourceFilter; |
| 17 | 61 |
| 18 // Enables the new experimental UI for the Subresource Filter. | 62 // Enables the new experimental UI for the Subresource Filter. |
| 19 extern const base::Feature kSafeBrowsingSubresourceFilterExperimentalUI; | 63 extern const base::Feature kSafeBrowsingSubresourceFilterExperimentalUI; |
| 20 | 64 |
| 21 // Guards creation of the SubresourceFilterSafeBrowsingActivationThrottle | 65 // Guards creation of the SubresourceFilterSafeBrowsingActivationThrottle |
| 22 extern const base::Feature kSubresourceFilterSafeBrowsingActivationThrottle; | 66 extern const base::Feature kSubresourceFilterSafeBrowsingActivationThrottle; |
| 23 | 67 |
| 24 // Name/values of the variation parameter controlling maximum activation level. | 68 // Name/values of the variation parameter controlling maximum activation level. |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 38 extern const char kActivationListSubresourceFilter[]; | 82 extern const char kActivationListSubresourceFilter[]; |
| 39 | 83 |
| 40 extern const char kRulesetFlavorParameterName[]; | 84 extern const char kRulesetFlavorParameterName[]; |
| 41 | 85 |
| 42 extern const char kPerformanceMeasurementRateParameterName[]; | 86 extern const char kPerformanceMeasurementRateParameterName[]; |
| 43 | 87 |
| 44 extern const char kSuppressNotificationsParameterName[]; | 88 extern const char kSuppressNotificationsParameterName[]; |
| 45 | 89 |
| 46 extern const char kWhitelistSiteOnReloadParameterName[]; | 90 extern const char kWhitelistSiteOnReloadParameterName[]; |
| 47 | 91 |
| 48 // Returns the maximum degree to which subresource filtering should be activated | |
| 49 // on any RenderFrame. This will be ActivationLevel::DISABLED unless the feature | |
| 50 // is enabled and variation parameters prescribe a higher activation level. | |
| 51 ActivationLevel GetMaximumActivationLevel(); | |
| 52 | |
| 53 // Returns the current activation scope, that is, the subset of page loads where | |
| 54 // subresource filtering should be activated. The function returns | |
| 55 // ActivationScope::NO_SITES unless the feature is enabled and variation | |
| 56 // parameters prescribe a wider activation scope. | |
| 57 ActivationScope GetCurrentActivationScope(); | |
| 58 | |
| 59 // Returns current activation list, based on the values from variation params in | |
| 60 // the feature |kSafeBrowsingSubresourceFilter|. When the corresponding | |
| 61 // variation param is empty, returns most conservative ActivationList::NONE. | |
| 62 ActivationList GetCurrentActivationList(); | |
| 63 | |
| 64 // Returns a number in the range [0, 1], indicating the fraction of page loads | |
| 65 // that should have extended performance measurements enabled. The rate will be | |
| 66 // 0 unless a greater frequency is specified by variation parameters. | |
| 67 double GetPerformanceMeasurementRate(); | |
| 68 | |
| 69 // Returns whether notifications indicating that a subresource was disallowed | |
| 70 // should be suppressed in the UI. | |
| 71 bool ShouldSuppressNotifications(); | |
| 72 | |
| 73 // Returns the ruleset flavor, or the empty string if the default ruleset should | |
| 74 // be used. | |
| 75 std::string GetRulesetFlavor(); | |
| 76 | |
| 77 // Returns whether the site of reloaded pages should be whitelisted. | |
| 78 bool ShouldWhitelistSiteOnReload(); | |
| 79 | |
| 80 } // namespace subresource_filter | 92 } // namespace subresource_filter |
| 81 | 93 |
| 82 #endif // COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_SUBRESOURCE_FILTER_FEATURE S_H_ | 94 #endif // COMPONENTS_SUBRESOURCE_FILTER_CORE_BROWSER_SUBRESOURCE_FILTER_FEATURE S_H_ |
| OLD | NEW |