| { |
| // Defines properties which are available on the Settings object. |
| // |
| // Please think carefully before adding a new Setting. Some questions to |
| // consider are: |
| // - Should this be a RuntimeEnabledFeature instead? Settings are for things |
| // which we support either values of at runtime. Features are set at renderer |
| // process startup and are never changed. Features also tend to be set to a |
| // value based on the platform or the stability of the code in question, where |
| // as settings both codepaths need to be stable. |
| // - How will you ensure test coverage of all relevant values of your setting? |
| // - Is the default value appropriate for other platforms or ports which may |
| // not be aware of your setting? |
| // - Can your setting result in behavior differences observable to web |
| // developers? |
| // - Should this setting ideally be removed in the future? If so please file |
| // a bug and reference it in the comments for your setting. |
| // |
| // One reason to add a Setting is to manage the risk associated with adding a |
| // new feature. For example, we may choose to ship a new UI behavior or |
| // performance optimization to ChromeOS users first (in order to gather feedback |
| // and metrics on its use from the wild) before attempting to ship it to |
| // Windows. |
| // |
| // FIXME: Add support for global settings. |
| // FIXME: Add support for custom getters/setters. |
| |
| // Valid parameters for data entries below. |
| parameters: { |
| type: { |
| default: "bool" |
| }, |
| initial: {}, |
| invalidate: {}, |
| }, |
| |
| data: [ |
| { |
| name: "defaultTextEncodingName", |
| type: "String", |
| }, |
| |
| // Do not hide chars typed in password fields immediately, but let the last char stay |
| // visible for N seconds, configured by the passwordEchoDurationInSeconds setting |
| // FIXME: Enable automatically if passwordEchoDurationInSeconds is set to a positive value. |
| { |
| name: "passwordEchoEnabled", |
| initial: false, |
| }, |
| |
| // Configure how long the last char should say visible in seconds. |
| { |
| name: "passwordEchoDurationInSeconds", |
| initial: 1, |
| type: "double", |
| }, |
| |
| // Sets the magnification value for validation message timer. If the |
| // magnification value is N, a validation message disappears automatically after |
| // <message length> * N / 1000 seconds. If N is equal to or less than 0, a |
| // validation message doesn't disappears automaticaly. |
| { |
| name: "validationMessageTimerMagnification", |
| initial: 50, |
| type: "int", |
| }, |
| |
| { |
| name: "minimumFontSize", |
| initial: 0, |
| invalidate: "Style", |
| type: "int", |
| }, |
| { |
| name: "minimumLogicalFontSize", |
| initial: 0, |
| invalidate: "Style", |
| type: "int", |
| }, |
| { |
| name: "defaultFontSize", |
| initial: 0, |
| invalidate: "Style", |
| type: "int", |
| }, |
| { |
| name: "defaultFixedFontSize", |
| initial: 0, |
| invalidate: "Style", |
| type: "int", |
| }, |
| |
| { |
| name: "editingBehaviorType", |
| initial: "EditingBehaviorTypeForPlatform()", |
| type: "EditingBehaviorType", |
| }, |
| |
| { |
| name: "localStorageEnabled", |
| initial: false, |
| }, |
| { |
| name: "allowUniversalAccessFromFileURLs", |
| initial: true, |
| invalidate: "UniversalAccess", |
| }, |
| { |
| name: "allowFileAccessFromFileURLs", |
| initial: true, |
| }, |
| { |
| name: "supportsMultipleWindows", |
| initial: true, |
| }, |
| { |
| name: "javaScriptCanAccessClipboard", |
| initial: false, |
| }, |
| { |
| name: "shouldPrintBackgrounds", |
| initial: false, |
| }, |
| { |
| name: "shouldClearDocumentBackground", |
| initial: true, |
| }, |
| { |
| name: "HighlightAds", |
| initial: false, |
| invalidate: "HighlightAds" |
| }, |
| { |
| name: "textAreasAreResizable", |
| initial: false, |
| invalidate: "Style", |
| }, |
| { |
| name: "acceleratedCompositingEnabled", |
| initial: false, |
| invalidate: "AcceleratedCompositing", |
| }, |
| |
| { |
| name: "offlineWebApplicationCacheEnabled", |
| initial: true, |
| }, |
| { |
| name: "allowScriptsToCloseWindows", |
| initial: false, |
| }, |
| |
| // FIXME: This should really be disabled by default as it makes platforms that |
| // don't support the feature download files they can't use by. |
| // Leaving enabled for now to not change existing behavior. |
| { |
| name: "downloadableBinaryFontsEnabled", |
| initial: true, |
| }, |
| |
| { |
| name: "preferCompositingToLCDTextEnabled", |
| initial: false, |
| invalidate: "AcceleratedCompositing", |
| }, |
| |
| { |
| name: "webGL1Enabled", |
| initial: true, |
| }, |
| |
| { |
| name: "webGL2Enabled", |
| initial: true, |
| }, |
| |
| { |
| name: "webGLErrorsToConsoleEnabled", |
| initial: true, |
| }, |
| { |
| name: "antialiased2dCanvasEnabled", |
| initial: true, |
| }, |
| { |
| name: "antialiasedClips2dCanvasEnabled", |
| initial: true, |
| }, |
| { |
| name: "accelerated2dCanvasMSAASampleCount", |
| initial: 0, |
| type: "int", |
| }, |
| |
| { |
| name: "hyperlinkAuditingEnabled", |
| initial: false, |
| }, |
| { |
| name: "allowRunningOfInsecureContent", |
| initial: true, |
| }, |
| |
| { |
| name: "pictureInPictureEnabled", |
| initial: true, |
| }, |
| |
| { |
| name: "webAppScope", |
| type: "String", |
| }, |
| |
| { |
| name: "presentationRequiresUserGesture", |
| initial: true, |
| }, |
| |
| { |
| name: "embeddedMediaExperienceEnabled", |
| initial: false, |
| }, |
| |
| // This is true when the page is being displayed in a 3D context (eg, a VR |
| // headset). |
| { |
| name: "immersiveModeEnabled", |
| initial: false, |
| invalidate: "MediaControls", |
| }, |
| |
| { |
| name: "scrollAnimatorEnabled", |
| initial: true, |
| }, |
| |
| // Used to disable threaded, compositor scrolling for testing purposes. |
| // crbug.com/410974 tracks removal once alternative solutions for selective |
| // main thread scrolling are supported. |
| { |
| name: "threadedScrollingEnabled", |
| initial: true, |
| invalidate: "Style", |
| }, |
| |
| // Used in web tests for gesture tap highlights. Makes the highlights square |
| // (rather than rounded) to make it possible to reftest the results. |
| { |
| name: "mockGestureTapHighlightsEnabled", |
| initial: false, |
| }, |
| |
| { |
| name: "shouldRespectImageOrientation", |
| initial: false, |
| }, |
| |
| // This value indicates the number of simultaneous multi-touch points supported |
| // by the currently connected screen/digitizer that supports the most points. |
| // From Pointer Events spec: |
| // http://www.w3.org/TR/pointerevents///widl-Navigator-maxTouchPoints |
| { |
| name: "maxTouchPoints", |
| initial: 0, |
| type: "int", |
| }, |
| |
| // Whether touch gestures should be "fuzzed" to nearest touch targets. |
| // It's expected that this is enabled everywhere by default, but it may be |
| // disabled for testing purposes as the algorithm is not yet perfect. |
| // crbug.com/304895 tracks removal once we're satisfied with the algorithm. |
| { |
| name: "touchAdjustmentEnabled", |
| initial: true, |
| }, |
| |
| // Determines whether WebViewClient::didTapMultipleTargets will be used for |
| // touch disambiguation. |
| { |
| name: "multiTargetTapNotificationEnabled", |
| initial: true, |
| }, |
| |
| // Determines whether the barrel on stylus input should be used for selecting |
| // text and dragging. |
| { |
| name: "barrelButtonForDragEnabled", |
| initial: false, |
| }, |
| |
| { |
| name: "syncXHRInDocumentsEnabled", |
| initial: true, |
| }, |
| { |
| name: "cookieEnabled", |
| initial: true, |
| }, |
| { |
| name: "navigateOnDragDrop", |
| initial: true, |
| }, |
| { |
| name: "DOMPasteAllowed", |
| initial: false, |
| }, |
| |
| { |
| name: "allowCustomScrollbarInMainFrame", |
| initial: true, |
| }, |
| { |
| name: "webSecurityEnabled", |
| initial: true, |
| }, |
| |
| // Special keyboard navigation mode intented for platforms with no |
| // proper mouse or touch support, such as a TV controller with a remote. |
| { |
| name: "spatialNavigationEnabled", |
| initial: false, |
| invalidate: "SpatialNavigation", |
| }, |
| |
| // This setting adds a means to enable/disable touch initiated drag & drop. If |
| // enabled, the user can initiate drag using long press. |
| // crbug.com/304894 tracks removal once it's been enabled on all platforms. |
| { |
| name: "touchDragDropEnabled", |
| initial: false, |
| }, |
| |
| // Some apps could have a default video poster if it is not set. |
| { |
| name: "defaultVideoPosterURL", |
| type: "String", |
| }, |
| |
| { |
| name: "smartInsertDeleteEnabled", |
| initial: false, |
| }, |
| { |
| name: "selectTrailingWhitespaceEnabled", |
| initial: "kDefaultSelectTrailingWhitespaceEnabled", |
| }, |
| |
| { |
| name: "selectionIncludesAltImageText", |
| initial: false, |
| }, |
| |
| { |
| name: "selectionStrategy", |
| initial: "SelectionStrategy::kCharacter", |
| type: "SelectionStrategy", |
| }, |
| |
| //////////////// Settings used by Android WebView below //////////////// |
| |
| { |
| name: "useLegacyBackgroundSizeShorthandBehavior", |
| initial: false, |
| }, |
| |
| // This quirk is to maintain compatibility with Android apps built on |
| // the Android SDK prior to and including version 18. |
| // Presumably, this can be removed any time after 2015. |
| // See http://crbug.com/282130. |
| { |
| name: "viewportMetaZeroValuesQuirk", |
| initial: false, |
| }, |
| |
| // Another Android SDK <= 18 quirk, removable 2015. |
| // See http://crbug.com/295287 |
| { |
| name: "ignoreMainFrameOverflowHiddenQuirk", |
| initial: false, |
| }, |
| |
| // Yet another Android SDK <= 18 quirk, removable 2015. |
| // See http://crbug.com/305236 |
| { |
| name: "reportScreenSizeInPhysicalPixelsQuirk", |
| initial: false, |
| }, |
| |
| // One more Android SDK <= 18 quirk, removable 2015. |
| // See http://crbug.com/306548 |
| { |
| name: "viewportMetaMergeContentQuirk", |
| initial: false, |
| }, |
| |
| // This quirk is to maintain compatibility with Android apps. |
| // It will be possible to remove it once WebSettings.{get|set}UseWideViewPort |
| // API function will be removed. |
| // See http://crbug.com/288037. |
| { |
| name: "wideViewportQuirkEnabled", |
| initial: false, |
| }, |
| |
| // Used by the android_webview to support a horizontal height auto-sizing |
| // mode. |
| { |
| name: "forceZeroLayoutHeight", |
| initial: false, |
| invalidate: "ViewportDescription", |
| }, |
| |
| { |
| name: "mainFrameClipsContent", |
| initial: true, |
| }, |
| |
| // For android.webkit.WebSettings.setUseWideViewport() |
| // http://developer.android.com/reference/android/webkit/WebSettings.html//setUseWideViewPort(boolean) |
| { |
| name: "useWideViewport", |
| initial: true, |
| invalidate: "ViewportDescription", |
| }, |
| |
| // For android.webkit.WebSettings.setLoadWithOverviewMode() |
| // http://developer.android.com/reference/android/webkit/WebSettings.html//setLoadWithOverviewMode(boolean) |
| { |
| name: "loadWithOverviewMode", |
| initial: true, |
| invalidate: "ViewportDescription", |
| }, |
| |
| // Used by android_webview to support legacy apps that inject script into a top-level initial empty |
| // document and expect it to persist on navigation, even though the origin is unique. Note that this |
| // behavior violates the requirements described by [Initialising a new Document object] in |
| // https://html.spec.whatwg.org/multipage/browsers.html//navigating-across-documents. |
| { |
| name: "shouldReuseGlobalForUnownedMainFrame", |
| initial: false, |
| }, |
| |
| //////////////// End of settings used by Android WebView //////////////// |
| |
| |
| // Touch based text selection and editing on desktop. |
| // crbug.com/304873 tracks removal once it's been enabled on all platforms. |
| { |
| name: "touchEditingEnabled", |
| initial: false, |
| }, |
| |
| // If true, scrollers will use overlay scrollbars. These do not take up any |
| // layout width, are drawn using solid color quads by the compositor, and fade away |
| // after a timeout. |
| { |
| name: "useSolidColorScrollbars", |
| initial: false, |
| }, |
| |
| // The rubber-band overscroll effect is implemented in Blink and is being moved |
| // to the compositor thread. This will be set to true and eventually removed. |
| // crbug.com/133097 |
| { |
| name: "rubberBandingOnCompositorThread", |
| initial: false, |
| }, |
| |
| // The current state of caret browsing mode. |
| { |
| name: "caretBrowsingEnabled", |
| initial: false, |
| }, |
| |
| // Font scale factor for accessibility, applied as part of text autosizing. |
| { |
| name: "accessibilityFontScaleFactor", |
| initial: "1.0", |
| invalidate: "TextAutosizing", |
| type: "double", |
| }, |
| |
| // Only used by web tests and inspector emulation. |
| { |
| name: "mediaTypeOverride", |
| initial: "\"\"", |
| invalidate: "MediaQuery", |
| type: "String", |
| }, |
| { |
| name: "displayModeOverride", |
| initial: "blink::mojom::DisplayMode::kUndefined", |
| invalidate: "MediaQuery", |
| type: "blink::mojom::DisplayMode", |
| }, |
| |
| // loadsImagesAutomatically only suppresses the network load of |
| // the image URL. A cached image will still be rendered if requested. |
| { |
| name: "loadsImagesAutomatically", |
| initial: false, |
| invalidate: "ImageLoading", |
| }, |
| { |
| name: "imagesEnabled", |
| initial: true, |
| invalidate: "ImageLoading", |
| }, |
| { |
| name: "imageAnimationPolicy", |
| initial: "kImageAnimationPolicyAllowed", |
| type: "ImageAnimationPolicy", |
| }, |
| |
| // Html preload scanning is a fast, early scan of HTML documents to find loadable |
| // resources before the parser advances to them. If it is disabled, resources will |
| // be loaded later. |
| { |
| name: "doHtmlPreloadScanning", |
| initial: true, |
| }, |
| |
| { |
| name: "pluginsEnabled", |
| initial: false, |
| invalidate: "Plugins", |
| }, |
| |
| { |
| name: "viewportEnabled", |
| initial: false, |
| invalidate: "ViewportDescription", |
| }, |
| { |
| name: "viewportMetaEnabled", |
| initial: false, |
| invalidate: "ViewportDescription", |
| }, |
| |
| // When true, Blink will use the content width and viewport size to set the |
| // minimum scale factor such that the user can't zoom out into the area |
| // beyond the content. |
| { |
| name: "shrinksViewportContentToFit", |
| initial: false, |
| }, |
| |
| { |
| name: "dnsPrefetchingEnabled", |
| initial: false, |
| invalidate: "DNSPrefetching", |
| }, |
| |
| // Clients that execute script should call ExecutionContext::canExecuteScripts() |
| // instead of this function. ExecutionContext::canExecuteScripts() checks the |
| // HTML sandbox, plugin sandboxing, and other important details. |
| { |
| name: "scriptEnabled", |
| initial: false, |
| }, |
| |
| // Forces Android Overlay Scrollbar for mobile emulator. |
| { |
| name: "forceAndroidOverlayScrollbar", |
| initial: false, |
| invalidate: "ScrollbarLayout", |
| }, |
| |
| // Set 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. |
| { |
| name: "NetworkQuietTimeout", |
| initial: "0.5", |
| type: "double", |
| }, |
| |
| // Forces initialization of main world, even if no scripts will be executed. |
| // Used by inspector to report all contexts. |
| { |
| name: "forceMainWorldInitialization", |
| initial: false, |
| invalidate: "DOMWorlds", |
| }, |
| |
| // Forces TouchEventFeatureDetection conditional feature for all main |
| // worlds in the page. Used by inspector to emulate touch on devices |
| // which don't support it naturally. |
| { |
| name: "forceTouchEventFeatureDetectionForInspector", |
| initial: false, |
| }, |
| |
| // Compensates for poor text legibility on mobile devices. This value is |
| // multiplied by the font scale factor when performing text autosizing of |
| // websites that do not set an explicit viewport description. |
| { |
| name: "deviceScaleAdjustment", |
| initial: "1.0", |
| invalidate: "TextAutosizing", |
| type: "double", |
| }, |
| |
| // This value is set to false if the platform does not support fullscreen. |
| // When set to false all the requests to enter fullscreen will return an error |
| // (fullscreenerror or webkitfullscreenerror) as specified in the standard: |
| // http://fullscreen.spec.whatwg.org///dom-element-requestfullscreen |
| { |
| name: "fullscreenSupported", |
| initial: true, |
| }, |
| |
| // V8 supports different types of caching. Used by V8 bindings. |
| { |
| name: "v8CacheOptions", |
| initial: "kV8CacheOptionsDefault", |
| type: "V8CacheOptions", |
| }, |
| |
| // These values are bit fields for the properties of available pointing devices |
| // and may take on multiple values (e.g. laptop with touchpad and touchscreen |
| // has pointerType coarse *and* fine). |
| { |
| name: "availablePointerTypes", |
| initial: "kPointerTypeNone", |
| invalidate: "MediaQuery", |
| type: "int", |
| }, |
| { |
| name: "availableHoverTypes", |
| initial: "kHoverTypeNone", |
| invalidate: "MediaQuery", |
| type: "int", |
| }, |
| |
| // These values specify properties of the user's primary pointing device only. |
| { |
| name: "primaryPointerType", |
| initial: "kPointerTypeNone", |
| invalidate: "MediaQuery", |
| type: "PointerType", |
| }, |
| { |
| name: "primaryHoverType", |
| initial: "kHoverTypeNone", |
| invalidate: "MediaQuery", |
| type: "HoverType", |
| }, |
| |
| // If true, the value in password fields is exposed to assistive technologies. |
| { |
| name: "accessibilityPasswordValuesEnabled", |
| initial: false, |
| }, |
| |
| // If true, static text nodes expose inline text box children. |
| { |
| name: "inlineTextBoxAccessibilityEnabled", |
| initial: false, |
| }, |
| |
| // If true, context menu will be shown on mouse up instead of mouse down. |
| // Typically enabled on Windows to match platform convention. |
| { |
| name: "showContextMenuOnMouseUp", |
| initial: false, |
| }, |
| |
| // If true, context menu will be shown on any long press event. |
| // Used on Android to prevent a context menu from being shown in certain situations |
| // (i.e. long pressing an empty div) |
| { |
| name: "alwaysShowContextMenuOnTouch", |
| initial: true, |
| }, |
| |
| { |
| name: "disableReadingFromCanvas", |
| initial: false, |
| }, |
| { |
| name: "strictMixedContentChecking", |
| initial: false, |
| }, |
| { |
| name: "strictMixedContentCheckingForPlugin", |
| initial: false, |
| }, |
| { |
| name: "strictPowerfulFeatureRestrictions", |
| initial: false, |
| }, |
| { |
| name: "strictlyBlockBlockableMixedContent", |
| initial: false, |
| }, |
| { |
| name: "allowGeolocationOnInsecureOrigins", |
| initial: false, |
| }, |
| { |
| name: "logDnsPrefetchAndPreconnect", |
| initial: false, |
| }, |
| { |
| name: "logPreload", |
| initial: false, |
| }, |
| { |
| name: "smoothScrollForFindEnabled", |
| initial: false, |
| }, |
| |
| // These values specify the UA intial viewport style. |
| // It is dynamically set by the inspector for mobile emulation and can be |
| // used by content embedders to specify custom style on certain platforms. |
| { |
| name: "viewportStyle", |
| initial: "WebViewportStyle::kDefault", |
| invalidate: "ViewportRule", |
| type: "WebViewportStyle", |
| }, |
| |
| // Automatic track selection is performed based on user preference for track kind specified |
| // by this setting. |
| { |
| name: "textTrackKindUserPreference", |
| initial: "TextTrackKindUserPreference::kDefault", |
| invalidate: "TextTrackKindUserPreference", |
| type: "TextTrackKindUserPreference", |
| }, |
| |
| // User style overrides for captions and subtitles |
| { |
| name: "textTrackBackgroundColor", |
| type: "String", |
| }, |
| { |
| name: "textTrackFontFamily", |
| type: "String", |
| }, |
| { |
| name: "textTrackFontStyle", |
| type: "String", |
| }, |
| { |
| name: "textTrackFontVariant", |
| type: "String", |
| }, |
| { |
| name: "textTrackTextColor", |
| type: "String", |
| }, |
| { |
| name: "textTrackTextShadow", |
| type: "String", |
| }, |
| { |
| name: "textTrackTextSize", |
| type: "String", |
| }, |
| { |
| name: "textTrackWindowColor", |
| type: "String", |
| }, |
| { |
| name: "textTrackWindowPadding", |
| type: "String", |
| }, |
| { |
| name: "textTrackWindowRadius", |
| type: "String", |
| }, |
| |
| // Margin for title-safe placement of cues with overscan, gives top and bottom margin size as |
| // percentage of video element height (for horizontal text) into which cues will not be placed. |
| { |
| name: "textTrackMarginPercentage", |
| initial: 0, |
| type: "double", |
| }, |
| |
| // Do we want to try to save screen real estate in the media player by hiding |
| // the volume slider / mute button? |
| { |
| name: "preferHiddenVolumeControls", |
| initial: false, |
| }, |
| |
| // Whether to disallow network fetches for parser blocking scripts in the main |
| // frame inserted via document.write, for users on 2G or connections that are |
| // effectively 2G. |
| { |
| name: "disallowFetchForDocWrittenScriptsInMainFrameIfEffectively2G", |
| initial: false, |
| }, |
| |
| // Whether to disallow network fetches for parser blocking scripts in the main |
| // frame inserted via document.write, for users on slow connections. |
| { |
| name: "disallowFetchForDocWrittenScriptsInMainFrameOnSlowConnections", |
| initial: true, |
| }, |
| |
| // Whether to disallow network fetches for parser blocking scripts in the main |
| // frame inserted via document.write, regardless of connection type. |
| { |
| name: "disallowFetchForDocWrittenScriptsInMainFrame", |
| initial: false, |
| }, |
| |
| // Whether data saver holdback for Web APIs is enabled. If enabled, data saver appears |
| // as disabled to the web consumers even if it has been actually enabled by the user. |
| { |
| name: "dataSaverHoldbackWebApi", |
| initial: false, |
| }, |
| |
| // Whether to invalidate device-dependent media queries and restore scroll positions |
| // on frame resize assuming device rotation. |
| { |
| name: "mainFrameResizesAreOrientationChanges", |
| initial: false, |
| }, |
| |
| // Ability to override the default 'passive' value in AddEventListenerOptions. This |
| // is useful to demonstrate the power of passive event listeners. This can be removed |
| // when there is greater adoption, interventions to force it on and associated devtools |
| // to enable it have been shipped. |
| { |
| name: "passiveListenerDefault", |
| initial: "PassiveListenerDefault::kFalse", |
| type: "PassiveListenerDefault", |
| }, |
| |
| { |
| name: "hideScrollbars", |
| initial: false, |
| invalidate: "ViewportScrollbar", |
| }, |
| |
| // Spellchecking is enabled by default for elements that do not specify it explicitly |
| // using the "spellcheck" attribute. |
| { |
| name: "spellCheckEnabledByDefault", |
| initial: true, |
| }, |
| |
| // Whether download UI should be hidden for the current page content. |
| { |
| name: "hideDownloadUI", |
| initial: false, |
| }, |
| |
| // Whether the frame is a presentation receiver and should expose |
| // `navigator.presentation.receiver`. |
| { |
| name: "presentationReceiver", |
| initial: false, |
| }, |
| |
| // Whether Blink should show media controls when `controls` attribute is used. |
| { |
| name: "mediaControlsEnabled", |
| initial: true, |
| invalidate: "MediaControls", |
| }, |
| |
| // Whether we should not update selection attributes when mutating selection range. |
| // TODO(changwan): remove this flag when we no longer support Android M. |
| { |
| name: "doNotUpdateSelectionOnMutatingSelectionRange", |
| initial: false, |
| }, |
| |
| // Defines the autoplay policy to use. |
| { |
| name: "autoplayPolicy", |
| type: "AutoplayPolicy::Type", |
| initial: "AutoplayPolicy::Type::kNoUserGestureRequired", |
| }, |
| |
| // |
| // Dark mode |
| // |
| { |
| name: "darkModeEnabled", |
| initial: false, |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModeInversionAlgorithm", |
| initial: "DarkModeInversionAlgorithm::kInvertLightnessLAB", |
| type: "DarkModeInversionAlgorithm", |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModeGrayscale", |
| initial: false, |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModeContrast", |
| initial: 0, |
| type: "double", |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModeClassifierType", |
| initial: "DarkModeClassifierType::kGeneric", |
| type: "DarkModeClassifierType", |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModeImagePolicy", |
| initial: "DarkModeImagePolicy::kFilterNone", |
| type: "DarkModeImagePolicy", |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModePagePolicy", |
| initial: "DarkModePagePolicy::kFilterByBackground", |
| type: "DarkModePagePolicy", |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModeTextBrightnessThreshold", |
| initial: "150", |
| type: "int", |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModeBackgroundBrightnessThreshold", |
| initial: "205", |
| type: "int", |
| invalidate: "Paint", |
| }, |
| { |
| name: "darkModeImageGrayscale", |
| initial: "0.0", |
| type: "float", |
| invalidate: "Paint", |
| }, |
| { |
| name: "navigatorPlatformOverride", |
| type: "String", |
| }, |
| { |
| name: "lowPriorityIframesThreshold", |
| initial: "WebEffectiveConnectionType::kTypeUnknown", |
| type: "WebEffectiveConnectionType", |
| }, |
| { |
| name: "shouldProtectAgainstIpcFlooding", |
| initial: true, |
| }, |
| |
| { |
| name: "lazyLoadEnabled", |
| initial: true, |
| }, |
| // |
| // Lazy frame loading distance-from-viewport thresholds for different effective connection types. |
| // |
| { |
| name: "lazyFrameLoadingDistanceThresholdPxUnknown", |
| initial: 4000, |
| type: "int", |
| }, |
| { |
| name: "lazyFrameLoadingDistanceThresholdPxOffline", |
| initial: 8000, |
| type: "int", |
| }, |
| { |
| name: "lazyFrameLoadingDistanceThresholdPxSlow2G", |
| initial: 8000, |
| type: "int", |
| }, |
| { |
| name: "lazyFrameLoadingDistanceThresholdPx2G", |
| initial: 6000, |
| type: "int", |
| }, |
| { |
| name: "lazyFrameLoadingDistanceThresholdPx3G", |
| initial: 5000, |
| type: "int", |
| }, |
| { |
| name: "lazyFrameLoadingDistanceThresholdPx4G", |
| initial: 4000, |
| type: "int", |
| }, |
| |
| // |
| // Lazy image loading distance-from-viewport thresholds for different effective connection types. |
| // |
| { |
| name: "lazyImageLoadingDistanceThresholdPxUnknown", |
| initial: 3000, |
| type: "int", |
| }, |
| { |
| name: "lazyImageLoadingDistanceThresholdPxOffline", |
| initial: 8000, |
| type: "int", |
| }, |
| { |
| name: "lazyImageLoadingDistanceThresholdPxSlow2G", |
| initial: 8000, |
| type: "int", |
| }, |
| { |
| name: "lazyImageLoadingDistanceThresholdPx2G", |
| initial: 6000, |
| type: "int", |
| }, |
| { |
| name: "lazyImageLoadingDistanceThresholdPx3G", |
| initial: 4000, |
| type: "int", |
| }, |
| { |
| name: "lazyImageLoadingDistanceThresholdPx4G", |
| initial: 3000, |
| type: "int", |
| }, |
| // |
| // Count of the images to fully load for different effective connection types. |
| // |
| { |
| name: "lazyImageFirstKFullyLoadUnknown", |
| initial: 0, |
| type: "int", |
| }, |
| { |
| name: "lazyImageFirstKFullyLoadSlow2G", |
| initial: 12, |
| type: "int", |
| }, |
| { |
| name: "lazyImageFirstKFullyLoad2G", |
| initial: 10, |
| type: "int", |
| }, |
| { |
| name: "lazyImageFirstKFullyLoad3G", |
| initial: 8, |
| type: "int", |
| }, |
| { |
| name: "lazyImageFirstKFullyLoad4G", |
| initial: 6, |
| type: "int", |
| }, |
| |
| // Preferred motion-reduction setting from the OS/application passed to the |
| // renderer for evaluating the prefers-reduced-motion media query. |
| { |
| name: "prefersReducedMotion", |
| initial: false, |
| invalidate: "MediaQuery", |
| }, |
| { |
| name: "DontSendKeyEventsToJavascript", |
| initial: false, |
| }, |
| // Navigation controls from the application passed to the renderer for |
| // evaluating the navigation-controls media query. |
| { |
| name: "navigationControls", |
| initial: "NavigationControls::kNone", |
| invalidate: "MediaQuery", |
| type: "NavigationControls", |
| }, |
| ], |
| } |