# 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.

defaultTextEncodingName type=String
editableLinkBehavior type=EditableLinkBehavior, initial=EditableLinkDefaultBehavior

# 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.
passwordEchoEnabled initial=false

# Configure how long the last char should say visible in seconds.
passwordEchoDurationInSeconds type=double, initial=1

# 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.
validationMessageTimerMagnification type=int, initial=50

# Number of pixels below which 2D canvas is rendered in software
# even if hardware acceleration is enabled.
# Hardware acceleration is useful for large canvases where it can avoid the
# pixel bandwidth between the CPU and GPU. But GPU acceleration comes at
# a price - extra back-buffer and texture copy. Small canvases are also
# widely used for stylized fonts. Anti-aliasing text in hardware at that
# scale is generally slower. So below a certain size it is better to
# draw canvas in software.
minimumAccelerated2dCanvasSize type=int, initial=257*256

# The layout width used with --enable-viewport when no viewport meta tag was defined.
# FIXME: This should get the value from the @viewport UA sheet instead.
layoutFallbackWidth type=int, initial=980

minimumFontSize type=int, initial=0, invalidate=Style
minimumLogicalFontSize type=int, initial=0, invalidate=Style
defaultFontSize type=int, initial=0, invalidate=Style
defaultFixedFontSize type=int, initial=0, invalidate=Style

editingBehaviorType type=EditingBehaviorType, initial=editingBehaviorTypeForPlatform()

caretBrowsingEnabled initial=false
localStorageEnabled initial=false
allowUniversalAccessFromFileURLs initial=true
allowFileAccessFromFileURLs initial=true
javaScriptCanOpenWindowsAutomatically initial=false
supportsMultipleWindows initial=true
javaScriptCanAccessClipboard initial=false
shouldPrintBackgrounds initial=false
shouldClearDocumentBackground initial=true

textAreasAreResizable initial=false, invalidate=Style
acceleratedCompositingEnabled initial=true, invalidate=Style

# Debugging feature used for accelerated compositing layers.
showRepaintCounter initial=false, invalidate=Style

shrinksStandaloneImagesToFit initial=true

# FIXME: Does this do anything now that we don't support page cache?
pageCacheSupportsPlugins initial=false

needsSiteSpecificQuirks initial=false
offlineWebApplicationCacheEnabled initial=false
usesEncodingDetector initial=false
allowScriptsToCloseWindows initial=false
acceleratedFiltersEnabled initial=false
regionBasedColumnsEnabled 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.
downloadableBinaryFontsEnabled initial=true

xssAuditorEnabled initial=false
unsafePluginPastingEnabled initial=true
treatIPAddressAsDomain initial=false

acceleratedCompositingFor3DTransformsEnabled initial=true
acceleratedCompositingForVideoEnabled initial=true
acceleratedCompositingForPluginsEnabled initial=true
acceleratedCompositingForCanvasEnabled initial=true
acceleratedCompositingForAnimationEnabled initial=true
acceleratedCompositingForFiltersEnabled initial=false
acceleratedCompositingForFixedPositionEnabled initial=false
acceleratedCompositingForOverflowScrollEnabled initial=false
acceleratedCompositingForTransitionEnabled initial=false
acceleratedCompositingForFixedRootBackgroundEnabled initial=false

forceCompositingMode initial=false

# Works only in conjunction with forceCompositingMode.
# crbug.com/304900 tracks removal once enabled on all platforms.
acceleratedCompositingForScrollableFramesEnabled initial=false
compositedScrollingForFramesEnabled initial=false

# 3D canvas (WebGL) support.
webGLEnabled initial=false

webGLErrorsToConsoleEnabled initial=true
privilegedWebGLExtensionsEnabled initial=false
accelerated2dCanvasEnabled initial=false
antialiased2dCanvasEnabled initial=true
accelerated2dCanvasMSAASampleCount type=int, initial=0

# WebAudio support.
webAudioEnabled initial=false

fullScreenEnabled initial=false
asynchronousSpellCheckingEnabled initial=false
memoryInfoEnabled initial=false

hyperlinkAuditingEnabled initial=false
allowDisplayOfInsecureContent initial=true
allowRunningOfInsecureContent initial=true
mediaPlaybackRequiresUserGesture initial=false
mediaFullscreenRequiresUserGesture initial=true
visualWordMovementEnabled initial=false
shouldDisplaySubtitles initial=false
shouldDisplayCaptions initial=false
shouldDisplayTextDescriptions initial=false

