caption: Control the nesting threshold before which Javascript setTimeout() function
start being clamped
default: null
deprecated: true
desc: "setTimeout(…, 0) is commonly used to break down long Javascript tasks.\n \
\ When the policy is set to Enabled, setTimeouts and setIntervals with an\
\ interval smaller than 4ms are not clamped as aggressively.\n This improves\
\ short horizon performance, but websites abusing the API will still eventually\
\ have their setTimeouts clamped.\n\n When the policy is set to Disabled,\
\ setTimeouts and setIntervals with an interval smaller than 4ms will be clamped.\n\
\n This may change task ordering on a web page, leading to unexpected behavior\
\ on sites that are dependent on a certain ordering in some way.\n It also\
\ may affect sites with a lot of setTimeout() with a timeout of 0ms usage, e.g.\
\ increasing CPU load.\n\n For users where this policy is unset, <ph name=\"\
PRODUCT_NAME\">$1<ex>Google Chrome</ex></ph> will roll out the change gradually\
\ on the stable channel.\n\n This is a temporary policy that is planned\
\ be removed in <ph name=\"PRODUCT_NAME\">$1<ex>Google Chrome</ex></ph> 107. This\
\ deadline may be extended if there is a need for it among enterprises.\n \
\ "
example_value: true
features:
dynamic_refresh: false
per_profile: true
items:
- caption: Javascript setTimeout() will not be clamped until a higher nesting threshold.
value: true
- caption: Javascript setTimeout() will be clamped after a normal nesting threshold.
value: false
- caption: Default behavior for setTimeout() function nested clamp.
value: null
owners:
- file://third_party/blink/renderer/core/frame/OWNERS
- [email protected]
- [email protected]
schema:
type: boolean
supported_on:
- chrome_os:104-106
- chrome.*:104-106
- android:104-106
tags: []
type: main