2025-11-05 17:04:23 -03:00

609 lines
22 KiB
Plaintext

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Contributing to Chrome DevTools Protocol: https://goo.gle/devtools-contribution-guide-cdp
# This domain emulates different environments for the page.
domain Emulation
depends on DOM
depends on Page
depends on Runtime
experimental type SafeAreaInsets extends object
properties
# Overrides safe-area-inset-top.
optional integer top
# Overrides safe-area-max-inset-top.
optional integer topMax
# Overrides safe-area-inset-left.
optional integer left
# Overrides safe-area-max-inset-left.
optional integer leftMax
# Overrides safe-area-inset-bottom.
optional integer bottom
# Overrides safe-area-max-inset-bottom.
optional integer bottomMax
# Overrides safe-area-inset-right.
optional integer right
# Overrides safe-area-max-inset-right.
optional integer rightMax
# Screen orientation.
type ScreenOrientation extends object
properties
# Orientation type.
enum type
portraitPrimary
portraitSecondary
landscapePrimary
landscapeSecondary
# Orientation angle.
integer angle
type DisplayFeature extends object
properties
# Orientation of a display feature in relation to screen
enum orientation
vertical
horizontal
# The offset from the screen origin in either the x (for vertical
# orientation) or y (for horizontal orientation) direction.
integer offset
# A display feature may mask content such that it is not physically
# displayed - this length along with the offset describes this area.
# A display feature that only splits content will have a 0 mask_length.
integer maskLength
type DevicePosture extends object
properties
# Current posture of the device
enum type
continuous
folded
type MediaFeature extends object
properties
string name
string value
# advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to
# allow the next delayed task (if any) to run; pause: The virtual time base may not advance;
# pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending
# resource fetches.
experimental type VirtualTimePolicy extends string
enum
advance
pause
pauseIfNetworkFetchesPending
# Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints
experimental type UserAgentBrandVersion extends object
properties
string brand
string version
# Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints
# Missing optional values will be filled in by the target with what it would normally use.
experimental type UserAgentMetadata extends object
properties
# Brands appearing in Sec-CH-UA.
optional array of UserAgentBrandVersion brands
# Brands appearing in Sec-CH-UA-Full-Version-List.
optional array of UserAgentBrandVersion fullVersionList
deprecated optional string fullVersion
string platform
string platformVersion
string architecture
string model
boolean mobile
optional string bitness
optional boolean wow64
# Used to specify User Agent form-factor values.
# See https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors
optional array of string formFactors
# Used to specify sensor types to emulate.
# See https://w3c.github.io/sensors/#automation for more information.
experimental type SensorType extends string
enum
absolute-orientation
accelerometer
ambient-light
gravity
gyroscope
linear-acceleration
magnetometer
relative-orientation
experimental type SensorMetadata extends object
properties
optional boolean available
optional number minimumFrequency
optional number maximumFrequency
experimental type SensorReadingSingle extends object
properties
number value
experimental type SensorReadingXYZ extends object
properties
number x
number y
number z
experimental type SensorReadingQuaternion extends object
properties
number x
number y
number z
number w
experimental type SensorReading extends object
properties
optional SensorReadingSingle single
optional SensorReadingXYZ xyz
optional SensorReadingQuaternion quaternion
experimental type PressureSource extends string
enum
cpu
experimental type PressureState extends string
enum
nominal
fair
serious
critical
experimental type PressureMetadata extends object
properties
optional boolean available
experimental type WorkAreaInsets extends object
properties
# Work area top inset in pixels. Default is 0;
optional integer top
# Work area left inset in pixels. Default is 0;
optional integer left
# Work area bottom inset in pixels. Default is 0;
optional integer bottom
# Work area right inset in pixels. Default is 0;
optional integer right
experimental type ScreenId extends string
# Screen information similar to the one returned by window.getScreenDetails() method,
# see https://w3c.github.io/window-management/#screendetailed.
experimental type ScreenInfo extends object
properties
# Offset of the left edge of the screen.
integer left
# Offset of the top edge of the screen.
integer top
# Width of the screen.
integer width
# Height of the screen.
integer height
# Offset of the left edge of the available screen area.
integer availLeft
# Offset of the top edge of the available screen area.
integer availTop
# Width of the available screen area.
integer availWidth
# Height of the available screen area.
integer availHeight
# Specifies the screen's device pixel ratio.
number devicePixelRatio
# Specifies the screen's orientation.
ScreenOrientation orientation
# Specifies the screen's color depth in bits.
integer colorDepth
# Indicates whether the device has multiple screens.
boolean isExtended
# Indicates whether the screen is internal to the device or external, attached to the device.
boolean isInternal
# Indicates whether the screen is set as the the operating system primary screen.
boolean isPrimary
# Specifies the descriptive label for the screen.
string label
# Specifies the unique identifier of the screen.
ScreenId id
# Tells whether emulation is supported.
deprecated command canEmulate
returns
# True if emulation is supported.
boolean result
# Clears the overridden device metrics.
command clearDeviceMetricsOverride
# Clears the overridden Geolocation Position and Error.
command clearGeolocationOverride
# Requests that page scale factor is reset to initial values.
experimental command resetPageScaleFactor
# Enables or disables simulating a focused and active page.
experimental command setFocusEmulationEnabled
parameters
# Whether to enable to disable focus emulation.
boolean enabled
# Automatically render all web contents using a dark theme.
experimental command setAutoDarkModeOverride
parameters
# Whether to enable or disable automatic dark mode.
# If not specified, any existing override will be cleared.
optional boolean enabled
# Enables CPU throttling to emulate slow CPUs.
command setCPUThrottlingRate
parameters
# Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).
number rate
# Sets or clears an override of the default background color of the frame. This override is used
# if the content does not specify one.
command setDefaultBackgroundColorOverride
parameters
# RGBA of the default background color. If not specified, any existing override will be
# cleared.
optional DOM.RGBA color
# Overrides the values for env(safe-area-inset-*) and env(safe-area-max-inset-*). Unset values will cause the
# respective variables to be undefined, even if previously overridden.
experimental command setSafeAreaInsetsOverride
parameters
SafeAreaInsets insets
# Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
# window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
# query results).
command setDeviceMetricsOverride
parameters
# Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
integer width
# Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
integer height
# Overriding device scale factor value. 0 disables the override.
number deviceScaleFactor
# Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text
# autosizing and more.
boolean mobile
# Scale to apply to resulting view image.
experimental optional number scale
# Overriding screen width value in pixels (minimum 0, maximum 10000000).
experimental optional integer screenWidth
# Overriding screen height value in pixels (minimum 0, maximum 10000000).
experimental optional integer screenHeight
# Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
experimental optional integer positionX
# Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
experimental optional integer positionY
# Do not set visible view size, rely upon explicit setVisibleSize call.
experimental optional boolean dontSetVisibleSize
# Screen orientation override.
optional ScreenOrientation screenOrientation
# If set, the visible area of the page will be overridden to this viewport. This viewport
# change is not observed by the page, e.g. viewport-relative elements do not change positions.
experimental optional Page.Viewport viewport
# If set, the display feature of a multi-segment screen. If not set, multi-segment support
# is turned-off.
# Deprecated, use Emulation.setDisplayFeaturesOverride.
experimental deprecated optional DisplayFeature displayFeature
# If set, the posture of a foldable device. If not set the posture is set
# to continuous.
# Deprecated, use Emulation.setDevicePostureOverride.
experimental deprecated optional DevicePosture devicePosture
# Start reporting the given posture value to the Device Posture API.
# This override can also be set in setDeviceMetricsOverride().
experimental command setDevicePostureOverride
parameters
DevicePosture posture
# Clears a device posture override set with either setDeviceMetricsOverride()
# or setDevicePostureOverride() and starts using posture information from the
# platform again.
# Does nothing if no override is set.
experimental command clearDevicePostureOverride
# Start using the given display features to pupulate the Viewport Segments API.
# This override can also be set in setDeviceMetricsOverride().
experimental command setDisplayFeaturesOverride
parameters
array of DisplayFeature features
# Clears the display features override set with either setDeviceMetricsOverride()
# or setDisplayFeaturesOverride() and starts using display features from the
# platform again.
# Does nothing if no override is set.
experimental command clearDisplayFeaturesOverride
experimental command setScrollbarsHidden
parameters
# Whether scrollbars should be always hidden.
boolean hidden
experimental command setDocumentCookieDisabled
parameters
# Whether document.coookie API should be disabled.
boolean disabled
experimental command setEmitTouchEventsForMouse
parameters
# Whether touch emulation based on mouse input should be enabled.
boolean enabled
# Touch/gesture events configuration. Default: current platform.
optional enum configuration
mobile
desktop
# Emulates the given media type or media feature for CSS media queries.
command setEmulatedMedia
parameters
# Media type to emulate. Empty string disables the override.
optional string media
# Media features to emulate.
optional array of MediaFeature features
# Emulates the given vision deficiency.
command setEmulatedVisionDeficiency
parameters
# Vision deficiency to emulate. Order: best-effort emulations come first, followed by any
# physiologically accurate emulations for medically recognized color vision deficiencies.
enum type
none
blurredVision
reducedContrast
achromatopsia
deuteranopia
protanopia
tritanopia
# Emulates the given OS text scale.
command setEmulatedOSTextScale
parameters
optional number scale
# Overrides the Geolocation Position or Error. Omitting latitude, longitude or
# accuracy emulates position unavailable.
command setGeolocationOverride
parameters
# Mock latitude
optional number latitude
# Mock longitude
optional number longitude
# Mock accuracy
optional number accuracy
# Mock altitude
optional number altitude
# Mock altitudeAccuracy
optional number altitudeAccuracy
# Mock heading
optional number heading
# Mock speed
optional number speed
experimental command getOverriddenSensorInformation
parameters
SensorType type
returns
number requestedSamplingFrequency
# Overrides a platform sensor of a given type. If |enabled| is true, calls to
# Sensor.start() will use a virtual sensor as backend rather than fetching
# data from a real hardware sensor. Otherwise, existing virtual
# sensor-backend Sensor objects will fire an error event and new calls to
# Sensor.start() will attempt to use a real sensor instead.
experimental command setSensorOverrideEnabled
parameters
boolean enabled
SensorType type
optional SensorMetadata metadata
# Updates the sensor readings reported by a sensor type previously overridden
# by setSensorOverrideEnabled.
experimental command setSensorOverrideReadings
parameters
SensorType type
SensorReading reading
# Overrides a pressure source of a given type, as used by the Compute
# Pressure API, so that updates to PressureObserver.observe() are provided
# via setPressureStateOverride instead of being retrieved from
# platform-provided telemetry data.
experimental command setPressureSourceOverrideEnabled
parameters
boolean enabled
PressureSource source
optional PressureMetadata metadata
# TODO: OBSOLETE: To remove when setPressureDataOverride is merged.
# Provides a given pressure state that will be processed and eventually be
# delivered to PressureObserver users. |source| must have been previously
# overridden by setPressureSourceOverrideEnabled.
experimental command setPressureStateOverride
parameters
PressureSource source
PressureState state
# Provides a given pressure data set that will be processed and eventually be
# delivered to PressureObserver users. |source| must have been previously
# overridden by setPressureSourceOverrideEnabled.
experimental command setPressureDataOverride
parameters
PressureSource source
PressureState state
optional number ownContributionEstimate
# Overrides the Idle state.
command setIdleOverride
parameters
# Mock isUserActive
boolean isUserActive
# Mock isScreenUnlocked
boolean isScreenUnlocked
# Clears Idle state overrides.
command clearIdleOverride
# Overrides value returned by the javascript navigator object.
experimental deprecated command setNavigatorOverrides
parameters
# The platform navigator.platform should return.
string platform
# Sets a specified page scale factor.
experimental command setPageScaleFactor
parameters
# Page scale factor.
number pageScaleFactor
# Switches script execution in the page.
command setScriptExecutionDisabled
parameters
# Whether script execution should be disabled in the page.
boolean value
# Enables touch on platforms which do not support them.
command setTouchEmulationEnabled
parameters
# Whether the touch event emulation should be enabled.
boolean enabled
# Maximum touch points supported. Defaults to one.
optional integer maxTouchPoints
# Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets
# the current virtual time policy. Note this supersedes any previous time budget.
experimental command setVirtualTimePolicy
parameters
VirtualTimePolicy policy
# If set, after this many virtual milliseconds have elapsed virtual time will be paused and a
# virtualTimeBudgetExpired event is sent.
optional number budget
# If set this specifies the maximum number of tasks that can be run before virtual is forced
# forwards to prevent deadlock.
optional integer maxVirtualTimeTaskStarvationCount
# If set, base::Time::Now will be overridden to initially return this value.
optional Network.TimeSinceEpoch initialVirtualTime
returns
# Absolute timestamp at which virtual time was first enabled (up time in milliseconds).
number virtualTimeTicksBase
# Overrides default host system locale with the specified one.
experimental command setLocaleOverride
parameters
# ICU style C locale (e.g. "en_US"). If not specified or empty, disables the override and
# restores default host system locale.
optional string locale
# Overrides default host system timezone with the specified one.
command setTimezoneOverride
parameters
# The timezone identifier. List of supported timezones:
# https://source.chromium.org/chromium/chromium/deps/icu.git/+/faee8bc70570192d82d2978a71e2a615788597d1:source/data/misc/metaZones.txt
# If empty, disables the override and restores default host system timezone.
string timezoneId
# Resizes the frame/viewport of the page. Note that this does not affect the frame's container
# (e.g. browser window). Can be used to produce screenshots of the specified size. Not supported
# on Android.
experimental deprecated command setVisibleSize
parameters
# Frame width (DIP).
integer width
# Frame height (DIP).
integer height
# Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.
experimental event virtualTimeBudgetExpired
# Enum of image types that can be disabled.
experimental type DisabledImageType extends string
enum
avif
webp
experimental command setDisabledImageTypes
parameters
# Image types to disable.
array of DisabledImageType imageTypes
# Override the value of navigator.connection.saveData
experimental command setDataSaverOverride
parameters
# Override value. Omitting the parameter disables the override.
optional boolean dataSaverEnabled
experimental command setHardwareConcurrencyOverride
parameters
# Hardware concurrency to report
integer hardwareConcurrency
# Allows overriding user agent with the given string.
# `userAgentMetadata` must be set for Client Hint headers to be sent.
command setUserAgentOverride
parameters
# User agent to use.
string userAgent
# Browser language to emulate.
optional string acceptLanguage
# The platform navigator.platform should return.
optional string platform
# To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData
experimental optional UserAgentMetadata userAgentMetadata
# Allows overriding the automation flag.
experimental command setAutomationOverride
parameters
# Whether the override should be enabled.
boolean enabled
# Allows overriding the difference between the small and large viewport sizes, which determine the
# value of the `svh` and `lvh` unit, respectively. Only supported for top-level frames.
experimental command setSmallViewportHeightDifferenceOverride
parameters
# This will cause an element of size 100svh to be `difference` pixels smaller than an element
# of size 100lvh.
integer difference
# Returns device's screen configuration.
experimental command getScreenInfos
returns
array of ScreenInfo screenInfos
# Add a new screen to the device. Only supported in headless mode.
experimental command addScreen
parameters
# Offset of the left edge of the screen in pixels.
integer left
# Offset of the top edge of the screen in pixels.
integer top
# The width of the screen in pixels.
integer width
# The height of the screen in pixels.
integer height
# Specifies the screen's work area. Default is entire screen.
optional WorkAreaInsets workAreaInsets
# Specifies the screen's device pixel ratio. Default is 1.
optional number devicePixelRatio
# Specifies the screen's rotation angle. Available values are 0, 90, 180 and 270. Default is 0.
optional integer rotation
# Specifies the screen's color depth in bits. Default is 24.
optional integer colorDepth
# Specifies the descriptive label for the screen. Default is none.
optional string label
# Indicates whether the screen is internal to the device or external, attached to the device. Default is false.
optional boolean isInternal
returns
ScreenInfo screenInfo
# Remove screen from the device. Only supported in headless mode.
experimental command removeScreen
parameters
ScreenId screenId