scrollingCoordinatorEnabled initial=false
scrollAnimatorEnabled initial=true

shouldRespectImageOrientation initial=false

# Limited use by features which behave differently depending on the input
# devices available.  For example, the pointer and hover media queries.
# Note that we need to be careful when basing behavior or UI on this -
# just because a device is present doesn't mean the user cares about it
# or uses it (i.e. Chromebook Pixel users generally don't want to give up
# screen real estate just because they happen to have a touchscreen).
deviceSupportsTouch initial=false
deviceSupportsMouse initial=true

# 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
maxTouchPoints type=int, initial=0

# 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.
touchAdjustmentEnabled initial=true

# A mostly-stable performance optimization. crbug.com/304518 tracks removal.
compositorTouchHitTesting initial=true

fixedPositionCreatesStackingContext initial=false
syncXHRInDocumentsEnabled initial=true
cookieEnabled initial=true
mediaEnabled initial=true
DOMPasteAllowed initial=false

threadedHTMLParser initial=false
useThreadedHTMLParserForDataURLs initial=false

applyPageScaleFactorInCompositor initial=false

allowCustomScrollbarInMainFrame initial=true
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.
spatialNavigationEnabled initial=false

# 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.
touchDragDropEnabled initial=false

unifiedTextCheckerEnabled initial=defaultUnifiedTextCheckerEnabled

# Some apps could have a default video poster if it is not set.
defaultVideoPosterURL type=String

smartInsertDeleteEnabled initial=defaultSmartInsertDeleteEnabled
selectTrailingWhitespaceEnabled initial=defaultSelectTrailingWhitespaceEnabled

selectionIncludesAltImageText initial=false
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.
viewportMetaZeroValuesQuirk initial=false

# Another Android SDK <= 18 quirk, removable 2015.
# See http://crbug.com/295287
ignoreMainFrameOverflowHiddenQuirk initial=false

# Yet another Android SDK <= 18 quirk, removable 2015.
# See http://crbug.com/305236
reportScreenSizeInPhysicalPixelsQuirk initial=false

# One more Android SDK <= 18 quirk, removable 2015.
# See http://crbug.com/306548
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.
wideViewportQuirkEnabled initial=false

# Touch based text selection and editing on desktop.
# crbug.com/304873 tracks removal once it's been enabled on all platforms.
touchEditingEnabled initial=false

experimentalWebSocketEnabled initial=false

# Settings for experimental desktop pinch-zoom support (with semantics
# optimized for large screens).  Pinch-zoom generally is implemented mainly
# outside of blink (in the compositor) and doesn't require any settings.
# These settings are for an experimental modification to how pinch-zoom
# behaves.  TODO(wjmaclean): link to design document.
# crbug.com/304869 tracks removal.
pinchVirtualViewportEnabled initial=false
useSolidColorScrollbars initial=false

mainFrameClipsContent initial=true

# Enable decoration shadow nodes to test password genration feature
# crbug.com/114092. This flag should not be enabled for production.
passwordGenerationDecorationEnabled initial=false


# Presumably used by LayoutTests?  Unclear.
useWideViewport initial=true, invalidate=ViewportDescription
loadWithOverviewMode initial=true, invalidate=ViewportDescription


# Font scale factor for accessibility, applied as part of text autosizing.
accessibilityFontScaleFactor type=double, initial=1.0, invalidate=TextAutosizing


# Only set by Layout Tests.
mediaTypeOverride type=String, initial="screen", invalidate=MediaType

# loadsImagesAutomatically only suppresses the network load of
# the image URL. A cached image will still be rendered if requested.
loadsImagesAutomatically initial=false, invalidate=ImageLoading
imagesEnabled initial=true, invalidate=ImageLoading

javaEnabled initial=false
pluginsEnabled initial=false

viewportEnabled initial=false, invalidate=ViewportDescription
viewportMetaEnabled initial=false

dnsPrefetchingEnabled initial=false, invalidate=DNSPrefetching

touchEventEmulationEnabled initial=false


# FIXME: This is a temporary flag and should be removed once
# accelerated overflow scroll is ready (crbug.com/254111).
compositorDrivenAcceleratedScrollingEnabled initial=false

# FIXME: This is a temporary flag and should be removed
# when squashing is ready. (crbug.com/261605)
layerSquashingEnabled initial=false
