diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 6efc3fe23f50f..0924496bb0126 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -50,7 +50,7 @@ body: id: selenium-version attributes: label: What version of Selenium are you currently using? - description: Important! The latest released version of Selenium is 4.36 and we can't fix old versions. + description: Important! The latest released version of Selenium is 4.37 and we can't fix old versions. placeholder: e.g., 4.17.0 validations: required: true diff --git a/AUTHORS b/AUTHORS index 131093bad398f..9fd5900b4af1c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -601,6 +601,7 @@ Matthew Kempkers <118692289+matt-kemp-m2x@users.noreply.github.com> Matthew Lymer Matthew Rahtz matthewdoerksen +Matthias Kurz MatzFan Max Perrello Max Schmitt @@ -683,6 +684,7 @@ nir-tal-talkspace <71274151+nir-tal-talkspace@users.noreply.github.com> Nirantak Raghav Nitish Noel Gordon +Noel Kim (김민혁) Noritaka Kobayashi NoStory-py Nowell Strite diff --git a/MODULE.bazel b/MODULE.bazel index 7c72dfe6ea360..0228c3235bf6a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -173,9 +173,9 @@ maven.install( name = "maven", artifacts = [ "com.beust:jcommander:1.82", - "org.checkerframework:checker-qual:3.49.2", - "com.github.javaparser:javaparser-core:3.27.0", - "com.github.spotbugs:spotbugs:4.9.6", + "org.checkerframework:checker-qual:3.51.1", + "com.github.javaparser:javaparser-core:3.27.1", + "com.github.spotbugs:spotbugs:4.9.7", "com.github.stephenc.jcip:jcip-annotations:1.0-1", "com.google.code.findbugs:jsr305:3.0.2", "com.google.code.gson:gson:2.13.2", @@ -184,13 +184,13 @@ maven.install( "com.google.auto:auto-common:1.2.2", "com.google.auto.service:auto-service:1.1.1", "com.google.auto.service:auto-service-annotations:1.1.1", - "com.google.googlejavaformat:google-java-format:1.28.0", - "com.google.protobuf:protobuf-java:4.32.1", + "com.google.googlejavaformat:google-java-format:1.30.0", + "com.google.protobuf:protobuf-java:4.33.0", "com.google.protobuf.nano:protobuf-javanano:3.1.0", "com.graphql-java:graphql-java:24.1", "com.uber.nullaway:nullaway:0.12.10", "dev.failsafe:failsafe:3.3.2", - "io.grpc:grpc-context:1.75.0", + "io.grpc:grpc-context:1.76.0", "io.lettuce:lettuce-core:6.8.1.RELEASE", "io.netty:netty-buffer", "io.netty:netty-codec-http", @@ -209,11 +209,11 @@ maven.install( "io.opentelemetry:opentelemetry-sdk-testing", "io.opentelemetry:opentelemetry-sdk-trace", "it.ozimov:embedded-redis:0.7.3", - "net.bytebuddy:byte-buddy:1.17.7", - "org.htmlunit:htmlunit-core-js:4.16.0", + "net.bytebuddy:byte-buddy:1.17.8", + "org.htmlunit:htmlunit-core-js:4.17.0", "org.apache.commons:commons-exec:1.5.0", - "org.apache.logging.log4j:log4j-core:2.25.1", - "org.assertj:assertj-core:3.27.4", + "org.apache.logging.log4j:log4j-core:2.25.2", + "org.assertj:assertj-core:3.27.6", "org.bouncycastle:bcpkix-jdk18on:1.82", "org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5", "org.hsqldb:hsqldb:2.7.4", @@ -226,8 +226,8 @@ maven.install( "org.junit.platform:junit-platform-reporting", "org.junit.platform:junit-platform-commons", "org.junit.platform:junit-platform-engine", - "org.mockito:mockito-core:5.19.0", - "org.redisson:redisson:3.51.0", + "org.mockito:mockito-core:5.20.0", + "org.redisson:redisson:3.52.0", "org.slf4j:slf4j-api:2.0.17", "org.slf4j:slf4j-jdk14:2.0.17", "org.tomlj:tomlj:1.1.1", @@ -236,9 +236,9 @@ maven.install( "uk.org.webcompere:system-stubs-core:2.1.8", ], boms = [ - "io.opentelemetry:opentelemetry-bom:1.54.0", - "io.netty:netty-bom:4.2.6.Final", - "org.junit:junit-bom:5.13.4", + "io.opentelemetry:opentelemetry-bom:1.55.0", + "io.netty:netty-bom:4.2.7.Final", + "org.junit:junit-bom:6.0.0", ], excluded_artifacts = [ "org.hamcrest:hamcrest-all", # Replaced by hamcrest 2 diff --git a/Rakefile b/Rakefile index 73936caa4ff04..194c570c803cf 100644 --- a/Rakefile +++ b/Rakefile @@ -97,7 +97,7 @@ JAVA_RELEASE_TARGETS = %w[ //java/src/org/openqa/selenium/chrome:chrome.publish //java/src/org/openqa/selenium/chromium:chromium.publish //java/src/org/openqa/selenium/devtools/v140:v140.publish - //java/src/org/openqa/selenium/devtools/v138:v138.publish + //java/src/org/openqa/selenium/devtools/v141:v141.publish //java/src/org/openqa/selenium/devtools/v139:v139.publish //java/src/org/openqa/selenium/edge:edge.publish //java/src/org/openqa/selenium/firefox:firefox.publish diff --git a/common/devtools/chromium/v138/BUILD.bazel b/common/devtools/chromium/v141/BUILD.bazel similarity index 100% rename from common/devtools/chromium/v138/BUILD.bazel rename to common/devtools/chromium/v141/BUILD.bazel diff --git a/common/devtools/chromium/v138/browser_protocol.pdl b/common/devtools/chromium/v141/browser_protocol.pdl similarity index 95% rename from common/devtools/chromium/v138/browser_protocol.pdl rename to common/devtools/chromium/v141/browser_protocol.pdl index 4dfad4def0eff..ce366b932dd6a 100644 --- a/common/devtools/chromium/v138/browser_protocol.pdl +++ b/common/devtools/chromium/v141/browser_protocol.pdl @@ -4,10 +4,6 @@ # # Contributing to Chrome DevTools Protocol: https://goo.gle/devtools-contribution-guide-cdp -version - major 1 - minor 3 - experimental domain Accessibility depends on DOM @@ -293,6 +289,12 @@ experimental domain Accessibility # Updated node data. array of AXNode nodes +# 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 + experimental domain Animation depends on Runtime depends on DOM @@ -483,6 +485,12 @@ experimental domain Animation # Animation that was updated. Animation animation +# 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 + # Audits domain allows investigation of page violations and possible improvements. experimental domain Audits depends on Network @@ -825,6 +833,13 @@ experimental domain Audits ValidationFailedSignatureMismatch ValidationFailedIntegrityMismatch + type UnencodedDigestError extends string + enum + MalformedDictionary + UnknownAlgorithm + IncorrectDigestType + IncorrectDigestLength + # Details for issues around "Attribution Reporting API" usage. # Explainer: https://github.com/WICG/attribution-reporting-api type AttributionReportingIssueDetails extends object @@ -863,6 +878,11 @@ experimental domain Audits array of string integrityAssertions AffectedRequest request + type UnencodedDigestIssueDetails extends object + properties + UnencodedDigestError error + AffectedRequest request + type GenericIssueErrorType extends string enum FormLabelForNameError @@ -1031,19 +1051,20 @@ experimental domain Audits # Additional information about the Partitioning Blob URL issue. PartitioningBlobURLInfo partitioningBlobURLInfo - type SelectElementAccessibilityIssueReason extends string + type ElementAccessibilityIssueReason extends string enum DisallowedSelectChild DisallowedOptGroupChild NonPhrasingContentOptionChild InteractiveContentOptionChild InteractiveContentLegendChild + InteractiveContentSummaryDescendant - # This issue warns about errors in the select element content model. - type SelectElementAccessibilityIssueDetails extends object + # This issue warns about errors in the select or summary element content model. + type ElementAccessibilityIssueDetails extends object properties DOM.BackendNodeId nodeId - SelectElementAccessibilityIssueReason selectElementAccessibilityIssueReason + ElementAccessibilityIssueReason elementAccessibilityIssueReason boolean hasDisallowedAttributes type StyleSheetLoadingIssueReason extends string @@ -1083,6 +1104,7 @@ experimental domain Audits enum BlockedFrameNavigation BlockedSubresource + NoisedCanvasReadback # This issue warns about uses of APIs that may be considered misuse to # re-identify users. @@ -1091,6 +1113,8 @@ experimental domain Audits UserReidentificationIssueType type # Applies to BlockedFrameNavigation and BlockedSubresource issue types. optional AffectedRequest request + # Applies to NoisedCanvasReadback issue type. + optional SourceCodeLocation sourceCodeLocation # A unique identifier for the type of issue. Each type may use one of the # optional fields in InspectorIssueDetails to convey more specific @@ -1120,8 +1144,9 @@ experimental domain Audits FederatedAuthUserInfoRequestIssue PropertyRuleIssue SharedDictionaryIssue - SelectElementAccessibilityIssue + ElementAccessibilityIssue SRIMessageSignatureIssue + UnencodedDigestIssue UserReidentificationIssue # This struct holds a list of optional fields with additional information @@ -1151,8 +1176,9 @@ experimental domain Audits optional PropertyRuleIssueDetails propertyRuleIssueDetails optional FederatedAuthUserInfoRequestIssueDetails federatedAuthUserInfoRequestIssueDetails optional SharedDictionaryIssueDetails sharedDictionaryIssueDetails - optional SelectElementAccessibilityIssueDetails selectElementAccessibilityIssueDetails + optional ElementAccessibilityIssueDetails elementAccessibilityIssueDetails optional SRIMessageSignatureIssueDetails sriMessageSignatureIssueDetails + optional UnencodedDigestIssueDetails unencodedDigestIssueDetails optional UserReidentificationIssueDetails userReidentificationIssueDetails # A unique id for a DevTools inspector issue. Allows other entities (e.g. @@ -1215,72 +1241,11 @@ experimental domain Audits parameters InspectorIssue issue -# Defines commands and events for browser extensions. -experimental domain Extensions - # Storage areas. - type StorageArea extends string - enum - session - local - sync - managed - # Installs an unpacked extension from the filesystem similar to - # --load-extension CLI flags. Returns extension ID once the extension - # has been installed. Available if the client is connected using the - # --remote-debugging-pipe flag and the --enable-unsafe-extension-debugging - # flag is set. - command loadUnpacked - parameters - # Absolute file path. - string path - returns - # Extension id. - string id - # Uninstalls an unpacked extension (others not supported) from the profile. - # Available if the client is connected using the --remote-debugging-pipe flag - # and the --enable-unsafe-extension-debugging. - command uninstall - parameters - # Extension id. - string id - # Gets data from extension storage in the given `storageArea`. If `keys` is - # specified, these are used to filter the result. - command getStorageItems - parameters - # ID of extension. - string id - # StorageArea to retrieve data from. - StorageArea storageArea - # Keys to retrieve. - optional array of string keys - returns - object data - # Removes `keys` from extension storage in the given `storageArea`. - command removeStorageItems - parameters - # ID of extension. - string id - # StorageArea to remove data from. - StorageArea storageArea - # Keys to remove. - array of string keys - # Clears extension storage in the given `storageArea`. - command clearStorageItems - parameters - # ID of extension. - string id - # StorageArea to remove data from. - StorageArea storageArea - # Sets `values` in extension storage in the given `storageArea`. The provided `values` - # will be merged with existing values in the storage area. - command setStorageItems - parameters - # ID of extension. - string id - # StorageArea to set data in. - StorageArea storageArea - # Values to set. - object values +# 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 # Defines commands and events for Autofill. experimental domain Autofill @@ -1383,6 +1348,12 @@ experimental domain Autofill # Enables autofill domain notifications. command enable +# 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 + # Defines events for background web platform features. experimental domain BackgroundService # The Background Service that will be associated with the commands/events. @@ -1455,934 +1426,1198 @@ experimental domain BackgroundService parameters BackgroundServiceEvent backgroundServiceEvent -# The Browser domain defines methods and events for browser managing. -domain Browser - experimental type BrowserContextID extends string - experimental type WindowID extends integer +# 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 - # The state of the browser window. - experimental type WindowState extends string +# This domain allows configuring virtual Bluetooth devices to test +# the web-bluetooth API. +experimental domain BluetoothEmulation + # Indicates the various states of Central. + type CentralState extends string enum - normal - minimized - maximized - fullscreen + absent + powered-off + powered-on - # Browser window bounds information - experimental type Bounds extends object - properties - # The offset from the left edge of the screen to the window in pixels. - optional integer left - # The offset from the top edge of the screen to the window in pixels. - optional integer top - # The window width in pixels. - optional integer width - # The window height in pixels. - optional integer height - # The window state. Default to normal. - optional WindowState windowState + # Indicates the various types of GATT event. + type GATTOperationType extends string + enum + connection + discovery - experimental type PermissionType extends string + # Indicates the various types of characteristic write. + type CharacteristicWriteType extends string enum - ar - audioCapture - automaticFullscreen - backgroundFetch - backgroundSync - cameraPanTiltZoom - capturedSurfaceControl - clipboardReadWrite - clipboardSanitizedWrite - displayCapture - durableStorage - geolocation - handTracking - idleDetection - keyboardLock - localFonts - localNetworkAccess - midi - midiSysex - nfc - notifications - paymentHandler - periodicBackgroundSync - pointerLock - protectedMediaIdentifier - sensors - smartCard - speakerSelection - storageAccess - topLevelStorageAccess - videoCapture - vr - wakeLockScreen - wakeLockSystem - webAppInstallation - webPrinting - windowManagement + write-default-deprecated + write-with-response + write-without-response - experimental type PermissionSetting extends string + # Indicates the various types of characteristic operation. + type CharacteristicOperationType extends string enum - granted - denied - prompt + read + write + subscribe-to-notifications + unsubscribe-from-notifications - # Definition of PermissionDescriptor defined in the Permissions API: - # https://w3c.github.io/permissions/#dom-permissiondescriptor. - experimental type PermissionDescriptor extends object + # Indicates the various types of descriptor operation. + type DescriptorOperationType extends string + enum + read + write + + # Stores the manufacturer data + type ManufacturerData extends object properties - # Name of permission. - # See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names. - string name - # For "midi" permission, may also specify sysex control. - optional boolean sysex - # For "push" permission, may specify userVisibleOnly. - # Note that userVisibleOnly = true is the only currently supported type. - optional boolean userVisibleOnly - # For "clipboard" permission, may specify allowWithoutSanitization. - optional boolean allowWithoutSanitization - # For "fullscreen" permission, must specify allowWithoutGesture:true. - optional boolean allowWithoutGesture - # For "camera" permission, may specify panTiltZoom. - optional boolean panTiltZoom + # Company identifier + # https://bitbucket.org/bluetooth-SIG/public/src/main/assigned_numbers/company_identifiers/company_identifiers.yaml + # https://usb.org/developers + integer key + # Manufacturer-specific data + binary data - # Browser command ids used by executeBrowserCommand. - experimental type BrowserCommandId extends string - enum - openTabSearch - closeTabSearch - openGlic + # Stores the byte data of the advertisement packet sent by a Bluetooth device. + type ScanRecord extends object + properties + optional string name + optional array of string uuids + # Stores the external appearance description of the device. + optional integer appearance + # Stores the transmission power of a broadcasting device. + optional integer txPower + # Key is the company identifier and the value is an array of bytes of + # manufacturer specific data. + optional array of ManufacturerData manufacturerData - # Set permission settings for given origin. - experimental command setPermission - parameters - # Descriptor of permission to override. - PermissionDescriptor permission - # Setting of the permission. - PermissionSetting setting - # Origin the permission applies to, all origins if not specified. - optional string origin - # Context to override. When omitted, default browser context is used. - optional BrowserContextID browserContextId + # Stores the advertisement packet information that is sent by a Bluetooth device. + type ScanEntry extends object + properties + string deviceAddress + integer rssi + ScanRecord scanRecord - # Grant specific permissions to the given origin and reject all others. - experimental command grantPermissions - parameters - array of PermissionType permissions - # Origin the permission applies to, all origins if not specified. - optional string origin - # BrowserContext to override permissions. When omitted, default browser context is used. - optional BrowserContextID browserContextId + # Describes the properties of a characteristic. This follows Bluetooth Core + # Specification BT 4.2 Vol 3 Part G 3.3.1. Characteristic Properties. + type CharacteristicProperties extends object + properties + optional boolean broadcast + optional boolean read + optional boolean writeWithoutResponse + optional boolean write + optional boolean notify + optional boolean indicate + optional boolean authenticatedSignedWrites + optional boolean extendedProperties - # Reset all permission management for all origins. - command resetPermissions + # Enable the BluetoothEmulation domain. + command enable parameters - # BrowserContext to reset permissions. When omitted, default browser context is used. - optional BrowserContextID browserContextId + # State of the simulated central. + CentralState state + # If the simulated central supports low-energy. + boolean leSupported - # Set the behavior when downloading a file. - experimental command setDownloadBehavior + # Set the state of the simulated central. + command setSimulatedCentralState parameters - # Whether to allow all or deny all download requests, or use default Chrome behavior if - # available (otherwise deny). |allowAndName| allows download and names files according to - # their download guids. - enum behavior - deny - allow - allowAndName - default - # BrowserContext to set download behavior. When omitted, default browser context is used. - optional BrowserContextID browserContextId - # The default path to save downloaded files to. This is required if behavior is set to 'allow' - # or 'allowAndName'. - optional string downloadPath - # Whether to emit download events (defaults to false). - optional boolean eventsEnabled + # State of the simulated central. + CentralState state - # Cancel a download if in progress - experimental command cancelDownload - parameters - # Global unique identifier of the download. - string guid - # BrowserContext to perform the action in. When omitted, default browser context is used. - optional BrowserContextID browserContextId + # Disable the BluetoothEmulation domain. + command disable - # Fired when page is about to start a download. - experimental event downloadWillBegin + # Simulates a peripheral with |address|, |name| and |knownServiceUuids| + # that has already been connected to the system. + command simulatePreconnectedPeripheral parameters - # Id of the frame that caused the download to begin. - Page.FrameId frameId - # Global unique identifier of the download. - string guid - # URL of the resource being downloaded. - string url - # Suggested file name of the resource (the actual name of the file saved on disk may differ). - string suggestedFilename + string address + string name + array of ManufacturerData manufacturerData + array of string knownServiceUuids - # Fired when download makes progress. Last call has |done| == true. - experimental event downloadProgress + # Simulates an advertisement packet described in |entry| being received by + # the central. + command simulateAdvertisement parameters - # Global unique identifier of the download. - string guid - # Total expected bytes to download. - number totalBytes - # Total bytes received. - number receivedBytes - # Download status. - enum state - inProgress - completed - canceled - # If download is "completed", provides the path of the downloaded file. - # Depending on the platform, it is not guaranteed to be set, nor the file - # is guaranteed to exist. - experimental optional string filePath - - # Close browser gracefully. - command close + ScanEntry entry - # Crashes browser on the main thread. - experimental command crash + # Simulates the response code from the peripheral with |address| for a + # GATT operation of |type|. The |code| value follows the HCI Error Codes from + # Bluetooth Core Specification Vol 2 Part D 1.3 List Of Error Codes. + command simulateGATTOperationResponse + parameters + string address + GATTOperationType type + integer code - # Crashes GPU process. - experimental command crashGpuProcess + # Simulates the response from the characteristic with |characteristicId| for a + # characteristic operation of |type|. The |code| value follows the Error + # Codes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response. + # The |data| is expected to exist when simulating a successful read operation + # response. + command simulateCharacteristicOperationResponse + parameters + string characteristicId + CharacteristicOperationType type + integer code + optional binary data - # Returns version information. - command getVersion - returns - # Protocol version. - string protocolVersion - # Product name. - string product - # Product revision. - string revision - # User-Agent. - string userAgent - # V8 version. - string jsVersion + # Simulates the response from the descriptor with |descriptorId| for a + # descriptor operation of |type|. The |code| value follows the Error + # Codes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response. + # The |data| is expected to exist when simulating a successful read operation + # response. + command simulateDescriptorOperationResponse + parameters + string descriptorId + DescriptorOperationType type + integer code + optional binary data - # Returns the command line switches for the browser process if, and only if - # --enable-automation is on the commandline. - experimental command getBrowserCommandLine + # Adds a service with |serviceUuid| to the peripheral with |address|. + command addService + parameters + string address + string serviceUuid returns - # Commandline parameters - array of string arguments - - # Chrome histogram bucket. - experimental type Bucket extends object - properties - # Minimum value (inclusive). - integer low - # Maximum value (exclusive). - integer high - # Number of samples. - integer count - - # Chrome histogram. - experimental type Histogram extends object - properties - # Name. - string name - # Sum of sample values. - integer sum - # Total number of samples. - integer count - # Buckets. - array of Bucket buckets + # An identifier that uniquely represents this service. + string serviceId - # Get Chrome histograms. - experimental command getHistograms + # Removes the service respresented by |serviceId| from the simulated central. + command removeService parameters - # Requested substring in name. Only histograms which have query as a - # substring in their name are extracted. An empty or absent query returns - # all histograms. - optional string query - # If true, retrieve delta since last delta call. - optional boolean delta - - returns - # Histograms. - array of Histogram histograms + string serviceId - # Get a Chrome histogram by name. - experimental command getHistogram + # Adds a characteristic with |characteristicUuid| and |properties| to the + # service represented by |serviceId|. + command addCharacteristic parameters - # Requested histogram name. - string name - # If true, retrieve delta since last delta call. - optional boolean delta + string serviceId + string characteristicUuid + CharacteristicProperties properties returns - # Histogram. - Histogram histogram + # An identifier that uniquely represents this characteristic. + string characteristicId - # Get position and size of the browser window. - experimental command getWindowBounds + # Removes the characteristic respresented by |characteristicId| from the + # simulated central. + command removeCharacteristic parameters - # Browser window id. - WindowID windowId - returns - # Bounds information of the window. When window state is 'minimized', the restored window - # position and size are returned. - Bounds bounds + string characteristicId - # Get the browser window that contains the devtools target. - experimental command getWindowForTarget + # Adds a descriptor with |descriptorUuid| to the characteristic respresented + # by |characteristicId|. + command addDescriptor parameters - # Devtools agent host id. If called as a part of the session, associated targetId is used. - optional Target.TargetID targetId + string characteristicId + string descriptorUuid returns - # Browser window id. - WindowID windowId - # Bounds information of the window. When window state is 'minimized', the restored window - # position and size are returned. - Bounds bounds + # An identifier that uniquely represents this descriptor. + string descriptorId - # Set position and/or size of the browser window. - experimental command setWindowBounds + # Removes the descriptor with |descriptorId| from the simulated central. + command removeDescriptor parameters - # Browser window id. - WindowID windowId - # New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined - # with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged. - Bounds bounds + string descriptorId - # Set dock tile details, platform-specific. - experimental command setDockTile + # Simulates a GATT disconnection from the peripheral with |address|. + command simulateGATTDisconnection parameters - optional string badgeLabel - # Png encoded image. - optional binary image + string address - # Invoke custom browser commands used by telemetry. - experimental command executeBrowserCommand + # Event for when a GATT operation of |type| to the peripheral with |address| + # happened. + event gattOperationReceived parameters - BrowserCommandId commandId + string address + GATTOperationType type - # Allows a site to use privacy sandbox features that require enrollment - # without the site actually being enrolled. Only supported on page targets. - command addPrivacySandboxEnrollmentOverride + # Event for when a characteristic operation of |type| to the characteristic + # respresented by |characteristicId| happened. |data| and |writeType| is + # expected to exist when |type| is write. + event characteristicOperationReceived parameters - string url - - experimental type PrivacySandboxAPI extends string - enum - BiddingAndAuctionServices - TrustedKeyValue + string characteristicId + CharacteristicOperationType type + optional binary data + optional CharacteristicWriteType writeType - # Configures encryption keys used with a given privacy sandbox API to talk - # to a trusted coordinator. Since this is intended for test automation only, - # coordinatorOrigin must be a .test domain. No existing coordinator - # configuration for the origin may exist. - command addPrivacySandboxCoordinatorKeyConfig + # Event for when a descriptor operation of |type| to the descriptor + # respresented by |descriptorId| happened. |data| is expected to exist when + # |type| is write. + event descriptorOperationReceived parameters - PrivacySandboxAPI api - string coordinatorOrigin - string keyConfig - # BrowserContext to perform the action in. When omitted, default browser - # context is used. - optional BrowserContextID browserContextId - + string descriptorId + DescriptorOperationType type + optional binary data -# This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles) -# have an associated `id` used in subsequent operations on the related object. Each object type has -# a specific `id` structure, and those are not interchangeable between objects of different kinds. -# CSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client -# can also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and -# subsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods. -experimental domain CSS - depends on DOM - depends on Page +# 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 - type StyleSheetId extends string +# The Browser domain defines methods and events for browser managing. +domain Browser + experimental type BrowserContextID extends string + experimental type WindowID extends integer - # Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent - # stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via - # inspector" rules), "regular" for regular stylesheets. - type StyleSheetOrigin extends string + # The state of the browser window. + experimental type WindowState extends string enum - injected - user-agent - inspector - regular - - # CSS rule collection for a single pseudo style. - type PseudoElementMatches extends object - properties - # Pseudo element type. - DOM.PseudoType pseudoType - # Pseudo element custom ident. - optional string pseudoIdentifier - # Matches of CSS rules applicable to the pseudo style. - array of RuleMatch matches + normal + minimized + maximized + fullscreen - # CSS style coming from animations with the name of the animation. - type CSSAnimationStyle extends object + # Browser window bounds information + experimental type Bounds extends object properties - # The name of the animation. - optional string name - # The style coming from the animation. - CSSStyle style + # The offset from the left edge of the screen to the window in pixels. + optional integer left + # The offset from the top edge of the screen to the window in pixels. + optional integer top + # The window width in pixels. + optional integer width + # The window height in pixels. + optional integer height + # The window state. Default to normal. + optional WindowState windowState - # Inherited CSS rule collection from ancestor node. - type InheritedStyleEntry extends object - properties - # The ancestor node's inline style, if any, in the style inheritance chain. - optional CSSStyle inlineStyle - # Matches of CSS rules matching the ancestor node in the style inheritance chain. - array of RuleMatch matchedCSSRules + experimental type PermissionType extends string + enum + ar + audioCapture + automaticFullscreen + backgroundFetch + backgroundSync + cameraPanTiltZoom + capturedSurfaceControl + clipboardReadWrite + clipboardSanitizedWrite + displayCapture + durableStorage + geolocation + handTracking + idleDetection + keyboardLock + localFonts + localNetworkAccess + midi + midiSysex + nfc + notifications + paymentHandler + periodicBackgroundSync + pointerLock + protectedMediaIdentifier + sensors + smartCard + speakerSelection + storageAccess + topLevelStorageAccess + videoCapture + vr + wakeLockScreen + wakeLockSystem + webAppInstallation + webPrinting + windowManagement - # Inherited CSS style collection for animated styles from ancestor node. - type InheritedAnimatedStyleEntry extends object - properties - # Styles coming from the animations of the ancestor, if any, in the style inheritance chain. - optional array of CSSAnimationStyle animationStyles - # The style coming from the transitions of the ancestor, if any, in the style inheritance chain. - optional CSSStyle transitionsStyle + experimental type PermissionSetting extends string + enum + granted + denied + prompt - # Inherited pseudo element matches from pseudos of an ancestor node. - type InheritedPseudoElementMatches extends object + # Definition of PermissionDescriptor defined in the Permissions API: + # https://w3c.github.io/permissions/#dom-permissiondescriptor. + experimental type PermissionDescriptor extends object properties - # Matches of pseudo styles from the pseudos of an ancestor node. - array of PseudoElementMatches pseudoElements + # Name of permission. + # See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names. + string name + # For "midi" permission, may also specify sysex control. + optional boolean sysex + # For "push" permission, may specify userVisibleOnly. + # Note that userVisibleOnly = true is the only currently supported type. + optional boolean userVisibleOnly + # For "clipboard" permission, may specify allowWithoutSanitization. + optional boolean allowWithoutSanitization + # For "fullscreen" permission, must specify allowWithoutGesture:true. + optional boolean allowWithoutGesture + # For "camera" permission, may specify panTiltZoom. + optional boolean panTiltZoom - # Match data for a CSS rule. - type RuleMatch extends object - properties - # CSS rule in the match. - CSSRule rule - # Matching selector indices in the rule's selectorList selectors (0-based). - array of integer matchingSelectors + # Browser command ids used by executeBrowserCommand. + experimental type BrowserCommandId extends string + enum + openTabSearch + closeTabSearch + openGlic - # Data for a simple selector (these are delimited by commas in a selector list). - type Value extends object - properties - # Value text. - string text - # Value range in the underlying resource (if available). - optional SourceRange range - # Specificity of the selector. - experimental optional Specificity specificity + # Set permission settings for given requesting and embedding origins. + experimental command setPermission + parameters + # Descriptor of permission to override. + PermissionDescriptor permission + # Setting of the permission. + PermissionSetting setting + # Requesting origin the permission applies to, all origins if not specified. + optional string origin + # Embedding origin the permission applies to. It is ignored unless the requesting origin is + # present and valid. If the requesting origin is provided but the embedding origin isn't, the + # requesting origin is used as the embedding origin. + optional string embeddingOrigin + # Context to override. When omitted, default browser context is used. + optional BrowserContextID browserContextId - # Specificity: - # https://drafts.csswg.org/selectors/#specificity-rules - experimental type Specificity extends object - properties - # The a component, which represents the number of ID selectors. - integer a - # The b component, which represents the number of class selectors, attributes selectors, and - # pseudo-classes. - integer b - # The c component, which represents the number of type selectors and pseudo-elements. - integer c + # Grant specific permissions to the given origin and reject all others. + experimental command grantPermissions + parameters + array of PermissionType permissions + # Origin the permission applies to, all origins if not specified. + optional string origin + # BrowserContext to override permissions. When omitted, default browser context is used. + optional BrowserContextID browserContextId - # Selector list data. - type SelectorList extends object - properties - # Selectors in the list. - array of Value selectors - # Rule selector text. - string text + # Reset all permission management for all origins. + command resetPermissions + parameters + # BrowserContext to reset permissions. When omitted, default browser context is used. + optional BrowserContextID browserContextId - # CSS stylesheet metainformation. - type CSSStyleSheetHeader extends object - properties - # The stylesheet identifier. - StyleSheetId styleSheetId - # Owner frame identifier. - Page.FrameId frameId - # Stylesheet resource URL. Empty if this is a constructed stylesheet created using - # new CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported - # as a CSS module script). - string sourceURL - # URL of source map associated with the stylesheet (if any). - optional string sourceMapURL - # Stylesheet origin. - StyleSheetOrigin origin - # Stylesheet title. - string title - # The backend id for the owner node of the stylesheet. - optional DOM.BackendNodeId ownerNode - # Denotes whether the stylesheet is disabled. - boolean disabled - # Whether the sourceURL field value comes from the sourceURL comment. - optional boolean hasSourceURL - # Whether this stylesheet is created for STYLE tag by parser. This flag is not set for - # document.written STYLE tags. - boolean isInline - # Whether this stylesheet is mutable. Inline stylesheets become mutable - # after they have been modified via CSSOM API. - # `` element's stylesheets become mutable only if DevTools modifies them. - # Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation. - boolean isMutable - # True if this stylesheet is created through new CSSStyleSheet() or imported as a - # CSS module script. - boolean isConstructed - # Line offset of the stylesheet within the resource (zero based). - number startLine - # Column offset of the stylesheet within the resource (zero based). - number startColumn - # Size of the content (in characters). - number length - # Line offset of the end of the stylesheet within the resource (zero based). - number endLine - # Column offset of the end of the stylesheet within the resource (zero based). - number endColumn - # If the style sheet was loaded from a network resource, this indicates when the resource failed to load - experimental optional boolean loadingFailed + # Set the behavior when downloading a file. + experimental command setDownloadBehavior + parameters + # Whether to allow all or deny all download requests, or use default Chrome behavior if + # available (otherwise deny). |allowAndName| allows download and names files according to + # their download guids. + enum behavior + deny + allow + allowAndName + default + # BrowserContext to set download behavior. When omitted, default browser context is used. + optional BrowserContextID browserContextId + # The default path to save downloaded files to. This is required if behavior is set to 'allow' + # or 'allowAndName'. + optional string downloadPath + # Whether to emit download events (defaults to false). + optional boolean eventsEnabled - # CSS rule representation. - type CSSRule extends object - properties - # The css style sheet identifier (absent for user agent stylesheet and user-specified - # stylesheet rules) this rule came from. - optional StyleSheetId styleSheetId - # Rule selector data. - SelectorList selectorList - # Array of selectors from ancestor style rules, sorted by distance from the current rule. - experimental optional array of string nestingSelectors - # Parent stylesheet's origin. - StyleSheetOrigin origin - # Associated style declaration. - CSSStyle style - # Media list array (for rules involving media queries). The array enumerates media queries - # starting with the innermost one, going outwards. - optional array of CSSMedia media - # Container query list array (for rules involving container queries). - # The array enumerates container queries starting with the innermost one, going outwards. - experimental optional array of CSSContainerQuery containerQueries - # @supports CSS at-rule array. - # The array enumerates @supports at-rules starting with the innermost one, going outwards. - experimental optional array of CSSSupports supports - # Cascade layer array. Contains the layer hierarchy that this rule belongs to starting - # with the innermost layer and going outwards. - experimental optional array of CSSLayer layers - # @scope CSS at-rule array. - # The array enumerates @scope at-rules starting with the innermost one, going outwards. - experimental optional array of CSSScope scopes - # The array keeps the types of ancestor CSSRules from the innermost going outwards. - experimental optional array of CSSRuleType ruleTypes - # @starting-style CSS at-rule array. - # The array enumerates @starting-style at-rules starting with the innermost one, going outwards. - experimental optional array of CSSStartingStyle startingStyles + # Cancel a download if in progress + experimental command cancelDownload + parameters + # Global unique identifier of the download. + string guid + # BrowserContext to perform the action in. When omitted, default browser context is used. + optional BrowserContextID browserContextId - # Enum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors. - # This list only contains rule types that are collected during the ancestor rule collection. - experimental type CSSRuleType extends string - enum - MediaRule - SupportsRule - ContainerRule - LayerRule - ScopeRule - StyleRule - StartingStyleRule + # Fired when page is about to start a download. + experimental event downloadWillBegin + parameters + # Id of the frame that caused the download to begin. + Page.FrameId frameId + # Global unique identifier of the download. + string guid + # URL of the resource being downloaded. + string url + # Suggested file name of the resource (the actual name of the file saved on disk may differ). + string suggestedFilename - # CSS coverage information. - type RuleUsage extends object - properties - # The css style sheet identifier (absent for user agent stylesheet and user-specified - # stylesheet rules) this rule came from. - StyleSheetId styleSheetId - # Offset of the start of the rule (including selector) from the beginning of the stylesheet. - number startOffset - # Offset of the end of the rule body from the beginning of the stylesheet. - number endOffset - # Indicates whether the rule was actually used by some element in the page. - boolean used + # Fired when download makes progress. Last call has |done| == true. + experimental event downloadProgress + parameters + # Global unique identifier of the download. + string guid + # Total expected bytes to download. + number totalBytes + # Total bytes received. + number receivedBytes + # Download status. + enum state + inProgress + completed + canceled + # If download is "completed", provides the path of the downloaded file. + # Depending on the platform, it is not guaranteed to be set, nor the file + # is guaranteed to exist. + experimental optional string filePath - # Text range within a resource. All numbers are zero-based. - type SourceRange extends object - properties - # Start line of range. - integer startLine - # Start column of range (inclusive). - integer startColumn - # End line of range - integer endLine - # End column of range (exclusive). - integer endColumn + # Close browser gracefully. + command close - type ShorthandEntry extends object - properties - # Shorthand name. - string name - # Shorthand value. - string value - # Whether the property has "!important" annotation (implies `false` if absent). - optional boolean important + # Crashes browser on the main thread. + experimental command crash - type CSSComputedStyleProperty extends object - properties - # Computed style property name. - string name - # Computed style property value. - string value + # Crashes GPU process. + experimental command crashGpuProcess - # CSS style representation. - type CSSStyle extends object + # Returns version information. + command getVersion + returns + # Protocol version. + string protocolVersion + # Product name. + string product + # Product revision. + string revision + # User-Agent. + string userAgent + # V8 version. + string jsVersion + + # Returns the command line switches for the browser process if, and only if + # --enable-automation is on the commandline. + experimental command getBrowserCommandLine + returns + # Commandline parameters + array of string arguments + + # Chrome histogram bucket. + experimental type Bucket extends object properties - # The css style sheet identifier (absent for user agent stylesheet and user-specified - # stylesheet rules) this rule came from. - optional StyleSheetId styleSheetId - # CSS properties in the style. - array of CSSProperty cssProperties - # Computed values for all shorthands found in the style. - array of ShorthandEntry shorthandEntries - # Style declaration text (if available). - optional string cssText - # Style declaration range in the enclosing stylesheet (if available). - optional SourceRange range + # Minimum value (inclusive). + integer low + # Maximum value (exclusive). + integer high + # Number of samples. + integer count - # CSS property declaration data. - type CSSProperty extends object + # Chrome histogram. + experimental type Histogram extends object properties - # The property name. + # Name. string name - # The property value. - string value - # Whether the property has "!important" annotation (implies `false` if absent). - optional boolean important - # Whether the property is implicit (implies `false` if absent). - optional boolean implicit - # The full property text as specified in the style. - optional string text - # Whether the property is understood by the browser (implies `true` if absent). - optional boolean parsedOk - # Whether the property is disabled by the user (present for source-based properties only). - optional boolean disabled - # The entire property range in the enclosing style declaration (if available). - optional SourceRange range - # Parsed longhand components of this property if it is a shorthand. - # This field will be empty if the given property is not a shorthand. - experimental optional array of CSSProperty longhandProperties + # Sum of sample values. + integer sum + # Total number of samples. + integer count + # Buckets. + array of Bucket buckets - # CSS media rule descriptor. - type CSSMedia extends object - properties - # Media query text. - string text - # Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if - # specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked - # stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline - # stylesheet's STYLE tag. - enum source - mediaRule - importRule - linkedSheet - inlineSheet - # URL of the document containing the media query description. - optional string sourceURL - # The associated rule (@media or @import) header range in the enclosing stylesheet (if - # available). - optional SourceRange range - # Identifier of the stylesheet containing this object (if exists). - optional StyleSheetId styleSheetId - # Array of media queries. - optional array of MediaQuery mediaList + # Get Chrome histograms. + experimental command getHistograms + parameters + # Requested substring in name. Only histograms which have query as a + # substring in their name are extracted. An empty or absent query returns + # all histograms. + optional string query + # If true, retrieve delta since last delta call. + optional boolean delta - # Media query descriptor. - type MediaQuery extends object - properties - # Array of media query expressions. - array of MediaQueryExpression expressions - # Whether the media query condition is satisfied. - boolean active + returns + # Histograms. + array of Histogram histograms - # Media query expression descriptor. - type MediaQueryExpression extends object + # Get a Chrome histogram by name. + experimental command getHistogram + parameters + # Requested histogram name. + string name + # If true, retrieve delta since last delta call. + optional boolean delta + returns + # Histogram. + Histogram histogram + + # Get position and size of the browser window. + experimental command getWindowBounds + parameters + # Browser window id. + WindowID windowId + returns + # Bounds information of the window. When window state is 'minimized', the restored window + # position and size are returned. + Bounds bounds + + # Get the browser window that contains the devtools target. + experimental command getWindowForTarget + parameters + # Devtools agent host id. If called as a part of the session, associated targetId is used. + optional Target.TargetID targetId + returns + # Browser window id. + WindowID windowId + # Bounds information of the window. When window state is 'minimized', the restored window + # position and size are returned. + Bounds bounds + + # Set position and/or size of the browser window. + experimental command setWindowBounds + parameters + # Browser window id. + WindowID windowId + # New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined + # with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged. + Bounds bounds + + # Set size of the browser contents resizing browser window as necessary. + experimental command setContentsSize + parameters + # Browser window id. + WindowID windowId + # The window contents width in DIP. Assumes current width if omitted. + # Must be specified if 'height' is omitted. + optional integer width + # The window contents height in DIP. Assumes current height if omitted. + # Must be specified if 'width' is omitted. + optional integer height + + # Set dock tile details, platform-specific. + experimental command setDockTile + parameters + optional string badgeLabel + # Png encoded image. + optional binary image + + # Invoke custom browser commands used by telemetry. + experimental command executeBrowserCommand + parameters + BrowserCommandId commandId + + # Allows a site to use privacy sandbox features that require enrollment + # without the site actually being enrolled. Only supported on page targets. + command addPrivacySandboxEnrollmentOverride + parameters + string url + + experimental type PrivacySandboxAPI extends string + enum + BiddingAndAuctionServices + TrustedKeyValue + + # Configures encryption keys used with a given privacy sandbox API to talk + # to a trusted coordinator. Since this is intended for test automation only, + # coordinatorOrigin must be a .test domain. No existing coordinator + # configuration for the origin may exist. + command addPrivacySandboxCoordinatorKeyConfig + parameters + PrivacySandboxAPI api + string coordinatorOrigin + string keyConfig + # BrowserContext to perform the action in. When omitted, default browser + # context is used. + optional BrowserContextID browserContextId + +# 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 exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles) +# have an associated `id` used in subsequent operations on the related object. Each object type has +# a specific `id` structure, and those are not interchangeable between objects of different kinds. +# CSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client +# can also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and +# subsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods. +experimental domain CSS + depends on DOM + depends on Page + + type StyleSheetId extends string + + # Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent + # stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via + # inspector" rules), "regular" for regular stylesheets. + type StyleSheetOrigin extends string + enum + injected + user-agent + inspector + regular + + # CSS rule collection for a single pseudo style. + type PseudoElementMatches extends object properties - # Media query expression value. - number value - # Media query expression units. - string unit - # Media query expression feature. - string feature - # The associated range of the value text in the enclosing stylesheet (if available). - optional SourceRange valueRange - # Computed length of media query expression (if applicable). - optional number computedLength + # Pseudo element type. + DOM.PseudoType pseudoType + # Pseudo element custom ident. + optional string pseudoIdentifier + # Matches of CSS rules applicable to the pseudo style. + array of RuleMatch matches - # CSS container query rule descriptor. - experimental type CSSContainerQuery extends object + # CSS style coming from animations with the name of the animation. + type CSSAnimationStyle extends object properties - # Container query text. - string text - # The associated rule header range in the enclosing stylesheet (if - # available). - optional SourceRange range - # Identifier of the stylesheet containing this object (if exists). - optional StyleSheetId styleSheetId - # Optional name for the container. + # The name of the animation. optional string name - # Optional physical axes queried for the container. - optional DOM.PhysicalAxes physicalAxes - # Optional logical axes queried for the container. - optional DOM.LogicalAxes logicalAxes - # true if the query contains scroll-state() queries. - optional boolean queriesScrollState + # The style coming from the animation. + CSSStyle style - # CSS Supports at-rule descriptor. - experimental type CSSSupports extends object + # Inherited CSS rule collection from ancestor node. + type InheritedStyleEntry extends object properties - # Supports rule text. - string text - # Whether the supports condition is satisfied. - boolean active - # The associated rule header range in the enclosing stylesheet (if - # available). - optional SourceRange range - # Identifier of the stylesheet containing this object (if exists). - optional StyleSheetId styleSheetId + # The ancestor node's inline style, if any, in the style inheritance chain. + optional CSSStyle inlineStyle + # Matches of CSS rules matching the ancestor node in the style inheritance chain. + array of RuleMatch matchedCSSRules - # CSS Scope at-rule descriptor. - experimental type CSSScope extends object + # Inherited CSS style collection for animated styles from ancestor node. + type InheritedAnimatedStyleEntry extends object properties - # Scope rule text. - string text - # The associated rule header range in the enclosing stylesheet (if - # available). - optional SourceRange range - # Identifier of the stylesheet containing this object (if exists). - optional StyleSheetId styleSheetId + # Styles coming from the animations of the ancestor, if any, in the style inheritance chain. + optional array of CSSAnimationStyle animationStyles + # The style coming from the transitions of the ancestor, if any, in the style inheritance chain. + optional CSSStyle transitionsStyle - # CSS Layer at-rule descriptor. - experimental type CSSLayer extends object + # Inherited pseudo element matches from pseudos of an ancestor node. + type InheritedPseudoElementMatches extends object properties - # Layer name. - string text - # The associated rule header range in the enclosing stylesheet (if - # available). - optional SourceRange range - # Identifier of the stylesheet containing this object (if exists). - optional StyleSheetId styleSheetId + # Matches of pseudo styles from the pseudos of an ancestor node. + array of PseudoElementMatches pseudoElements - # CSS Starting Style at-rule descriptor. - experimental type CSSStartingStyle extends object + # Match data for a CSS rule. + type RuleMatch extends object properties - # The associated rule header range in the enclosing stylesheet (if - # available). - optional SourceRange range - # Identifier of the stylesheet containing this object (if exists). - optional StyleSheetId styleSheetId + # CSS rule in the match. + CSSRule rule + # Matching selector indices in the rule's selectorList selectors (0-based). + array of integer matchingSelectors - # CSS Layer data. - experimental type CSSLayerData extends object + # Data for a simple selector (these are delimited by commas in a selector list). + type Value extends object properties - # Layer name. - string name - # Direct sub-layers - optional array of CSSLayerData subLayers - # Layer order. The order determines the order of the layer in the cascade order. - # A higher number has higher priority in the cascade order. - number order + # Value text. + string text + # Value range in the underlying resource (if available). + optional SourceRange range + # Specificity of the selector. + experimental optional Specificity specificity - # Information about amount of glyphs that were rendered with given font. - type PlatformFontUsage extends object + # Specificity: + # https://drafts.csswg.org/selectors/#specificity-rules + experimental type Specificity extends object properties - # Font's family name reported by platform. - string familyName - # Font's PostScript name reported by platform. - string postScriptName - # Indicates if the font was downloaded or resolved locally. - boolean isCustomFont - # Amount of glyphs that were rendered with this font. - number glyphCount + # The a component, which represents the number of ID selectors. + integer a + # The b component, which represents the number of class selectors, attributes selectors, and + # pseudo-classes. + integer b + # The c component, which represents the number of type selectors and pseudo-elements. + integer c - # Information about font variation axes for variable fonts - type FontVariationAxis extends object + # Selector list data. + type SelectorList extends object properties - # The font-variation-setting tag (a.k.a. "axis tag"). - string tag - # Human-readable variation name in the default language (normally, "en"). - string name - # The minimum value (inclusive) the font supports for this tag. - number minValue - # The maximum value (inclusive) the font supports for this tag. - number maxValue - # The default value. - number defaultValue + # Selectors in the list. + array of Value selectors + # Rule selector text. + string text - # Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions - # and additional information such as platformFontFamily and fontVariationAxes. - type FontFace extends object + # CSS stylesheet metainformation. + type CSSStyleSheetHeader extends object properties - # The font-family. - string fontFamily - # The font-style. - string fontStyle - # The font-variant. - string fontVariant - # The font-weight. - string fontWeight - # The font-stretch. - string fontStretch - # The font-display. - string fontDisplay - # The unicode-range. - string unicodeRange - # The src. - string src - # The resolved platform font family - string platformFontFamily - # Available variation settings (a.k.a. "axes"). - optional array of FontVariationAxis fontVariationAxes + # The stylesheet identifier. + StyleSheetId styleSheetId + # Owner frame identifier. + Page.FrameId frameId + # Stylesheet resource URL. Empty if this is a constructed stylesheet created using + # new CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported + # as a CSS module script). + string sourceURL + # URL of source map associated with the stylesheet (if any). + optional string sourceMapURL + # Stylesheet origin. + StyleSheetOrigin origin + # Stylesheet title. + string title + # The backend id for the owner node of the stylesheet. + optional DOM.BackendNodeId ownerNode + # Denotes whether the stylesheet is disabled. + boolean disabled + # Whether the sourceURL field value comes from the sourceURL comment. + optional boolean hasSourceURL + # Whether this stylesheet is created for STYLE tag by parser. This flag is not set for + # document.written STYLE tags. + boolean isInline + # Whether this stylesheet is mutable. Inline stylesheets become mutable + # after they have been modified via CSSOM API. + # `` element's stylesheets become mutable only if DevTools modifies them. + # Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation. + boolean isMutable + # True if this stylesheet is created through new CSSStyleSheet() or imported as a + # CSS module script. + boolean isConstructed + # Line offset of the stylesheet within the resource (zero based). + number startLine + # Column offset of the stylesheet within the resource (zero based). + number startColumn + # Size of the content (in characters). + number length + # Line offset of the end of the stylesheet within the resource (zero based). + number endLine + # Column offset of the end of the stylesheet within the resource (zero based). + number endColumn + # If the style sheet was loaded from a network resource, this indicates when the resource failed to load + experimental optional boolean loadingFailed - # CSS try rule representation. - type CSSTryRule extends object + # CSS rule representation. + type CSSRule extends object properties # The css style sheet identifier (absent for user agent stylesheet and user-specified # stylesheet rules) this rule came from. optional StyleSheetId styleSheetId + # Rule selector data. + SelectorList selectorList + # Array of selectors from ancestor style rules, sorted by distance from the current rule. + experimental optional array of string nestingSelectors # Parent stylesheet's origin. StyleSheetOrigin origin # Associated style declaration. CSSStyle style + # Media list array (for rules involving media queries). The array enumerates media queries + # starting with the innermost one, going outwards. + optional array of CSSMedia media + # Container query list array (for rules involving container queries). + # The array enumerates container queries starting with the innermost one, going outwards. + experimental optional array of CSSContainerQuery containerQueries + # @supports CSS at-rule array. + # The array enumerates @supports at-rules starting with the innermost one, going outwards. + experimental optional array of CSSSupports supports + # Cascade layer array. Contains the layer hierarchy that this rule belongs to starting + # with the innermost layer and going outwards. + experimental optional array of CSSLayer layers + # @scope CSS at-rule array. + # The array enumerates @scope at-rules starting with the innermost one, going outwards. + experimental optional array of CSSScope scopes + # The array keeps the types of ancestor CSSRules from the innermost going outwards. + experimental optional array of CSSRuleType ruleTypes + # @starting-style CSS at-rule array. + # The array enumerates @starting-style at-rules starting with the innermost one, going outwards. + experimental optional array of CSSStartingStyle startingStyles - # CSS @position-try rule representation. - type CSSPositionTryRule extends object + # Enum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors. + # This list only contains rule types that are collected during the ancestor rule collection. + experimental type CSSRuleType extends string + enum + MediaRule + SupportsRule + ContainerRule + LayerRule + ScopeRule + StyleRule + StartingStyleRule + + # CSS coverage information. + type RuleUsage extends object properties - # The prelude dashed-ident name - Value name # The css style sheet identifier (absent for user agent stylesheet and user-specified # stylesheet rules) this rule came from. - optional StyleSheetId styleSheetId - # Parent stylesheet's origin. - StyleSheetOrigin origin - # Associated style declaration. - CSSStyle style - boolean active + StyleSheetId styleSheetId + # Offset of the start of the rule (including selector) from the beginning of the stylesheet. + number startOffset + # Offset of the end of the rule body from the beginning of the stylesheet. + number endOffset + # Indicates whether the rule was actually used by some element in the page. + boolean used - # CSS keyframes rule representation. - type CSSKeyframesRule extends object + # Text range within a resource. All numbers are zero-based. + type SourceRange extends object properties - # Animation name. - Value animationName - # List of keyframes. - array of CSSKeyframeRule keyframes + # Start line of range. + integer startLine + # Start column of range (inclusive). + integer startColumn + # End line of range + integer endLine + # End column of range (exclusive). + integer endColumn - # Representation of a custom property registration through CSS.registerProperty - type CSSPropertyRegistration extends object + type ShorthandEntry extends object properties - string propertyName - optional Value initialValue - boolean inherits - string syntax + # Shorthand name. + string name + # Shorthand value. + string value + # Whether the property has "!important" annotation (implies `false` if absent). + optional boolean important + type CSSComputedStyleProperty extends object + properties + # Computed style property name. + string name + # Computed style property value. + string value - # CSS font-palette-values rule representation. - type CSSFontPaletteValuesRule extends object + experimental type ComputedStyleExtraFields extends object properties - # The css style sheet identifier (absent for user agent stylesheet and user-specified - # stylesheet rules) this rule came from. - optional StyleSheetId styleSheetId - # Parent stylesheet's origin. - StyleSheetOrigin origin - # Associated font palette name. - Value fontPaletteName - # Associated style declaration. - CSSStyle style + # Returns whether or not this node is being rendered with base appearance, + # which happens when it has its appearance property set to base/base-select + # or it is in the subtree of an element being rendered with base appearance. + boolean isAppearanceBase - # CSS property at-rule representation. - type CSSPropertyRule extends object + # CSS style representation. + type CSSStyle extends object properties # The css style sheet identifier (absent for user agent stylesheet and user-specified # stylesheet rules) this rule came from. optional StyleSheetId styleSheetId - # Parent stylesheet's origin. - StyleSheetOrigin origin - # Associated property name. - Value propertyName - # Associated style declaration. - CSSStyle style + # CSS properties in the style. + array of CSSProperty cssProperties + # Computed values for all shorthands found in the style. + array of ShorthandEntry shorthandEntries + # Style declaration text (if available). + optional string cssText + # Style declaration range in the enclosing stylesheet (if available). + optional SourceRange range - # CSS function argument representation. - type CSSFunctionParameter extends object + # CSS property declaration data. + type CSSProperty extends object properties - # The parameter name. + # The property name. string name - # The parameter type. - string type - - # CSS function conditional block representation. - type CSSFunctionConditionNode extends object - properties - # Media query for this conditional block. Only one type of condition should be set. - optional CSSMedia media - # Container query for this conditional block. Only one type of condition should be set. - optional CSSContainerQuery containerQueries - # @supports CSS at-rule condition. Only one type of condition should be set. - optional CSSSupports supports - # Block body. - array of CSSFunctionNode children - # The condition text. - string conditionText + # The property value. + string value + # Whether the property has "!important" annotation (implies `false` if absent). + optional boolean important + # Whether the property is implicit (implies `false` if absent). + optional boolean implicit + # The full property text as specified in the style. + optional string text + # Whether the property is understood by the browser (implies `true` if absent). + optional boolean parsedOk + # Whether the property is disabled by the user (present for source-based properties only). + optional boolean disabled + # The entire property range in the enclosing style declaration (if available). + optional SourceRange range + # Parsed longhand components of this property if it is a shorthand. + # This field will be empty if the given property is not a shorthand. + experimental optional array of CSSProperty longhandProperties - # Section of the body of a CSS function rule. - type CSSFunctionNode extends object + # CSS media rule descriptor. + type CSSMedia extends object properties - # A conditional block. If set, style should not be set. - optional CSSFunctionConditionNode condition - # Values set by this node. If set, condition should not be set. - optional CSSStyle style + # Media query text. + string text + # Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if + # specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked + # stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline + # stylesheet's STYLE tag. + enum source + mediaRule + importRule + linkedSheet + inlineSheet + # URL of the document containing the media query description. + optional string sourceURL + # The associated rule (@media or @import) header range in the enclosing stylesheet (if + # available). + optional SourceRange range + # Identifier of the stylesheet containing this object (if exists). + optional StyleSheetId styleSheetId + # Array of media queries. + optional array of MediaQuery mediaList - # CSS function at-rule representation. - type CSSFunctionRule extends object + # Media query descriptor. + type MediaQuery extends object + properties + # Array of media query expressions. + array of MediaQueryExpression expressions + # Whether the media query condition is satisfied. + boolean active + + # Media query expression descriptor. + type MediaQueryExpression extends object + properties + # Media query expression value. + number value + # Media query expression units. + string unit + # Media query expression feature. + string feature + # The associated range of the value text in the enclosing stylesheet (if available). + optional SourceRange valueRange + # Computed length of media query expression (if applicable). + optional number computedLength + + # CSS container query rule descriptor. + experimental type CSSContainerQuery extends object + properties + # Container query text. + string text + # The associated rule header range in the enclosing stylesheet (if + # available). + optional SourceRange range + # Identifier of the stylesheet containing this object (if exists). + optional StyleSheetId styleSheetId + # Optional name for the container. + optional string name + # Optional physical axes queried for the container. + optional DOM.PhysicalAxes physicalAxes + # Optional logical axes queried for the container. + optional DOM.LogicalAxes logicalAxes + # true if the query contains scroll-state() queries. + optional boolean queriesScrollState + # true if the query contains anchored() queries. + optional boolean queriesAnchored + + # CSS Supports at-rule descriptor. + experimental type CSSSupports extends object + properties + # Supports rule text. + string text + # Whether the supports condition is satisfied. + boolean active + # The associated rule header range in the enclosing stylesheet (if + # available). + optional SourceRange range + # Identifier of the stylesheet containing this object (if exists). + optional StyleSheetId styleSheetId + + # CSS Scope at-rule descriptor. + experimental type CSSScope extends object + properties + # Scope rule text. + string text + # The associated rule header range in the enclosing stylesheet (if + # available). + optional SourceRange range + # Identifier of the stylesheet containing this object (if exists). + optional StyleSheetId styleSheetId + + # CSS Layer at-rule descriptor. + experimental type CSSLayer extends object + properties + # Layer name. + string text + # The associated rule header range in the enclosing stylesheet (if + # available). + optional SourceRange range + # Identifier of the stylesheet containing this object (if exists). + optional StyleSheetId styleSheetId + + # CSS Starting Style at-rule descriptor. + experimental type CSSStartingStyle extends object + properties + # The associated rule header range in the enclosing stylesheet (if + # available). + optional SourceRange range + # Identifier of the stylesheet containing this object (if exists). + optional StyleSheetId styleSheetId + + # CSS Layer data. + experimental type CSSLayerData extends object + properties + # Layer name. + string name + # Direct sub-layers + optional array of CSSLayerData subLayers + # Layer order. The order determines the order of the layer in the cascade order. + # A higher number has higher priority in the cascade order. + number order + + # Information about amount of glyphs that were rendered with given font. + type PlatformFontUsage extends object + properties + # Font's family name reported by platform. + string familyName + # Font's PostScript name reported by platform. + string postScriptName + # Indicates if the font was downloaded or resolved locally. + boolean isCustomFont + # Amount of glyphs that were rendered with this font. + number glyphCount + + # Information about font variation axes for variable fonts + type FontVariationAxis extends object + properties + # The font-variation-setting tag (a.k.a. "axis tag"). + string tag + # Human-readable variation name in the default language (normally, "en"). + string name + # The minimum value (inclusive) the font supports for this tag. + number minValue + # The maximum value (inclusive) the font supports for this tag. + number maxValue + # The default value. + number defaultValue + + # Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions + # and additional information such as platformFontFamily and fontVariationAxes. + type FontFace extends object + properties + # The font-family. + string fontFamily + # The font-style. + string fontStyle + # The font-variant. + string fontVariant + # The font-weight. + string fontWeight + # The font-stretch. + string fontStretch + # The font-display. + string fontDisplay + # The unicode-range. + string unicodeRange + # The src. + string src + # The resolved platform font family + string platformFontFamily + # Available variation settings (a.k.a. "axes"). + optional array of FontVariationAxis fontVariationAxes + + # CSS try rule representation. + type CSSTryRule extends object properties - # Name of the function. - Value name # The css style sheet identifier (absent for user agent stylesheet and user-specified # stylesheet rules) this rule came from. optional StyleSheetId styleSheetId # Parent stylesheet's origin. StyleSheetOrigin origin - # List of parameters. - array of CSSFunctionParameter parameters - # Function body. - array of CSSFunctionNode children + # Associated style declaration. + CSSStyle style - # CSS keyframe rule representation. - type CSSKeyframeRule extends object + # CSS @position-try rule representation. + type CSSPositionTryRule extends object properties + # The prelude dashed-ident name + Value name # The css style sheet identifier (absent for user agent stylesheet and user-specified # stylesheet rules) this rule came from. optional StyleSheetId styleSheetId # Parent stylesheet's origin. StyleSheetOrigin origin - # Associated key text. - Value keyText # Associated style declaration. CSSStyle style + boolean active - # A descriptor of operation to mutate style declaration text. - type StyleDeclarationEdit extends object + # CSS keyframes rule representation. + type CSSKeyframesRule extends object properties - # The css style sheet identifier. - StyleSheetId styleSheetId - # The range of the style text in the enclosing stylesheet. - SourceRange range - # New style text. - string text + # Animation name. + Value animationName + # List of keyframes. + array of CSSKeyframeRule keyframes - # Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the - # position specified by `location`. - command addRule - parameters - # The css style sheet identifier where a new rule should be inserted. - StyleSheetId styleSheetId - # The text of a new rule. - string ruleText - # Text position of a new rule in the target style sheet. - SourceRange location - # NodeId for the DOM node in whose context custom property declarations for registered properties should be - # validated. If omitted, declarations in the new rule text can only be validated statically, which may produce - # incorrect results if the declaration contains a var() for example. - experimental optional DOM.NodeId nodeForPropertySyntaxValidation - returns - # The newly created rule. - CSSRule rule + # Representation of a custom property registration through CSS.registerProperty + type CSSPropertyRegistration extends object + properties + string propertyName + optional Value initialValue + boolean inherits + string syntax - # Returns all class names from specified stylesheet. + + # CSS font-palette-values rule representation. + type CSSFontPaletteValuesRule extends object + properties + # The css style sheet identifier (absent for user agent stylesheet and user-specified + # stylesheet rules) this rule came from. + optional StyleSheetId styleSheetId + # Parent stylesheet's origin. + StyleSheetOrigin origin + # Associated font palette name. + Value fontPaletteName + # Associated style declaration. + CSSStyle style + + # CSS property at-rule representation. + type CSSPropertyRule extends object + properties + # The css style sheet identifier (absent for user agent stylesheet and user-specified + # stylesheet rules) this rule came from. + optional StyleSheetId styleSheetId + # Parent stylesheet's origin. + StyleSheetOrigin origin + # Associated property name. + Value propertyName + # Associated style declaration. + CSSStyle style + + # CSS function argument representation. + type CSSFunctionParameter extends object + properties + # The parameter name. + string name + # The parameter type. + string type + + # CSS function conditional block representation. + type CSSFunctionConditionNode extends object + properties + # Media query for this conditional block. Only one type of condition should be set. + optional CSSMedia media + # Container query for this conditional block. Only one type of condition should be set. + optional CSSContainerQuery containerQueries + # @supports CSS at-rule condition. Only one type of condition should be set. + optional CSSSupports supports + # Block body. + array of CSSFunctionNode children + # The condition text. + string conditionText + + # Section of the body of a CSS function rule. + type CSSFunctionNode extends object + properties + # A conditional block. If set, style should not be set. + optional CSSFunctionConditionNode condition + # Values set by this node. If set, condition should not be set. + optional CSSStyle style + + # CSS function at-rule representation. + type CSSFunctionRule extends object + properties + # Name of the function. + Value name + # The css style sheet identifier (absent for user agent stylesheet and user-specified + # stylesheet rules) this rule came from. + optional StyleSheetId styleSheetId + # Parent stylesheet's origin. + StyleSheetOrigin origin + # List of parameters. + array of CSSFunctionParameter parameters + # Function body. + array of CSSFunctionNode children + + # CSS keyframe rule representation. + type CSSKeyframeRule extends object + properties + # The css style sheet identifier (absent for user agent stylesheet and user-specified + # stylesheet rules) this rule came from. + optional StyleSheetId styleSheetId + # Parent stylesheet's origin. + StyleSheetOrigin origin + # Associated key text. + Value keyText + # Associated style declaration. + CSSStyle style + + # A descriptor of operation to mutate style declaration text. + type StyleDeclarationEdit extends object + properties + # The css style sheet identifier. + StyleSheetId styleSheetId + # The range of the style text in the enclosing stylesheet. + SourceRange range + # New style text. + string text + + # Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the + # position specified by `location`. + command addRule + parameters + # The css style sheet identifier where a new rule should be inserted. + StyleSheetId styleSheetId + # The text of a new rule. + string ruleText + # Text position of a new rule in the target style sheet. + SourceRange location + # NodeId for the DOM node in whose context custom property declarations for registered properties should be + # validated. If omitted, declarations in the new rule text can only be validated statically, which may produce + # incorrect results if the declaration contains a var() for example. + experimental optional DOM.NodeId nodeForPropertySyntaxValidation + returns + # The newly created rule. + CSSRule rule + + # Returns all class names from specified stylesheet. command collectClassNames parameters StyleSheetId styleSheetId @@ -2452,6 +2687,9 @@ experimental domain CSS returns # Computed style for the specified DOM node. array of CSSComputedStyleProperty computedStyle + # A list of non-standard "extra fields" which blink stores alongside each + # computed style. + experimental ComputedStyleExtraFields extraFields # Resolve the specified values in the context of the provided element. # For example, a value of '1em' is evaluated according to the computed @@ -2464,8 +2702,7 @@ experimental domain CSS # resolved even then, return the provided value without any changes. experimental command resolveValues parameters - # Substitution functions (var()/env()/attr()) and cascade-dependent - # keywords (revert/revert-layer) do not work. + # Cascade-dependent keywords (revert/revert-layer) do not work. array of string values # Id of the node in whose context the expression is evaluated DOM.NodeId nodeId @@ -2546,6 +2783,11 @@ experimental domain CSS # A list of CSS at-function rules referenced by styles of this node. experimental optional array of CSSFunctionRule cssFunctionRules + # Returns the values of the default UA-defined environment variables used in env() + experimental command getEnvironmentVariables + returns + object environmentVariables + # Returns all media queries parsed by the rendering engine. command getMediaQueries returns @@ -2769,6 +3011,12 @@ experimental domain CSS # The node id that has updated computed styles. DOM.NodeId nodeId +# 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 + experimental domain CacheStorage depends on Storage @@ -2889,6 +3137,12 @@ experimental domain CacheStorage # is the count of all entries from this storage. number returnCount +# 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 + # A domain for interacting with Cast, Presentation API, and Remote Playback API # functionalities. experimental domain Cast @@ -2946,6 +3200,11 @@ experimental domain Cast parameters string issueMessage +# 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 exposes DOM read/write operations. Each DOM Node is represented with its mirror object # that has an `id`. This `id` can be used to get additional information on the Node, resolve it into @@ -2982,6 +3241,7 @@ domain DOM before after picker-icon + interest-hint marker backdrop column @@ -3006,6 +3266,7 @@ domain DOM view-transition view-transition-group view-transition-image-pair + view-transition-group-children view-transition-old view-transition-new placeholder @@ -3384,6 +3645,8 @@ domain DOM optional BackendNodeId backendNodeId # JavaScript object id of the node wrapper. optional Runtime.RemoteObjectId objectId + # Include all shadow roots. Equals to false if not specified. + experimental optional boolean includeShadowDOM returns # Outer HTML markup. string outerHTML @@ -3516,7 +3779,8 @@ domain DOM # Get the popover target for a given element. In this case, this given # element can only be an HTMLFormControlElement (,