blob: 784865efe2c31355194fd6eb09e2a53be65a2d8e [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/features.h"
#include "base/feature_list.h"
namespace base::features {
// Alphabetical:
// Enforce that writeable file handles passed to untrusted processes are not
// backed by executable files.
BASE_FEATURE(kEnforceNoExecutableFileHandles,
"EnforceNoExecutableFileHandles",
FEATURE_ENABLED_BY_DEFAULT);
// TODO(crbug.com/851128): Roll out this to 100% before replacing existing
// NOTREACHED()s with NOTREACHED_NORETURN() as part of NOTREACHED() migration.
// Note that a prerequisite for rolling out this experiment is that existing
// NOTREACHED reports are at a very low rate. Once this rolls out we should
// monitor that crash rates for the experiment population is within a 1-5% or
// lower than the control group.
BASE_FEATURE(kNotReachedIsFatal,
"NotReachedIsFatal",
FEATURE_DISABLED_BY_DEFAULT);
// Optimizes parsing and loading of data: URLs.
BASE_FEATURE(kOptimizeDataUrls, "OptimizeDataUrls", FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kSupportsUserDataFlatHashMap,
"SupportsUserDataFlatHashMap",
FEATURE_DISABLED_BY_DEFAULT);
#if BUILDFLAG(IS_ANDROID)
// Force to enable LowEndDeviceMode partially on Android mid-range devices.
// Such devices aren't considered low-end, but we'd like experiment with
// a subset of low-end features to see if we get a good memory vs. performance
// tradeoff.
//
// TODO(crbug.com/1434873): |#if| out 32-bit before launching or going to
// high Stable %, because we will enable the feature only for <8GB 64-bit
// devices, where we didn't ship yet. However, we first need a larger
// population to collect data.
BASE_FEATURE(kPartialLowEndModeOnMidRangeDevices,
"PartialLowEndModeOnMidRangeDevices",
base::FEATURE_DISABLED_BY_DEFAULT);
// A parameter to exclude or not exclude LowEndBackgroundCleanup from
// PartialLowModeOnMidRangeDevices. This is used to see how
// LowEndBackGroundCleanup affects total count of memory.gpu.privatefootprints.
const FeatureParam<bool> kPartialLowEndModeExcludeLowEndBackgroundCleanup{
&kPartialLowEndModeOnMidRangeDevices, "exculde-low-end-background-cleanup",
false};
#endif // BUILDFLAG(IS_ANDROID)
} // namespace base::features