add feature flag for element collapsing

This commit is contained in:
Anton Lazarev
2021-06-15 13:59:55 -07:00
parent 7c94e99cda
commit e91bfd4d3f
6 changed files with 19 additions and 1 deletions
@@ -14,6 +14,7 @@
#include "base/task/post_task.h"
#include "brave/browser/net/brave_request_handler.h"
#include "brave/components/brave_shields/browser/adblock_stub_response.h"
#include "brave/components/brave_shields/common/features.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
@@ -614,7 +615,9 @@ void BraveProxyingURLLoaderFactory::InProgressRequest::OnRequestError(
// be modified
network::URLLoaderCompletionStatus collapse_status(status);
if (ctx_->blocked_by == brave::kAdBlocked) {
if (base::FeatureList::IsEnabled(
::brave_shields::features::kBraveAdblockCollapseBlockedElements) &&
ctx_->blocked_by == brave::kAdBlocked) {
collapse_status.should_collapse_initiator = true;
}
@@ -25,6 +25,7 @@
#include "net/base/features.h"
using brave_shields::features::kBraveAdblockCnameUncloaking;
using brave_shields::features::kBraveAdblockCollapseBlockedElements;
using brave_shields::features::kBraveAdblockCosmeticFiltering;
using brave_shields::features::kBraveAdblockCosmeticFilteringNative;
using brave_shields::features::kBraveAdblockCspRules;
@@ -135,6 +136,10 @@ using ntp_background_images::features::kBraveNTPSuperReferralWallpaper;
flag_descriptions::kBraveAdblockCnameUncloakingName, \
flag_descriptions::kBraveAdblockCnameUncloakingDescription, kOsAll, \
FEATURE_VALUE_TYPE(kBraveAdblockCnameUncloaking)}, \
{"brave-adblock-collapse-blocked-elements", \
flag_descriptions::kBraveAdblockCollapseBlockedElementsName, \
flag_descriptions::kBraveAdblockCollapseBlockedElementsDescription, \
kOsAll, FEATURE_VALUE_TYPE(kBraveAdblockCollapseBlockedElements)}, \
{"brave-adblock-cosmetic-filtering", \
flag_descriptions::kBraveAdblockCosmeticFilteringName, \
flag_descriptions::kBraveAdblockCosmeticFilteringDescription, kOsAll, \
@@ -25,6 +25,11 @@ const char kBraveAdblockCnameUncloakingName[] = "Enable CNAME uncloaking";
const char kBraveAdblockCnameUncloakingDescription[] =
"Take DNS CNAME records into account when making network request blocking "
"decisions.";
const char kBraveAdblockCollapseBlockedElementsName[] =
"Collapse HTML elements with blocked source attributes";
const char kBraveAdblockCollapseBlockedElementsDescription[] =
"Cause iframe and img elements to be collapsed if the URL of their src "
"attribute is blocked";
const char kBraveAdblockCosmeticFilteringName[] = "Enable cosmetic filtering";
const char kBraveAdblockCosmeticFilteringDescription[] =
"Enable support for cosmetic filtering";
@@ -17,6 +17,8 @@ extern const char kBraveNTPBrandedWallpaperDemoName[];
extern const char kBraveNTPBrandedWallpaperDemoDescription[];
extern const char kBraveAdblockCnameUncloakingName[];
extern const char kBraveAdblockCnameUncloakingDescription[];
extern const char kBraveAdblockCollapseBlockedElementsName[];
extern const char kBraveAdblockCollapseBlockedElementsDescription[];
extern const char kBraveAdblockCosmeticFilteringName[];
extern const char kBraveAdblockCosmeticFilteringNativeName[];
extern const char kBraveAdblockCosmeticFilteringDescription[];
@@ -15,6 +15,8 @@ namespace features {
// substituted for any canonical name found.
const base::Feature kBraveAdblockCnameUncloaking{
"BraveAdblockCnameUncloaking", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kBraveAdblockCollapseBlockedElements{
"BraveAdblockCollapseBlockedElements", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kBraveAdblockCosmeticFiltering{
"BraveAdblockCosmeticFiltering",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -13,6 +13,7 @@ struct Feature;
namespace brave_shields {
namespace features {
extern const base::Feature kBraveAdblockCnameUncloaking;
extern const base::Feature kBraveAdblockCollapseBlockedElements;
extern const base::Feature kBraveAdblockCosmeticFiltering;
extern const base::Feature kBraveAdblockCosmeticFilteringNative;
extern const base::Feature kBraveAdblockCspRules;