chromium/third_party/blink/common/switches.cc

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/public/common/switches.h"

namespace blink {
namespace switches {

// Allows processing of input before a frame has been committed.
// TODO(crbug.com/987626): Used by headless. Look for a way not
// involving a command line switch.
const char kAllowPreCommitInput[] =;

// Used to communicate managed policy for the
// BeforeunloadEventCancelByPreventDefault feature. This feature is typically
// controlled by base::Feature (see blink/common/features.*) but requires an
// enterprise policy override. This is implicitly a tri-state, and can be either
// unset, or set to "1" for force enable, or "0" for force disable.
extern const char kBeforeunloadEventCancelByPreventDefaultPolicy[] =;
extern const char
    kBeforeunloadEventCancelByPreventDefaultPolicy_ForceDisable[] =;
extern const char kBeforeunloadEventCancelByPreventDefaultPolicy_ForceEnable[] =;

// Set blink settings. Format is <name>[=<value],<name>[=<value>],...
// The names are declared in Settings.json5. For boolean type, use "true",
// "false", or omit '=<value>' part to set to true. For enum type, use the int
// value of the enum value. Applied after other command line flags and prefs.
const char kBlinkSettings[] =;

// Sets dark mode settings. Format is [<param>=<value>],[<param>=<value>],...
// The params take either int or float values. If params are not specified,
// the default dark mode settings is used. Valid params are given below.
// "InversionAlgorithm" takes int value of DarkModeInversionAlgorithm enum.
// "ImagePolicy" takes int value of DarkModeImagePolicy enum.
// "ForegroundBrightnessThreshold" takes 0 to 255 int value.
// "BackgroundBrightnessThreshold" takes 0 to 255 int value.
// "ContrastPercent" takes -1.0 to 1.0 float value. Higher the value, more
// the contrast.
const char kDarkModeSettings[] =;

// Overrides data: URLs in SVGUseElement deprecation through enterprise policy.
const char kDataUrlInSvgUseEnabled[] =;

// Sets the tile size used by composited layers.
const char kDefaultTileWidth[] =;
const char kDefaultTileHeight[] =;

// If set, the unload event cannot be disabled by default by Permissions-Policy.
const char kForcePermissionPolicyUnloadDefaultEnabled[] =;

// Disallow image animations to be reset to the beginning to avoid skipping
// many frames. Only effective if compositor image animations are enabled.
const char kDisableImageAnimationResync[] =;

// When using CPU rasterizing disable low resolution tiling. This uses
// less power, particularly during animations, but more white may be seen
// during fast scrolling especially on slower devices.
const char kDisableLowResTiling[] =;

// Disable partial raster in the renderer. Disabling this switch also disables
// the use of persistent gpu memory buffers.
const char kDisablePartialRaster[] =;

// Disable the creation of compositing layers when it would prevent LCD text.
const char kDisablePreferCompositingToLCDText[] =;

// Disables RGBA_4444 textures.
const char kDisableRGBA4444Textures[] =;

// Disable rasterizer that writes directly to GPU memory associated with tiles.
const char kDisableZeroCopy[] =;

// Logs Runtime Call Stats. --single-process also needs to be used along with
// this for the stats to be logged.
const char kDumpRuntimeCallStats[] =;

// Specify that all compositor resources should be backed by GPU memory buffers.
const char kEnableGpuMemoryBufferCompositorResources[] =;

// Enables taking a heap snapshot and dumping it to file when using leak
// detection.
const char kEnableLeakDetectionHeapSnapshot[] =;

// When using CPU rasterizing generate low resolution tiling. Low res
// tiles may be displayed during fast scrolls especially on slower devices.
const char kEnableLowResTiling[] =;

// Enable the creation of compositing layers when it would prevent LCD text.
const char kEnablePreferCompositingToLCDText[] =;

// Enables RGBA_4444 textures.
const char kEnableRGBA4444Textures[] =;

// Enables raster side dark mode for images.
const char kEnableRasterSideDarkModeForImages[] =;

// Enable rasterizer that writes directly to GPU memory associated with tiles.
const char kEnableZeroCopy[] =;

// The number of multisample antialiasing samples for GPU rasterization.
// Requires MSAA support on GPU to have an effect. 0 disables MSAA.
const char kGpuRasterizationMSAASampleCount[] =;

// Used to communicate managed policy for the IntensiveWakeUpThrottling feature.
// This feature is typically controlled by base::Feature (see
// renderer/platform/scheduler/common/features.*) but requires an enterprise
// policy override. This is implicitly a tri-state, and can be either unset, or
// set to "1" for force enable, or "0" for force disable.
extern const char kIntensiveWakeUpThrottlingPolicy[] =;
extern const char kIntensiveWakeUpThrottlingPolicy_ForceDisable[] =;
extern const char kIntensiveWakeUpThrottlingPolicy_ForceEnable[] =;

// Used to communicate managed policy for KeyboardFocusableScrollers feature.
// This feature is typically controlled by a RuntimeEnabledFeature, but requires
// an enterprise policy override.
extern const char kKeyboardFocusableScrollersEnabled[] =;
extern const char kKeyboardFocusableScrollersOptOut[] =;

// A command line to indicate if there ia any legacy tech report urls being set.
// If so, we will send report from blink to browser process.
extern const char kLegacyTechReportPolicyEnabled[] =;

// Sets the width and height above which a composited layer will get tiled.
const char kMaxUntiledLayerHeight[] =;
const char kMaxUntiledLayerWidth[] =;

// Sets the min tile height for GPU raster.
const char kMinHeightForGpuRasterTile[] =;

// Used to communicate managed policy for MutationEvents feature. This feature
// is typically controlled by a RuntimeEnabledFeature, but requires an
// enterprise policy override.
extern const char kMutationEventsEnabled[] =;

// Used to communicate managed policy for CSSCustomStateDeprecatedSynatx. This
// feature is typically controlled by a RuntimeEnabledFeature, but requires an
// enterprise policy override.
extern const char kCSSCustomStateDeprecatedSyntaxEnabled[] =;

// Sets the timeout seconds of the network-quiet timers in IdlenessDetector.
// Used by embedders who want to change the timeout time in order to run web
// contents on various embedded devices and changeable network bandwidths in
// different regions. For example, it's useful when using FirstMeaningfulPaint
// signal to dismiss a splash screen.
const char kNetworkQuietTimeout[] =;

// Visibly render a border around layout shift rects in the web page to help
// debug and study layout shifts.
const char kShowLayoutShiftRegions[] =;

// Visibly render a border around paint rects in the web page to help debug
// and study painting behavior.
const char kShowPaintRects[] =;

// Controls how text selection granularity changes when touch text selection
// handles are dragged. Should be "character" or "direction". If not specified,
// the platform default is used.
const char kTouchTextSelectionStrategy[] =;
const char kTouchTextSelectionStrategy_Character[] =;
const char kTouchTextSelectionStrategy_Direction[] =;

// Override mechanism for preserving the old non-standard behavior of CSS zoom.
const char kDisableStandardizedBrowserZoom[] =;

// Comma-separated list of origins that can use SharedArrayBuffer without
// enabling cross-origin isolation.
const char kSharedArrayBufferAllowedOrigins[] =;

// Allows overriding the conditional focus window's length.
const char kConditionalFocusWindowMs[] =;

// Specifies the flags passed to JS engine.
const char kJavaScriptFlags[] =;

}  // namespace switches
}  // namespace blink