diff --git a/ChromeDevToolsBase/pom.xml b/ChromeDevToolsBase/pom.xml
index 2f8cbff..4131f15 100644
--- a/ChromeDevToolsBase/pom.xml
+++ b/ChromeDevToolsBase/pom.xml
@@ -3,7 +3,7 @@
com.hubspot.chrome
ChromeDevTools-parent
- 138.0.7204.157-SNAPSHOT
+ 143.0.7499.40-SNAPSHOT
ChromeDevToolsBase
diff --git a/ChromeDevToolsClient/pom.xml b/ChromeDevToolsClient/pom.xml
index 398046b..c294959 100644
--- a/ChromeDevToolsClient/pom.xml
+++ b/ChromeDevToolsClient/pom.xml
@@ -4,7 +4,7 @@
com.hubspot.chrome
ChromeDevTools-parent
- 138.0.7204.157-SNAPSHOT
+ 143.0.7499.40-SNAPSHOT
ChromeDevToolsClient
diff --git a/CodeGeneration/pom.xml b/CodeGeneration/pom.xml
index ff397e8..dc71f21 100644
--- a/CodeGeneration/pom.xml
+++ b/CodeGeneration/pom.xml
@@ -4,7 +4,7 @@
com.hubspot.chrome
ChromeDevTools-parent
- 138.0.7204.157-SNAPSHOT
+ 143.0.7499.40-SNAPSHOT
CodeGeneration
diff --git a/CodeGeneration/src/main/resources/browser_protocol.json b/CodeGeneration/src/main/resources/browser_protocol.json
index 3a4c523..3827969 100644
--- a/CodeGeneration/src/main/resources/browser_protocol.json
+++ b/CodeGeneration/src/main/resources/browser_protocol.json
@@ -207,7 +207,7 @@
},
{
"id": "AXPropertyName",
- "description": "Values of AXProperty name:\n- from 'busy' to 'roledescription': states which apply to every AX node\n- from 'live' to 'root': attributes which apply to nodes in live regions\n- from 'autocomplete' to 'valuetext': attributes which apply to widgets\n- from 'checked' to 'selected': states which apply to widgets\n- from 'activedescendant' to 'owns' - relationships between elements other than parent/child/sibling.",
+ "description": "Values of AXProperty name:\n- from 'busy' to 'roledescription': states which apply to every AX node\n- from 'live' to 'root': attributes which apply to nodes in live regions\n- from 'autocomplete' to 'valuetext': attributes which apply to widgets\n- from 'checked' to 'selected': states which apply to widgets\n- from 'activedescendant' to 'owns': relationships between elements other than parent/child/sibling\n- from 'activeFullscreenElement' to 'uninteresting': reasons why this noode is hidden",
"type": "string",
"enum": [
"actions",
@@ -250,7 +250,24 @@
"flowto",
"labelledby",
"owns",
- "url"
+ "url",
+ "activeFullscreenElement",
+ "activeModalDialog",
+ "activeAriaModalDialog",
+ "ariaHiddenElement",
+ "ariaHiddenSubtree",
+ "emptyAlt",
+ "emptyText",
+ "inertElement",
+ "inertSubtree",
+ "labelContainer",
+ "labelFor",
+ "notRendered",
+ "notVisible",
+ "presentationalRole",
+ "probablyPresentational",
+ "inactiveCarouselTabContent",
+ "uninteresting"
]
},
{
@@ -1546,8 +1563,10 @@
"WriteErrorInsufficientResources",
"WriteErrorInvalidMatchField",
"WriteErrorInvalidStructuredHeader",
+ "WriteErrorInvalidTTLField",
"WriteErrorNavigationRequest",
"WriteErrorNoMatchField",
+ "WriteErrorNonIntegerTTLField",
"WriteErrorNonListMatchDestField",
"WriteErrorNonSecureContext",
"WriteErrorNonStringIdField",
@@ -1587,6 +1606,16 @@
"ValidationFailedIntegrityMismatch"
]
},
+ {
+ "id": "UnencodedDigestError",
+ "type": "string",
+ "enum": [
+ "MalformedDictionary",
+ "UnknownAlgorithm",
+ "IncorrectDigestType",
+ "IncorrectDigestLength"
+ ]
+ },
{
"id": "AttributionReportingIssueDetails",
"description": "Details for issues around \"Attribution Reporting API\" usage.\nExplainer: https://github.com/WICG/attribution-reporting-api",
@@ -1696,6 +1725,20 @@
}
]
},
+ {
+ "id": "UnencodedDigestIssueDetails",
+ "type": "object",
+ "properties": [
+ {
+ "name": "error",
+ "$ref": "UnencodedDigestError"
+ },
+ {
+ "name": "request",
+ "$ref": "AffectedRequest"
+ }
+ ]
+ },
{
"id": "GenericIssueErrorType",
"type": "string",
@@ -1966,19 +2009,20 @@
]
},
{
- "id": "SelectElementAccessibilityIssueReason",
+ "id": "ElementAccessibilityIssueReason",
"type": "string",
"enum": [
"DisallowedSelectChild",
"DisallowedOptGroupChild",
"NonPhrasingContentOptionChild",
"InteractiveContentOptionChild",
- "InteractiveContentLegendChild"
+ "InteractiveContentLegendChild",
+ "InteractiveContentSummaryDescendant"
]
},
{
- "id": "SelectElementAccessibilityIssueDetails",
- "description": "This issue warns about errors in the select element content model.",
+ "id": "ElementAccessibilityIssueDetails",
+ "description": "This issue warns about errors in the select or summary element content model.",
"type": "object",
"properties": [
{
@@ -1986,8 +2030,8 @@
"$ref": "DOM.BackendNodeId"
},
{
- "name": "selectElementAccessibilityIssueReason",
- "$ref": "SelectElementAccessibilityIssueReason"
+ "name": "elementAccessibilityIssueReason",
+ "$ref": "ElementAccessibilityIssueReason"
},
{
"name": "hasDisallowedAttributes",
@@ -2064,7 +2108,8 @@
"type": "string",
"enum": [
"BlockedFrameNavigation",
- "BlockedSubresource"
+ "BlockedSubresource",
+ "NoisedCanvasReadback"
]
},
{
@@ -2081,6 +2126,12 @@
"description": "Applies to BlockedFrameNavigation and BlockedSubresource issue types.",
"optional": true,
"$ref": "AffectedRequest"
+ },
+ {
+ "name": "sourceCodeLocation",
+ "description": "Applies to NoisedCanvasReadback issue type.",
+ "optional": true,
+ "$ref": "SourceCodeLocation"
}
]
},
@@ -2111,8 +2162,9 @@
"FederatedAuthUserInfoRequestIssue",
"PropertyRuleIssue",
"SharedDictionaryIssue",
- "SelectElementAccessibilityIssue",
+ "ElementAccessibilityIssue",
"SRIMessageSignatureIssue",
+ "UnencodedDigestIssue",
"UserReidentificationIssue"
]
},
@@ -2233,15 +2285,20 @@
"$ref": "SharedDictionaryIssueDetails"
},
{
- "name": "selectElementAccessibilityIssueDetails",
+ "name": "elementAccessibilityIssueDetails",
"optional": true,
- "$ref": "SelectElementAccessibilityIssueDetails"
+ "$ref": "ElementAccessibilityIssueDetails"
},
{
"name": "sriMessageSignatureIssueDetails",
"optional": true,
"$ref": "SRIMessageSignatureIssueDetails"
},
+ {
+ "name": "unencodedDigestIssueDetails",
+ "optional": true,
+ "$ref": "UnencodedDigestIssueDetails"
+ },
{
"name": "userReidentificationIssueDetails",
"optional": true,
@@ -2374,147 +2431,6 @@
}
]
},
- {
- "domain": "Extensions",
- "description": "Defines commands and events for browser extensions.",
- "experimental": true,
- "types": [
- {
- "id": "StorageArea",
- "description": "Storage areas.",
- "type": "string",
- "enum": [
- "session",
- "local",
- "sync",
- "managed"
- ]
- }
- ],
- "commands": [
- {
- "name": "loadUnpacked",
- "description": "Installs an unpacked extension from the filesystem similar to\n--load-extension CLI flags. Returns extension ID once the extension\nhas been installed. Available if the client is connected using the\n--remote-debugging-pipe flag and the --enable-unsafe-extension-debugging\nflag is set.",
- "parameters": [
- {
- "name": "path",
- "description": "Absolute file path.",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "id",
- "description": "Extension id.",
- "type": "string"
- }
- ]
- },
- {
- "name": "uninstall",
- "description": "Uninstalls an unpacked extension (others not supported) from the profile.\nAvailable if the client is connected using the --remote-debugging-pipe flag\nand the --enable-unsafe-extension-debugging.",
- "parameters": [
- {
- "name": "id",
- "description": "Extension id.",
- "type": "string"
- }
- ]
- },
- {
- "name": "getStorageItems",
- "description": "Gets data from extension storage in the given `storageArea`. If `keys` is\nspecified, these are used to filter the result.",
- "parameters": [
- {
- "name": "id",
- "description": "ID of extension.",
- "type": "string"
- },
- {
- "name": "storageArea",
- "description": "StorageArea to retrieve data from.",
- "$ref": "StorageArea"
- },
- {
- "name": "keys",
- "description": "Keys to retrieve.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ],
- "returns": [
- {
- "name": "data",
- "type": "object"
- }
- ]
- },
- {
- "name": "removeStorageItems",
- "description": "Removes `keys` from extension storage in the given `storageArea`.",
- "parameters": [
- {
- "name": "id",
- "description": "ID of extension.",
- "type": "string"
- },
- {
- "name": "storageArea",
- "description": "StorageArea to remove data from.",
- "$ref": "StorageArea"
- },
- {
- "name": "keys",
- "description": "Keys to remove.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- {
- "name": "clearStorageItems",
- "description": "Clears extension storage in the given `storageArea`.",
- "parameters": [
- {
- "name": "id",
- "description": "ID of extension.",
- "type": "string"
- },
- {
- "name": "storageArea",
- "description": "StorageArea to remove data from.",
- "$ref": "StorageArea"
- }
- ]
- },
- {
- "name": "setStorageItems",
- "description": "Sets `values` in extension storage in the given `storageArea`. The provided `values`\nwill be merged with existing values in the storage area.",
- "parameters": [
- {
- "name": "id",
- "description": "ID of extension.",
- "type": "string"
- },
- {
- "name": "storageArea",
- "description": "StorageArea to set data in.",
- "$ref": "StorageArea"
- },
- {
- "name": "values",
- "description": "Values to set.",
- "type": "object"
- }
- ]
- }
- ]
- },
{
"domain": "Autofill",
"description": "Defines commands and events for Autofill.",
@@ -2557,7 +2473,7 @@
"properties": [
{
"name": "name",
- "description": "address field name, for example GIVEN_NAME.",
+ "description": "address field name, for example GIVEN_NAME.\nThe full list of supported field names:\nhttps://source.chromium.org/chromium/chromium/src/+/main:components/autofill/core/browser/field_types.cc;l=38",
"type": "string"
},
{
@@ -2705,8 +2621,15 @@
},
{
"name": "card",
- "description": "Credit card information to fill out the form. Credit card data is not saved.",
+ "description": "Credit card information to fill out the form. Credit card data is not saved. Mutually exclusive with `address`.",
+ "optional": true,
"$ref": "CreditCard"
+ },
+ {
+ "name": "address",
+ "description": "Address to fill out the form. Address data is not saved. Mutually exclusive with `card`.",
+ "optional": true,
+ "$ref": "Address"
}
]
},
@@ -2890,2492 +2813,2600 @@
]
},
{
- "domain": "Browser",
- "description": "The Browser domain defines methods and events for browser managing.",
+ "domain": "BluetoothEmulation",
+ "description": "This domain allows configuring virtual Bluetooth devices to test\nthe web-bluetooth API.",
+ "experimental": true,
"types": [
{
- "id": "BrowserContextID",
- "experimental": true,
- "type": "string"
+ "id": "CentralState",
+ "description": "Indicates the various states of Central.",
+ "type": "string",
+ "enum": [
+ "absent",
+ "powered-off",
+ "powered-on"
+ ]
},
{
- "id": "WindowID",
- "experimental": true,
- "type": "integer"
+ "id": "GATTOperationType",
+ "description": "Indicates the various types of GATT event.",
+ "type": "string",
+ "enum": [
+ "connection",
+ "discovery"
+ ]
},
{
- "id": "WindowState",
- "description": "The state of the browser window.",
- "experimental": true,
+ "id": "CharacteristicWriteType",
+ "description": "Indicates the various types of characteristic write.",
"type": "string",
"enum": [
- "normal",
- "minimized",
- "maximized",
- "fullscreen"
+ "write-default-deprecated",
+ "write-with-response",
+ "write-without-response"
]
},
{
- "id": "Bounds",
- "description": "Browser window bounds information",
- "experimental": true,
+ "id": "CharacteristicOperationType",
+ "description": "Indicates the various types of characteristic operation.",
+ "type": "string",
+ "enum": [
+ "read",
+ "write",
+ "subscribe-to-notifications",
+ "unsubscribe-from-notifications"
+ ]
+ },
+ {
+ "id": "DescriptorOperationType",
+ "description": "Indicates the various types of descriptor operation.",
+ "type": "string",
+ "enum": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "id": "ManufacturerData",
+ "description": "Stores the manufacturer data",
"type": "object",
"properties": [
{
- "name": "left",
- "description": "The offset from the left edge of the screen to the window in pixels.",
- "optional": true,
+ "name": "key",
+ "description": "Company identifier\nhttps://bitbucket.org/bluetooth-SIG/public/src/main/assigned_numbers/company_identifiers/company_identifiers.yaml\nhttps://usb.org/developers",
"type": "integer"
},
{
- "name": "top",
- "description": "The offset from the top edge of the screen to the window in pixels.",
+ "name": "data",
+ "description": "Manufacturer-specific data (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "ScanRecord",
+ "description": "Stores the byte data of the advertisement packet sent by a Bluetooth device.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "width",
- "description": "The window width in pixels.",
+ "name": "uuids",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "appearance",
+ "description": "Stores the external appearance description of the device.",
"optional": true,
"type": "integer"
},
{
- "name": "height",
- "description": "The window height in pixels.",
+ "name": "txPower",
+ "description": "Stores the transmission power of a broadcasting device.",
"optional": true,
"type": "integer"
},
{
- "name": "windowState",
- "description": "The window state. Default to normal.",
+ "name": "manufacturerData",
+ "description": "Key is the company identifier and the value is an array of bytes of\nmanufacturer specific data.",
"optional": true,
- "$ref": "WindowState"
+ "type": "array",
+ "items": {
+ "$ref": "ManufacturerData"
+ }
}
]
},
{
- "id": "PermissionType",
- "experimental": true,
- "type": "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"
- ]
- },
- {
- "id": "PermissionSetting",
- "experimental": true,
- "type": "string",
- "enum": [
- "granted",
- "denied",
- "prompt"
+ "id": "ScanEntry",
+ "description": "Stores the advertisement packet information that is sent by a Bluetooth device.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "deviceAddress",
+ "type": "string"
+ },
+ {
+ "name": "rssi",
+ "type": "integer"
+ },
+ {
+ "name": "scanRecord",
+ "$ref": "ScanRecord"
+ }
]
},
{
- "id": "PermissionDescriptor",
- "description": "Definition of PermissionDescriptor defined in the Permissions API:\nhttps://w3c.github.io/permissions/#dom-permissiondescriptor.",
- "experimental": true,
+ "id": "CharacteristicProperties",
+ "description": "Describes the properties of a characteristic. This follows Bluetooth Core\nSpecification BT 4.2 Vol 3 Part G 3.3.1. Characteristic Properties.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Name of permission.\nSee https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.",
- "type": "string"
+ "name": "broadcast",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "sysex",
- "description": "For \"midi\" permission, may also specify sysex control.",
+ "name": "read",
"optional": true,
"type": "boolean"
},
{
- "name": "userVisibleOnly",
- "description": "For \"push\" permission, may specify userVisibleOnly.\nNote that userVisibleOnly = true is the only currently supported type.",
+ "name": "writeWithoutResponse",
"optional": true,
"type": "boolean"
},
{
- "name": "allowWithoutSanitization",
- "description": "For \"clipboard\" permission, may specify allowWithoutSanitization.",
+ "name": "write",
"optional": true,
"type": "boolean"
},
{
- "name": "allowWithoutGesture",
- "description": "For \"fullscreen\" permission, must specify allowWithoutGesture:true.",
+ "name": "notify",
"optional": true,
"type": "boolean"
},
{
- "name": "panTiltZoom",
- "description": "For \"camera\" permission, may specify panTiltZoom.",
+ "name": "indicate",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "authenticatedSignedWrites",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "extendedProperties",
"optional": true,
"type": "boolean"
}
]
- },
- {
- "id": "BrowserCommandId",
- "description": "Browser command ids used by executeBrowserCommand.",
- "experimental": true,
- "type": "string",
- "enum": [
- "openTabSearch",
- "closeTabSearch",
- "openGlic"
- ]
- },
+ }
+ ],
+ "commands": [
{
- "id": "Bucket",
- "description": "Chrome histogram bucket.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "enable",
+ "description": "Enable the BluetoothEmulation domain.",
+ "parameters": [
{
- "name": "low",
- "description": "Minimum value (inclusive).",
- "type": "integer"
+ "name": "state",
+ "description": "State of the simulated central.",
+ "$ref": "CentralState"
},
{
- "name": "high",
- "description": "Maximum value (exclusive).",
- "type": "integer"
- },
+ "name": "leSupported",
+ "description": "If the simulated central supports low-energy.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setSimulatedCentralState",
+ "description": "Set the state of the simulated central.",
+ "parameters": [
{
- "name": "count",
- "description": "Number of samples.",
- "type": "integer"
+ "name": "state",
+ "description": "State of the simulated central.",
+ "$ref": "CentralState"
}
]
},
{
- "id": "Histogram",
- "description": "Chrome histogram.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "disable",
+ "description": "Disable the BluetoothEmulation domain."
+ },
+ {
+ "name": "simulatePreconnectedPeripheral",
+ "description": "Simulates a peripheral with |address|, |name| and |knownServiceUuids|\nthat has already been connected to the system.",
+ "parameters": [
{
- "name": "name",
- "description": "Name.",
+ "name": "address",
"type": "string"
},
{
- "name": "sum",
- "description": "Sum of sample values.",
- "type": "integer"
+ "name": "name",
+ "type": "string"
},
{
- "name": "count",
- "description": "Total number of samples.",
- "type": "integer"
+ "name": "manufacturerData",
+ "type": "array",
+ "items": {
+ "$ref": "ManufacturerData"
+ }
},
{
- "name": "buckets",
- "description": "Buckets.",
+ "name": "knownServiceUuids",
"type": "array",
"items": {
- "$ref": "Bucket"
+ "type": "string"
}
}
]
},
{
- "id": "PrivacySandboxAPI",
- "experimental": true,
- "type": "string",
- "enum": [
- "BiddingAndAuctionServices",
- "TrustedKeyValue"
+ "name": "simulateAdvertisement",
+ "description": "Simulates an advertisement packet described in |entry| being received by\nthe central.",
+ "parameters": [
+ {
+ "name": "entry",
+ "$ref": "ScanEntry"
+ }
]
- }
- ],
- "commands": [
+ },
{
- "name": "setPermission",
- "description": "Set permission settings for given origin.",
- "experimental": true,
+ "name": "simulateGATTOperationResponse",
+ "description": "Simulates the response code from the peripheral with |address| for a\nGATT operation of |type|. The |code| value follows the HCI Error Codes from\nBluetooth Core Specification Vol 2 Part D 1.3 List Of Error Codes.",
"parameters": [
{
- "name": "permission",
- "description": "Descriptor of permission to override.",
- "$ref": "PermissionDescriptor"
- },
- {
- "name": "setting",
- "description": "Setting of the permission.",
- "$ref": "PermissionSetting"
+ "name": "address",
+ "type": "string"
},
{
- "name": "origin",
- "description": "Origin the permission applies to, all origins if not specified.",
- "optional": true,
- "type": "string"
+ "name": "type",
+ "$ref": "GATTOperationType"
},
{
- "name": "browserContextId",
- "description": "Context to override. When omitted, default browser context is used.",
- "optional": true,
- "$ref": "BrowserContextID"
+ "name": "code",
+ "type": "integer"
}
]
},
{
- "name": "grantPermissions",
- "description": "Grant specific permissions to the given origin and reject all others.",
- "experimental": true,
- "parameters": [
+ "name": "simulateCharacteristicOperationResponse",
+ "description": "Simulates the response from the characteristic with |characteristicId| for a\ncharacteristic operation of |type|. The |code| value follows the Error\nCodes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.\nThe |data| is expected to exist when simulating a successful read operation\nresponse.",
+ "parameters": [
{
- "name": "permissions",
- "type": "array",
- "items": {
- "$ref": "PermissionType"
- }
+ "name": "characteristicId",
+ "type": "string"
},
{
- "name": "origin",
- "description": "Origin the permission applies to, all origins if not specified.",
- "optional": true,
- "type": "string"
+ "name": "type",
+ "$ref": "CharacteristicOperationType"
},
{
- "name": "browserContextId",
- "description": "BrowserContext to override permissions. When omitted, default browser context is used.",
- "optional": true,
- "$ref": "BrowserContextID"
- }
- ]
- },
- {
- "name": "resetPermissions",
- "description": "Reset all permission management for all origins.",
- "parameters": [
+ "name": "code",
+ "type": "integer"
+ },
{
- "name": "browserContextId",
- "description": "BrowserContext to reset permissions. When omitted, default browser context is used.",
+ "name": "data",
"optional": true,
- "$ref": "BrowserContextID"
+ "type": "string"
}
]
},
{
- "name": "setDownloadBehavior",
- "description": "Set the behavior when downloading a file.",
- "experimental": true,
+ "name": "simulateDescriptorOperationResponse",
+ "description": "Simulates the response from the descriptor with |descriptorId| for a\ndescriptor operation of |type|. The |code| value follows the Error\nCodes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.\nThe |data| is expected to exist when simulating a successful read operation\nresponse.",
"parameters": [
{
- "name": "behavior",
- "description": "Whether to allow all or deny all download requests, or use default Chrome behavior if\navailable (otherwise deny). |allowAndName| allows download and names files according to\ntheir download guids.",
- "type": "string",
- "enum": [
- "deny",
- "allow",
- "allowAndName",
- "default"
- ]
+ "name": "descriptorId",
+ "type": "string"
},
{
- "name": "browserContextId",
- "description": "BrowserContext to set download behavior. When omitted, default browser context is used.",
- "optional": true,
- "$ref": "BrowserContextID"
+ "name": "type",
+ "$ref": "DescriptorOperationType"
},
{
- "name": "downloadPath",
- "description": "The default path to save downloaded files to. This is required if behavior is set to 'allow'\nor 'allowAndName'.",
- "optional": true,
- "type": "string"
+ "name": "code",
+ "type": "integer"
},
{
- "name": "eventsEnabled",
- "description": "Whether to emit download events (defaults to false).",
+ "name": "data",
"optional": true,
- "type": "boolean"
+ "type": "string"
}
]
},
{
- "name": "cancelDownload",
- "description": "Cancel a download if in progress",
- "experimental": true,
+ "name": "addService",
+ "description": "Adds a service with |serviceUuid| to the peripheral with |address|.",
"parameters": [
{
- "name": "guid",
- "description": "Global unique identifier of the download.",
+ "name": "address",
"type": "string"
},
{
- "name": "browserContextId",
- "description": "BrowserContext to perform the action in. When omitted, default browser context is used.",
- "optional": true,
- "$ref": "BrowserContextID"
+ "name": "serviceUuid",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "serviceId",
+ "description": "An identifier that uniquely represents this service.",
+ "type": "string"
}
]
},
{
- "name": "close",
- "description": "Close browser gracefully."
- },
- {
- "name": "crash",
- "description": "Crashes browser on the main thread.",
- "experimental": true
- },
- {
- "name": "crashGpuProcess",
- "description": "Crashes GPU process.",
- "experimental": true
- },
- {
- "name": "getVersion",
- "description": "Returns version information.",
- "returns": [
+ "name": "removeService",
+ "description": "Removes the service respresented by |serviceId| from the simulated central.",
+ "parameters": [
{
- "name": "protocolVersion",
- "description": "Protocol version.",
+ "name": "serviceId",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "addCharacteristic",
+ "description": "Adds a characteristic with |characteristicUuid| and |properties| to the\nservice represented by |serviceId|.",
+ "parameters": [
{
- "name": "product",
- "description": "Product name.",
+ "name": "serviceId",
"type": "string"
},
{
- "name": "revision",
- "description": "Product revision.",
+ "name": "characteristicUuid",
"type": "string"
},
{
- "name": "userAgent",
- "description": "User-Agent.",
- "type": "string"
- },
+ "name": "properties",
+ "$ref": "CharacteristicProperties"
+ }
+ ],
+ "returns": [
{
- "name": "jsVersion",
- "description": "V8 version.",
+ "name": "characteristicId",
+ "description": "An identifier that uniquely represents this characteristic.",
"type": "string"
}
]
},
{
- "name": "getBrowserCommandLine",
- "description": "Returns the command line switches for the browser process if, and only if\n--enable-automation is on the commandline.",
- "experimental": true,
- "returns": [
+ "name": "removeCharacteristic",
+ "description": "Removes the characteristic respresented by |characteristicId| from the\nsimulated central.",
+ "parameters": [
{
- "name": "arguments",
- "description": "Commandline parameters",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "characteristicId",
+ "type": "string"
}
]
},
{
- "name": "getHistograms",
- "description": "Get Chrome histograms.",
- "experimental": true,
+ "name": "addDescriptor",
+ "description": "Adds a descriptor with |descriptorUuid| to the characteristic respresented\nby |characteristicId|.",
"parameters": [
{
- "name": "query",
- "description": "Requested substring in name. Only histograms which have query as a\nsubstring in their name are extracted. An empty or absent query returns\nall histograms.",
- "optional": true,
+ "name": "characteristicId",
"type": "string"
},
{
- "name": "delta",
- "description": "If true, retrieve delta since last delta call.",
- "optional": true,
- "type": "boolean"
+ "name": "descriptorUuid",
+ "type": "string"
}
],
"returns": [
{
- "name": "histograms",
- "description": "Histograms.",
- "type": "array",
- "items": {
- "$ref": "Histogram"
- }
+ "name": "descriptorId",
+ "description": "An identifier that uniquely represents this descriptor.",
+ "type": "string"
}
]
},
{
- "name": "getHistogram",
- "description": "Get a Chrome histogram by name.",
- "experimental": true,
+ "name": "removeDescriptor",
+ "description": "Removes the descriptor with |descriptorId| from the simulated central.",
"parameters": [
{
- "name": "name",
- "description": "Requested histogram name.",
+ "name": "descriptorId",
"type": "string"
- },
- {
- "name": "delta",
- "description": "If true, retrieve delta since last delta call.",
- "optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "histogram",
- "description": "Histogram.",
- "$ref": "Histogram"
}
]
},
{
- "name": "getWindowBounds",
- "description": "Get position and size of the browser window.",
- "experimental": true,
+ "name": "simulateGATTDisconnection",
+ "description": "Simulates a GATT disconnection from the peripheral with |address|.",
"parameters": [
{
- "name": "windowId",
- "description": "Browser window id.",
- "$ref": "WindowID"
- }
- ],
- "returns": [
- {
- "name": "bounds",
- "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
- "$ref": "Bounds"
+ "name": "address",
+ "type": "string"
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "getWindowForTarget",
- "description": "Get the browser window that contains the devtools target.",
- "experimental": true,
+ "name": "gattOperationReceived",
+ "description": "Event for when a GATT operation of |type| to the peripheral with |address|\nhappened.",
"parameters": [
{
- "name": "targetId",
- "description": "Devtools agent host id. If called as a part of the session, associated targetId is used.",
- "optional": true,
- "$ref": "Target.TargetID"
- }
- ],
- "returns": [
- {
- "name": "windowId",
- "description": "Browser window id.",
- "$ref": "WindowID"
+ "name": "address",
+ "type": "string"
},
{
- "name": "bounds",
- "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
- "$ref": "Bounds"
+ "name": "type",
+ "$ref": "GATTOperationType"
}
]
},
{
- "name": "setWindowBounds",
- "description": "Set position and/or size of the browser window.",
- "experimental": true,
+ "name": "characteristicOperationReceived",
+ "description": "Event for when a characteristic operation of |type| to the characteristic\nrespresented by |characteristicId| happened. |data| and |writeType| is\nexpected to exist when |type| is write.",
"parameters": [
{
- "name": "windowId",
- "description": "Browser window id.",
- "$ref": "WindowID"
+ "name": "characteristicId",
+ "type": "string"
},
{
- "name": "bounds",
- "description": "New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined\nwith 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged.",
- "$ref": "Bounds"
+ "name": "type",
+ "$ref": "CharacteristicOperationType"
+ },
+ {
+ "name": "data",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "writeType",
+ "optional": true,
+ "$ref": "CharacteristicWriteType"
}
]
},
{
- "name": "setDockTile",
- "description": "Set dock tile details, platform-specific.",
- "experimental": true,
+ "name": "descriptorOperationReceived",
+ "description": "Event for when a descriptor operation of |type| to the descriptor\nrespresented by |descriptorId| happened. |data| is expected to exist when\n|type| is write.",
"parameters": [
{
- "name": "badgeLabel",
- "optional": true,
+ "name": "descriptorId",
"type": "string"
},
{
- "name": "image",
- "description": "Png encoded image. (Encoded as a base64 string when passed over JSON)",
+ "name": "type",
+ "$ref": "DescriptorOperationType"
+ },
+ {
+ "name": "data",
"optional": true,
"type": "string"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "Browser",
+ "description": "The Browser domain defines methods and events for browser managing.",
+ "types": [
+ {
+ "id": "BrowserContextID",
+ "experimental": true,
+ "type": "string"
},
{
- "name": "executeBrowserCommand",
- "description": "Invoke custom browser commands used by telemetry.",
+ "id": "WindowID",
"experimental": true,
- "parameters": [
- {
- "name": "commandId",
- "$ref": "BrowserCommandId"
- }
- ]
+ "type": "integer"
},
{
- "name": "addPrivacySandboxEnrollmentOverride",
- "description": "Allows a site to use privacy sandbox features that require enrollment\nwithout the site actually being enrolled. Only supported on page targets.",
- "parameters": [
- {
- "name": "url",
- "type": "string"
- }
+ "id": "WindowState",
+ "description": "The state of the browser window.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "normal",
+ "minimized",
+ "maximized",
+ "fullscreen"
]
},
{
- "name": "addPrivacySandboxCoordinatorKeyConfig",
- "description": "Configures encryption keys used with a given privacy sandbox API to talk\nto a trusted coordinator. Since this is intended for test automation only,\ncoordinatorOrigin must be a .test domain. No existing coordinator\nconfiguration for the origin may exist.",
- "parameters": [
+ "id": "Bounds",
+ "description": "Browser window bounds information",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "api",
- "$ref": "PrivacySandboxAPI"
+ "name": "left",
+ "description": "The offset from the left edge of the screen to the window in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "coordinatorOrigin",
- "type": "string"
+ "name": "top",
+ "description": "The offset from the top edge of the screen to the window in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "keyConfig",
- "type": "string"
+ "name": "width",
+ "description": "The window width in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "browserContextId",
- "description": "BrowserContext to perform the action in. When omitted, default browser\ncontext is used.",
+ "name": "height",
+ "description": "The window height in pixels.",
"optional": true,
- "$ref": "BrowserContextID"
+ "type": "integer"
+ },
+ {
+ "name": "windowState",
+ "description": "The window state. Default to normal.",
+ "optional": true,
+ "$ref": "WindowState"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "downloadWillBegin",
- "description": "Fired when page is about to start a download.",
+ "id": "PermissionType",
"experimental": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "Id of the frame that caused the download to begin.",
- "$ref": "Page.FrameId"
- },
- {
- "name": "guid",
- "description": "Global unique identifier of the download.",
- "type": "string"
- },
- {
- "name": "url",
- "description": "URL of the resource being downloaded.",
- "type": "string"
- },
- {
- "name": "suggestedFilename",
- "description": "Suggested file name of the resource (the actual name of the file saved on disk may differ).",
- "type": "string"
- }
+ "type": "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"
]
},
{
- "name": "downloadProgress",
- "description": "Fired when download makes progress. Last call has |done| == true.",
+ "id": "PermissionSetting",
"experimental": true,
- "parameters": [
+ "type": "string",
+ "enum": [
+ "granted",
+ "denied",
+ "prompt"
+ ]
+ },
+ {
+ "id": "PermissionDescriptor",
+ "description": "Definition of PermissionDescriptor defined in the Permissions API:\nhttps://w3c.github.io/permissions/#dom-permissiondescriptor.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "guid",
- "description": "Global unique identifier of the download.",
+ "name": "name",
+ "description": "Name of permission.\nSee https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.",
"type": "string"
},
{
- "name": "totalBytes",
- "description": "Total expected bytes to download.",
- "type": "number"
+ "name": "sysex",
+ "description": "For \"midi\" permission, may also specify sysex control.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "receivedBytes",
- "description": "Total bytes received.",
- "type": "number"
+ "name": "userVisibleOnly",
+ "description": "For \"push\" permission, may specify userVisibleOnly.\nNote that userVisibleOnly = true is the only currently supported type.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "state",
- "description": "Download status.",
- "type": "string",
- "enum": [
- "inProgress",
- "completed",
- "canceled"
- ]
+ "name": "allowWithoutSanitization",
+ "description": "For \"clipboard\" permission, may specify allowWithoutSanitization.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "filePath",
- "description": "If download is \"completed\", provides the path of the downloaded file.\nDepending on the platform, it is not guaranteed to be set, nor the file\nis guaranteed to exist.",
- "experimental": true,
+ "name": "allowWithoutGesture",
+ "description": "For \"fullscreen\" permission, must specify allowWithoutGesture:true.",
"optional": true,
- "type": "string"
+ "type": "boolean"
+ },
+ {
+ "name": "panTiltZoom",
+ "description": "For \"camera\" permission, may specify panTiltZoom.",
+ "optional": true,
+ "type": "boolean"
}
]
- }
- ]
- },
- {
- "domain": "CSS",
- "description": "This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles)\nhave an associated `id` used in subsequent operations on the related object. Each object type has\na specific `id` structure, and those are not interchangeable between objects of different kinds.\nCSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client\ncan also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and\nsubsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods.",
- "experimental": true,
- "dependencies": [
- "DOM",
- "Page"
- ],
- "types": [
- {
- "id": "StyleSheetId",
- "type": "string"
},
{
- "id": "StyleSheetOrigin",
- "description": "Stylesheet type: \"injected\" for stylesheets injected via extension, \"user-agent\" for user-agent\nstylesheets, \"inspector\" for stylesheets created by the inspector (i.e. those holding the \"via\ninspector\" rules), \"regular\" for regular stylesheets.",
+ "id": "BrowserCommandId",
+ "description": "Browser command ids used by executeBrowserCommand.",
+ "experimental": true,
"type": "string",
"enum": [
- "injected",
- "user-agent",
- "inspector",
- "regular"
+ "openTabSearch",
+ "closeTabSearch",
+ "openGlic"
]
},
{
- "id": "PseudoElementMatches",
- "description": "CSS rule collection for a single pseudo style.",
+ "id": "Bucket",
+ "description": "Chrome histogram bucket.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "pseudoType",
- "description": "Pseudo element type.",
- "$ref": "DOM.PseudoType"
+ "name": "low",
+ "description": "Minimum value (inclusive).",
+ "type": "integer"
},
{
- "name": "pseudoIdentifier",
- "description": "Pseudo element custom ident.",
- "optional": true,
- "type": "string"
+ "name": "high",
+ "description": "Maximum value (exclusive).",
+ "type": "integer"
},
{
- "name": "matches",
- "description": "Matches of CSS rules applicable to the pseudo style.",
- "type": "array",
- "items": {
- "$ref": "RuleMatch"
- }
+ "name": "count",
+ "description": "Number of samples.",
+ "type": "integer"
}
]
},
{
- "id": "CSSAnimationStyle",
- "description": "CSS style coming from animations with the name of the animation.",
+ "id": "Histogram",
+ "description": "Chrome histogram.",
+ "experimental": true,
"type": "object",
"properties": [
{
"name": "name",
- "description": "The name of the animation.",
- "optional": true,
+ "description": "Name.",
"type": "string"
},
{
- "name": "style",
- "description": "The style coming from the animation.",
- "$ref": "CSSStyle"
- }
- ]
- },
- {
- "id": "InheritedStyleEntry",
- "description": "Inherited CSS rule collection from ancestor node.",
- "type": "object",
- "properties": [
+ "name": "sum",
+ "description": "Sum of sample values.",
+ "type": "integer"
+ },
{
- "name": "inlineStyle",
- "description": "The ancestor node's inline style, if any, in the style inheritance chain.",
- "optional": true,
- "$ref": "CSSStyle"
+ "name": "count",
+ "description": "Total number of samples.",
+ "type": "integer"
},
{
- "name": "matchedCSSRules",
- "description": "Matches of CSS rules matching the ancestor node in the style inheritance chain.",
+ "name": "buckets",
+ "description": "Buckets.",
"type": "array",
"items": {
- "$ref": "RuleMatch"
+ "$ref": "Bucket"
}
}
]
},
{
- "id": "InheritedAnimatedStyleEntry",
- "description": "Inherited CSS style collection for animated styles from ancestor node.",
- "type": "object",
- "properties": [
+ "id": "PrivacySandboxAPI",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "BiddingAndAuctionServices",
+ "TrustedKeyValue"
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "setPermission",
+ "description": "Set permission settings for given embedding and embedded origins.",
+ "experimental": true,
+ "parameters": [
{
- "name": "animationStyles",
- "description": "Styles coming from the animations of the ancestor, if any, in the style inheritance chain.",
+ "name": "permission",
+ "description": "Descriptor of permission to override.",
+ "$ref": "PermissionDescriptor"
+ },
+ {
+ "name": "setting",
+ "description": "Setting of the permission.",
+ "$ref": "PermissionSetting"
+ },
+ {
+ "name": "origin",
+ "description": "Embedding origin the permission applies to, all origins if not specified.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSAnimationStyle"
- }
+ "type": "string"
},
{
- "name": "transitionsStyle",
- "description": "The style coming from the transitions of the ancestor, if any, in the style inheritance chain.",
+ "name": "embeddedOrigin",
+ "description": "Embedded origin the permission applies to. It is ignored unless the embedding origin is\npresent and valid. If the embedding origin is provided but the embedded origin isn't, the\nembedding origin is used as the embedded origin.",
"optional": true,
- "$ref": "CSSStyle"
+ "type": "string"
+ },
+ {
+ "name": "browserContextId",
+ "description": "Context to override. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
},
{
- "id": "InheritedPseudoElementMatches",
- "description": "Inherited pseudo element matches from pseudos of an ancestor node.",
- "type": "object",
- "properties": [
+ "name": "grantPermissions",
+ "description": "Grant specific permissions to the given origin and reject all others. Deprecated. Use\nsetPermission instead.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
{
- "name": "pseudoElements",
- "description": "Matches of pseudo styles from the pseudos of an ancestor node.",
+ "name": "permissions",
"type": "array",
"items": {
- "$ref": "PseudoElementMatches"
+ "$ref": "PermissionType"
}
+ },
+ {
+ "name": "origin",
+ "description": "Origin the permission applies to, all origins if not specified.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "browserContextId",
+ "description": "BrowserContext to override permissions. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
},
{
- "id": "RuleMatch",
- "description": "Match data for a CSS rule.",
- "type": "object",
- "properties": [
- {
- "name": "rule",
- "description": "CSS rule in the match.",
- "$ref": "CSSRule"
- },
+ "name": "resetPermissions",
+ "description": "Reset all permission management for all origins.",
+ "parameters": [
{
- "name": "matchingSelectors",
- "description": "Matching selector indices in the rule's selectorList selectors (0-based).",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "browserContextId",
+ "description": "BrowserContext to reset permissions. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
},
{
- "id": "Value",
- "description": "Data for a simple selector (these are delimited by commas in a selector list).",
- "type": "object",
- "properties": [
+ "name": "setDownloadBehavior",
+ "description": "Set the behavior when downloading a file.",
+ "experimental": true,
+ "parameters": [
{
- "name": "text",
- "description": "Value text.",
- "type": "string"
+ "name": "behavior",
+ "description": "Whether to allow all or deny all download requests, or use default Chrome behavior if\navailable (otherwise deny). |allowAndName| allows download and names files according to\ntheir download guids.",
+ "type": "string",
+ "enum": [
+ "deny",
+ "allow",
+ "allowAndName",
+ "default"
+ ]
},
{
- "name": "range",
- "description": "Value range in the underlying resource (if available).",
+ "name": "browserContextId",
+ "description": "BrowserContext to set download behavior. When omitted, default browser context is used.",
"optional": true,
- "$ref": "SourceRange"
+ "$ref": "BrowserContextID"
},
{
- "name": "specificity",
- "description": "Specificity of the selector.",
- "experimental": true,
+ "name": "downloadPath",
+ "description": "The default path to save downloaded files to. This is required if behavior is set to 'allow'\nor 'allowAndName'.",
"optional": true,
- "$ref": "Specificity"
+ "type": "string"
+ },
+ {
+ "name": "eventsEnabled",
+ "description": "Whether to emit download events (defaults to false).",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "Specificity",
- "description": "Specificity:\nhttps://drafts.csswg.org/selectors/#specificity-rules",
+ "name": "cancelDownload",
+ "description": "Cancel a download if in progress",
"experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "a",
- "description": "The a component, which represents the number of ID selectors.",
- "type": "integer"
- },
+ "parameters": [
{
- "name": "b",
- "description": "The b component, which represents the number of class selectors, attributes selectors, and\npseudo-classes.",
- "type": "integer"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "c",
- "description": "The c component, which represents the number of type selectors and pseudo-elements.",
- "type": "integer"
+ "name": "browserContextId",
+ "description": "BrowserContext to perform the action in. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
},
{
- "id": "SelectorList",
- "description": "Selector list data.",
- "type": "object",
- "properties": [
+ "name": "close",
+ "description": "Close browser gracefully."
+ },
+ {
+ "name": "crash",
+ "description": "Crashes browser on the main thread.",
+ "experimental": true
+ },
+ {
+ "name": "crashGpuProcess",
+ "description": "Crashes GPU process.",
+ "experimental": true
+ },
+ {
+ "name": "getVersion",
+ "description": "Returns version information.",
+ "returns": [
{
- "name": "selectors",
- "description": "Selectors in the list.",
- "type": "array",
- "items": {
- "$ref": "Value"
- }
+ "name": "protocolVersion",
+ "description": "Protocol version.",
+ "type": "string"
},
{
- "name": "text",
- "description": "Rule selector text.",
+ "name": "product",
+ "description": "Product name.",
"type": "string"
- }
- ]
- },
- {
- "id": "CSSStyleSheetHeader",
- "description": "CSS stylesheet metainformation.",
- "type": "object",
- "properties": [
- {
- "name": "styleSheetId",
- "description": "The stylesheet identifier.",
- "$ref": "StyleSheetId"
- },
- {
- "name": "frameId",
- "description": "Owner frame identifier.",
- "$ref": "Page.FrameId"
},
{
- "name": "sourceURL",
- "description": "Stylesheet resource URL. Empty if this is a constructed stylesheet created using\nnew CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported\nas a CSS module script).",
+ "name": "revision",
+ "description": "Product revision.",
"type": "string"
},
{
- "name": "sourceMapURL",
- "description": "URL of source map associated with the stylesheet (if any).",
- "optional": true,
+ "name": "userAgent",
+ "description": "User-Agent.",
"type": "string"
},
{
- "name": "origin",
- "description": "Stylesheet origin.",
- "$ref": "StyleSheetOrigin"
- },
- {
- "name": "title",
- "description": "Stylesheet title.",
+ "name": "jsVersion",
+ "description": "V8 version.",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "getBrowserCommandLine",
+ "description": "Returns the command line switches for the browser process if, and only if\n--enable-automation is on the commandline.",
+ "experimental": true,
+ "returns": [
{
- "name": "ownerNode",
- "description": "The backend id for the owner node of the stylesheet.",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
- },
+ "name": "arguments",
+ "description": "Commandline parameters",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getHistograms",
+ "description": "Get Chrome histograms.",
+ "experimental": true,
+ "parameters": [
{
- "name": "disabled",
- "description": "Denotes whether the stylesheet is disabled.",
- "type": "boolean"
+ "name": "query",
+ "description": "Requested substring in name. Only histograms which have query as a\nsubstring in their name are extracted. An empty or absent query returns\nall histograms.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "hasSourceURL",
- "description": "Whether the sourceURL field value comes from the sourceURL comment.",
+ "name": "delta",
+ "description": "If true, retrieve delta since last delta call.",
"optional": true,
"type": "boolean"
- },
+ }
+ ],
+ "returns": [
{
- "name": "isInline",
- "description": "Whether this stylesheet is created for STYLE tag by parser. This flag is not set for\ndocument.written STYLE tags.",
- "type": "boolean"
- },
+ "name": "histograms",
+ "description": "Histograms.",
+ "type": "array",
+ "items": {
+ "$ref": "Histogram"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getHistogram",
+ "description": "Get a Chrome histogram by name.",
+ "experimental": true,
+ "parameters": [
{
- "name": "isMutable",
- "description": "Whether this stylesheet is mutable. Inline stylesheets become mutable\nafter they have been modified via CSSOM API.\n`` element's stylesheets become mutable only if DevTools modifies them.\nConstructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation.",
- "type": "boolean"
+ "name": "name",
+ "description": "Requested histogram name.",
+ "type": "string"
},
{
- "name": "isConstructed",
- "description": "True if this stylesheet is created through new CSSStyleSheet() or imported as a\nCSS module script.",
+ "name": "delta",
+ "description": "If true, retrieve delta since last delta call.",
+ "optional": true,
"type": "boolean"
- },
+ }
+ ],
+ "returns": [
{
- "name": "startLine",
- "description": "Line offset of the stylesheet within the resource (zero based).",
- "type": "number"
- },
+ "name": "histogram",
+ "description": "Histogram.",
+ "$ref": "Histogram"
+ }
+ ]
+ },
+ {
+ "name": "getWindowBounds",
+ "description": "Get position and size of the browser window.",
+ "experimental": true,
+ "parameters": [
{
- "name": "startColumn",
- "description": "Column offset of the stylesheet within the resource (zero based).",
- "type": "number"
- },
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
+ }
+ ],
+ "returns": [
{
- "name": "length",
- "description": "Size of the content (in characters).",
- "type": "number"
- },
+ "name": "bounds",
+ "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
+ "$ref": "Bounds"
+ }
+ ]
+ },
+ {
+ "name": "getWindowForTarget",
+ "description": "Get the browser window that contains the devtools target.",
+ "experimental": true,
+ "parameters": [
{
- "name": "endLine",
- "description": "Line offset of the end of the stylesheet within the resource (zero based).",
- "type": "number"
- },
+ "name": "targetId",
+ "description": "Devtools agent host id. If called as a part of the session, associated targetId is used.",
+ "optional": true,
+ "$ref": "Target.TargetID"
+ }
+ ],
+ "returns": [
{
- "name": "endColumn",
- "description": "Column offset of the end of the stylesheet within the resource (zero based).",
- "type": "number"
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
},
{
- "name": "loadingFailed",
- "description": "If the style sheet was loaded from a network resource, this indicates when the resource failed to load",
- "experimental": true,
- "optional": true,
- "type": "boolean"
+ "name": "bounds",
+ "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
+ "$ref": "Bounds"
}
]
},
{
- "id": "CSSRule",
- "description": "CSS rule representation.",
- "type": "object",
- "properties": [
- {
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
- "optional": true,
- "$ref": "StyleSheetId"
- },
+ "name": "setWindowBounds",
+ "description": "Set position and/or size of the browser window.",
+ "experimental": true,
+ "parameters": [
{
- "name": "selectorList",
- "description": "Rule selector data.",
- "$ref": "SelectorList"
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
},
{
- "name": "nestingSelectors",
- "description": "Array of selectors from ancestor style rules, sorted by distance from the current rule.",
- "experimental": true,
- "optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
+ "name": "bounds",
+ "description": "New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined\nwith 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged.",
+ "$ref": "Bounds"
+ }
+ ]
+ },
+ {
+ "name": "setContentsSize",
+ "description": "Set size of the browser contents resizing browser window as necessary.",
+ "experimental": true,
+ "parameters": [
{
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
+ "name": "width",
+ "description": "The window contents width in DIP. Assumes current width if omitted.\nMust be specified if 'height' is omitted.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "media",
- "description": "Media list array (for rules involving media queries). The array enumerates media queries\nstarting with the innermost one, going outwards.",
+ "name": "height",
+ "description": "The window contents height in DIP. Assumes current height if omitted.\nMust be specified if 'width' is omitted.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSMedia"
- }
- },
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "setDockTile",
+ "description": "Set dock tile details, platform-specific.",
+ "experimental": true,
+ "parameters": [
{
- "name": "containerQueries",
- "description": "Container query list array (for rules involving container queries).\nThe array enumerates container queries starting with the innermost one, going outwards.",
- "experimental": true,
+ "name": "badgeLabel",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSContainerQuery"
- }
+ "type": "string"
},
{
- "name": "supports",
- "description": "@supports CSS at-rule array.\nThe array enumerates @supports at-rules starting with the innermost one, going outwards.",
- "experimental": true,
+ "name": "image",
+ "description": "Png encoded image. (Encoded as a base64 string when passed over JSON)",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSSupports"
- }
- },
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "executeBrowserCommand",
+ "description": "Invoke custom browser commands used by telemetry.",
+ "experimental": true,
+ "parameters": [
{
- "name": "layers",
- "description": "Cascade layer array. Contains the layer hierarchy that this rule belongs to starting\nwith the innermost layer and going outwards.",
- "experimental": true,
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSLayer"
- }
+ "name": "commandId",
+ "$ref": "BrowserCommandId"
+ }
+ ]
+ },
+ {
+ "name": "addPrivacySandboxEnrollmentOverride",
+ "description": "Allows a site to use privacy sandbox features that require enrollment\nwithout the site actually being enrolled. Only supported on page targets.",
+ "parameters": [
+ {
+ "name": "url",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "addPrivacySandboxCoordinatorKeyConfig",
+ "description": "Configures encryption keys used with a given privacy sandbox API to talk\nto a trusted coordinator. Since this is intended for test automation only,\ncoordinatorOrigin must be a .test domain. No existing coordinator\nconfiguration for the origin may exist.",
+ "parameters": [
+ {
+ "name": "api",
+ "$ref": "PrivacySandboxAPI"
},
{
- "name": "scopes",
- "description": "@scope CSS at-rule array.\nThe array enumerates @scope at-rules starting with the innermost one, going outwards.",
- "experimental": true,
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSScope"
- }
+ "name": "coordinatorOrigin",
+ "type": "string"
},
{
- "name": "ruleTypes",
- "description": "The array keeps the types of ancestor CSSRules from the innermost going outwards.",
- "experimental": true,
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSRuleType"
- }
+ "name": "keyConfig",
+ "type": "string"
},
{
- "name": "startingStyles",
- "description": "@starting-style CSS at-rule array.\nThe array enumerates @starting-style at-rules starting with the innermost one, going outwards.",
- "experimental": true,
+ "name": "browserContextId",
+ "description": "BrowserContext to perform the action in. When omitted, default browser\ncontext is used.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSStartingStyle"
- }
+ "$ref": "BrowserContextID"
}
]
- },
+ }
+ ],
+ "events": [
{
- "id": "CSSRuleType",
- "description": "Enum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors.\nThis list only contains rule types that are collected during the ancestor rule collection.",
+ "name": "downloadWillBegin",
+ "description": "Fired when page is about to start a download.",
"experimental": true,
- "type": "string",
- "enum": [
- "MediaRule",
- "SupportsRule",
- "ContainerRule",
- "LayerRule",
- "ScopeRule",
- "StyleRule",
- "StartingStyleRule"
- ]
- },
- {
- "id": "RuleUsage",
- "description": "CSS coverage information.",
- "type": "object",
- "properties": [
+ "parameters": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
- "$ref": "StyleSheetId"
+ "name": "frameId",
+ "description": "Id of the frame that caused the download to begin.",
+ "$ref": "Page.FrameId"
},
{
- "name": "startOffset",
- "description": "Offset of the start of the rule (including selector) from the beginning of the stylesheet.",
- "type": "number"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "endOffset",
- "description": "Offset of the end of the rule body from the beginning of the stylesheet.",
- "type": "number"
+ "name": "url",
+ "description": "URL of the resource being downloaded.",
+ "type": "string"
},
{
- "name": "used",
- "description": "Indicates whether the rule was actually used by some element in the page.",
- "type": "boolean"
+ "name": "suggestedFilename",
+ "description": "Suggested file name of the resource (the actual name of the file saved on disk may differ).",
+ "type": "string"
}
]
},
{
- "id": "SourceRange",
- "description": "Text range within a resource. All numbers are zero-based.",
- "type": "object",
- "properties": [
+ "name": "downloadProgress",
+ "description": "Fired when download makes progress. Last call has |done| == true.",
+ "experimental": true,
+ "parameters": [
{
- "name": "startLine",
- "description": "Start line of range.",
- "type": "integer"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "startColumn",
- "description": "Start column of range (inclusive).",
- "type": "integer"
+ "name": "totalBytes",
+ "description": "Total expected bytes to download.",
+ "type": "number"
},
{
- "name": "endLine",
- "description": "End line of range",
- "type": "integer"
+ "name": "receivedBytes",
+ "description": "Total bytes received.",
+ "type": "number"
},
{
- "name": "endColumn",
- "description": "End column of range (exclusive).",
- "type": "integer"
+ "name": "state",
+ "description": "Download status.",
+ "type": "string",
+ "enum": [
+ "inProgress",
+ "completed",
+ "canceled"
+ ]
+ },
+ {
+ "name": "filePath",
+ "description": "If download is \"completed\", provides the path of the downloaded file.\nDepending on the platform, it is not guaranteed to be set, nor the file\nis guaranteed to exist.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "CSS",
+ "description": "This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles)\nhave an associated `id` used in subsequent operations on the related object. Each object type has\na specific `id` structure, and those are not interchangeable between objects of different kinds.\nCSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client\ncan also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and\nsubsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods.",
+ "experimental": true,
+ "dependencies": [
+ "DOM",
+ "Page"
+ ],
+ "types": [
+ {
+ "id": "StyleSheetId",
+ "type": "string"
},
{
- "id": "ShorthandEntry",
+ "id": "StyleSheetOrigin",
+ "description": "Stylesheet type: \"injected\" for stylesheets injected via extension, \"user-agent\" for user-agent\nstylesheets, \"inspector\" for stylesheets created by the inspector (i.e. those holding the \"via\ninspector\" rules), \"regular\" for regular stylesheets.",
+ "type": "string",
+ "enum": [
+ "injected",
+ "user-agent",
+ "inspector",
+ "regular"
+ ]
+ },
+ {
+ "id": "PseudoElementMatches",
+ "description": "CSS rule collection for a single pseudo style.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Shorthand name.",
- "type": "string"
+ "name": "pseudoType",
+ "description": "Pseudo element type.",
+ "$ref": "DOM.PseudoType"
},
{
- "name": "value",
- "description": "Shorthand value.",
+ "name": "pseudoIdentifier",
+ "description": "Pseudo element custom ident.",
+ "optional": true,
"type": "string"
},
{
- "name": "important",
- "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
- "optional": true,
- "type": "boolean"
+ "name": "matches",
+ "description": "Matches of CSS rules applicable to the pseudo style.",
+ "type": "array",
+ "items": {
+ "$ref": "RuleMatch"
+ }
}
]
},
{
- "id": "CSSComputedStyleProperty",
+ "id": "CSSAnimationStyle",
+ "description": "CSS style coming from animations with the name of the animation.",
"type": "object",
"properties": [
{
"name": "name",
- "description": "Computed style property name.",
+ "description": "The name of the animation.",
+ "optional": true,
"type": "string"
},
{
- "name": "value",
- "description": "Computed style property value.",
- "type": "string"
+ "name": "style",
+ "description": "The style coming from the animation.",
+ "$ref": "CSSStyle"
}
]
},
{
- "id": "CSSStyle",
- "description": "CSS style representation.",
+ "id": "InheritedStyleEntry",
+ "description": "Inherited CSS rule collection from ancestor node.",
"type": "object",
"properties": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "name": "inlineStyle",
+ "description": "The ancestor node's inline style, if any, in the style inheritance chain.",
"optional": true,
- "$ref": "StyleSheetId"
+ "$ref": "CSSStyle"
},
{
- "name": "cssProperties",
- "description": "CSS properties in the style.",
+ "name": "matchedCSSRules",
+ "description": "Matches of CSS rules matching the ancestor node in the style inheritance chain.",
"type": "array",
"items": {
- "$ref": "CSSProperty"
+ "$ref": "RuleMatch"
}
- },
+ }
+ ]
+ },
+ {
+ "id": "InheritedAnimatedStyleEntry",
+ "description": "Inherited CSS style collection for animated styles from ancestor node.",
+ "type": "object",
+ "properties": [
{
- "name": "shorthandEntries",
- "description": "Computed values for all shorthands found in the style.",
- "type": "array",
+ "name": "animationStyles",
+ "description": "Styles coming from the animations of the ancestor, if any, in the style inheritance chain.",
+ "optional": true,
+ "type": "array",
"items": {
- "$ref": "ShorthandEntry"
+ "$ref": "CSSAnimationStyle"
}
},
{
- "name": "cssText",
- "description": "Style declaration text (if available).",
- "optional": true,
- "type": "string"
- },
- {
- "name": "range",
- "description": "Style declaration range in the enclosing stylesheet (if available).",
+ "name": "transitionsStyle",
+ "description": "The style coming from the transitions of the ancestor, if any, in the style inheritance chain.",
"optional": true,
- "$ref": "SourceRange"
+ "$ref": "CSSStyle"
}
]
},
{
- "id": "CSSProperty",
- "description": "CSS property declaration data.",
+ "id": "InheritedPseudoElementMatches",
+ "description": "Inherited pseudo element matches from pseudos of an ancestor node.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "The property name.",
- "type": "string"
- },
- {
- "name": "value",
- "description": "The property value.",
- "type": "string"
- },
+ "name": "pseudoElements",
+ "description": "Matches of pseudo styles from the pseudos of an ancestor node.",
+ "type": "array",
+ "items": {
+ "$ref": "PseudoElementMatches"
+ }
+ }
+ ]
+ },
+ {
+ "id": "RuleMatch",
+ "description": "Match data for a CSS rule.",
+ "type": "object",
+ "properties": [
{
- "name": "important",
- "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
- "optional": true,
- "type": "boolean"
+ "name": "rule",
+ "description": "CSS rule in the match.",
+ "$ref": "CSSRule"
},
{
- "name": "implicit",
- "description": "Whether the property is implicit (implies `false` if absent).",
- "optional": true,
- "type": "boolean"
- },
+ "name": "matchingSelectors",
+ "description": "Matching selector indices in the rule's selectorList selectors (0-based).",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ ]
+ },
+ {
+ "id": "Value",
+ "description": "Data for a simple selector (these are delimited by commas in a selector list).",
+ "type": "object",
+ "properties": [
{
"name": "text",
- "description": "The full property text as specified in the style.",
- "optional": true,
+ "description": "Value text.",
"type": "string"
},
- {
- "name": "parsedOk",
- "description": "Whether the property is understood by the browser (implies `true` if absent).",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "disabled",
- "description": "Whether the property is disabled by the user (present for source-based properties only).",
- "optional": true,
- "type": "boolean"
- },
{
"name": "range",
- "description": "The entire property range in the enclosing style declaration (if available).",
+ "description": "Value range in the underlying resource (if available).",
"optional": true,
"$ref": "SourceRange"
},
{
- "name": "longhandProperties",
- "description": "Parsed longhand components of this property if it is a shorthand.\nThis field will be empty if the given property is not a shorthand.",
+ "name": "specificity",
+ "description": "Specificity of the selector.",
"experimental": true,
"optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSProperty"
- }
+ "$ref": "Specificity"
}
]
},
{
- "id": "CSSMedia",
- "description": "CSS media rule descriptor.",
+ "id": "Specificity",
+ "description": "Specificity:\nhttps://drafts.csswg.org/selectors/#specificity-rules",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "text",
- "description": "Media query text.",
- "type": "string"
- },
- {
- "name": "source",
- "description": "Source of the media query: \"mediaRule\" if specified by a @media rule, \"importRule\" if\nspecified by an @import rule, \"linkedSheet\" if specified by a \"media\" attribute in a linked\nstylesheet's LINK tag, \"inlineSheet\" if specified by a \"media\" attribute in an inline\nstylesheet's STYLE tag.",
- "type": "string",
- "enum": [
- "mediaRule",
- "importRule",
- "linkedSheet",
- "inlineSheet"
- ]
- },
- {
- "name": "sourceURL",
- "description": "URL of the document containing the media query description.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "range",
- "description": "The associated rule (@media or @import) header range in the enclosing stylesheet (if\navailable).",
- "optional": true,
- "$ref": "SourceRange"
+ "name": "a",
+ "description": "The a component, which represents the number of ID selectors.",
+ "type": "integer"
},
{
- "name": "styleSheetId",
- "description": "Identifier of the stylesheet containing this object (if exists).",
- "optional": true,
- "$ref": "StyleSheetId"
+ "name": "b",
+ "description": "The b component, which represents the number of class selectors, attributes selectors, and\npseudo-classes.",
+ "type": "integer"
},
{
- "name": "mediaList",
- "description": "Array of media queries.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "MediaQuery"
- }
+ "name": "c",
+ "description": "The c component, which represents the number of type selectors and pseudo-elements.",
+ "type": "integer"
}
]
},
{
- "id": "MediaQuery",
- "description": "Media query descriptor.",
+ "id": "SelectorList",
+ "description": "Selector list data.",
"type": "object",
"properties": [
{
- "name": "expressions",
- "description": "Array of media query expressions.",
+ "name": "selectors",
+ "description": "Selectors in the list.",
"type": "array",
"items": {
- "$ref": "MediaQueryExpression"
+ "$ref": "Value"
}
},
{
- "name": "active",
- "description": "Whether the media query condition is satisfied.",
- "type": "boolean"
+ "name": "text",
+ "description": "Rule selector text.",
+ "type": "string"
}
]
},
{
- "id": "MediaQueryExpression",
- "description": "Media query expression descriptor.",
+ "id": "CSSStyleSheetHeader",
+ "description": "CSS stylesheet metainformation.",
"type": "object",
"properties": [
{
- "name": "value",
- "description": "Media query expression value.",
- "type": "number"
+ "name": "styleSheetId",
+ "description": "The stylesheet identifier.",
+ "$ref": "StyleSheetId"
},
{
- "name": "unit",
- "description": "Media query expression units.",
- "type": "string"
+ "name": "frameId",
+ "description": "Owner frame identifier.",
+ "$ref": "Page.FrameId"
},
{
- "name": "feature",
- "description": "Media query expression feature.",
+ "name": "sourceURL",
+ "description": "Stylesheet resource URL. Empty if this is a constructed stylesheet created using\nnew CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported\nas a CSS module script).",
"type": "string"
},
{
- "name": "valueRange",
- "description": "The associated range of the value text in the enclosing stylesheet (if available).",
+ "name": "sourceMapURL",
+ "description": "URL of source map associated with the stylesheet (if any).",
"optional": true,
- "$ref": "SourceRange"
+ "type": "string"
},
{
- "name": "computedLength",
- "description": "Computed length of media query expression (if applicable).",
- "optional": true,
- "type": "number"
- }
- ]
- },
- {
- "id": "CSSContainerQuery",
- "description": "CSS container query rule descriptor.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "origin",
+ "description": "Stylesheet origin.",
+ "$ref": "StyleSheetOrigin"
+ },
{
- "name": "text",
- "description": "Container query text.",
+ "name": "title",
+ "description": "Stylesheet title.",
"type": "string"
},
{
- "name": "range",
- "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "name": "ownerNode",
+ "description": "The backend id for the owner node of the stylesheet.",
"optional": true,
- "$ref": "SourceRange"
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "styleSheetId",
- "description": "Identifier of the stylesheet containing this object (if exists).",
- "optional": true,
- "$ref": "StyleSheetId"
+ "name": "disabled",
+ "description": "Denotes whether the stylesheet is disabled.",
+ "type": "boolean"
},
{
- "name": "name",
- "description": "Optional name for the container.",
+ "name": "hasSourceURL",
+ "description": "Whether the sourceURL field value comes from the sourceURL comment.",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "physicalAxes",
- "description": "Optional physical axes queried for the container.",
- "optional": true,
- "$ref": "DOM.PhysicalAxes"
+ "name": "isInline",
+ "description": "Whether this stylesheet is created for STYLE tag by parser. This flag is not set for\ndocument.written STYLE tags.",
+ "type": "boolean"
},
{
- "name": "logicalAxes",
- "description": "Optional logical axes queried for the container.",
- "optional": true,
- "$ref": "DOM.LogicalAxes"
+ "name": "isMutable",
+ "description": "Whether this stylesheet is mutable. Inline stylesheets become mutable\nafter they have been modified via CSSOM API.\n`` element's stylesheets become mutable only if DevTools modifies them.\nConstructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation.",
+ "type": "boolean"
},
{
- "name": "queriesScrollState",
- "description": "true if the query contains scroll-state() queries.",
- "optional": true,
+ "name": "isConstructed",
+ "description": "True if this stylesheet is created through new CSSStyleSheet() or imported as a\nCSS module script.",
"type": "boolean"
- }
- ]
- },
- {
- "id": "CSSSupports",
- "description": "CSS Supports at-rule descriptor.",
- "experimental": true,
- "type": "object",
- "properties": [
+ },
{
- "name": "text",
- "description": "Supports rule text.",
- "type": "string"
+ "name": "startLine",
+ "description": "Line offset of the stylesheet within the resource (zero based).",
+ "type": "number"
},
{
- "name": "active",
- "description": "Whether the supports condition is satisfied.",
- "type": "boolean"
+ "name": "startColumn",
+ "description": "Column offset of the stylesheet within the resource (zero based).",
+ "type": "number"
},
{
- "name": "range",
- "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
- "optional": true,
- "$ref": "SourceRange"
+ "name": "length",
+ "description": "Size of the content (in characters).",
+ "type": "number"
},
{
- "name": "styleSheetId",
- "description": "Identifier of the stylesheet containing this object (if exists).",
+ "name": "endLine",
+ "description": "Line offset of the end of the stylesheet within the resource (zero based).",
+ "type": "number"
+ },
+ {
+ "name": "endColumn",
+ "description": "Column offset of the end of the stylesheet within the resource (zero based).",
+ "type": "number"
+ },
+ {
+ "name": "loadingFailed",
+ "description": "If the style sheet was loaded from a network resource, this indicates when the resource failed to load",
+ "experimental": true,
"optional": true,
- "$ref": "StyleSheetId"
+ "type": "boolean"
}
]
},
{
- "id": "CSSScope",
- "description": "CSS Scope at-rule descriptor.",
- "experimental": true,
+ "id": "CSSRule",
+ "description": "CSS rule representation.",
"type": "object",
"properties": [
{
- "name": "text",
- "description": "Scope rule text.",
- "type": "string"
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "optional": true,
+ "$ref": "StyleSheetId"
},
{
- "name": "range",
- "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "name": "selectorList",
+ "description": "Rule selector data.",
+ "$ref": "SelectorList"
+ },
+ {
+ "name": "nestingSelectors",
+ "description": "Array of selectors from ancestor style rules, sorted by distance from the current rule.",
+ "experimental": true,
"optional": true,
- "$ref": "SourceRange"
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "styleSheetId",
- "description": "Identifier of the stylesheet containing this object (if exists).",
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
+ },
+ {
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
+ },
+ {
+ "name": "originTreeScopeNodeId",
+ "description": "The BackendNodeId of the DOM node that constitutes the origin tree scope of this rule.",
+ "experimental": true,
"optional": true,
- "$ref": "StyleSheetId"
- }
- ]
- },
- {
- "id": "CSSLayer",
- "description": "CSS Layer at-rule descriptor.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "$ref": "DOM.BackendNodeId"
+ },
{
- "name": "text",
- "description": "Layer name.",
- "type": "string"
+ "name": "media",
+ "description": "Media list array (for rules involving media queries). The array enumerates media queries\nstarting with the innermost one, going outwards.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSMedia"
+ }
},
{
- "name": "range",
- "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "name": "containerQueries",
+ "description": "Container query list array (for rules involving container queries).\nThe array enumerates container queries starting with the innermost one, going outwards.",
+ "experimental": true,
"optional": true,
- "$ref": "SourceRange"
+ "type": "array",
+ "items": {
+ "$ref": "CSSContainerQuery"
+ }
},
{
- "name": "styleSheetId",
- "description": "Identifier of the stylesheet containing this object (if exists).",
+ "name": "supports",
+ "description": "@supports CSS at-rule array.\nThe array enumerates @supports at-rules starting with the innermost one, going outwards.",
+ "experimental": true,
"optional": true,
- "$ref": "StyleSheetId"
- }
- ]
- },
- {
- "id": "CSSStartingStyle",
- "description": "CSS Starting Style at-rule descriptor.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "type": "array",
+ "items": {
+ "$ref": "CSSSupports"
+ }
+ },
{
- "name": "range",
- "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "name": "layers",
+ "description": "Cascade layer array. Contains the layer hierarchy that this rule belongs to starting\nwith the innermost layer and going outwards.",
+ "experimental": true,
"optional": true,
- "$ref": "SourceRange"
+ "type": "array",
+ "items": {
+ "$ref": "CSSLayer"
+ }
},
{
- "name": "styleSheetId",
- "description": "Identifier of the stylesheet containing this object (if exists).",
+ "name": "scopes",
+ "description": "@scope CSS at-rule array.\nThe array enumerates @scope at-rules starting with the innermost one, going outwards.",
+ "experimental": true,
"optional": true,
- "$ref": "StyleSheetId"
+ "type": "array",
+ "items": {
+ "$ref": "CSSScope"
+ }
+ },
+ {
+ "name": "ruleTypes",
+ "description": "The array keeps the types of ancestor CSSRules from the innermost going outwards.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSRuleType"
+ }
+ },
+ {
+ "name": "startingStyles",
+ "description": "@starting-style CSS at-rule array.\nThe array enumerates @starting-style at-rules starting with the innermost one, going outwards.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSStartingStyle"
+ }
}
]
},
{
- "id": "CSSLayerData",
- "description": "CSS Layer data.",
+ "id": "CSSRuleType",
+ "description": "Enum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors.\nThis list only contains rule types that are collected during the ancestor rule collection.",
"experimental": true,
+ "type": "string",
+ "enum": [
+ "MediaRule",
+ "SupportsRule",
+ "ContainerRule",
+ "LayerRule",
+ "ScopeRule",
+ "StyleRule",
+ "StartingStyleRule"
+ ]
+ },
+ {
+ "id": "RuleUsage",
+ "description": "CSS coverage information.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Layer name.",
- "type": "string"
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "$ref": "StyleSheetId"
},
{
- "name": "subLayers",
- "description": "Direct sub-layers",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSLayerData"
- }
+ "name": "startOffset",
+ "description": "Offset of the start of the rule (including selector) from the beginning of the stylesheet.",
+ "type": "number"
},
{
- "name": "order",
- "description": "Layer order. The order determines the order of the layer in the cascade order.\nA higher number has higher priority in the cascade order.",
+ "name": "endOffset",
+ "description": "Offset of the end of the rule body from the beginning of the stylesheet.",
"type": "number"
+ },
+ {
+ "name": "used",
+ "description": "Indicates whether the rule was actually used by some element in the page.",
+ "type": "boolean"
}
]
},
{
- "id": "PlatformFontUsage",
- "description": "Information about amount of glyphs that were rendered with given font.",
+ "id": "SourceRange",
+ "description": "Text range within a resource. All numbers are zero-based.",
"type": "object",
"properties": [
{
- "name": "familyName",
- "description": "Font's family name reported by platform.",
- "type": "string"
+ "name": "startLine",
+ "description": "Start line of range.",
+ "type": "integer"
},
{
- "name": "postScriptName",
- "description": "Font's PostScript name reported by platform.",
- "type": "string"
+ "name": "startColumn",
+ "description": "Start column of range (inclusive).",
+ "type": "integer"
},
{
- "name": "isCustomFont",
- "description": "Indicates if the font was downloaded or resolved locally.",
- "type": "boolean"
+ "name": "endLine",
+ "description": "End line of range",
+ "type": "integer"
},
{
- "name": "glyphCount",
- "description": "Amount of glyphs that were rendered with this font.",
- "type": "number"
+ "name": "endColumn",
+ "description": "End column of range (exclusive).",
+ "type": "integer"
}
]
},
{
- "id": "FontVariationAxis",
- "description": "Information about font variation axes for variable fonts",
+ "id": "ShorthandEntry",
"type": "object",
"properties": [
{
- "name": "tag",
- "description": "The font-variation-setting tag (a.k.a. \"axis tag\").",
+ "name": "name",
+ "description": "Shorthand name.",
"type": "string"
},
{
- "name": "name",
- "description": "Human-readable variation name in the default language (normally, \"en\").",
+ "name": "value",
+ "description": "Shorthand value.",
"type": "string"
},
{
- "name": "minValue",
- "description": "The minimum value (inclusive) the font supports for this tag.",
- "type": "number"
- },
+ "name": "important",
+ "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "CSSComputedStyleProperty",
+ "type": "object",
+ "properties": [
{
- "name": "maxValue",
- "description": "The maximum value (inclusive) the font supports for this tag.",
- "type": "number"
+ "name": "name",
+ "description": "Computed style property name.",
+ "type": "string"
},
{
- "name": "defaultValue",
- "description": "The default value.",
- "type": "number"
+ "name": "value",
+ "description": "Computed style property value.",
+ "type": "string"
}
]
},
{
- "id": "FontFace",
- "description": "Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions\nand additional information such as platformFontFamily and fontVariationAxes.",
+ "id": "ComputedStyleExtraFields",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "fontFamily",
- "description": "The font-family.",
- "type": "string"
+ "name": "isAppearanceBase",
+ "description": "Returns whether or not this node is being rendered with base appearance,\nwhich happens when it has its appearance property set to base/base-select\nor it is in the subtree of an element being rendered with base appearance.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "CSSStyle",
+ "description": "CSS style representation.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "optional": true,
+ "$ref": "StyleSheetId"
},
{
- "name": "fontStyle",
- "description": "The font-style.",
- "type": "string"
+ "name": "cssProperties",
+ "description": "CSS properties in the style.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSProperty"
+ }
},
{
- "name": "fontVariant",
- "description": "The font-variant.",
- "type": "string"
+ "name": "shorthandEntries",
+ "description": "Computed values for all shorthands found in the style.",
+ "type": "array",
+ "items": {
+ "$ref": "ShorthandEntry"
+ }
},
{
- "name": "fontWeight",
- "description": "The font-weight.",
+ "name": "cssText",
+ "description": "Style declaration text (if available).",
+ "optional": true,
"type": "string"
},
{
- "name": "fontStretch",
- "description": "The font-stretch.",
+ "name": "range",
+ "description": "Style declaration range in the enclosing stylesheet (if available).",
+ "optional": true,
+ "$ref": "SourceRange"
+ }
+ ]
+ },
+ {
+ "id": "CSSProperty",
+ "description": "CSS property declaration data.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "The property name.",
"type": "string"
},
{
- "name": "fontDisplay",
- "description": "The font-display.",
+ "name": "value",
+ "description": "The property value.",
"type": "string"
},
{
- "name": "unicodeRange",
- "description": "The unicode-range.",
- "type": "string"
+ "name": "important",
+ "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "src",
- "description": "The src.",
- "type": "string"
+ "name": "implicit",
+ "description": "Whether the property is implicit (implies `false` if absent).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "platformFontFamily",
- "description": "The resolved platform font family",
+ "name": "text",
+ "description": "The full property text as specified in the style.",
+ "optional": true,
"type": "string"
},
{
- "name": "fontVariationAxes",
- "description": "Available variation settings (a.k.a. \"axes\").",
+ "name": "parsedOk",
+ "description": "Whether the property is understood by the browser (implies `true` if absent).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "FontVariationAxis"
- }
- }
- ]
- },
- {
- "id": "CSSTryRule",
- "description": "CSS try rule representation.",
- "type": "object",
- "properties": [
+ "type": "boolean"
+ },
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "name": "disabled",
+ "description": "Whether the property is disabled by the user (present for source-based properties only).",
"optional": true,
- "$ref": "StyleSheetId"
+ "type": "boolean"
},
{
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "range",
+ "description": "The entire property range in the enclosing style declaration (if available).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
+ "name": "longhandProperties",
+ "description": "Parsed longhand components of this property if it is a shorthand.\nThis field will be empty if the given property is not a shorthand.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSProperty"
+ }
}
]
},
{
- "id": "CSSPositionTryRule",
- "description": "CSS @position-try rule representation.",
+ "id": "CSSMedia",
+ "description": "CSS media rule descriptor.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "The prelude dashed-ident name",
- "$ref": "Value"
+ "name": "text",
+ "description": "Media query text.",
+ "type": "string"
},
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "name": "source",
+ "description": "Source of the media query: \"mediaRule\" if specified by a @media rule, \"importRule\" if\nspecified by an @import rule, \"linkedSheet\" if specified by a \"media\" attribute in a linked\nstylesheet's LINK tag, \"inlineSheet\" if specified by a \"media\" attribute in an inline\nstylesheet's STYLE tag.",
+ "type": "string",
+ "enum": [
+ "mediaRule",
+ "importRule",
+ "linkedSheet",
+ "inlineSheet"
+ ]
+ },
+ {
+ "name": "sourceURL",
+ "description": "URL of the document containing the media query description.",
"optional": true,
- "$ref": "StyleSheetId"
+ "type": "string"
},
{
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "range",
+ "description": "The associated rule (@media or @import) header range in the enclosing stylesheet (if\navailable).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
+ "optional": true,
+ "$ref": "StyleSheetId"
},
{
- "name": "active",
- "type": "boolean"
+ "name": "mediaList",
+ "description": "Array of media queries.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "MediaQuery"
+ }
}
]
},
{
- "id": "CSSKeyframesRule",
- "description": "CSS keyframes rule representation.",
+ "id": "MediaQuery",
+ "description": "Media query descriptor.",
"type": "object",
"properties": [
{
- "name": "animationName",
- "description": "Animation name.",
- "$ref": "Value"
- },
- {
- "name": "keyframes",
- "description": "List of keyframes.",
+ "name": "expressions",
+ "description": "Array of media query expressions.",
"type": "array",
"items": {
- "$ref": "CSSKeyframeRule"
+ "$ref": "MediaQueryExpression"
}
+ },
+ {
+ "name": "active",
+ "description": "Whether the media query condition is satisfied.",
+ "type": "boolean"
}
]
},
{
- "id": "CSSPropertyRegistration",
- "description": "Representation of a custom property registration through CSS.registerProperty",
+ "id": "MediaQueryExpression",
+ "description": "Media query expression descriptor.",
"type": "object",
"properties": [
{
- "name": "propertyName",
+ "name": "value",
+ "description": "Media query expression value.",
+ "type": "number"
+ },
+ {
+ "name": "unit",
+ "description": "Media query expression units.",
"type": "string"
},
{
- "name": "initialValue",
- "optional": true,
- "$ref": "Value"
+ "name": "feature",
+ "description": "Media query expression feature.",
+ "type": "string"
},
{
- "name": "inherits",
- "type": "boolean"
+ "name": "valueRange",
+ "description": "The associated range of the value text in the enclosing stylesheet (if available).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "syntax",
- "type": "string"
+ "name": "computedLength",
+ "description": "Computed length of media query expression (if applicable).",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "id": "CSSFontPaletteValuesRule",
- "description": "CSS font-palette-values rule representation.",
+ "id": "CSSContainerQuery",
+ "description": "CSS container query rule descriptor.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "name": "text",
+ "description": "Container query text.",
+ "type": "string"
+ },
+ {
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "optional": true,
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
"optional": true,
"$ref": "StyleSheetId"
},
{
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "name",
+ "description": "Optional name for the container.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "fontPaletteName",
- "description": "Associated font palette name.",
- "$ref": "Value"
+ "name": "physicalAxes",
+ "description": "Optional physical axes queried for the container.",
+ "optional": true,
+ "$ref": "DOM.PhysicalAxes"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
+ "name": "logicalAxes",
+ "description": "Optional logical axes queried for the container.",
+ "optional": true,
+ "$ref": "DOM.LogicalAxes"
+ },
+ {
+ "name": "queriesScrollState",
+ "description": "true if the query contains scroll-state() queries.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "queriesAnchored",
+ "description": "true if the query contains anchored() queries.",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "CSSPropertyRule",
- "description": "CSS property at-rule representation.",
+ "id": "CSSSupports",
+ "description": "CSS Supports at-rule descriptor.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
- "optional": true,
- "$ref": "StyleSheetId"
+ "name": "text",
+ "description": "Supports rule text.",
+ "type": "string"
},
{
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "active",
+ "description": "Whether the supports condition is satisfied.",
+ "type": "boolean"
},
{
- "name": "propertyName",
- "description": "Associated property name.",
- "$ref": "Value"
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
+ "optional": true,
+ "$ref": "StyleSheetId"
}
]
},
{
- "id": "CSSFunctionParameter",
- "description": "CSS function argument representation.",
+ "id": "CSSScope",
+ "description": "CSS Scope at-rule descriptor.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "name",
- "description": "The parameter name.",
+ "name": "text",
+ "description": "Scope rule text.",
"type": "string"
},
{
- "name": "type",
- "description": "The parameter type.",
- "type": "string"
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "optional": true,
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
+ "optional": true,
+ "$ref": "StyleSheetId"
}
]
},
{
- "id": "CSSFunctionConditionNode",
- "description": "CSS function conditional block representation.",
+ "id": "CSSLayer",
+ "description": "CSS Layer at-rule descriptor.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "media",
- "description": "Media query for this conditional block. Only one type of condition should be set.",
- "optional": true,
- "$ref": "CSSMedia"
+ "name": "text",
+ "description": "Layer name.",
+ "type": "string"
},
{
- "name": "containerQueries",
- "description": "Container query for this conditional block. Only one type of condition should be set.",
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
"optional": true,
- "$ref": "CSSContainerQuery"
+ "$ref": "SourceRange"
},
{
- "name": "supports",
- "description": "@supports CSS at-rule condition. Only one type of condition should be set.",
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
"optional": true,
- "$ref": "CSSSupports"
- },
- {
- "name": "children",
- "description": "Block body.",
- "type": "array",
- "items": {
- "$ref": "CSSFunctionNode"
- }
- },
- {
- "name": "conditionText",
- "description": "The condition text.",
- "type": "string"
+ "$ref": "StyleSheetId"
}
]
},
{
- "id": "CSSFunctionNode",
- "description": "Section of the body of a CSS function rule.",
+ "id": "CSSStartingStyle",
+ "description": "CSS Starting Style at-rule descriptor.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "condition",
- "description": "A conditional block. If set, style should not be set.",
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
"optional": true,
- "$ref": "CSSFunctionConditionNode"
+ "$ref": "SourceRange"
},
{
- "name": "style",
- "description": "Values set by this node. If set, condition should not be set.",
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
"optional": true,
- "$ref": "CSSStyle"
+ "$ref": "StyleSheetId"
}
]
},
{
- "id": "CSSFunctionRule",
- "description": "CSS function at-rule representation.",
+ "id": "CSSLayerData",
+ "description": "CSS Layer data.",
+ "experimental": true,
"type": "object",
"properties": [
{
"name": "name",
- "description": "Name of the function.",
- "$ref": "Value"
+ "description": "Layer name.",
+ "type": "string"
},
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "name": "subLayers",
+ "description": "Direct sub-layers",
"optional": true,
- "$ref": "StyleSheetId"
- },
- {
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
- },
- {
- "name": "parameters",
- "description": "List of parameters.",
"type": "array",
"items": {
- "$ref": "CSSFunctionParameter"
+ "$ref": "CSSLayerData"
}
},
{
- "name": "children",
- "description": "Function body.",
- "type": "array",
- "items": {
- "$ref": "CSSFunctionNode"
- }
+ "name": "order",
+ "description": "Layer order. The order determines the order of the layer in the cascade order.\nA higher number has higher priority in the cascade order.",
+ "type": "number"
}
]
},
{
- "id": "CSSKeyframeRule",
- "description": "CSS keyframe rule representation.",
+ "id": "PlatformFontUsage",
+ "description": "Information about amount of glyphs that were rendered with given font.",
"type": "object",
"properties": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
- "optional": true,
- "$ref": "StyleSheetId"
+ "name": "familyName",
+ "description": "Font's family name reported by platform.",
+ "type": "string"
},
{
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "postScriptName",
+ "description": "Font's PostScript name reported by platform.",
+ "type": "string"
},
{
- "name": "keyText",
- "description": "Associated key text.",
- "$ref": "Value"
+ "name": "isCustomFont",
+ "description": "Indicates if the font was downloaded or resolved locally.",
+ "type": "boolean"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
+ "name": "glyphCount",
+ "description": "Amount of glyphs that were rendered with this font.",
+ "type": "number"
}
]
},
{
- "id": "StyleDeclarationEdit",
- "description": "A descriptor of operation to mutate style declaration text.",
+ "id": "FontVariationAxis",
+ "description": "Information about font variation axes for variable fonts",
"type": "object",
"properties": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier.",
- "$ref": "StyleSheetId"
- },
- {
- "name": "range",
- "description": "The range of the style text in the enclosing stylesheet.",
- "$ref": "SourceRange"
- },
- {
- "name": "text",
- "description": "New style text.",
+ "name": "tag",
+ "description": "The font-variation-setting tag (a.k.a. \"axis tag\").",
"type": "string"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "addRule",
- "description": "Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the\nposition specified by `location`.",
- "parameters": [
- {
- "name": "styleSheetId",
- "description": "The css style sheet identifier where a new rule should be inserted.",
- "$ref": "StyleSheetId"
},
{
- "name": "ruleText",
- "description": "The text of a new rule.",
+ "name": "name",
+ "description": "Human-readable variation name in the default language (normally, \"en\").",
"type": "string"
},
{
- "name": "location",
- "description": "Text position of a new rule in the target style sheet.",
- "$ref": "SourceRange"
+ "name": "minValue",
+ "description": "The minimum value (inclusive) the font supports for this tag.",
+ "type": "number"
},
{
- "name": "nodeForPropertySyntaxValidation",
- "description": "NodeId for the DOM node in whose context custom property declarations for registered properties should be\nvalidated. If omitted, declarations in the new rule text can only be validated statically, which may produce\nincorrect results if the declaration contains a var() for example.",
- "experimental": true,
- "optional": true,
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "name": "maxValue",
+ "description": "The maximum value (inclusive) the font supports for this tag.",
+ "type": "number"
+ },
{
- "name": "rule",
- "description": "The newly created rule.",
- "$ref": "CSSRule"
+ "name": "defaultValue",
+ "description": "The default value.",
+ "type": "number"
}
]
},
{
- "name": "collectClassNames",
- "description": "Returns all class names from specified stylesheet.",
- "parameters": [
+ "id": "FontFace",
+ "description": "Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions\nand additional information such as platformFontFamily and fontVariationAxes.",
+ "type": "object",
+ "properties": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- }
- ],
- "returns": [
+ "name": "fontFamily",
+ "description": "The font-family.",
+ "type": "string"
+ },
{
- "name": "classNames",
- "description": "Class name list.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- {
- "name": "createStyleSheet",
- "description": "Creates a new special \"via-inspector\" stylesheet in the frame with given `frameId`.",
- "parameters": [
+ "name": "fontStyle",
+ "description": "The font-style.",
+ "type": "string"
+ },
{
- "name": "frameId",
- "description": "Identifier of the frame where \"via-inspector\" stylesheet should be created.",
- "$ref": "Page.FrameId"
+ "name": "fontVariant",
+ "description": "The font-variant.",
+ "type": "string"
},
{
- "name": "force",
- "description": "If true, creates a new stylesheet for every call. If false,\nreturns a stylesheet previously created by a call with force=false\nfor the frame's document if it exists or creates a new stylesheet\n(default: false).",
- "optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "name": "fontWeight",
+ "description": "The font-weight.",
+ "type": "string"
+ },
{
- "name": "styleSheetId",
- "description": "Identifier of the created \"via-inspector\" stylesheet.",
- "$ref": "StyleSheetId"
- }
- ]
- },
- {
- "name": "disable",
- "description": "Disables the CSS agent for the given page."
- },
- {
- "name": "enable",
- "description": "Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been\nenabled until the result of this command is received."
- },
- {
- "name": "forcePseudoState",
- "description": "Ensures that the given node will have specified pseudo-classes whenever its style is computed by\nthe browser.",
- "parameters": [
+ "name": "fontStretch",
+ "description": "The font-stretch.",
+ "type": "string"
+ },
{
- "name": "nodeId",
- "description": "The element id for which to force the pseudo state.",
- "$ref": "DOM.NodeId"
+ "name": "fontDisplay",
+ "description": "The font-display.",
+ "type": "string"
},
{
- "name": "forcedPseudoClasses",
- "description": "Element pseudo classes to force when computing the element's style.",
+ "name": "unicodeRange",
+ "description": "The unicode-range.",
+ "type": "string"
+ },
+ {
+ "name": "src",
+ "description": "The src.",
+ "type": "string"
+ },
+ {
+ "name": "platformFontFamily",
+ "description": "The resolved platform font family",
+ "type": "string"
+ },
+ {
+ "name": "fontVariationAxes",
+ "description": "Available variation settings (a.k.a. \"axes\").",
+ "optional": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "FontVariationAxis"
}
}
]
},
{
- "name": "forceStartingStyle",
- "description": "Ensures that the given node is in its starting-style state.",
- "parameters": [
+ "id": "CSSTryRule",
+ "description": "CSS try rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "The element id for which to force the starting-style state.",
- "$ref": "DOM.NodeId"
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "optional": true,
+ "$ref": "StyleSheetId"
},
{
- "name": "forced",
- "description": "Boolean indicating if this is on or off.",
- "type": "boolean"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
+ },
+ {
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
}
]
},
{
- "name": "getBackgroundColors",
- "parameters": [
+ "id": "CSSPositionTryRule",
+ "description": "CSS @position-try rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Id of the node to get background colors for.",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "name": "name",
+ "description": "The prelude dashed-ident name",
+ "$ref": "Value"
+ },
{
- "name": "backgroundColors",
- "description": "The range of background colors behind this element, if it contains any visible text. If no\nvisible text is present, this will be undefined. In the case of a flat background color,\nthis will consist of simply that color. In the case of a gradient, this will consist of each\nof the color stops. For anything more complicated, this will be an empty array. Images will\nbe ignored (as if the image had failed to load).",
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
"optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
+ "$ref": "StyleSheetId"
},
{
- "name": "computedFontSize",
- "description": "The computed font size for this node, as a CSS computed value string (e.g. '12px').",
- "optional": true,
- "type": "string"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "name": "computedFontWeight",
- "description": "The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or\n'100').",
- "optional": true,
- "type": "string"
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
+ },
+ {
+ "name": "active",
+ "type": "boolean"
}
]
},
{
- "name": "getComputedStyleForNode",
- "description": "Returns the computed style for a DOM node identified by `nodeId`.",
- "parameters": [
+ "id": "CSSKeyframesRule",
+ "description": "CSS keyframes rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "name": "animationName",
+ "description": "Animation name.",
+ "$ref": "Value"
+ },
{
- "name": "computedStyle",
- "description": "Computed style for the specified DOM node.",
+ "name": "keyframes",
+ "description": "List of keyframes.",
"type": "array",
"items": {
- "$ref": "CSSComputedStyleProperty"
+ "$ref": "CSSKeyframeRule"
}
}
]
},
{
- "name": "resolveValues",
- "description": "Resolve the specified values in the context of the provided element.\nFor example, a value of '1em' is evaluated according to the computed\n'font-size' of the element and a value 'calc(1px + 2px)' will be\nresolved to '3px'.\nIf the `propertyName` was specified the `values` are resolved as if\nthey were property's declaration. If a value cannot be parsed according\nto the provided property syntax, the value is parsed using combined\nsyntax as if null `propertyName` was provided. If the value cannot be\nresolved even then, return the provided value without any changes.",
- "experimental": true,
- "parameters": [
- {
- "name": "values",
- "description": "Substitution functions (var()/env()/attr()) and cascade-dependent\nkeywords (revert/revert-layer) do not work.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "nodeId",
- "description": "Id of the node in whose context the expression is evaluated",
- "$ref": "DOM.NodeId"
- },
+ "id": "CSSPropertyRegistration",
+ "description": "Representation of a custom property registration through CSS.registerProperty",
+ "type": "object",
+ "properties": [
{
"name": "propertyName",
- "description": "Only longhands and custom property names are accepted.",
- "optional": true,
"type": "string"
},
{
- "name": "pseudoType",
- "description": "Pseudo element type, only works for pseudo elements that generate\nelements in the tree, such as ::before and ::after.",
+ "name": "initialValue",
"optional": true,
- "$ref": "DOM.PseudoType"
+ "$ref": "Value"
},
{
- "name": "pseudoIdentifier",
- "description": "Pseudo element custom ident.",
- "optional": true,
- "type": "string"
- }
- ],
- "returns": [
+ "name": "inherits",
+ "type": "boolean"
+ },
{
- "name": "results",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "syntax",
+ "type": "string"
}
]
},
{
- "name": "getLonghandProperties",
- "experimental": true,
- "parameters": [
- {
- "name": "shorthandName",
- "type": "string"
+ "id": "CSSFontPaletteValuesRule",
+ "description": "CSS font-palette-values rule representation.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "optional": true,
+ "$ref": "StyleSheetId"
},
{
- "name": "value",
- "type": "string"
- }
- ],
- "returns": [
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
+ },
{
- "name": "longhandProperties",
- "type": "array",
- "items": {
- "$ref": "CSSProperty"
- }
+ "name": "fontPaletteName",
+ "description": "Associated font palette name.",
+ "$ref": "Value"
+ },
+ {
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
}
]
},
{
- "name": "getInlineStylesForNode",
- "description": "Returns the styles defined inline (explicitly in the \"style\" attribute and implicitly, using DOM\nattributes) for a DOM node identified by `nodeId`.",
- "parameters": [
- {
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "id": "CSSPropertyRule",
+ "description": "CSS property at-rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "inlineStyle",
- "description": "Inline style for the specified DOM node.",
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
"optional": true,
- "$ref": "CSSStyle"
+ "$ref": "StyleSheetId"
},
{
- "name": "attributesStyle",
- "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
- "optional": true,
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
+ },
+ {
+ "name": "propertyName",
+ "description": "Associated property name.",
+ "$ref": "Value"
+ },
+ {
+ "name": "style",
+ "description": "Associated style declaration.",
"$ref": "CSSStyle"
}
]
},
{
- "name": "getAnimatedStylesForNode",
- "description": "Returns the styles coming from animations & transitions\nincluding the animation & transition styles coming from inheritance chain.",
- "experimental": true,
- "parameters": [
- {
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
- {
- "name": "animationStyles",
- "description": "Styles coming from animations.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSAnimationStyle"
- }
- },
+ "id": "CSSFunctionParameter",
+ "description": "CSS function argument representation.",
+ "type": "object",
+ "properties": [
{
- "name": "transitionsStyle",
- "description": "Style coming from transitions.",
- "optional": true,
- "$ref": "CSSStyle"
+ "name": "name",
+ "description": "The parameter name.",
+ "type": "string"
},
{
- "name": "inherited",
- "description": "Inherited style entries for animationsStyle and transitionsStyle from\nthe inheritance chain of the element.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "InheritedAnimatedStyleEntry"
- }
+ "name": "type",
+ "description": "The parameter type.",
+ "type": "string"
}
]
},
{
- "name": "getMatchedStylesForNode",
- "description": "Returns requested styles for a DOM node identified by `nodeId`.",
- "parameters": [
- {
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "id": "CSSFunctionConditionNode",
+ "description": "CSS function conditional block representation.",
+ "type": "object",
+ "properties": [
{
- "name": "inlineStyle",
- "description": "Inline style for the specified DOM node.",
+ "name": "media",
+ "description": "Media query for this conditional block. Only one type of condition should be set.",
"optional": true,
- "$ref": "CSSStyle"
+ "$ref": "CSSMedia"
},
{
- "name": "attributesStyle",
- "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
+ "name": "containerQueries",
+ "description": "Container query for this conditional block. Only one type of condition should be set.",
"optional": true,
- "$ref": "CSSStyle"
+ "$ref": "CSSContainerQuery"
},
{
- "name": "matchedCSSRules",
- "description": "CSS rules matching this node, from all applicable stylesheets.",
+ "name": "supports",
+ "description": "@supports CSS at-rule condition. Only one type of condition should be set.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "RuleMatch"
- }
+ "$ref": "CSSSupports"
},
{
- "name": "pseudoElements",
- "description": "Pseudo style matches for this node.",
- "optional": true,
+ "name": "children",
+ "description": "Block body.",
"type": "array",
"items": {
- "$ref": "PseudoElementMatches"
+ "$ref": "CSSFunctionNode"
}
},
{
- "name": "inherited",
- "description": "A chain of inherited styles (from the immediate node parent up to the DOM tree root).",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "InheritedStyleEntry"
- }
- },
+ "name": "conditionText",
+ "description": "The condition text.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "CSSFunctionNode",
+ "description": "Section of the body of a CSS function rule.",
+ "type": "object",
+ "properties": [
{
- "name": "inheritedPseudoElements",
- "description": "A chain of inherited pseudo element styles (from the immediate node parent up to the DOM tree root).",
+ "name": "condition",
+ "description": "A conditional block. If set, style should not be set.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "InheritedPseudoElementMatches"
- }
+ "$ref": "CSSFunctionConditionNode"
},
{
- "name": "cssKeyframesRules",
- "description": "A list of CSS keyframed animations matching this node.",
+ "name": "style",
+ "description": "Values set by this node. If set, condition should not be set.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSKeyframesRule"
- }
- },
+ "$ref": "CSSStyle"
+ }
+ ]
+ },
+ {
+ "id": "CSSFunctionRule",
+ "description": "CSS function at-rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "cssPositionTryRules",
- "description": "A list of CSS @position-try rules matching this node, based on the position-try-fallbacks property.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSPositionTryRule"
- }
+ "name": "name",
+ "description": "Name of the function.",
+ "$ref": "Value"
},
{
- "name": "activePositionFallbackIndex",
- "description": "Index of the active fallback in the applied position-try-fallback property,\nwill not be set if there is no active position-try fallback.",
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
"optional": true,
- "type": "integer"
+ "$ref": "StyleSheetId"
},
{
- "name": "cssPropertyRules",
- "description": "A list of CSS at-property rules matching this node.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSPropertyRule"
- }
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "name": "cssPropertyRegistrations",
- "description": "A list of CSS property registrations matching this node.",
- "optional": true,
+ "name": "parameters",
+ "description": "List of parameters.",
"type": "array",
"items": {
- "$ref": "CSSPropertyRegistration"
+ "$ref": "CSSFunctionParameter"
}
},
{
- "name": "cssFontPaletteValuesRule",
- "description": "A font-palette-values rule matching this node.",
- "optional": true,
- "$ref": "CSSFontPaletteValuesRule"
- },
- {
- "name": "parentLayoutNodeId",
- "description": "Id of the first parent element that does not have display: contents.",
- "experimental": true,
- "optional": true,
- "$ref": "DOM.NodeId"
- },
- {
- "name": "cssFunctionRules",
- "description": "A list of CSS at-function rules referenced by styles of this node.",
- "experimental": true,
- "optional": true,
+ "name": "children",
+ "description": "Function body.",
"type": "array",
"items": {
- "$ref": "CSSFunctionRule"
+ "$ref": "CSSFunctionNode"
}
}
]
},
{
- "name": "getMediaQueries",
- "description": "Returns all media queries parsed by the rendering engine.",
- "returns": [
+ "id": "CSSKeyframeRule",
+ "description": "CSS keyframe rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "medias",
- "type": "array",
- "items": {
- "$ref": "CSSMedia"
- }
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "optional": true,
+ "$ref": "StyleSheetId"
+ },
+ {
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
+ },
+ {
+ "name": "keyText",
+ "description": "Associated key text.",
+ "$ref": "Value"
+ },
+ {
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
}
]
},
{
- "name": "getPlatformFontsForNode",
- "description": "Requests information about platform fonts which we used to render child TextNodes in the given\nnode.",
+ "id": "StyleDeclarationEdit",
+ "description": "A descriptor of operation to mutate style declaration text.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier.",
+ "$ref": "StyleSheetId"
+ },
+ {
+ "name": "range",
+ "description": "The range of the style text in the enclosing stylesheet.",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "text",
+ "description": "New style text.",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "addRule",
+ "description": "Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the\nposition specified by `location`.",
"parameters": [
{
- "name": "nodeId",
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier where a new rule should be inserted.",
+ "$ref": "StyleSheetId"
+ },
+ {
+ "name": "ruleText",
+ "description": "The text of a new rule.",
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "description": "Text position of a new rule in the target style sheet.",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "nodeForPropertySyntaxValidation",
+ "description": "NodeId for the DOM node in whose context custom property declarations for registered properties should be\nvalidated. If omitted, declarations in the new rule text can only be validated statically, which may produce\nincorrect results if the declaration contains a var() for example.",
+ "experimental": true,
+ "optional": true,
"$ref": "DOM.NodeId"
}
],
"returns": [
{
- "name": "fonts",
- "description": "Usage statistics for every employed platform font.",
- "type": "array",
- "items": {
- "$ref": "PlatformFontUsage"
- }
+ "name": "rule",
+ "description": "The newly created rule.",
+ "$ref": "CSSRule"
}
]
},
{
- "name": "getStyleSheetText",
- "description": "Returns the current textual content for a stylesheet.",
+ "name": "collectClassNames",
+ "description": "Returns all class names from specified stylesheet.",
"parameters": [
{
"name": "styleSheetId",
@@ -5384,1871 +5415,1841 @@
],
"returns": [
{
- "name": "text",
- "description": "The stylesheet text.",
- "type": "string"
+ "name": "classNames",
+ "description": "Class name list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "getLayersForNode",
- "description": "Returns all layers parsed by the rendering engine for the tree scope of a node.\nGiven a DOM element identified by nodeId, getLayersForNode returns the root\nlayer for the nearest ancestor document or shadow root. The layer root contains\nthe full layer tree for the tree scope and their ordering.",
- "experimental": true,
+ "name": "createStyleSheet",
+ "description": "Creates a new special \"via-inspector\" stylesheet in the frame with given `frameId`.",
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
+ "name": "frameId",
+ "description": "Identifier of the frame where \"via-inspector\" stylesheet should be created.",
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "force",
+ "description": "If true, creates a new stylesheet for every call. If false,\nreturns a stylesheet previously created by a call with force=false\nfor the frame's document if it exists or creates a new stylesheet\n(default: false).",
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
{
- "name": "rootLayer",
- "$ref": "CSSLayerData"
+ "name": "styleSheetId",
+ "description": "Identifier of the created \"via-inspector\" stylesheet.",
+ "$ref": "StyleSheetId"
}
]
},
{
- "name": "getLocationForSelector",
- "description": "Given a CSS selector text and a style sheet ID, getLocationForSelector\nreturns an array of locations of the CSS selector in the style sheet.",
- "experimental": true,
+ "name": "disable",
+ "description": "Disables the CSS agent for the given page."
+ },
+ {
+ "name": "enable",
+ "description": "Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been\nenabled until the result of this command is received."
+ },
+ {
+ "name": "forcePseudoState",
+ "description": "Ensures that the given node will have specified pseudo-classes whenever its style is computed by\nthe browser.",
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "nodeId",
+ "description": "The element id for which to force the pseudo state.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "selectorText",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "ranges",
+ "name": "forcedPseudoClasses",
+ "description": "Element pseudo classes to force when computing the element's style.",
"type": "array",
"items": {
- "$ref": "SourceRange"
+ "type": "string"
}
}
]
},
{
- "name": "trackComputedStyleUpdatesForNode",
- "description": "Starts tracking the given node for the computed style updates\nand whenever the computed style is updated for node, it queues\na `computedStyleUpdated` event with throttling.\nThere can only be 1 node tracked for computed style updates\nso passing a new node id removes tracking from the previous node.\nPass `undefined` to disable tracking.",
- "experimental": true,
+ "name": "forceStartingStyle",
+ "description": "Ensures that the given node is in its starting-style state.",
"parameters": [
{
"name": "nodeId",
- "optional": true,
+ "description": "The element id for which to force the starting-style state.",
"$ref": "DOM.NodeId"
+ },
+ {
+ "name": "forced",
+ "description": "Boolean indicating if this is on or off.",
+ "type": "boolean"
}
]
},
{
- "name": "trackComputedStyleUpdates",
- "description": "Starts tracking the given computed styles for updates. The specified array of properties\nreplaces the one previously specified. Pass empty array to disable tracking.\nUse takeComputedStyleUpdates to retrieve the list of nodes that had properties modified.\nThe changes to computed style properties are only tracked for nodes pushed to the front-end\nby the DOM agent. If no changes to the tracked properties occur after the node has been pushed\nto the front-end, no updates will be issued for the node.",
- "experimental": true,
+ "name": "getBackgroundColors",
"parameters": [
{
- "name": "propertiesToTrack",
+ "name": "nodeId",
+ "description": "Id of the node to get background colors for.",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "backgroundColors",
+ "description": "The range of background colors behind this element, if it contains any visible text. If no\nvisible text is present, this will be undefined. In the case of a flat background color,\nthis will consist of simply that color. In the case of a gradient, this will consist of each\nof the color stops. For anything more complicated, this will be an empty array. Images will\nbe ignored (as if the image had failed to load).",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "CSSComputedStyleProperty"
+ "type": "string"
}
+ },
+ {
+ "name": "computedFontSize",
+ "description": "The computed font size for this node, as a CSS computed value string (e.g. '12px').",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "computedFontWeight",
+ "description": "The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or\n'100').",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "takeComputedStyleUpdates",
- "description": "Polls the next batch of computed style updates.",
- "experimental": true,
+ "name": "getComputedStyleForNode",
+ "description": "Returns the computed style for a DOM node identified by `nodeId`.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
+ }
+ ],
"returns": [
{
- "name": "nodeIds",
- "description": "The list of node Ids that have their tracked computed styles updated.",
+ "name": "computedStyle",
+ "description": "Computed style for the specified DOM node.",
"type": "array",
"items": {
- "$ref": "DOM.NodeId"
+ "$ref": "CSSComputedStyleProperty"
}
+ },
+ {
+ "name": "extraFields",
+ "description": "A list of non-standard \"extra fields\" which blink stores alongside each\ncomputed style.",
+ "experimental": true,
+ "$ref": "ComputedStyleExtraFields"
}
]
},
{
- "name": "setEffectivePropertyValueForNode",
- "description": "Find a rule with the given active property for the given node and set the new value for this\nproperty",
+ "name": "resolveValues",
+ "description": "Resolve the specified values in the context of the provided element.\nFor example, a value of '1em' is evaluated according to the computed\n'font-size' of the element and a value 'calc(1px + 2px)' will be\nresolved to '3px'.\nIf the `propertyName` was specified the `values` are resolved as if\nthey were property's declaration. If a value cannot be parsed according\nto the provided property syntax, the value is parsed using combined\nsyntax as if null `propertyName` was provided. If the value cannot be\nresolved even then, return the provided value without any changes.",
+ "experimental": true,
"parameters": [
+ {
+ "name": "values",
+ "description": "Cascade-dependent keywords (revert/revert-layer) do not work.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
{
"name": "nodeId",
- "description": "The element id for which to set property.",
+ "description": "Id of the node in whose context the expression is evaluated",
"$ref": "DOM.NodeId"
},
{
"name": "propertyName",
+ "description": "Only longhands and custom property names are accepted.",
+ "optional": true,
"type": "string"
},
{
- "name": "value",
+ "name": "pseudoType",
+ "description": "Pseudo element type, only works for pseudo elements that generate\nelements in the tree, such as ::before and ::after.",
+ "optional": true,
+ "$ref": "DOM.PseudoType"
+ },
+ {
+ "name": "pseudoIdentifier",
+ "description": "Pseudo element custom ident.",
+ "optional": true,
"type": "string"
}
+ ],
+ "returns": [
+ {
+ "name": "results",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
]
},
{
- "name": "setPropertyRulePropertyName",
- "description": "Modifies the property rule property name.",
+ "name": "getLonghandProperties",
+ "experimental": true,
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- },
- {
- "name": "range",
- "$ref": "SourceRange"
+ "name": "shorthandName",
+ "type": "string"
},
{
- "name": "propertyName",
+ "name": "value",
"type": "string"
}
],
"returns": [
{
- "name": "propertyName",
- "description": "The resulting key text after modification.",
- "$ref": "Value"
+ "name": "longhandProperties",
+ "type": "array",
+ "items": {
+ "$ref": "CSSProperty"
+ }
}
]
},
{
- "name": "setKeyframeKey",
- "description": "Modifies the keyframe rule key text.",
+ "name": "getInlineStylesForNode",
+ "description": "Returns the styles defined inline (explicitly in the \"style\" attribute and implicitly, using DOM\nattributes) for a DOM node identified by `nodeId`.",
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- },
- {
- "name": "range",
- "$ref": "SourceRange"
- },
- {
- "name": "keyText",
- "type": "string"
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
}
],
"returns": [
{
- "name": "keyText",
- "description": "The resulting key text after modification.",
- "$ref": "Value"
- }
- ]
- },
- {
- "name": "setMediaText",
- "description": "Modifies the rule selector.",
- "parameters": [
- {
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- },
- {
- "name": "range",
- "$ref": "SourceRange"
+ "name": "inlineStyle",
+ "description": "Inline style for the specified DOM node.",
+ "optional": true,
+ "$ref": "CSSStyle"
},
{
- "name": "text",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "media",
- "description": "The resulting CSS media rule after modification.",
- "$ref": "CSSMedia"
+ "name": "attributesStyle",
+ "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
+ "optional": true,
+ "$ref": "CSSStyle"
}
]
},
{
- "name": "setContainerQueryText",
- "description": "Modifies the expression of a container query.",
+ "name": "getAnimatedStylesForNode",
+ "description": "Returns the styles coming from animations & transitions\nincluding the animation & transition styles coming from inheritance chain.",
"experimental": true,
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- },
- {
- "name": "range",
- "$ref": "SourceRange"
- },
- {
- "name": "text",
- "type": "string"
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
}
],
"returns": [
{
- "name": "containerQuery",
- "description": "The resulting CSS container query rule after modification.",
- "$ref": "CSSContainerQuery"
- }
- ]
- },
- {
- "name": "setSupportsText",
- "description": "Modifies the expression of a supports at-rule.",
- "experimental": true,
- "parameters": [
- {
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "animationStyles",
+ "description": "Styles coming from animations.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSAnimationStyle"
+ }
},
{
- "name": "range",
- "$ref": "SourceRange"
+ "name": "transitionsStyle",
+ "description": "Style coming from transitions.",
+ "optional": true,
+ "$ref": "CSSStyle"
},
{
- "name": "text",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "supports",
- "description": "The resulting CSS Supports rule after modification.",
- "$ref": "CSSSupports"
+ "name": "inherited",
+ "description": "Inherited style entries for animationsStyle and transitionsStyle from\nthe inheritance chain of the element.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "InheritedAnimatedStyleEntry"
+ }
}
]
},
{
- "name": "setScopeText",
- "description": "Modifies the expression of a scope at-rule.",
- "experimental": true,
+ "name": "getMatchedStylesForNode",
+ "description": "Returns requested styles for a DOM node identified by `nodeId`.",
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- },
- {
- "name": "range",
- "$ref": "SourceRange"
- },
- {
- "name": "text",
- "type": "string"
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
}
],
"returns": [
{
- "name": "scope",
- "description": "The resulting CSS Scope rule after modification.",
- "$ref": "CSSScope"
- }
- ]
- },
- {
- "name": "setRuleSelector",
- "description": "Modifies the rule selector.",
- "parameters": [
- {
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "inlineStyle",
+ "description": "Inline style for the specified DOM node.",
+ "optional": true,
+ "$ref": "CSSStyle"
},
{
- "name": "range",
- "$ref": "SourceRange"
+ "name": "attributesStyle",
+ "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
+ "optional": true,
+ "$ref": "CSSStyle"
},
{
- "name": "selector",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "selectorList",
- "description": "The resulting selector list after modification.",
- "$ref": "SelectorList"
- }
- ]
- },
- {
- "name": "setStyleSheetText",
- "description": "Sets the new stylesheet text.",
- "parameters": [
- {
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "matchedCSSRules",
+ "description": "CSS rules matching this node, from all applicable stylesheets.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "RuleMatch"
+ }
},
{
- "name": "text",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "sourceMapURL",
- "description": "URL of source map associated with script (if any).",
+ "name": "pseudoElements",
+ "description": "Pseudo style matches for this node.",
"optional": true,
- "type": "string"
- }
- ]
- },
- {
- "name": "setStyleTexts",
- "description": "Applies specified style edits one after another in the given order.",
- "parameters": [
- {
- "name": "edits",
"type": "array",
"items": {
- "$ref": "StyleDeclarationEdit"
+ "$ref": "PseudoElementMatches"
}
},
{
- "name": "nodeForPropertySyntaxValidation",
- "description": "NodeId for the DOM node in whose context custom property declarations for registered properties should be\nvalidated. If omitted, declarations in the new rule text can only be validated statically, which may produce\nincorrect results if the declaration contains a var() for example.",
- "experimental": true,
+ "name": "inherited",
+ "description": "A chain of inherited styles (from the immediate node parent up to the DOM tree root).",
"optional": true,
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "type": "array",
+ "items": {
+ "$ref": "InheritedStyleEntry"
+ }
+ },
{
- "name": "styles",
- "description": "The resulting styles after modification.",
+ "name": "inheritedPseudoElements",
+ "description": "A chain of inherited pseudo element styles (from the immediate node parent up to the DOM tree root).",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "CSSStyle"
+ "$ref": "InheritedPseudoElementMatches"
}
- }
- ]
- },
- {
- "name": "startRuleUsageTracking",
- "description": "Enables the selector recording."
- },
- {
- "name": "stopRuleUsageTracking",
- "description": "Stop tracking rule usage and return the list of rules that were used since last call to\n`takeCoverageDelta` (or since start of coverage instrumentation).",
- "returns": [
+ },
{
- "name": "ruleUsage",
+ "name": "cssKeyframesRules",
+ "description": "A list of CSS keyframed animations matching this node.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "RuleUsage"
+ "$ref": "CSSKeyframesRule"
}
- }
- ]
- },
- {
- "name": "takeCoverageDelta",
- "description": "Obtain list of rules that became used since last call to this method (or since start of coverage\ninstrumentation).",
- "returns": [
+ },
{
- "name": "coverage",
+ "name": "cssPositionTryRules",
+ "description": "A list of CSS @position-try rules matching this node, based on the position-try-fallbacks property.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "RuleUsage"
+ "$ref": "CSSPositionTryRule"
}
},
{
- "name": "timestamp",
- "description": "Monotonically increasing time, in seconds.",
- "type": "number"
+ "name": "activePositionFallbackIndex",
+ "description": "Index of the active fallback in the applied position-try-fallback property,\nwill not be set if there is no active position-try fallback.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "cssPropertyRules",
+ "description": "A list of CSS at-property rules matching this node.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSPropertyRule"
+ }
+ },
+ {
+ "name": "cssPropertyRegistrations",
+ "description": "A list of CSS property registrations matching this node.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSPropertyRegistration"
+ }
+ },
+ {
+ "name": "cssFontPaletteValuesRule",
+ "description": "A font-palette-values rule matching this node.",
+ "optional": true,
+ "$ref": "CSSFontPaletteValuesRule"
+ },
+ {
+ "name": "parentLayoutNodeId",
+ "description": "Id of the first parent element that does not have display: contents.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "cssFunctionRules",
+ "description": "A list of CSS at-function rules referenced by styles of this node.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSFunctionRule"
+ }
}
]
},
{
- "name": "setLocalFontsEnabled",
- "description": "Enables/disables rendering of local CSS fonts (enabled by default).",
+ "name": "getEnvironmentVariables",
+ "description": "Returns the values of the default UA-defined environment variables used in env()",
"experimental": true,
- "parameters": [
+ "returns": [
{
- "name": "enabled",
- "description": "Whether rendering of local fonts is enabled.",
- "type": "boolean"
+ "name": "environmentVariables",
+ "type": "object"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "fontsUpdated",
- "description": "Fires whenever a web font is updated. A non-empty font parameter indicates a successfully loaded\nweb font.",
- "parameters": [
+ "name": "getMediaQueries",
+ "description": "Returns all media queries parsed by the rendering engine.",
+ "returns": [
{
- "name": "font",
- "description": "The web font that has loaded.",
- "optional": true,
- "$ref": "FontFace"
+ "name": "medias",
+ "type": "array",
+ "items": {
+ "$ref": "CSSMedia"
+ }
}
]
},
{
- "name": "mediaQueryResultChanged",
- "description": "Fires whenever a MediaQuery result changes (for example, after a browser window has been\nresized.) The current implementation considers only viewport-dependent media features."
- },
- {
- "name": "styleSheetAdded",
- "description": "Fired whenever an active document stylesheet is added.",
+ "name": "getPlatformFontsForNode",
+ "description": "Requests information about platform fonts which we used to render child TextNodes in the given\nnode.",
"parameters": [
{
- "name": "header",
- "description": "Added stylesheet metainfo.",
- "$ref": "CSSStyleSheetHeader"
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "fonts",
+ "description": "Usage statistics for every employed platform font.",
+ "type": "array",
+ "items": {
+ "$ref": "PlatformFontUsage"
+ }
}
]
},
{
- "name": "styleSheetChanged",
- "description": "Fired whenever a stylesheet is changed as a result of the client operation.",
+ "name": "getStyleSheetText",
+ "description": "Returns the current textual content for a stylesheet.",
"parameters": [
{
"name": "styleSheetId",
"$ref": "StyleSheetId"
}
+ ],
+ "returns": [
+ {
+ "name": "text",
+ "description": "The stylesheet text.",
+ "type": "string"
+ }
]
},
{
- "name": "styleSheetRemoved",
- "description": "Fired whenever an active document stylesheet is removed.",
+ "name": "getLayersForNode",
+ "description": "Returns all layers parsed by the rendering engine for the tree scope of a node.\nGiven a DOM element identified by nodeId, getLayersForNode returns the root\nlayer for the nearest ancestor document or shadow root. The layer root contains\nthe full layer tree for the tree scope and their ordering.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "rootLayer",
+ "$ref": "CSSLayerData"
+ }
+ ]
+ },
+ {
+ "name": "getLocationForSelector",
+ "description": "Given a CSS selector text and a style sheet ID, getLocationForSelector\nreturns an array of locations of the CSS selector in the style sheet.",
+ "experimental": true,
"parameters": [
{
"name": "styleSheetId",
- "description": "Identifier of the removed stylesheet.",
"$ref": "StyleSheetId"
+ },
+ {
+ "name": "selectorText",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "ranges",
+ "type": "array",
+ "items": {
+ "$ref": "SourceRange"
+ }
}
]
},
{
- "name": "computedStyleUpdated",
+ "name": "trackComputedStyleUpdatesForNode",
+ "description": "Starts tracking the given node for the computed style updates\nand whenever the computed style is updated for node, it queues\na `computedStyleUpdated` event with throttling.\nThere can only be 1 node tracked for computed style updates\nso passing a new node id removes tracking from the previous node.\nPass `undefined` to disable tracking.",
"experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "The node id that has updated computed styles.",
+ "optional": true,
"$ref": "DOM.NodeId"
}
]
- }
- ]
- },
- {
- "domain": "CacheStorage",
- "experimental": true,
- "dependencies": [
- "Storage"
- ],
- "types": [
- {
- "id": "CacheId",
- "description": "Unique identifier of the Cache object.",
- "type": "string"
},
{
- "id": "CachedResponseType",
- "description": "type of HTTP response cached",
- "type": "string",
- "enum": [
- "basic",
- "cors",
- "default",
- "error",
- "opaqueResponse",
- "opaqueRedirect"
+ "name": "trackComputedStyleUpdates",
+ "description": "Starts tracking the given computed styles for updates. The specified array of properties\nreplaces the one previously specified. Pass empty array to disable tracking.\nUse takeComputedStyleUpdates to retrieve the list of nodes that had properties modified.\nThe changes to computed style properties are only tracked for nodes pushed to the front-end\nby the DOM agent. If no changes to the tracked properties occur after the node has been pushed\nto the front-end, no updates will be issued for the node.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "propertiesToTrack",
+ "type": "array",
+ "items": {
+ "$ref": "CSSComputedStyleProperty"
+ }
+ }
]
},
{
- "id": "DataEntry",
- "description": "Data entry.",
- "type": "object",
- "properties": [
- {
- "name": "requestURL",
- "description": "Request URL.",
- "type": "string"
- },
- {
- "name": "requestMethod",
- "description": "Request method.",
- "type": "string"
- },
+ "name": "takeComputedStyleUpdates",
+ "description": "Polls the next batch of computed style updates.",
+ "experimental": true,
+ "returns": [
{
- "name": "requestHeaders",
- "description": "Request headers",
+ "name": "nodeIds",
+ "description": "The list of node Ids that have their tracked computed styles updated.",
"type": "array",
"items": {
- "$ref": "Header"
+ "$ref": "DOM.NodeId"
}
- },
- {
- "name": "responseTime",
- "description": "Number of seconds since epoch.",
- "type": "number"
- },
+ }
+ ]
+ },
+ {
+ "name": "setEffectivePropertyValueForNode",
+ "description": "Find a rule with the given active property for the given node and set the new value for this\nproperty",
+ "parameters": [
{
- "name": "responseStatus",
- "description": "HTTP response status code.",
- "type": "integer"
+ "name": "nodeId",
+ "description": "The element id for which to set property.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "responseStatusText",
- "description": "HTTP response status text.",
+ "name": "propertyName",
"type": "string"
},
{
- "name": "responseType",
- "description": "HTTP response type",
- "$ref": "CachedResponseType"
- },
- {
- "name": "responseHeaders",
- "description": "Response headers",
- "type": "array",
- "items": {
- "$ref": "Header"
- }
+ "name": "value",
+ "type": "string"
}
]
},
{
- "id": "Cache",
- "description": "Cache identifier.",
- "type": "object",
- "properties": [
+ "name": "setPropertyRulePropertyName",
+ "description": "Modifies the property rule property name.",
+ "parameters": [
{
- "name": "cacheId",
- "description": "An opaque unique id of the cache.",
- "$ref": "CacheId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "securityOrigin",
- "description": "Security origin of the cache.",
- "type": "string"
+ "name": "range",
+ "$ref": "SourceRange"
},
{
- "name": "storageKey",
- "description": "Storage key of the cache.",
+ "name": "propertyName",
"type": "string"
- },
- {
- "name": "storageBucket",
- "description": "Storage bucket of the cache.",
- "optional": true,
- "$ref": "Storage.StorageBucket"
- },
+ }
+ ],
+ "returns": [
{
- "name": "cacheName",
- "description": "The name of the cache.",
- "type": "string"
+ "name": "propertyName",
+ "description": "The resulting key text after modification.",
+ "$ref": "Value"
}
]
},
{
- "id": "Header",
- "type": "object",
- "properties": [
+ "name": "setKeyframeKey",
+ "description": "Modifies the keyframe rule key text.",
+ "parameters": [
{
- "name": "name",
- "type": "string"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "value",
- "type": "string"
- }
- ]
- },
- {
- "id": "CachedResponse",
- "description": "Cached response",
- "type": "object",
- "properties": [
+ "name": "range",
+ "$ref": "SourceRange"
+ },
{
- "name": "body",
- "description": "Entry content, base64-encoded. (Encoded as a base64 string when passed over JSON)",
+ "name": "keyText",
"type": "string"
}
- ]
- }
- ],
- "commands": [
- {
- "name": "deleteCache",
- "description": "Deletes a cache.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "cacheId",
- "description": "Id of cache for deletion.",
- "$ref": "CacheId"
+ "name": "keyText",
+ "description": "The resulting key text after modification.",
+ "$ref": "Value"
}
]
},
{
- "name": "deleteEntry",
- "description": "Deletes a cache entry.",
+ "name": "setMediaText",
+ "description": "Modifies the rule selector.",
"parameters": [
{
- "name": "cacheId",
- "description": "Id of cache where the entry will be deleted.",
- "$ref": "CacheId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "request",
- "description": "URL spec of the request.",
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "text",
"type": "string"
}
+ ],
+ "returns": [
+ {
+ "name": "media",
+ "description": "The resulting CSS media rule after modification.",
+ "$ref": "CSSMedia"
+ }
]
},
{
- "name": "requestCacheNames",
- "description": "Requests cache names.",
+ "name": "setContainerQueryText",
+ "description": "Modifies the expression of a container query.",
+ "experimental": true,
"parameters": [
{
- "name": "securityOrigin",
- "description": "At least and at most one of securityOrigin, storageKey, storageBucket must be specified.\nSecurity origin.",
- "optional": true,
- "type": "string"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "storageKey",
- "description": "Storage key.",
- "optional": true,
- "type": "string"
+ "name": "range",
+ "$ref": "SourceRange"
},
{
- "name": "storageBucket",
- "description": "Storage bucket. If not specified, it uses the default bucket.",
- "optional": true,
- "$ref": "Storage.StorageBucket"
+ "name": "text",
+ "type": "string"
}
],
"returns": [
{
- "name": "caches",
- "description": "Caches for the security origin.",
- "type": "array",
- "items": {
- "$ref": "Cache"
- }
+ "name": "containerQuery",
+ "description": "The resulting CSS container query rule after modification.",
+ "$ref": "CSSContainerQuery"
}
]
},
{
- "name": "requestCachedResponse",
- "description": "Fetches cache entry.",
+ "name": "setSupportsText",
+ "description": "Modifies the expression of a supports at-rule.",
+ "experimental": true,
"parameters": [
{
- "name": "cacheId",
- "description": "Id of cache that contains the entry.",
- "$ref": "CacheId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "requestURL",
- "description": "URL spec of the request.",
- "type": "string"
+ "name": "range",
+ "$ref": "SourceRange"
},
{
- "name": "requestHeaders",
- "description": "headers of the request.",
- "type": "array",
- "items": {
- "$ref": "Header"
- }
+ "name": "text",
+ "type": "string"
}
],
"returns": [
{
- "name": "response",
- "description": "Response read from the cache.",
- "$ref": "CachedResponse"
+ "name": "supports",
+ "description": "The resulting CSS Supports rule after modification.",
+ "$ref": "CSSSupports"
}
]
},
{
- "name": "requestEntries",
- "description": "Requests data from cache.",
+ "name": "setScopeText",
+ "description": "Modifies the expression of a scope at-rule.",
+ "experimental": true,
"parameters": [
{
- "name": "cacheId",
- "description": "ID of cache to get entries from.",
- "$ref": "CacheId"
- },
- {
- "name": "skipCount",
- "description": "Number of records to skip.",
- "optional": true,
- "type": "integer"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "pageSize",
- "description": "Number of records to fetch.",
- "optional": true,
- "type": "integer"
+ "name": "range",
+ "$ref": "SourceRange"
},
{
- "name": "pathFilter",
- "description": "If present, only return the entries containing this substring in the path",
- "optional": true,
+ "name": "text",
"type": "string"
}
],
"returns": [
{
- "name": "cacheDataEntries",
- "description": "Array of object store data entries.",
- "type": "array",
- "items": {
- "$ref": "DataEntry"
- }
- },
- {
- "name": "returnCount",
- "description": "Count of returned entries from this storage. If pathFilter is empty, it\nis the count of all entries from this storage.",
- "type": "number"
+ "name": "scope",
+ "description": "The resulting CSS Scope rule after modification.",
+ "$ref": "CSSScope"
}
]
- }
- ]
- },
- {
- "domain": "Cast",
- "description": "A domain for interacting with Cast, Presentation API, and Remote Playback API\nfunctionalities.",
- "experimental": true,
- "types": [
+ },
{
- "id": "Sink",
- "type": "object",
- "properties": [
+ "name": "setRuleSelector",
+ "description": "Modifies the rule selector.",
+ "parameters": [
{
- "name": "name",
- "type": "string"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "id",
- "type": "string"
+ "name": "range",
+ "$ref": "SourceRange"
},
{
- "name": "session",
- "description": "Text describing the current session. Present only if there is an active\nsession on the sink.",
- "optional": true,
+ "name": "selector",
"type": "string"
}
- ]
- }
- ],
- "commands": [
- {
- "name": "enable",
- "description": "Starts observing for sinks that can be used for tab mirroring, and if set,\nsinks compatible with |presentationUrl| as well. When sinks are found, a\n|sinksUpdated| event is fired.\nAlso starts observing for issue messages. When an issue is added or removed,\nan |issueUpdated| event is fired.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "presentationUrl",
- "optional": true,
- "type": "string"
+ "name": "selectorList",
+ "description": "The resulting selector list after modification.",
+ "$ref": "SelectorList"
}
]
},
{
- "name": "disable",
- "description": "Stops observing for sinks and issues."
- },
- {
- "name": "setSinkToUse",
- "description": "Sets a sink to be used when the web page requests the browser to choose a\nsink via Presentation API, Remote Playback API, or Cast SDK.",
+ "name": "setStyleSheetText",
+ "description": "Sets the new stylesheet text.",
"parameters": [
{
- "name": "sinkName",
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
+ },
+ {
+ "name": "text",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "sourceMapURL",
+ "description": "URL of source map associated with script (if any).",
+ "optional": true,
"type": "string"
}
]
},
{
- "name": "startDesktopMirroring",
- "description": "Starts mirroring the desktop to the sink.",
+ "name": "setStyleTexts",
+ "description": "Applies specified style edits one after another in the given order.",
"parameters": [
{
- "name": "sinkName",
- "type": "string"
+ "name": "edits",
+ "type": "array",
+ "items": {
+ "$ref": "StyleDeclarationEdit"
+ }
+ },
+ {
+ "name": "nodeForPropertySyntaxValidation",
+ "description": "NodeId for the DOM node in whose context custom property declarations for registered properties should be\nvalidated. If omitted, declarations in the new rule text can only be validated statically, which may produce\nincorrect results if the declaration contains a var() for example.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "DOM.NodeId"
}
- ]
- },
- {
- "name": "startTabMirroring",
- "description": "Starts mirroring the tab to the sink.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "sinkName",
- "type": "string"
+ "name": "styles",
+ "description": "The resulting styles after modification.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSStyle"
+ }
}
]
},
{
- "name": "stopCasting",
- "description": "Stops the active Cast session on the sink.",
- "parameters": [
+ "name": "startRuleUsageTracking",
+ "description": "Enables the selector recording."
+ },
+ {
+ "name": "stopRuleUsageTracking",
+ "description": "Stop tracking rule usage and return the list of rules that were used since last call to\n`takeCoverageDelta` (or since start of coverage instrumentation).",
+ "returns": [
{
- "name": "sinkName",
- "type": "string"
+ "name": "ruleUsage",
+ "type": "array",
+ "items": {
+ "$ref": "RuleUsage"
+ }
}
]
- }
- ],
- "events": [
+ },
{
- "name": "sinksUpdated",
- "description": "This is fired whenever the list of available sinks changes. A sink is a\ndevice or a software surface that you can cast to.",
- "parameters": [
+ "name": "takeCoverageDelta",
+ "description": "Obtain list of rules that became used since last call to this method (or since start of coverage\ninstrumentation).",
+ "returns": [
{
- "name": "sinks",
+ "name": "coverage",
"type": "array",
"items": {
- "$ref": "Sink"
+ "$ref": "RuleUsage"
}
+ },
+ {
+ "name": "timestamp",
+ "description": "Monotonically increasing time, in seconds.",
+ "type": "number"
}
]
},
{
- "name": "issueUpdated",
- "description": "This is fired whenever the outstanding issue/error message changes.\n|issueMessage| is empty if there is no issue.",
+ "name": "setLocalFontsEnabled",
+ "description": "Enables/disables rendering of local CSS fonts (enabled by default).",
+ "experimental": true,
"parameters": [
{
- "name": "issueMessage",
- "type": "string"
+ "name": "enabled",
+ "description": "Whether rendering of local fonts is enabled.",
+ "type": "boolean"
}
]
}
- ]
- },
- {
- "domain": "DOM",
- "description": "This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object\nthat has an `id`. This `id` can be used to get additional information on the Node, resolve it into\nthe JavaScript object wrapper, etc. It is important that client receives DOM events only for the\nnodes that are known to the client. Backend keeps track of the nodes that were sent to the client\nand never sends the same node twice. It is client's responsibility to collect information about\nthe nodes that were sent to the client. Note that `iframe` owner elements will return\ncorresponding document elements as their child nodes.",
- "dependencies": [
- "Runtime"
],
- "types": [
- {
- "id": "NodeId",
- "description": "Unique DOM node identifier.",
- "type": "integer"
- },
- {
- "id": "BackendNodeId",
- "description": "Unique DOM node identifier used to reference a node that may not have been pushed to the\nfront-end.",
- "type": "integer"
- },
+ "events": [
{
- "id": "BackendNode",
- "description": "Backend node with a friendly name.",
- "type": "object",
- "properties": [
- {
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
- },
- {
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
- "type": "string"
- },
+ "name": "fontsUpdated",
+ "description": "Fires whenever a web font is updated. A non-empty font parameter indicates a successfully loaded\nweb font.",
+ "parameters": [
{
- "name": "backendNodeId",
- "$ref": "BackendNodeId"
+ "name": "font",
+ "description": "The web font that has loaded.",
+ "optional": true,
+ "$ref": "FontFace"
}
]
},
{
- "id": "PseudoType",
- "description": "Pseudo element type.",
- "type": "string",
- "enum": [
- "first-line",
- "first-letter",
- "checkmark",
- "before",
- "after",
- "picker-icon",
- "marker",
- "backdrop",
- "column",
- "selection",
- "search-text",
- "target-text",
- "spelling-error",
- "grammar-error",
- "highlight",
- "first-line-inherited",
- "scroll-marker",
- "scroll-marker-group",
- "scroll-button",
- "scrollbar",
- "scrollbar-thumb",
- "scrollbar-button",
- "scrollbar-track",
- "scrollbar-track-piece",
- "scrollbar-corner",
- "resizer",
- "input-list-button",
- "view-transition",
- "view-transition-group",
- "view-transition-image-pair",
- "view-transition-old",
- "view-transition-new",
- "placeholder",
- "file-selector-button",
- "details-content",
- "picker",
- "permission-icon"
- ]
+ "name": "mediaQueryResultChanged",
+ "description": "Fires whenever a MediaQuery result changes (for example, after a browser window has been\nresized.) The current implementation considers only viewport-dependent media features."
},
{
- "id": "ShadowRootType",
- "description": "Shadow root type.",
- "type": "string",
- "enum": [
- "user-agent",
- "open",
- "closed"
+ "name": "styleSheetAdded",
+ "description": "Fired whenever an active document stylesheet is added.",
+ "parameters": [
+ {
+ "name": "header",
+ "description": "Added stylesheet metainfo.",
+ "$ref": "CSSStyleSheetHeader"
+ }
]
},
{
- "id": "CompatibilityMode",
- "description": "Document compatibility mode.",
- "type": "string",
- "enum": [
- "QuirksMode",
- "LimitedQuirksMode",
- "NoQuirksMode"
+ "name": "styleSheetChanged",
+ "description": "Fired whenever a stylesheet is changed as a result of the client operation.",
+ "parameters": [
+ {
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
+ }
]
},
{
- "id": "PhysicalAxes",
- "description": "ContainerSelector physical axes",
- "type": "string",
- "enum": [
- "Horizontal",
- "Vertical",
- "Both"
+ "name": "styleSheetRemoved",
+ "description": "Fired whenever an active document stylesheet is removed.",
+ "parameters": [
+ {
+ "name": "styleSheetId",
+ "description": "Identifier of the removed stylesheet.",
+ "$ref": "StyleSheetId"
+ }
]
},
{
- "id": "LogicalAxes",
- "description": "ContainerSelector logical axes",
- "type": "string",
- "enum": [
- "Inline",
- "Block",
- "Both"
+ "name": "computedStyleUpdated",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "The node id that has updated computed styles.",
+ "$ref": "DOM.NodeId"
+ }
]
+ }
+ ]
+ },
+ {
+ "domain": "CacheStorage",
+ "experimental": true,
+ "dependencies": [
+ "Storage"
+ ],
+ "types": [
+ {
+ "id": "CacheId",
+ "description": "Unique identifier of the Cache object.",
+ "type": "string"
},
{
- "id": "ScrollOrientation",
- "description": "Physical scroll orientation",
+ "id": "CachedResponseType",
+ "description": "type of HTTP response cached",
"type": "string",
"enum": [
- "horizontal",
- "vertical"
+ "basic",
+ "cors",
+ "default",
+ "error",
+ "opaqueResponse",
+ "opaqueRedirect"
]
},
{
- "id": "Node",
- "description": "DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes.\nDOMNode is a base node mirror type.",
+ "id": "DataEntry",
+ "description": "Data entry.",
"type": "object",
"properties": [
{
- "name": "nodeId",
- "description": "Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend\nwill only push node with given `id` once. It is aware of all requested nodes and will only\nfire DOM events for nodes known to the client.",
- "$ref": "NodeId"
- },
- {
- "name": "parentId",
- "description": "The id of the parent node if any.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "requestURL",
+ "description": "Request URL.",
+ "type": "string"
},
{
- "name": "backendNodeId",
- "description": "The BackendNodeId for this node.",
- "$ref": "BackendNodeId"
+ "name": "requestMethod",
+ "description": "Request method.",
+ "type": "string"
},
{
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
+ "name": "requestHeaders",
+ "description": "Request headers",
+ "type": "array",
+ "items": {
+ "$ref": "Header"
+ }
},
{
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
- "type": "string"
+ "name": "responseTime",
+ "description": "Number of seconds since epoch.",
+ "type": "number"
},
{
- "name": "localName",
- "description": "`Node`'s localName.",
- "type": "string"
+ "name": "responseStatus",
+ "description": "HTTP response status code.",
+ "type": "integer"
},
{
- "name": "nodeValue",
- "description": "`Node`'s nodeValue.",
+ "name": "responseStatusText",
+ "description": "HTTP response status text.",
"type": "string"
},
{
- "name": "childNodeCount",
- "description": "Child count for `Container` nodes.",
- "optional": true,
- "type": "integer"
+ "name": "responseType",
+ "description": "HTTP response type",
+ "$ref": "CachedResponseType"
},
{
- "name": "children",
- "description": "Child nodes of this node when requested with children.",
- "optional": true,
+ "name": "responseHeaders",
+ "description": "Response headers",
"type": "array",
"items": {
- "$ref": "Node"
+ "$ref": "Header"
}
- },
+ }
+ ]
+ },
+ {
+ "id": "Cache",
+ "description": "Cache identifier.",
+ "type": "object",
+ "properties": [
{
- "name": "attributes",
- "description": "Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "cacheId",
+ "description": "An opaque unique id of the cache.",
+ "$ref": "CacheId"
},
{
- "name": "documentURL",
- "description": "Document URL that `Document` or `FrameOwner` node points to.",
- "optional": true,
+ "name": "securityOrigin",
+ "description": "Security origin of the cache.",
"type": "string"
},
{
- "name": "baseURL",
- "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
- "optional": true,
+ "name": "storageKey",
+ "description": "Storage key of the cache.",
"type": "string"
},
{
- "name": "publicId",
- "description": "`DocumentType`'s publicId.",
+ "name": "storageBucket",
+ "description": "Storage bucket of the cache.",
"optional": true,
- "type": "string"
+ "$ref": "Storage.StorageBucket"
},
{
- "name": "systemId",
- "description": "`DocumentType`'s systemId.",
- "optional": true,
+ "name": "cacheName",
+ "description": "The name of the cache.",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "Header",
+ "type": "object",
+ "properties": [
{
- "name": "internalSubset",
- "description": "`DocumentType`'s internalSubset.",
- "optional": true,
+ "name": "name",
"type": "string"
},
{
- "name": "xmlVersion",
- "description": "`Document`'s XML version in case of XML documents.",
- "optional": true,
+ "name": "value",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "CachedResponse",
+ "description": "Cached response",
+ "type": "object",
+ "properties": [
{
- "name": "name",
- "description": "`Attr`'s name.",
- "optional": true,
+ "name": "body",
+ "description": "Entry content, base64-encoded. (Encoded as a base64 string when passed over JSON)",
"type": "string"
- },
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "deleteCache",
+ "description": "Deletes a cache.",
+ "parameters": [
{
- "name": "value",
- "description": "`Attr`'s value.",
- "optional": true,
- "type": "string"
- },
+ "name": "cacheId",
+ "description": "Id of cache for deletion.",
+ "$ref": "CacheId"
+ }
+ ]
+ },
+ {
+ "name": "deleteEntry",
+ "description": "Deletes a cache entry.",
+ "parameters": [
{
- "name": "pseudoType",
- "description": "Pseudo element type for this node.",
- "optional": true,
- "$ref": "PseudoType"
+ "name": "cacheId",
+ "description": "Id of cache where the entry will be deleted.",
+ "$ref": "CacheId"
},
{
- "name": "pseudoIdentifier",
- "description": "Pseudo element identifier for this node. Only present if there is a\nvalid pseudoType.",
- "optional": true,
+ "name": "request",
+ "description": "URL spec of the request.",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "requestCacheNames",
+ "description": "Requests cache names.",
+ "parameters": [
{
- "name": "shadowRootType",
- "description": "Shadow root type.",
+ "name": "securityOrigin",
+ "description": "At least and at most one of securityOrigin, storageKey, storageBucket must be specified.\nSecurity origin.",
"optional": true,
- "$ref": "ShadowRootType"
+ "type": "string"
},
{
- "name": "frameId",
- "description": "Frame ID for frame owner elements.",
+ "name": "storageKey",
+ "description": "Storage key.",
"optional": true,
- "$ref": "Page.FrameId"
+ "type": "string"
},
{
- "name": "contentDocument",
- "description": "Content document for frame owner elements.",
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
"optional": true,
- "$ref": "Node"
- },
+ "$ref": "Storage.StorageBucket"
+ }
+ ],
+ "returns": [
{
- "name": "shadowRoots",
- "description": "Shadow root list for given element host.",
- "optional": true,
+ "name": "caches",
+ "description": "Caches for the security origin.",
"type": "array",
"items": {
- "$ref": "Node"
+ "$ref": "Cache"
}
+ }
+ ]
+ },
+ {
+ "name": "requestCachedResponse",
+ "description": "Fetches cache entry.",
+ "parameters": [
+ {
+ "name": "cacheId",
+ "description": "Id of cache that contains the entry.",
+ "$ref": "CacheId"
},
{
- "name": "templateContent",
- "description": "Content document fragment for template elements.",
- "optional": true,
- "$ref": "Node"
+ "name": "requestURL",
+ "description": "URL spec of the request.",
+ "type": "string"
},
{
- "name": "pseudoElements",
- "description": "Pseudo elements associated with this node.",
- "optional": true,
+ "name": "requestHeaders",
+ "description": "headers of the request.",
"type": "array",
"items": {
- "$ref": "Node"
+ "$ref": "Header"
}
- },
+ }
+ ],
+ "returns": [
{
- "name": "importedDocument",
- "description": "Deprecated, as the HTML Imports API has been removed (crbug.com/937746).\nThis property used to return the imported document for the HTMLImport links.\nThe property is always undefined now.",
- "deprecated": true,
- "optional": true,
- "$ref": "Node"
+ "name": "response",
+ "description": "Response read from the cache.",
+ "$ref": "CachedResponse"
+ }
+ ]
+ },
+ {
+ "name": "requestEntries",
+ "description": "Requests data from cache.",
+ "parameters": [
+ {
+ "name": "cacheId",
+ "description": "ID of cache to get entries from.",
+ "$ref": "CacheId"
},
{
- "name": "distributedNodes",
- "description": "Distributed nodes for given insertion point.",
+ "name": "skipCount",
+ "description": "Number of records to skip.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "BackendNode"
- }
+ "type": "integer"
},
{
- "name": "isSVG",
- "description": "Whether the node is SVG.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "compatibilityMode",
- "optional": true,
- "$ref": "CompatibilityMode"
- },
- {
- "name": "assignedSlot",
+ "name": "pageSize",
+ "description": "Number of records to fetch.",
"optional": true,
- "$ref": "BackendNode"
+ "type": "integer"
},
{
- "name": "isScrollable",
- "experimental": true,
+ "name": "pathFilter",
+ "description": "If present, only return the entries containing this substring in the path",
"optional": true,
- "type": "boolean"
+ "type": "string"
}
- ]
- },
- {
- "id": "DetachedElementInfo",
- "description": "A structure to hold the top-level node of a detached tree and an array of its retained descendants.",
- "type": "object",
- "properties": [
- {
- "name": "treeNode",
- "$ref": "Node"
- },
+ ],
+ "returns": [
{
- "name": "retainedNodeIds",
+ "name": "cacheDataEntries",
+ "description": "Array of object store data entries.",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "$ref": "DataEntry"
}
+ },
+ {
+ "name": "returnCount",
+ "description": "Count of returned entries from this storage. If pathFilter is empty, it\nis the count of all entries from this storage.",
+ "type": "number"
}
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "Cast",
+ "description": "A domain for interacting with Cast, Presentation API, and Remote Playback API\nfunctionalities.",
+ "experimental": true,
+ "types": [
{
- "id": "RGBA",
- "description": "A structure holding an RGBA color.",
+ "id": "Sink",
"type": "object",
"properties": [
{
- "name": "r",
- "description": "The red component, in the [0-255] range.",
- "type": "integer"
+ "name": "name",
+ "type": "string"
},
{
- "name": "g",
- "description": "The green component, in the [0-255] range.",
- "type": "integer"
+ "name": "id",
+ "type": "string"
},
{
- "name": "b",
- "description": "The blue component, in the [0-255] range.",
- "type": "integer"
- },
+ "name": "session",
+ "description": "Text describing the current session. Present only if there is an active\nsession on the sink.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "enable",
+ "description": "Starts observing for sinks that can be used for tab mirroring, and if set,\nsinks compatible with |presentationUrl| as well. When sinks are found, a\n|sinksUpdated| event is fired.\nAlso starts observing for issue messages. When an issue is added or removed,\nan |issueUpdated| event is fired.",
+ "parameters": [
{
- "name": "a",
- "description": "The alpha component, in the [0-1] range (default: 1).",
+ "name": "presentationUrl",
"optional": true,
- "type": "number"
+ "type": "string"
}
]
},
{
- "id": "Quad",
- "description": "An array of quad vertices, x immediately followed by y for each point, points clock-wise.",
- "type": "array",
- "items": {
- "type": "number"
- }
+ "name": "disable",
+ "description": "Stops observing for sinks and issues."
},
{
- "id": "BoxModel",
- "description": "Box model.",
- "type": "object",
- "properties": [
- {
- "name": "content",
- "description": "Content box",
- "$ref": "Quad"
- },
- {
- "name": "padding",
- "description": "Padding box",
- "$ref": "Quad"
- },
- {
- "name": "border",
- "description": "Border box",
- "$ref": "Quad"
- },
- {
- "name": "margin",
- "description": "Margin box",
- "$ref": "Quad"
- },
- {
- "name": "width",
- "description": "Node width",
- "type": "integer"
- },
- {
- "name": "height",
- "description": "Node height",
- "type": "integer"
- },
+ "name": "setSinkToUse",
+ "description": "Sets a sink to be used when the web page requests the browser to choose a\nsink via Presentation API, Remote Playback API, or Cast SDK.",
+ "parameters": [
{
- "name": "shapeOutside",
- "description": "Shape outside coordinates",
- "optional": true,
- "$ref": "ShapeOutsideInfo"
+ "name": "sinkName",
+ "type": "string"
}
]
},
{
- "id": "ShapeOutsideInfo",
- "description": "CSS Shape Outside details.",
- "type": "object",
- "properties": [
- {
- "name": "bounds",
- "description": "Shape bounds",
- "$ref": "Quad"
- },
- {
- "name": "shape",
- "description": "Shape coordinate details",
- "type": "array",
- "items": {
- "type": "any"
- }
- },
+ "name": "startDesktopMirroring",
+ "description": "Starts mirroring the desktop to the sink.",
+ "parameters": [
{
- "name": "marginShape",
- "description": "Margin shape bounds",
- "type": "array",
- "items": {
- "type": "any"
- }
+ "name": "sinkName",
+ "type": "string"
}
]
},
{
- "id": "Rect",
- "description": "Rectangle.",
- "type": "object",
- "properties": [
- {
- "name": "x",
- "description": "X coordinate",
- "type": "number"
- },
- {
- "name": "y",
- "description": "Y coordinate",
- "type": "number"
- },
- {
- "name": "width",
- "description": "Rectangle width",
- "type": "number"
- },
+ "name": "startTabMirroring",
+ "description": "Starts mirroring the tab to the sink.",
+ "parameters": [
{
- "name": "height",
- "description": "Rectangle height",
- "type": "number"
+ "name": "sinkName",
+ "type": "string"
}
]
},
{
- "id": "CSSComputedStyleProperty",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Computed style property name.",
- "type": "string"
- },
+ "name": "stopCasting",
+ "description": "Stops the active Cast session on the sink.",
+ "parameters": [
{
- "name": "value",
- "description": "Computed style property value.",
+ "name": "sinkName",
"type": "string"
}
]
}
],
- "commands": [
+ "events": [
{
- "name": "collectClassNamesFromSubtree",
- "description": "Collects class names for the node with given id and all of it's child nodes.",
- "experimental": true,
+ "name": "sinksUpdated",
+ "description": "This is fired whenever the list of available sinks changes. A sink is a\ndevice or a software surface that you can cast to.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to collect class names.",
- "$ref": "NodeId"
- }
- ],
- "returns": [
- {
- "name": "classNames",
- "description": "Class name list.",
+ "name": "sinks",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "Sink"
}
}
]
},
{
- "name": "copyTo",
- "description": "Creates a deep copy of the specified node and places it into the target container before the\ngiven anchor.",
- "experimental": true,
+ "name": "issueUpdated",
+ "description": "This is fired whenever the outstanding issue/error message changes.\n|issueMessage| is empty if there is no issue.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to copy.",
- "$ref": "NodeId"
- },
- {
- "name": "targetNodeId",
- "description": "Id of the element to drop the copy into.",
- "$ref": "NodeId"
- },
- {
- "name": "insertBeforeNodeId",
- "description": "Drop the copy before this node (if absent, the copy becomes the last child of\n`targetNodeId`).",
- "optional": true,
- "$ref": "NodeId"
- }
- ],
- "returns": [
- {
- "name": "nodeId",
- "description": "Id of the node clone.",
- "$ref": "NodeId"
+ "name": "issueMessage",
+ "type": "string"
}
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "DOM",
+ "description": "This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object\nthat has an `id`. This `id` can be used to get additional information on the Node, resolve it into\nthe JavaScript object wrapper, etc. It is important that client receives DOM events only for the\nnodes that are known to the client. Backend keeps track of the nodes that were sent to the client\nand never sends the same node twice. It is client's responsibility to collect information about\nthe nodes that were sent to the client. Note that `iframe` owner elements will return\ncorresponding document elements as their child nodes.",
+ "dependencies": [
+ "Runtime"
+ ],
+ "types": [
{
- "name": "describeNode",
- "description": "Describes node given its id, does not require domain to be enabled. Does not start tracking any\nobjects, can be used for automation.",
- "parameters": [
- {
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
- },
- {
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
- "$ref": "BackendNodeId"
- },
- {
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
- },
+ "id": "NodeId",
+ "description": "Unique DOM node identifier.",
+ "type": "integer"
+ },
+ {
+ "id": "BackendNodeId",
+ "description": "Unique DOM node identifier used to reference a node that may not have been pushed to the\nfront-end.",
+ "type": "integer"
+ },
+ {
+ "id": "BackendNode",
+ "description": "Backend node with a friendly name.",
+ "type": "object",
+ "properties": [
{
- "name": "depth",
- "description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
- "optional": true,
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
"type": "integer"
},
{
- "name": "pierce",
- "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).",
- "optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "node",
- "description": "Node description.",
- "$ref": "Node"
- }
- ]
- },
- {
- "name": "scrollIntoViewIfNeeded",
- "description": "Scrolls the specified rect of the given node into view if not already visible.\nNote: exactly one between nodeId, backendNodeId and objectId should be passed\nto identify the node.",
- "parameters": [
- {
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
+ "type": "string"
},
{
"name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
"$ref": "BackendNodeId"
- },
- {
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
- },
- {
- "name": "rect",
- "description": "The rect to be scrolled into view, relative to the node's border box, in CSS pixels.\nWhen omitted, center of the node will be used, similar to Element.scrollIntoView.",
- "optional": true,
- "$ref": "Rect"
}
]
},
{
- "name": "disable",
- "description": "Disables DOM agent for the given page."
+ "id": "PseudoType",
+ "description": "Pseudo element type.",
+ "type": "string",
+ "enum": [
+ "first-line",
+ "first-letter",
+ "checkmark",
+ "before",
+ "after",
+ "picker-icon",
+ "interest-hint",
+ "marker",
+ "backdrop",
+ "column",
+ "selection",
+ "search-text",
+ "target-text",
+ "spelling-error",
+ "grammar-error",
+ "highlight",
+ "first-line-inherited",
+ "scroll-marker",
+ "scroll-marker-group",
+ "scroll-button",
+ "scrollbar",
+ "scrollbar-thumb",
+ "scrollbar-button",
+ "scrollbar-track",
+ "scrollbar-track-piece",
+ "scrollbar-corner",
+ "resizer",
+ "input-list-button",
+ "view-transition",
+ "view-transition-group",
+ "view-transition-image-pair",
+ "view-transition-group-children",
+ "view-transition-old",
+ "view-transition-new",
+ "placeholder",
+ "file-selector-button",
+ "details-content",
+ "picker",
+ "permission-icon"
+ ]
},
{
- "name": "discardSearchResults",
- "description": "Discards search results from the session with the given id. `getSearchResults` should no longer\nbe called for that search.",
- "experimental": true,
- "parameters": [
- {
- "name": "searchId",
- "description": "Unique search session identifier.",
- "type": "string"
- }
+ "id": "ShadowRootType",
+ "description": "Shadow root type.",
+ "type": "string",
+ "enum": [
+ "user-agent",
+ "open",
+ "closed"
]
},
{
- "name": "enable",
- "description": "Enables DOM agent for the given page.",
- "parameters": [
- {
- "name": "includeWhitespace",
- "description": "Whether to include whitespaces in the children array of returned Nodes.",
- "experimental": true,
- "optional": true,
- "type": "string",
- "enum": [
- "none",
- "all"
- ]
- }
+ "id": "CompatibilityMode",
+ "description": "Document compatibility mode.",
+ "type": "string",
+ "enum": [
+ "QuirksMode",
+ "LimitedQuirksMode",
+ "NoQuirksMode"
]
},
{
- "name": "focus",
- "description": "Focuses the given element.",
- "parameters": [
- {
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
- },
- {
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
- "$ref": "BackendNodeId"
- },
- {
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
- }
+ "id": "PhysicalAxes",
+ "description": "ContainerSelector physical axes",
+ "type": "string",
+ "enum": [
+ "Horizontal",
+ "Vertical",
+ "Both"
]
},
{
- "name": "getAttributes",
- "description": "Returns attributes for the specified node.",
- "parameters": [
- {
- "name": "nodeId",
- "description": "Id of the node to retrieve attributes for.",
- "$ref": "NodeId"
- }
- ],
- "returns": [
- {
- "name": "attributes",
- "description": "An interleaved array of node attribute names and values.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
+ "id": "LogicalAxes",
+ "description": "ContainerSelector logical axes",
+ "type": "string",
+ "enum": [
+ "Inline",
+ "Block",
+ "Both"
]
},
{
- "name": "getBoxModel",
- "description": "Returns boxes for the given node.",
- "parameters": [
+ "id": "ScrollOrientation",
+ "description": "Physical scroll orientation",
+ "type": "string",
+ "enum": [
+ "horizontal",
+ "vertical"
+ ]
+ },
+ {
+ "id": "Node",
+ "description": "DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes.\nDOMNode is a base node mirror type.",
+ "type": "object",
+ "properties": [
{
"name": "nodeId",
- "description": "Identifier of the node.",
+ "description": "Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend\nwill only push node with given `id` once. It is aware of all requested nodes and will only\nfire DOM events for nodes known to the client.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "parentId",
+ "description": "The id of the parent node if any.",
"optional": true,
"$ref": "NodeId"
},
{
"name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
+ "description": "The BackendNodeId for this node.",
"$ref": "BackendNodeId"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
+ "type": "integer"
+ },
{
- "name": "model",
- "description": "Box model for the node.",
- "$ref": "BoxModel"
- }
- ]
- },
- {
- "name": "getContentQuads",
- "description": "Returns quads that describe node position on the page. This method\nmight return multiple quads for inline nodes.",
- "experimental": true,
- "parameters": [
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
+ "type": "string"
+ },
{
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "localName",
+ "description": "`Node`'s localName.",
+ "type": "string"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
+ "name": "nodeValue",
+ "description": "`Node`'s nodeValue.",
+ "type": "string"
+ },
+ {
+ "name": "childNodeCount",
+ "description": "Child count for `Container` nodes.",
"optional": true,
- "$ref": "BackendNodeId"
+ "type": "integer"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
+ "name": "children",
+ "description": "Child nodes of this node when requested with children.",
"optional": true,
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
+ "type": "array",
+ "items": {
+ "$ref": "Node"
+ }
+ },
{
- "name": "quads",
- "description": "Quads that describe node layout relative to viewport.",
+ "name": "attributes",
+ "description": "Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "Quad"
+ "type": "string"
}
- }
- ]
- },
- {
- "name": "getDocument",
- "description": "Returns the root DOM node (and optionally the subtree) to the caller.\nImplicitly enables the DOM domain events for the current target.",
- "parameters": [
+ },
{
- "name": "depth",
- "description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
+ "name": "documentURL",
+ "description": "Document URL that `Document` or `FrameOwner` node points to.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "pierce",
- "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).",
+ "name": "baseURL",
+ "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "type": "string"
+ },
{
- "name": "root",
- "description": "Resulting node.",
- "$ref": "Node"
- }
- ]
- },
- {
- "name": "getFlattenedDocument",
- "description": "Returns the root DOM node (and optionally the subtree) to the caller.\nDeprecated, as it is not designed to work well with the rest of the DOM agent.\nUse DOMSnapshot.captureSnapshot instead.",
- "deprecated": true,
- "parameters": [
+ "name": "publicId",
+ "description": "`DocumentType`'s publicId.",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "depth",
- "description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
+ "name": "systemId",
+ "description": "`DocumentType`'s systemId.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "pierce",
- "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).",
+ "name": "internalSubset",
+ "description": "`DocumentType`'s internalSubset.",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "type": "string"
+ },
{
- "name": "nodes",
- "description": "Resulting node.",
+ "name": "xmlVersion",
+ "description": "`Document`'s XML version in case of XML documents.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "description": "`Attr`'s name.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "description": "`Attr`'s value.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "pseudoType",
+ "description": "Pseudo element type for this node.",
+ "optional": true,
+ "$ref": "PseudoType"
+ },
+ {
+ "name": "pseudoIdentifier",
+ "description": "Pseudo element identifier for this node. Only present if there is a\nvalid pseudoType.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "shadowRootType",
+ "description": "Shadow root type.",
+ "optional": true,
+ "$ref": "ShadowRootType"
+ },
+ {
+ "name": "frameId",
+ "description": "Frame ID for frame owner elements.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "contentDocument",
+ "description": "Content document for frame owner elements.",
+ "optional": true,
+ "$ref": "Node"
+ },
+ {
+ "name": "shadowRoots",
+ "description": "Shadow root list for given element host.",
+ "optional": true,
"type": "array",
"items": {
"$ref": "Node"
}
- }
- ]
- },
- {
- "name": "getNodesForSubtreeByStyle",
- "description": "Finds nodes with a given computed style in a subtree.",
- "experimental": true,
- "parameters": [
+ },
{
- "name": "nodeId",
- "description": "Node ID pointing to the root of a subtree.",
- "$ref": "NodeId"
+ "name": "templateContent",
+ "description": "Content document fragment for template elements.",
+ "optional": true,
+ "$ref": "Node"
},
{
- "name": "computedStyles",
- "description": "The style to filter nodes by (includes nodes if any of properties matches).",
+ "name": "pseudoElements",
+ "description": "Pseudo elements associated with this node.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "CSSComputedStyleProperty"
+ "$ref": "Node"
}
},
{
- "name": "pierce",
- "description": "Whether or not iframes and shadow roots in the same target should be traversed when returning the\nresults (default is false).",
+ "name": "importedDocument",
+ "description": "Deprecated, as the HTML Imports API has been removed (crbug.com/937746).\nThis property used to return the imported document for the HTMLImport links.\nThe property is always undefined now.",
+ "deprecated": true,
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "$ref": "Node"
+ },
{
- "name": "nodeIds",
- "description": "Resulting nodes.",
+ "name": "distributedNodes",
+ "description": "Distributed nodes for given insertion point.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "NodeId"
+ "$ref": "BackendNode"
}
- }
- ]
- },
- {
- "name": "getNodeForLocation",
- "description": "Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is\neither returned or not.",
- "parameters": [
- {
- "name": "x",
- "description": "X coordinate.",
- "type": "integer"
- },
- {
- "name": "y",
- "description": "Y coordinate.",
- "type": "integer"
},
{
- "name": "includeUserAgentShadowDOM",
- "description": "False to skip to the nearest non-UA shadow root ancestor (default: false).",
+ "name": "isSVG",
+ "description": "Whether the node is SVG.",
"optional": true,
"type": "boolean"
},
{
- "name": "ignorePointerEventsNone",
- "description": "Whether to ignore pointer-events: none on elements and hit test them.",
+ "name": "compatibilityMode",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "$ref": "CompatibilityMode"
+ },
{
- "name": "backendNodeId",
- "description": "Resulting node.",
- "$ref": "BackendNodeId"
+ "name": "assignedSlot",
+ "optional": true,
+ "$ref": "BackendNode"
},
{
- "name": "frameId",
- "description": "Frame this node belongs to.",
- "$ref": "Page.FrameId"
+ "name": "isScrollable",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "nodeId",
- "description": "Id of the node at given coordinates, only when enabled and requested document.",
+ "name": "affectedByStartingStyles",
+ "experimental": true,
"optional": true,
- "$ref": "NodeId"
+ "type": "boolean"
}
]
},
{
- "name": "getOuterHTML",
- "description": "Returns node's HTML markup.",
- "parameters": [
+ "id": "DetachedElementInfo",
+ "description": "A structure to hold the top-level node of a detached tree and an array of its retained descendants.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "treeNode",
+ "$ref": "Node"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
- "$ref": "BackendNodeId"
+ "name": "retainedNodeIds",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
+ }
+ ]
+ },
+ {
+ "id": "RGBA",
+ "description": "A structure holding an RGBA color.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "r",
+ "description": "The red component, in the [0-255] range.",
+ "type": "integer"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
+ "name": "g",
+ "description": "The green component, in the [0-255] range.",
+ "type": "integer"
+ },
+ {
+ "name": "b",
+ "description": "The blue component, in the [0-255] range.",
+ "type": "integer"
+ },
+ {
+ "name": "a",
+ "description": "The alpha component, in the [0-1] range (default: 1).",
"optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "type": "number"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "Quad",
+ "description": "An array of quad vertices, x immediately followed by y for each point, points clock-wise.",
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ {
+ "id": "BoxModel",
+ "description": "Box model.",
+ "type": "object",
+ "properties": [
{
- "name": "outerHTML",
- "description": "Outer HTML markup.",
- "type": "string"
+ "name": "content",
+ "description": "Content box",
+ "$ref": "Quad"
+ },
+ {
+ "name": "padding",
+ "description": "Padding box",
+ "$ref": "Quad"
+ },
+ {
+ "name": "border",
+ "description": "Border box",
+ "$ref": "Quad"
+ },
+ {
+ "name": "margin",
+ "description": "Margin box",
+ "$ref": "Quad"
+ },
+ {
+ "name": "width",
+ "description": "Node width",
+ "type": "integer"
+ },
+ {
+ "name": "height",
+ "description": "Node height",
+ "type": "integer"
+ },
+ {
+ "name": "shapeOutside",
+ "description": "Shape outside coordinates",
+ "optional": true,
+ "$ref": "ShapeOutsideInfo"
}
]
},
{
- "name": "getRelayoutBoundary",
- "description": "Returns the id of the nearest ancestor that is a relayout boundary.",
- "experimental": true,
- "parameters": [
+ "id": "ShapeOutsideInfo",
+ "description": "CSS Shape Outside details.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Id of the node.",
- "$ref": "NodeId"
+ "name": "bounds",
+ "description": "Shape bounds",
+ "$ref": "Quad"
+ },
+ {
+ "name": "shape",
+ "description": "Shape coordinate details",
+ "type": "array",
+ "items": {
+ "type": "any"
+ }
+ },
+ {
+ "name": "marginShape",
+ "description": "Margin shape bounds",
+ "type": "array",
+ "items": {
+ "type": "any"
+ }
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "Rect",
+ "description": "Rectangle.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Relayout boundary node id for the given node.",
- "$ref": "NodeId"
+ "name": "x",
+ "description": "X coordinate",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "description": "Y coordinate",
+ "type": "number"
+ },
+ {
+ "name": "width",
+ "description": "Rectangle width",
+ "type": "number"
+ },
+ {
+ "name": "height",
+ "description": "Rectangle height",
+ "type": "number"
}
]
},
{
- "name": "getSearchResults",
- "description": "Returns search results from given `fromIndex` to given `toIndex` from the search with the given\nidentifier.",
- "experimental": true,
- "parameters": [
+ "id": "CSSComputedStyleProperty",
+ "type": "object",
+ "properties": [
{
- "name": "searchId",
- "description": "Unique search session identifier.",
+ "name": "name",
+ "description": "Computed style property name.",
"type": "string"
},
{
- "name": "fromIndex",
- "description": "Start index of the search result to be returned.",
- "type": "integer"
- },
+ "name": "value",
+ "description": "Computed style property value.",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "collectClassNamesFromSubtree",
+ "description": "Collects class names for the node with given id and all of it's child nodes.",
+ "experimental": true,
+ "parameters": [
{
- "name": "toIndex",
- "description": "End index of the search result to be returned.",
- "type": "integer"
+ "name": "nodeId",
+ "description": "Id of the node to collect class names.",
+ "$ref": "NodeId"
}
],
"returns": [
{
- "name": "nodeIds",
- "description": "Ids of the search result nodes.",
+ "name": "classNames",
+ "description": "Class name list.",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "type": "string"
}
}
]
},
{
- "name": "hideHighlight",
- "description": "Hides any highlight.",
- "redirect": "Overlay"
- },
- {
- "name": "highlightNode",
- "description": "Highlights DOM node.",
- "redirect": "Overlay"
- },
- {
- "name": "highlightRect",
- "description": "Highlights given rectangle.",
- "redirect": "Overlay"
- },
- {
- "name": "markUndoableState",
- "description": "Marks last undoable state.",
- "experimental": true
- },
- {
- "name": "moveTo",
- "description": "Moves node into the new container, places it before the given anchor.",
+ "name": "copyTo",
+ "description": "Creates a deep copy of the specified node and places it into the target container before the\ngiven anchor.",
+ "experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to move.",
+ "description": "Id of the node to copy.",
"$ref": "NodeId"
},
{
"name": "targetNodeId",
- "description": "Id of the element to drop the moved node into.",
+ "description": "Id of the element to drop the copy into.",
"$ref": "NodeId"
},
{
"name": "insertBeforeNodeId",
- "description": "Drop node before this one (if absent, the moved node becomes the last child of\n`targetNodeId`).",
+ "description": "Drop the copy before this node (if absent, the copy becomes the last child of\n`targetNodeId`).",
"optional": true,
"$ref": "NodeId"
}
@@ -7256,219 +7257,232 @@
"returns": [
{
"name": "nodeId",
- "description": "New id of the moved node.",
+ "description": "Id of the node clone.",
"$ref": "NodeId"
}
]
},
{
- "name": "performSearch",
- "description": "Searches for a given string in the DOM tree. Use `getSearchResults` to access search results or\n`cancelSearch` to end this search session.",
- "experimental": true,
+ "name": "describeNode",
+ "description": "Describes node given its id, does not require domain to be enabled. Does not start tracking any\nobjects, can be used for automation.",
"parameters": [
{
- "name": "query",
- "description": "Plain text or query selector or XPath search query.",
- "type": "string"
+ "name": "nodeId",
+ "description": "Identifier of the node.",
+ "optional": true,
+ "$ref": "NodeId"
},
{
- "name": "includeUserAgentShadowDOM",
- "description": "True to search in user agent shadow DOM.",
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "$ref": "BackendNodeId"
+ },
{
- "name": "searchId",
- "description": "Unique search session identifier.",
- "type": "string"
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
},
{
- "name": "resultCount",
- "description": "Number of search results.",
+ "name": "depth",
+ "description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
+ "optional": true,
"type": "integer"
+ },
+ {
+ "name": "pierce",
+ "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "node",
+ "description": "Node description.",
+ "$ref": "Node"
}
]
},
{
- "name": "pushNodeByPathToFrontend",
- "description": "Requests that the node is sent to the caller given its path. // FIXME, use XPath",
- "experimental": true,
+ "name": "scrollIntoViewIfNeeded",
+ "description": "Scrolls the specified rect of the given node into view if not already visible.\nNote: exactly one between nodeId, backendNodeId and objectId should be passed\nto identify the node.",
"parameters": [
- {
- "name": "path",
- "description": "Path to node in the proprietary format.",
- "type": "string"
- }
- ],
- "returns": [
{
"name": "nodeId",
- "description": "Id of the node for given path.",
+ "description": "Identifier of the node.",
+ "optional": true,
"$ref": "NodeId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
+ },
+ {
+ "name": "rect",
+ "description": "The rect to be scrolled into view, relative to the node's border box, in CSS pixels.\nWhen omitted, center of the node will be used, similar to Element.scrollIntoView.",
+ "optional": true,
+ "$ref": "Rect"
}
]
},
{
- "name": "pushNodesByBackendIdsToFrontend",
- "description": "Requests that a batch of nodes is sent to the caller given their backend node ids.",
+ "name": "disable",
+ "description": "Disables DOM agent for the given page."
+ },
+ {
+ "name": "discardSearchResults",
+ "description": "Discards search results from the session with the given id. `getSearchResults` should no longer\nbe called for that search.",
"experimental": true,
"parameters": [
{
- "name": "backendNodeIds",
- "description": "The array of backend node ids.",
- "type": "array",
- "items": {
- "$ref": "BackendNodeId"
- }
+ "name": "searchId",
+ "description": "Unique search session identifier.",
+ "type": "string"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "enable",
+ "description": "Enables DOM agent for the given page.",
+ "parameters": [
{
- "name": "nodeIds",
- "description": "The array of ids of pushed nodes that correspond to the backend ids specified in\nbackendNodeIds.",
- "type": "array",
- "items": {
- "$ref": "NodeId"
- }
+ "name": "includeWhitespace",
+ "description": "Whether to include whitespaces in the children array of returned Nodes.",
+ "experimental": true,
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "none",
+ "all"
+ ]
}
]
},
{
- "name": "querySelector",
- "description": "Executes `querySelector` on a given node.",
+ "name": "focus",
+ "description": "Focuses the given element.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to query upon.",
+ "description": "Identifier of the node.",
+ "optional": true,
"$ref": "NodeId"
},
{
- "name": "selector",
- "description": "Selector string.",
- "type": "string"
- }
- ],
- "returns": [
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
+ },
{
- "name": "nodeId",
- "description": "Query selector result.",
- "$ref": "NodeId"
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
}
]
},
{
- "name": "querySelectorAll",
- "description": "Executes `querySelectorAll` on a given node.",
+ "name": "getAttributes",
+ "description": "Returns attributes for the specified node.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to query upon.",
+ "description": "Id of the node to retrieve attributes for.",
"$ref": "NodeId"
- },
- {
- "name": "selector",
- "description": "Selector string.",
- "type": "string"
}
],
"returns": [
{
- "name": "nodeIds",
- "description": "Query selector result.",
- "type": "array",
- "items": {
- "$ref": "NodeId"
- }
- }
- ]
- },
- {
- "name": "getTopLayerElements",
- "description": "Returns NodeIds of current top layer elements.\nTop layer is rendered closest to the user within a viewport, therefore its elements always\nappear on top of all other content.",
- "experimental": true,
- "returns": [
- {
- "name": "nodeIds",
- "description": "NodeIds of top layer elements",
+ "name": "attributes",
+ "description": "An interleaved array of node attribute names and values.",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "type": "string"
}
}
]
},
{
- "name": "getElementByRelation",
- "description": "Returns the NodeId of the matched element according to certain relations.",
- "experimental": true,
+ "name": "getBoxModel",
+ "description": "Returns boxes for the given node.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node from which to query the relation.",
+ "description": "Identifier of the node.",
+ "optional": true,
"$ref": "NodeId"
},
{
- "name": "relation",
- "description": "Type of relation to get.",
- "type": "string",
- "enum": [
- "PopoverTarget",
- "InterestTarget",
- "CommandFor"
- ]
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
}
],
"returns": [
{
- "name": "nodeId",
- "description": "NodeId of the element matching the queried relation.",
- "$ref": "NodeId"
+ "name": "model",
+ "description": "Box model for the node.",
+ "$ref": "BoxModel"
}
]
},
{
- "name": "redo",
- "description": "Re-does the last undone action.",
- "experimental": true
- },
- {
- "name": "removeAttribute",
- "description": "Removes attribute with given name from an element with given id.",
+ "name": "getContentQuads",
+ "description": "Returns quads that describe node position on the page. This method\nmight return multiple quads for inline nodes.",
+ "experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "Id of the element to remove attribute from.",
+ "description": "Identifier of the node.",
+ "optional": true,
"$ref": "NodeId"
},
{
- "name": "name",
- "description": "Name of the attribute to remove.",
- "type": "string"
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
}
- ]
- },
- {
- "name": "removeNode",
- "description": "Removes node with given id.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "nodeId",
- "description": "Id of the node to remove.",
- "$ref": "NodeId"
+ "name": "quads",
+ "description": "Quads that describe node layout relative to viewport.",
+ "type": "array",
+ "items": {
+ "$ref": "Quad"
+ }
}
]
},
{
- "name": "requestChildNodes",
- "description": "Requests that children of the node with given id are returned to the caller in form of\n`setChildNodes` events where not only immediate children are retrieved, but all children down to\nthe specified depth.",
+ "name": "getDocument",
+ "description": "Returns the root DOM node (and optionally the subtree) to the caller.\nImplicitly enables the DOM domain events for the current target.",
"parameters": [
- {
- "name": "nodeId",
- "description": "Id of the node to get children for.",
- "$ref": "NodeId"
- },
{
"name": "depth",
"description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
@@ -7477,122 +7491,134 @@
},
{
"name": "pierce",
- "description": "Whether or not iframes and shadow roots should be traversed when returning the sub-tree\n(default is false).",
+ "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).",
"optional": true,
"type": "boolean"
}
+ ],
+ "returns": [
+ {
+ "name": "root",
+ "description": "Resulting node.",
+ "$ref": "Node"
+ }
]
},
{
- "name": "requestNode",
- "description": "Requests that the node is sent to the caller given the JavaScript node object reference. All\nnodes that form the path from the node to the root are also sent to the client as a series of\n`setChildNodes` notifications.",
+ "name": "getFlattenedDocument",
+ "description": "Returns the root DOM node (and optionally the subtree) to the caller.\nDeprecated, as it is not designed to work well with the rest of the DOM agent.\nUse DOMSnapshot.captureSnapshot instead.",
+ "deprecated": true,
"parameters": [
{
- "name": "objectId",
- "description": "JavaScript object id to convert into node.",
- "$ref": "Runtime.RemoteObjectId"
+ "name": "depth",
+ "description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "pierce",
+ "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).",
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
{
- "name": "nodeId",
- "description": "Node id for given object.",
- "$ref": "NodeId"
+ "name": "nodes",
+ "description": "Resulting node.",
+ "type": "array",
+ "items": {
+ "$ref": "Node"
+ }
}
]
},
{
- "name": "resolveNode",
- "description": "Resolves the JavaScript node object for a given NodeId or BackendNodeId.",
+ "name": "getNodesForSubtreeByStyle",
+ "description": "Finds nodes with a given computed style in a subtree.",
+ "experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to resolve.",
- "optional": true,
+ "description": "Node ID pointing to the root of a subtree.",
"$ref": "NodeId"
},
{
- "name": "backendNodeId",
- "description": "Backend identifier of the node to resolve.",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
- },
- {
- "name": "objectGroup",
- "description": "Symbolic group name that can be used to release multiple objects.",
- "optional": true,
- "type": "string"
+ "name": "computedStyles",
+ "description": "The style to filter nodes by (includes nodes if any of properties matches).",
+ "type": "array",
+ "items": {
+ "$ref": "CSSComputedStyleProperty"
+ }
},
{
- "name": "executionContextId",
- "description": "Execution context in which to resolve the node.",
+ "name": "pierce",
+ "description": "Whether or not iframes and shadow roots in the same target should be traversed when returning the\nresults (default is false).",
"optional": true,
- "$ref": "Runtime.ExecutionContextId"
+ "type": "boolean"
}
],
"returns": [
{
- "name": "object",
- "description": "JavaScript object wrapper for given node.",
- "$ref": "Runtime.RemoteObject"
+ "name": "nodeIds",
+ "description": "Resulting nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
}
]
},
{
- "name": "setAttributeValue",
- "description": "Sets attribute for an element with given id.",
+ "name": "getNodeForLocation",
+ "description": "Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is\neither returned or not.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the element to set attribute for.",
- "$ref": "NodeId"
+ "name": "x",
+ "description": "X coordinate.",
+ "type": "integer"
},
{
- "name": "name",
- "description": "Attribute name.",
- "type": "string"
+ "name": "y",
+ "description": "Y coordinate.",
+ "type": "integer"
},
{
- "name": "value",
- "description": "Attribute value.",
- "type": "string"
+ "name": "includeUserAgentShadowDOM",
+ "description": "False to skip to the nearest non-UA shadow root ancestor (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "ignorePointerEventsNone",
+ "description": "Whether to ignore pointer-events: none on elements and hit test them.",
+ "optional": true,
+ "type": "boolean"
}
- ]
- },
- {
- "name": "setAttributesAsText",
- "description": "Sets attributes on element with given id. This method is useful when user edits some existing\nattribute value and types in several attribute name/value pairs.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "nodeId",
- "description": "Id of the element to set attributes for.",
- "$ref": "NodeId"
+ "name": "backendNodeId",
+ "description": "Resulting node.",
+ "$ref": "BackendNodeId"
},
{
- "name": "text",
- "description": "Text with a number of attributes. Will parse this text using HTML parser.",
- "type": "string"
+ "name": "frameId",
+ "description": "Frame this node belongs to.",
+ "$ref": "Page.FrameId"
},
{
- "name": "name",
- "description": "Attribute name to replace with new attributes derived from text in case text parsed\nsuccessfully.",
+ "name": "nodeId",
+ "description": "Id of the node at given coordinates, only when enabled and requested document.",
"optional": true,
- "type": "string"
+ "$ref": "NodeId"
}
]
},
{
- "name": "setFileInputFiles",
- "description": "Sets files for the given file input element.",
+ "name": "getOuterHTML",
+ "description": "Returns node's HTML markup.",
"parameters": [
- {
- "name": "files",
- "description": "Array of file paths to set.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
{
"name": "nodeId",
"description": "Identifier of the node.",
@@ -7610,224 +7636,239 @@
"description": "JavaScript object id of the node wrapper.",
"optional": true,
"$ref": "Runtime.RemoteObjectId"
- }
- ]
- },
- {
- "name": "setNodeStackTracesEnabled",
- "description": "Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled.",
- "experimental": true,
- "parameters": [
+ },
{
- "name": "enable",
- "description": "Enable or disable.",
+ "name": "includeShadowDOM",
+ "description": "Include all shadow roots. Equals to false if not specified.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
}
+ ],
+ "returns": [
+ {
+ "name": "outerHTML",
+ "description": "Outer HTML markup.",
+ "type": "string"
+ }
]
},
{
- "name": "getNodeStackTraces",
- "description": "Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.",
+ "name": "getRelayoutBoundary",
+ "description": "Returns the id of the nearest ancestor that is a relayout boundary.",
"experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to get stack traces for.",
+ "description": "Id of the node.",
"$ref": "NodeId"
}
],
"returns": [
{
- "name": "creation",
- "description": "Creation stack trace, if available.",
- "optional": true,
- "$ref": "Runtime.StackTrace"
+ "name": "nodeId",
+ "description": "Relayout boundary node id for the given node.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "getFileInfo",
- "description": "Returns file information for the given\nFile wrapper.",
+ "name": "getSearchResults",
+ "description": "Returns search results from given `fromIndex` to given `toIndex` from the search with the given\nidentifier.",
"experimental": true,
"parameters": [
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
- {
- "name": "path",
+ "name": "searchId",
+ "description": "Unique search session identifier.",
"type": "string"
+ },
+ {
+ "name": "fromIndex",
+ "description": "Start index of the search result to be returned.",
+ "type": "integer"
+ },
+ {
+ "name": "toIndex",
+ "description": "End index of the search result to be returned.",
+ "type": "integer"
}
- ]
- },
- {
- "name": "getDetachedDomNodes",
- "description": "Returns list of detached nodes",
- "experimental": true,
+ ],
"returns": [
{
- "name": "detachedNodes",
- "description": "The list of detached nodes",
+ "name": "nodeIds",
+ "description": "Ids of the search result nodes.",
"type": "array",
"items": {
- "$ref": "DetachedElementInfo"
+ "$ref": "NodeId"
}
}
]
},
{
- "name": "setInspectedNode",
- "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details\n$x functions).",
- "experimental": true,
- "parameters": [
- {
- "name": "nodeId",
- "description": "DOM node id to be accessible by means of $x command line API.",
- "$ref": "NodeId"
- }
- ]
+ "name": "hideHighlight",
+ "description": "Hides any highlight.",
+ "redirect": "Overlay"
},
{
- "name": "setNodeName",
- "description": "Sets node name for a node with given id.",
+ "name": "highlightNode",
+ "description": "Highlights DOM node.",
+ "redirect": "Overlay"
+ },
+ {
+ "name": "highlightRect",
+ "description": "Highlights given rectangle.",
+ "redirect": "Overlay"
+ },
+ {
+ "name": "markUndoableState",
+ "description": "Marks last undoable state.",
+ "experimental": true
+ },
+ {
+ "name": "moveTo",
+ "description": "Moves node into the new container, places it before the given anchor.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to set name for.",
+ "description": "Id of the node to move.",
"$ref": "NodeId"
},
{
- "name": "name",
- "description": "New node's name.",
- "type": "string"
+ "name": "targetNodeId",
+ "description": "Id of the element to drop the moved node into.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "insertBeforeNodeId",
+ "description": "Drop node before this one (if absent, the moved node becomes the last child of\n`targetNodeId`).",
+ "optional": true,
+ "$ref": "NodeId"
}
],
"returns": [
{
"name": "nodeId",
- "description": "New node's id.",
+ "description": "New id of the moved node.",
"$ref": "NodeId"
}
]
},
{
- "name": "setNodeValue",
- "description": "Sets node value for a node with given id.",
+ "name": "performSearch",
+ "description": "Searches for a given string in the DOM tree. Use `getSearchResults` to access search results or\n`cancelSearch` to end this search session.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to set value for.",
- "$ref": "NodeId"
+ "name": "query",
+ "description": "Plain text or query selector or XPath search query.",
+ "type": "string"
},
{
- "name": "value",
- "description": "New node's value.",
+ "name": "includeUserAgentShadowDOM",
+ "description": "True to search in user agent shadow DOM.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "searchId",
+ "description": "Unique search session identifier.",
"type": "string"
+ },
+ {
+ "name": "resultCount",
+ "description": "Number of search results.",
+ "type": "integer"
}
]
},
{
- "name": "setOuterHTML",
- "description": "Sets node HTML markup, returns new node id.",
+ "name": "pushNodeByPathToFrontend",
+ "description": "Requests that the node is sent to the caller given its path. // FIXME, use XPath",
+ "experimental": true,
"parameters": [
+ {
+ "name": "path",
+ "description": "Path to node in the proprietary format.",
+ "type": "string"
+ }
+ ],
+ "returns": [
{
"name": "nodeId",
- "description": "Id of the node to set markup for.",
+ "description": "Id of the node for given path.",
"$ref": "NodeId"
- },
- {
- "name": "outerHTML",
- "description": "Outer HTML markup to set.",
- "type": "string"
}
]
},
{
- "name": "undo",
- "description": "Undoes the last performed action.",
- "experimental": true
- },
- {
- "name": "getFrameOwner",
- "description": "Returns iframe node that owns iframe with the given domain.",
+ "name": "pushNodesByBackendIdsToFrontend",
+ "description": "Requests that a batch of nodes is sent to the caller given their backend node ids.",
"experimental": true,
"parameters": [
{
- "name": "frameId",
- "$ref": "Page.FrameId"
+ "name": "backendNodeIds",
+ "description": "The array of backend node ids.",
+ "type": "array",
+ "items": {
+ "$ref": "BackendNodeId"
+ }
}
],
"returns": [
{
- "name": "backendNodeId",
- "description": "Resulting node.",
- "$ref": "BackendNodeId"
- },
- {
- "name": "nodeId",
- "description": "Id of the node at given coordinates, only when enabled and requested document.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "nodeIds",
+ "description": "The array of ids of pushed nodes that correspond to the backend ids specified in\nbackendNodeIds.",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
}
]
},
{
- "name": "getContainerForNode",
- "description": "Returns the query container of the given node based on container query\nconditions: containerName, physical and logical axes, and whether it queries\nscroll-state. If no axes are provided and queriesScrollState is false, the\nstyle container is returned, which is the direct parent or the closest\nelement with a matching container-name.",
- "experimental": true,
+ "name": "querySelector",
+ "description": "Executes `querySelector` on a given node.",
"parameters": [
{
"name": "nodeId",
+ "description": "Id of the node to query upon.",
"$ref": "NodeId"
},
{
- "name": "containerName",
- "optional": true,
+ "name": "selector",
+ "description": "Selector string.",
"type": "string"
- },
- {
- "name": "physicalAxes",
- "optional": true,
- "$ref": "PhysicalAxes"
- },
- {
- "name": "logicalAxes",
- "optional": true,
- "$ref": "LogicalAxes"
- },
- {
- "name": "queriesScrollState",
- "optional": true,
- "type": "boolean"
}
],
"returns": [
{
"name": "nodeId",
- "description": "The container node for the given node, or null if not found.",
- "optional": true,
+ "description": "Query selector result.",
"$ref": "NodeId"
}
]
},
{
- "name": "getQueryingDescendantsForContainer",
- "description": "Returns the descendants of a container query container that have\ncontainer queries against this container.",
- "experimental": true,
+ "name": "querySelectorAll",
+ "description": "Executes `querySelectorAll` on a given node.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the container node to find querying descendants from.",
+ "description": "Id of the node to query upon.",
"$ref": "NodeId"
+ },
+ {
+ "name": "selector",
+ "description": "Selector string.",
+ "type": "string"
}
],
"returns": [
{
"name": "nodeIds",
- "description": "Descendant nodes with container queries against the given container.",
+ "description": "Query selector result.",
"type": "array",
"items": {
"$ref": "NodeId"
@@ -7836,638 +7877,1105 @@
]
},
{
- "name": "getAnchorElement",
- "description": "Returns the target anchor element of the given anchor query according to\nhttps://www.w3.org/TR/css-anchor-position-1/#target.",
+ "name": "getTopLayerElements",
+ "description": "Returns NodeIds of current top layer elements.\nTop layer is rendered closest to the user within a viewport, therefore its elements always\nappear on top of all other content.",
+ "experimental": true,
+ "returns": [
+ {
+ "name": "nodeIds",
+ "description": "NodeIds of top layer elements",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getElementByRelation",
+ "description": "Returns the NodeId of the matched element according to certain relations.",
"experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "Id of the positioned element from which to find the anchor.",
+ "description": "Id of the node from which to query the relation.",
"$ref": "NodeId"
},
{
- "name": "anchorSpecifier",
- "description": "An optional anchor specifier, as defined in\nhttps://www.w3.org/TR/css-anchor-position-1/#anchor-specifier.\nIf not provided, it will return the implicit anchor element for\nthe given positioned element.",
- "optional": true,
- "type": "string"
+ "name": "relation",
+ "description": "Type of relation to get.",
+ "type": "string",
+ "enum": [
+ "PopoverTarget",
+ "InterestTarget",
+ "CommandFor"
+ ]
}
],
"returns": [
{
"name": "nodeId",
- "description": "The anchor element of the given anchor query.",
+ "description": "NodeId of the element matching the queried relation.",
"$ref": "NodeId"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "attributeModified",
- "description": "Fired when `Element`'s attribute is modified.",
+ "name": "redo",
+ "description": "Re-does the last undone action.",
+ "experimental": true
+ },
+ {
+ "name": "removeAttribute",
+ "description": "Removes attribute with given name from an element with given id.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node that has changed.",
+ "description": "Id of the element to remove attribute from.",
"$ref": "NodeId"
},
{
"name": "name",
- "description": "Attribute name.",
- "type": "string"
- },
- {
- "name": "value",
- "description": "Attribute value.",
+ "description": "Name of the attribute to remove.",
"type": "string"
}
]
},
{
- "name": "attributeRemoved",
- "description": "Fired when `Element`'s attribute is removed.",
+ "name": "removeNode",
+ "description": "Removes node with given id.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node that has changed.",
+ "description": "Id of the node to remove.",
"$ref": "NodeId"
- },
- {
- "name": "name",
- "description": "A ttribute name.",
- "type": "string"
}
]
},
{
- "name": "characterDataModified",
- "description": "Mirrors `DOMCharacterDataModified` event.",
+ "name": "requestChildNodes",
+ "description": "Requests that children of the node with given id are returned to the caller in form of\n`setChildNodes` events where not only immediate children are retrieved, but all children down to\nthe specified depth.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node that has changed.",
+ "description": "Id of the node to get children for.",
"$ref": "NodeId"
},
{
- "name": "characterData",
- "description": "New text value.",
- "type": "string"
+ "name": "depth",
+ "description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "pierce",
+ "description": "Whether or not iframes and shadow roots should be traversed when returning the sub-tree\n(default is false).",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "name": "childNodeCountUpdated",
- "description": "Fired when `Container`'s child node count has changed.",
+ "name": "requestNode",
+ "description": "Requests that the node is sent to the caller given the JavaScript node object reference. All\nnodes that form the path from the node to the root are also sent to the client as a series of\n`setChildNodes` notifications.",
"parameters": [
+ {
+ "name": "objectId",
+ "description": "JavaScript object id to convert into node.",
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
{
"name": "nodeId",
- "description": "Id of the node that has changed.",
+ "description": "Node id for given object.",
"$ref": "NodeId"
- },
- {
- "name": "childNodeCount",
- "description": "New node count.",
- "type": "integer"
}
]
},
{
- "name": "childNodeInserted",
- "description": "Mirrors `DOMNodeInserted` event.",
+ "name": "resolveNode",
+ "description": "Resolves the JavaScript node object for a given NodeId or BackendNodeId.",
"parameters": [
{
- "name": "parentNodeId",
- "description": "Id of the node that has changed.",
+ "name": "nodeId",
+ "description": "Id of the node to resolve.",
+ "optional": true,
"$ref": "NodeId"
},
{
- "name": "previousNodeId",
- "description": "Id of the previous sibling.",
- "$ref": "NodeId"
+ "name": "backendNodeId",
+ "description": "Backend identifier of the node to resolve.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "node",
- "description": "Inserted node data.",
- "$ref": "Node"
+ "name": "objectGroup",
+ "description": "Symbolic group name that can be used to release multiple objects.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "executionContextId",
+ "description": "Execution context in which to resolve the node.",
+ "optional": true,
+ "$ref": "Runtime.ExecutionContextId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "object",
+ "description": "JavaScript object wrapper for given node.",
+ "$ref": "Runtime.RemoteObject"
}
]
},
{
- "name": "childNodeRemoved",
- "description": "Mirrors `DOMNodeRemoved` event.",
+ "name": "setAttributeValue",
+ "description": "Sets attribute for an element with given id.",
"parameters": [
{
- "name": "parentNodeId",
- "description": "Parent id.",
+ "name": "nodeId",
+ "description": "Id of the element to set attribute for.",
"$ref": "NodeId"
},
{
- "name": "nodeId",
- "description": "Id of the node that has been removed.",
- "$ref": "NodeId"
+ "name": "name",
+ "description": "Attribute name.",
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "description": "Attribute value.",
+ "type": "string"
}
]
},
{
- "name": "distributedNodesUpdated",
- "description": "Called when distribution is changed.",
- "experimental": true,
+ "name": "setAttributesAsText",
+ "description": "Sets attributes on element with given id. This method is useful when user edits some existing\nattribute value and types in several attribute name/value pairs.",
"parameters": [
{
- "name": "insertionPointId",
- "description": "Insertion point where distributed nodes were updated.",
+ "name": "nodeId",
+ "description": "Id of the element to set attributes for.",
"$ref": "NodeId"
},
{
- "name": "distributedNodes",
- "description": "Distributed nodes for given insertion point.",
- "type": "array",
- "items": {
- "$ref": "BackendNode"
- }
+ "name": "text",
+ "description": "Text with a number of attributes. Will parse this text using HTML parser.",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "description": "Attribute name to replace with new attributes derived from text in case text parsed\nsuccessfully.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "documentUpdated",
- "description": "Fired when `Document` has been totally updated. Node ids are no longer valid."
- },
- {
- "name": "inlineStyleInvalidated",
- "description": "Fired when `Element`'s inline style is modified via a CSS property modification.",
- "experimental": true,
+ "name": "setFileInputFiles",
+ "description": "Sets files for the given file input element.",
"parameters": [
{
- "name": "nodeIds",
- "description": "Ids of the nodes for which the inline styles have been invalidated.",
+ "name": "files",
+ "description": "Array of file paths to set.",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "type": "string"
}
+ },
+ {
+ "name": "nodeId",
+ "description": "Identifier of the node.",
+ "optional": true,
+ "$ref": "NodeId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
}
]
},
{
- "name": "pseudoElementAdded",
- "description": "Called when a pseudo element is added to an element.",
+ "name": "setNodeStackTracesEnabled",
+ "description": "Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled.",
"experimental": true,
"parameters": [
{
- "name": "parentId",
- "description": "Pseudo element's parent element id.",
- "$ref": "NodeId"
- },
- {
- "name": "pseudoElement",
- "description": "The added pseudo element.",
- "$ref": "Node"
+ "name": "enable",
+ "description": "Enable or disable.",
+ "type": "boolean"
}
]
},
{
- "name": "topLayerElementsUpdated",
- "description": "Called when top layer elements are changed.",
- "experimental": true
- },
- {
- "name": "scrollableFlagUpdated",
- "description": "Fired when a node's scrollability state changes.",
+ "name": "getNodeStackTraces",
+ "description": "Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.",
"experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "The id of the node.",
- "$ref": "DOM.NodeId"
- },
+ "description": "Id of the node to get stack traces for.",
+ "$ref": "NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "isScrollable",
- "description": "If the node is scrollable.",
- "type": "boolean"
+ "name": "creation",
+ "description": "Creation stack trace, if available.",
+ "optional": true,
+ "$ref": "Runtime.StackTrace"
}
]
},
{
- "name": "pseudoElementRemoved",
- "description": "Called when a pseudo element is removed from an element.",
+ "name": "getFileInfo",
+ "description": "Returns file information for the given\nFile wrapper.",
"experimental": true,
"parameters": [
{
- "name": "parentId",
- "description": "Pseudo element's parent element id.",
- "$ref": "NodeId"
- },
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
{
- "name": "pseudoElementId",
- "description": "The removed pseudo element id.",
- "$ref": "NodeId"
+ "name": "path",
+ "type": "string"
}
]
},
{
- "name": "setChildNodes",
- "description": "Fired when backend wants to provide client with the missing DOM structure. This happens upon\nmost of the calls requesting node ids.",
- "parameters": [
- {
- "name": "parentId",
- "description": "Parent node id to populate with children.",
- "$ref": "NodeId"
- },
+ "name": "getDetachedDomNodes",
+ "description": "Returns list of detached nodes",
+ "experimental": true,
+ "returns": [
{
- "name": "nodes",
- "description": "Child nodes array.",
+ "name": "detachedNodes",
+ "description": "The list of detached nodes",
"type": "array",
"items": {
- "$ref": "Node"
+ "$ref": "DetachedElementInfo"
}
}
]
},
{
- "name": "shadowRootPopped",
- "description": "Called when shadow root is popped from the element.",
+ "name": "setInspectedNode",
+ "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details\n$x functions).",
"experimental": true,
"parameters": [
{
- "name": "hostId",
- "description": "Host element id.",
+ "name": "nodeId",
+ "description": "DOM node id to be accessible by means of $x command line API.",
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "setNodeName",
+ "description": "Sets node name for a node with given id.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Id of the node to set name for.",
"$ref": "NodeId"
},
{
- "name": "rootId",
- "description": "Shadow root id.",
+ "name": "name",
+ "description": "New node's name.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodeId",
+ "description": "New node's id.",
"$ref": "NodeId"
}
]
},
{
- "name": "shadowRootPushed",
- "description": "Called when shadow root is pushed into the element.",
- "experimental": true,
+ "name": "setNodeValue",
+ "description": "Sets node value for a node with given id.",
"parameters": [
{
- "name": "hostId",
- "description": "Host element id.",
+ "name": "nodeId",
+ "description": "Id of the node to set value for.",
"$ref": "NodeId"
},
{
- "name": "root",
- "description": "Shadow root.",
- "$ref": "Node"
+ "name": "value",
+ "description": "New node's value.",
+ "type": "string"
}
]
- }
- ]
- },
- {
- "domain": "DOMDebugger",
- "description": "DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript\nexecution will stop on these operations as if there was a regular breakpoint set.",
- "dependencies": [
- "DOM",
- "Runtime"
- ],
- "types": [
+ },
{
- "id": "DOMBreakpointType",
- "description": "DOM breakpoint type.",
- "type": "string",
- "enum": [
- "subtree-modified",
- "attribute-modified",
- "node-removed"
+ "name": "setOuterHTML",
+ "description": "Sets node HTML markup, returns new node id.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Id of the node to set markup for.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "outerHTML",
+ "description": "Outer HTML markup to set.",
+ "type": "string"
+ }
]
},
{
- "id": "CSPViolationType",
- "description": "CSP Violation type.",
- "experimental": true,
- "type": "string",
- "enum": [
- "trustedtype-sink-violation",
- "trustedtype-policy-violation"
- ]
+ "name": "undo",
+ "description": "Undoes the last performed action.",
+ "experimental": true
},
{
- "id": "EventListener",
- "description": "Object event listener.",
- "type": "object",
- "properties": [
+ "name": "getFrameOwner",
+ "description": "Returns iframe node that owns iframe with the given domain.",
+ "experimental": true,
+ "parameters": [
{
- "name": "type",
- "description": "`EventListener`'s type.",
- "type": "string"
+ "name": "frameId",
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "backendNodeId",
+ "description": "Resulting node.",
+ "$ref": "BackendNodeId"
},
{
- "name": "useCapture",
- "description": "`EventListener`'s useCapture.",
- "type": "boolean"
- },
- {
- "name": "passive",
- "description": "`EventListener`'s passive flag.",
- "type": "boolean"
- },
+ "name": "nodeId",
+ "description": "Id of the node at given coordinates, only when enabled and requested document.",
+ "optional": true,
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "getContainerForNode",
+ "description": "Returns the query container of the given node based on container query\nconditions: containerName, physical and logical axes, and whether it queries\nscroll-state or anchored elements. If no axes are provided and\nqueriesScrollState is false, the style container is returned, which is the\ndirect parent or the closest element with a matching container-name.",
+ "experimental": true,
+ "parameters": [
{
- "name": "once",
- "description": "`EventListener`'s once flag.",
- "type": "boolean"
+ "name": "nodeId",
+ "$ref": "NodeId"
},
{
- "name": "scriptId",
- "description": "Script id of the handler code.",
- "$ref": "Runtime.ScriptId"
+ "name": "containerName",
+ "optional": true,
+ "type": "string"
},
{
- "name": "lineNumber",
- "description": "Line number in the script (0-based).",
- "type": "integer"
+ "name": "physicalAxes",
+ "optional": true,
+ "$ref": "PhysicalAxes"
},
{
- "name": "columnNumber",
- "description": "Column number in the script (0-based).",
- "type": "integer"
+ "name": "logicalAxes",
+ "optional": true,
+ "$ref": "LogicalAxes"
},
{
- "name": "handler",
- "description": "Event handler function value.",
+ "name": "queriesScrollState",
"optional": true,
- "$ref": "Runtime.RemoteObject"
+ "type": "boolean"
},
{
- "name": "originalHandler",
- "description": "Event original handler function value.",
+ "name": "queriesAnchored",
"optional": true,
- "$ref": "Runtime.RemoteObject"
- },
+ "type": "boolean"
+ }
+ ],
+ "returns": [
{
- "name": "backendNodeId",
- "description": "Node the listener is added to (if any).",
+ "name": "nodeId",
+ "description": "The container node for the given node, or null if not found.",
"optional": true,
- "$ref": "DOM.BackendNodeId"
+ "$ref": "NodeId"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "getEventListeners",
- "description": "Returns event listeners of the given object.",
+ "name": "getQueryingDescendantsForContainer",
+ "description": "Returns the descendants of a container query container that have\ncontainer queries against this container.",
+ "experimental": true,
"parameters": [
{
- "name": "objectId",
- "description": "Identifier of the object to return listeners for.",
- "$ref": "Runtime.RemoteObjectId"
- },
- {
- "name": "depth",
- "description": "The maximum depth at which Node children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "pierce",
- "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false). Reports listeners for all contexts if pierce is enabled.",
- "optional": true,
- "type": "boolean"
+ "name": "nodeId",
+ "description": "Id of the container node to find querying descendants from.",
+ "$ref": "NodeId"
}
],
"returns": [
{
- "name": "listeners",
- "description": "Array of relevant listeners.",
+ "name": "nodeIds",
+ "description": "Descendant nodes with container queries against the given container.",
"type": "array",
"items": {
- "$ref": "EventListener"
+ "$ref": "NodeId"
}
}
]
},
{
- "name": "removeDOMBreakpoint",
- "description": "Removes DOM breakpoint that was set using `setDOMBreakpoint`.",
+ "name": "getAnchorElement",
+ "description": "Returns the target anchor element of the given anchor query according to\nhttps://www.w3.org/TR/css-anchor-position-1/#target.",
+ "experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "Identifier of the node to remove breakpoint from.",
- "$ref": "DOM.NodeId"
+ "description": "Id of the positioned element from which to find the anchor.",
+ "$ref": "NodeId"
},
{
- "name": "type",
- "description": "Type of the breakpoint to remove.",
- "$ref": "DOMBreakpointType"
+ "name": "anchorSpecifier",
+ "description": "An optional anchor specifier, as defined in\nhttps://www.w3.org/TR/css-anchor-position-1/#anchor-specifier.\nIf not provided, it will return the implicit anchor element for\nthe given positioned element.",
+ "optional": true,
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodeId",
+ "description": "The anchor element of the given anchor query.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "removeEventListenerBreakpoint",
- "description": "Removes breakpoint on particular DOM event.",
+ "name": "forceShowPopover",
+ "description": "When enabling, this API force-opens the popover identified by nodeId\nand keeps it open until disabled.",
+ "experimental": true,
"parameters": [
{
- "name": "eventName",
- "description": "Event name.",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the popover HTMLElement",
+ "$ref": "NodeId"
},
{
- "name": "targetName",
- "description": "EventTarget interface name.",
- "experimental": true,
- "optional": true,
- "type": "string"
+ "name": "enable",
+ "description": "If true, opens the popover and keeps it open. If false, closes the\npopover if it was previously force-opened.",
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodeIds",
+ "description": "List of popovers that were closed in order to respect popover stacking order.",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "removeInstrumentationBreakpoint",
- "description": "Removes breakpoint on particular native event.",
- "experimental": true,
- "deprecated": true,
- "redirect": "EventBreakpoints",
+ "name": "attributeModified",
+ "description": "Fired when `Element`'s attribute is modified.",
"parameters": [
{
- "name": "eventName",
- "description": "Instrumentation name to stop on.",
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "name",
+ "description": "Attribute name.",
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "description": "Attribute value.",
"type": "string"
}
]
},
{
- "name": "removeXHRBreakpoint",
- "description": "Removes breakpoint from XMLHttpRequest.",
+ "name": "attributeRemoved",
+ "description": "Fired when `Element`'s attribute is removed.",
"parameters": [
{
- "name": "url",
- "description": "Resource URL substring.",
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "name",
+ "description": "A ttribute name.",
"type": "string"
}
]
},
{
- "name": "setBreakOnCSPViolation",
- "description": "Sets breakpoint on particular CSP violations.",
- "experimental": true,
+ "name": "characterDataModified",
+ "description": "Mirrors `DOMCharacterDataModified` event.",
"parameters": [
{
- "name": "violationTypes",
- "description": "CSP Violations to stop upon.",
- "type": "array",
- "items": {
- "$ref": "CSPViolationType"
- }
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "characterData",
+ "description": "New text value.",
+ "type": "string"
}
]
},
{
- "name": "setDOMBreakpoint",
- "description": "Sets breakpoint on particular operation with DOM.",
+ "name": "childNodeCountUpdated",
+ "description": "Fired when `Container`'s child node count has changed.",
"parameters": [
{
"name": "nodeId",
- "description": "Identifier of the node to set breakpoint on.",
- "$ref": "DOM.NodeId"
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "type",
- "description": "Type of the operation to stop upon.",
- "$ref": "DOMBreakpointType"
+ "name": "childNodeCount",
+ "description": "New node count.",
+ "type": "integer"
}
]
},
{
- "name": "setEventListenerBreakpoint",
- "description": "Sets breakpoint on particular DOM event.",
+ "name": "childNodeInserted",
+ "description": "Mirrors `DOMNodeInserted` event.",
"parameters": [
{
- "name": "eventName",
- "description": "DOM Event name to stop on (any DOM event will do).",
- "type": "string"
+ "name": "parentNodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "targetName",
- "description": "EventTarget interface name to stop on. If equal to `\"*\"` or not provided, will stop on any\nEventTarget.",
- "experimental": true,
- "optional": true,
- "type": "string"
+ "name": "previousNodeId",
+ "description": "Id of the previous sibling.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "node",
+ "description": "Inserted node data.",
+ "$ref": "Node"
}
]
},
{
- "name": "setInstrumentationBreakpoint",
- "description": "Sets breakpoint on particular native event.",
- "experimental": true,
- "deprecated": true,
- "redirect": "EventBreakpoints",
+ "name": "childNodeRemoved",
+ "description": "Mirrors `DOMNodeRemoved` event.",
"parameters": [
{
- "name": "eventName",
- "description": "Instrumentation name to stop on.",
- "type": "string"
+ "name": "parentNodeId",
+ "description": "Parent id.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "nodeId",
+ "description": "Id of the node that has been removed.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "setXHRBreakpoint",
- "description": "Sets breakpoint on XMLHttpRequest.",
- "parameters": [
- {
- "name": "url",
- "description": "Resource URL substring. All XHRs having this substring in the URL will get stopped upon.",
- "type": "string"
+ "name": "distributedNodesUpdated",
+ "description": "Called when distribution is changed.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "insertionPointId",
+ "description": "Insertion point where distributed nodes were updated.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "distributedNodes",
+ "description": "Distributed nodes for given insertion point.",
+ "type": "array",
+ "items": {
+ "$ref": "BackendNode"
+ }
}
]
- }
- ]
- },
- {
- "domain": "EventBreakpoints",
- "description": "EventBreakpoints permits setting JavaScript breakpoints on operations and events\noccurring in native code invoked from JavaScript. Once breakpoint is hit, it is\nreported through Debugger domain, similarly to regular breakpoints being hit.",
- "experimental": true,
- "commands": [
+ },
{
- "name": "setInstrumentationBreakpoint",
- "description": "Sets breakpoint on particular native event.",
+ "name": "documentUpdated",
+ "description": "Fired when `Document` has been totally updated. Node ids are no longer valid."
+ },
+ {
+ "name": "inlineStyleInvalidated",
+ "description": "Fired when `Element`'s inline style is modified via a CSS property modification.",
+ "experimental": true,
"parameters": [
{
- "name": "eventName",
- "description": "Instrumentation name to stop on.",
- "type": "string"
+ "name": "nodeIds",
+ "description": "Ids of the nodes for which the inline styles have been invalidated.",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
}
]
},
{
- "name": "removeInstrumentationBreakpoint",
- "description": "Removes breakpoint on particular native event.",
+ "name": "pseudoElementAdded",
+ "description": "Called when a pseudo element is added to an element.",
+ "experimental": true,
"parameters": [
{
- "name": "eventName",
- "description": "Instrumentation name to stop on.",
- "type": "string"
+ "name": "parentId",
+ "description": "Pseudo element's parent element id.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "pseudoElement",
+ "description": "The added pseudo element.",
+ "$ref": "Node"
}
]
},
{
- "name": "disable",
- "description": "Removes all breakpoints"
+ "name": "topLayerElementsUpdated",
+ "description": "Called when top layer elements are changed.",
+ "experimental": true
+ },
+ {
+ "name": "scrollableFlagUpdated",
+ "description": "Fired when a node's scrollability state changes.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "The id of the node.",
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "isScrollable",
+ "description": "If the node is scrollable.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "affectedByStartingStylesFlagUpdated",
+ "description": "Fired when a node's starting styles changes.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "The id of the node.",
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "affectedByStartingStyles",
+ "description": "If the node has starting styles.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "pseudoElementRemoved",
+ "description": "Called when a pseudo element is removed from an element.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "parentId",
+ "description": "Pseudo element's parent element id.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "pseudoElementId",
+ "description": "The removed pseudo element id.",
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "setChildNodes",
+ "description": "Fired when backend wants to provide client with the missing DOM structure. This happens upon\nmost of the calls requesting node ids.",
+ "parameters": [
+ {
+ "name": "parentId",
+ "description": "Parent node id to populate with children.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "nodes",
+ "description": "Child nodes array.",
+ "type": "array",
+ "items": {
+ "$ref": "Node"
+ }
+ }
+ ]
+ },
+ {
+ "name": "shadowRootPopped",
+ "description": "Called when shadow root is popped from the element.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "hostId",
+ "description": "Host element id.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "rootId",
+ "description": "Shadow root id.",
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "shadowRootPushed",
+ "description": "Called when shadow root is pushed into the element.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "hostId",
+ "description": "Host element id.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "root",
+ "description": "Shadow root.",
+ "$ref": "Node"
+ }
+ ]
}
]
},
{
- "domain": "DOMSnapshot",
- "description": "This domain facilitates obtaining document snapshots with DOM, layout, and style information.",
- "experimental": true,
+ "domain": "DOMDebugger",
+ "description": "DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript\nexecution will stop on these operations as if there was a regular breakpoint set.",
"dependencies": [
- "CSS",
"DOM",
- "DOMDebugger",
- "Page"
+ "Runtime"
],
"types": [
{
- "id": "DOMNode",
- "description": "A Node in the DOM tree.",
+ "id": "DOMBreakpointType",
+ "description": "DOM breakpoint type.",
+ "type": "string",
+ "enum": [
+ "subtree-modified",
+ "attribute-modified",
+ "node-removed"
+ ]
+ },
+ {
+ "id": "CSPViolationType",
+ "description": "CSP Violation type.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "trustedtype-sink-violation",
+ "trustedtype-policy-violation"
+ ]
+ },
+ {
+ "id": "EventListener",
+ "description": "Object event listener.",
"type": "object",
"properties": [
{
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
+ "name": "type",
+ "description": "`EventListener`'s type.",
+ "type": "string"
},
{
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
- "type": "string"
+ "name": "useCapture",
+ "description": "`EventListener`'s useCapture.",
+ "type": "boolean"
},
{
- "name": "nodeValue",
- "description": "`Node`'s nodeValue.",
- "type": "string"
+ "name": "passive",
+ "description": "`EventListener`'s passive flag.",
+ "type": "boolean"
},
{
- "name": "textValue",
- "description": "Only set for textarea elements, contains the text value.",
- "optional": true,
- "type": "string"
+ "name": "once",
+ "description": "`EventListener`'s once flag.",
+ "type": "boolean"
},
{
- "name": "inputValue",
- "description": "Only set for input elements, contains the input's associated text value.",
- "optional": true,
- "type": "string"
+ "name": "scriptId",
+ "description": "Script id of the handler code.",
+ "$ref": "Runtime.ScriptId"
},
{
- "name": "inputChecked",
- "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
+ "name": "lineNumber",
+ "description": "Line number in the script (0-based).",
+ "type": "integer"
+ },
+ {
+ "name": "columnNumber",
+ "description": "Column number in the script (0-based).",
+ "type": "integer"
+ },
+ {
+ "name": "handler",
+ "description": "Event handler function value.",
"optional": true,
- "type": "boolean"
+ "$ref": "Runtime.RemoteObject"
},
{
- "name": "optionSelected",
- "description": "Only set for option elements, indicates if the element has been selected",
+ "name": "originalHandler",
+ "description": "Event original handler function value.",
"optional": true,
- "type": "boolean"
+ "$ref": "Runtime.RemoteObject"
},
{
"name": "backendNodeId",
- "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
- "$ref": "DOM.BackendNodeId"
+ "description": "Node the listener is added to (if any).",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "getEventListeners",
+ "description": "Returns event listeners of the given object.",
+ "parameters": [
+ {
+ "name": "objectId",
+ "description": "Identifier of the object to return listeners for.",
+ "$ref": "Runtime.RemoteObjectId"
+ },
+ {
+ "name": "depth",
+ "description": "The maximum depth at which Node children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "pierce",
+ "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false). Reports listeners for all contexts if pierce is enabled.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "listeners",
+ "description": "Array of relevant listeners.",
+ "type": "array",
+ "items": {
+ "$ref": "EventListener"
+ }
+ }
+ ]
+ },
+ {
+ "name": "removeDOMBreakpoint",
+ "description": "Removes DOM breakpoint that was set using `setDOMBreakpoint`.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Identifier of the node to remove breakpoint from.",
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "type",
+ "description": "Type of the breakpoint to remove.",
+ "$ref": "DOMBreakpointType"
+ }
+ ]
+ },
+ {
+ "name": "removeEventListenerBreakpoint",
+ "description": "Removes breakpoint on particular DOM event.",
+ "parameters": [
+ {
+ "name": "eventName",
+ "description": "Event name.",
+ "type": "string"
+ },
+ {
+ "name": "targetName",
+ "description": "EventTarget interface name.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "removeInstrumentationBreakpoint",
+ "description": "Removes breakpoint on particular native event.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "EventBreakpoints",
+ "parameters": [
+ {
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "removeXHRBreakpoint",
+ "description": "Removes breakpoint from XMLHttpRequest.",
+ "parameters": [
+ {
+ "name": "url",
+ "description": "Resource URL substring.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setBreakOnCSPViolation",
+ "description": "Sets breakpoint on particular CSP violations.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "violationTypes",
+ "description": "CSP Violations to stop upon.",
+ "type": "array",
+ "items": {
+ "$ref": "CSPViolationType"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setDOMBreakpoint",
+ "description": "Sets breakpoint on particular operation with DOM.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Identifier of the node to set breakpoint on.",
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "type",
+ "description": "Type of the operation to stop upon.",
+ "$ref": "DOMBreakpointType"
+ }
+ ]
+ },
+ {
+ "name": "setEventListenerBreakpoint",
+ "description": "Sets breakpoint on particular DOM event.",
+ "parameters": [
+ {
+ "name": "eventName",
+ "description": "DOM Event name to stop on (any DOM event will do).",
+ "type": "string"
+ },
+ {
+ "name": "targetName",
+ "description": "EventTarget interface name to stop on. If equal to `\"*\"` or not provided, will stop on any\nEventTarget.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setInstrumentationBreakpoint",
+ "description": "Sets breakpoint on particular native event.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "EventBreakpoints",
+ "parameters": [
+ {
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setXHRBreakpoint",
+ "description": "Sets breakpoint on XMLHttpRequest.",
+ "parameters": [
+ {
+ "name": "url",
+ "description": "Resource URL substring. All XHRs having this substring in the URL will get stopped upon.",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "DOMSnapshot",
+ "description": "This domain facilitates obtaining document snapshots with DOM, layout, and style information.",
+ "experimental": true,
+ "dependencies": [
+ "CSS",
+ "DOM",
+ "DOMDebugger",
+ "Page"
+ ],
+ "types": [
+ {
+ "id": "DOMNode",
+ "description": "A Node in the DOM tree.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
+ "type": "integer"
+ },
+ {
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
+ "type": "string"
+ },
+ {
+ "name": "nodeValue",
+ "description": "`Node`'s nodeValue.",
+ "type": "string"
+ },
+ {
+ "name": "textValue",
+ "description": "Only set for textarea elements, contains the text value.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "inputValue",
+ "description": "Only set for input elements, contains the input's associated text value.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "inputChecked",
+ "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "optionSelected",
+ "description": "Only set for option elements, indicates if the element has been selected",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
+ "$ref": "DOM.BackendNodeId"
},
{
"name": "childNodeIndexes",
@@ -9434,17 +9942,102 @@
]
},
{
- "domain": "DeviceOrientation",
+ "domain": "DeviceAccess",
"experimental": true,
- "commands": [
+ "types": [
{
- "name": "clearDeviceOrientationOverride",
- "description": "Clears the overridden Device Orientation."
+ "id": "RequestId",
+ "description": "Device request id.",
+ "type": "string"
},
{
- "name": "setDeviceOrientationOverride",
- "description": "Overrides the Device Orientation.",
- "parameters": [
+ "id": "DeviceId",
+ "description": "A device id.",
+ "type": "string"
+ },
+ {
+ "id": "PromptDevice",
+ "description": "Device information displayed in a user prompt to select a device.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "id",
+ "$ref": "DeviceId"
+ },
+ {
+ "name": "name",
+ "description": "Display name as it appears in a device request user prompt.",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "enable",
+ "description": "Enable events in this domain."
+ },
+ {
+ "name": "disable",
+ "description": "Disable events in this domain."
+ },
+ {
+ "name": "selectPrompt",
+ "description": "Select a device in response to a DeviceAccess.deviceRequestPrompted event.",
+ "parameters": [
+ {
+ "name": "id",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "deviceId",
+ "$ref": "DeviceId"
+ }
+ ]
+ },
+ {
+ "name": "cancelPrompt",
+ "description": "Cancel a prompt in response to a DeviceAccess.deviceRequestPrompted event.",
+ "parameters": [
+ {
+ "name": "id",
+ "$ref": "RequestId"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "deviceRequestPrompted",
+ "description": "A device request opened a user prompt to select a device. Respond with the\nselectPrompt or cancelPrompt command.",
+ "parameters": [
+ {
+ "name": "id",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "devices",
+ "type": "array",
+ "items": {
+ "$ref": "PromptDevice"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "DeviceOrientation",
+ "experimental": true,
+ "commands": [
+ {
+ "name": "clearDeviceOrientationOverride",
+ "description": "Clears the overridden Device Orientation."
+ },
+ {
+ "name": "setDeviceOrientationOverride",
+ "description": "Overrides the Device Orientation.",
+ "parameters": [
{
"name": "alpha",
"description": "Mock alpha",
@@ -9691,6 +10284,15 @@
"name": "wow64",
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "formFactors",
+ "description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
@@ -9838,6 +10440,130 @@
}
]
},
+ {
+ "id": "WorkAreaInsets",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "top",
+ "description": "Work area top inset in pixels. Default is 0;",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "left",
+ "description": "Work area left inset in pixels. Default is 0;",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "bottom",
+ "description": "Work area bottom inset in pixels. Default is 0;",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "right",
+ "description": "Work area right inset in pixels. Default is 0;",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "id": "ScreenId",
+ "experimental": true,
+ "type": "string"
+ },
+ {
+ "id": "ScreenInfo",
+ "description": "Screen information similar to the one returned by window.getScreenDetails() method,\nsee https://w3c.github.io/window-management/#screendetailed.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "left",
+ "description": "Offset of the left edge of the screen.",
+ "type": "integer"
+ },
+ {
+ "name": "top",
+ "description": "Offset of the top edge of the screen.",
+ "type": "integer"
+ },
+ {
+ "name": "width",
+ "description": "Width of the screen.",
+ "type": "integer"
+ },
+ {
+ "name": "height",
+ "description": "Height of the screen.",
+ "type": "integer"
+ },
+ {
+ "name": "availLeft",
+ "description": "Offset of the left edge of the available screen area.",
+ "type": "integer"
+ },
+ {
+ "name": "availTop",
+ "description": "Offset of the top edge of the available screen area.",
+ "type": "integer"
+ },
+ {
+ "name": "availWidth",
+ "description": "Width of the available screen area.",
+ "type": "integer"
+ },
+ {
+ "name": "availHeight",
+ "description": "Height of the available screen area.",
+ "type": "integer"
+ },
+ {
+ "name": "devicePixelRatio",
+ "description": "Specifies the screen's device pixel ratio.",
+ "type": "number"
+ },
+ {
+ "name": "orientation",
+ "description": "Specifies the screen's orientation.",
+ "$ref": "ScreenOrientation"
+ },
+ {
+ "name": "colorDepth",
+ "description": "Specifies the screen's color depth in bits.",
+ "type": "integer"
+ },
+ {
+ "name": "isExtended",
+ "description": "Indicates whether the device has multiple screens.",
+ "type": "boolean"
+ },
+ {
+ "name": "isInternal",
+ "description": "Indicates whether the screen is internal to the device or external, attached to the device.",
+ "type": "boolean"
+ },
+ {
+ "name": "isPrimary",
+ "description": "Indicates whether the screen is set as the the operating system primary screen.",
+ "type": "boolean"
+ },
+ {
+ "name": "label",
+ "description": "Specifies the descriptive label for the screen.",
+ "type": "string"
+ },
+ {
+ "name": "id",
+ "description": "Specifies the unique identifier of the screen.",
+ "$ref": "ScreenId"
+ }
+ ]
+ },
{
"id": "DisabledImageType",
"description": "Enum of image types that can be disabled.",
@@ -10150,6 +10876,17 @@
}
]
},
+ {
+ "name": "setEmulatedOSTextScale",
+ "description": "Emulates the given OS text scale.",
+ "parameters": [
+ {
+ "name": "scale",
+ "optional": true,
+ "type": "number"
+ }
+ ]
+ },
{
"name": "setGeolocationOverride",
"description": "Overrides the Geolocation Position or Error. Omitting latitude, longitude or\naccuracy emulates position unavailable.",
@@ -10469,6 +11206,19 @@
}
]
},
+ {
+ "name": "setDataSaverOverride",
+ "description": "Override the value of navigator.connection.saveData",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "dataSaverEnabled",
+ "description": "Override value. Omitting the parameter disables the override.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
{
"name": "setHardwareConcurrencyOverride",
"experimental": true,
@@ -10533,3050 +11283,3384 @@
"type": "integer"
}
]
- }
- ],
- "events": [
- {
- "name": "virtualTimeBudgetExpired",
- "description": "Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.",
- "experimental": true
- }
- ]
- },
- {
- "domain": "HeadlessExperimental",
- "description": "This domain provides experimental commands only supported in headless mode.",
- "experimental": true,
- "dependencies": [
- "Page",
- "Runtime"
- ],
- "types": [
+ },
{
- "id": "ScreenshotParams",
- "description": "Encoding options for a screenshot.",
- "type": "object",
- "properties": [
- {
- "name": "format",
- "description": "Image compression format (defaults to png).",
- "optional": true,
- "type": "string",
- "enum": [
- "jpeg",
- "png",
- "webp"
- ]
- },
- {
- "name": "quality",
- "description": "Compression quality from range [0..100] (jpeg and webp only).",
- "optional": true,
- "type": "integer"
- },
+ "name": "getScreenInfos",
+ "description": "Returns device's screen configuration.",
+ "experimental": true,
+ "returns": [
{
- "name": "optimizeForSpeed",
- "description": "Optimize image encoding for speed, not for resulting size (defaults to false)",
- "optional": true,
- "type": "boolean"
+ "name": "screenInfos",
+ "type": "array",
+ "items": {
+ "$ref": "ScreenInfo"
+ }
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "beginFrame",
- "description": "Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a\nscreenshot from the resulting frame. Requires that the target was created with enabled\nBeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also\nhttps://goo.gle/chrome-headless-rendering for more background.",
+ "name": "addScreen",
+ "description": "Add a new screen to the device. Only supported in headless mode.",
+ "experimental": true,
"parameters": [
{
- "name": "frameTimeTicks",
- "description": "Timestamp of this BeginFrame in Renderer TimeTicks (milliseconds of uptime). If not set,\nthe current time will be used.",
- "optional": true,
- "type": "number"
+ "name": "left",
+ "description": "Offset of the left edge of the screen in pixels.",
+ "type": "integer"
},
{
- "name": "interval",
- "description": "The interval between BeginFrames that is reported to the compositor, in milliseconds.\nDefaults to a 60 frames/second interval, i.e. about 16.666 milliseconds.",
+ "name": "top",
+ "description": "Offset of the top edge of the screen in pixels.",
+ "type": "integer"
+ },
+ {
+ "name": "width",
+ "description": "The width of the screen in pixels.",
+ "type": "integer"
+ },
+ {
+ "name": "height",
+ "description": "The height of the screen in pixels.",
+ "type": "integer"
+ },
+ {
+ "name": "workAreaInsets",
+ "description": "Specifies the screen's work area. Default is entire screen.",
"optional": true,
- "type": "number"
+ "$ref": "WorkAreaInsets"
},
{
- "name": "noDisplayUpdates",
- "description": "Whether updates should not be committed and drawn onto the display. False by default. If\ntrue, only side effects of the BeginFrame will be run, such as layout and animations, but\nany visual updates may not be visible on the display or in screenshots.",
+ "name": "devicePixelRatio",
+ "description": "Specifies the screen's device pixel ratio. Default is 1.",
"optional": true,
- "type": "boolean"
+ "type": "number"
},
{
- "name": "screenshot",
- "description": "If set, a screenshot of the frame will be captured and returned in the response. Otherwise,\nno screenshot will be captured. Note that capturing a screenshot can fail, for example,\nduring renderer initialization. In such a case, no screenshot data will be returned.",
+ "name": "rotation",
+ "description": "Specifies the screen's rotation angle. Available values are 0, 90, 180 and 270. Default is 0.",
"optional": true,
- "$ref": "ScreenshotParams"
- }
- ],
- "returns": [
+ "type": "integer"
+ },
{
- "name": "hasDamage",
- "description": "Whether the BeginFrame resulted in damage and, thus, a new frame was committed to the\ndisplay. Reported for diagnostic uses, may be removed in the future.",
- "type": "boolean"
+ "name": "colorDepth",
+ "description": "Specifies the screen's color depth in bits. Default is 24.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "screenshotData",
- "description": "Base64-encoded image data of the screenshot, if one was requested and successfully taken. (Encoded as a base64 string when passed over JSON)",
+ "name": "label",
+ "description": "Specifies the descriptive label for the screen. Default is none.",
"optional": true,
"type": "string"
+ },
+ {
+ "name": "isInternal",
+ "description": "Indicates whether the screen is internal to the device or external, attached to the device. Default is false.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "screenInfo",
+ "$ref": "ScreenInfo"
}
]
},
{
- "name": "disable",
- "description": "Disables headless events for the target.",
- "deprecated": true
- },
+ "name": "removeScreen",
+ "description": "Remove screen from the device. Only supported in headless mode.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "screenId",
+ "$ref": "ScreenId"
+ }
+ ]
+ }
+ ],
+ "events": [
{
- "name": "enable",
- "description": "Enables headless events for the target.",
- "deprecated": true
+ "name": "virtualTimeBudgetExpired",
+ "description": "Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.",
+ "experimental": true
}
]
},
{
- "domain": "IO",
- "description": "Input/Output operations for streams produced by DevTools.",
- "types": [
- {
- "id": "StreamHandle",
- "description": "This is either obtained from another method or specified as `blob:` where\n`` is an UUID of a Blob.",
- "type": "string"
- }
- ],
+ "domain": "EventBreakpoints",
+ "description": "EventBreakpoints permits setting JavaScript breakpoints on operations and events\noccurring in native code invoked from JavaScript. Once breakpoint is hit, it is\nreported through Debugger domain, similarly to regular breakpoints being hit.",
+ "experimental": true,
"commands": [
{
- "name": "close",
- "description": "Close the stream, discard any temporary backing storage.",
+ "name": "setInstrumentationBreakpoint",
+ "description": "Sets breakpoint on particular native event.",
"parameters": [
{
- "name": "handle",
- "description": "Handle of the stream to close.",
- "$ref": "StreamHandle"
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
+ "type": "string"
}
]
},
{
- "name": "read",
- "description": "Read a chunk of the stream",
+ "name": "removeInstrumentationBreakpoint",
+ "description": "Removes breakpoint on particular native event.",
"parameters": [
{
- "name": "handle",
- "description": "Handle of the stream to read.",
- "$ref": "StreamHandle"
- },
- {
- "name": "offset",
- "description": "Seek to the specified offset before reading (if not specified, proceed with offset\nfollowing the last read). Some types of streams may only support sequential reads.",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "size",
- "description": "Maximum number of bytes to read (left upon the agent discretion if not specified).",
- "optional": true,
- "type": "integer"
- }
- ],
- "returns": [
- {
- "name": "base64Encoded",
- "description": "Set if the data is base64-encoded",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "data",
- "description": "Data that were read.",
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
"type": "string"
- },
- {
- "name": "eof",
- "description": "Set if the end-of-file condition occurred while reading.",
- "type": "boolean"
}
]
},
{
- "name": "resolveBlob",
- "description": "Return UUID of Blob object specified by a remote object id.",
- "parameters": [
- {
- "name": "objectId",
- "description": "Object id of a Blob object wrapper.",
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
- {
- "name": "uuid",
- "description": "UUID of the specified Blob.",
- "type": "string"
- }
- ]
+ "name": "disable",
+ "description": "Removes all breakpoints"
}
]
},
{
- "domain": "FileSystem",
+ "domain": "Extensions",
+ "description": "Defines commands and events for browser extensions.",
"experimental": true,
- "dependencies": [
- "Network",
- "Storage"
- ],
"types": [
{
- "id": "File",
- "type": "object",
- "properties": [
+ "id": "StorageArea",
+ "description": "Storage areas.",
+ "type": "string",
+ "enum": [
+ "session",
+ "local",
+ "sync",
+ "managed"
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "loadUnpacked",
+ "description": "Installs an unpacked extension from the filesystem similar to\n--load-extension CLI flags. Returns extension ID once the extension\nhas been installed. Available if the client is connected using the\n--remote-debugging-pipe flag and the --enable-unsafe-extension-debugging\nflag is set.",
+ "parameters": [
{
- "name": "name",
+ "name": "path",
+ "description": "Absolute file path.",
"type": "string"
- },
- {
- "name": "lastModified",
- "description": "Timestamp",
- "$ref": "Network.TimeSinceEpoch"
- },
+ }
+ ],
+ "returns": [
{
- "name": "size",
- "description": "Size in bytes",
- "type": "number"
- },
+ "name": "id",
+ "description": "Extension id.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "uninstall",
+ "description": "Uninstalls an unpacked extension (others not supported) from the profile.\nAvailable if the client is connected using the --remote-debugging-pipe flag\nand the --enable-unsafe-extension-debugging.",
+ "parameters": [
{
- "name": "type",
+ "name": "id",
+ "description": "Extension id.",
"type": "string"
}
]
},
{
- "id": "Directory",
- "type": "object",
- "properties": [
+ "name": "getStorageItems",
+ "description": "Gets data from extension storage in the given `storageArea`. If `keys` is\nspecified, these are used to filter the result.",
+ "parameters": [
{
- "name": "name",
+ "name": "id",
+ "description": "ID of extension.",
"type": "string"
},
{
- "name": "nestedDirectories",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "storageArea",
+ "description": "StorageArea to retrieve data from.",
+ "$ref": "StorageArea"
},
{
- "name": "nestedFiles",
- "description": "Files that are directly nested under this directory.",
+ "name": "keys",
+ "description": "Keys to retrieve.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "File"
+ "type": "string"
}
}
+ ],
+ "returns": [
+ {
+ "name": "data",
+ "type": "object"
+ }
]
},
{
- "id": "BucketFileSystemLocator",
- "type": "object",
- "properties": [
+ "name": "removeStorageItems",
+ "description": "Removes `keys` from extension storage in the given `storageArea`.",
+ "parameters": [
{
- "name": "storageKey",
- "description": "Storage key",
- "$ref": "Storage.SerializedStorageKey"
+ "name": "id",
+ "description": "ID of extension.",
+ "type": "string"
},
{
- "name": "bucketName",
- "description": "Bucket name. Not passing a `bucketName` will retrieve the default Bucket. (https://developer.mozilla.org/en-US/docs/Web/API/Storage_API#storage_buckets)",
- "optional": true,
- "type": "string"
+ "name": "storageArea",
+ "description": "StorageArea to remove data from.",
+ "$ref": "StorageArea"
},
{
- "name": "pathComponents",
- "description": "Path to the directory using each path component as an array item.",
+ "name": "keys",
+ "description": "Keys to remove.",
"type": "array",
"items": {
"type": "string"
}
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "getDirectory",
+ "name": "clearStorageItems",
+ "description": "Clears extension storage in the given `storageArea`.",
"parameters": [
{
- "name": "bucketFileSystemLocator",
- "$ref": "BucketFileSystemLocator"
+ "name": "id",
+ "description": "ID of extension.",
+ "type": "string"
+ },
+ {
+ "name": "storageArea",
+ "description": "StorageArea to remove data from.",
+ "$ref": "StorageArea"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "setStorageItems",
+ "description": "Sets `values` in extension storage in the given `storageArea`. The provided `values`\nwill be merged with existing values in the storage area.",
+ "parameters": [
{
- "name": "directory",
- "description": "Returns the directory object at the path.",
- "$ref": "Directory"
+ "name": "id",
+ "description": "ID of extension.",
+ "type": "string"
+ },
+ {
+ "name": "storageArea",
+ "description": "StorageArea to set data in.",
+ "$ref": "StorageArea"
+ },
+ {
+ "name": "values",
+ "description": "Values to set.",
+ "type": "object"
}
]
}
]
},
{
- "domain": "IndexedDB",
+ "domain": "FedCm",
+ "description": "This domain allows interacting with the FedCM dialog.",
"experimental": true,
- "dependencies": [
- "Runtime",
- "Storage"
- ],
"types": [
{
- "id": "DatabaseWithObjectStores",
- "description": "Database with an array of object stores.",
+ "id": "LoginState",
+ "description": "Whether this is a sign-up or sign-in action for this account, i.e.\nwhether this account has ever been used to sign in to this RP before.",
+ "type": "string",
+ "enum": [
+ "SignIn",
+ "SignUp"
+ ]
+ },
+ {
+ "id": "DialogType",
+ "description": "The types of FedCM dialogs.",
+ "type": "string",
+ "enum": [
+ "AccountChooser",
+ "AutoReauthn",
+ "ConfirmIdpLogin",
+ "Error"
+ ]
+ },
+ {
+ "id": "DialogButton",
+ "description": "The buttons on the FedCM dialog.",
+ "type": "string",
+ "enum": [
+ "ConfirmIdpLoginContinue",
+ "ErrorGotIt",
+ "ErrorMoreDetails"
+ ]
+ },
+ {
+ "id": "AccountUrlType",
+ "description": "The URLs that each account has",
+ "type": "string",
+ "enum": [
+ "TermsOfService",
+ "PrivacyPolicy"
+ ]
+ },
+ {
+ "id": "Account",
+ "description": "Corresponds to IdentityRequestAccount",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Database name.",
+ "name": "accountId",
"type": "string"
},
{
- "name": "version",
- "description": "Database version (type is not 'integer', as the standard\nrequires the version number to be 'unsigned long long')",
- "type": "number"
+ "name": "email",
+ "type": "string"
},
- {
- "name": "objectStores",
- "description": "Object stores in this database.",
- "type": "array",
- "items": {
- "$ref": "ObjectStore"
- }
- }
- ]
- },
- {
- "id": "ObjectStore",
- "description": "Object store.",
- "type": "object",
- "properties": [
{
"name": "name",
- "description": "Object store name.",
"type": "string"
},
{
- "name": "keyPath",
- "description": "Object store key path.",
- "$ref": "KeyPath"
+ "name": "givenName",
+ "type": "string"
},
{
- "name": "autoIncrement",
- "description": "If true, object store has auto increment flag set.",
- "type": "boolean"
+ "name": "pictureUrl",
+ "type": "string"
},
{
- "name": "indexes",
- "description": "Indexes in this object store.",
- "type": "array",
- "items": {
- "$ref": "ObjectStoreIndex"
- }
- }
- ]
- },
- {
- "id": "ObjectStoreIndex",
- "description": "Object store index.",
- "type": "object",
- "properties": [
+ "name": "idpConfigUrl",
+ "type": "string"
+ },
{
- "name": "name",
- "description": "Index name.",
+ "name": "idpLoginUrl",
"type": "string"
},
{
- "name": "keyPath",
- "description": "Index key path.",
- "$ref": "KeyPath"
+ "name": "loginState",
+ "$ref": "LoginState"
},
{
- "name": "unique",
- "description": "If true, index is unique.",
- "type": "boolean"
+ "name": "termsOfServiceUrl",
+ "description": "These two are only set if the loginState is signUp",
+ "optional": true,
+ "type": "string"
},
{
- "name": "multiEntry",
- "description": "If true, index allows multiple entries for a key.",
- "type": "boolean"
+ "name": "privacyPolicyUrl",
+ "optional": true,
+ "type": "string"
}
]
- },
+ }
+ ],
+ "events": [
{
- "id": "Key",
- "description": "Key.",
- "type": "object",
- "properties": [
+ "name": "dialogShown",
+ "parameters": [
{
- "name": "type",
- "description": "Key type.",
- "type": "string",
- "enum": [
- "number",
- "string",
- "date",
- "array"
- ]
+ "name": "dialogId",
+ "type": "string"
},
{
- "name": "number",
- "description": "Number value.",
- "optional": true,
- "type": "number"
+ "name": "dialogType",
+ "$ref": "DialogType"
},
{
- "name": "string",
- "description": "String value.",
- "optional": true,
- "type": "string"
+ "name": "accounts",
+ "type": "array",
+ "items": {
+ "$ref": "Account"
+ }
},
{
- "name": "date",
- "description": "Date value.",
- "optional": true,
- "type": "number"
+ "name": "title",
+ "description": "These exist primarily so that the caller can verify the\nRP context was used appropriately.",
+ "type": "string"
},
{
- "name": "array",
- "description": "Array value.",
+ "name": "subtitle",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Key"
- }
+ "type": "string"
}
]
},
{
- "id": "KeyRange",
- "description": "Key range.",
- "type": "object",
- "properties": [
+ "name": "dialogClosed",
+ "description": "Triggered when a dialog is closed, either by user action, JS abort,\nor a command below.",
+ "parameters": [
{
- "name": "lower",
- "description": "Lower bound.",
- "optional": true,
- "$ref": "Key"
- },
+ "name": "dialogId",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "enable",
+ "parameters": [
{
- "name": "upper",
- "description": "Upper bound.",
+ "name": "disableRejectionDelay",
+ "description": "Allows callers to disable the promise rejection delay that would\nnormally happen, if this is unimportant to what's being tested.\n(step 4 of https://fedidcg.github.io/FedCM/#browser-api-rp-sign-in)",
"optional": true,
- "$ref": "Key"
- },
- {
- "name": "lowerOpen",
- "description": "If true lower bound is open.",
- "type": "boolean"
- },
- {
- "name": "upperOpen",
- "description": "If true upper bound is open.",
"type": "boolean"
}
]
},
{
- "id": "DataEntry",
- "description": "Data entry.",
- "type": "object",
- "properties": [
+ "name": "disable"
+ },
+ {
+ "name": "selectAccount",
+ "parameters": [
{
- "name": "key",
- "description": "Key object.",
- "$ref": "Runtime.RemoteObject"
+ "name": "dialogId",
+ "type": "string"
},
{
- "name": "primaryKey",
- "description": "Primary key object.",
- "$ref": "Runtime.RemoteObject"
+ "name": "accountIndex",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "clickDialogButton",
+ "parameters": [
+ {
+ "name": "dialogId",
+ "type": "string"
},
{
- "name": "value",
- "description": "Value object.",
- "$ref": "Runtime.RemoteObject"
+ "name": "dialogButton",
+ "$ref": "DialogButton"
}
]
},
{
- "id": "KeyPath",
- "description": "Key path.",
- "type": "object",
- "properties": [
+ "name": "openUrl",
+ "parameters": [
{
- "name": "type",
- "description": "Key path type.",
- "type": "string",
- "enum": [
- "null",
- "string",
- "array"
- ]
+ "name": "dialogId",
+ "type": "string"
},
{
- "name": "string",
- "description": "String value.",
- "optional": true,
+ "name": "accountIndex",
+ "type": "integer"
+ },
+ {
+ "name": "accountUrlType",
+ "$ref": "AccountUrlType"
+ }
+ ]
+ },
+ {
+ "name": "dismissDialog",
+ "parameters": [
+ {
+ "name": "dialogId",
"type": "string"
},
{
- "name": "array",
- "description": "Array value.",
+ "name": "triggerCooldown",
"optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
+ "type": "boolean"
}
]
+ },
+ {
+ "name": "resetCooldown",
+ "description": "Resets the cooldown time, if any, to allow the next FedCM call to show\na dialog even if one was recently dismissed by the user."
}
+ ]
+ },
+ {
+ "domain": "Fetch",
+ "description": "A domain for letting clients substitute browser's network layer with client code.",
+ "dependencies": [
+ "Network",
+ "IO",
+ "Page"
],
- "commands": [
+ "types": [
{
- "name": "clearObjectStore",
- "description": "Clears all entries from an object store.",
- "parameters": [
+ "id": "RequestId",
+ "description": "Unique request identifier.\nNote that this does not identify individual HTTP requests that are part of\na network request.",
+ "type": "string"
+ },
+ {
+ "id": "RequestStage",
+ "description": "Stages of the request to handle. Request will intercept before the request is\nsent. Response will intercept after the response is received (but before response\nbody is received).",
+ "type": "string",
+ "enum": [
+ "Request",
+ "Response"
+ ]
+ },
+ {
+ "id": "RequestPattern",
+ "type": "object",
+ "properties": [
{
- "name": "securityOrigin",
- "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "name": "urlPattern",
+ "description": "Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to `\"*\"`.",
"optional": true,
"type": "string"
},
{
- "name": "storageKey",
- "description": "Storage key.",
+ "name": "resourceType",
+ "description": "If set, only requests for matching resource types will be intercepted.",
"optional": true,
- "type": "string"
+ "$ref": "Network.ResourceType"
},
{
- "name": "storageBucket",
- "description": "Storage bucket. If not specified, it uses the default bucket.",
+ "name": "requestStage",
+ "description": "Stage at which to begin intercepting requests. Default is Request.",
"optional": true,
- "$ref": "Storage.StorageBucket"
- },
+ "$ref": "RequestStage"
+ }
+ ]
+ },
+ {
+ "id": "HeaderEntry",
+ "description": "Response HTTP header entry",
+ "type": "object",
+ "properties": [
{
- "name": "databaseName",
- "description": "Database name.",
+ "name": "name",
"type": "string"
},
{
- "name": "objectStoreName",
- "description": "Object store name.",
+ "name": "value",
"type": "string"
}
]
},
{
- "name": "deleteDatabase",
- "description": "Deletes a database.",
- "parameters": [
+ "id": "AuthChallenge",
+ "description": "Authorization challenge for HTTP status code 401 or 407.",
+ "type": "object",
+ "properties": [
{
- "name": "securityOrigin",
- "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "name": "source",
+ "description": "Source of the authentication challenge.",
"optional": true,
- "type": "string"
+ "type": "string",
+ "enum": [
+ "Server",
+ "Proxy"
+ ]
},
{
- "name": "storageKey",
- "description": "Storage key.",
- "optional": true,
+ "name": "origin",
+ "description": "Origin of the challenger.",
"type": "string"
},
{
- "name": "storageBucket",
- "description": "Storage bucket. If not specified, it uses the default bucket.",
- "optional": true,
- "$ref": "Storage.StorageBucket"
+ "name": "scheme",
+ "description": "The authentication scheme used, such as basic or digest",
+ "type": "string"
},
{
- "name": "databaseName",
- "description": "Database name.",
+ "name": "realm",
+ "description": "The realm of the challenge. May be empty.",
"type": "string"
}
]
},
{
- "name": "deleteObjectStoreEntries",
- "description": "Delete a range of entries from an object store",
- "parameters": [
+ "id": "AuthChallengeResponse",
+ "description": "Response to an AuthChallenge.",
+ "type": "object",
+ "properties": [
{
- "name": "securityOrigin",
- "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
- "optional": true,
- "type": "string"
+ "name": "response",
+ "description": "The decision on what to do in response to the authorization challenge. Default means\ndeferring to the default behavior of the net stack, which will likely either the Cancel\nauthentication or display a popup dialog box.",
+ "type": "string",
+ "enum": [
+ "Default",
+ "CancelAuth",
+ "ProvideCredentials"
+ ]
},
{
- "name": "storageKey",
- "description": "Storage key.",
+ "name": "username",
+ "description": "The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
"optional": true,
"type": "string"
},
{
- "name": "storageBucket",
- "description": "Storage bucket. If not specified, it uses the default bucket.",
+ "name": "password",
+ "description": "The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
"optional": true,
- "$ref": "Storage.StorageBucket"
- },
- {
- "name": "databaseName",
- "type": "string"
- },
- {
- "name": "objectStoreName",
"type": "string"
- },
- {
- "name": "keyRange",
- "description": "Range of entry keys to delete",
- "$ref": "KeyRange"
}
]
- },
+ }
+ ],
+ "commands": [
{
"name": "disable",
- "description": "Disables events from backend."
+ "description": "Disables the fetch domain."
},
{
"name": "enable",
- "description": "Enables events from backend."
- },
- {
- "name": "requestData",
- "description": "Requests data from object store or index.",
+ "description": "Enables issuing of requestPaused events. A request will be paused until client\ncalls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.",
"parameters": [
{
- "name": "securityOrigin",
- "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "name": "patterns",
+ "description": "If specified, only requests matching any of these patterns will produce\nfetchRequested event and will be paused until clients response. If not set,\nall requests will be affected.",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "RequestPattern"
+ }
},
{
- "name": "storageKey",
- "description": "Storage key.",
+ "name": "handleAuthRequests",
+ "description": "If true, authRequired events will be issued and requests will be paused\nexpecting a call to continueWithAuth.",
"optional": true,
- "type": "string"
- },
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "failRequest",
+ "description": "Causes the request to fail with specified reason.",
+ "parameters": [
{
- "name": "storageBucket",
- "description": "Storage bucket. If not specified, it uses the default bucket.",
- "optional": true,
- "$ref": "Storage.StorageBucket"
+ "name": "requestId",
+ "description": "An id the client received in requestPaused event.",
+ "$ref": "RequestId"
},
{
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
- },
+ "name": "errorReason",
+ "description": "Causes the request to fail with the given reason.",
+ "$ref": "Network.ErrorReason"
+ }
+ ]
+ },
+ {
+ "name": "fulfillRequest",
+ "description": "Provides response to the request.",
+ "parameters": [
{
- "name": "objectStoreName",
- "description": "Object store name.",
- "type": "string"
- },
- {
- "name": "indexName",
- "description": "Index name, empty string for object store data requests.",
- "type": "string"
- },
- {
- "name": "skipCount",
- "description": "Number of records to skip.",
- "type": "integer"
+ "name": "requestId",
+ "description": "An id the client received in requestPaused event.",
+ "$ref": "RequestId"
},
{
- "name": "pageSize",
- "description": "Number of records to fetch.",
+ "name": "responseCode",
+ "description": "An HTTP response code.",
"type": "integer"
},
{
- "name": "keyRange",
- "description": "Key range.",
+ "name": "responseHeaders",
+ "description": "Response headers.",
"optional": true,
- "$ref": "KeyRange"
- }
- ],
- "returns": [
- {
- "name": "objectStoreDataEntries",
- "description": "Array of object store data entries.",
"type": "array",
"items": {
- "$ref": "DataEntry"
+ "$ref": "HeaderEntry"
}
},
{
- "name": "hasMore",
- "description": "If true, there are more entries to fetch in the given range.",
- "type": "boolean"
+ "name": "binaryResponseHeaders",
+ "description": "Alternative way of specifying response headers as a \\0-separated\nseries of name: value pairs. Prefer the above method unless you\nneed to represent some non-UTF8 values that can't be transmitted\nover the protocol as text. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "body",
+ "description": "A response body. If absent, original response body will be used if\nthe request is intercepted at the response stage and empty body\nwill be used if the request is intercepted at the request stage. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "responsePhrase",
+ "description": "A textual representation of responseCode.\nIf absent, a standard phrase matching responseCode is used.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "getMetadata",
- "description": "Gets metadata of an object store.",
+ "name": "continueRequest",
+ "description": "Continues the request, optionally modifying some of its parameters.",
"parameters": [
{
- "name": "securityOrigin",
- "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "name": "requestId",
+ "description": "An id the client received in requestPaused event.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "url",
+ "description": "If set, the request url will be modified in a way that's not observable by page.",
"optional": true,
"type": "string"
},
{
- "name": "storageKey",
- "description": "Storage key.",
+ "name": "method",
+ "description": "If set, the request method is overridden.",
"optional": true,
"type": "string"
},
{
- "name": "storageBucket",
- "description": "Storage bucket. If not specified, it uses the default bucket.",
+ "name": "postData",
+ "description": "If set, overrides the post data in the request. (Encoded as a base64 string when passed over JSON)",
"optional": true,
- "$ref": "Storage.StorageBucket"
+ "type": "string"
},
{
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
+ "name": "headers",
+ "description": "If set, overrides the request headers. Note that the overrides do not\nextend to subsequent redirect hops, if a redirect happens. Another override\nmay be applied to a different request produced by a redirect.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "HeaderEntry"
+ }
},
{
- "name": "objectStoreName",
- "description": "Object store name.",
- "type": "string"
+ "name": "interceptResponse",
+ "description": "If set, overrides response interception behavior for this request.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "continueWithAuth",
+ "description": "Continues a request supplying authChallengeResponse following authRequired event.",
+ "parameters": [
{
- "name": "entriesCount",
- "description": "the entries count",
- "type": "number"
+ "name": "requestId",
+ "description": "An id the client received in authRequired event.",
+ "$ref": "RequestId"
},
{
- "name": "keyGeneratorValue",
- "description": "the current value of key generator, to become the next inserted\nkey into the object store. Valid if objectStore.autoIncrement\nis true.",
- "type": "number"
+ "name": "authChallengeResponse",
+ "description": "Response to with an authChallenge.",
+ "$ref": "AuthChallengeResponse"
}
]
},
{
- "name": "requestDatabase",
- "description": "Requests database with given name in given frame.",
+ "name": "continueResponse",
+ "description": "Continues loading of the paused response, optionally modifying the\nresponse headers. If either responseCode or headers are modified, all of them\nmust be present.",
+ "experimental": true,
"parameters": [
{
- "name": "securityOrigin",
- "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "name": "requestId",
+ "description": "An id the client received in requestPaused event.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "responseCode",
+ "description": "An HTTP response code. If absent, original response code will be used.",
"optional": true,
- "type": "string"
+ "type": "integer"
},
{
- "name": "storageKey",
- "description": "Storage key.",
+ "name": "responsePhrase",
+ "description": "A textual representation of responseCode.\nIf absent, a standard phrase matching responseCode is used.",
"optional": true,
"type": "string"
},
{
- "name": "storageBucket",
- "description": "Storage bucket. If not specified, it uses the default bucket.",
+ "name": "responseHeaders",
+ "description": "Response headers. If absent, original response headers will be used.",
"optional": true,
- "$ref": "Storage.StorageBucket"
+ "type": "array",
+ "items": {
+ "$ref": "HeaderEntry"
+ }
},
{
- "name": "databaseName",
- "description": "Database name.",
+ "name": "binaryResponseHeaders",
+ "description": "Alternative way of specifying response headers as a \\0-separated\nseries of name: value pairs. Prefer the above method unless you\nneed to represent some non-UTF8 values that can't be transmitted\nover the protocol as text. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
"type": "string"
}
- ],
- "returns": [
- {
- "name": "databaseWithObjectStores",
- "description": "Database with an array of object stores.",
- "$ref": "DatabaseWithObjectStores"
- }
]
},
{
- "name": "requestDatabaseNames",
- "description": "Requests database names for given security origin.",
+ "name": "getResponseBody",
+ "description": "Causes the body of the response to be received from the server and\nreturned as a single string. May only be issued for a request that\nis paused in the Response stage and is mutually exclusive with\ntakeResponseBodyForInterceptionAsStream. Calling other methods that\naffect the request or disabling fetch domain before body is received\nresults in an undefined behavior.\nNote that the response body is not available for redirects. Requests\npaused in the _redirect received_ state may be differentiated by\n`responseCode` and presence of `location` response header, see\ncomments to `requestPaused` for details.",
"parameters": [
{
- "name": "securityOrigin",
- "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
- "optional": true,
- "type": "string"
- },
+ "name": "requestId",
+ "description": "Identifier for the intercepted request to get body for.",
+ "$ref": "RequestId"
+ }
+ ],
+ "returns": [
{
- "name": "storageKey",
- "description": "Storage key.",
- "optional": true,
+ "name": "body",
+ "description": "Response body.",
"type": "string"
},
{
- "name": "storageBucket",
- "description": "Storage bucket. If not specified, it uses the default bucket.",
- "optional": true,
- "$ref": "Storage.StorageBucket"
+ "name": "base64Encoded",
+ "description": "True, if content was sent as base64.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "takeResponseBodyAsStream",
+ "description": "Returns a handle to the stream representing the response body.\nThe request must be paused in the HeadersReceived stage.\nNote that after this command the request can't be continued\nas is -- client either needs to cancel it or to provide the\nresponse body.\nThe stream only supports sequential read, IO.read will fail if the position\nis specified.\nThis method is mutually exclusive with getResponseBody.\nCalling other methods that affect the request or disabling fetch\ndomain before body is received results in an undefined behavior.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "$ref": "RequestId"
}
],
"returns": [
{
- "name": "databaseNames",
- "description": "Database names for origin.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "stream",
+ "$ref": "IO.StreamHandle"
}
]
}
- ]
- },
- {
- "domain": "Input",
- "types": [
+ ],
+ "events": [
{
- "id": "TouchPoint",
- "type": "object",
- "properties": [
+ "name": "requestPaused",
+ "description": "Issued when the domain is enabled and the request URL matches the\nspecified filter. The request is paused until the client responds\nwith one of continueRequest, failRequest or fulfillRequest.\nThe stage of the request can be determined by presence of responseErrorReason\nand responseStatusCode -- the request is at the response stage if either\nof these fields is present and in the request stage otherwise.\nRedirect responses and subsequent requests are reported similarly to regular\nresponses and requests. Redirect responses may be distinguished by the value\nof `responseStatusCode` (which is one of 301, 302, 303, 307, 308) along with\npresence of the `location` header. Requests resulting from a redirect will\nhave `redirectedRequestId` field set.",
+ "parameters": [
{
- "name": "x",
- "description": "X coordinate of the event relative to the main frame's viewport in CSS pixels.",
- "type": "number"
+ "name": "requestId",
+ "description": "Each request the page makes will have a unique id.",
+ "$ref": "RequestId"
},
{
- "name": "y",
- "description": "Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to\nthe top of the viewport and Y increases as it proceeds towards the bottom of the viewport.",
- "type": "number"
+ "name": "request",
+ "description": "The details of the request.",
+ "$ref": "Network.Request"
},
{
- "name": "radiusX",
- "description": "X radius of the touch area (default: 1.0).",
- "optional": true,
- "type": "number"
+ "name": "frameId",
+ "description": "The id of the frame that initiated the request.",
+ "$ref": "Page.FrameId"
},
{
- "name": "radiusY",
- "description": "Y radius of the touch area (default: 1.0).",
- "optional": true,
- "type": "number"
+ "name": "resourceType",
+ "description": "How the requested resource will be used.",
+ "$ref": "Network.ResourceType"
},
{
- "name": "rotationAngle",
- "description": "Rotation angle (default: 0.0).",
+ "name": "responseErrorReason",
+ "description": "Response error if intercepted at response stage.",
"optional": true,
- "type": "number"
+ "$ref": "Network.ErrorReason"
},
{
- "name": "force",
- "description": "Force (default: 1.0).",
+ "name": "responseStatusCode",
+ "description": "Response code if intercepted at response stage.",
"optional": true,
- "type": "number"
+ "type": "integer"
},
{
- "name": "tangentialPressure",
- "description": "The normalized tangential pressure, which has a range of [-1,1] (default: 0).",
- "experimental": true,
+ "name": "responseStatusText",
+ "description": "Response status text if intercepted at response stage.",
"optional": true,
- "type": "number"
+ "type": "string"
},
{
- "name": "tiltX",
- "description": "The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0)",
+ "name": "responseHeaders",
+ "description": "Response headers if intercepted at the response stage.",
"optional": true,
- "type": "number"
+ "type": "array",
+ "items": {
+ "$ref": "HeaderEntry"
+ }
},
{
- "name": "tiltY",
- "description": "The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0).",
+ "name": "networkId",
+ "description": "If the intercepted request had a corresponding Network.requestWillBeSent event fired for it,\nthen this networkId will be the same as the requestId present in the requestWillBeSent event.",
"optional": true,
- "type": "number"
+ "$ref": "Network.RequestId"
},
{
- "name": "twist",
- "description": "The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0).",
+ "name": "redirectedRequestId",
+ "description": "If the request is due to a redirect response from the server, the id of the request that\nhas caused the redirect.",
"experimental": true,
"optional": true,
- "type": "integer"
- },
- {
- "name": "id",
- "description": "Identifier used to track touch sources between events, must be unique within an event.",
- "optional": true,
- "type": "number"
+ "$ref": "RequestId"
}
]
},
{
- "id": "GestureSourceType",
- "experimental": true,
- "type": "string",
- "enum": [
- "default",
- "touch",
- "mouse"
- ]
- },
- {
- "id": "MouseButton",
- "type": "string",
- "enum": [
- "none",
- "left",
- "middle",
- "right",
- "back",
- "forward"
+ "name": "authRequired",
+ "description": "Issued when the domain is enabled with handleAuthRequests set to true.\nThe request is paused until client responds with continueWithAuth.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Each request the page makes will have a unique id.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "request",
+ "description": "The details of the request.",
+ "$ref": "Network.Request"
+ },
+ {
+ "name": "frameId",
+ "description": "The id of the frame that initiated the request.",
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "resourceType",
+ "description": "How the requested resource will be used.",
+ "$ref": "Network.ResourceType"
+ },
+ {
+ "name": "authChallenge",
+ "description": "Details of the Authorization Challenge encountered.\nIf this is set, client should respond with continueRequest that\ncontains AuthChallengeResponse.",
+ "$ref": "AuthChallenge"
+ }
]
- },
- {
- "id": "TimeSinceEpoch",
- "description": "UTC time in seconds, counted from January 1, 1970.",
- "type": "number"
- },
+ }
+ ]
+ },
+ {
+ "domain": "FileSystem",
+ "experimental": true,
+ "dependencies": [
+ "Network",
+ "Storage"
+ ],
+ "types": [
{
- "id": "DragDataItem",
- "experimental": true,
+ "id": "File",
"type": "object",
"properties": [
{
- "name": "mimeType",
- "description": "Mime type of the dragged data.",
+ "name": "name",
"type": "string"
},
{
- "name": "data",
- "description": "Depending of the value of `mimeType`, it contains the dragged link,\ntext, HTML markup or any other data.",
- "type": "string"
+ "name": "lastModified",
+ "description": "Timestamp",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "title",
- "description": "Title associated with a link. Only valid when `mimeType` == \"text/uri-list\".",
- "optional": true,
- "type": "string"
+ "name": "size",
+ "description": "Size in bytes",
+ "type": "number"
},
{
- "name": "baseURL",
- "description": "Stores the base URL for the contained markup. Only valid when `mimeType`\n== \"text/html\".",
- "optional": true,
+ "name": "type",
"type": "string"
}
]
},
{
- "id": "DragData",
- "experimental": true,
+ "id": "Directory",
"type": "object",
"properties": [
{
- "name": "items",
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "nestedDirectories",
"type": "array",
"items": {
- "$ref": "DragDataItem"
+ "type": "string"
}
},
{
- "name": "files",
- "description": "List of filenames that should be included when dropping",
- "optional": true,
+ "name": "nestedFiles",
+ "description": "Files that are directly nested under this directory.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "File"
}
+ }
+ ]
+ },
+ {
+ "id": "BucketFileSystemLocator",
+ "type": "object",
+ "properties": [
+ {
+ "name": "storageKey",
+ "description": "Storage key",
+ "$ref": "Storage.SerializedStorageKey"
},
{
- "name": "dragOperationsMask",
- "description": "Bit field representing allowed drag operations. Copy = 1, Link = 2, Move = 16",
- "type": "integer"
+ "name": "bucketName",
+ "description": "Bucket name. Not passing a `bucketName` will retrieve the default Bucket. (https://developer.mozilla.org/en-US/docs/Web/API/Storage_API#storage_buckets)",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "pathComponents",
+ "description": "Path to the directory using each path component as an array item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
}
],
"commands": [
{
- "name": "dispatchDragEvent",
- "description": "Dispatches a drag event into the page.",
- "experimental": true,
+ "name": "getDirectory",
"parameters": [
{
- "name": "type",
- "description": "Type of the drag event.",
+ "name": "bucketFileSystemLocator",
+ "$ref": "BucketFileSystemLocator"
+ }
+ ],
+ "returns": [
+ {
+ "name": "directory",
+ "description": "Returns the directory object at the path.",
+ "$ref": "Directory"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "HeadlessExperimental",
+ "description": "This domain provides experimental commands only supported in headless mode.",
+ "experimental": true,
+ "dependencies": [
+ "Page",
+ "Runtime"
+ ],
+ "types": [
+ {
+ "id": "ScreenshotParams",
+ "description": "Encoding options for a screenshot.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "format",
+ "description": "Image compression format (defaults to png).",
+ "optional": true,
"type": "string",
"enum": [
- "dragEnter",
- "dragOver",
- "drop",
- "dragCancel"
+ "jpeg",
+ "png",
+ "webp"
]
},
{
- "name": "x",
- "description": "X coordinate of the event relative to the main frame's viewport in CSS pixels.",
- "type": "number"
- },
- {
- "name": "y",
- "description": "Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to\nthe top of the viewport and Y increases as it proceeds towards the bottom of the viewport.",
- "type": "number"
- },
- {
- "name": "data",
- "$ref": "DragData"
+ "name": "quality",
+ "description": "Compression quality from range [0..100] (jpeg and webp only).",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "modifiers",
- "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "name": "optimizeForSpeed",
+ "description": "Optimize image encoding for speed, not for resulting size (defaults to false)",
"optional": true,
- "type": "integer"
+ "type": "boolean"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "dispatchKeyEvent",
- "description": "Dispatches a key event to the page.",
+ "name": "beginFrame",
+ "description": "Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a\nscreenshot from the resulting frame. Requires that the target was created with enabled\nBeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also\nhttps://goo.gle/chrome-headless-rendering for more background.",
"parameters": [
{
- "name": "type",
- "description": "Type of the key event.",
- "type": "string",
- "enum": [
- "keyDown",
- "keyUp",
- "rawKeyDown",
- "char"
- ]
+ "name": "frameTimeTicks",
+ "description": "Timestamp of this BeginFrame in Renderer TimeTicks (milliseconds of uptime). If not set,\nthe current time will be used.",
+ "optional": true,
+ "type": "number"
},
{
- "name": "modifiers",
- "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "name": "interval",
+ "description": "The interval between BeginFrames that is reported to the compositor, in milliseconds.\nDefaults to a 60 frames/second interval, i.e. about 16.666 milliseconds.",
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
- "name": "timestamp",
- "description": "Time at which the event occurred.",
+ "name": "noDisplayUpdates",
+ "description": "Whether updates should not be committed and drawn onto the display. False by default. If\ntrue, only side effects of the BeginFrame will be run, such as layout and animations, but\nany visual updates may not be visible on the display or in screenshots.",
"optional": true,
- "$ref": "TimeSinceEpoch"
+ "type": "boolean"
},
{
- "name": "text",
- "description": "Text as generated by processing a virtual key code with a keyboard layout. Not needed for\nfor `keyUp` and `rawKeyDown` events (default: \"\")",
+ "name": "screenshot",
+ "description": "If set, a screenshot of the frame will be captured and returned in the response. Otherwise,\nno screenshot will be captured. Note that capturing a screenshot can fail, for example,\nduring renderer initialization. In such a case, no screenshot data will be returned.",
"optional": true,
- "type": "string"
- },
+ "$ref": "ScreenshotParams"
+ }
+ ],
+ "returns": [
{
- "name": "unmodifiedText",
- "description": "Text that would have been generated by the keyboard if no modifiers were pressed (except for\nshift). Useful for shortcut (accelerator) key handling (default: \"\").",
- "optional": true,
- "type": "string"
+ "name": "hasDamage",
+ "description": "Whether the BeginFrame resulted in damage and, thus, a new frame was committed to the\ndisplay. Reported for diagnostic uses, may be removed in the future.",
+ "type": "boolean"
},
{
- "name": "keyIdentifier",
- "description": "Unique key identifier (e.g., 'U+0041') (default: \"\").",
+ "name": "screenshotData",
+ "description": "Base64-encoded image data of the screenshot, if one was requested and successfully taken. (Encoded as a base64 string when passed over JSON)",
"optional": true,
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "disable",
+ "description": "Disables headless events for the target.",
+ "deprecated": true
+ },
+ {
+ "name": "enable",
+ "description": "Enables headless events for the target.",
+ "deprecated": true
+ }
+ ]
+ },
+ {
+ "domain": "IO",
+ "description": "Input/Output operations for streams produced by DevTools.",
+ "types": [
+ {
+ "id": "StreamHandle",
+ "description": "This is either obtained from another method or specified as `blob:` where\n`` is an UUID of a Blob.",
+ "type": "string"
+ }
+ ],
+ "commands": [
+ {
+ "name": "close",
+ "description": "Close the stream, discard any temporary backing storage.",
+ "parameters": [
{
- "name": "code",
- "description": "Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: \"\").",
- "optional": true,
- "type": "string"
- },
+ "name": "handle",
+ "description": "Handle of the stream to close.",
+ "$ref": "StreamHandle"
+ }
+ ]
+ },
+ {
+ "name": "read",
+ "description": "Read a chunk of the stream",
+ "parameters": [
{
- "name": "key",
- "description": "Unique DOM defined string value describing the meaning of the key in the context of active\nmodifiers, keyboard layout, etc (e.g., 'AltGr') (default: \"\").",
- "optional": true,
- "type": "string"
+ "name": "handle",
+ "description": "Handle of the stream to read.",
+ "$ref": "StreamHandle"
},
{
- "name": "windowsVirtualKeyCode",
- "description": "Windows virtual key code (default: 0).",
+ "name": "offset",
+ "description": "Seek to the specified offset before reading (if not specified, proceed with offset\nfollowing the last read). Some types of streams may only support sequential reads.",
"optional": true,
"type": "integer"
},
{
- "name": "nativeVirtualKeyCode",
- "description": "Native virtual key code (default: 0).",
+ "name": "size",
+ "description": "Maximum number of bytes to read (left upon the agent discretion if not specified).",
"optional": true,
"type": "integer"
- },
+ }
+ ],
+ "returns": [
{
- "name": "autoRepeat",
- "description": "Whether the event was generated from auto repeat (default: false).",
+ "name": "base64Encoded",
+ "description": "Set if the data is base64-encoded",
"optional": true,
"type": "boolean"
},
{
- "name": "isKeypad",
- "description": "Whether the event was generated from the keypad (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "data",
+ "description": "Data that were read.",
+ "type": "string"
},
{
- "name": "isSystemKey",
- "description": "Whether the event was a system key event (default: false).",
- "optional": true,
+ "name": "eof",
+ "description": "Set if the end-of-file condition occurred while reading.",
"type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "resolveBlob",
+ "description": "Return UUID of Blob object specified by a remote object id.",
+ "parameters": [
+ {
+ "name": "objectId",
+ "description": "Object id of a Blob object wrapper.",
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "uuid",
+ "description": "UUID of the specified Blob.",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "IndexedDB",
+ "experimental": true,
+ "dependencies": [
+ "Runtime",
+ "Storage"
+ ],
+ "types": [
+ {
+ "id": "DatabaseWithObjectStores",
+ "description": "Database with an array of object stores.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Database name.",
+ "type": "string"
},
{
- "name": "location",
- "description": "Whether the event was from the left or right side of the keyboard. 1=Left, 2=Right (default:\n0).",
- "optional": true,
- "type": "integer"
+ "name": "version",
+ "description": "Database version (type is not 'integer', as the standard\nrequires the version number to be 'unsigned long long')",
+ "type": "number"
},
{
- "name": "commands",
- "description": "Editing commands to send with the key event (e.g., 'selectAll') (default: []).\nThese are related to but not equal the command names used in `document.execCommand` and NSStandardKeyBindingResponding.\nSee https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/editing/commands/editor_command_names.h for valid command names.",
- "experimental": true,
- "optional": true,
+ "name": "objectStores",
+ "description": "Object stores in this database.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "ObjectStore"
}
}
]
},
{
- "name": "insertText",
- "description": "This method emulates inserting text that doesn't come from a key press,\nfor example an emoji keyboard or an IME.",
- "experimental": true,
- "parameters": [
+ "id": "ObjectStore",
+ "description": "Object store.",
+ "type": "object",
+ "properties": [
{
- "name": "text",
- "description": "The text to insert.",
+ "name": "name",
+ "description": "Object store name.",
"type": "string"
+ },
+ {
+ "name": "keyPath",
+ "description": "Object store key path.",
+ "$ref": "KeyPath"
+ },
+ {
+ "name": "autoIncrement",
+ "description": "If true, object store has auto increment flag set.",
+ "type": "boolean"
+ },
+ {
+ "name": "indexes",
+ "description": "Indexes in this object store.",
+ "type": "array",
+ "items": {
+ "$ref": "ObjectStoreIndex"
+ }
}
]
},
{
- "name": "imeSetComposition",
- "description": "This method sets the current candidate text for IME.\nUse imeCommitComposition to commit the final text.\nUse imeSetComposition with empty string as text to cancel composition.",
- "experimental": true,
- "parameters": [
+ "id": "ObjectStoreIndex",
+ "description": "Object store index.",
+ "type": "object",
+ "properties": [
{
- "name": "text",
- "description": "The text to insert",
+ "name": "name",
+ "description": "Index name.",
"type": "string"
},
{
- "name": "selectionStart",
- "description": "selection start",
- "type": "integer"
- },
- {
- "name": "selectionEnd",
- "description": "selection end",
- "type": "integer"
+ "name": "keyPath",
+ "description": "Index key path.",
+ "$ref": "KeyPath"
},
{
- "name": "replacementStart",
- "description": "replacement start",
- "optional": true,
- "type": "integer"
+ "name": "unique",
+ "description": "If true, index is unique.",
+ "type": "boolean"
},
{
- "name": "replacementEnd",
- "description": "replacement end",
- "optional": true,
- "type": "integer"
+ "name": "multiEntry",
+ "description": "If true, index allows multiple entries for a key.",
+ "type": "boolean"
}
]
},
{
- "name": "dispatchMouseEvent",
- "description": "Dispatches a mouse event to the page.",
- "parameters": [
+ "id": "Key",
+ "description": "Key.",
+ "type": "object",
+ "properties": [
{
"name": "type",
- "description": "Type of the mouse event.",
+ "description": "Key type.",
"type": "string",
"enum": [
- "mousePressed",
- "mouseReleased",
- "mouseMoved",
- "mouseWheel"
+ "number",
+ "string",
+ "date",
+ "array"
]
},
{
- "name": "x",
- "description": "X coordinate of the event relative to the main frame's viewport in CSS pixels.",
+ "name": "number",
+ "description": "Number value.",
+ "optional": true,
"type": "number"
},
{
- "name": "y",
- "description": "Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to\nthe top of the viewport and Y increases as it proceeds towards the bottom of the viewport.",
- "type": "number"
+ "name": "string",
+ "description": "String value.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "modifiers",
- "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "timestamp",
- "description": "Time at which the event occurred.",
- "optional": true,
- "$ref": "TimeSinceEpoch"
- },
- {
- "name": "button",
- "description": "Mouse button (default: \"none\").",
- "optional": true,
- "$ref": "MouseButton"
- },
- {
- "name": "buttons",
- "description": "A number indicating which buttons are pressed on the mouse when a mouse event is triggered.\nLeft=1, Right=2, Middle=4, Back=8, Forward=16, None=0.",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "clickCount",
- "description": "Number of times the mouse button was clicked (default: 0).",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "force",
- "description": "The normalized pressure, which has a range of [0,1] (default: 0).",
- "experimental": true,
+ "name": "date",
+ "description": "Date value.",
"optional": true,
"type": "number"
},
{
- "name": "tangentialPressure",
- "description": "The normalized tangential pressure, which has a range of [-1,1] (default: 0).",
- "experimental": true,
+ "name": "array",
+ "description": "Array value.",
"optional": true,
- "type": "number"
- },
+ "type": "array",
+ "items": {
+ "$ref": "Key"
+ }
+ }
+ ]
+ },
+ {
+ "id": "KeyRange",
+ "description": "Key range.",
+ "type": "object",
+ "properties": [
{
- "name": "tiltX",
- "description": "The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0).",
+ "name": "lower",
+ "description": "Lower bound.",
"optional": true,
- "type": "number"
+ "$ref": "Key"
},
{
- "name": "tiltY",
- "description": "The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0).",
+ "name": "upper",
+ "description": "Upper bound.",
"optional": true,
- "type": "number"
+ "$ref": "Key"
},
{
- "name": "twist",
- "description": "The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0).",
- "experimental": true,
- "optional": true,
- "type": "integer"
+ "name": "lowerOpen",
+ "description": "If true lower bound is open.",
+ "type": "boolean"
},
{
- "name": "deltaX",
- "description": "X delta in CSS pixels for mouse wheel event (default: 0).",
- "optional": true,
- "type": "number"
+ "name": "upperOpen",
+ "description": "If true upper bound is open.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "DataEntry",
+ "description": "Data entry.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "key",
+ "description": "Key object.",
+ "$ref": "Runtime.RemoteObject"
},
{
- "name": "deltaY",
- "description": "Y delta in CSS pixels for mouse wheel event (default: 0).",
- "optional": true,
- "type": "number"
+ "name": "primaryKey",
+ "description": "Primary key object.",
+ "$ref": "Runtime.RemoteObject"
},
{
- "name": "pointerType",
- "description": "Pointer type (default: \"mouse\").",
- "optional": true,
- "type": "string",
- "enum": [
- "mouse",
- "pen"
- ]
+ "name": "value",
+ "description": "Value object.",
+ "$ref": "Runtime.RemoteObject"
}
]
},
{
- "name": "dispatchTouchEvent",
- "description": "Dispatches a touch event to the page.",
- "parameters": [
+ "id": "KeyPath",
+ "description": "Key path.",
+ "type": "object",
+ "properties": [
{
"name": "type",
- "description": "Type of the touch event. TouchEnd and TouchCancel must not contain any touch points, while\nTouchStart and TouchMove must contains at least one.",
+ "description": "Key path type.",
"type": "string",
"enum": [
- "touchStart",
- "touchEnd",
- "touchMove",
- "touchCancel"
+ "null",
+ "string",
+ "array"
]
},
{
- "name": "touchPoints",
- "description": "Active touch points on the touch device. One event per any changed point (compared to\nprevious touch event in a sequence) is generated, emulating pressing/moving/releasing points\none by one.",
- "type": "array",
- "items": {
- "$ref": "TouchPoint"
- }
- },
- {
- "name": "modifiers",
- "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "name": "string",
+ "description": "String value.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "timestamp",
- "description": "Time at which the event occurred.",
+ "name": "array",
+ "description": "Array value.",
"optional": true,
- "$ref": "TimeSinceEpoch"
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
- },
- {
- "name": "cancelDragging",
- "description": "Cancels any active dragging in the page."
- },
+ }
+ ],
+ "commands": [
{
- "name": "emulateTouchFromMouseEvent",
- "description": "Emulates touch event from the mouse event parameters.",
- "experimental": true,
+ "name": "clearObjectStore",
+ "description": "Clears all entries from an object store.",
"parameters": [
{
- "name": "type",
- "description": "Type of the mouse event.",
- "type": "string",
- "enum": [
- "mousePressed",
- "mouseReleased",
- "mouseMoved",
- "mouseWheel"
- ]
+ "name": "securityOrigin",
+ "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "x",
- "description": "X coordinate of the mouse pointer in DIP.",
- "type": "integer"
+ "name": "storageKey",
+ "description": "Storage key.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "y",
- "description": "Y coordinate of the mouse pointer in DIP.",
- "type": "integer"
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
+ "optional": true,
+ "$ref": "Storage.StorageBucket"
},
{
- "name": "button",
- "description": "Mouse button. Only \"none\", \"left\", \"right\" are supported.",
- "$ref": "MouseButton"
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
},
{
- "name": "timestamp",
- "description": "Time at which the event occurred (default: current time).",
- "optional": true,
- "$ref": "TimeSinceEpoch"
- },
+ "name": "objectStoreName",
+ "description": "Object store name.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "deleteDatabase",
+ "description": "Deletes a database.",
+ "parameters": [
{
- "name": "deltaX",
- "description": "X delta in DIP for mouse wheel event (default: 0).",
+ "name": "securityOrigin",
+ "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
"optional": true,
- "type": "number"
+ "type": "string"
},
{
- "name": "deltaY",
- "description": "Y delta in DIP for mouse wheel event (default: 0).",
+ "name": "storageKey",
+ "description": "Storage key.",
"optional": true,
- "type": "number"
+ "type": "string"
},
{
- "name": "modifiers",
- "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
"optional": true,
- "type": "integer"
+ "$ref": "Storage.StorageBucket"
},
{
- "name": "clickCount",
- "description": "Number of times the mouse button was clicked (default: 0).",
- "optional": true,
- "type": "integer"
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
}
]
},
{
- "name": "setIgnoreInputEvents",
- "description": "Ignores input events (useful while auditing page).",
+ "name": "deleteObjectStoreEntries",
+ "description": "Delete a range of entries from an object store",
"parameters": [
{
- "name": "ignore",
- "description": "Ignores input events processing when set to true.",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "setInterceptDrags",
- "description": "Prevents default drag and drop behavior and instead emits `Input.dragIntercepted` events.\nDrag and drop behavior can be directly controlled via `Input.dispatchDragEvent`.",
- "experimental": true,
- "parameters": [
+ "name": "securityOrigin",
+ "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "enabled",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "synthesizePinchGesture",
- "description": "Synthesizes a pinch gesture over a time period by issuing appropriate touch events.",
- "experimental": true,
- "parameters": [
- {
- "name": "x",
- "description": "X coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "name": "storageKey",
+ "description": "Storage key.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
+ "optional": true,
+ "$ref": "Storage.StorageBucket"
},
{
- "name": "scaleFactor",
- "description": "Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).",
- "type": "number"
+ "name": "databaseName",
+ "type": "string"
},
{
- "name": "relativeSpeed",
- "description": "Relative pointer speed in pixels per second (default: 800).",
- "optional": true,
- "type": "integer"
+ "name": "objectStoreName",
+ "type": "string"
},
{
- "name": "gestureSourceType",
- "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
- "optional": true,
- "$ref": "GestureSourceType"
+ "name": "keyRange",
+ "description": "Range of entry keys to delete",
+ "$ref": "KeyRange"
}
]
},
{
- "name": "synthesizeScrollGesture",
- "description": "Synthesizes a scroll gesture over a time period by issuing appropriate touch events.",
- "experimental": true,
+ "name": "disable",
+ "description": "Disables events from backend."
+ },
+ {
+ "name": "enable",
+ "description": "Enables events from backend."
+ },
+ {
+ "name": "requestData",
+ "description": "Requests data from object store or index.",
"parameters": [
{
- "name": "x",
- "description": "X coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "name": "securityOrigin",
+ "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "name": "storageKey",
+ "description": "Storage key.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "xDistance",
- "description": "The distance to scroll along the X axis (positive to scroll left).",
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
"optional": true,
- "type": "number"
+ "$ref": "Storage.StorageBucket"
},
{
- "name": "yDistance",
- "description": "The distance to scroll along the Y axis (positive to scroll up).",
- "optional": true,
- "type": "number"
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
},
{
- "name": "xOverscroll",
- "description": "The number of additional pixels to scroll back along the X axis, in addition to the given\ndistance.",
- "optional": true,
- "type": "number"
+ "name": "objectStoreName",
+ "description": "Object store name.",
+ "type": "string"
},
{
- "name": "yOverscroll",
- "description": "The number of additional pixels to scroll back along the Y axis, in addition to the given\ndistance.",
+ "name": "indexName",
+ "description": "Index name. If not specified, it performs an object store data request.",
"optional": true,
- "type": "number"
+ "type": "string"
},
{
- "name": "preventFling",
- "description": "Prevent fling (default: true).",
- "optional": true,
- "type": "boolean"
+ "name": "skipCount",
+ "description": "Number of records to skip.",
+ "type": "integer"
},
{
- "name": "speed",
- "description": "Swipe speed in pixels per second (default: 800).",
- "optional": true,
+ "name": "pageSize",
+ "description": "Number of records to fetch.",
"type": "integer"
},
{
- "name": "gestureSourceType",
- "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
+ "name": "keyRange",
+ "description": "Key range.",
"optional": true,
- "$ref": "GestureSourceType"
+ "$ref": "KeyRange"
+ }
+ ],
+ "returns": [
+ {
+ "name": "objectStoreDataEntries",
+ "description": "Array of object store data entries.",
+ "type": "array",
+ "items": {
+ "$ref": "DataEntry"
+ }
},
{
- "name": "repeatCount",
- "description": "The number of times to repeat the gesture (default: 0).",
+ "name": "hasMore",
+ "description": "If true, there are more entries to fetch in the given range.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "getMetadata",
+ "description": "Gets metadata of an object store.",
+ "parameters": [
+ {
+ "name": "securityOrigin",
+ "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "repeatDelayMs",
- "description": "The number of milliseconds delay between each repeat. (default: 250).",
+ "name": "storageKey",
+ "description": "Storage key.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "interactionMarkerName",
- "description": "The name of the interaction markers to generate, if not empty (default: \"\").",
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
"optional": true,
+ "$ref": "Storage.StorageBucket"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "description": "Object store name.",
"type": "string"
}
- ]
- },
- {
- "name": "synthesizeTapGesture",
- "description": "Synthesizes a tap gesture over a time period by issuing appropriate touch events.",
- "experimental": true,
- "parameters": [
+ ],
+ "returns": [
{
- "name": "x",
- "description": "X coordinate of the start of the gesture in CSS pixels.",
+ "name": "entriesCount",
+ "description": "the entries count",
"type": "number"
},
{
- "name": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "name": "keyGeneratorValue",
+ "description": "the current value of key generator, to become the next inserted\nkey into the object store. Valid if objectStore.autoIncrement\nis true.",
"type": "number"
- },
+ }
+ ]
+ },
+ {
+ "name": "requestDatabase",
+ "description": "Requests database with given name in given frame.",
+ "parameters": [
{
- "name": "duration",
- "description": "Duration between touchdown and touchup events in ms (default: 50).",
+ "name": "securityOrigin",
+ "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "tapCount",
- "description": "Number of times to perform the tap (e.g. 2 for double tap, default: 1).",
+ "name": "storageKey",
+ "description": "Storage key.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "gestureSourceType",
- "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
"optional": true,
- "$ref": "GestureSourceType"
+ "$ref": "Storage.StorageBucket"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "databaseWithObjectStores",
+ "description": "Database with an array of object stores.",
+ "$ref": "DatabaseWithObjectStores"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "dragIntercepted",
- "description": "Emitted only when `Input.setInterceptDrags` is enabled. Use this data with `Input.dispatchDragEvent` to\nrestore normal drag and drop behavior.",
- "experimental": true,
+ "name": "requestDatabaseNames",
+ "description": "Requests database names for given security origin.",
"parameters": [
{
- "name": "data",
- "$ref": "DragData"
+ "name": "securityOrigin",
+ "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "storageKey",
+ "description": "Storage key.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
+ "optional": true,
+ "$ref": "Storage.StorageBucket"
+ }
+ ],
+ "returns": [
+ {
+ "name": "databaseNames",
+ "description": "Database names for origin.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
}
]
},
{
- "domain": "Inspector",
- "experimental": true,
- "commands": [
+ "domain": "Input",
+ "types": [
{
- "name": "disable",
- "description": "Disables inspector domain notifications."
- },
- {
- "name": "enable",
- "description": "Enables inspector domain notifications."
- }
- ],
- "events": [
- {
- "name": "detached",
- "description": "Fired when remote debugging connection is about to be terminated. Contains detach reason.",
- "parameters": [
- {
- "name": "reason",
- "description": "The reason why connection has been terminated.",
- "type": "string"
- }
- ]
- },
- {
- "name": "targetCrashed",
- "description": "Fired when debugging target has crashed"
- },
- {
- "name": "targetReloadedAfterCrash",
- "description": "Fired when debugging target has reloaded after crash"
- }
- ]
- },
- {
- "domain": "LayerTree",
- "experimental": true,
- "dependencies": [
- "DOM"
- ],
- "types": [
- {
- "id": "LayerId",
- "description": "Unique Layer identifier.",
- "type": "string"
- },
- {
- "id": "SnapshotId",
- "description": "Unique snapshot identifier.",
- "type": "string"
- },
- {
- "id": "ScrollRect",
- "description": "Rectangle where scrolling happens on the main thread.",
- "type": "object",
- "properties": [
- {
- "name": "rect",
- "description": "Rectangle itself.",
- "$ref": "DOM.Rect"
- },
- {
- "name": "type",
- "description": "Reason for rectangle to force scrolling on the main thread",
- "type": "string",
- "enum": [
- "RepaintsOnScroll",
- "TouchEventHandler",
- "WheelEventHandler"
- ]
- }
- ]
- },
- {
- "id": "StickyPositionConstraint",
- "description": "Sticky position constraints.",
- "type": "object",
- "properties": [
- {
- "name": "stickyBoxRect",
- "description": "Layout rectangle of the sticky element before being shifted",
- "$ref": "DOM.Rect"
- },
- {
- "name": "containingBlockRect",
- "description": "Layout rectangle of the containing block of the sticky element",
- "$ref": "DOM.Rect"
- },
- {
- "name": "nearestLayerShiftingStickyBox",
- "description": "The nearest sticky layer that shifts the sticky box",
- "optional": true,
- "$ref": "LayerId"
- },
- {
- "name": "nearestLayerShiftingContainingBlock",
- "description": "The nearest sticky layer that shifts the containing block",
- "optional": true,
- "$ref": "LayerId"
- }
- ]
- },
- {
- "id": "PictureTile",
- "description": "Serialized fragment of layer picture along with its offset within the layer.",
+ "id": "TouchPoint",
"type": "object",
"properties": [
{
"name": "x",
- "description": "Offset from owning layer left boundary",
+ "description": "X coordinate of the event relative to the main frame's viewport in CSS pixels.",
"type": "number"
},
{
"name": "y",
- "description": "Offset from owning layer top boundary",
+ "description": "Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to\nthe top of the viewport and Y increases as it proceeds towards the bottom of the viewport.",
"type": "number"
},
{
- "name": "picture",
- "description": "Base64-encoded snapshot data. (Encoded as a base64 string when passed over JSON)",
- "type": "string"
- }
- ]
- },
- {
- "id": "Layer",
- "description": "Information about a compositing layer.",
- "type": "object",
- "properties": [
- {
- "name": "layerId",
- "description": "The unique id for this layer.",
- "$ref": "LayerId"
- },
- {
- "name": "parentLayerId",
- "description": "The id of parent (not present for root).",
+ "name": "radiusX",
+ "description": "X radius of the touch area (default: 1.0).",
"optional": true,
- "$ref": "LayerId"
+ "type": "number"
},
{
- "name": "backendNodeId",
- "description": "The backend id for the node associated with this layer.",
+ "name": "radiusY",
+ "description": "Y radius of the touch area (default: 1.0).",
"optional": true,
- "$ref": "DOM.BackendNodeId"
- },
- {
- "name": "offsetX",
- "description": "Offset from parent layer, X coordinate.",
"type": "number"
},
{
- "name": "offsetY",
- "description": "Offset from parent layer, Y coordinate.",
+ "name": "rotationAngle",
+ "description": "Rotation angle (default: 0.0).",
+ "optional": true,
"type": "number"
},
{
- "name": "width",
- "description": "Layer width.",
+ "name": "force",
+ "description": "Force (default: 1.0).",
+ "optional": true,
"type": "number"
},
{
- "name": "height",
- "description": "Layer height.",
+ "name": "tangentialPressure",
+ "description": "The normalized tangential pressure, which has a range of [-1,1] (default: 0).",
+ "experimental": true,
+ "optional": true,
"type": "number"
},
{
- "name": "transform",
- "description": "Transformation matrix for layer, default is identity matrix",
+ "name": "tiltX",
+ "description": "The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0)",
"optional": true,
- "type": "array",
- "items": {
- "type": "number"
- }
+ "type": "number"
},
{
- "name": "anchorX",
- "description": "Transform anchor point X, absent if no transform specified",
+ "name": "tiltY",
+ "description": "The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0).",
"optional": true,
"type": "number"
},
{
- "name": "anchorY",
- "description": "Transform anchor point Y, absent if no transform specified",
+ "name": "twist",
+ "description": "The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0).",
+ "experimental": true,
"optional": true,
- "type": "number"
+ "type": "integer"
},
{
- "name": "anchorZ",
- "description": "Transform anchor point Z, absent if no transform specified",
+ "name": "id",
+ "description": "Identifier used to track touch sources between events, must be unique within an event.",
"optional": true,
"type": "number"
- },
+ }
+ ]
+ },
+ {
+ "id": "GestureSourceType",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "default",
+ "touch",
+ "mouse"
+ ]
+ },
+ {
+ "id": "MouseButton",
+ "type": "string",
+ "enum": [
+ "none",
+ "left",
+ "middle",
+ "right",
+ "back",
+ "forward"
+ ]
+ },
+ {
+ "id": "TimeSinceEpoch",
+ "description": "UTC time in seconds, counted from January 1, 1970.",
+ "type": "number"
+ },
+ {
+ "id": "DragDataItem",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "paintCount",
- "description": "Indicates how many time this layer has painted.",
- "type": "integer"
+ "name": "mimeType",
+ "description": "Mime type of the dragged data.",
+ "type": "string"
},
{
- "name": "drawsContent",
- "description": "Indicates whether this layer hosts any content, rather than being used for\ntransform/scrolling purposes only.",
- "type": "boolean"
+ "name": "data",
+ "description": "Depending of the value of `mimeType`, it contains the dragged link,\ntext, HTML markup or any other data.",
+ "type": "string"
},
{
- "name": "invisible",
- "description": "Set if layer is not visible.",
+ "name": "title",
+ "description": "Title associated with a link. Only valid when `mimeType` == \"text/uri-list\".",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "scrollRects",
- "description": "Rectangles scrolling on main thread only.",
+ "name": "baseURL",
+ "description": "Stores the base URL for the contained markup. Only valid when `mimeType`\n== \"text/html\".",
"optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "DragData",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "items",
"type": "array",
"items": {
- "$ref": "ScrollRect"
+ "$ref": "DragDataItem"
}
},
{
- "name": "stickyPositionConstraint",
- "description": "Sticky position constraint information",
+ "name": "files",
+ "description": "List of filenames that should be included when dropping",
"optional": true,
- "$ref": "StickyPositionConstraint"
- }
- ]
- },
- {
- "id": "PaintProfile",
- "description": "Array of timings, one per paint step.",
- "type": "array",
- "items": {
- "type": "number"
- }
- }
- ],
- "commands": [
- {
- "name": "compositingReasons",
- "description": "Provides the reasons why the given layer was composited.",
- "parameters": [
- {
- "name": "layerId",
- "description": "The id of the layer for which we want to get the reasons it was composited.",
- "$ref": "LayerId"
- }
- ],
- "returns": [
- {
- "name": "compositingReasons",
- "description": "A list of strings specifying reasons for the given layer to become composited.",
"type": "array",
"items": {
"type": "string"
}
},
{
- "name": "compositingReasonIds",
- "description": "A list of strings specifying reason IDs for the given layer to become composited.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "dragOperationsMask",
+ "description": "Bit field representing allowed drag operations. Copy = 1, Link = 2, Move = 16",
+ "type": "integer"
}
]
- },
- {
- "name": "disable",
- "description": "Disables compositing tree inspection."
- },
- {
- "name": "enable",
- "description": "Enables compositing tree inspection."
- },
+ }
+ ],
+ "commands": [
{
- "name": "loadSnapshot",
- "description": "Returns the snapshot identifier.",
+ "name": "dispatchDragEvent",
+ "description": "Dispatches a drag event into the page.",
+ "experimental": true,
"parameters": [
{
- "name": "tiles",
- "description": "An array of tiles composing the snapshot.",
- "type": "array",
- "items": {
- "$ref": "PictureTile"
- }
- }
- ],
- "returns": [
+ "name": "type",
+ "description": "Type of the drag event.",
+ "type": "string",
+ "enum": [
+ "dragEnter",
+ "dragOver",
+ "drop",
+ "dragCancel"
+ ]
+ },
{
- "name": "snapshotId",
- "description": "The id of the snapshot.",
- "$ref": "SnapshotId"
- }
- ]
- },
- {
- "name": "makeSnapshot",
- "description": "Returns the layer snapshot identifier.",
- "parameters": [
+ "name": "x",
+ "description": "X coordinate of the event relative to the main frame's viewport in CSS pixels.",
+ "type": "number"
+ },
{
- "name": "layerId",
- "description": "The id of the layer.",
- "$ref": "LayerId"
- }
- ],
- "returns": [
+ "name": "y",
+ "description": "Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to\nthe top of the viewport and Y increases as it proceeds towards the bottom of the viewport.",
+ "type": "number"
+ },
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "data",
+ "$ref": "DragData"
+ },
+ {
+ "name": "modifiers",
+ "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "profileSnapshot",
+ "name": "dispatchKeyEvent",
+ "description": "Dispatches a key event to the page.",
"parameters": [
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "type",
+ "description": "Type of the key event.",
+ "type": "string",
+ "enum": [
+ "keyDown",
+ "keyUp",
+ "rawKeyDown",
+ "char"
+ ]
},
{
- "name": "minRepeatCount",
- "description": "The maximum number of times to replay the snapshot (1, if not specified).",
+ "name": "modifiers",
+ "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
"optional": true,
"type": "integer"
},
{
- "name": "minDuration",
- "description": "The minimum duration (in seconds) to replay the snapshot.",
+ "name": "timestamp",
+ "description": "Time at which the event occurred.",
"optional": true,
- "type": "number"
+ "$ref": "TimeSinceEpoch"
},
{
- "name": "clipRect",
- "description": "The clip rectangle to apply when replaying the snapshot.",
+ "name": "text",
+ "description": "Text as generated by processing a virtual key code with a keyboard layout. Not needed for\nfor `keyUp` and `rawKeyDown` events (default: \"\")",
"optional": true,
- "$ref": "DOM.Rect"
- }
- ],
- "returns": [
+ "type": "string"
+ },
{
- "name": "timings",
- "description": "The array of paint profiles, one per run.",
+ "name": "unmodifiedText",
+ "description": "Text that would have been generated by the keyboard if no modifiers were pressed (except for\nshift). Useful for shortcut (accelerator) key handling (default: \"\").",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "keyIdentifier",
+ "description": "Unique key identifier (e.g., 'U+0041') (default: \"\").",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "code",
+ "description": "Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: \"\").",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "key",
+ "description": "Unique DOM defined string value describing the meaning of the key in the context of active\nmodifiers, keyboard layout, etc (e.g., 'AltGr') (default: \"\").",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "windowsVirtualKeyCode",
+ "description": "Windows virtual key code (default: 0).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "nativeVirtualKeyCode",
+ "description": "Native virtual key code (default: 0).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "autoRepeat",
+ "description": "Whether the event was generated from auto repeat (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "isKeypad",
+ "description": "Whether the event was generated from the keypad (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "isSystemKey",
+ "description": "Whether the event was a system key event (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "location",
+ "description": "Whether the event was from the left or right side of the keyboard. 1=Left, 2=Right (default:\n0).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "commands",
+ "description": "Editing commands to send with the key event (e.g., 'selectAll') (default: []).\nThese are related to but not equal the command names used in `document.execCommand` and NSStandardKeyBindingResponding.\nSee https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/editing/commands/editor_command_names.h for valid command names.",
+ "experimental": true,
+ "optional": true,
"type": "array",
"items": {
- "$ref": "PaintProfile"
+ "type": "string"
}
}
]
},
{
- "name": "releaseSnapshot",
- "description": "Releases layer snapshot captured by the back-end.",
+ "name": "insertText",
+ "description": "This method emulates inserting text that doesn't come from a key press,\nfor example an emoji keyboard or an IME.",
+ "experimental": true,
"parameters": [
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "text",
+ "description": "The text to insert.",
+ "type": "string"
}
]
},
{
- "name": "replaySnapshot",
- "description": "Replays the layer snapshot and returns the resulting bitmap.",
+ "name": "imeSetComposition",
+ "description": "This method sets the current candidate text for IME.\nUse imeCommitComposition to commit the final text.\nUse imeSetComposition with empty string as text to cancel composition.",
+ "experimental": true,
"parameters": [
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "text",
+ "description": "The text to insert",
+ "type": "string"
},
{
- "name": "fromStep",
- "description": "The first step to replay from (replay from the very start if not specified).",
- "optional": true,
+ "name": "selectionStart",
+ "description": "selection start",
"type": "integer"
},
{
- "name": "toStep",
- "description": "The last step to replay to (replay till the end if not specified).",
- "optional": true,
+ "name": "selectionEnd",
+ "description": "selection end",
"type": "integer"
},
{
- "name": "scale",
- "description": "The scale to apply while replaying (defaults to 1).",
+ "name": "replacementStart",
+ "description": "replacement start",
"optional": true,
- "type": "number"
- }
- ],
- "returns": [
+ "type": "integer"
+ },
{
- "name": "dataURL",
- "description": "A data: URL for resulting image.",
- "type": "string"
+ "name": "replacementEnd",
+ "description": "replacement end",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "snapshotCommandLog",
- "description": "Replays the layer snapshot and returns canvas log.",
+ "name": "dispatchMouseEvent",
+ "description": "Dispatches a mouse event to the page.",
"parameters": [
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
- }
- ],
- "returns": [
+ "name": "type",
+ "description": "Type of the mouse event.",
+ "type": "string",
+ "enum": [
+ "mousePressed",
+ "mouseReleased",
+ "mouseMoved",
+ "mouseWheel"
+ ]
+ },
{
- "name": "commandLog",
- "description": "The array of canvas function calls.",
- "type": "array",
- "items": {
- "type": "object"
- }
- }
- ]
- }
- ],
- "events": [
- {
- "name": "layerPainted",
- "parameters": [
+ "name": "x",
+ "description": "X coordinate of the event relative to the main frame's viewport in CSS pixels.",
+ "type": "number"
+ },
{
- "name": "layerId",
- "description": "The id of the painted layer.",
- "$ref": "LayerId"
+ "name": "y",
+ "description": "Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to\nthe top of the viewport and Y increases as it proceeds towards the bottom of the viewport.",
+ "type": "number"
},
{
- "name": "clip",
- "description": "Clip rectangle.",
- "$ref": "DOM.Rect"
- }
- ]
- },
- {
- "name": "layerTreeDidChange",
- "parameters": [
+ "name": "modifiers",
+ "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "optional": true,
+ "type": "integer"
+ },
{
- "name": "layers",
- "description": "Layer tree, absent if not in the compositing mode.",
+ "name": "timestamp",
+ "description": "Time at which the event occurred.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Layer"
- }
- }
- ]
- }
- ]
- },
- {
- "domain": "Log",
- "description": "Provides access to log entries.",
- "dependencies": [
- "Runtime",
- "Network"
- ],
- "types": [
- {
- "id": "LogEntry",
- "description": "Log entry.",
- "type": "object",
- "properties": [
+ "$ref": "TimeSinceEpoch"
+ },
{
- "name": "source",
- "description": "Log entry source.",
- "type": "string",
- "enum": [
- "xml",
- "javascript",
- "network",
- "storage",
- "appcache",
- "rendering",
- "security",
- "deprecation",
- "worker",
- "violation",
- "intervention",
- "recommendation",
- "other"
- ]
+ "name": "button",
+ "description": "Mouse button (default: \"none\").",
+ "optional": true,
+ "$ref": "MouseButton"
},
{
- "name": "level",
- "description": "Log entry severity.",
- "type": "string",
- "enum": [
- "verbose",
- "info",
- "warning",
- "error"
- ]
+ "name": "buttons",
+ "description": "A number indicating which buttons are pressed on the mouse when a mouse event is triggered.\nLeft=1, Right=2, Middle=4, Back=8, Forward=16, None=0.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "text",
- "description": "Logged text.",
- "type": "string"
+ "name": "clickCount",
+ "description": "Number of times the mouse button was clicked (default: 0).",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "category",
+ "name": "force",
+ "description": "The normalized pressure, which has a range of [0,1] (default: 0).",
+ "experimental": true,
"optional": true,
- "type": "string",
- "enum": [
- "cors"
- ]
+ "type": "number"
},
{
- "name": "timestamp",
- "description": "Timestamp when this entry was added.",
- "$ref": "Runtime.Timestamp"
+ "name": "tangentialPressure",
+ "description": "The normalized tangential pressure, which has a range of [-1,1] (default: 0).",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
},
{
- "name": "url",
- "description": "URL of the resource if known.",
+ "name": "tiltX",
+ "description": "The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0).",
"optional": true,
- "type": "string"
+ "type": "number"
},
{
- "name": "lineNumber",
- "description": "Line number in the resource.",
+ "name": "tiltY",
+ "description": "The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0).",
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
- "name": "stackTrace",
- "description": "JavaScript stack trace.",
+ "name": "twist",
+ "description": "The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0).",
+ "experimental": true,
"optional": true,
- "$ref": "Runtime.StackTrace"
+ "type": "integer"
},
{
- "name": "networkRequestId",
- "description": "Identifier of the network request associated with this entry.",
+ "name": "deltaX",
+ "description": "X delta in CSS pixels for mouse wheel event (default: 0).",
"optional": true,
- "$ref": "Network.RequestId"
+ "type": "number"
},
{
- "name": "workerId",
- "description": "Identifier of the worker associated with this entry.",
+ "name": "deltaY",
+ "description": "Y delta in CSS pixels for mouse wheel event (default: 0).",
"optional": true,
- "type": "string"
+ "type": "number"
},
{
- "name": "args",
- "description": "Call arguments.",
+ "name": "pointerType",
+ "description": "Pointer type (default: \"mouse\").",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Runtime.RemoteObject"
- }
+ "type": "string",
+ "enum": [
+ "mouse",
+ "pen"
+ ]
}
]
},
{
- "id": "ViolationSetting",
- "description": "Violation configuration setting.",
- "type": "object",
- "properties": [
+ "name": "dispatchTouchEvent",
+ "description": "Dispatches a touch event to the page.",
+ "parameters": [
{
- "name": "name",
- "description": "Violation type.",
+ "name": "type",
+ "description": "Type of the touch event. TouchEnd and TouchCancel must not contain any touch points, while\nTouchStart and TouchMove must contains at least one.",
"type": "string",
"enum": [
- "longTask",
- "longLayout",
- "blockedEvent",
- "blockedParser",
- "discouragedAPIUse",
- "handler",
- "recurringHandler"
+ "touchStart",
+ "touchEnd",
+ "touchMove",
+ "touchCancel"
]
},
{
- "name": "threshold",
- "description": "Time threshold to trigger upon.",
- "type": "number"
+ "name": "touchPoints",
+ "description": "Active touch points on the touch device. One event per any changed point (compared to\nprevious touch event in a sequence) is generated, emulating pressing/moving/releasing points\none by one.",
+ "type": "array",
+ "items": {
+ "$ref": "TouchPoint"
+ }
+ },
+ {
+ "name": "modifiers",
+ "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "timestamp",
+ "description": "Time at which the event occurred.",
+ "optional": true,
+ "$ref": "TimeSinceEpoch"
}
]
- }
- ],
- "commands": [
- {
- "name": "clear",
- "description": "Clears the log."
- },
- {
- "name": "disable",
- "description": "Disables log domain, prevents further log entries from being reported to the client."
},
{
- "name": "enable",
- "description": "Enables log domain, sends the entries collected so far to the client by means of the\n`entryAdded` notification."
+ "name": "cancelDragging",
+ "description": "Cancels any active dragging in the page."
},
{
- "name": "startViolationsReport",
- "description": "start violation reporting.",
+ "name": "emulateTouchFromMouseEvent",
+ "description": "Emulates touch event from the mouse event parameters.",
+ "experimental": true,
"parameters": [
{
- "name": "config",
- "description": "Configuration for violations.",
- "type": "array",
- "items": {
- "$ref": "ViolationSetting"
- }
+ "name": "type",
+ "description": "Type of the mouse event.",
+ "type": "string",
+ "enum": [
+ "mousePressed",
+ "mouseReleased",
+ "mouseMoved",
+ "mouseWheel"
+ ]
+ },
+ {
+ "name": "x",
+ "description": "X coordinate of the mouse pointer in DIP.",
+ "type": "integer"
+ },
+ {
+ "name": "y",
+ "description": "Y coordinate of the mouse pointer in DIP.",
+ "type": "integer"
+ },
+ {
+ "name": "button",
+ "description": "Mouse button. Only \"none\", \"left\", \"right\" are supported.",
+ "$ref": "MouseButton"
+ },
+ {
+ "name": "timestamp",
+ "description": "Time at which the event occurred (default: current time).",
+ "optional": true,
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "deltaX",
+ "description": "X delta in DIP for mouse wheel event (default: 0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "deltaY",
+ "description": "Y delta in DIP for mouse wheel event (default: 0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "modifiers",
+ "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "clickCount",
+ "description": "Number of times the mouse button was clicked (default: 0).",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "stopViolationsReport",
- "description": "Stop violation reporting."
- }
- ],
- "events": [
- {
- "name": "entryAdded",
- "description": "Issued when new message was logged.",
+ "name": "setIgnoreInputEvents",
+ "description": "Ignores input events (useful while auditing page).",
"parameters": [
{
- "name": "entry",
- "description": "The entry.",
- "$ref": "LogEntry"
+ "name": "ignore",
+ "description": "Ignores input events processing when set to true.",
+ "type": "boolean"
}
]
- }
- ]
- },
- {
- "domain": "Memory",
- "experimental": true,
- "types": [
+ },
{
- "id": "PressureLevel",
- "description": "Memory pressure level.",
- "type": "string",
- "enum": [
- "moderate",
- "critical"
+ "name": "setInterceptDrags",
+ "description": "Prevents default drag and drop behavior and instead emits `Input.dragIntercepted` events.\nDrag and drop behavior can be directly controlled via `Input.dispatchDragEvent`.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "type": "boolean"
+ }
]
},
{
- "id": "SamplingProfileNode",
- "description": "Heap profile sample.",
- "type": "object",
- "properties": [
+ "name": "synthesizePinchGesture",
+ "description": "Synthesizes a pinch gesture over a time period by issuing appropriate touch events.",
+ "experimental": true,
+ "parameters": [
{
- "name": "size",
- "description": "Size of the sampled allocation.",
+ "name": "x",
+ "description": "X coordinate of the start of the gesture in CSS pixels.",
"type": "number"
},
{
- "name": "total",
- "description": "Total bytes attributed to this sample.",
+ "name": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
"type": "number"
},
{
- "name": "stack",
- "description": "Execution stack at the point of allocation.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- {
- "id": "SamplingProfile",
- "description": "Array of heap profile samples.",
- "type": "object",
- "properties": [
+ "name": "scaleFactor",
+ "description": "Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).",
+ "type": "number"
+ },
{
- "name": "samples",
- "type": "array",
- "items": {
- "$ref": "SamplingProfileNode"
- }
+ "name": "relativeSpeed",
+ "description": "Relative pointer speed in pixels per second (default: 800).",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "modules",
- "type": "array",
- "items": {
- "$ref": "Module"
- }
+ "name": "gestureSourceType",
+ "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
+ "optional": true,
+ "$ref": "GestureSourceType"
}
]
},
{
- "id": "Module",
- "description": "Executable module information",
- "type": "object",
- "properties": [
+ "name": "synthesizeScrollGesture",
+ "description": "Synthesizes a scroll gesture over a time period by issuing appropriate touch events.",
+ "experimental": true,
+ "parameters": [
{
- "name": "name",
- "description": "Name of the module.",
- "type": "string"
+ "name": "x",
+ "description": "X coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
},
{
- "name": "uuid",
- "description": "UUID of the module.",
- "type": "string"
+ "name": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
},
{
- "name": "baseAddress",
- "description": "Base address where the module is loaded into memory. Encoded as a decimal\nor hexadecimal (0x prefixed) string.",
- "type": "string"
+ "name": "xDistance",
+ "description": "The distance to scroll along the X axis (positive to scroll left).",
+ "optional": true,
+ "type": "number"
},
{
- "name": "size",
- "description": "Size of the module in bytes.",
+ "name": "yDistance",
+ "description": "The distance to scroll along the Y axis (positive to scroll up).",
+ "optional": true,
"type": "number"
- }
- ]
- },
- {
- "id": "DOMCounter",
- "description": "DOM object counter data.",
- "type": "object",
- "properties": [
+ },
{
- "name": "name",
- "description": "Object name. Note: object names should be presumed volatile and clients should not expect\nthe returned names to be consistent across runs.",
- "type": "string"
+ "name": "xOverscroll",
+ "description": "The number of additional pixels to scroll back along the X axis, in addition to the given\ndistance.",
+ "optional": true,
+ "type": "number"
},
{
- "name": "count",
- "description": "Object count.",
- "type": "integer"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "getDOMCounters",
- "description": "Retruns current DOM object counters.",
- "returns": [
+ "name": "yOverscroll",
+ "description": "The number of additional pixels to scroll back along the Y axis, in addition to the given\ndistance.",
+ "optional": true,
+ "type": "number"
+ },
{
- "name": "documents",
+ "name": "preventFling",
+ "description": "Prevent fling (default: true).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "speed",
+ "description": "Swipe speed in pixels per second (default: 800).",
+ "optional": true,
"type": "integer"
},
{
- "name": "nodes",
+ "name": "gestureSourceType",
+ "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
+ "optional": true,
+ "$ref": "GestureSourceType"
+ },
+ {
+ "name": "repeatCount",
+ "description": "The number of times to repeat the gesture (default: 0).",
+ "optional": true,
"type": "integer"
},
{
- "name": "jsEventListeners",
+ "name": "repeatDelayMs",
+ "description": "The number of milliseconds delay between each repeat. (default: 250).",
+ "optional": true,
"type": "integer"
- }
- ]
- },
- {
- "name": "getDOMCountersForLeakDetection",
- "description": "Retruns DOM object counters after preparing renderer for leak detection.",
- "returns": [
+ },
{
- "name": "counters",
- "description": "DOM object counters.",
- "type": "array",
- "items": {
- "$ref": "DOMCounter"
- }
+ "name": "interactionMarkerName",
+ "description": "The name of the interaction markers to generate, if not empty (default: \"\").",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "prepareForLeakDetection",
- "description": "Prepares for leak detection by terminating workers, stopping spellcheckers,\ndropping non-essential internal caches, running garbage collections, etc."
- },
- {
- "name": "forciblyPurgeJavaScriptMemory",
- "description": "Simulate OomIntervention by purging V8 memory."
- },
- {
- "name": "setPressureNotificationsSuppressed",
- "description": "Enable/disable suppressing memory pressure notifications in all processes.",
+ "name": "synthesizeTapGesture",
+ "description": "Synthesizes a tap gesture over a time period by issuing appropriate touch events.",
+ "experimental": true,
"parameters": [
{
- "name": "suppressed",
- "description": "If true, memory pressure notifications will be suppressed.",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "simulatePressureNotification",
- "description": "Simulate a memory pressure notification in all processes.",
- "parameters": [
+ "name": "x",
+ "description": "X coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
{
- "name": "level",
- "description": "Memory pressure level of the notification.",
- "$ref": "PressureLevel"
- }
- ]
- },
- {
- "name": "startSampling",
- "description": "Start collecting native memory profile.",
- "parameters": [
+ "name": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
{
- "name": "samplingInterval",
- "description": "Average number of bytes between samples.",
+ "name": "duration",
+ "description": "Duration between touchdown and touchup events in ms (default: 50).",
"optional": true,
"type": "integer"
},
{
- "name": "suppressRandomness",
- "description": "Do not randomize intervals between samples.",
+ "name": "tapCount",
+ "description": "Number of times to perform the tap (e.g. 2 for double tap, default: 1).",
"optional": true,
- "type": "boolean"
+ "type": "integer"
+ },
+ {
+ "name": "gestureSourceType",
+ "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
+ "optional": true,
+ "$ref": "GestureSourceType"
}
]
- },
- {
- "name": "stopSampling",
- "description": "Stop collecting native memory profile."
- },
+ }
+ ],
+ "events": [
{
- "name": "getAllTimeSamplingProfile",
- "description": "Retrieve native memory allocations profile\ncollected since renderer process startup.",
- "returns": [
+ "name": "dragIntercepted",
+ "description": "Emitted only when `Input.setInterceptDrags` is enabled. Use this data with `Input.dispatchDragEvent` to\nrestore normal drag and drop behavior.",
+ "experimental": true,
+ "parameters": [
{
- "name": "profile",
- "$ref": "SamplingProfile"
+ "name": "data",
+ "$ref": "DragData"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "Inspector",
+ "experimental": true,
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disables inspector domain notifications."
},
{
- "name": "getBrowserSamplingProfile",
- "description": "Retrieve native memory allocations profile\ncollected since browser process startup.",
- "returns": [
+ "name": "enable",
+ "description": "Enables inspector domain notifications."
+ }
+ ],
+ "events": [
+ {
+ "name": "detached",
+ "description": "Fired when remote debugging connection is about to be terminated. Contains detach reason.",
+ "parameters": [
{
- "name": "profile",
- "$ref": "SamplingProfile"
+ "name": "reason",
+ "description": "The reason why connection has been terminated.",
+ "type": "string"
}
]
},
{
- "name": "getSamplingProfile",
- "description": "Retrieve native memory allocations profile collected since last\n`startSampling` call.",
- "returns": [
- {
- "name": "profile",
- "$ref": "SamplingProfile"
- }
- ]
+ "name": "targetCrashed",
+ "description": "Fired when debugging target has crashed"
+ },
+ {
+ "name": "targetReloadedAfterCrash",
+ "description": "Fired when debugging target has reloaded after crash"
+ },
+ {
+ "name": "workerScriptLoaded",
+ "description": "Fired on worker targets when main worker script and any imported scripts have been evaluated.",
+ "experimental": true
}
]
},
{
- "domain": "Network",
- "description": "Network domain allows tracking network activities of the page. It exposes information about http,\nfile, data and other requests and responses, their headers, bodies, timing, etc.",
+ "domain": "LayerTree",
+ "experimental": true,
"dependencies": [
- "Debugger",
- "Runtime",
- "Security"
+ "DOM"
],
"types": [
{
- "id": "ResourceType",
- "description": "Resource type as it was perceived by the rendering engine.",
- "type": "string",
- "enum": [
- "Document",
- "Stylesheet",
- "Image",
- "Media",
- "Font",
- "Script",
- "TextTrack",
- "XHR",
- "Fetch",
- "Prefetch",
- "EventSource",
- "WebSocket",
- "Manifest",
- "SignedExchange",
- "Ping",
- "CSPViolationReport",
- "Preflight",
- "FedCM",
- "Other"
- ]
- },
- {
- "id": "LoaderId",
- "description": "Unique loader identifier.",
- "type": "string"
- },
- {
- "id": "RequestId",
- "description": "Unique network request identifier.\nNote that this does not identify individual HTTP requests that are part of\na network request.",
+ "id": "LayerId",
+ "description": "Unique Layer identifier.",
"type": "string"
},
{
- "id": "InterceptionId",
- "description": "Unique intercepted request identifier.",
+ "id": "SnapshotId",
+ "description": "Unique snapshot identifier.",
"type": "string"
},
{
- "id": "ErrorReason",
- "description": "Network level fetch failure reason.",
- "type": "string",
- "enum": [
- "Failed",
- "Aborted",
- "TimedOut",
- "AccessDenied",
- "ConnectionClosed",
- "ConnectionReset",
- "ConnectionRefused",
- "ConnectionAborted",
- "ConnectionFailed",
- "NameNotResolved",
- "InternetDisconnected",
- "AddressUnreachable",
- "BlockedByClient",
- "BlockedByResponse"
+ "id": "ScrollRect",
+ "description": "Rectangle where scrolling happens on the main thread.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "rect",
+ "description": "Rectangle itself.",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "type",
+ "description": "Reason for rectangle to force scrolling on the main thread",
+ "type": "string",
+ "enum": [
+ "RepaintsOnScroll",
+ "TouchEventHandler",
+ "WheelEventHandler"
+ ]
+ }
]
},
{
- "id": "TimeSinceEpoch",
- "description": "UTC time in seconds, counted from January 1, 1970.",
- "type": "number"
+ "id": "StickyPositionConstraint",
+ "description": "Sticky position constraints.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "stickyBoxRect",
+ "description": "Layout rectangle of the sticky element before being shifted",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "containingBlockRect",
+ "description": "Layout rectangle of the containing block of the sticky element",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "nearestLayerShiftingStickyBox",
+ "description": "The nearest sticky layer that shifts the sticky box",
+ "optional": true,
+ "$ref": "LayerId"
+ },
+ {
+ "name": "nearestLayerShiftingContainingBlock",
+ "description": "The nearest sticky layer that shifts the containing block",
+ "optional": true,
+ "$ref": "LayerId"
+ }
+ ]
},
{
- "id": "MonotonicTime",
- "description": "Monotonically increasing time in seconds since an arbitrary point in the past.",
- "type": "number"
+ "id": "PictureTile",
+ "description": "Serialized fragment of layer picture along with its offset within the layer.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "x",
+ "description": "Offset from owning layer left boundary",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "description": "Offset from owning layer top boundary",
+ "type": "number"
+ },
+ {
+ "name": "picture",
+ "description": "Base64-encoded snapshot data. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ }
+ ]
},
{
- "id": "Headers",
- "description": "Request / response headers as keys / values of JSON object.",
- "type": "object"
- },
- {
- "id": "ConnectionType",
- "description": "The underlying connection technology that the browser is supposedly using.",
- "type": "string",
- "enum": [
- "none",
- "cellular2g",
- "cellular3g",
- "cellular4g",
- "bluetooth",
- "ethernet",
- "wifi",
- "wimax",
- "other"
- ]
- },
- {
- "id": "CookieSameSite",
- "description": "Represents the cookie's 'SameSite' status:\nhttps://tools.ietf.org/html/draft-west-first-party-cookies",
- "type": "string",
- "enum": [
- "Strict",
- "Lax",
- "None"
- ]
- },
- {
- "id": "CookiePriority",
- "description": "Represents the cookie's 'Priority' status:\nhttps://tools.ietf.org/html/draft-west-cookie-priority-00",
- "experimental": true,
- "type": "string",
- "enum": [
- "Low",
- "Medium",
- "High"
- ]
- },
- {
- "id": "CookieSourceScheme",
- "description": "Represents the source scheme of the origin that originally set the cookie.\nA value of \"Unset\" allows protocol clients to emulate legacy cookie scope for the scheme.\nThis is a temporary ability and it will be removed in the future.",
- "experimental": true,
- "type": "string",
- "enum": [
- "Unset",
- "NonSecure",
- "Secure"
- ]
- },
- {
- "id": "ResourceTiming",
- "description": "Timing information for the request.",
+ "id": "Layer",
+ "description": "Information about a compositing layer.",
"type": "object",
"properties": [
{
- "name": "requestTime",
- "description": "Timing's requestTime is a baseline in seconds, while the other numbers are ticks in\nmilliseconds relatively to this requestTime.",
- "type": "number"
+ "name": "layerId",
+ "description": "The unique id for this layer.",
+ "$ref": "LayerId"
},
{
- "name": "proxyStart",
- "description": "Started resolving proxy.",
- "type": "number"
+ "name": "parentLayerId",
+ "description": "The id of parent (not present for root).",
+ "optional": true,
+ "$ref": "LayerId"
},
{
- "name": "proxyEnd",
- "description": "Finished resolving proxy.",
- "type": "number"
+ "name": "backendNodeId",
+ "description": "The backend id for the node associated with this layer.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "dnsStart",
- "description": "Started DNS address resolve.",
+ "name": "offsetX",
+ "description": "Offset from parent layer, X coordinate.",
"type": "number"
},
{
- "name": "dnsEnd",
- "description": "Finished DNS address resolve.",
+ "name": "offsetY",
+ "description": "Offset from parent layer, Y coordinate.",
"type": "number"
},
{
- "name": "connectStart",
- "description": "Started connecting to the remote host.",
+ "name": "width",
+ "description": "Layer width.",
"type": "number"
},
{
- "name": "connectEnd",
- "description": "Connected to the remote host.",
+ "name": "height",
+ "description": "Layer height.",
"type": "number"
},
{
- "name": "sslStart",
- "description": "Started SSL handshake.",
- "type": "number"
+ "name": "transform",
+ "description": "Transformation matrix for layer, default is identity matrix",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
},
{
- "name": "sslEnd",
- "description": "Finished SSL handshake.",
+ "name": "anchorX",
+ "description": "Transform anchor point X, absent if no transform specified",
+ "optional": true,
"type": "number"
},
{
- "name": "workerStart",
- "description": "Started running ServiceWorker.",
- "experimental": true,
+ "name": "anchorY",
+ "description": "Transform anchor point Y, absent if no transform specified",
+ "optional": true,
"type": "number"
},
{
- "name": "workerReady",
- "description": "Finished Starting ServiceWorker.",
- "experimental": true,
+ "name": "anchorZ",
+ "description": "Transform anchor point Z, absent if no transform specified",
+ "optional": true,
"type": "number"
},
{
- "name": "workerFetchStart",
- "description": "Started fetch event.",
- "experimental": true,
- "type": "number"
+ "name": "paintCount",
+ "description": "Indicates how many time this layer has painted.",
+ "type": "integer"
},
{
- "name": "workerRespondWithSettled",
- "description": "Settled fetch event respondWith promise.",
- "experimental": true,
- "type": "number"
+ "name": "drawsContent",
+ "description": "Indicates whether this layer hosts any content, rather than being used for\ntransform/scrolling purposes only.",
+ "type": "boolean"
},
{
- "name": "workerRouterEvaluationStart",
- "description": "Started ServiceWorker static routing source evaluation.",
- "experimental": true,
+ "name": "invisible",
+ "description": "Set if layer is not visible.",
"optional": true,
- "type": "number"
+ "type": "boolean"
},
{
- "name": "workerCacheLookupStart",
- "description": "Started cache lookup when the source was evaluated to `cache`.",
- "experimental": true,
+ "name": "scrollRects",
+ "description": "Rectangles scrolling on main thread only.",
"optional": true,
- "type": "number"
- },
- {
- "name": "sendStart",
- "description": "Started sending request.",
- "type": "number"
- },
- {
- "name": "sendEnd",
- "description": "Finished sending request.",
- "type": "number"
+ "type": "array",
+ "items": {
+ "$ref": "ScrollRect"
+ }
},
{
- "name": "pushStart",
- "description": "Time the server started pushing request.",
- "experimental": true,
- "type": "number"
- },
+ "name": "stickyPositionConstraint",
+ "description": "Sticky position constraint information",
+ "optional": true,
+ "$ref": "StickyPositionConstraint"
+ }
+ ]
+ },
+ {
+ "id": "PaintProfile",
+ "description": "Array of timings, one per paint step.",
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ ],
+ "commands": [
+ {
+ "name": "compositingReasons",
+ "description": "Provides the reasons why the given layer was composited.",
+ "parameters": [
{
- "name": "pushEnd",
- "description": "Time the server finished pushing request.",
- "experimental": true,
- "type": "number"
- },
+ "name": "layerId",
+ "description": "The id of the layer for which we want to get the reasons it was composited.",
+ "$ref": "LayerId"
+ }
+ ],
+ "returns": [
{
- "name": "receiveHeadersStart",
- "description": "Started receiving response headers.",
- "experimental": true,
- "type": "number"
+ "name": "compositingReasons",
+ "description": "A list of strings specifying reasons for the given layer to become composited.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "receiveHeadersEnd",
- "description": "Finished receiving response headers.",
- "type": "number"
+ "name": "compositingReasonIds",
+ "description": "A list of strings specifying reason IDs for the given layer to become composited.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "id": "ResourcePriority",
- "description": "Loading priority of a resource request.",
- "type": "string",
- "enum": [
- "VeryLow",
- "Low",
- "Medium",
- "High",
- "VeryHigh"
- ]
+ "name": "disable",
+ "description": "Disables compositing tree inspection."
},
{
- "id": "PostDataEntry",
- "description": "Post data entry for HTTP request",
- "type": "object",
- "properties": [
+ "name": "enable",
+ "description": "Enables compositing tree inspection."
+ },
+ {
+ "name": "loadSnapshot",
+ "description": "Returns the snapshot identifier.",
+ "parameters": [
{
- "name": "bytes",
- "optional": true,
- "type": "string"
+ "name": "tiles",
+ "description": "An array of tiles composing the snapshot.",
+ "type": "array",
+ "items": {
+ "$ref": "PictureTile"
+ }
+ }
+ ],
+ "returns": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the snapshot.",
+ "$ref": "SnapshotId"
}
]
},
{
- "id": "Request",
- "description": "HTTP request data.",
- "type": "object",
- "properties": [
- {
- "name": "url",
- "description": "Request URL (without fragment).",
- "type": "string"
- },
+ "name": "makeSnapshot",
+ "description": "Returns the layer snapshot identifier.",
+ "parameters": [
{
- "name": "urlFragment",
- "description": "Fragment of the requested URL starting with hash, if present.",
- "optional": true,
- "type": "string"
- },
+ "name": "layerId",
+ "description": "The id of the layer.",
+ "$ref": "LayerId"
+ }
+ ],
+ "returns": [
{
- "name": "method",
- "description": "HTTP request method.",
- "type": "string"
- },
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ }
+ ]
+ },
+ {
+ "name": "profileSnapshot",
+ "parameters": [
{
- "name": "headers",
- "description": "HTTP request headers.",
- "$ref": "Headers"
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
},
{
- "name": "postData",
- "description": "HTTP POST request data.\nUse postDataEntries instead.",
- "deprecated": true,
+ "name": "minRepeatCount",
+ "description": "The maximum number of times to replay the snapshot (1, if not specified).",
"optional": true,
- "type": "string"
+ "type": "integer"
},
{
- "name": "hasPostData",
- "description": "True when the request has POST data. Note that postData might still be omitted when this flag is true when the data is too long.",
+ "name": "minDuration",
+ "description": "The minimum duration (in seconds) to replay the snapshot.",
"optional": true,
- "type": "boolean"
+ "type": "number"
},
{
- "name": "postDataEntries",
- "description": "Request body elements (post data broken into individual entries).",
- "experimental": true,
+ "name": "clipRect",
+ "description": "The clip rectangle to apply when replaying the snapshot.",
"optional": true,
+ "$ref": "DOM.Rect"
+ }
+ ],
+ "returns": [
+ {
+ "name": "timings",
+ "description": "The array of paint profiles, one per run.",
"type": "array",
"items": {
- "$ref": "PostDataEntry"
+ "$ref": "PaintProfile"
}
- },
+ }
+ ]
+ },
+ {
+ "name": "releaseSnapshot",
+ "description": "Releases layer snapshot captured by the back-end.",
+ "parameters": [
{
- "name": "mixedContentType",
- "description": "The mixed content type of the request.",
- "optional": true,
- "$ref": "Security.MixedContentType"
- },
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ }
+ ]
+ },
+ {
+ "name": "replaySnapshot",
+ "description": "Replays the layer snapshot and returns the resulting bitmap.",
+ "parameters": [
{
- "name": "initialPriority",
- "description": "Priority of the resource request at the time request is sent.",
- "$ref": "ResourcePriority"
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
},
{
- "name": "referrerPolicy",
- "description": "The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/",
- "type": "string",
- "enum": [
- "unsafe-url",
- "no-referrer-when-downgrade",
- "no-referrer",
- "origin",
- "origin-when-cross-origin",
- "same-origin",
- "strict-origin",
- "strict-origin-when-cross-origin"
- ]
+ "name": "fromStep",
+ "description": "The first step to replay from (replay from the very start if not specified).",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "isLinkPreload",
- "description": "Whether is loaded via link preload.",
+ "name": "toStep",
+ "description": "The last step to replay to (replay till the end if not specified).",
"optional": true,
- "type": "boolean"
+ "type": "integer"
},
{
- "name": "trustTokenParams",
- "description": "Set for requests when the TrustToken API is used. Contains the parameters\npassed by the developer (e.g. via \"fetch\") as understood by the backend.",
- "experimental": true,
+ "name": "scale",
+ "description": "The scale to apply while replaying (defaults to 1).",
"optional": true,
- "$ref": "TrustTokenParams"
+ "type": "number"
+ }
+ ],
+ "returns": [
+ {
+ "name": "dataURL",
+ "description": "A data: URL for resulting image.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "snapshotCommandLog",
+ "description": "Replays the layer snapshot and returns canvas log.",
+ "parameters": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "commandLog",
+ "description": "The array of canvas function calls.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "layerPainted",
+ "parameters": [
+ {
+ "name": "layerId",
+ "description": "The id of the painted layer.",
+ "$ref": "LayerId"
},
{
- "name": "isSameSite",
- "description": "True if this resource request is considered to be the 'same site' as the\nrequest corresponding to the main frame.",
- "experimental": true,
- "optional": true,
- "type": "boolean"
+ "name": "clip",
+ "description": "Clip rectangle.",
+ "$ref": "DOM.Rect"
}
]
},
{
- "id": "SignedCertificateTimestamp",
- "description": "Details of a signed certificate timestamp (SCT).",
+ "name": "layerTreeDidChange",
+ "parameters": [
+ {
+ "name": "layers",
+ "description": "Layer tree, absent if not in the compositing mode.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Layer"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Log",
+ "description": "Provides access to log entries.",
+ "dependencies": [
+ "Runtime",
+ "Network"
+ ],
+ "types": [
+ {
+ "id": "LogEntry",
+ "description": "Log entry.",
"type": "object",
"properties": [
{
- "name": "status",
- "description": "Validation status.",
- "type": "string"
+ "name": "source",
+ "description": "Log entry source.",
+ "type": "string",
+ "enum": [
+ "xml",
+ "javascript",
+ "network",
+ "storage",
+ "appcache",
+ "rendering",
+ "security",
+ "deprecation",
+ "worker",
+ "violation",
+ "intervention",
+ "recommendation",
+ "other"
+ ]
},
{
- "name": "origin",
- "description": "Origin.",
- "type": "string"
+ "name": "level",
+ "description": "Log entry severity.",
+ "type": "string",
+ "enum": [
+ "verbose",
+ "info",
+ "warning",
+ "error"
+ ]
},
{
- "name": "logDescription",
- "description": "Log name / description.",
+ "name": "text",
+ "description": "Logged text.",
"type": "string"
},
{
- "name": "logId",
- "description": "Log ID.",
- "type": "string"
+ "name": "category",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "cors"
+ ]
},
{
"name": "timestamp",
- "description": "Issuance date. Unlike TimeSinceEpoch, this contains the number of\nmilliseconds since January 1, 1970, UTC, not the number of seconds.",
- "type": "number"
+ "description": "Timestamp when this entry was added.",
+ "$ref": "Runtime.Timestamp"
},
{
- "name": "hashAlgorithm",
- "description": "Hash algorithm.",
+ "name": "url",
+ "description": "URL of the resource if known.",
+ "optional": true,
"type": "string"
},
{
- "name": "signatureAlgorithm",
- "description": "Signature algorithm.",
- "type": "string"
+ "name": "lineNumber",
+ "description": "Line number in the resource.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "signatureData",
- "description": "Signature data.",
+ "name": "stackTrace",
+ "description": "JavaScript stack trace.",
+ "optional": true,
+ "$ref": "Runtime.StackTrace"
+ },
+ {
+ "name": "networkRequestId",
+ "description": "Identifier of the network request associated with this entry.",
+ "optional": true,
+ "$ref": "Network.RequestId"
+ },
+ {
+ "name": "workerId",
+ "description": "Identifier of the worker associated with this entry.",
+ "optional": true,
"type": "string"
+ },
+ {
+ "name": "args",
+ "description": "Call arguments.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Runtime.RemoteObject"
+ }
}
]
},
{
- "id": "SecurityDetails",
- "description": "Security details about a request.",
+ "id": "ViolationSetting",
+ "description": "Violation configuration setting.",
"type": "object",
"properties": [
{
- "name": "protocol",
- "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
- "type": "string"
+ "name": "name",
+ "description": "Violation type.",
+ "type": "string",
+ "enum": [
+ "longTask",
+ "longLayout",
+ "blockedEvent",
+ "blockedParser",
+ "discouragedAPIUse",
+ "handler",
+ "recurringHandler"
+ ]
},
{
- "name": "keyExchange",
- "description": "Key Exchange used by the connection, or the empty string if not applicable.",
- "type": "string"
+ "name": "threshold",
+ "description": "Time threshold to trigger upon.",
+ "type": "number"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "clear",
+ "description": "Clears the log."
+ },
+ {
+ "name": "disable",
+ "description": "Disables log domain, prevents further log entries from being reported to the client."
+ },
+ {
+ "name": "enable",
+ "description": "Enables log domain, sends the entries collected so far to the client by means of the\n`entryAdded` notification."
+ },
+ {
+ "name": "startViolationsReport",
+ "description": "start violation reporting.",
+ "parameters": [
+ {
+ "name": "config",
+ "description": "Configuration for violations.",
+ "type": "array",
+ "items": {
+ "$ref": "ViolationSetting"
+ }
+ }
+ ]
+ },
+ {
+ "name": "stopViolationsReport",
+ "description": "Stop violation reporting."
+ }
+ ],
+ "events": [
+ {
+ "name": "entryAdded",
+ "description": "Issued when new message was logged.",
+ "parameters": [
+ {
+ "name": "entry",
+ "description": "The entry.",
+ "$ref": "LogEntry"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Media",
+ "description": "This domain allows detailed inspection of media elements.",
+ "experimental": true,
+ "types": [
+ {
+ "id": "PlayerId",
+ "description": "Players will get an ID that is unique within the agent context.",
+ "type": "string"
+ },
+ {
+ "id": "Timestamp",
+ "type": "number"
+ },
+ {
+ "id": "PlayerMessage",
+ "description": "Have one type per entry in MediaLogRecord::Type\nCorresponds to kMessage",
+ "type": "object",
+ "properties": [
+ {
+ "name": "level",
+ "description": "Keep in sync with MediaLogMessageLevel\nWe are currently keeping the message level 'error' separate from the\nPlayerError type because right now they represent different things,\nthis one being a DVLOG(ERROR) style log message that gets printed\nbased on what log level is selected in the UI, and the other is a\nrepresentation of a media::PipelineStatus object. Soon however we're\ngoing to be moving away from using PipelineStatus for errors and\nintroducing a new error type which should hopefully let us integrate\nthe error log level into the PlayerError type.",
+ "type": "string",
+ "enum": [
+ "error",
+ "warning",
+ "info",
+ "debug"
+ ]
},
{
- "name": "keyExchangeGroup",
- "description": "(EC)DH group used by the connection, if applicable.",
- "optional": true,
+ "name": "message",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "PlayerProperty",
+ "description": "Corresponds to kMediaPropertyChange",
+ "type": "object",
+ "properties": [
{
- "name": "cipher",
- "description": "Cipher name.",
+ "name": "name",
"type": "string"
},
{
- "name": "mac",
- "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
- "optional": true,
+ "name": "value",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "PlayerEvent",
+ "description": "Corresponds to kMediaEventTriggered",
+ "type": "object",
+ "properties": [
{
- "name": "certificateId",
- "description": "Certificate ID value.",
- "$ref": "Security.CertificateId"
+ "name": "timestamp",
+ "$ref": "Timestamp"
},
{
- "name": "subjectName",
- "description": "Certificate subject name.",
+ "name": "value",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "PlayerErrorSourceLocation",
+ "description": "Represents logged source line numbers reported in an error.\nNOTE: file and line are from chromium c++ implementation code, not js.",
+ "type": "object",
+ "properties": [
{
- "name": "sanList",
- "description": "Subject Alternative Name (SAN) DNS names and IP addresses.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "file",
+ "type": "string"
},
{
- "name": "issuer",
- "description": "Name of the issuing CA.",
+ "name": "line",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "id": "PlayerError",
+ "description": "Corresponds to kMediaError",
+ "type": "object",
+ "properties": [
+ {
+ "name": "errorType",
"type": "string"
},
{
- "name": "validFrom",
- "description": "Certificate valid from date.",
- "$ref": "TimeSinceEpoch"
+ "name": "code",
+ "description": "Code is the numeric enum entry for a specific set of error codes, such\nas PipelineStatusCodes in media/base/pipeline_status.h",
+ "type": "integer"
},
{
- "name": "validTo",
- "description": "Certificate valid to (expiration) date",
- "$ref": "TimeSinceEpoch"
+ "name": "stack",
+ "description": "A trace of where this error was caused / where it passed through.",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerErrorSourceLocation"
+ }
},
{
- "name": "signedCertificateTimestampList",
- "description": "List of signed certificate timestamps (SCTs).",
+ "name": "cause",
+ "description": "Errors potentially have a root cause error, ie, a DecoderError might be\ncaused by an WindowsError",
"type": "array",
"items": {
- "$ref": "SignedCertificateTimestamp"
+ "$ref": "PlayerError"
}
},
{
- "name": "certificateTransparencyCompliance",
- "description": "Whether the request complied with Certificate Transparency policy",
- "$ref": "CertificateTransparencyCompliance"
- },
+ "name": "data",
+ "description": "Extra data attached to an error, such as an HRESULT, Video Codec, etc.",
+ "type": "object"
+ }
+ ]
+ },
+ {
+ "id": "Player",
+ "type": "object",
+ "properties": [
{
- "name": "serverSignatureAlgorithm",
- "description": "The signature algorithm used by the server in the TLS server signature,\nrepresented as a TLS SignatureScheme code point. Omitted if not\napplicable or not known.",
- "optional": true,
- "type": "integer"
+ "name": "playerId",
+ "$ref": "PlayerId"
},
{
- "name": "encryptedClientHello",
- "description": "Whether the connection used Encrypted ClientHello",
- "type": "boolean"
+ "name": "domNodeId",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
- },
+ }
+ ],
+ "events": [
{
- "id": "CertificateTransparencyCompliance",
- "description": "Whether the request complied with Certificate Transparency policy.",
- "type": "string",
- "enum": [
- "unknown",
- "not-compliant",
- "compliant"
+ "name": "playerPropertiesChanged",
+ "description": "This can be called multiple times, and can be used to set / override /\nremove player properties. A null propValue indicates removal.",
+ "parameters": [
+ {
+ "name": "playerId",
+ "$ref": "PlayerId"
+ },
+ {
+ "name": "properties",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerProperty"
+ }
+ }
]
},
{
- "id": "BlockedReason",
- "description": "The reason why request was blocked.",
- "type": "string",
- "enum": [
- "other",
- "csp",
- "mixed-content",
- "origin",
- "inspector",
- "integrity",
- "subresource-filter",
- "content-type",
- "coep-frame-resource-needs-coep-header",
- "coop-sandboxed-iframe-cannot-navigate-to-coop-page",
- "corp-not-same-origin",
- "corp-not-same-origin-after-defaulted-to-same-origin-by-coep",
- "corp-not-same-origin-after-defaulted-to-same-origin-by-dip",
- "corp-not-same-origin-after-defaulted-to-same-origin-by-coep-and-dip",
- "corp-not-same-site",
- "sri-message-signature-mismatch"
+ "name": "playerEventsAdded",
+ "description": "Send events as a list, allowing them to be batched on the browser for less\ncongestion. If batched, events must ALWAYS be in chronological order.",
+ "parameters": [
+ {
+ "name": "playerId",
+ "$ref": "PlayerId"
+ },
+ {
+ "name": "events",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerEvent"
+ }
+ }
]
},
{
- "id": "CorsError",
- "description": "The reason why request was blocked.",
- "type": "string",
- "enum": [
- "DisallowedByMode",
- "InvalidResponse",
- "WildcardOriginNotAllowed",
- "MissingAllowOriginHeader",
- "MultipleAllowOriginValues",
- "InvalidAllowOriginValue",
- "AllowOriginMismatch",
- "InvalidAllowCredentials",
- "CorsDisabledScheme",
- "PreflightInvalidStatus",
- "PreflightDisallowedRedirect",
- "PreflightWildcardOriginNotAllowed",
- "PreflightMissingAllowOriginHeader",
- "PreflightMultipleAllowOriginValues",
- "PreflightInvalidAllowOriginValue",
- "PreflightAllowOriginMismatch",
- "PreflightInvalidAllowCredentials",
- "PreflightMissingAllowExternal",
- "PreflightInvalidAllowExternal",
- "PreflightMissingAllowPrivateNetwork",
- "PreflightInvalidAllowPrivateNetwork",
- "InvalidAllowMethodsPreflightResponse",
- "InvalidAllowHeadersPreflightResponse",
- "MethodDisallowedByPreflightResponse",
- "HeaderDisallowedByPreflightResponse",
- "RedirectContainsCredentials",
- "InsecurePrivateNetwork",
- "InvalidPrivateNetworkAccess",
- "UnexpectedPrivateNetworkAccess",
- "NoCorsRedirectModeNotFollow",
- "PreflightMissingPrivateNetworkAccessId",
- "PreflightMissingPrivateNetworkAccessName",
- "PrivateNetworkAccessPermissionUnavailable",
- "PrivateNetworkAccessPermissionDenied",
- "LocalNetworkAccessPermissionDenied"
+ "name": "playerMessagesLogged",
+ "description": "Send a list of any messages that need to be delivered.",
+ "parameters": [
+ {
+ "name": "playerId",
+ "$ref": "PlayerId"
+ },
+ {
+ "name": "messages",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerMessage"
+ }
+ }
]
},
{
- "id": "CorsErrorStatus",
- "type": "object",
- "properties": [
+ "name": "playerErrorsRaised",
+ "description": "Send a list of any errors that need to be delivered.",
+ "parameters": [
{
- "name": "corsError",
- "$ref": "CorsError"
+ "name": "playerId",
+ "$ref": "PlayerId"
},
{
- "name": "failedParameter",
- "type": "string"
+ "name": "errors",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerError"
+ }
}
]
},
{
- "id": "ServiceWorkerResponseSource",
- "description": "Source of serviceworker response.",
+ "name": "playerCreated",
+ "description": "Called whenever a player is created, or when a new agent joins and receives\na list of active players. If an agent is restored, it will receive one\nevent for each active player.",
+ "parameters": [
+ {
+ "name": "player",
+ "$ref": "Player"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "enable",
+ "description": "Enables the Media domain"
+ },
+ {
+ "name": "disable",
+ "description": "Disables the Media domain."
+ }
+ ]
+ },
+ {
+ "domain": "Memory",
+ "experimental": true,
+ "types": [
+ {
+ "id": "PressureLevel",
+ "description": "Memory pressure level.",
"type": "string",
"enum": [
- "cache-storage",
- "http-cache",
- "fallback-code",
- "network"
+ "moderate",
+ "critical"
]
},
{
- "id": "TrustTokenParams",
- "description": "Determines what type of Trust Token operation is executed and\ndepending on the type, some additional parameters. The values\nare specified in third_party/blink/renderer/core/fetch/trust_token.idl.",
- "experimental": true,
+ "id": "SamplingProfileNode",
+ "description": "Heap profile sample.",
"type": "object",
"properties": [
{
- "name": "operation",
- "$ref": "TrustTokenOperationType"
+ "name": "size",
+ "description": "Size of the sampled allocation.",
+ "type": "number"
},
{
- "name": "refreshPolicy",
- "description": "Only set for \"token-redemption\" operation and determine whether\nto request a fresh SRR or use a still valid cached SRR.",
- "type": "string",
- "enum": [
- "UseCached",
- "Refresh"
- ]
+ "name": "total",
+ "description": "Total bytes attributed to this sample.",
+ "type": "number"
},
{
- "name": "issuers",
- "description": "Origins of issuers from whom to request tokens or redemption\nrecords.",
- "optional": true,
+ "name": "stack",
+ "description": "Execution stack at the point of allocation.",
"type": "array",
"items": {
"type": "string"
@@ -13585,15324 +14669,14947 @@
]
},
{
- "id": "TrustTokenOperationType",
- "experimental": true,
- "type": "string",
- "enum": [
- "Issuance",
- "Redemption",
- "Signing"
- ]
- },
- {
- "id": "AlternateProtocolUsage",
- "description": "The reason why Chrome uses a specific transport protocol for HTTP semantics.",
- "experimental": true,
- "type": "string",
- "enum": [
- "alternativeJobWonWithoutRace",
- "alternativeJobWonRace",
- "mainJobWonRace",
- "mappingMissing",
- "broken",
- "dnsAlpnH3JobWonWithoutRace",
- "dnsAlpnH3JobWonRace",
- "unspecifiedReason"
- ]
- },
- {
- "id": "ServiceWorkerRouterSource",
- "description": "Source of service worker router.",
- "type": "string",
- "enum": [
- "network",
- "cache",
- "fetch-event",
- "race-network-and-fetch-handler",
- "race-network-and-cache"
- ]
- },
- {
- "id": "ServiceWorkerRouterInfo",
- "experimental": true,
+ "id": "SamplingProfile",
+ "description": "Array of heap profile samples.",
"type": "object",
"properties": [
{
- "name": "ruleIdMatched",
- "description": "ID of the rule matched. If there is a matched rule, this field will\nbe set, otherwiser no value will be set.",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "matchedSourceType",
- "description": "The router source of the matched rule. If there is a matched rule, this\nfield will be set, otherwise no value will be set.",
- "optional": true,
- "$ref": "ServiceWorkerRouterSource"
+ "name": "samples",
+ "type": "array",
+ "items": {
+ "$ref": "SamplingProfileNode"
+ }
},
{
- "name": "actualSourceType",
- "description": "The actual router source used.",
- "optional": true,
- "$ref": "ServiceWorkerRouterSource"
+ "name": "modules",
+ "type": "array",
+ "items": {
+ "$ref": "Module"
+ }
}
]
},
{
- "id": "Response",
- "description": "HTTP response data.",
+ "id": "Module",
+ "description": "Executable module information",
"type": "object",
"properties": [
{
- "name": "url",
- "description": "Response URL. This URL can be different from CachedResource.url in case of redirect.",
+ "name": "name",
+ "description": "Name of the module.",
"type": "string"
},
{
- "name": "status",
- "description": "HTTP response status code.",
- "type": "integer"
- },
- {
- "name": "statusText",
- "description": "HTTP response status text.",
- "type": "string"
- },
- {
- "name": "headers",
- "description": "HTTP response headers.",
- "$ref": "Headers"
- },
- {
- "name": "headersText",
- "description": "HTTP response headers text. This has been replaced by the headers in Network.responseReceivedExtraInfo.",
- "deprecated": true,
- "optional": true,
- "type": "string"
- },
- {
- "name": "mimeType",
- "description": "Resource mimeType as determined by the browser.",
- "type": "string"
- },
- {
- "name": "charset",
- "description": "Resource charset as determined by the browser (if applicable).",
+ "name": "uuid",
+ "description": "UUID of the module.",
"type": "string"
},
{
- "name": "requestHeaders",
- "description": "Refined HTTP request headers that were actually transmitted over the network.",
- "optional": true,
- "$ref": "Headers"
- },
- {
- "name": "requestHeadersText",
- "description": "HTTP request headers text. This has been replaced by the headers in Network.requestWillBeSentExtraInfo.",
- "deprecated": true,
- "optional": true,
+ "name": "baseAddress",
+ "description": "Base address where the module is loaded into memory. Encoded as a decimal\nor hexadecimal (0x prefixed) string.",
"type": "string"
},
{
- "name": "connectionReused",
- "description": "Specifies whether physical connection was actually reused for this request.",
- "type": "boolean"
- },
- {
- "name": "connectionId",
- "description": "Physical connection id that was actually used for this request.",
+ "name": "size",
+ "description": "Size of the module in bytes.",
"type": "number"
- },
+ }
+ ]
+ },
+ {
+ "id": "DOMCounter",
+ "description": "DOM object counter data.",
+ "type": "object",
+ "properties": [
{
- "name": "remoteIPAddress",
- "description": "Remote IP address.",
- "optional": true,
+ "name": "name",
+ "description": "Object name. Note: object names should be presumed volatile and clients should not expect\nthe returned names to be consistent across runs.",
"type": "string"
},
{
- "name": "remotePort",
- "description": "Remote port.",
- "optional": true,
+ "name": "count",
+ "description": "Object count.",
"type": "integer"
- },
- {
- "name": "fromDiskCache",
- "description": "Specifies that the request was served from the disk cache.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "fromServiceWorker",
- "description": "Specifies that the request was served from the ServiceWorker.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "fromPrefetchCache",
- "description": "Specifies that the request was served from the prefetch cache.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "fromEarlyHints",
- "description": "Specifies that the request was served from the prefetch cache.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "serviceWorkerRouterInfo",
- "description": "Information about how ServiceWorker Static Router API was used. If this\nfield is set with `matchedSourceType` field, a matching rule is found.\nIf this field is set without `matchedSource`, no matching rule is found.\nOtherwise, the API is not used.",
- "experimental": true,
- "optional": true,
- "$ref": "ServiceWorkerRouterInfo"
- },
- {
- "name": "encodedDataLength",
- "description": "Total number of bytes received for this request so far.",
- "type": "number"
- },
- {
- "name": "timing",
- "description": "Timing information for the given request.",
- "optional": true,
- "$ref": "ResourceTiming"
- },
- {
- "name": "serviceWorkerResponseSource",
- "description": "Response source of response from ServiceWorker.",
- "optional": true,
- "$ref": "ServiceWorkerResponseSource"
- },
- {
- "name": "responseTime",
- "description": "The time at which the returned response was generated.",
- "optional": true,
- "$ref": "TimeSinceEpoch"
- },
- {
- "name": "cacheStorageCacheName",
- "description": "Cache Storage Cache Name.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "protocol",
- "description": "Protocol used to fetch this request.",
- "optional": true,
- "type": "string"
- },
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "getDOMCounters",
+ "description": "Retruns current DOM object counters.",
+ "returns": [
{
- "name": "alternateProtocolUsage",
- "description": "The reason why Chrome uses a specific transport protocol for HTTP semantics.",
- "experimental": true,
- "optional": true,
- "$ref": "AlternateProtocolUsage"
+ "name": "documents",
+ "type": "integer"
},
{
- "name": "securityState",
- "description": "Security state of the request resource.",
- "$ref": "Security.SecurityState"
+ "name": "nodes",
+ "type": "integer"
},
{
- "name": "securityDetails",
- "description": "Security details for the request.",
- "optional": true,
- "$ref": "SecurityDetails"
+ "name": "jsEventListeners",
+ "type": "integer"
}
]
},
{
- "id": "WebSocketRequest",
- "description": "WebSocket request data.",
- "type": "object",
- "properties": [
+ "name": "getDOMCountersForLeakDetection",
+ "description": "Retruns DOM object counters after preparing renderer for leak detection.",
+ "returns": [
{
- "name": "headers",
- "description": "HTTP request headers.",
- "$ref": "Headers"
+ "name": "counters",
+ "description": "DOM object counters.",
+ "type": "array",
+ "items": {
+ "$ref": "DOMCounter"
+ }
}
]
},
{
- "id": "WebSocketResponse",
- "description": "WebSocket response data.",
- "type": "object",
- "properties": [
- {
- "name": "status",
- "description": "HTTP response status code.",
- "type": "integer"
- },
- {
- "name": "statusText",
- "description": "HTTP response status text.",
- "type": "string"
- },
+ "name": "prepareForLeakDetection",
+ "description": "Prepares for leak detection by terminating workers, stopping spellcheckers,\ndropping non-essential internal caches, running garbage collections, etc."
+ },
+ {
+ "name": "forciblyPurgeJavaScriptMemory",
+ "description": "Simulate OomIntervention by purging V8 memory."
+ },
+ {
+ "name": "setPressureNotificationsSuppressed",
+ "description": "Enable/disable suppressing memory pressure notifications in all processes.",
+ "parameters": [
{
- "name": "headers",
- "description": "HTTP response headers.",
- "$ref": "Headers"
- },
+ "name": "suppressed",
+ "description": "If true, memory pressure notifications will be suppressed.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "simulatePressureNotification",
+ "description": "Simulate a memory pressure notification in all processes.",
+ "parameters": [
{
- "name": "headersText",
- "description": "HTTP response headers text.",
- "optional": true,
- "type": "string"
- },
+ "name": "level",
+ "description": "Memory pressure level of the notification.",
+ "$ref": "PressureLevel"
+ }
+ ]
+ },
+ {
+ "name": "startSampling",
+ "description": "Start collecting native memory profile.",
+ "parameters": [
{
- "name": "requestHeaders",
- "description": "HTTP request headers.",
+ "name": "samplingInterval",
+ "description": "Average number of bytes between samples.",
"optional": true,
- "$ref": "Headers"
+ "type": "integer"
},
{
- "name": "requestHeadersText",
- "description": "HTTP request headers text.",
+ "name": "suppressRandomness",
+ "description": "Do not randomize intervals between samples.",
"optional": true,
- "type": "string"
+ "type": "boolean"
}
]
},
{
- "id": "WebSocketFrame",
- "description": "WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.",
- "type": "object",
- "properties": [
+ "name": "stopSampling",
+ "description": "Stop collecting native memory profile."
+ },
+ {
+ "name": "getAllTimeSamplingProfile",
+ "description": "Retrieve native memory allocations profile\ncollected since renderer process startup.",
+ "returns": [
{
- "name": "opcode",
- "description": "WebSocket message opcode.",
- "type": "number"
- },
+ "name": "profile",
+ "$ref": "SamplingProfile"
+ }
+ ]
+ },
+ {
+ "name": "getBrowserSamplingProfile",
+ "description": "Retrieve native memory allocations profile\ncollected since browser process startup.",
+ "returns": [
{
- "name": "mask",
- "description": "WebSocket message mask.",
- "type": "boolean"
- },
+ "name": "profile",
+ "$ref": "SamplingProfile"
+ }
+ ]
+ },
+ {
+ "name": "getSamplingProfile",
+ "description": "Retrieve native memory allocations profile collected since last\n`startSampling` call.",
+ "returns": [
{
- "name": "payloadData",
- "description": "WebSocket message payload data.\nIf the opcode is 1, this is a text message and payloadData is a UTF-8 string.\nIf the opcode isn't 1, then payloadData is a base64 encoded string representing binary data.",
- "type": "string"
+ "name": "profile",
+ "$ref": "SamplingProfile"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "Network",
+ "description": "Network domain allows tracking network activities of the page. It exposes information about http,\nfile, data and other requests and responses, their headers, bodies, timing, etc.",
+ "dependencies": [
+ "Debugger",
+ "Runtime",
+ "Security"
+ ],
+ "types": [
+ {
+ "id": "ResourceType",
+ "description": "Resource type as it was perceived by the rendering engine.",
+ "type": "string",
+ "enum": [
+ "Document",
+ "Stylesheet",
+ "Image",
+ "Media",
+ "Font",
+ "Script",
+ "TextTrack",
+ "XHR",
+ "Fetch",
+ "Prefetch",
+ "EventSource",
+ "WebSocket",
+ "Manifest",
+ "SignedExchange",
+ "Ping",
+ "CSPViolationReport",
+ "Preflight",
+ "FedCM",
+ "Other"
+ ]
},
{
- "id": "CachedResource",
- "description": "Information about the cached resource.",
+ "id": "LoaderId",
+ "description": "Unique loader identifier.",
+ "type": "string"
+ },
+ {
+ "id": "RequestId",
+ "description": "Unique network request identifier.\nNote that this does not identify individual HTTP requests that are part of\na network request.",
+ "type": "string"
+ },
+ {
+ "id": "InterceptionId",
+ "description": "Unique intercepted request identifier.",
+ "type": "string"
+ },
+ {
+ "id": "ErrorReason",
+ "description": "Network level fetch failure reason.",
+ "type": "string",
+ "enum": [
+ "Failed",
+ "Aborted",
+ "TimedOut",
+ "AccessDenied",
+ "ConnectionClosed",
+ "ConnectionReset",
+ "ConnectionRefused",
+ "ConnectionAborted",
+ "ConnectionFailed",
+ "NameNotResolved",
+ "InternetDisconnected",
+ "AddressUnreachable",
+ "BlockedByClient",
+ "BlockedByResponse"
+ ]
+ },
+ {
+ "id": "TimeSinceEpoch",
+ "description": "UTC time in seconds, counted from January 1, 1970.",
+ "type": "number"
+ },
+ {
+ "id": "MonotonicTime",
+ "description": "Monotonically increasing time in seconds since an arbitrary point in the past.",
+ "type": "number"
+ },
+ {
+ "id": "Headers",
+ "description": "Request / response headers as keys / values of JSON object.",
+ "type": "object"
+ },
+ {
+ "id": "ConnectionType",
+ "description": "The underlying connection technology that the browser is supposedly using.",
+ "type": "string",
+ "enum": [
+ "none",
+ "cellular2g",
+ "cellular3g",
+ "cellular4g",
+ "bluetooth",
+ "ethernet",
+ "wifi",
+ "wimax",
+ "other"
+ ]
+ },
+ {
+ "id": "CookieSameSite",
+ "description": "Represents the cookie's 'SameSite' status:\nhttps://tools.ietf.org/html/draft-west-first-party-cookies",
+ "type": "string",
+ "enum": [
+ "Strict",
+ "Lax",
+ "None"
+ ]
+ },
+ {
+ "id": "CookiePriority",
+ "description": "Represents the cookie's 'Priority' status:\nhttps://tools.ietf.org/html/draft-west-cookie-priority-00",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ]
+ },
+ {
+ "id": "CookieSourceScheme",
+ "description": "Represents the source scheme of the origin that originally set the cookie.\nA value of \"Unset\" allows protocol clients to emulate legacy cookie scope for the scheme.\nThis is a temporary ability and it will be removed in the future.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Unset",
+ "NonSecure",
+ "Secure"
+ ]
+ },
+ {
+ "id": "ResourceTiming",
+ "description": "Timing information for the request.",
"type": "object",
"properties": [
{
- "name": "url",
- "description": "Resource URL. This is the url of the original network request.",
- "type": "string"
+ "name": "requestTime",
+ "description": "Timing's requestTime is a baseline in seconds, while the other numbers are ticks in\nmilliseconds relatively to this requestTime.",
+ "type": "number"
},
{
- "name": "type",
- "description": "Type of this resource.",
- "$ref": "ResourceType"
+ "name": "proxyStart",
+ "description": "Started resolving proxy.",
+ "type": "number"
},
{
- "name": "response",
- "description": "Cached response data.",
- "optional": true,
- "$ref": "Response"
+ "name": "proxyEnd",
+ "description": "Finished resolving proxy.",
+ "type": "number"
},
{
- "name": "bodySize",
- "description": "Cached response body size.",
+ "name": "dnsStart",
+ "description": "Started DNS address resolve.",
"type": "number"
- }
- ]
- },
- {
- "id": "Initiator",
- "description": "Information about the request initiator.",
- "type": "object",
- "properties": [
- {
- "name": "type",
- "description": "Type of this initiator.",
- "type": "string",
- "enum": [
- "parser",
- "script",
- "preload",
- "SignedExchange",
- "preflight",
- "other"
- ]
},
{
- "name": "stack",
- "description": "Initiator JavaScript stack trace, set for Script only.\nRequires the Debugger domain to be enabled.",
- "optional": true,
- "$ref": "Runtime.StackTrace"
+ "name": "dnsEnd",
+ "description": "Finished DNS address resolve.",
+ "type": "number"
},
{
- "name": "url",
- "description": "Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.",
- "optional": true,
- "type": "string"
+ "name": "connectStart",
+ "description": "Started connecting to the remote host.",
+ "type": "number"
},
{
- "name": "lineNumber",
- "description": "Initiator line number, set for Parser type or for Script type (when script is importing\nmodule) (0-based).",
- "optional": true,
+ "name": "connectEnd",
+ "description": "Connected to the remote host.",
"type": "number"
},
{
- "name": "columnNumber",
- "description": "Initiator column number, set for Parser type or for Script type (when script is importing\nmodule) (0-based).",
- "optional": true,
+ "name": "sslStart",
+ "description": "Started SSL handshake.",
"type": "number"
},
{
- "name": "requestId",
- "description": "Set if another request triggered this request (e.g. preflight).",
- "optional": true,
- "$ref": "RequestId"
- }
- ]
- },
- {
- "id": "CookiePartitionKey",
- "description": "cookiePartitionKey object\nThe representation of the components of the key that are created by the cookiePartitionKey class contained in net/cookies/cookie_partition_key.h.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "topLevelSite",
- "description": "The site of the top-level URL the browser was visiting at the start\nof the request to the endpoint that set the cookie.",
- "type": "string"
+ "name": "sslEnd",
+ "description": "Finished SSL handshake.",
+ "type": "number"
},
{
- "name": "hasCrossSiteAncestor",
- "description": "Indicates if the cookie has any ancestors that are cross-site to the topLevelSite.",
- "type": "boolean"
- }
- ]
- },
- {
- "id": "Cookie",
- "description": "Cookie object",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Cookie name.",
- "type": "string"
- },
- {
- "name": "value",
- "description": "Cookie value.",
- "type": "string"
- },
- {
- "name": "domain",
- "description": "Cookie domain.",
- "type": "string"
- },
- {
- "name": "path",
- "description": "Cookie path.",
- "type": "string"
- },
- {
- "name": "expires",
- "description": "Cookie expiration date as the number of seconds since the UNIX epoch.",
+ "name": "workerStart",
+ "description": "Started running ServiceWorker.",
+ "experimental": true,
"type": "number"
},
{
- "name": "size",
- "description": "Cookie size.",
- "type": "integer"
+ "name": "workerReady",
+ "description": "Finished Starting ServiceWorker.",
+ "experimental": true,
+ "type": "number"
},
{
- "name": "httpOnly",
- "description": "True if cookie is http-only.",
- "type": "boolean"
+ "name": "workerFetchStart",
+ "description": "Started fetch event.",
+ "experimental": true,
+ "type": "number"
},
{
- "name": "secure",
- "description": "True if cookie is secure.",
- "type": "boolean"
+ "name": "workerRespondWithSettled",
+ "description": "Settled fetch event respondWith promise.",
+ "experimental": true,
+ "type": "number"
},
{
- "name": "session",
- "description": "True in case of session cookie.",
- "type": "boolean"
+ "name": "workerRouterEvaluationStart",
+ "description": "Started ServiceWorker static routing source evaluation.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
},
{
- "name": "sameSite",
- "description": "Cookie SameSite type.",
+ "name": "workerCacheLookupStart",
+ "description": "Started cache lookup when the source was evaluated to `cache`.",
+ "experimental": true,
"optional": true,
- "$ref": "CookieSameSite"
+ "type": "number"
},
{
- "name": "priority",
- "description": "Cookie Priority",
- "experimental": true,
- "$ref": "CookiePriority"
+ "name": "sendStart",
+ "description": "Started sending request.",
+ "type": "number"
},
{
- "name": "sameParty",
- "description": "True if cookie is SameParty.",
- "experimental": true,
- "deprecated": true,
- "type": "boolean"
+ "name": "sendEnd",
+ "description": "Finished sending request.",
+ "type": "number"
},
{
- "name": "sourceScheme",
- "description": "Cookie source scheme type.",
+ "name": "pushStart",
+ "description": "Time the server started pushing request.",
"experimental": true,
- "$ref": "CookieSourceScheme"
+ "type": "number"
},
{
- "name": "sourcePort",
- "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.",
+ "name": "pushEnd",
+ "description": "Time the server finished pushing request.",
"experimental": true,
- "type": "integer"
+ "type": "number"
},
{
- "name": "partitionKey",
- "description": "Cookie partition key.",
+ "name": "receiveHeadersStart",
+ "description": "Started receiving response headers.",
"experimental": true,
- "optional": true,
- "$ref": "CookiePartitionKey"
+ "type": "number"
},
{
- "name": "partitionKeyOpaque",
- "description": "True if cookie partition key is opaque.",
- "experimental": true,
- "optional": true,
- "type": "boolean"
+ "name": "receiveHeadersEnd",
+ "description": "Finished receiving response headers.",
+ "type": "number"
}
]
},
{
- "id": "SetCookieBlockedReason",
- "description": "Types of reasons why a cookie may not be stored from a response.",
- "experimental": true,
- "type": "string",
- "enum": [
- "SecureOnly",
- "SameSiteStrict",
- "SameSiteLax",
- "SameSiteUnspecifiedTreatedAsLax",
- "SameSiteNoneInsecure",
- "UserPreferences",
- "ThirdPartyPhaseout",
- "ThirdPartyBlockedInFirstPartySet",
- "SyntaxError",
- "SchemeNotSupported",
- "OverwriteSecure",
- "InvalidDomain",
- "InvalidPrefix",
- "UnknownError",
- "SchemefulSameSiteStrict",
- "SchemefulSameSiteLax",
- "SchemefulSameSiteUnspecifiedTreatedAsLax",
- "SamePartyFromCrossPartyContext",
- "SamePartyConflictsWithOtherAttributes",
- "NameValuePairExceedsMaxSize",
- "DisallowedCharacter",
- "NoCookieContent"
- ]
- },
- {
- "id": "CookieBlockedReason",
- "description": "Types of reasons why a cookie may not be sent with a request.",
- "experimental": true,
- "type": "string",
- "enum": [
- "SecureOnly",
- "NotOnPath",
- "DomainMismatch",
- "SameSiteStrict",
- "SameSiteLax",
- "SameSiteUnspecifiedTreatedAsLax",
- "SameSiteNoneInsecure",
- "UserPreferences",
- "ThirdPartyPhaseout",
- "ThirdPartyBlockedInFirstPartySet",
- "UnknownError",
- "SchemefulSameSiteStrict",
- "SchemefulSameSiteLax",
- "SchemefulSameSiteUnspecifiedTreatedAsLax",
- "SamePartyFromCrossPartyContext",
- "NameValuePairExceedsMaxSize",
- "PortMismatch",
- "SchemeMismatch",
- "AnonymousContext"
- ]
- },
- {
- "id": "CookieExemptionReason",
- "description": "Types of reasons why a cookie should have been blocked by 3PCD but is exempted for the request.",
- "experimental": true,
+ "id": "ResourcePriority",
+ "description": "Loading priority of a resource request.",
"type": "string",
"enum": [
- "None",
- "UserSetting",
- "TPCDMetadata",
- "TPCDDeprecationTrial",
- "TopLevelTPCDDeprecationTrial",
- "TPCDHeuristics",
- "EnterprisePolicy",
- "StorageAccess",
- "TopLevelStorageAccess",
- "Scheme",
- "SameSiteNoneCookiesInSandbox"
+ "VeryLow",
+ "Low",
+ "Medium",
+ "High",
+ "VeryHigh"
]
},
{
- "id": "BlockedSetCookieWithReason",
- "description": "A cookie which was not stored from a response with the corresponding reason.",
- "experimental": true,
+ "id": "PostDataEntry",
+ "description": "Post data entry for HTTP request",
"type": "object",
"properties": [
{
- "name": "blockedReasons",
- "description": "The reason(s) this cookie was blocked.",
- "type": "array",
- "items": {
- "$ref": "SetCookieBlockedReason"
- }
- },
- {
- "name": "cookieLine",
- "description": "The string representing this individual cookie as it would appear in the header.\nThis is not the entire \"cookie\" or \"set-cookie\" header which could have multiple cookies.",
- "type": "string"
- },
- {
- "name": "cookie",
- "description": "The cookie object which represents the cookie which was not stored. It is optional because\nsometimes complete cookie information is not available, such as in the case of parsing\nerrors.",
+ "name": "bytes",
"optional": true,
- "$ref": "Cookie"
+ "type": "string"
}
]
},
{
- "id": "ExemptedSetCookieWithReason",
- "description": "A cookie should have been blocked by 3PCD but is exempted and stored from a response with the\ncorresponding reason. A cookie could only have at most one exemption reason.",
- "experimental": true,
+ "id": "Request",
+ "description": "HTTP request data.",
"type": "object",
"properties": [
{
- "name": "exemptionReason",
- "description": "The reason the cookie was exempted.",
- "$ref": "CookieExemptionReason"
+ "name": "url",
+ "description": "Request URL (without fragment).",
+ "type": "string"
},
{
- "name": "cookieLine",
- "description": "The string representing this individual cookie as it would appear in the header.",
+ "name": "urlFragment",
+ "description": "Fragment of the requested URL starting with hash, if present.",
+ "optional": true,
"type": "string"
},
{
- "name": "cookie",
- "description": "The cookie object representing the cookie.",
- "$ref": "Cookie"
- }
- ]
- },
- {
- "id": "AssociatedCookie",
- "description": "A cookie associated with the request which may or may not be sent with it.\nIncludes the cookies itself and reasons for blocking or exemption.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "method",
+ "description": "HTTP request method.",
+ "type": "string"
+ },
{
- "name": "cookie",
- "description": "The cookie object representing the cookie which was not sent.",
- "$ref": "Cookie"
+ "name": "headers",
+ "description": "HTTP request headers.",
+ "$ref": "Headers"
},
{
- "name": "blockedReasons",
- "description": "The reason(s) the cookie was blocked. If empty means the cookie is included.",
- "type": "array",
- "items": {
- "$ref": "CookieBlockedReason"
- }
- },
- {
- "name": "exemptionReason",
- "description": "The reason the cookie should have been blocked by 3PCD but is exempted. A cookie could\nonly have at most one exemption reason.",
- "optional": true,
- "$ref": "CookieExemptionReason"
- }
- ]
- },
- {
- "id": "CookieParam",
- "description": "Cookie parameter object",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Cookie name.",
- "type": "string"
- },
- {
- "name": "value",
- "description": "Cookie value.",
- "type": "string"
- },
- {
- "name": "url",
- "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain, path, source port, and source scheme values of the created cookie.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "domain",
- "description": "Cookie domain.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "path",
- "description": "Cookie path.",
+ "name": "postData",
+ "description": "HTTP POST request data.\nUse postDataEntries instead.",
+ "deprecated": true,
"optional": true,
"type": "string"
},
{
- "name": "secure",
- "description": "True if cookie is secure.",
+ "name": "hasPostData",
+ "description": "True when the request has POST data. Note that postData might still be omitted when this flag is true when the data is too long.",
"optional": true,
"type": "boolean"
},
{
- "name": "httpOnly",
- "description": "True if cookie is http-only.",
+ "name": "postDataEntries",
+ "description": "Request body elements (post data broken into individual entries).",
+ "experimental": true,
"optional": true,
- "type": "boolean"
+ "type": "array",
+ "items": {
+ "$ref": "PostDataEntry"
+ }
},
{
- "name": "sameSite",
- "description": "Cookie SameSite type.",
+ "name": "mixedContentType",
+ "description": "The mixed content type of the request.",
"optional": true,
- "$ref": "CookieSameSite"
+ "$ref": "Security.MixedContentType"
},
{
- "name": "expires",
- "description": "Cookie expiration date, session cookie if not set",
- "optional": true,
- "$ref": "TimeSinceEpoch"
+ "name": "initialPriority",
+ "description": "Priority of the resource request at the time request is sent.",
+ "$ref": "ResourcePriority"
},
{
- "name": "priority",
- "description": "Cookie Priority.",
- "experimental": true,
- "optional": true,
- "$ref": "CookiePriority"
+ "name": "referrerPolicy",
+ "description": "The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/",
+ "type": "string",
+ "enum": [
+ "unsafe-url",
+ "no-referrer-when-downgrade",
+ "no-referrer",
+ "origin",
+ "origin-when-cross-origin",
+ "same-origin",
+ "strict-origin",
+ "strict-origin-when-cross-origin"
+ ]
},
{
- "name": "sameParty",
- "description": "True if cookie is SameParty.",
- "experimental": true,
+ "name": "isLinkPreload",
+ "description": "Whether is loaded via link preload.",
"optional": true,
"type": "boolean"
},
{
- "name": "sourceScheme",
- "description": "Cookie source scheme type.",
+ "name": "trustTokenParams",
+ "description": "Set for requests when the TrustToken API is used. Contains the parameters\npassed by the developer (e.g. via \"fetch\") as understood by the backend.",
"experimental": true,
"optional": true,
- "$ref": "CookieSourceScheme"
+ "$ref": "TrustTokenParams"
},
{
- "name": "sourcePort",
- "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.",
+ "name": "isSameSite",
+ "description": "True if this resource request is considered to be the 'same site' as the\nrequest corresponding to the main frame.",
"experimental": true,
"optional": true,
- "type": "integer"
+ "type": "boolean"
},
{
- "name": "partitionKey",
- "description": "Cookie partition key. If not set, the cookie will be set as not partitioned.",
+ "name": "isAdRelated",
+ "description": "True when the resource request is ad-related.",
"experimental": true,
"optional": true,
- "$ref": "CookiePartitionKey"
+ "type": "boolean"
}
]
},
{
- "id": "AuthChallenge",
- "description": "Authorization challenge for HTTP status code 401 or 407.",
- "experimental": true,
+ "id": "SignedCertificateTimestamp",
+ "description": "Details of a signed certificate timestamp (SCT).",
"type": "object",
"properties": [
{
- "name": "source",
- "description": "Source of the authentication challenge.",
- "optional": true,
- "type": "string",
- "enum": [
- "Server",
- "Proxy"
- ]
+ "name": "status",
+ "description": "Validation status.",
+ "type": "string"
},
{
"name": "origin",
- "description": "Origin of the challenger.",
+ "description": "Origin.",
"type": "string"
},
{
- "name": "scheme",
- "description": "The authentication scheme used, such as basic or digest",
+ "name": "logDescription",
+ "description": "Log name / description.",
"type": "string"
},
{
- "name": "realm",
- "description": "The realm of the challenge. May be empty.",
+ "name": "logId",
+ "description": "Log ID.",
"type": "string"
- }
- ]
- },
- {
- "id": "AuthChallengeResponse",
- "description": "Response to an AuthChallenge.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "response",
- "description": "The decision on what to do in response to the authorization challenge. Default means\ndeferring to the default behavior of the net stack, which will likely either the Cancel\nauthentication or display a popup dialog box.",
- "type": "string",
- "enum": [
- "Default",
- "CancelAuth",
- "ProvideCredentials"
- ]
},
{
- "name": "username",
- "description": "The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
- "optional": true,
- "type": "string"
+ "name": "timestamp",
+ "description": "Issuance date. Unlike TimeSinceEpoch, this contains the number of\nmilliseconds since January 1, 1970, UTC, not the number of seconds.",
+ "type": "number"
},
{
- "name": "password",
- "description": "The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
- "optional": true,
- "type": "string"
- }
- ]
- },
- {
- "id": "InterceptionStage",
- "description": "Stages of the interception to begin intercepting. Request will intercept before the request is\nsent. Response will intercept after the response is received.",
- "experimental": true,
- "type": "string",
- "enum": [
- "Request",
- "HeadersReceived"
- ]
- },
- {
- "id": "RequestPattern",
- "description": "Request pattern for interception.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "urlPattern",
- "description": "Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to `\"*\"`.",
- "optional": true,
+ "name": "hashAlgorithm",
+ "description": "Hash algorithm.",
"type": "string"
},
{
- "name": "resourceType",
- "description": "If set, only requests for matching resource types will be intercepted.",
- "optional": true,
- "$ref": "ResourceType"
+ "name": "signatureAlgorithm",
+ "description": "Signature algorithm.",
+ "type": "string"
},
{
- "name": "interceptionStage",
- "description": "Stage at which to begin intercepting requests. Default is Request.",
- "optional": true,
- "$ref": "InterceptionStage"
+ "name": "signatureData",
+ "description": "Signature data.",
+ "type": "string"
}
]
},
{
- "id": "SignedExchangeSignature",
- "description": "Information about a signed exchange signature.\nhttps://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1",
- "experimental": true,
+ "id": "SecurityDetails",
+ "description": "Security details about a request.",
"type": "object",
"properties": [
{
- "name": "label",
- "description": "Signed exchange signature label.",
- "type": "string"
- },
- {
- "name": "signature",
- "description": "The hex string of signed exchange signature.",
+ "name": "protocol",
+ "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
"type": "string"
},
{
- "name": "integrity",
- "description": "Signed exchange signature integrity.",
+ "name": "keyExchange",
+ "description": "Key Exchange used by the connection, or the empty string if not applicable.",
"type": "string"
},
{
- "name": "certUrl",
- "description": "Signed exchange signature cert Url.",
+ "name": "keyExchangeGroup",
+ "description": "(EC)DH group used by the connection, if applicable.",
"optional": true,
"type": "string"
},
{
- "name": "certSha256",
- "description": "The hex string of signed exchange signature cert sha256.",
- "optional": true,
+ "name": "cipher",
+ "description": "Cipher name.",
"type": "string"
},
{
- "name": "validityUrl",
- "description": "Signed exchange signature validity Url.",
+ "name": "mac",
+ "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
+ "optional": true,
"type": "string"
},
{
- "name": "date",
- "description": "Signed exchange signature date.",
- "type": "integer"
+ "name": "certificateId",
+ "description": "Certificate ID value.",
+ "$ref": "Security.CertificateId"
},
{
- "name": "expires",
- "description": "Signed exchange signature expires.",
- "type": "integer"
+ "name": "subjectName",
+ "description": "Certificate subject name.",
+ "type": "string"
},
{
- "name": "certificates",
- "description": "The encoded certificates.",
- "optional": true,
+ "name": "sanList",
+ "description": "Subject Alternative Name (SAN) DNS names and IP addresses.",
"type": "array",
"items": {
"type": "string"
}
- }
- ]
- },
- {
- "id": "SignedExchangeHeader",
- "description": "Information about a signed exchange header.\nhttps://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation",
- "experimental": true,
- "type": "object",
- "properties": [
+ },
{
- "name": "requestUrl",
- "description": "Signed exchange request URL.",
+ "name": "issuer",
+ "description": "Name of the issuing CA.",
"type": "string"
},
{
- "name": "responseCode",
- "description": "Signed exchange response code.",
- "type": "integer"
+ "name": "validFrom",
+ "description": "Certificate valid from date.",
+ "$ref": "TimeSinceEpoch"
},
{
- "name": "responseHeaders",
- "description": "Signed exchange response headers.",
- "$ref": "Headers"
+ "name": "validTo",
+ "description": "Certificate valid to (expiration) date",
+ "$ref": "TimeSinceEpoch"
},
{
- "name": "signatures",
- "description": "Signed exchange response signature.",
+ "name": "signedCertificateTimestampList",
+ "description": "List of signed certificate timestamps (SCTs).",
"type": "array",
"items": {
- "$ref": "SignedExchangeSignature"
+ "$ref": "SignedCertificateTimestamp"
}
},
{
- "name": "headerIntegrity",
- "description": "Signed exchange header integrity hash in the form of `sha256-`.",
- "type": "string"
+ "name": "certificateTransparencyCompliance",
+ "description": "Whether the request complied with Certificate Transparency policy",
+ "$ref": "CertificateTransparencyCompliance"
+ },
+ {
+ "name": "serverSignatureAlgorithm",
+ "description": "The signature algorithm used by the server in the TLS server signature,\nrepresented as a TLS SignatureScheme code point. Omitted if not\napplicable or not known.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "encryptedClientHello",
+ "description": "Whether the connection used Encrypted ClientHello",
+ "type": "boolean"
}
]
},
{
- "id": "SignedExchangeErrorField",
- "description": "Field type for a signed exchange related error.",
- "experimental": true,
+ "id": "CertificateTransparencyCompliance",
+ "description": "Whether the request complied with Certificate Transparency policy.",
"type": "string",
"enum": [
- "signatureSig",
- "signatureIntegrity",
- "signatureCertUrl",
- "signatureCertSha256",
- "signatureValidityUrl",
- "signatureTimestamps"
+ "unknown",
+ "not-compliant",
+ "compliant"
]
},
{
- "id": "SignedExchangeError",
- "description": "Information about a signed exchange response.",
+ "id": "BlockedReason",
+ "description": "The reason why request was blocked.",
+ "type": "string",
+ "enum": [
+ "other",
+ "csp",
+ "mixed-content",
+ "origin",
+ "inspector",
+ "integrity",
+ "subresource-filter",
+ "content-type",
+ "coep-frame-resource-needs-coep-header",
+ "coop-sandboxed-iframe-cannot-navigate-to-coop-page",
+ "corp-not-same-origin",
+ "corp-not-same-origin-after-defaulted-to-same-origin-by-coep",
+ "corp-not-same-origin-after-defaulted-to-same-origin-by-dip",
+ "corp-not-same-origin-after-defaulted-to-same-origin-by-coep-and-dip",
+ "corp-not-same-site",
+ "sri-message-signature-mismatch"
+ ]
+ },
+ {
+ "id": "IpProxyStatus",
+ "description": "Sets Controls for IP Proxy of requests.\nPage reload is required before the new behavior will be observed.",
"experimental": true,
+ "type": "string",
+ "enum": [
+ "Available",
+ "FeatureNotEnabled",
+ "MaskedDomainListNotEnabled",
+ "MaskedDomainListNotPopulated",
+ "AuthTokensUnavailable",
+ "Unavailable",
+ "BypassedByDevTools"
+ ]
+ },
+ {
+ "id": "CorsError",
+ "description": "The reason why request was blocked.",
+ "type": "string",
+ "enum": [
+ "DisallowedByMode",
+ "InvalidResponse",
+ "WildcardOriginNotAllowed",
+ "MissingAllowOriginHeader",
+ "MultipleAllowOriginValues",
+ "InvalidAllowOriginValue",
+ "AllowOriginMismatch",
+ "InvalidAllowCredentials",
+ "CorsDisabledScheme",
+ "PreflightInvalidStatus",
+ "PreflightDisallowedRedirect",
+ "PreflightWildcardOriginNotAllowed",
+ "PreflightMissingAllowOriginHeader",
+ "PreflightMultipleAllowOriginValues",
+ "PreflightInvalidAllowOriginValue",
+ "PreflightAllowOriginMismatch",
+ "PreflightInvalidAllowCredentials",
+ "PreflightMissingAllowExternal",
+ "PreflightInvalidAllowExternal",
+ "PreflightMissingAllowPrivateNetwork",
+ "PreflightInvalidAllowPrivateNetwork",
+ "InvalidAllowMethodsPreflightResponse",
+ "InvalidAllowHeadersPreflightResponse",
+ "MethodDisallowedByPreflightResponse",
+ "HeaderDisallowedByPreflightResponse",
+ "RedirectContainsCredentials",
+ "InsecurePrivateNetwork",
+ "InvalidPrivateNetworkAccess",
+ "UnexpectedPrivateNetworkAccess",
+ "NoCorsRedirectModeNotFollow",
+ "PreflightMissingPrivateNetworkAccessId",
+ "PreflightMissingPrivateNetworkAccessName",
+ "PrivateNetworkAccessPermissionUnavailable",
+ "PrivateNetworkAccessPermissionDenied",
+ "LocalNetworkAccessPermissionDenied"
+ ]
+ },
+ {
+ "id": "CorsErrorStatus",
"type": "object",
"properties": [
{
- "name": "message",
- "description": "Error message.",
- "type": "string"
- },
- {
- "name": "signatureIndex",
- "description": "The index of the signature which caused the error.",
- "optional": true,
- "type": "integer"
+ "name": "corsError",
+ "$ref": "CorsError"
},
{
- "name": "errorField",
- "description": "The field which caused the error.",
- "optional": true,
- "$ref": "SignedExchangeErrorField"
+ "name": "failedParameter",
+ "type": "string"
}
]
},
{
- "id": "SignedExchangeInfo",
- "description": "Information about a signed exchange response.",
+ "id": "ServiceWorkerResponseSource",
+ "description": "Source of serviceworker response.",
+ "type": "string",
+ "enum": [
+ "cache-storage",
+ "http-cache",
+ "fallback-code",
+ "network"
+ ]
+ },
+ {
+ "id": "TrustTokenParams",
+ "description": "Determines what type of Trust Token operation is executed and\ndepending on the type, some additional parameters. The values\nare specified in third_party/blink/renderer/core/fetch/trust_token.idl.",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "outerResponse",
- "description": "The outer response of signed HTTP exchange which was received from network.",
- "$ref": "Response"
- },
- {
- "name": "header",
- "description": "Information about the signed exchange header.",
- "optional": true,
- "$ref": "SignedExchangeHeader"
+ "name": "operation",
+ "$ref": "TrustTokenOperationType"
},
{
- "name": "securityDetails",
- "description": "Security details for the signed exchange header.",
- "optional": true,
- "$ref": "SecurityDetails"
+ "name": "refreshPolicy",
+ "description": "Only set for \"token-redemption\" operation and determine whether\nto request a fresh SRR or use a still valid cached SRR.",
+ "type": "string",
+ "enum": [
+ "UseCached",
+ "Refresh"
+ ]
},
{
- "name": "errors",
- "description": "Errors occurred while handling the signed exchange.",
+ "name": "issuers",
+ "description": "Origins of issuers from whom to request tokens or redemption\nrecords.",
"optional": true,
"type": "array",
"items": {
- "$ref": "SignedExchangeError"
+ "type": "string"
}
}
]
},
{
- "id": "ContentEncoding",
- "description": "List of content encodings supported by the backend.",
+ "id": "TrustTokenOperationType",
"experimental": true,
"type": "string",
"enum": [
- "deflate",
- "gzip",
- "br",
- "zstd"
+ "Issuance",
+ "Redemption",
+ "Signing"
]
},
{
- "id": "DirectSocketDnsQueryType",
+ "id": "AlternateProtocolUsage",
+ "description": "The reason why Chrome uses a specific transport protocol for HTTP semantics.",
"experimental": true,
"type": "string",
"enum": [
- "ipv4",
- "ipv6"
+ "alternativeJobWonWithoutRace",
+ "alternativeJobWonRace",
+ "mainJobWonRace",
+ "mappingMissing",
+ "broken",
+ "dnsAlpnH3JobWonWithoutRace",
+ "dnsAlpnH3JobWonRace",
+ "unspecifiedReason"
]
},
{
- "id": "DirectTCPSocketOptions",
+ "id": "ServiceWorkerRouterSource",
+ "description": "Source of service worker router.",
+ "type": "string",
+ "enum": [
+ "network",
+ "cache",
+ "fetch-event",
+ "race-network-and-fetch-handler",
+ "race-network-and-cache"
+ ]
+ },
+ {
+ "id": "ServiceWorkerRouterInfo",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "noDelay",
- "description": "TCP_NODELAY option",
- "type": "boolean"
- },
- {
- "name": "keepAliveDelay",
- "description": "Expected to be unsigned integer.",
+ "name": "ruleIdMatched",
+ "description": "ID of the rule matched. If there is a matched rule, this field will\nbe set, otherwiser no value will be set.",
"optional": true,
- "type": "number"
+ "type": "integer"
},
{
- "name": "sendBufferSize",
- "description": "Expected to be unsigned integer.",
+ "name": "matchedSourceType",
+ "description": "The router source of the matched rule. If there is a matched rule, this\nfield will be set, otherwise no value will be set.",
"optional": true,
- "type": "number"
+ "$ref": "ServiceWorkerRouterSource"
},
{
- "name": "receiveBufferSize",
- "description": "Expected to be unsigned integer.",
+ "name": "actualSourceType",
+ "description": "The actual router source used.",
"optional": true,
- "type": "number"
- },
- {
- "name": "dnsQueryType",
- "optional": true,
- "$ref": "DirectSocketDnsQueryType"
+ "$ref": "ServiceWorkerRouterSource"
}
]
},
{
- "id": "DirectUDPSocketOptions",
- "experimental": true,
+ "id": "Response",
+ "description": "HTTP response data.",
"type": "object",
"properties": [
{
- "name": "remoteAddr",
+ "name": "url",
+ "description": "Response URL. This URL can be different from CachedResource.url in case of redirect.",
+ "type": "string"
+ },
+ {
+ "name": "status",
+ "description": "HTTP response status code.",
+ "type": "integer"
+ },
+ {
+ "name": "statusText",
+ "description": "HTTP response status text.",
+ "type": "string"
+ },
+ {
+ "name": "headers",
+ "description": "HTTP response headers.",
+ "$ref": "Headers"
+ },
+ {
+ "name": "headersText",
+ "description": "HTTP response headers text. This has been replaced by the headers in Network.responseReceivedExtraInfo.",
+ "deprecated": true,
"optional": true,
"type": "string"
},
{
- "name": "remotePort",
- "description": "Unsigned int 16.",
+ "name": "mimeType",
+ "description": "Resource mimeType as determined by the browser.",
+ "type": "string"
+ },
+ {
+ "name": "charset",
+ "description": "Resource charset as determined by the browser (if applicable).",
+ "type": "string"
+ },
+ {
+ "name": "requestHeaders",
+ "description": "Refined HTTP request headers that were actually transmitted over the network.",
"optional": true,
- "type": "integer"
+ "$ref": "Headers"
},
{
- "name": "localAddr",
+ "name": "requestHeadersText",
+ "description": "HTTP request headers text. This has been replaced by the headers in Network.requestWillBeSentExtraInfo.",
+ "deprecated": true,
"optional": true,
"type": "string"
},
{
- "name": "localPort",
- "description": "Unsigned int 16.",
+ "name": "connectionReused",
+ "description": "Specifies whether physical connection was actually reused for this request.",
+ "type": "boolean"
+ },
+ {
+ "name": "connectionId",
+ "description": "Physical connection id that was actually used for this request.",
+ "type": "number"
+ },
+ {
+ "name": "remoteIPAddress",
+ "description": "Remote IP address.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "remotePort",
+ "description": "Remote port.",
"optional": true,
"type": "integer"
},
{
- "name": "dnsQueryType",
+ "name": "fromDiskCache",
+ "description": "Specifies that the request was served from the disk cache.",
"optional": true,
- "$ref": "DirectSocketDnsQueryType"
+ "type": "boolean"
},
{
- "name": "sendBufferSize",
- "description": "Expected to be unsigned integer.",
+ "name": "fromServiceWorker",
+ "description": "Specifies that the request was served from the ServiceWorker.",
"optional": true,
- "type": "number"
+ "type": "boolean"
},
{
- "name": "receiveBufferSize",
- "description": "Expected to be unsigned integer.",
+ "name": "fromPrefetchCache",
+ "description": "Specifies that the request was served from the prefetch cache.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "fromEarlyHints",
+ "description": "Specifies that the request was served from the prefetch cache.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "serviceWorkerRouterInfo",
+ "description": "Information about how ServiceWorker Static Router API was used. If this\nfield is set with `matchedSourceType` field, a matching rule is found.\nIf this field is set without `matchedSource`, no matching rule is found.\nOtherwise, the API is not used.",
+ "experimental": true,
"optional": true,
+ "$ref": "ServiceWorkerRouterInfo"
+ },
+ {
+ "name": "encodedDataLength",
+ "description": "Total number of bytes received for this request so far.",
"type": "number"
- }
- ]
- },
- {
- "id": "DirectUDPMessage",
- "experimental": true,
- "type": "object",
- "properties": [
+ },
{
- "name": "data",
+ "name": "timing",
+ "description": "Timing information for the given request.",
+ "optional": true,
+ "$ref": "ResourceTiming"
+ },
+ {
+ "name": "serviceWorkerResponseSource",
+ "description": "Response source of response from ServiceWorker.",
+ "optional": true,
+ "$ref": "ServiceWorkerResponseSource"
+ },
+ {
+ "name": "responseTime",
+ "description": "The time at which the returned response was generated.",
+ "optional": true,
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "cacheStorageCacheName",
+ "description": "Cache Storage Cache Name.",
+ "optional": true,
"type": "string"
},
{
- "name": "remoteAddr",
- "description": "Null for connected mode.",
+ "name": "protocol",
+ "description": "Protocol used to fetch this request.",
"optional": true,
"type": "string"
},
{
- "name": "remotePort",
- "description": "Null for connected mode.\nExpected to be unsigned integer.",
+ "name": "alternateProtocolUsage",
+ "description": "The reason why Chrome uses a specific transport protocol for HTTP semantics.",
+ "experimental": true,
"optional": true,
- "type": "integer"
+ "$ref": "AlternateProtocolUsage"
+ },
+ {
+ "name": "securityState",
+ "description": "Security state of the request resource.",
+ "$ref": "Security.SecurityState"
+ },
+ {
+ "name": "securityDetails",
+ "description": "Security details for the request.",
+ "optional": true,
+ "$ref": "SecurityDetails"
+ },
+ {
+ "name": "isIpProtectionUsed",
+ "description": "Indicates whether the request was sent through IP Protection proxies. If\nset to true, the request used the IP Protection privacy feature.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "PrivateNetworkRequestPolicy",
- "experimental": true,
- "type": "string",
- "enum": [
- "Allow",
- "BlockFromInsecureToMorePrivate",
- "WarnFromInsecureToMorePrivate",
- "PreflightBlock",
- "PreflightWarn",
- "PermissionBlock",
- "PermissionWarn"
- ]
- },
- {
- "id": "IPAddressSpace",
- "experimental": true,
- "type": "string",
- "enum": [
- "Local",
- "Private",
- "Public",
- "Unknown"
- ]
- },
- {
- "id": "ConnectTiming",
- "experimental": true,
+ "id": "WebSocketRequest",
+ "description": "WebSocket request data.",
"type": "object",
"properties": [
{
- "name": "requestTime",
- "description": "Timing's requestTime is a baseline in seconds, while the other numbers are ticks in\nmilliseconds relatively to this requestTime. Matches ResourceTiming's requestTime for\nthe same request (but not for redirected requests).",
- "type": "number"
+ "name": "headers",
+ "description": "HTTP request headers.",
+ "$ref": "Headers"
}
]
},
{
- "id": "ClientSecurityState",
- "experimental": true,
+ "id": "WebSocketResponse",
+ "description": "WebSocket response data.",
"type": "object",
"properties": [
{
- "name": "initiatorIsSecureContext",
- "type": "boolean"
+ "name": "status",
+ "description": "HTTP response status code.",
+ "type": "integer"
},
{
- "name": "initiatorIPAddressSpace",
- "$ref": "IPAddressSpace"
+ "name": "statusText",
+ "description": "HTTP response status text.",
+ "type": "string"
},
{
- "name": "privateNetworkRequestPolicy",
- "$ref": "PrivateNetworkRequestPolicy"
- }
- ]
- },
- {
- "id": "CrossOriginOpenerPolicyValue",
- "experimental": true,
- "type": "string",
- "enum": [
- "SameOrigin",
- "SameOriginAllowPopups",
- "RestrictProperties",
- "UnsafeNone",
- "SameOriginPlusCoep",
- "RestrictPropertiesPlusCoep",
- "NoopenerAllowPopups"
- ]
- },
- {
- "id": "CrossOriginOpenerPolicyStatus",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "value",
- "$ref": "CrossOriginOpenerPolicyValue"
+ "name": "headers",
+ "description": "HTTP response headers.",
+ "$ref": "Headers"
},
{
- "name": "reportOnlyValue",
- "$ref": "CrossOriginOpenerPolicyValue"
+ "name": "headersText",
+ "description": "HTTP response headers text.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "reportingEndpoint",
+ "name": "requestHeaders",
+ "description": "HTTP request headers.",
"optional": true,
- "type": "string"
+ "$ref": "Headers"
},
{
- "name": "reportOnlyReportingEndpoint",
+ "name": "requestHeadersText",
+ "description": "HTTP request headers text.",
"optional": true,
"type": "string"
}
]
},
{
- "id": "CrossOriginEmbedderPolicyValue",
- "experimental": true,
- "type": "string",
- "enum": [
- "None",
- "Credentialless",
- "RequireCorp"
- ]
- },
- {
- "id": "CrossOriginEmbedderPolicyStatus",
- "experimental": true,
+ "id": "WebSocketFrame",
+ "description": "WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.",
"type": "object",
"properties": [
{
- "name": "value",
- "$ref": "CrossOriginEmbedderPolicyValue"
- },
- {
- "name": "reportOnlyValue",
- "$ref": "CrossOriginEmbedderPolicyValue"
+ "name": "opcode",
+ "description": "WebSocket message opcode.",
+ "type": "number"
},
{
- "name": "reportingEndpoint",
- "optional": true,
- "type": "string"
+ "name": "mask",
+ "description": "WebSocket message mask.",
+ "type": "boolean"
},
{
- "name": "reportOnlyReportingEndpoint",
- "optional": true,
+ "name": "payloadData",
+ "description": "WebSocket message payload data.\nIf the opcode is 1, this is a text message and payloadData is a UTF-8 string.\nIf the opcode isn't 1, then payloadData is a base64 encoded string representing binary data.",
"type": "string"
}
]
},
{
- "id": "ContentSecurityPolicySource",
- "experimental": true,
- "type": "string",
- "enum": [
- "HTTP",
- "Meta"
- ]
- },
- {
- "id": "ContentSecurityPolicyStatus",
- "experimental": true,
+ "id": "CachedResource",
+ "description": "Information about the cached resource.",
"type": "object",
"properties": [
{
- "name": "effectiveDirectives",
+ "name": "url",
+ "description": "Resource URL. This is the url of the original network request.",
"type": "string"
},
{
- "name": "isEnforced",
- "type": "boolean"
+ "name": "type",
+ "description": "Type of this resource.",
+ "$ref": "ResourceType"
},
{
- "name": "source",
- "$ref": "ContentSecurityPolicySource"
+ "name": "response",
+ "description": "Cached response data.",
+ "optional": true,
+ "$ref": "Response"
+ },
+ {
+ "name": "bodySize",
+ "description": "Cached response body size.",
+ "type": "number"
}
]
},
{
- "id": "SecurityIsolationStatus",
- "experimental": true,
+ "id": "Initiator",
+ "description": "Information about the request initiator.",
"type": "object",
"properties": [
{
- "name": "coop",
+ "name": "type",
+ "description": "Type of this initiator.",
+ "type": "string",
+ "enum": [
+ "parser",
+ "script",
+ "preload",
+ "SignedExchange",
+ "preflight",
+ "FedCM",
+ "other"
+ ]
+ },
+ {
+ "name": "stack",
+ "description": "Initiator JavaScript stack trace, set for Script only.\nRequires the Debugger domain to be enabled.",
"optional": true,
- "$ref": "CrossOriginOpenerPolicyStatus"
+ "$ref": "Runtime.StackTrace"
},
{
- "name": "coep",
+ "name": "url",
+ "description": "Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.",
"optional": true,
- "$ref": "CrossOriginEmbedderPolicyStatus"
+ "type": "string"
},
{
- "name": "csp",
+ "name": "lineNumber",
+ "description": "Initiator line number, set for Parser type or for Script type (when script is importing\nmodule) (0-based).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "ContentSecurityPolicyStatus"
- }
+ "type": "number"
+ },
+ {
+ "name": "columnNumber",
+ "description": "Initiator column number, set for Parser type or for Script type (when script is importing\nmodule) (0-based).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "requestId",
+ "description": "Set if another request triggered this request (e.g. preflight).",
+ "optional": true,
+ "$ref": "RequestId"
}
]
},
{
- "id": "ReportStatus",
- "description": "The status of a Reporting API report.",
+ "id": "CookiePartitionKey",
+ "description": "cookiePartitionKey object\nThe representation of the components of the key that are created by the cookiePartitionKey class contained in net/cookies/cookie_partition_key.h.",
"experimental": true,
- "type": "string",
- "enum": [
- "Queued",
- "Pending",
- "MarkedForRemoval",
- "Success"
+ "type": "object",
+ "properties": [
+ {
+ "name": "topLevelSite",
+ "description": "The site of the top-level URL the browser was visiting at the start\nof the request to the endpoint that set the cookie.",
+ "type": "string"
+ },
+ {
+ "name": "hasCrossSiteAncestor",
+ "description": "Indicates if the cookie has any ancestors that are cross-site to the topLevelSite.",
+ "type": "boolean"
+ }
]
},
{
- "id": "ReportId",
- "experimental": true,
- "type": "string"
- },
- {
- "id": "ReportingApiReport",
- "description": "An object representing a report generated by the Reporting API.",
- "experimental": true,
+ "id": "Cookie",
+ "description": "Cookie object",
"type": "object",
"properties": [
{
- "name": "id",
- "$ref": "ReportId"
+ "name": "name",
+ "description": "Cookie name.",
+ "type": "string"
},
{
- "name": "initiatorUrl",
- "description": "The URL of the document that triggered the report.",
+ "name": "value",
+ "description": "Cookie value.",
"type": "string"
},
{
- "name": "destination",
- "description": "The name of the endpoint group that should be used to deliver the report.",
+ "name": "domain",
+ "description": "Cookie domain.",
"type": "string"
},
{
- "name": "type",
- "description": "The type of the report (specifies the set of data that is contained in the report body).",
+ "name": "path",
+ "description": "Cookie path.",
"type": "string"
},
{
- "name": "timestamp",
- "description": "When the report was generated.",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "expires",
+ "description": "Cookie expiration date as the number of seconds since the UNIX epoch.\nThe value is set to -1 if the expiry date is not set.\nThe value can be null for values that cannot be represented in\nJSON (\u00b1Inf).",
+ "type": "number"
},
{
- "name": "depth",
- "description": "How many uploads deep the related request was.",
+ "name": "size",
+ "description": "Cookie size.",
"type": "integer"
},
{
- "name": "completedAttempts",
- "description": "The number of delivery attempts made so far, not including an active attempt.",
- "type": "integer"
+ "name": "httpOnly",
+ "description": "True if cookie is http-only.",
+ "type": "boolean"
},
{
- "name": "body",
- "type": "object"
+ "name": "secure",
+ "description": "True if cookie is secure.",
+ "type": "boolean"
},
{
- "name": "status",
- "$ref": "ReportStatus"
- }
- ]
- },
- {
- "id": "ReportingApiEndpoint",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "url",
- "description": "The URL of the endpoint to which reports may be delivered.",
- "type": "string"
+ "name": "session",
+ "description": "True in case of session cookie.",
+ "type": "boolean"
},
{
- "name": "groupName",
- "description": "Name of the endpoint group.",
- "type": "string"
- }
- ]
- },
- {
- "id": "LoadNetworkResourcePageResult",
- "description": "An object providing the result of a network resource load.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "sameSite",
+ "description": "Cookie SameSite type.",
+ "optional": true,
+ "$ref": "CookieSameSite"
+ },
{
- "name": "success",
- "type": "boolean"
+ "name": "priority",
+ "description": "Cookie Priority",
+ "experimental": true,
+ "$ref": "CookiePriority"
},
{
- "name": "netError",
- "description": "Optional values used for error reporting.",
- "optional": true,
- "type": "number"
+ "name": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "deprecated": true,
+ "type": "boolean"
},
{
- "name": "netErrorName",
- "optional": true,
- "type": "string"
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
+ "experimental": true,
+ "$ref": "CookieSourceScheme"
},
{
- "name": "httpStatusCode",
- "optional": true,
- "type": "number"
+ "name": "sourcePort",
+ "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.",
+ "experimental": true,
+ "type": "integer"
},
{
- "name": "stream",
- "description": "If successful, one of the following two fields holds the result.",
+ "name": "partitionKey",
+ "description": "Cookie partition key.",
+ "experimental": true,
"optional": true,
- "$ref": "IO.StreamHandle"
+ "$ref": "CookiePartitionKey"
},
{
- "name": "headers",
- "description": "Response headers.",
+ "name": "partitionKeyOpaque",
+ "description": "True if cookie partition key is opaque.",
+ "experimental": true,
"optional": true,
- "$ref": "Network.Headers"
+ "type": "boolean"
}
]
},
{
- "id": "LoadNetworkResourceOptions",
- "description": "An options object that may be extended later to better support CORS,\nCORB and streaming.",
+ "id": "SetCookieBlockedReason",
+ "description": "Types of reasons why a cookie may not be stored from a response.",
"experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "disableCache",
- "type": "boolean"
- },
- {
- "name": "includeCredentials",
- "type": "boolean"
- }
+ "type": "string",
+ "enum": [
+ "SecureOnly",
+ "SameSiteStrict",
+ "SameSiteLax",
+ "SameSiteUnspecifiedTreatedAsLax",
+ "SameSiteNoneInsecure",
+ "UserPreferences",
+ "ThirdPartyPhaseout",
+ "ThirdPartyBlockedInFirstPartySet",
+ "SyntaxError",
+ "SchemeNotSupported",
+ "OverwriteSecure",
+ "InvalidDomain",
+ "InvalidPrefix",
+ "UnknownError",
+ "SchemefulSameSiteStrict",
+ "SchemefulSameSiteLax",
+ "SchemefulSameSiteUnspecifiedTreatedAsLax",
+ "SamePartyFromCrossPartyContext",
+ "SamePartyConflictsWithOtherAttributes",
+ "NameValuePairExceedsMaxSize",
+ "DisallowedCharacter",
+ "NoCookieContent"
]
- }
- ],
- "commands": [
+ },
{
- "name": "setAcceptedEncodings",
- "description": "Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted.",
+ "id": "CookieBlockedReason",
+ "description": "Types of reasons why a cookie may not be sent with a request.",
"experimental": true,
- "parameters": [
- {
- "name": "encodings",
- "description": "List of accepted content encodings.",
- "type": "array",
- "items": {
- "$ref": "ContentEncoding"
- }
- }
+ "type": "string",
+ "enum": [
+ "SecureOnly",
+ "NotOnPath",
+ "DomainMismatch",
+ "SameSiteStrict",
+ "SameSiteLax",
+ "SameSiteUnspecifiedTreatedAsLax",
+ "SameSiteNoneInsecure",
+ "UserPreferences",
+ "ThirdPartyPhaseout",
+ "ThirdPartyBlockedInFirstPartySet",
+ "UnknownError",
+ "SchemefulSameSiteStrict",
+ "SchemefulSameSiteLax",
+ "SchemefulSameSiteUnspecifiedTreatedAsLax",
+ "SamePartyFromCrossPartyContext",
+ "NameValuePairExceedsMaxSize",
+ "PortMismatch",
+ "SchemeMismatch",
+ "AnonymousContext"
]
},
{
- "name": "clearAcceptedEncodingsOverride",
- "description": "Clears accepted encodings set by setAcceptedEncodings",
- "experimental": true
- },
- {
- "name": "canClearBrowserCache",
- "description": "Tells whether clearing browser cache is supported.",
- "deprecated": true,
- "returns": [
- {
- "name": "result",
- "description": "True if browser cache can be cleared.",
- "type": "boolean"
- }
+ "id": "CookieExemptionReason",
+ "description": "Types of reasons why a cookie should have been blocked by 3PCD but is exempted for the request.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "None",
+ "UserSetting",
+ "TPCDMetadata",
+ "TPCDDeprecationTrial",
+ "TopLevelTPCDDeprecationTrial",
+ "TPCDHeuristics",
+ "EnterprisePolicy",
+ "StorageAccess",
+ "TopLevelStorageAccess",
+ "Scheme",
+ "SameSiteNoneCookiesInSandbox"
]
},
{
- "name": "canClearBrowserCookies",
- "description": "Tells whether clearing browser cookies is supported.",
- "deprecated": true,
- "returns": [
+ "id": "BlockedSetCookieWithReason",
+ "description": "A cookie which was not stored from a response with the corresponding reason.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "result",
- "description": "True if browser cookies can be cleared.",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "canEmulateNetworkConditions",
- "description": "Tells whether emulation of network conditions is supported.",
- "deprecated": true,
- "returns": [
+ "name": "blockedReasons",
+ "description": "The reason(s) this cookie was blocked.",
+ "type": "array",
+ "items": {
+ "$ref": "SetCookieBlockedReason"
+ }
+ },
{
- "name": "result",
- "description": "True if emulation of network conditions is supported.",
- "type": "boolean"
+ "name": "cookieLine",
+ "description": "The string representing this individual cookie as it would appear in the header.\nThis is not the entire \"cookie\" or \"set-cookie\" header which could have multiple cookies.",
+ "type": "string"
+ },
+ {
+ "name": "cookie",
+ "description": "The cookie object which represents the cookie which was not stored. It is optional because\nsometimes complete cookie information is not available, such as in the case of parsing\nerrors.",
+ "optional": true,
+ "$ref": "Cookie"
}
]
},
{
- "name": "clearBrowserCache",
- "description": "Clears browser cache."
- },
- {
- "name": "clearBrowserCookies",
- "description": "Clears browser cookies."
- },
- {
- "name": "continueInterceptedRequest",
- "description": "Response to Network.requestIntercepted which either modifies the request to continue with any\nmodifications, or blocks it, or completes it with the provided response bytes. If a network\nfetch occurs as a result which encounters a redirect an additional Network.requestIntercepted\nevent will be sent with the same InterceptionId.\nDeprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.",
+ "id": "ExemptedSetCookieWithReason",
+ "description": "A cookie should have been blocked by 3PCD but is exempted and stored from a response with the\ncorresponding reason. A cookie could only have at most one exemption reason.",
"experimental": true,
- "deprecated": true,
- "parameters": [
- {
- "name": "interceptionId",
- "$ref": "InterceptionId"
- },
- {
- "name": "errorReason",
- "description": "If set this causes the request to fail with the given reason. Passing `Aborted` for requests\nmarked with `isNavigationRequest` also cancels the navigation. Must not be set in response\nto an authChallenge.",
- "optional": true,
- "$ref": "ErrorReason"
- },
+ "type": "object",
+ "properties": [
{
- "name": "rawResponse",
- "description": "If set the requests completes using with the provided base64 encoded raw response, including\nHTTP status line and headers etc... Must not be set in response to an authChallenge. (Encoded as a base64 string when passed over JSON)",
- "optional": true,
- "type": "string"
+ "name": "exemptionReason",
+ "description": "The reason the cookie was exempted.",
+ "$ref": "CookieExemptionReason"
},
{
- "name": "url",
- "description": "If set the request url will be modified in a way that's not observable by page. Must not be\nset in response to an authChallenge.",
- "optional": true,
+ "name": "cookieLine",
+ "description": "The string representing this individual cookie as it would appear in the header.",
"type": "string"
},
{
- "name": "method",
- "description": "If set this allows the request method to be overridden. Must not be set in response to an\nauthChallenge.",
- "optional": true,
- "type": "string"
- },
+ "name": "cookie",
+ "description": "The cookie object representing the cookie.",
+ "$ref": "Cookie"
+ }
+ ]
+ },
+ {
+ "id": "AssociatedCookie",
+ "description": "A cookie associated with the request which may or may not be sent with it.\nIncludes the cookies itself and reasons for blocking or exemption.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "postData",
- "description": "If set this allows postData to be set. Must not be set in response to an authChallenge.",
- "optional": true,
- "type": "string"
+ "name": "cookie",
+ "description": "The cookie object representing the cookie which was not sent.",
+ "$ref": "Cookie"
},
{
- "name": "headers",
- "description": "If set this allows the request headers to be changed. Must not be set in response to an\nauthChallenge.",
- "optional": true,
- "$ref": "Headers"
+ "name": "blockedReasons",
+ "description": "The reason(s) the cookie was blocked. If empty means the cookie is included.",
+ "type": "array",
+ "items": {
+ "$ref": "CookieBlockedReason"
+ }
},
{
- "name": "authChallengeResponse",
- "description": "Response to a requestIntercepted with an authChallenge. Must not be set otherwise.",
+ "name": "exemptionReason",
+ "description": "The reason the cookie should have been blocked by 3PCD but is exempted. A cookie could\nonly have at most one exemption reason.",
"optional": true,
- "$ref": "AuthChallengeResponse"
+ "$ref": "CookieExemptionReason"
}
]
},
{
- "name": "deleteCookies",
- "description": "Deletes browser cookies with matching name and url or domain/path/partitionKey pair.",
- "parameters": [
+ "id": "CookieParam",
+ "description": "Cookie parameter object",
+ "type": "object",
+ "properties": [
{
"name": "name",
- "description": "Name of the cookies to remove.",
+ "description": "Cookie name.",
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "description": "Cookie value.",
"type": "string"
},
{
"name": "url",
- "description": "If specified, deletes all the cookies with the given name where domain and path match\nprovided URL.",
+ "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain, path, source port, and source scheme values of the created cookie.",
"optional": true,
"type": "string"
},
{
"name": "domain",
- "description": "If specified, deletes only cookies with the exact domain.",
+ "description": "Cookie domain.",
"optional": true,
"type": "string"
},
{
"name": "path",
- "description": "If specified, deletes only cookies with the exact path.",
+ "description": "Cookie path.",
"optional": true,
"type": "string"
},
{
- "name": "partitionKey",
- "description": "If specified, deletes only cookies with the the given name and partitionKey where\nall partition key attributes match the cookie partition key attribute.",
- "experimental": true,
+ "name": "secure",
+ "description": "True if cookie is secure.",
"optional": true,
- "$ref": "CookiePartitionKey"
- }
- ]
- },
- {
- "name": "disable",
- "description": "Disables network tracking, prevents network events from being sent to the client."
- },
- {
- "name": "emulateNetworkConditions",
- "description": "Activates emulation of network conditions.",
- "parameters": [
- {
- "name": "offline",
- "description": "True to emulate internet disconnection.",
"type": "boolean"
},
{
- "name": "latency",
- "description": "Minimum latency from request sent to response headers received (ms).",
- "type": "number"
- },
- {
- "name": "downloadThroughput",
- "description": "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.",
- "type": "number"
- },
- {
- "name": "uploadThroughput",
- "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.",
- "type": "number"
+ "name": "httpOnly",
+ "description": "True if cookie is http-only.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "connectionType",
- "description": "Connection type if known.",
+ "name": "sameSite",
+ "description": "Cookie SameSite type.",
"optional": true,
- "$ref": "ConnectionType"
+ "$ref": "CookieSameSite"
},
{
- "name": "packetLoss",
- "description": "WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.",
- "experimental": true,
+ "name": "expires",
+ "description": "Cookie expiration date, session cookie if not set",
"optional": true,
- "type": "number"
+ "$ref": "TimeSinceEpoch"
},
{
- "name": "packetQueueLength",
- "description": "WebRTC packet queue length (packet). 0 removes any queue length limitations.",
+ "name": "priority",
+ "description": "Cookie Priority.",
"experimental": true,
"optional": true,
- "type": "integer"
+ "$ref": "CookiePriority"
},
{
- "name": "packetReordering",
- "description": "WebRTC packetReordering feature.",
+ "name": "sameParty",
+ "description": "True if cookie is SameParty.",
"experimental": true,
"optional": true,
"type": "boolean"
- }
- ]
- },
- {
- "name": "enable",
- "description": "Enables network tracking, network events will now be delivered to the client.",
- "parameters": [
- {
- "name": "maxTotalBufferSize",
- "description": "Buffer size in bytes to use when preserving network payloads (XHRs, etc).",
- "experimental": true,
- "optional": true,
- "type": "integer"
},
{
- "name": "maxResourceBufferSize",
- "description": "Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).",
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
"experimental": true,
"optional": true,
- "type": "integer"
+ "$ref": "CookieSourceScheme"
},
{
- "name": "maxPostDataSize",
- "description": "Longest post body size (in bytes) that would be included in requestWillBeSent notification",
+ "name": "sourcePort",
+ "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.",
+ "experimental": true,
"optional": true,
"type": "integer"
},
{
- "name": "reportDirectSocketTraffic",
- "description": "Whether DirectSocket chunk send/receive events should be reported.",
+ "name": "partitionKey",
+ "description": "Cookie partition key. If not set, the cookie will be set as not partitioned.",
"experimental": true,
"optional": true,
- "type": "boolean"
- }
- ]
- },
- {
- "name": "getAllCookies",
- "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.\nDeprecated. Use Storage.getCookies instead.",
- "deprecated": true,
- "returns": [
- {
- "name": "cookies",
- "description": "Array of cookie objects.",
- "type": "array",
- "items": {
- "$ref": "Cookie"
- }
+ "$ref": "CookiePartitionKey"
}
]
},
{
- "name": "getCertificate",
- "description": "Returns the DER-encoded certificate.",
+ "id": "AuthChallenge",
+ "description": "Authorization challenge for HTTP status code 401 or 407.",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
+ {
+ "name": "source",
+ "description": "Source of the authentication challenge.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "Server",
+ "Proxy"
+ ]
+ },
{
"name": "origin",
- "description": "Origin to get certificate for.",
+ "description": "Origin of the challenger.",
"type": "string"
- }
- ],
- "returns": [
- {
- "name": "tableNames",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- {
- "name": "getCookies",
- "description": "Returns all browser cookies for the current URL. Depending on the backend support, will return\ndetailed cookie information in the `cookies` field.",
- "parameters": [
+ },
{
- "name": "urls",
- "description": "The list of URLs for which applicable cookies will be fetched.\nIf not specified, it's assumed to be set to the list containing\nthe URLs of the page and all of its subframes.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ],
- "returns": [
+ "name": "scheme",
+ "description": "The authentication scheme used, such as basic or digest",
+ "type": "string"
+ },
{
- "name": "cookies",
- "description": "Array of cookie objects.",
- "type": "array",
- "items": {
- "$ref": "Cookie"
- }
+ "name": "realm",
+ "description": "The realm of the challenge. May be empty.",
+ "type": "string"
}
]
},
{
- "name": "getResponseBody",
- "description": "Returns content served for the given request.",
- "parameters": [
+ "id": "AuthChallengeResponse",
+ "description": "Response to an AuthChallenge.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Identifier of the network request to get content for.",
- "$ref": "RequestId"
- }
- ],
- "returns": [
+ "name": "response",
+ "description": "The decision on what to do in response to the authorization challenge. Default means\ndeferring to the default behavior of the net stack, which will likely either the Cancel\nauthentication or display a popup dialog box.",
+ "type": "string",
+ "enum": [
+ "Default",
+ "CancelAuth",
+ "ProvideCredentials"
+ ]
+ },
{
- "name": "body",
- "description": "Response body.",
+ "name": "username",
+ "description": "The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
+ "optional": true,
"type": "string"
},
{
- "name": "base64Encoded",
- "description": "True, if content was sent as base64.",
- "type": "boolean"
+ "name": "password",
+ "description": "The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "getRequestPostData",
- "description": "Returns post data sent with the request. Returns an error when no data was sent with the request.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Identifier of the network request to get content for.",
- "$ref": "RequestId"
- }
- ],
- "returns": [
- {
- "name": "postData",
- "description": "Request body string, omitting files from multipart requests",
- "type": "string"
- }
+ "id": "InterceptionStage",
+ "description": "Stages of the interception to begin intercepting. Request will intercept before the request is\nsent. Response will intercept after the response is received.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Request",
+ "HeadersReceived"
]
},
{
- "name": "getResponseBodyForInterception",
- "description": "Returns content served for the given currently intercepted request.",
+ "id": "RequestPattern",
+ "description": "Request pattern for interception.",
"experimental": true,
- "parameters": [
- {
- "name": "interceptionId",
- "description": "Identifier for the intercepted request to get body for.",
- "$ref": "InterceptionId"
- }
- ],
- "returns": [
+ "type": "object",
+ "properties": [
{
- "name": "body",
- "description": "Response body.",
+ "name": "urlPattern",
+ "description": "Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to `\"*\"`.",
+ "optional": true,
"type": "string"
},
{
- "name": "base64Encoded",
- "description": "True, if content was sent as base64.",
- "type": "boolean"
+ "name": "resourceType",
+ "description": "If set, only requests for matching resource types will be intercepted.",
+ "optional": true,
+ "$ref": "ResourceType"
+ },
+ {
+ "name": "interceptionStage",
+ "description": "Stage at which to begin intercepting requests. Default is Request.",
+ "optional": true,
+ "$ref": "InterceptionStage"
}
]
},
{
- "name": "takeResponseBodyForInterceptionAsStream",
- "description": "Returns a handle to the stream representing the response body. Note that after this command,\nthe intercepted request can't be continued as is -- you either need to cancel it or to provide\nthe response body. The stream only supports sequential read, IO.read will fail if the position\nis specified.",
+ "id": "SignedExchangeSignature",
+ "description": "Information about a signed exchange signature.\nhttps://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "interceptionId",
- "$ref": "InterceptionId"
- }
- ],
- "returns": [
+ "name": "label",
+ "description": "Signed exchange signature label.",
+ "type": "string"
+ },
{
- "name": "stream",
- "$ref": "IO.StreamHandle"
- }
- ]
- },
- {
- "name": "replayXHR",
- "description": "This method sends a new XMLHttpRequest which is identical to the original one. The following\nparameters should be identical: method, url, async, request body, extra headers, withCredentials\nattribute, user, password.",
- "experimental": true,
- "parameters": [
- {
- "name": "requestId",
- "description": "Identifier of XHR to replay.",
- "$ref": "RequestId"
- }
- ]
- },
- {
- "name": "searchInResponseBody",
- "description": "Searches for given string in response content.",
- "experimental": true,
- "parameters": [
- {
- "name": "requestId",
- "description": "Identifier of the network response to search.",
- "$ref": "RequestId"
+ "name": "signature",
+ "description": "The hex string of signed exchange signature.",
+ "type": "string"
},
{
- "name": "query",
- "description": "String to search for.",
+ "name": "integrity",
+ "description": "Signed exchange signature integrity.",
"type": "string"
},
{
- "name": "caseSensitive",
- "description": "If true, search is case sensitive.",
+ "name": "certUrl",
+ "description": "Signed exchange signature cert Url.",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "isRegex",
- "description": "If true, treats string parameter as regex.",
+ "name": "certSha256",
+ "description": "The hex string of signed exchange signature cert sha256.",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "type": "string"
+ },
{
- "name": "result",
- "description": "List of search matches.",
+ "name": "validityUrl",
+ "description": "Signed exchange signature validity Url.",
+ "type": "string"
+ },
+ {
+ "name": "date",
+ "description": "Signed exchange signature date.",
+ "type": "integer"
+ },
+ {
+ "name": "expires",
+ "description": "Signed exchange signature expires.",
+ "type": "integer"
+ },
+ {
+ "name": "certificates",
+ "description": "The encoded certificates.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "Debugger.SearchMatch"
+ "type": "string"
}
}
]
},
{
- "name": "setBlockedURLs",
- "description": "Blocks URLs from loading.",
+ "id": "SignedExchangeHeader",
+ "description": "Information about a signed exchange header.\nhttps://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "urls",
- "description": "URL patterns to block. Wildcards ('*') are allowed.",
+ "name": "requestUrl",
+ "description": "Signed exchange request URL.",
+ "type": "string"
+ },
+ {
+ "name": "responseCode",
+ "description": "Signed exchange response code.",
+ "type": "integer"
+ },
+ {
+ "name": "responseHeaders",
+ "description": "Signed exchange response headers.",
+ "$ref": "Headers"
+ },
+ {
+ "name": "signatures",
+ "description": "Signed exchange response signature.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "SignedExchangeSignature"
}
+ },
+ {
+ "name": "headerIntegrity",
+ "description": "Signed exchange header integrity hash in the form of `sha256-`.",
+ "type": "string"
}
]
},
{
- "name": "setBypassServiceWorker",
- "description": "Toggles ignoring of service worker for each request.",
- "parameters": [
- {
- "name": "bypass",
- "description": "Bypass service worker and load from network.",
- "type": "boolean"
- }
+ "id": "SignedExchangeErrorField",
+ "description": "Field type for a signed exchange related error.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "signatureSig",
+ "signatureIntegrity",
+ "signatureCertUrl",
+ "signatureCertSha256",
+ "signatureValidityUrl",
+ "signatureTimestamps"
]
},
{
- "name": "setCacheDisabled",
- "description": "Toggles ignoring cache for each request. If `true`, cache will not be used.",
- "parameters": [
+ "id": "SignedExchangeError",
+ "description": "Information about a signed exchange response.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "cacheDisabled",
- "description": "Cache disabled state.",
- "type": "boolean"
+ "name": "message",
+ "description": "Error message.",
+ "type": "string"
+ },
+ {
+ "name": "signatureIndex",
+ "description": "The index of the signature which caused the error.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "errorField",
+ "description": "The field which caused the error.",
+ "optional": true,
+ "$ref": "SignedExchangeErrorField"
}
]
},
{
- "name": "setCookie",
- "description": "Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.",
- "parameters": [
+ "id": "SignedExchangeInfo",
+ "description": "Information about a signed exchange response.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "name",
- "description": "Cookie name.",
- "type": "string"
+ "name": "outerResponse",
+ "description": "The outer response of signed HTTP exchange which was received from network.",
+ "$ref": "Response"
},
{
- "name": "value",
- "description": "Cookie value.",
- "type": "string"
+ "name": "hasExtraInfo",
+ "description": "Whether network response for the signed exchange was accompanied by\nextra headers.",
+ "type": "boolean"
},
{
- "name": "url",
- "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain, path, source port, and source scheme values of the created cookie.",
+ "name": "header",
+ "description": "Information about the signed exchange header.",
"optional": true,
- "type": "string"
+ "$ref": "SignedExchangeHeader"
},
{
- "name": "domain",
- "description": "Cookie domain.",
+ "name": "securityDetails",
+ "description": "Security details for the signed exchange header.",
"optional": true,
- "type": "string"
+ "$ref": "SecurityDetails"
},
{
- "name": "path",
- "description": "Cookie path.",
+ "name": "errors",
+ "description": "Errors occurred while handling the signed exchange.",
"optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "SignedExchangeError"
+ }
+ }
+ ]
+ },
+ {
+ "id": "ContentEncoding",
+ "description": "List of content encodings supported by the backend.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "deflate",
+ "gzip",
+ "br",
+ "zstd"
+ ]
+ },
+ {
+ "id": "NetworkConditions",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "urlPattern",
+ "description": "Only matching requests will be affected by these conditions. Patterns use the URLPattern constructor string\nsyntax (https://urlpattern.spec.whatwg.org/) and must be absolute. If the pattern is empty, all requests are\nmatched (including p2p connections).",
"type": "string"
},
{
- "name": "secure",
- "description": "True if cookie is secure.",
- "optional": true,
- "type": "boolean"
+ "name": "latency",
+ "description": "Minimum latency from request sent to response headers received (ms).",
+ "type": "number"
},
{
- "name": "httpOnly",
- "description": "True if cookie is http-only.",
- "optional": true,
- "type": "boolean"
+ "name": "downloadThroughput",
+ "description": "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.",
+ "type": "number"
},
{
- "name": "sameSite",
- "description": "Cookie SameSite type.",
- "optional": true,
- "$ref": "CookieSameSite"
+ "name": "uploadThroughput",
+ "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.",
+ "type": "number"
},
{
- "name": "expires",
- "description": "Cookie expiration date, session cookie if not set",
+ "name": "connectionType",
+ "description": "Connection type if known.",
"optional": true,
- "$ref": "TimeSinceEpoch"
+ "$ref": "ConnectionType"
},
{
- "name": "priority",
- "description": "Cookie Priority type.",
- "experimental": true,
+ "name": "packetLoss",
+ "description": "WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.",
"optional": true,
- "$ref": "CookiePriority"
+ "type": "number"
},
{
- "name": "sameParty",
- "description": "True if cookie is SameParty.",
- "experimental": true,
+ "name": "packetQueueLength",
+ "description": "WebRTC packet queue length (packet). 0 removes any queue length limitations.",
"optional": true,
- "type": "boolean"
+ "type": "integer"
},
{
- "name": "sourceScheme",
- "description": "Cookie source scheme type.",
- "experimental": true,
+ "name": "packetReordering",
+ "description": "WebRTC packetReordering feature.",
"optional": true,
- "$ref": "CookieSourceScheme"
- },
- {
- "name": "sourcePort",
- "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.",
- "experimental": true,
- "optional": true,
- "type": "integer"
- },
- {
- "name": "partitionKey",
- "description": "Cookie partition key. If not set, the cookie will be set as not partitioned.",
- "experimental": true,
- "optional": true,
- "$ref": "CookiePartitionKey"
- }
- ],
- "returns": [
- {
- "name": "success",
- "description": "Always set to true. If an error occurs, the response indicates protocol error.",
- "deprecated": true,
"type": "boolean"
}
]
},
{
- "name": "setCookies",
- "description": "Sets given cookies.",
- "parameters": [
+ "id": "BlockPattern",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "cookies",
- "description": "Cookies to be set.",
- "type": "array",
- "items": {
- "$ref": "CookieParam"
- }
- }
- ]
- },
- {
- "name": "setExtraHTTPHeaders",
- "description": "Specifies whether to always send extra HTTP headers with the requests from this page.",
- "parameters": [
+ "name": "urlPattern",
+ "description": "URL pattern to match. Patterns use the URLPattern constructor string syntax\n(https://urlpattern.spec.whatwg.org/) and must be absolute. Example: `*://*:*/*.css`.",
+ "type": "string"
+ },
{
- "name": "headers",
- "description": "Map with extra HTTP headers.",
- "$ref": "Headers"
+ "name": "block",
+ "description": "Whether or not to block the pattern. If false, a matching request will not be blocked even if it matches a later\n`BlockPattern`.",
+ "type": "boolean"
}
]
},
{
- "name": "setAttachDebugStack",
- "description": "Specifies whether to attach a page script stack id in requests",
+ "id": "DirectSocketDnsQueryType",
"experimental": true,
- "parameters": [
- {
- "name": "enabled",
- "description": "Whether to attach a page script stack for debugging purpose.",
- "type": "boolean"
- }
+ "type": "string",
+ "enum": [
+ "ipv4",
+ "ipv6"
]
},
{
- "name": "setRequestInterception",
- "description": "Sets the requests to intercept that match the provided patterns and optionally resource types.\nDeprecated, please use Fetch.enable instead.",
+ "id": "DirectTCPSocketOptions",
"experimental": true,
- "deprecated": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "patterns",
- "description": "Requests matching any of these patterns will be forwarded and wait for the corresponding\ncontinueInterceptedRequest call.",
- "type": "array",
- "items": {
- "$ref": "RequestPattern"
- }
+ "name": "noDelay",
+ "description": "TCP_NODELAY option",
+ "type": "boolean"
+ },
+ {
+ "name": "keepAliveDelay",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "sendBufferSize",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "receiveBufferSize",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "dnsQueryType",
+ "optional": true,
+ "$ref": "DirectSocketDnsQueryType"
}
]
},
{
- "name": "setUserAgentOverride",
- "description": "Allows overriding user agent with the given string.",
- "redirect": "Emulation",
- "parameters": [
+ "id": "DirectUDPSocketOptions",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "userAgent",
- "description": "User agent to use.",
+ "name": "remoteAddr",
+ "optional": true,
"type": "string"
},
{
- "name": "acceptLanguage",
- "description": "Browser language to emulate.",
+ "name": "remotePort",
+ "description": "Unsigned int 16.",
"optional": true,
- "type": "string"
+ "type": "integer"
},
{
- "name": "platform",
- "description": "The platform navigator.platform should return.",
+ "name": "localAddr",
"optional": true,
"type": "string"
},
{
- "name": "userAgentMetadata",
- "description": "To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData",
- "experimental": true,
+ "name": "localPort",
+ "description": "Unsigned int 16.",
"optional": true,
- "$ref": "Emulation.UserAgentMetadata"
+ "type": "integer"
+ },
+ {
+ "name": "dnsQueryType",
+ "optional": true,
+ "$ref": "DirectSocketDnsQueryType"
+ },
+ {
+ "name": "sendBufferSize",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "receiveBufferSize",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "streamResourceContent",
- "description": "Enables streaming of the response for the given requestId.\nIf enabled, the dataReceived event contains the data that was received during streaming.",
+ "id": "DirectUDPMessage",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Identifier of the request to stream.",
- "$ref": "RequestId"
- }
- ],
- "returns": [
+ "name": "data",
+ "type": "string"
+ },
{
- "name": "bufferedData",
- "description": "Data that has been buffered until streaming is enabled. (Encoded as a base64 string when passed over JSON)",
+ "name": "remoteAddr",
+ "description": "Null for connected mode.",
+ "optional": true,
"type": "string"
+ },
+ {
+ "name": "remotePort",
+ "description": "Null for connected mode.\nExpected to be unsigned integer.",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "getSecurityIsolationStatus",
- "description": "Returns information about the COEP/COOP isolation status.",
+ "id": "PrivateNetworkRequestPolicy",
"experimental": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "If no frameId is provided, the status of the target is provided.",
- "optional": true,
- "$ref": "Page.FrameId"
- }
- ],
- "returns": [
- {
- "name": "status",
- "$ref": "SecurityIsolationStatus"
- }
+ "type": "string",
+ "enum": [
+ "Allow",
+ "BlockFromInsecureToMorePrivate",
+ "WarnFromInsecureToMorePrivate",
+ "PreflightBlock",
+ "PreflightWarn",
+ "PermissionBlock",
+ "PermissionWarn"
]
},
{
- "name": "enableReportingApi",
- "description": "Enables tracking for the Reporting API, events generated by the Reporting API will now be delivered to the client.\nEnabling triggers 'reportingApiReportAdded' for all existing reports.",
+ "id": "IPAddressSpace",
"experimental": true,
- "parameters": [
- {
- "name": "enable",
- "description": "Whether to enable or disable events for the Reporting API",
- "type": "boolean"
- }
+ "type": "string",
+ "enum": [
+ "Loopback",
+ "Local",
+ "Public",
+ "Unknown"
]
},
{
- "name": "loadNetworkResource",
- "description": "Fetches the resource and returns the content.",
+ "id": "ConnectTiming",
"experimental": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "Frame id to get the resource for. Mandatory for frame targets, and\nshould be omitted for worker targets.",
- "optional": true,
- "$ref": "Page.FrameId"
- },
- {
- "name": "url",
- "description": "URL of the resource to get content for.",
- "type": "string"
- },
- {
- "name": "options",
- "description": "Options for the request.",
- "$ref": "LoadNetworkResourceOptions"
- }
- ],
- "returns": [
+ "type": "object",
+ "properties": [
{
- "name": "resource",
- "$ref": "LoadNetworkResourcePageResult"
+ "name": "requestTime",
+ "description": "Timing's requestTime is a baseline in seconds, while the other numbers are ticks in\nmilliseconds relatively to this requestTime. Matches ResourceTiming's requestTime for\nthe same request (but not for redirected requests).",
+ "type": "number"
}
]
},
{
- "name": "setCookieControls",
- "description": "Sets Controls for third-party cookie access\nPage reload is required before the new cookie behavior will be observed",
+ "id": "ClientSecurityState",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "enableThirdPartyCookieRestriction",
- "description": "Whether 3pc restriction is enabled.",
+ "name": "initiatorIsSecureContext",
"type": "boolean"
},
{
- "name": "disableThirdPartyCookieMetadata",
- "description": "Whether 3pc grace period exception should be enabled; false by default.",
- "type": "boolean"
+ "name": "initiatorIPAddressSpace",
+ "$ref": "IPAddressSpace"
},
{
- "name": "disableThirdPartyCookieHeuristics",
- "description": "Whether 3pc heuristics exceptions should be enabled; false by default.",
- "type": "boolean"
+ "name": "privateNetworkRequestPolicy",
+ "$ref": "PrivateNetworkRequestPolicy"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "dataReceived",
- "description": "Fired when data chunk was received over the network.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "id": "CrossOriginOpenerPolicyValue",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "SameOrigin",
+ "SameOriginAllowPopups",
+ "RestrictProperties",
+ "UnsafeNone",
+ "SameOriginPlusCoep",
+ "RestrictPropertiesPlusCoep",
+ "NoopenerAllowPopups"
+ ]
+ },
+ {
+ "id": "CrossOriginOpenerPolicyStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "value",
+ "$ref": "CrossOriginOpenerPolicyValue"
},
{
- "name": "dataLength",
- "description": "Data chunk length.",
- "type": "integer"
+ "name": "reportOnlyValue",
+ "$ref": "CrossOriginOpenerPolicyValue"
},
{
- "name": "encodedDataLength",
- "description": "Actual bytes received (might be less than dataLength for compressed encodings).",
- "type": "integer"
+ "name": "reportingEndpoint",
+ "optional": true,
+ "type": "string"
},
{
- "name": "data",
- "description": "Data that was received. (Encoded as a base64 string when passed over JSON)",
- "experimental": true,
+ "name": "reportOnlyReportingEndpoint",
"optional": true,
"type": "string"
}
]
},
{
- "name": "eventSourceMessageReceived",
- "description": "Fired when EventSource message is received.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "id": "CrossOriginEmbedderPolicyValue",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "None",
+ "Credentialless",
+ "RequireCorp"
+ ]
+ },
+ {
+ "id": "CrossOriginEmbedderPolicyStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "value",
+ "$ref": "CrossOriginEmbedderPolicyValue"
},
{
- "name": "eventName",
- "description": "Message type.",
- "type": "string"
+ "name": "reportOnlyValue",
+ "$ref": "CrossOriginEmbedderPolicyValue"
},
{
- "name": "eventId",
- "description": "Message identifier.",
+ "name": "reportingEndpoint",
+ "optional": true,
"type": "string"
},
{
- "name": "data",
- "description": "Message content.",
+ "name": "reportOnlyReportingEndpoint",
+ "optional": true,
"type": "string"
}
]
},
{
- "name": "loadingFailed",
- "description": "Fired when HTTP request has failed to load.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "type",
- "description": "Resource type.",
- "$ref": "ResourceType"
- },
+ "id": "ContentSecurityPolicySource",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "HTTP",
+ "Meta"
+ ]
+ },
+ {
+ "id": "ContentSecurityPolicyStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "errorText",
- "description": "Error message. List of network errors: https://cs.chromium.org/chromium/src/net/base/net_error_list.h",
+ "name": "effectiveDirectives",
"type": "string"
},
{
- "name": "canceled",
- "description": "True if loading was canceled.",
- "optional": true,
+ "name": "isEnforced",
"type": "boolean"
},
{
- "name": "blockedReason",
- "description": "The reason why loading was blocked, if any.",
- "optional": true,
- "$ref": "BlockedReason"
- },
- {
- "name": "corsErrorStatus",
- "description": "The reason why loading was blocked by CORS, if any.",
- "optional": true,
- "$ref": "CorsErrorStatus"
+ "name": "source",
+ "$ref": "ContentSecurityPolicySource"
}
]
},
{
- "name": "loadingFinished",
- "description": "Fired when HTTP request has finished loading.",
- "parameters": [
+ "id": "SecurityIsolationStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "coop",
+ "optional": true,
+ "$ref": "CrossOriginOpenerPolicyStatus"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "coep",
+ "optional": true,
+ "$ref": "CrossOriginEmbedderPolicyStatus"
},
{
- "name": "encodedDataLength",
- "description": "Total number of bytes received for this request.",
- "type": "number"
+ "name": "csp",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ContentSecurityPolicyStatus"
+ }
}
]
},
{
- "name": "requestIntercepted",
- "description": "Details of an intercepted HTTP request, which must be either allowed, blocked, modified or\nmocked.\nDeprecated, use Fetch.requestPaused instead.",
+ "id": "ReportStatus",
+ "description": "The status of a Reporting API report.",
"experimental": true,
- "deprecated": true,
- "parameters": [
- {
- "name": "interceptionId",
- "description": "Each request the page makes will have a unique id, however if any redirects are encountered\nwhile processing that fetch, they will be reported with the same id as the original fetch.\nLikewise if HTTP authentication is needed then the same fetch id will be used.",
- "$ref": "InterceptionId"
- },
- {
- "name": "request",
- "$ref": "Request"
- },
- {
- "name": "frameId",
- "description": "The id of the frame that initiated the request.",
- "$ref": "Page.FrameId"
- },
+ "type": "string",
+ "enum": [
+ "Queued",
+ "Pending",
+ "MarkedForRemoval",
+ "Success"
+ ]
+ },
+ {
+ "id": "ReportId",
+ "experimental": true,
+ "type": "string"
+ },
+ {
+ "id": "ReportingApiReport",
+ "description": "An object representing a report generated by the Reporting API.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "resourceType",
- "description": "How the requested resource will be used.",
- "$ref": "ResourceType"
+ "name": "id",
+ "$ref": "ReportId"
},
{
- "name": "isNavigationRequest",
- "description": "Whether this is a navigation request, which can abort the navigation completely.",
- "type": "boolean"
+ "name": "initiatorUrl",
+ "description": "The URL of the document that triggered the report.",
+ "type": "string"
},
{
- "name": "isDownload",
- "description": "Set if the request is a navigation that will result in a download.\nOnly present after response is received from the server (i.e. HeadersReceived stage).",
- "optional": true,
- "type": "boolean"
+ "name": "destination",
+ "description": "The name of the endpoint group that should be used to deliver the report.",
+ "type": "string"
},
{
- "name": "redirectUrl",
- "description": "Redirect location, only sent if a redirect was intercepted.",
- "optional": true,
+ "name": "type",
+ "description": "The type of the report (specifies the set of data that is contained in the report body).",
"type": "string"
},
{
- "name": "authChallenge",
- "description": "Details of the Authorization Challenge encountered. If this is set then\ncontinueInterceptedRequest must contain an authChallengeResponse.",
- "optional": true,
- "$ref": "AuthChallenge"
+ "name": "timestamp",
+ "description": "When the report was generated.",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "responseErrorReason",
- "description": "Response error if intercepted at response stage or if redirect occurred while intercepting\nrequest.",
- "optional": true,
- "$ref": "ErrorReason"
+ "name": "depth",
+ "description": "How many uploads deep the related request was.",
+ "type": "integer"
},
{
- "name": "responseStatusCode",
- "description": "Response code if intercepted at response stage or if redirect occurred while intercepting\nrequest or auth retry occurred.",
- "optional": true,
+ "name": "completedAttempts",
+ "description": "The number of delivery attempts made so far, not including an active attempt.",
"type": "integer"
},
{
- "name": "responseHeaders",
- "description": "Response headers if intercepted at the response stage or if redirect occurred while\nintercepting request or auth retry occurred.",
- "optional": true,
- "$ref": "Headers"
+ "name": "body",
+ "type": "object"
},
{
- "name": "requestId",
- "description": "If the intercepted request had a corresponding requestWillBeSent event fired for it, then\nthis requestId will be the same as the requestId present in the requestWillBeSent event.",
- "optional": true,
- "$ref": "RequestId"
+ "name": "status",
+ "$ref": "ReportStatus"
}
]
},
{
- "name": "requestServedFromCache",
- "description": "Fired if request ended up loading from cache.",
- "parameters": [
+ "id": "ReportingApiEndpoint",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "url",
+ "description": "The URL of the endpoint to which reports may be delivered.",
+ "type": "string"
+ },
+ {
+ "name": "groupName",
+ "description": "Name of the endpoint group.",
+ "type": "string"
}
]
},
{
- "name": "requestWillBeSent",
- "description": "Fired when page is about to send HTTP request.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "loaderId",
- "description": "Loader identifier. Empty string if the request is fetched from worker.",
- "$ref": "LoaderId"
- },
- {
- "name": "documentURL",
- "description": "URL of the document this request is loaded for.",
- "type": "string"
- },
- {
- "name": "request",
- "description": "Request data.",
- "$ref": "Request"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "wallTime",
- "description": "Timestamp.",
- "$ref": "TimeSinceEpoch"
- },
+ "id": "LoadNetworkResourcePageResult",
+ "description": "An object providing the result of a network resource load.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "initiator",
- "description": "Request initiator.",
- "$ref": "Initiator"
+ "name": "success",
+ "type": "boolean"
},
{
- "name": "redirectHasExtraInfo",
- "description": "In the case that redirectResponse is populated, this flag indicates whether\nrequestWillBeSentExtraInfo and responseReceivedExtraInfo events will be or were emitted\nfor the request which was just redirected.",
- "experimental": true,
- "type": "boolean"
+ "name": "netError",
+ "description": "Optional values used for error reporting.",
+ "optional": true,
+ "type": "number"
},
{
- "name": "redirectResponse",
- "description": "Redirect response data.",
+ "name": "netErrorName",
"optional": true,
- "$ref": "Response"
+ "type": "string"
},
{
- "name": "type",
- "description": "Type of this resource.",
+ "name": "httpStatusCode",
"optional": true,
- "$ref": "ResourceType"
+ "type": "number"
},
{
- "name": "frameId",
- "description": "Frame identifier.",
+ "name": "stream",
+ "description": "If successful, one of the following two fields holds the result.",
"optional": true,
- "$ref": "Page.FrameId"
+ "$ref": "IO.StreamHandle"
},
{
- "name": "hasUserGesture",
- "description": "Whether the request is initiated by a user gesture. Defaults to false.",
+ "name": "headers",
+ "description": "Response headers.",
"optional": true,
- "type": "boolean"
+ "$ref": "Network.Headers"
}
]
},
{
- "name": "resourceChangedPriority",
- "description": "Fired when resource loading priority is changed",
+ "id": "LoadNetworkResourceOptions",
+ "description": "An options object that may be extended later to better support CORS,\nCORB and streaming.",
"experimental": true,
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "type": "object",
+ "properties": [
{
- "name": "newPriority",
- "description": "New priority",
- "$ref": "ResourcePriority"
+ "name": "disableCache",
+ "type": "boolean"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "includeCredentials",
+ "type": "boolean"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "signedExchangeReceived",
- "description": "Fired when a signed exchange was received over the network",
+ "name": "getIPProtectionProxyStatus",
+ "description": "Returns enum representing if IP Proxy of requests is available\nor reason it is not active.",
"experimental": true,
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "returns": [
{
- "name": "info",
- "description": "Information about the signed exchange response.",
- "$ref": "SignedExchangeInfo"
+ "name": "status",
+ "description": "Whether IP proxy is available",
+ "$ref": "IpProxyStatus"
}
]
},
{
- "name": "responseReceived",
- "description": "Fired when HTTP response is available.",
+ "name": "setIPProtectionProxyBypassEnabled",
+ "description": "Sets bypass IP Protection Proxy boolean.",
+ "experimental": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "loaderId",
- "description": "Loader identifier. Empty string if the request is fetched from worker.",
- "$ref": "LoaderId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "type",
- "description": "Resource type.",
- "$ref": "ResourceType"
- },
- {
- "name": "response",
- "description": "Response data.",
- "$ref": "Response"
- },
- {
- "name": "hasExtraInfo",
- "description": "Indicates whether requestWillBeSentExtraInfo and responseReceivedExtraInfo events will be\nor were emitted for this request.",
- "experimental": true,
+ "name": "enabled",
+ "description": "Whether IP Proxy is being bypassed by devtools; false by default.",
"type": "boolean"
- },
- {
- "name": "frameId",
- "description": "Frame identifier.",
- "optional": true,
- "$ref": "Page.FrameId"
}
]
},
{
- "name": "webSocketClosed",
- "description": "Fired when WebSocket is closed.",
+ "name": "setAcceptedEncodings",
+ "description": "Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted.",
+ "experimental": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "encodings",
+ "description": "List of accepted content encodings.",
+ "type": "array",
+ "items": {
+ "$ref": "ContentEncoding"
+ }
}
]
},
{
- "name": "webSocketCreated",
- "description": "Fired upon WebSocket creation.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "url",
- "description": "WebSocket request URL.",
- "type": "string"
- },
+ "name": "clearAcceptedEncodingsOverride",
+ "description": "Clears accepted encodings set by setAcceptedEncodings",
+ "experimental": true
+ },
+ {
+ "name": "canClearBrowserCache",
+ "description": "Tells whether clearing browser cache is supported.",
+ "deprecated": true,
+ "returns": [
{
- "name": "initiator",
- "description": "Request initiator.",
- "optional": true,
- "$ref": "Initiator"
+ "name": "result",
+ "description": "True if browser cache can be cleared.",
+ "type": "boolean"
}
]
},
{
- "name": "webSocketFrameError",
- "description": "Fired when WebSocket message error occurs.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
+ "name": "canClearBrowserCookies",
+ "description": "Tells whether clearing browser cookies is supported.",
+ "deprecated": true,
+ "returns": [
{
- "name": "errorMessage",
- "description": "WebSocket error message.",
- "type": "string"
+ "name": "result",
+ "description": "True if browser cookies can be cleared.",
+ "type": "boolean"
}
]
},
{
- "name": "webSocketFrameReceived",
- "description": "Fired when WebSocket message is received.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "name": "canEmulateNetworkConditions",
+ "description": "Tells whether emulation of network conditions is supported.",
+ "deprecated": true,
+ "returns": [
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "response",
- "description": "WebSocket response data.",
- "$ref": "WebSocketFrame"
+ "name": "result",
+ "description": "True if emulation of network conditions is supported.",
+ "type": "boolean"
}
]
},
{
- "name": "webSocketFrameSent",
- "description": "Fired when WebSocket message is sent.",
+ "name": "clearBrowserCache",
+ "description": "Clears browser cache."
+ },
+ {
+ "name": "clearBrowserCookies",
+ "description": "Clears browser cookies."
+ },
+ {
+ "name": "continueInterceptedRequest",
+ "description": "Response to Network.requestIntercepted which either modifies the request to continue with any\nmodifications, or blocks it, or completes it with the provided response bytes. If a network\nfetch occurs as a result which encounters a redirect an additional Network.requestIntercepted\nevent will be sent with the same InterceptionId.\nDeprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.",
+ "experimental": true,
+ "deprecated": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "interceptionId",
+ "$ref": "InterceptionId"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "errorReason",
+ "description": "If set this causes the request to fail with the given reason. Passing `Aborted` for requests\nmarked with `isNavigationRequest` also cancels the navigation. Must not be set in response\nto an authChallenge.",
+ "optional": true,
+ "$ref": "ErrorReason"
},
{
- "name": "response",
- "description": "WebSocket response data.",
- "$ref": "WebSocketFrame"
- }
- ]
- },
- {
- "name": "webSocketHandshakeResponseReceived",
- "description": "Fired when WebSocket handshake response becomes available.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "rawResponse",
+ "description": "If set the requests completes using with the provided base64 encoded raw response, including\nHTTP status line and headers etc... Must not be set in response to an authChallenge. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "url",
+ "description": "If set the request url will be modified in a way that's not observable by page. Must not be\nset in response to an authChallenge.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "response",
- "description": "WebSocket response data.",
- "$ref": "WebSocketResponse"
- }
- ]
- },
- {
- "name": "webSocketWillSendHandshakeRequest",
- "description": "Fired when WebSocket is about to initiate handshake.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "method",
+ "description": "If set this allows the request method to be overridden. Must not be set in response to an\nauthChallenge.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "postData",
+ "description": "If set this allows postData to be set. Must not be set in response to an authChallenge.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "wallTime",
- "description": "UTC Timestamp.",
- "$ref": "TimeSinceEpoch"
+ "name": "headers",
+ "description": "If set this allows the request headers to be changed. Must not be set in response to an\nauthChallenge.",
+ "optional": true,
+ "$ref": "Headers"
},
{
- "name": "request",
- "description": "WebSocket request data.",
- "$ref": "WebSocketRequest"
+ "name": "authChallengeResponse",
+ "description": "Response to a requestIntercepted with an authChallenge. Must not be set otherwise.",
+ "optional": true,
+ "$ref": "AuthChallengeResponse"
}
]
},
{
- "name": "webTransportCreated",
- "description": "Fired upon WebTransport creation.",
+ "name": "deleteCookies",
+ "description": "Deletes browser cookies with matching name and url or domain/path/partitionKey pair.",
"parameters": [
{
- "name": "transportId",
- "description": "WebTransport identifier.",
- "$ref": "RequestId"
+ "name": "name",
+ "description": "Name of the cookies to remove.",
+ "type": "string"
},
{
"name": "url",
- "description": "WebTransport request URL.",
+ "description": "If specified, deletes all the cookies with the given name where domain and path match\nprovided URL.",
+ "optional": true,
"type": "string"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "domain",
+ "description": "If specified, deletes only cookies with the exact domain.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "initiator",
- "description": "Request initiator.",
+ "name": "path",
+ "description": "If specified, deletes only cookies with the exact path.",
"optional": true,
- "$ref": "Initiator"
- }
- ]
- },
- {
- "name": "webTransportConnectionEstablished",
- "description": "Fired when WebTransport handshake is finished.",
- "parameters": [
- {
- "name": "transportId",
- "description": "WebTransport identifier.",
- "$ref": "RequestId"
+ "type": "string"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "partitionKey",
+ "description": "If specified, deletes only cookies with the the given name and partitionKey where\nall partition key attributes match the cookie partition key attribute.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "CookiePartitionKey"
}
]
},
{
- "name": "webTransportClosed",
- "description": "Fired when WebTransport is disposed.",
+ "name": "disable",
+ "description": "Disables network tracking, prevents network events from being sent to the client."
+ },
+ {
+ "name": "emulateNetworkConditions",
+ "description": "Activates emulation of network conditions. This command is deprecated in favor of the emulateNetworkConditionsByRule\nand overrideNetworkState commands, which can be used together to the same effect.",
+ "deprecated": true,
"parameters": [
{
- "name": "transportId",
- "description": "WebTransport identifier.",
- "$ref": "RequestId"
+ "name": "offline",
+ "description": "True to emulate internet disconnection.",
+ "type": "boolean"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- }
- ]
- },
- {
- "name": "directTCPSocketCreated",
- "description": "Fired upon direct_socket.TCPSocket creation.",
- "experimental": true,
- "parameters": [
+ "name": "latency",
+ "description": "Minimum latency from request sent to response headers received (ms).",
+ "type": "number"
+ },
{
- "name": "identifier",
- "$ref": "RequestId"
+ "name": "downloadThroughput",
+ "description": "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.",
+ "type": "number"
},
{
- "name": "remoteAddr",
- "type": "string"
+ "name": "uploadThroughput",
+ "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.",
+ "type": "number"
},
{
- "name": "remotePort",
- "description": "Unsigned int 16.",
- "type": "integer"
+ "name": "connectionType",
+ "description": "Connection type if known.",
+ "optional": true,
+ "$ref": "ConnectionType"
},
{
- "name": "options",
- "$ref": "DirectTCPSocketOptions"
+ "name": "packetLoss",
+ "description": "WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
},
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
+ "name": "packetQueueLength",
+ "description": "WebRTC packet queue length (packet). 0 removes any queue length limitations.",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
},
{
- "name": "initiator",
+ "name": "packetReordering",
+ "description": "WebRTC packetReordering feature.",
+ "experimental": true,
"optional": true,
- "$ref": "Initiator"
+ "type": "boolean"
}
]
},
{
- "name": "directTCPSocketOpened",
- "description": "Fired when direct_socket.TCPSocket connection is opened.",
+ "name": "emulateNetworkConditionsByRule",
+ "description": "Activates emulation of network conditions for individual requests using URL match patterns. Unlike the deprecated\nNetwork.emulateNetworkConditions this method does not affect `navigator` state. Use Network.overrideNetworkState to\nexplicitly modify `navigator` behavior.",
"experimental": true,
"parameters": [
{
- "name": "identifier",
- "$ref": "RequestId"
- },
- {
- "name": "remoteAddr",
- "type": "string"
- },
- {
- "name": "remotePort",
- "description": "Expected to be unsigned integer.",
- "type": "integer"
- },
- {
- "name": "timestamp",
- "$ref": "MonotonicTime"
+ "name": "offline",
+ "description": "True to emulate internet disconnection.",
+ "type": "boolean"
},
{
- "name": "localAddr",
- "optional": true,
- "type": "string"
- },
+ "name": "matchedNetworkConditions",
+ "description": "Configure conditions for matching requests. If multiple entries match a request, the first entry wins. Global\nconditions can be configured by leaving the urlPattern for the conditions empty. These global conditions are\nalso applied for throttling of p2p connections.",
+ "type": "array",
+ "items": {
+ "$ref": "NetworkConditions"
+ }
+ }
+ ],
+ "returns": [
{
- "name": "localPort",
- "description": "Expected to be unsigned integer.",
- "optional": true,
- "type": "integer"
+ "name": "ruleIds",
+ "description": "An id for each entry in matchedNetworkConditions. The id will be included in the requestWillBeSentExtraInfo for\nrequests affected by a rule.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "directTCPSocketAborted",
- "description": "Fired when direct_socket.TCPSocket is aborted.",
+ "name": "overrideNetworkState",
+ "description": "Override the state of navigator.onLine and navigator.connection.",
"experimental": true,
"parameters": [
{
- "name": "identifier",
- "$ref": "RequestId"
- },
- {
- "name": "errorMessage",
- "type": "string"
+ "name": "offline",
+ "description": "True to emulate internet disconnection.",
+ "type": "boolean"
},
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
- }
- ]
- },
- {
- "name": "directTCPSocketClosed",
- "description": "Fired when direct_socket.TCPSocket is closed.",
- "experimental": true,
- "parameters": [
+ "name": "latency",
+ "description": "Minimum latency from request sent to response headers received (ms).",
+ "type": "number"
+ },
{
- "name": "identifier",
- "$ref": "RequestId"
+ "name": "downloadThroughput",
+ "description": "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.",
+ "type": "number"
},
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
+ "name": "uploadThroughput",
+ "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.",
+ "type": "number"
+ },
+ {
+ "name": "connectionType",
+ "description": "Connection type if known.",
+ "optional": true,
+ "$ref": "ConnectionType"
}
]
},
{
- "name": "directTCPSocketChunkSent",
- "description": "Fired when data is sent to tcp direct socket stream.",
- "experimental": true,
+ "name": "enable",
+ "description": "Enables network tracking, network events will now be delivered to the client.",
"parameters": [
{
- "name": "identifier",
- "$ref": "RequestId"
+ "name": "maxTotalBufferSize",
+ "description": "Buffer size in bytes to use when preserving network payloads (XHRs, etc).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
},
{
- "name": "data",
- "type": "string"
+ "name": "maxResourceBufferSize",
+ "description": "Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
},
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
+ "name": "maxPostDataSize",
+ "description": "Longest post body size (in bytes) that would be included in requestWillBeSent notification",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "reportDirectSocketTraffic",
+ "description": "Whether DirectSocket chunk send/receive events should be reported.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "enableDurableMessages",
+ "description": "Enable storing response bodies outside of renderer, so that these survive\na cross-process navigation. Requires maxTotalBufferSize to be set.\nCurrently defaults to false.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "name": "directTCPSocketChunkReceived",
- "description": "Fired when data is received from tcp direct socket stream.",
+ "name": "getAllCookies",
+ "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.\nDeprecated. Use Storage.getCookies instead.",
+ "deprecated": true,
+ "returns": [
+ {
+ "name": "cookies",
+ "description": "Array of cookie objects.",
+ "type": "array",
+ "items": {
+ "$ref": "Cookie"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getCertificate",
+ "description": "Returns the DER-encoded certificate.",
"experimental": true,
"parameters": [
{
- "name": "identifier",
- "$ref": "RequestId"
- },
- {
- "name": "data",
+ "name": "origin",
+ "description": "Origin to get certificate for.",
"type": "string"
- },
+ }
+ ],
+ "returns": [
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
+ "name": "tableNames",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "directUDPSocketCreated",
- "description": "Fired upon direct_socket.UDPSocket creation.",
- "experimental": true,
+ "name": "getCookies",
+ "description": "Returns all browser cookies for the current URL. Depending on the backend support, will return\ndetailed cookie information in the `cookies` field.",
"parameters": [
{
- "name": "identifier",
- "$ref": "RequestId"
- },
- {
- "name": "options",
- "$ref": "DirectUDPSocketOptions"
- },
- {
- "name": "timestamp",
- "$ref": "MonotonicTime"
- },
- {
- "name": "initiator",
+ "name": "urls",
+ "description": "The list of URLs for which applicable cookies will be fetched.\nIf not specified, it's assumed to be set to the list containing\nthe URLs of the page and all of its subframes.",
"optional": true,
- "$ref": "Initiator"
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "returns": [
+ {
+ "name": "cookies",
+ "description": "Array of cookie objects.",
+ "type": "array",
+ "items": {
+ "$ref": "Cookie"
+ }
}
]
},
{
- "name": "directUDPSocketOpened",
- "description": "Fired when direct_socket.UDPSocket connection is opened.",
- "experimental": true,
+ "name": "getResponseBody",
+ "description": "Returns content served for the given request.",
"parameters": [
{
- "name": "identifier",
+ "name": "requestId",
+ "description": "Identifier of the network request to get content for.",
"$ref": "RequestId"
- },
+ }
+ ],
+ "returns": [
{
- "name": "localAddr",
+ "name": "body",
+ "description": "Response body.",
"type": "string"
},
{
- "name": "localPort",
- "description": "Expected to be unsigned integer.",
- "type": "integer"
- },
+ "name": "base64Encoded",
+ "description": "True, if content was sent as base64.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "getRequestPostData",
+ "description": "Returns post data sent with the request. Returns an error when no data was sent with the request.",
+ "parameters": [
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
- },
+ "name": "requestId",
+ "description": "Identifier of the network request to get content for.",
+ "$ref": "RequestId"
+ }
+ ],
+ "returns": [
{
- "name": "remoteAddr",
- "optional": true,
+ "name": "postData",
+ "description": "Request body string, omitting files from multipart requests",
"type": "string"
- },
- {
- "name": "remotePort",
- "description": "Expected to be unsigned integer.",
- "optional": true,
- "type": "integer"
}
]
},
{
- "name": "directUDPSocketAborted",
- "description": "Fired when direct_socket.UDPSocket is aborted.",
+ "name": "getResponseBodyForInterception",
+ "description": "Returns content served for the given currently intercepted request.",
"experimental": true,
"parameters": [
{
- "name": "identifier",
- "$ref": "RequestId"
- },
+ "name": "interceptionId",
+ "description": "Identifier for the intercepted request to get body for.",
+ "$ref": "InterceptionId"
+ }
+ ],
+ "returns": [
{
- "name": "errorMessage",
+ "name": "body",
+ "description": "Response body.",
"type": "string"
},
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
+ "name": "base64Encoded",
+ "description": "True, if content was sent as base64.",
+ "type": "boolean"
}
]
},
{
- "name": "directUDPSocketClosed",
- "description": "Fired when direct_socket.UDPSocket is closed.",
+ "name": "takeResponseBodyForInterceptionAsStream",
+ "description": "Returns a handle to the stream representing the response body. Note that after this command,\nthe intercepted request can't be continued as is -- you either need to cancel it or to provide\nthe response body. The stream only supports sequential read, IO.read will fail if the position\nis specified.",
"experimental": true,
"parameters": [
{
- "name": "identifier",
- "$ref": "RequestId"
- },
+ "name": "interceptionId",
+ "$ref": "InterceptionId"
+ }
+ ],
+ "returns": [
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
+ "name": "stream",
+ "$ref": "IO.StreamHandle"
}
]
},
{
- "name": "directUDPSocketChunkSent",
- "description": "Fired when message is sent to udp direct socket stream.",
+ "name": "replayXHR",
+ "description": "This method sends a new XMLHttpRequest which is identical to the original one. The following\nparameters should be identical: method, url, async, request body, extra headers, withCredentials\nattribute, user, password.",
"experimental": true,
"parameters": [
{
- "name": "identifier",
+ "name": "requestId",
+ "description": "Identifier of XHR to replay.",
"$ref": "RequestId"
- },
- {
- "name": "message",
- "$ref": "DirectUDPMessage"
- },
- {
- "name": "timestamp",
- "$ref": "MonotonicTime"
}
]
},
{
- "name": "directUDPSocketChunkReceived",
- "description": "Fired when message is received from udp direct socket stream.",
+ "name": "searchInResponseBody",
+ "description": "Searches for given string in response content.",
"experimental": true,
"parameters": [
{
- "name": "identifier",
+ "name": "requestId",
+ "description": "Identifier of the network response to search.",
"$ref": "RequestId"
},
{
- "name": "message",
- "$ref": "DirectUDPMessage"
+ "name": "query",
+ "description": "String to search for.",
+ "type": "string"
},
{
- "name": "timestamp",
- "$ref": "MonotonicTime"
+ "name": "caseSensitive",
+ "description": "If true, search is case sensitive.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "isRegex",
+ "description": "If true, treats string parameter as regex.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "result",
+ "description": "List of search matches.",
+ "type": "array",
+ "items": {
+ "$ref": "Debugger.SearchMatch"
+ }
}
]
},
{
- "name": "requestWillBeSentExtraInfo",
- "description": "Fired when additional information about a requestWillBeSent event is available from the\nnetwork stack. Not every requestWillBeSent event will have an additional\nrequestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent\nor requestWillBeSentExtraInfo will be fired first for the same request.",
+ "name": "setBlockedURLs",
+ "description": "Blocks URLs from loading.",
"experimental": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier. Used to match this information to an existing requestWillBeSent event.",
- "$ref": "RequestId"
- },
- {
- "name": "associatedCookies",
- "description": "A list of cookies potentially associated to the requested URL. This includes both cookies sent with\nthe request and the ones not sent; the latter are distinguished by having blockedReasons field set.",
+ "name": "urlPatterns",
+ "description": "Patterns to match in the order in which they are given. These patterns\nalso take precedence over any wildcard patterns defined in `urls`.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "AssociatedCookie"
+ "$ref": "BlockPattern"
}
},
{
- "name": "headers",
- "description": "Raw request headers as they will be sent over the wire.",
- "$ref": "Headers"
- },
- {
- "name": "connectTiming",
- "description": "Connection timing information for the request.",
- "experimental": true,
- "$ref": "ConnectTiming"
- },
- {
- "name": "clientSecurityState",
- "description": "The client security state set for the request.",
+ "name": "urls",
+ "description": "URL patterns to block. Wildcards ('*') are allowed.",
+ "deprecated": true,
"optional": true,
- "$ref": "ClientSecurityState"
- },
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setBypassServiceWorker",
+ "description": "Toggles ignoring of service worker for each request.",
+ "parameters": [
{
- "name": "siteHasCookieInOtherPartition",
- "description": "Whether the site has partitioned cookies stored in a partition different than the current one.",
- "optional": true,
+ "name": "bypass",
+ "description": "Bypass service worker and load from network.",
"type": "boolean"
}
]
},
{
- "name": "responseReceivedExtraInfo",
- "description": "Fired when additional information about a responseReceived event is available from the network\nstack. Not every responseReceived event will have an additional responseReceivedExtraInfo for\nit, and responseReceivedExtraInfo may be fired before or after responseReceived.",
- "experimental": true,
+ "name": "setCacheDisabled",
+ "description": "Toggles ignoring cache for each request. If `true`, cache will not be used.",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier. Used to match this information to another responseReceived event.",
- "$ref": "RequestId"
- },
+ "name": "cacheDisabled",
+ "description": "Cache disabled state.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setCookie",
+ "description": "Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.",
+ "parameters": [
{
- "name": "blockedCookies",
- "description": "A list of cookies which were not stored from the response along with the corresponding\nreasons for blocking. The cookies here may not be valid due to syntax errors, which\nare represented by the invalid cookie line string instead of a proper cookie.",
- "type": "array",
- "items": {
- "$ref": "BlockedSetCookieWithReason"
- }
+ "name": "name",
+ "description": "Cookie name.",
+ "type": "string"
},
{
- "name": "headers",
- "description": "Raw response headers as they were received over the wire.\nDuplicate headers in the response are represented as a single key with their values\nconcatentated using `\\n` as the separator.\nSee also `headersText` that contains verbatim text for HTTP/1.*.",
- "$ref": "Headers"
+ "name": "value",
+ "description": "Cookie value.",
+ "type": "string"
},
{
- "name": "resourceIPAddressSpace",
- "description": "The IP address space of the resource. The address space can only be determined once the transport\nestablished the connection, so we can't send it in `requestWillBeSentExtraInfo`.",
- "$ref": "IPAddressSpace"
+ "name": "url",
+ "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain, path, source port, and source scheme values of the created cookie.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "statusCode",
- "description": "The status code of the response. This is useful in cases the request failed and no responseReceived\nevent is triggered, which is the case for, e.g., CORS errors. This is also the correct status code\nfor cached requests, where the status in responseReceived is a 200 and this will be 304.",
- "type": "integer"
+ "name": "domain",
+ "description": "Cookie domain.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "headersText",
- "description": "Raw response header text as it was received over the wire. The raw text may not always be\navailable, such as in the case of HTTP/2 or QUIC.",
+ "name": "path",
+ "description": "Cookie path.",
"optional": true,
"type": "string"
},
{
- "name": "cookiePartitionKey",
- "description": "The cookie partition key that will be used to store partitioned cookies set in this response.\nOnly sent when partitioned cookies are enabled.",
- "experimental": true,
+ "name": "secure",
+ "description": "True if cookie is secure.",
"optional": true,
- "$ref": "CookiePartitionKey"
+ "type": "boolean"
},
{
- "name": "cookiePartitionKeyOpaque",
- "description": "True if partitioned cookies are enabled, but the partition key is not serializable to string.",
+ "name": "httpOnly",
+ "description": "True if cookie is http-only.",
"optional": true,
"type": "boolean"
},
{
- "name": "exemptedCookies",
- "description": "A list of cookies which should have been blocked by 3PCD but are exempted and stored from\nthe response with the corresponding reason.",
+ "name": "sameSite",
+ "description": "Cookie SameSite type.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "ExemptedSetCookieWithReason"
- }
- }
- ]
- },
- {
- "name": "responseReceivedEarlyHints",
- "description": "Fired when 103 Early Hints headers is received in addition to the common response.\nNot every responseReceived event will have an responseReceivedEarlyHints fired.\nOnly one responseReceivedEarlyHints may be fired for eached responseReceived event.",
- "experimental": true,
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier. Used to match this information to another responseReceived event.",
- "$ref": "RequestId"
+ "$ref": "CookieSameSite"
},
{
- "name": "headers",
- "description": "Raw response headers as they were received over the wire.\nDuplicate headers in the response are represented as a single key with their values\nconcatentated using `\\n` as the separator.\nSee also `headersText` that contains verbatim text for HTTP/1.*.",
- "$ref": "Headers"
- }
- ]
- },
- {
- "name": "trustTokenOperationDone",
- "description": "Fired exactly once for each Trust Token operation. Depending on\nthe type of the operation and whether the operation succeeded or\nfailed, the event is fired before the corresponding request was sent\nor after the response was received.",
- "experimental": true,
- "parameters": [
- {
- "name": "status",
- "description": "Detailed success or error status of the operation.\n'AlreadyExists' also signifies a successful operation, as the result\nof the operation already exists und thus, the operation was abort\npreemptively (e.g. a cache hit).",
- "type": "string",
- "enum": [
- "Ok",
- "InvalidArgument",
- "MissingIssuerKeys",
- "FailedPrecondition",
- "ResourceExhausted",
- "AlreadyExists",
- "ResourceLimited",
- "Unauthorized",
- "BadResponse",
- "InternalError",
- "UnknownError",
- "FulfilledLocally",
- "SiteIssuerLimit"
- ]
+ "name": "expires",
+ "description": "Cookie expiration date, session cookie if not set",
+ "optional": true,
+ "$ref": "TimeSinceEpoch"
},
{
- "name": "type",
- "$ref": "TrustTokenOperationType"
+ "name": "priority",
+ "description": "Cookie Priority type.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "CookiePriority"
},
{
- "name": "requestId",
- "$ref": "RequestId"
+ "name": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "topLevelOrigin",
- "description": "Top level origin. The context in which the operation was attempted.",
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
+ "experimental": true,
"optional": true,
- "type": "string"
+ "$ref": "CookieSourceScheme"
},
{
- "name": "issuerOrigin",
- "description": "Origin of the issuer in case of a \"Issuance\" or \"Redemption\" operation.",
+ "name": "sourcePort",
+ "description": "Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.",
+ "experimental": true,
"optional": true,
- "type": "string"
+ "type": "integer"
},
{
- "name": "issuedTokenCount",
- "description": "The number of obtained Trust Tokens on a successful \"Issuance\" operation.",
+ "name": "partitionKey",
+ "description": "Cookie partition key. If not set, the cookie will be set as not partitioned.",
+ "experimental": true,
"optional": true,
- "type": "integer"
+ "$ref": "CookiePartitionKey"
+ }
+ ],
+ "returns": [
+ {
+ "name": "success",
+ "description": "Always set to true. If an error occurs, the response indicates protocol error.",
+ "deprecated": true,
+ "type": "boolean"
}
]
},
{
- "name": "policyUpdated",
- "description": "Fired once security policy has been updated.",
- "experimental": true
- },
- {
- "name": "subresourceWebBundleMetadataReceived",
- "description": "Fired once when parsing the .wbn file has succeeded.\nThe event contains the information about the web bundle contents.",
- "experimental": true,
+ "name": "setCookies",
+ "description": "Sets given cookies.",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier. Used to match this information to another event.",
- "$ref": "RequestId"
- },
- {
- "name": "urls",
- "description": "A list of URLs of resources in the subresource Web Bundle.",
+ "name": "cookies",
+ "description": "Cookies to be set.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "CookieParam"
}
}
]
},
{
- "name": "subresourceWebBundleMetadataError",
- "description": "Fired once when parsing the .wbn file has failed.",
- "experimental": true,
+ "name": "setExtraHTTPHeaders",
+ "description": "Specifies whether to always send extra HTTP headers with the requests from this page.",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier. Used to match this information to another event.",
- "$ref": "RequestId"
- },
- {
- "name": "errorMessage",
- "description": "Error message",
- "type": "string"
+ "name": "headers",
+ "description": "Map with extra HTTP headers.",
+ "$ref": "Headers"
}
]
},
{
- "name": "subresourceWebBundleInnerResponseParsed",
- "description": "Fired when handling requests for resources within a .wbn file.\nNote: this will only be fired for resources that are requested by the webpage.",
+ "name": "setAttachDebugStack",
+ "description": "Specifies whether to attach a page script stack id in requests",
"experimental": true,
"parameters": [
{
- "name": "innerRequestId",
- "description": "Request identifier of the subresource request",
- "$ref": "RequestId"
- },
- {
- "name": "innerRequestURL",
- "description": "URL of the subresource resource.",
- "type": "string"
- },
- {
- "name": "bundleRequestId",
- "description": "Bundle request identifier. Used to match this information to another event.\nThis made be absent in case when the instrumentation was enabled only\nafter webbundle was parsed.",
- "optional": true,
- "$ref": "RequestId"
+ "name": "enabled",
+ "description": "Whether to attach a page script stack for debugging purpose.",
+ "type": "boolean"
}
]
},
{
- "name": "subresourceWebBundleInnerResponseError",
- "description": "Fired when request for resources within a .wbn file failed.",
+ "name": "setRequestInterception",
+ "description": "Sets the requests to intercept that match the provided patterns and optionally resource types.\nDeprecated, please use Fetch.enable instead.",
"experimental": true,
+ "deprecated": true,
"parameters": [
{
- "name": "innerRequestId",
- "description": "Request identifier of the subresource request",
- "$ref": "RequestId"
+ "name": "patterns",
+ "description": "Requests matching any of these patterns will be forwarded and wait for the corresponding\ncontinueInterceptedRequest call.",
+ "type": "array",
+ "items": {
+ "$ref": "RequestPattern"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setUserAgentOverride",
+ "description": "Allows overriding user agent with the given string.",
+ "redirect": "Emulation",
+ "parameters": [
+ {
+ "name": "userAgent",
+ "description": "User agent to use.",
+ "type": "string"
},
{
- "name": "innerRequestURL",
- "description": "URL of the subresource resource.",
+ "name": "acceptLanguage",
+ "description": "Browser language to emulate.",
+ "optional": true,
"type": "string"
},
{
- "name": "errorMessage",
- "description": "Error message",
+ "name": "platform",
+ "description": "The platform navigator.platform should return.",
+ "optional": true,
"type": "string"
},
{
- "name": "bundleRequestId",
- "description": "Bundle request identifier. Used to match this information to another event.\nThis made be absent in case when the instrumentation was enabled only\nafter webbundle was parsed.",
+ "name": "userAgentMetadata",
+ "description": "To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData",
+ "experimental": true,
"optional": true,
- "$ref": "RequestId"
+ "$ref": "Emulation.UserAgentMetadata"
}
]
},
{
- "name": "reportingApiReportAdded",
- "description": "Is sent whenever a new report is added.\nAnd after 'enableReportingApi' for all existing reports.",
+ "name": "streamResourceContent",
+ "description": "Enables streaming of the response for the given requestId.\nIf enabled, the dataReceived event contains the data that was received during streaming.",
"experimental": true,
"parameters": [
{
- "name": "report",
- "$ref": "ReportingApiReport"
+ "name": "requestId",
+ "description": "Identifier of the request to stream.",
+ "$ref": "RequestId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "bufferedData",
+ "description": "Data that has been buffered until streaming is enabled. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
}
]
},
{
- "name": "reportingApiReportUpdated",
+ "name": "getSecurityIsolationStatus",
+ "description": "Returns information about the COEP/COOP isolation status.",
"experimental": true,
"parameters": [
{
- "name": "report",
- "$ref": "ReportingApiReport"
+ "name": "frameId",
+ "description": "If no frameId is provided, the status of the target is provided.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "status",
+ "$ref": "SecurityIsolationStatus"
}
]
},
{
- "name": "reportingApiEndpointsChangedForOrigin",
+ "name": "enableReportingApi",
+ "description": "Enables tracking for the Reporting API, events generated by the Reporting API will now be delivered to the client.\nEnabling triggers 'reportingApiReportAdded' for all existing reports.",
"experimental": true,
"parameters": [
{
- "name": "origin",
- "description": "Origin of the document(s) which configured the endpoints.",
- "type": "string"
- },
- {
- "name": "endpoints",
- "type": "array",
- "items": {
- "$ref": "ReportingApiEndpoint"
- }
+ "name": "enable",
+ "description": "Whether to enable or disable events for the Reporting API",
+ "type": "boolean"
}
]
- }
- ]
- },
- {
- "domain": "Overlay",
- "description": "This domain provides various functionality related to drawing atop the inspected page.",
- "experimental": true,
- "dependencies": [
- "DOM",
- "Page",
- "Runtime"
- ],
- "types": [
+ },
{
- "id": "SourceOrderConfig",
- "description": "Configuration data for drawing the source order of an elements children.",
- "type": "object",
- "properties": [
+ "name": "loadNetworkResource",
+ "description": "Fetches the resource and returns the content.",
+ "experimental": true,
+ "parameters": [
{
- "name": "parentOutlineColor",
- "description": "the color to outline the given element in.",
- "$ref": "DOM.RGBA"
+ "name": "frameId",
+ "description": "Frame id to get the resource for. Mandatory for frame targets, and\nshould be omitted for worker targets.",
+ "optional": true,
+ "$ref": "Page.FrameId"
},
{
- "name": "childOutlineColor",
- "description": "the color to outline the child elements in.",
- "$ref": "DOM.RGBA"
+ "name": "url",
+ "description": "URL of the resource to get content for.",
+ "type": "string"
+ },
+ {
+ "name": "options",
+ "description": "Options for the request.",
+ "$ref": "LoadNetworkResourceOptions"
+ }
+ ],
+ "returns": [
+ {
+ "name": "resource",
+ "$ref": "LoadNetworkResourcePageResult"
}
]
},
{
- "id": "GridHighlightConfig",
- "description": "Configuration data for the highlighting of Grid elements.",
- "type": "object",
- "properties": [
- {
- "name": "showGridExtensionLines",
- "description": "Whether the extension lines from grid cells to the rulers should be shown (default: false).",
- "optional": true,
- "type": "boolean"
- },
+ "name": "setCookieControls",
+ "description": "Sets Controls for third-party cookie access\nPage reload is required before the new cookie behavior will be observed",
+ "experimental": true,
+ "parameters": [
{
- "name": "showPositiveLineNumbers",
- "description": "Show Positive line number labels (default: false).",
- "optional": true,
+ "name": "enableThirdPartyCookieRestriction",
+ "description": "Whether 3pc restriction is enabled.",
"type": "boolean"
},
{
- "name": "showNegativeLineNumbers",
- "description": "Show Negative line number labels (default: false).",
- "optional": true,
+ "name": "disableThirdPartyCookieMetadata",
+ "description": "Whether 3pc grace period exception should be enabled; false by default.",
"type": "boolean"
},
{
- "name": "showAreaNames",
- "description": "Show area name labels (default: false).",
- "optional": true,
+ "name": "disableThirdPartyCookieHeuristics",
+ "description": "Whether 3pc heuristics exceptions should be enabled; false by default.",
"type": "boolean"
- },
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "dataReceived",
+ "description": "Fired when data chunk was received over the network.",
+ "parameters": [
{
- "name": "showLineNames",
- "description": "Show line name labels (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "showTrackSizes",
- "description": "Show track size labels (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "gridBorderColor",
- "description": "The grid container border highlight color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "dataLength",
+ "description": "Data chunk length.",
+ "type": "integer"
},
{
- "name": "cellBorderColor",
- "description": "The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead.",
- "deprecated": true,
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "encodedDataLength",
+ "description": "Actual bytes received (might be less than dataLength for compressed encodings).",
+ "type": "integer"
},
{
- "name": "rowLineColor",
- "description": "The row line color (default: transparent).",
+ "name": "data",
+ "description": "Data that was received. (Encoded as a base64 string when passed over JSON)",
+ "experimental": true,
"optional": true,
- "$ref": "DOM.RGBA"
- },
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "eventSourceMessageReceived",
+ "description": "Fired when EventSource message is received.",
+ "parameters": [
{
- "name": "columnLineColor",
- "description": "The column line color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "gridBorderDash",
- "description": "Whether the grid border is dashed (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "cellBorderDash",
- "description": "Whether the cell border is dashed (default: false). Deprecated, please us rowLineDash and columnLineDash instead.",
- "deprecated": true,
- "optional": true,
- "type": "boolean"
+ "name": "eventName",
+ "description": "Message type.",
+ "type": "string"
},
{
- "name": "rowLineDash",
- "description": "Whether row lines are dashed (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "eventId",
+ "description": "Message identifier.",
+ "type": "string"
},
{
- "name": "columnLineDash",
- "description": "Whether column lines are dashed (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "data",
+ "description": "Message content.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "loadingFailed",
+ "description": "Fired when HTTP request has failed to load.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "rowGapColor",
- "description": "The row gap highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "rowHatchColor",
- "description": "The row gap hatching fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "type",
+ "description": "Resource type.",
+ "$ref": "ResourceType"
},
{
- "name": "columnGapColor",
- "description": "The column gap highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "errorText",
+ "description": "Error message. List of network errors: https://cs.chromium.org/chromium/src/net/base/net_error_list.h",
+ "type": "string"
},
{
- "name": "columnHatchColor",
- "description": "The column gap hatching fill color (default: transparent).",
+ "name": "canceled",
+ "description": "True if loading was canceled.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "boolean"
},
{
- "name": "areaBorderColor",
- "description": "The named grid areas border color (Default: transparent).",
+ "name": "blockedReason",
+ "description": "The reason why loading was blocked, if any.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "BlockedReason"
},
{
- "name": "gridBackgroundColor",
- "description": "The grid container background color (Default: transparent).",
+ "name": "corsErrorStatus",
+ "description": "The reason why loading was blocked by CORS, if any.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "CorsErrorStatus"
}
]
},
{
- "id": "FlexContainerHighlightConfig",
- "description": "Configuration data for the highlighting of Flex container elements.",
- "type": "object",
- "properties": [
+ "name": "loadingFinished",
+ "description": "Fired when HTTP request has finished loading.",
+ "parameters": [
{
- "name": "containerBorder",
- "description": "The style of the container border",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "lineSeparator",
- "description": "The style of the separator between lines",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "itemSeparator",
- "description": "The style of the separator between items",
- "optional": true,
- "$ref": "LineStyle"
- },
+ "name": "encodedDataLength",
+ "description": "Total number of bytes received for this request.",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "requestIntercepted",
+ "description": "Details of an intercepted HTTP request, which must be either allowed, blocked, modified or\nmocked.\nDeprecated, use Fetch.requestPaused instead.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
{
- "name": "mainDistributedSpace",
- "description": "Style of content-distribution space on the main axis (justify-content).",
- "optional": true,
- "$ref": "BoxStyle"
+ "name": "interceptionId",
+ "description": "Each request the page makes will have a unique id, however if any redirects are encountered\nwhile processing that fetch, they will be reported with the same id as the original fetch.\nLikewise if HTTP authentication is needed then the same fetch id will be used.",
+ "$ref": "InterceptionId"
},
{
- "name": "crossDistributedSpace",
- "description": "Style of content-distribution space on the cross axis (align-content).",
- "optional": true,
- "$ref": "BoxStyle"
+ "name": "request",
+ "$ref": "Request"
},
{
- "name": "rowGapSpace",
- "description": "Style of empty space caused by row gaps (gap/row-gap).",
- "optional": true,
- "$ref": "BoxStyle"
+ "name": "frameId",
+ "description": "The id of the frame that initiated the request.",
+ "$ref": "Page.FrameId"
},
{
- "name": "columnGapSpace",
- "description": "Style of empty space caused by columns gaps (gap/column-gap).",
- "optional": true,
- "$ref": "BoxStyle"
+ "name": "resourceType",
+ "description": "How the requested resource will be used.",
+ "$ref": "ResourceType"
},
{
- "name": "crossAlignment",
- "description": "Style of the self-alignment line (align-items).",
- "optional": true,
- "$ref": "LineStyle"
- }
- ]
- },
- {
- "id": "FlexItemHighlightConfig",
- "description": "Configuration data for the highlighting of Flex item elements.",
- "type": "object",
- "properties": [
+ "name": "isNavigationRequest",
+ "description": "Whether this is a navigation request, which can abort the navigation completely.",
+ "type": "boolean"
+ },
{
- "name": "baseSizeBox",
- "description": "Style of the box representing the item's base size",
+ "name": "isDownload",
+ "description": "Set if the request is a navigation that will result in a download.\nOnly present after response is received from the server (i.e. HeadersReceived stage).",
"optional": true,
- "$ref": "BoxStyle"
+ "type": "boolean"
},
{
- "name": "baseSizeBorder",
- "description": "Style of the border around the box representing the item's base size",
+ "name": "redirectUrl",
+ "description": "Redirect location, only sent if a redirect was intercepted.",
"optional": true,
- "$ref": "LineStyle"
+ "type": "string"
},
{
- "name": "flexibilityArrow",
- "description": "Style of the arrow representing if the item grew or shrank",
+ "name": "authChallenge",
+ "description": "Details of the Authorization Challenge encountered. If this is set then\ncontinueInterceptedRequest must contain an authChallengeResponse.",
"optional": true,
- "$ref": "LineStyle"
- }
- ]
- },
- {
- "id": "LineStyle",
- "description": "Style information for drawing a line.",
- "type": "object",
- "properties": [
+ "$ref": "AuthChallenge"
+ },
{
- "name": "color",
- "description": "The color of the line (default: transparent)",
+ "name": "responseErrorReason",
+ "description": "Response error if intercepted at response stage or if redirect occurred while intercepting\nrequest.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "ErrorReason"
},
{
- "name": "pattern",
- "description": "The line pattern (default: solid)",
+ "name": "responseStatusCode",
+ "description": "Response code if intercepted at response stage or if redirect occurred while intercepting\nrequest or auth retry occurred.",
"optional": true,
- "type": "string",
- "enum": [
- "dashed",
- "dotted"
- ]
- }
- ]
- },
- {
- "id": "BoxStyle",
- "description": "Style information for drawing a box.",
- "type": "object",
- "properties": [
+ "type": "integer"
+ },
{
- "name": "fillColor",
- "description": "The background color for the box (default: transparent)",
+ "name": "responseHeaders",
+ "description": "Response headers if intercepted at the response stage or if redirect occurred while\nintercepting request or auth retry occurred.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "Headers"
},
{
- "name": "hatchColor",
- "description": "The hatching color for the box (default: transparent)",
+ "name": "requestId",
+ "description": "If the intercepted request had a corresponding requestWillBeSent event fired for it, then\nthis requestId will be the same as the requestId present in the requestWillBeSent event.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "RequestId"
}
]
},
{
- "id": "ContrastAlgorithm",
- "type": "string",
- "enum": [
- "aa",
- "aaa",
- "apca"
+ "name": "requestServedFromCache",
+ "description": "Fired if request ended up loading from cache.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ }
]
},
{
- "id": "HighlightConfig",
- "description": "Configuration data for the highlighting of page elements.",
- "type": "object",
- "properties": [
- {
- "name": "showInfo",
- "description": "Whether the node info tooltip should be shown (default: false).",
- "optional": true,
- "type": "boolean"
- },
+ "name": "requestWillBeSent",
+ "description": "Fired when page is about to send HTTP request.",
+ "parameters": [
{
- "name": "showStyles",
- "description": "Whether the node styles in the tooltip (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "showRulers",
- "description": "Whether the rulers should be shown (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "loaderId",
+ "description": "Loader identifier. Empty string if the request is fetched from worker.",
+ "$ref": "LoaderId"
},
{
- "name": "showAccessibilityInfo",
- "description": "Whether the a11y info should be shown (default: true).",
- "optional": true,
- "type": "boolean"
+ "name": "documentURL",
+ "description": "URL of the document this request is loaded for.",
+ "type": "string"
},
{
- "name": "showExtensionLines",
- "description": "Whether the extension lines from node to the rulers should be shown (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "request",
+ "description": "Request data.",
+ "$ref": "Request"
},
{
- "name": "contentColor",
- "description": "The content box highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
- },
- {
- "name": "paddingColor",
- "description": "The padding highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
- },
- {
- "name": "borderColor",
- "description": "The border highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
- },
- {
- "name": "marginColor",
- "description": "The margin highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "eventTargetColor",
- "description": "The event target element highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "wallTime",
+ "description": "Timestamp.",
+ "$ref": "TimeSinceEpoch"
},
{
- "name": "shapeColor",
- "description": "The shape outside fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "initiator",
+ "description": "Request initiator.",
+ "$ref": "Initiator"
},
{
- "name": "shapeMarginColor",
- "description": "The shape margin fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "redirectHasExtraInfo",
+ "description": "In the case that redirectResponse is populated, this flag indicates whether\nrequestWillBeSentExtraInfo and responseReceivedExtraInfo events will be or were emitted\nfor the request which was just redirected.",
+ "experimental": true,
+ "type": "boolean"
},
{
- "name": "cssGridColor",
- "description": "The grid layout color (default: transparent).",
+ "name": "redirectResponse",
+ "description": "Redirect response data.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "Response"
},
{
- "name": "colorFormat",
- "description": "The color format used to format color styles (default: hex).",
+ "name": "type",
+ "description": "Type of this resource.",
"optional": true,
- "$ref": "ColorFormat"
+ "$ref": "ResourceType"
},
{
- "name": "gridHighlightConfig",
- "description": "The grid layout highlight configuration (default: all transparent).",
+ "name": "frameId",
+ "description": "Frame identifier.",
"optional": true,
- "$ref": "GridHighlightConfig"
+ "$ref": "Page.FrameId"
},
{
- "name": "flexContainerHighlightConfig",
- "description": "The flex container highlight configuration (default: all transparent).",
+ "name": "hasUserGesture",
+ "description": "Whether the request is initiated by a user gesture. Defaults to false.",
"optional": true,
- "$ref": "FlexContainerHighlightConfig"
- },
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "resourceChangedPriority",
+ "description": "Fired when resource loading priority is changed",
+ "experimental": true,
+ "parameters": [
{
- "name": "flexItemHighlightConfig",
- "description": "The flex item highlight configuration (default: all transparent).",
- "optional": true,
- "$ref": "FlexItemHighlightConfig"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "contrastAlgorithm",
- "description": "The contrast algorithm to use for the contrast ratio (default: aa).",
- "optional": true,
- "$ref": "ContrastAlgorithm"
+ "name": "newPriority",
+ "description": "New priority",
+ "$ref": "ResourcePriority"
},
{
- "name": "containerQueryContainerHighlightConfig",
- "description": "The container query container highlight configuration (default: all transparent).",
- "optional": true,
- "$ref": "ContainerQueryContainerHighlightConfig"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
}
]
},
{
- "id": "ColorFormat",
- "type": "string",
- "enum": [
- "rgb",
- "hsl",
- "hwb",
- "hex"
- ]
- },
- {
- "id": "GridNodeHighlightConfig",
- "description": "Configurations for Persistent Grid Highlight",
- "type": "object",
- "properties": [
+ "name": "signedExchangeReceived",
+ "description": "Fired when a signed exchange was received over the network",
+ "experimental": true,
+ "parameters": [
{
- "name": "gridHighlightConfig",
- "description": "A descriptor for the highlight appearance.",
- "$ref": "GridHighlightConfig"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "$ref": "DOM.NodeId"
+ "name": "info",
+ "description": "Information about the signed exchange response.",
+ "$ref": "SignedExchangeInfo"
}
]
},
{
- "id": "FlexNodeHighlightConfig",
- "type": "object",
- "properties": [
+ "name": "responseReceived",
+ "description": "Fired when HTTP response is available.",
+ "parameters": [
{
- "name": "flexContainerHighlightConfig",
- "description": "A descriptor for the highlight appearance of flex containers.",
- "$ref": "FlexContainerHighlightConfig"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "$ref": "DOM.NodeId"
- }
- ]
- },
- {
- "id": "ScrollSnapContainerHighlightConfig",
- "type": "object",
- "properties": [
+ "name": "loaderId",
+ "description": "Loader identifier. Empty string if the request is fetched from worker.",
+ "$ref": "LoaderId"
+ },
{
- "name": "snapportBorder",
- "description": "The style of the snapport border (default: transparent)",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "snapAreaBorder",
- "description": "The style of the snap area border (default: transparent)",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "type",
+ "description": "Resource type.",
+ "$ref": "ResourceType"
},
{
- "name": "scrollMarginColor",
- "description": "The margin highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "response",
+ "description": "Response data.",
+ "$ref": "Response"
},
{
- "name": "scrollPaddingColor",
- "description": "The padding highlight fill color (default: transparent).",
+ "name": "hasExtraInfo",
+ "description": "Indicates whether requestWillBeSentExtraInfo and responseReceivedExtraInfo events will be\nor were emitted for this request.",
+ "experimental": true,
+ "type": "boolean"
+ },
+ {
+ "name": "frameId",
+ "description": "Frame identifier.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "Page.FrameId"
}
]
},
{
- "id": "ScrollSnapHighlightConfig",
- "type": "object",
- "properties": [
+ "name": "webSocketClosed",
+ "description": "Fired when WebSocket is closed.",
+ "parameters": [
{
- "name": "scrollSnapContainerHighlightConfig",
- "description": "A descriptor for the highlight appearance of scroll snap containers.",
- "$ref": "ScrollSnapContainerHighlightConfig"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "$ref": "DOM.NodeId"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
}
]
},
{
- "id": "HingeConfig",
- "description": "Configuration for dual screen hinge",
- "type": "object",
- "properties": [
+ "name": "webSocketCreated",
+ "description": "Fired upon WebSocket creation.",
+ "parameters": [
{
- "name": "rect",
- "description": "A rectangle represent hinge",
- "$ref": "DOM.Rect"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "contentColor",
- "description": "The content box highlight fill color (default: a dark color).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "url",
+ "description": "WebSocket request URL.",
+ "type": "string"
},
{
- "name": "outlineColor",
- "description": "The content box highlight outline color (default: transparent).",
+ "name": "initiator",
+ "description": "Request initiator.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "Initiator"
}
]
},
{
- "id": "WindowControlsOverlayConfig",
- "description": "Configuration for Window Controls Overlay",
- "type": "object",
- "properties": [
+ "name": "webSocketFrameError",
+ "description": "Fired when WebSocket message error occurs.",
+ "parameters": [
{
- "name": "showCSS",
- "description": "Whether the title bar CSS should be shown when emulating the Window Controls Overlay.",
- "type": "boolean"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "selectedPlatform",
- "description": "Selected platforms to show the overlay.",
- "type": "string"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "themeColor",
- "description": "The theme color defined in app manifest.",
- "type": "string"
+ "name": "errorMessage",
+ "description": "WebSocket error message.",
+ "type": "string"
}
]
},
{
- "id": "ContainerQueryHighlightConfig",
- "type": "object",
- "properties": [
+ "name": "webSocketFrameReceived",
+ "description": "Fired when WebSocket message is received.",
+ "parameters": [
{
- "name": "containerQueryContainerHighlightConfig",
- "description": "A descriptor for the highlight appearance of container query containers.",
- "$ref": "ContainerQueryContainerHighlightConfig"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "nodeId",
- "description": "Identifier of the container node to highlight.",
- "$ref": "DOM.NodeId"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "response",
+ "description": "WebSocket response data.",
+ "$ref": "WebSocketFrame"
}
]
},
{
- "id": "ContainerQueryContainerHighlightConfig",
- "type": "object",
- "properties": [
+ "name": "webSocketFrameSent",
+ "description": "Fired when WebSocket message is sent.",
+ "parameters": [
{
- "name": "containerBorder",
- "description": "The style of the container border.",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "descendantBorder",
- "description": "The style of the descendants' borders.",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "response",
+ "description": "WebSocket response data.",
+ "$ref": "WebSocketFrame"
}
]
},
{
- "id": "IsolatedElementHighlightConfig",
- "type": "object",
- "properties": [
+ "name": "webSocketHandshakeResponseReceived",
+ "description": "Fired when WebSocket handshake response becomes available.",
+ "parameters": [
{
- "name": "isolationModeHighlightConfig",
- "description": "A descriptor for the highlight appearance of an element in isolation mode.",
- "$ref": "IsolationModeHighlightConfig"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "nodeId",
- "description": "Identifier of the isolated element to highlight.",
- "$ref": "DOM.NodeId"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "response",
+ "description": "WebSocket response data.",
+ "$ref": "WebSocketResponse"
}
]
},
{
- "id": "IsolationModeHighlightConfig",
- "type": "object",
- "properties": [
+ "name": "webSocketWillSendHandshakeRequest",
+ "description": "Fired when WebSocket is about to initiate handshake.",
+ "parameters": [
{
- "name": "resizerColor",
- "description": "The fill color of the resizers (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "resizerHandleColor",
- "description": "The fill color for resizer handles (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "maskColor",
- "description": "The fill color for the mask covering non-isolated elements (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "wallTime",
+ "description": "UTC Timestamp.",
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "request",
+ "description": "WebSocket request data.",
+ "$ref": "WebSocketRequest"
}
]
},
{
- "id": "InspectMode",
- "type": "string",
- "enum": [
- "searchForNode",
- "searchForUAShadowDOM",
- "captureAreaScreenshot",
- "showDistances",
- "none"
- ]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disables domain notifications."
- },
- {
- "name": "enable",
- "description": "Enables domain notifications."
- },
- {
- "name": "getHighlightObjectForTest",
- "description": "For testing.",
+ "name": "webTransportCreated",
+ "description": "Fired upon WebTransport creation.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to get highlight object for.",
- "$ref": "DOM.NodeId"
- },
- {
- "name": "includeDistance",
- "description": "Whether to include distance info.",
- "optional": true,
- "type": "boolean"
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
},
{
- "name": "includeStyle",
- "description": "Whether to include style info.",
- "optional": true,
- "type": "boolean"
+ "name": "url",
+ "description": "WebTransport request URL.",
+ "type": "string"
},
{
- "name": "colorFormat",
- "description": "The color format to get config with (default: hex).",
- "optional": true,
- "$ref": "ColorFormat"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "showAccessibilityInfo",
- "description": "Whether to show accessibility info (default: true).",
+ "name": "initiator",
+ "description": "Request initiator.",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "highlight",
- "description": "Highlight data for the node.",
- "type": "object"
+ "$ref": "Initiator"
}
]
},
{
- "name": "getGridHighlightObjectsForTest",
- "description": "For Persistent Grid testing.",
+ "name": "webTransportConnectionEstablished",
+ "description": "Fired when WebTransport handshake is finished.",
"parameters": [
{
- "name": "nodeIds",
- "description": "Ids of the node to get highlight object for.",
- "type": "array",
- "items": {
- "$ref": "DOM.NodeId"
- }
- }
- ],
- "returns": [
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
+ },
{
- "name": "highlights",
- "description": "Grid Highlight data for the node ids provided.",
- "type": "object"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
}
]
},
{
- "name": "getSourceOrderHighlightObjectForTest",
- "description": "For Source Order Viewer testing.",
+ "name": "webTransportClosed",
+ "description": "Fired when WebTransport is disposed.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to highlight.",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
+ },
{
- "name": "highlight",
- "description": "Source order highlight data for the node id provided.",
- "type": "object"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
}
]
},
{
- "name": "hideHighlight",
- "description": "Hides any highlight."
- },
- {
- "name": "highlightFrame",
- "description": "Highlights owner element of the frame with given id.\nDeprecated: Doesn't work reliably and cannot be fixed due to process\nseparation (the owner node might be in a different process). Determine\nthe owner node in the client and use highlightNode.",
- "deprecated": true,
+ "name": "directTCPSocketCreated",
+ "description": "Fired upon direct_socket.TCPSocket creation.",
+ "experimental": true,
"parameters": [
{
- "name": "frameId",
- "description": "Identifier of the frame to highlight.",
- "$ref": "Page.FrameId"
+ "name": "identifier",
+ "$ref": "RequestId"
},
{
- "name": "contentColor",
- "description": "The content box highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "remoteAddr",
+ "type": "string"
},
{
- "name": "contentOutlineColor",
- "description": "The content box highlight outline color (default: transparent).",
+ "name": "remotePort",
+ "description": "Unsigned int 16.",
+ "type": "integer"
+ },
+ {
+ "name": "options",
+ "$ref": "DirectTCPSocketOptions"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "initiator",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "Initiator"
}
]
},
{
- "name": "highlightNode",
- "description": "Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or\nobjectId must be specified.",
+ "name": "directTCPSocketOpened",
+ "description": "Fired when direct_socket.TCPSocket connection is opened.",
+ "experimental": true,
"parameters": [
{
- "name": "highlightConfig",
- "description": "A descriptor for the highlight appearance.",
- "$ref": "HighlightConfig"
+ "name": "identifier",
+ "$ref": "RequestId"
},
{
- "name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "optional": true,
- "$ref": "DOM.NodeId"
+ "name": "remoteAddr",
+ "type": "string"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node to highlight.",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
+ "name": "remotePort",
+ "description": "Expected to be unsigned integer.",
+ "type": "integer"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node to be highlighted.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
},
{
- "name": "selector",
- "description": "Selectors to highlight relevant nodes.",
+ "name": "localAddr",
"optional": true,
"type": "string"
+ },
+ {
+ "name": "localPort",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "highlightQuad",
- "description": "Highlights given quad. Coordinates are absolute with respect to the main frame viewport.",
+ "name": "directTCPSocketAborted",
+ "description": "Fired when direct_socket.TCPSocket is aborted.",
+ "experimental": true,
"parameters": [
{
- "name": "quad",
- "description": "Quad to highlight",
- "$ref": "DOM.Quad"
+ "name": "identifier",
+ "$ref": "RequestId"
},
{
- "name": "color",
- "description": "The highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "errorMessage",
+ "type": "string"
},
{
- "name": "outlineColor",
- "description": "The highlight outline color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
}
]
},
{
- "name": "highlightRect",
- "description": "Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.",
+ "name": "directTCPSocketClosed",
+ "description": "Fired when direct_socket.TCPSocket is closed.",
+ "experimental": true,
"parameters": [
{
- "name": "x",
- "description": "X coordinate",
- "type": "integer"
+ "name": "identifier",
+ "$ref": "RequestId"
},
{
- "name": "y",
- "description": "Y coordinate",
- "type": "integer"
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "directTCPSocketChunkSent",
+ "description": "Fired when data is sent to tcp direct socket stream.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
},
{
- "name": "width",
- "description": "Rectangle width",
- "type": "integer"
+ "name": "data",
+ "type": "string"
},
{
- "name": "height",
- "description": "Rectangle height",
- "type": "integer"
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "directTCPSocketChunkReceived",
+ "description": "Fired when data is received from tcp direct socket stream.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
},
{
- "name": "color",
- "description": "The highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "data",
+ "type": "string"
},
{
- "name": "outlineColor",
- "description": "The highlight outline color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
}
]
},
{
- "name": "highlightSourceOrder",
- "description": "Highlights the source order of the children of the DOM node with given id or with the given\nJavaScript object wrapper. Either nodeId or objectId must be specified.",
+ "name": "directUDPSocketCreated",
+ "description": "Fired upon direct_socket.UDPSocket creation.",
+ "experimental": true,
"parameters": [
{
- "name": "sourceOrderConfig",
- "description": "A descriptor for the appearance of the overlay drawing.",
- "$ref": "SourceOrderConfig"
+ "name": "identifier",
+ "$ref": "RequestId"
},
{
- "name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "optional": true,
- "$ref": "DOM.NodeId"
+ "name": "options",
+ "$ref": "DirectUDPSocketOptions"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node to highlight.",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node to be highlighted.",
+ "name": "initiator",
"optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "$ref": "Initiator"
}
]
},
{
- "name": "setInspectMode",
- "description": "Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted.\nBackend then generates 'inspectNodeRequested' event upon element selection.",
+ "name": "directUDPSocketOpened",
+ "description": "Fired when direct_socket.UDPSocket connection is opened.",
+ "experimental": true,
"parameters": [
{
- "name": "mode",
- "description": "Set an inspection mode.",
- "$ref": "InspectMode"
+ "name": "identifier",
+ "$ref": "RequestId"
},
{
- "name": "highlightConfig",
- "description": "A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled\n== false`.",
+ "name": "localAddr",
+ "type": "string"
+ },
+ {
+ "name": "localPort",
+ "description": "Expected to be unsigned integer.",
+ "type": "integer"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "remoteAddr",
"optional": true,
- "$ref": "HighlightConfig"
- }
- ]
- },
- {
- "name": "setShowAdHighlights",
- "description": "Highlights owner element of all frames detected to be ads.",
- "parameters": [
+ "type": "string"
+ },
{
- "name": "show",
- "description": "True for showing ad highlights",
- "type": "boolean"
+ "name": "remotePort",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "setPausedInDebuggerMessage",
+ "name": "directUDPSocketAborted",
+ "description": "Fired when direct_socket.UDPSocket is aborted.",
+ "experimental": true,
"parameters": [
{
- "name": "message",
- "description": "The message to display, also triggers resume and step over controls.",
- "optional": true,
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "errorMessage",
"type": "string"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
}
]
},
{
- "name": "setShowDebugBorders",
- "description": "Requests that backend shows debug borders on layers",
+ "name": "directUDPSocketClosed",
+ "description": "Fired when direct_socket.UDPSocket is closed.",
+ "experimental": true,
"parameters": [
{
- "name": "show",
- "description": "True for showing debug borders",
- "type": "boolean"
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
}
]
},
{
- "name": "setShowFPSCounter",
- "description": "Requests that backend shows the FPS counter",
+ "name": "directUDPSocketChunkSent",
+ "description": "Fired when message is sent to udp direct socket stream.",
+ "experimental": true,
"parameters": [
{
- "name": "show",
- "description": "True for showing the FPS counter",
- "type": "boolean"
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "message",
+ "$ref": "DirectUDPMessage"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
}
]
},
{
- "name": "setShowGridOverlays",
- "description": "Highlight multiple elements with the CSS Grid overlay.",
+ "name": "directUDPSocketChunkReceived",
+ "description": "Fired when message is received from udp direct socket stream.",
+ "experimental": true,
"parameters": [
{
- "name": "gridNodeHighlightConfigs",
- "description": "An array of node identifiers and descriptors for the highlight appearance.",
- "type": "array",
- "items": {
- "$ref": "GridNodeHighlightConfig"
- }
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "message",
+ "$ref": "DirectUDPMessage"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
}
]
},
{
- "name": "setShowFlexOverlays",
+ "name": "requestWillBeSentExtraInfo",
+ "description": "Fired when additional information about a requestWillBeSent event is available from the\nnetwork stack. Not every requestWillBeSent event will have an additional\nrequestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent\nor requestWillBeSentExtraInfo will be fired first for the same request.",
+ "experimental": true,
"parameters": [
{
- "name": "flexNodeHighlightConfigs",
- "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "name": "requestId",
+ "description": "Request identifier. Used to match this information to an existing requestWillBeSent event.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "associatedCookies",
+ "description": "A list of cookies potentially associated to the requested URL. This includes both cookies sent with\nthe request and the ones not sent; the latter are distinguished by having blockedReasons field set.",
"type": "array",
"items": {
- "$ref": "FlexNodeHighlightConfig"
+ "$ref": "AssociatedCookie"
}
+ },
+ {
+ "name": "headers",
+ "description": "Raw request headers as they will be sent over the wire.",
+ "$ref": "Headers"
+ },
+ {
+ "name": "connectTiming",
+ "description": "Connection timing information for the request.",
+ "experimental": true,
+ "$ref": "ConnectTiming"
+ },
+ {
+ "name": "clientSecurityState",
+ "description": "The client security state set for the request.",
+ "optional": true,
+ "$ref": "ClientSecurityState"
+ },
+ {
+ "name": "siteHasCookieInOtherPartition",
+ "description": "Whether the site has partitioned cookies stored in a partition different than the current one.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "appliedNetworkConditionsId",
+ "description": "The network conditions id if this request was affected by network conditions configured via\nemulateNetworkConditionsByRule.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "setShowScrollSnapOverlays",
+ "name": "responseReceivedExtraInfo",
+ "description": "Fired when additional information about a responseReceived event is available from the network\nstack. Not every responseReceived event will have an additional responseReceivedExtraInfo for\nit, and responseReceivedExtraInfo may be fired before or after responseReceived.",
+ "experimental": true,
"parameters": [
{
- "name": "scrollSnapHighlightConfigs",
- "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "name": "requestId",
+ "description": "Request identifier. Used to match this information to another responseReceived event.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "blockedCookies",
+ "description": "A list of cookies which were not stored from the response along with the corresponding\nreasons for blocking. The cookies here may not be valid due to syntax errors, which\nare represented by the invalid cookie line string instead of a proper cookie.",
"type": "array",
"items": {
- "$ref": "ScrollSnapHighlightConfig"
+ "$ref": "BlockedSetCookieWithReason"
}
- }
- ]
- },
- {
- "name": "setShowContainerQueryOverlays",
- "parameters": [
+ },
{
- "name": "containerQueryHighlightConfigs",
- "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "name": "headers",
+ "description": "Raw response headers as they were received over the wire.\nDuplicate headers in the response are represented as a single key with their values\nconcatentated using `\\n` as the separator.\nSee also `headersText` that contains verbatim text for HTTP/1.*.",
+ "$ref": "Headers"
+ },
+ {
+ "name": "resourceIPAddressSpace",
+ "description": "The IP address space of the resource. The address space can only be determined once the transport\nestablished the connection, so we can't send it in `requestWillBeSentExtraInfo`.",
+ "$ref": "IPAddressSpace"
+ },
+ {
+ "name": "statusCode",
+ "description": "The status code of the response. This is useful in cases the request failed and no responseReceived\nevent is triggered, which is the case for, e.g., CORS errors. This is also the correct status code\nfor cached requests, where the status in responseReceived is a 200 and this will be 304.",
+ "type": "integer"
+ },
+ {
+ "name": "headersText",
+ "description": "Raw response header text as it was received over the wire. The raw text may not always be\navailable, such as in the case of HTTP/2 or QUIC.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "cookiePartitionKey",
+ "description": "The cookie partition key that will be used to store partitioned cookies set in this response.\nOnly sent when partitioned cookies are enabled.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "CookiePartitionKey"
+ },
+ {
+ "name": "cookiePartitionKeyOpaque",
+ "description": "True if partitioned cookies are enabled, but the partition key is not serializable to string.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "exemptedCookies",
+ "description": "A list of cookies which should have been blocked by 3PCD but are exempted and stored from\nthe response with the corresponding reason.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "ContainerQueryHighlightConfig"
+ "$ref": "ExemptedSetCookieWithReason"
}
}
]
},
{
- "name": "setShowPaintRects",
- "description": "Requests that backend shows paint rectangles",
+ "name": "responseReceivedEarlyHints",
+ "description": "Fired when 103 Early Hints headers is received in addition to the common response.\nNot every responseReceived event will have an responseReceivedEarlyHints fired.\nOnly one responseReceivedEarlyHints may be fired for eached responseReceived event.",
+ "experimental": true,
"parameters": [
{
- "name": "result",
- "description": "True for showing paint rectangles",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "setShowLayoutShiftRegions",
- "description": "Requests that backend shows layout shift regions",
- "parameters": [
+ "name": "requestId",
+ "description": "Request identifier. Used to match this information to another responseReceived event.",
+ "$ref": "RequestId"
+ },
{
- "name": "result",
- "description": "True for showing layout shift regions",
- "type": "boolean"
+ "name": "headers",
+ "description": "Raw response headers as they were received over the wire.\nDuplicate headers in the response are represented as a single key with their values\nconcatentated using `\\n` as the separator.\nSee also `headersText` that contains verbatim text for HTTP/1.*.",
+ "$ref": "Headers"
}
]
},
{
- "name": "setShowScrollBottleneckRects",
- "description": "Requests that backend shows scroll bottleneck rects",
+ "name": "trustTokenOperationDone",
+ "description": "Fired exactly once for each Trust Token operation. Depending on\nthe type of the operation and whether the operation succeeded or\nfailed, the event is fired before the corresponding request was sent\nor after the response was received.",
+ "experimental": true,
"parameters": [
{
- "name": "show",
- "description": "True for showing scroll bottleneck rects",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "setShowHitTestBorders",
- "description": "Deprecated, no longer has any effect.",
- "deprecated": true,
- "parameters": [
+ "name": "status",
+ "description": "Detailed success or error status of the operation.\n'AlreadyExists' also signifies a successful operation, as the result\nof the operation already exists und thus, the operation was abort\npreemptively (e.g. a cache hit).",
+ "type": "string",
+ "enum": [
+ "Ok",
+ "InvalidArgument",
+ "MissingIssuerKeys",
+ "FailedPrecondition",
+ "ResourceExhausted",
+ "AlreadyExists",
+ "ResourceLimited",
+ "Unauthorized",
+ "BadResponse",
+ "InternalError",
+ "UnknownError",
+ "FulfilledLocally",
+ "SiteIssuerLimit"
+ ]
+ },
{
- "name": "show",
- "description": "True for showing hit-test borders",
- "type": "boolean"
+ "name": "type",
+ "$ref": "TrustTokenOperationType"
+ },
+ {
+ "name": "requestId",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "topLevelOrigin",
+ "description": "Top level origin. The context in which the operation was attempted.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "issuerOrigin",
+ "description": "Origin of the issuer in case of a \"Issuance\" or \"Redemption\" operation.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "issuedTokenCount",
+ "description": "The number of obtained Trust Tokens on a successful \"Issuance\" operation.",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "setShowWebVitals",
- "description": "Deprecated, no longer has any effect.",
- "deprecated": true,
- "parameters": [
- {
- "name": "show",
- "type": "boolean"
- }
- ]
+ "name": "policyUpdated",
+ "description": "Fired once security policy has been updated.",
+ "experimental": true
},
{
- "name": "setShowViewportSizeOnResize",
- "description": "Paints viewport size upon main frame resize.",
+ "name": "reportingApiReportAdded",
+ "description": "Is sent whenever a new report is added.\nAnd after 'enableReportingApi' for all existing reports.",
+ "experimental": true,
"parameters": [
{
- "name": "show",
- "description": "Whether to paint size or not.",
- "type": "boolean"
+ "name": "report",
+ "$ref": "ReportingApiReport"
}
]
},
{
- "name": "setShowHinge",
- "description": "Add a dual screen device hinge",
+ "name": "reportingApiReportUpdated",
+ "experimental": true,
"parameters": [
{
- "name": "hingeConfig",
- "description": "hinge data, null means hideHinge",
- "optional": true,
- "$ref": "HingeConfig"
+ "name": "report",
+ "$ref": "ReportingApiReport"
}
]
},
{
- "name": "setShowIsolatedElements",
- "description": "Show elements in isolation mode with overlays.",
+ "name": "reportingApiEndpointsChangedForOrigin",
+ "experimental": true,
"parameters": [
{
- "name": "isolatedElementHighlightConfigs",
- "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "name": "origin",
+ "description": "Origin of the document(s) which configured the endpoints.",
+ "type": "string"
+ },
+ {
+ "name": "endpoints",
"type": "array",
"items": {
- "$ref": "IsolatedElementHighlightConfig"
+ "$ref": "ReportingApiEndpoint"
}
}
]
- },
- {
- "name": "setShowWindowControlsOverlay",
- "description": "Show Window Controls Overlay for PWA",
- "parameters": [
- {
- "name": "windowControlsOverlayConfig",
- "description": "Window Controls Overlay data, null means hide Window Controls Overlay",
- "optional": true,
- "$ref": "WindowControlsOverlayConfig"
- }
- ]
}
+ ]
+ },
+ {
+ "domain": "Overlay",
+ "description": "This domain provides various functionality related to drawing atop the inspected page.",
+ "experimental": true,
+ "dependencies": [
+ "DOM",
+ "Page",
+ "Runtime"
],
- "events": [
- {
- "name": "inspectNodeRequested",
- "description": "Fired when the node should be inspected. This happens after call to `setInspectMode` or when\nuser manually inspects an element.",
- "parameters": [
- {
- "name": "backendNodeId",
- "description": "Id of the node to inspect.",
- "$ref": "DOM.BackendNodeId"
- }
- ]
- },
- {
- "name": "nodeHighlightRequested",
- "description": "Fired when the node should be highlighted. This happens after call to `setInspectMode`.",
- "parameters": [
- {
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ]
- },
- {
- "name": "screenshotRequested",
- "description": "Fired when user asks to capture screenshot of some area on the page.",
- "parameters": [
- {
- "name": "viewport",
- "description": "Viewport to capture, in device independent pixels (dip).",
- "$ref": "Page.Viewport"
- }
- ]
- },
- {
- "name": "inspectModeCanceled",
- "description": "Fired when user cancels the inspect mode."
- }
- ]
- },
- {
- "domain": "Page",
- "description": "Actions and events related to the inspected page belong to the page domain.",
- "dependencies": [
- "Debugger",
- "DOM",
- "IO",
- "Network",
- "Runtime"
- ],
- "types": [
- {
- "id": "FrameId",
- "description": "Unique frame identifier.",
- "type": "string"
- },
- {
- "id": "AdFrameType",
- "description": "Indicates whether a frame has been identified as an ad.",
- "experimental": true,
- "type": "string",
- "enum": [
- "none",
- "child",
- "root"
- ]
- },
- {
- "id": "AdFrameExplanation",
- "experimental": true,
- "type": "string",
- "enum": [
- "ParentIsAd",
- "CreatedByAdScript",
- "MatchedBlockingRule"
- ]
- },
- {
- "id": "AdFrameStatus",
- "description": "Indicates whether a frame has been identified as an ad and why.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "adFrameType",
- "$ref": "AdFrameType"
- },
- {
- "name": "explanations",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "AdFrameExplanation"
- }
- }
- ]
- },
- {
- "id": "AdScriptId",
- "description": "Identifies the bottom-most script which caused the frame to be labelled\nas an ad.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "scriptId",
- "description": "Script Id of the bottom-most script which caused the frame to be labelled\nas an ad.",
- "$ref": "Runtime.ScriptId"
- },
- {
- "name": "debuggerId",
- "description": "Id of adScriptId's debugger.",
- "$ref": "Runtime.UniqueDebuggerId"
- }
- ]
- },
- {
- "id": "SecureContextType",
- "description": "Indicates whether the frame is a secure context and why it is the case.",
- "experimental": true,
- "type": "string",
- "enum": [
- "Secure",
- "SecureLocalhost",
- "InsecureScheme",
- "InsecureAncestor"
- ]
- },
- {
- "id": "CrossOriginIsolatedContextType",
- "description": "Indicates whether the frame is cross-origin isolated and why it is the case.",
- "experimental": true,
- "type": "string",
- "enum": [
- "Isolated",
- "NotIsolated",
- "NotIsolatedFeatureDisabled"
- ]
- },
- {
- "id": "GatedAPIFeatures",
- "experimental": true,
- "type": "string",
- "enum": [
- "SharedArrayBuffers",
- "SharedArrayBuffersTransferAllowed",
- "PerformanceMeasureMemory",
- "PerformanceProfile"
- ]
- },
- {
- "id": "PermissionsPolicyFeature",
- "description": "All Permissions Policy features. This enum should match the one defined\nin services/network/public/cpp/permissions_policy/permissions_policy_features.json5.\nLINT.IfChange(PermissionsPolicyFeature)",
- "experimental": true,
- "type": "string",
- "enum": [
- "accelerometer",
- "all-screens-capture",
- "ambient-light-sensor",
- "attribution-reporting",
- "autoplay",
- "bluetooth",
- "browsing-topics",
- "camera",
- "captured-surface-control",
- "ch-dpr",
- "ch-device-memory",
- "ch-downlink",
- "ch-ect",
- "ch-prefers-color-scheme",
- "ch-prefers-reduced-motion",
- "ch-prefers-reduced-transparency",
- "ch-rtt",
- "ch-save-data",
- "ch-ua",
- "ch-ua-arch",
- "ch-ua-bitness",
- "ch-ua-high-entropy-values",
- "ch-ua-platform",
- "ch-ua-model",
- "ch-ua-mobile",
- "ch-ua-form-factors",
- "ch-ua-full-version",
- "ch-ua-full-version-list",
- "ch-ua-platform-version",
- "ch-ua-wow64",
- "ch-viewport-height",
- "ch-viewport-width",
- "ch-width",
- "clipboard-read",
- "clipboard-write",
- "compute-pressure",
- "controlled-frame",
- "cross-origin-isolated",
- "deferred-fetch",
- "deferred-fetch-minimal",
- "device-attributes",
- "digital-credentials-get",
- "direct-sockets",
- "direct-sockets-private",
- "display-capture",
- "document-domain",
- "encrypted-media",
- "execution-while-out-of-viewport",
- "execution-while-not-rendered",
- "fenced-unpartitioned-storage-read",
- "focus-without-user-activation",
- "fullscreen",
- "frobulate",
- "gamepad",
- "geolocation",
- "gyroscope",
- "hid",
- "identity-credentials-get",
- "idle-detection",
- "interest-cohort",
- "join-ad-interest-group",
- "keyboard-map",
- "language-detector",
- "local-fonts",
- "local-network-access",
- "magnetometer",
- "media-playback-while-not-visible",
- "microphone",
- "midi",
- "on-device-speech-recognition",
- "otp-credentials",
- "payment",
- "picture-in-picture",
- "popins",
- "private-aggregation",
- "private-state-token-issuance",
- "private-state-token-redemption",
- "publickey-credentials-create",
- "publickey-credentials-get",
- "record-ad-auction-events",
- "rewriter",
- "run-ad-auction",
- "screen-wake-lock",
- "serial",
- "shared-autofill",
- "shared-storage",
- "shared-storage-select-url",
- "smart-card",
- "speaker-selection",
- "storage-access",
- "sub-apps",
- "summarizer",
- "sync-xhr",
- "translator",
- "unload",
- "usb",
- "usb-unrestricted",
- "vertical-scroll",
- "web-app-installation",
- "web-printing",
- "web-share",
- "window-management",
- "writer",
- "xr-spatial-tracking"
- ]
- },
- {
- "id": "PermissionsPolicyBlockReason",
- "description": "Reason for a permissions policy feature to be disabled.",
- "experimental": true,
- "type": "string",
- "enum": [
- "Header",
- "IframeAttribute",
- "InFencedFrameTree",
- "InIsolatedApp"
- ]
- },
- {
- "id": "PermissionsPolicyBlockLocator",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "frameId",
- "$ref": "FrameId"
- },
- {
- "name": "blockReason",
- "$ref": "PermissionsPolicyBlockReason"
- }
- ]
- },
- {
- "id": "PermissionsPolicyFeatureState",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "feature",
- "$ref": "PermissionsPolicyFeature"
- },
- {
- "name": "allowed",
- "type": "boolean"
- },
- {
- "name": "locator",
- "optional": true,
- "$ref": "PermissionsPolicyBlockLocator"
- }
- ]
- },
- {
- "id": "OriginTrialTokenStatus",
- "description": "Origin Trial(https://www.chromium.org/blink/origin-trials) support.\nStatus for an Origin Trial token.",
- "experimental": true,
- "type": "string",
- "enum": [
- "Success",
- "NotSupported",
- "Insecure",
- "Expired",
- "WrongOrigin",
- "InvalidSignature",
- "Malformed",
- "WrongVersion",
- "FeatureDisabled",
- "TokenDisabled",
- "FeatureDisabledForUser",
- "UnknownTrial"
- ]
- },
- {
- "id": "OriginTrialStatus",
- "description": "Status for an Origin Trial.",
- "experimental": true,
- "type": "string",
- "enum": [
- "Enabled",
- "ValidTokenNotProvided",
- "OSNotSupported",
- "TrialNotAllowed"
- ]
- },
- {
- "id": "OriginTrialUsageRestriction",
- "experimental": true,
- "type": "string",
- "enum": [
- "None",
- "Subset"
- ]
- },
- {
- "id": "OriginTrialToken",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "origin",
- "type": "string"
- },
- {
- "name": "matchSubDomains",
- "type": "boolean"
- },
- {
- "name": "trialName",
- "type": "string"
- },
- {
- "name": "expiryTime",
- "$ref": "Network.TimeSinceEpoch"
- },
- {
- "name": "isThirdParty",
- "type": "boolean"
- },
- {
- "name": "usageRestriction",
- "$ref": "OriginTrialUsageRestriction"
- }
- ]
- },
- {
- "id": "OriginTrialTokenWithStatus",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "rawTokenText",
- "type": "string"
- },
- {
- "name": "parsedToken",
- "description": "`parsedToken` is present only when the token is extractable and\nparsable.",
- "optional": true,
- "$ref": "OriginTrialToken"
- },
- {
- "name": "status",
- "$ref": "OriginTrialTokenStatus"
- }
- ]
- },
- {
- "id": "OriginTrial",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "trialName",
- "type": "string"
- },
- {
- "name": "status",
- "$ref": "OriginTrialStatus"
- },
- {
- "name": "tokensWithStatus",
- "type": "array",
- "items": {
- "$ref": "OriginTrialTokenWithStatus"
- }
- }
- ]
- },
- {
- "id": "SecurityOriginDetails",
- "description": "Additional information about the frame document's security origin.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "isLocalhost",
- "description": "Indicates whether the frame document's security origin is one\nof the local hostnames (e.g. \"localhost\") or IP addresses (IPv4\n127.0.0.0/8 or IPv6 ::1).",
- "type": "boolean"
- }
- ]
- },
- {
- "id": "Frame",
- "description": "Information about the Frame on the page.",
- "type": "object",
- "properties": [
- {
- "name": "id",
- "description": "Frame unique identifier.",
- "$ref": "FrameId"
- },
- {
- "name": "parentId",
- "description": "Parent frame identifier.",
- "optional": true,
- "$ref": "FrameId"
- },
- {
- "name": "loaderId",
- "description": "Identifier of the loader associated with this frame.",
- "$ref": "Network.LoaderId"
- },
- {
- "name": "name",
- "description": "Frame's name as specified in the tag.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "url",
- "description": "Frame document's URL without fragment.",
- "type": "string"
- },
- {
- "name": "urlFragment",
- "description": "Frame document's URL fragment including the '#'.",
- "experimental": true,
- "optional": true,
- "type": "string"
- },
- {
- "name": "domainAndRegistry",
- "description": "Frame document's registered domain, taking the public suffixes list into account.\nExtracted from the Frame's url.\nExample URLs: http://www.google.com/file.html -> \"google.com\"\n http://a.b.co.uk/file.html -> \"b.co.uk\"",
- "experimental": true,
- "type": "string"
- },
- {
- "name": "securityOrigin",
- "description": "Frame document's security origin.",
- "type": "string"
- },
- {
- "name": "securityOriginDetails",
- "description": "Additional details about the frame document's security origin.",
- "experimental": true,
- "optional": true,
- "$ref": "SecurityOriginDetails"
- },
- {
- "name": "mimeType",
- "description": "Frame document's mimeType as determined by the browser.",
- "type": "string"
- },
- {
- "name": "unreachableUrl",
- "description": "If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment.",
- "experimental": true,
- "optional": true,
- "type": "string"
- },
- {
- "name": "adFrameStatus",
- "description": "Indicates whether this frame was tagged as an ad and why.",
- "experimental": true,
- "optional": true,
- "$ref": "AdFrameStatus"
- },
- {
- "name": "secureContextType",
- "description": "Indicates whether the main document is a secure context and explains why that is the case.",
- "experimental": true,
- "$ref": "SecureContextType"
- },
- {
- "name": "crossOriginIsolatedContextType",
- "description": "Indicates whether this is a cross origin isolated context.",
- "experimental": true,
- "$ref": "CrossOriginIsolatedContextType"
- },
- {
- "name": "gatedAPIFeatures",
- "description": "Indicated which gated APIs / features are available.",
- "experimental": true,
- "type": "array",
- "items": {
- "$ref": "GatedAPIFeatures"
- }
- }
- ]
- },
- {
- "id": "FrameResource",
- "description": "Information about the Resource on the page.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "url",
- "description": "Resource URL.",
- "type": "string"
- },
- {
- "name": "type",
- "description": "Type of this resource.",
- "$ref": "Network.ResourceType"
- },
- {
- "name": "mimeType",
- "description": "Resource mimeType as determined by the browser.",
- "type": "string"
- },
- {
- "name": "lastModified",
- "description": "last-modified timestamp as reported by server.",
- "optional": true,
- "$ref": "Network.TimeSinceEpoch"
- },
- {
- "name": "contentSize",
- "description": "Resource content size.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "failed",
- "description": "True if the resource failed to load.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "canceled",
- "description": "True if the resource was canceled during loading.",
- "optional": true,
- "type": "boolean"
- }
- ]
- },
- {
- "id": "FrameResourceTree",
- "description": "Information about the Frame hierarchy along with their cached resources.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "frame",
- "description": "Frame information for this tree item.",
- "$ref": "Frame"
- },
- {
- "name": "childFrames",
- "description": "Child frames.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "FrameResourceTree"
- }
- },
- {
- "name": "resources",
- "description": "Information about frame resources.",
- "type": "array",
- "items": {
- "$ref": "FrameResource"
- }
- }
- ]
- },
- {
- "id": "FrameTree",
- "description": "Information about the Frame hierarchy.",
- "type": "object",
- "properties": [
- {
- "name": "frame",
- "description": "Frame information for this tree item.",
- "$ref": "Frame"
- },
- {
- "name": "childFrames",
- "description": "Child frames.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "FrameTree"
- }
- }
- ]
- },
- {
- "id": "ScriptIdentifier",
- "description": "Unique script identifier.",
- "type": "string"
- },
- {
- "id": "TransitionType",
- "description": "Transition type.",
- "type": "string",
- "enum": [
- "link",
- "typed",
- "address_bar",
- "auto_bookmark",
- "auto_subframe",
- "manual_subframe",
- "generated",
- "auto_toplevel",
- "form_submit",
- "reload",
- "keyword",
- "keyword_generated",
- "other"
- ]
- },
- {
- "id": "NavigationEntry",
- "description": "Navigation history entry.",
- "type": "object",
- "properties": [
- {
- "name": "id",
- "description": "Unique id of the navigation history entry.",
- "type": "integer"
- },
- {
- "name": "url",
- "description": "URL of the navigation history entry.",
- "type": "string"
- },
- {
- "name": "userTypedURL",
- "description": "URL that the user typed in the url bar.",
- "type": "string"
- },
- {
- "name": "title",
- "description": "Title of the navigation history entry.",
- "type": "string"
- },
- {
- "name": "transitionType",
- "description": "Transition type.",
- "$ref": "TransitionType"
- }
- ]
- },
- {
- "id": "ScreencastFrameMetadata",
- "description": "Screencast frame metadata.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "offsetTop",
- "description": "Top offset in DIP.",
- "type": "number"
- },
- {
- "name": "pageScaleFactor",
- "description": "Page scale factor.",
- "type": "number"
- },
- {
- "name": "deviceWidth",
- "description": "Device screen width in DIP.",
- "type": "number"
- },
- {
- "name": "deviceHeight",
- "description": "Device screen height in DIP.",
- "type": "number"
- },
- {
- "name": "scrollOffsetX",
- "description": "Position of horizontal scroll in CSS pixels.",
- "type": "number"
- },
- {
- "name": "scrollOffsetY",
- "description": "Position of vertical scroll in CSS pixels.",
- "type": "number"
- },
- {
- "name": "timestamp",
- "description": "Frame swap timestamp.",
- "optional": true,
- "$ref": "Network.TimeSinceEpoch"
- }
- ]
- },
- {
- "id": "DialogType",
- "description": "Javascript dialog type.",
- "type": "string",
- "enum": [
- "alert",
- "confirm",
- "prompt",
- "beforeunload"
- ]
- },
- {
- "id": "AppManifestError",
- "description": "Error while paring app manifest.",
- "type": "object",
- "properties": [
- {
- "name": "message",
- "description": "Error message.",
- "type": "string"
- },
- {
- "name": "critical",
- "description": "If critical, this is a non-recoverable parse error.",
- "type": "integer"
- },
- {
- "name": "line",
- "description": "Error line.",
- "type": "integer"
- },
- {
- "name": "column",
- "description": "Error column.",
- "type": "integer"
- }
- ]
- },
- {
- "id": "AppManifestParsedProperties",
- "description": "Parsed app manifest properties.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "scope",
- "description": "Computed scope value",
- "type": "string"
- }
- ]
- },
- {
- "id": "LayoutViewport",
- "description": "Layout viewport position and dimensions.",
- "type": "object",
- "properties": [
- {
- "name": "pageX",
- "description": "Horizontal offset relative to the document (CSS pixels).",
- "type": "integer"
- },
- {
- "name": "pageY",
- "description": "Vertical offset relative to the document (CSS pixels).",
- "type": "integer"
- },
- {
- "name": "clientWidth",
- "description": "Width (CSS pixels), excludes scrollbar if present.",
- "type": "integer"
- },
- {
- "name": "clientHeight",
- "description": "Height (CSS pixels), excludes scrollbar if present.",
- "type": "integer"
- }
- ]
- },
- {
- "id": "VisualViewport",
- "description": "Visual viewport position, dimensions, and scale.",
- "type": "object",
- "properties": [
- {
- "name": "offsetX",
- "description": "Horizontal offset relative to the layout viewport (CSS pixels).",
- "type": "number"
- },
- {
- "name": "offsetY",
- "description": "Vertical offset relative to the layout viewport (CSS pixels).",
- "type": "number"
- },
- {
- "name": "pageX",
- "description": "Horizontal offset relative to the document (CSS pixels).",
- "type": "number"
- },
- {
- "name": "pageY",
- "description": "Vertical offset relative to the document (CSS pixels).",
- "type": "number"
- },
- {
- "name": "clientWidth",
- "description": "Width (CSS pixels), excludes scrollbar if present.",
- "type": "number"
- },
- {
- "name": "clientHeight",
- "description": "Height (CSS pixels), excludes scrollbar if present.",
- "type": "number"
- },
- {
- "name": "scale",
- "description": "Scale relative to the ideal viewport (size at width=device-width).",
- "type": "number"
- },
- {
- "name": "zoom",
- "description": "Page zoom factor (CSS to device independent pixels ratio).",
- "optional": true,
- "type": "number"
- }
- ]
- },
+ "types": [
{
- "id": "Viewport",
- "description": "Viewport for capturing screenshot.",
+ "id": "SourceOrderConfig",
+ "description": "Configuration data for drawing the source order of an elements children.",
"type": "object",
"properties": [
{
- "name": "x",
- "description": "X offset in device independent pixels (dip).",
- "type": "number"
- },
- {
- "name": "y",
- "description": "Y offset in device independent pixels (dip).",
- "type": "number"
- },
- {
- "name": "width",
- "description": "Rectangle width in device independent pixels (dip).",
- "type": "number"
- },
- {
- "name": "height",
- "description": "Rectangle height in device independent pixels (dip).",
- "type": "number"
+ "name": "parentOutlineColor",
+ "description": "the color to outline the given element in.",
+ "$ref": "DOM.RGBA"
},
{
- "name": "scale",
- "description": "Page scale factor.",
- "type": "number"
+ "name": "childOutlineColor",
+ "description": "the color to outline the child elements in.",
+ "$ref": "DOM.RGBA"
}
]
},
{
- "id": "FontFamilies",
- "description": "Generic font families collection.",
- "experimental": true,
+ "id": "GridHighlightConfig",
+ "description": "Configuration data for the highlighting of Grid elements.",
"type": "object",
"properties": [
{
- "name": "standard",
- "description": "The standard font-family.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "fixed",
- "description": "The fixed font-family.",
+ "name": "showGridExtensionLines",
+ "description": "Whether the extension lines from grid cells to the rulers should be shown (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "serif",
- "description": "The serif font-family.",
+ "name": "showPositiveLineNumbers",
+ "description": "Show Positive line number labels (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "sansSerif",
- "description": "The sansSerif font-family.",
+ "name": "showNegativeLineNumbers",
+ "description": "Show Negative line number labels (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "cursive",
- "description": "The cursive font-family.",
+ "name": "showAreaNames",
+ "description": "Show area name labels (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "fantasy",
- "description": "The fantasy font-family.",
+ "name": "showLineNames",
+ "description": "Show line name labels (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "math",
- "description": "The math font-family.",
+ "name": "showTrackSizes",
+ "description": "Show track size labels (default: false).",
"optional": true,
- "type": "string"
- }
- ]
- },
- {
- "id": "ScriptFontFamilies",
- "description": "Font families collection for a script.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "script",
- "description": "Name of the script which these font families are defined for.",
- "type": "string"
+ "type": "boolean"
},
{
- "name": "fontFamilies",
- "description": "Generic font families collection for the script.",
- "$ref": "FontFamilies"
- }
- ]
- },
- {
- "id": "FontSizes",
- "description": "Default font sizes.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "standard",
- "description": "Default standard font size.",
+ "name": "gridBorderColor",
+ "description": "The grid container border highlight color (default: transparent).",
"optional": true,
- "type": "integer"
+ "$ref": "DOM.RGBA"
},
{
- "name": "fixed",
- "description": "Default fixed font size.",
+ "name": "cellBorderColor",
+ "description": "The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead.",
+ "deprecated": true,
"optional": true,
- "type": "integer"
- }
- ]
- },
- {
- "id": "ClientNavigationReason",
- "experimental": true,
- "type": "string",
- "enum": [
- "anchorClick",
- "formSubmissionGet",
- "formSubmissionPost",
- "httpHeaderRefresh",
- "initialFrameNavigation",
- "metaTagRefresh",
- "other",
- "pageBlockInterstitial",
- "reload",
- "scriptInitiated"
- ]
- },
- {
- "id": "ClientNavigationDisposition",
- "experimental": true,
- "type": "string",
- "enum": [
- "currentTab",
- "newTab",
- "newWindow",
- "download"
- ]
- },
- {
- "id": "InstallabilityErrorArgument",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Argument name (e.g. name:'minimum-icon-size-in-pixels').",
- "type": "string"
- },
- {
- "name": "value",
- "description": "Argument value (e.g. value:'64').",
- "type": "string"
- }
- ]
- },
- {
- "id": "InstallabilityError",
- "description": "The installability error",
- "experimental": true,
- "type": "object",
- "properties": [
+ "$ref": "DOM.RGBA"
+ },
{
- "name": "errorId",
- "description": "The error id (e.g. 'manifest-missing-suitable-icon').",
- "type": "string"
+ "name": "rowLineColor",
+ "description": "The row line color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "errorArguments",
- "description": "The list of error arguments (e.g. {name:'minimum-icon-size-in-pixels', value:'64'}).",
- "type": "array",
- "items": {
- "$ref": "InstallabilityErrorArgument"
- }
- }
- ]
- },
- {
- "id": "ReferrerPolicy",
- "description": "The referring-policy used for the navigation.",
- "experimental": true,
- "type": "string",
- "enum": [
- "noReferrer",
- "noReferrerWhenDowngrade",
- "origin",
- "originWhenCrossOrigin",
- "sameOrigin",
- "strictOrigin",
- "strictOriginWhenCrossOrigin",
- "unsafeUrl"
- ]
- },
- {
- "id": "CompilationCacheParams",
- "description": "Per-script compilation cache parameters for `Page.produceCompilationCache`",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "columnLineColor",
+ "description": "The column line color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
{
- "name": "url",
- "description": "The URL of the script to produce a compilation cache entry for.",
- "type": "string"
+ "name": "gridBorderDash",
+ "description": "Whether the grid border is dashed (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "eager",
- "description": "A hint to the backend whether eager compilation is recommended.\n(the actual compilation mode used is upon backend discretion).",
+ "name": "cellBorderDash",
+ "description": "Whether the cell border is dashed (default: false). Deprecated, please us rowLineDash and columnLineDash instead.",
+ "deprecated": true,
"optional": true,
"type": "boolean"
- }
- ]
- },
- {
- "id": "FileFilter",
- "experimental": true,
- "type": "object",
- "properties": [
+ },
{
- "name": "name",
+ "name": "rowLineDash",
+ "description": "Whether row lines are dashed (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "accepts",
+ "name": "columnLineDash",
+ "description": "Whether column lines are dashed (default: false).",
"optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- {
- "id": "FileHandler",
- "experimental": true,
- "type": "object",
- "properties": [
+ "type": "boolean"
+ },
{
- "name": "action",
- "type": "string"
+ "name": "rowGapColor",
+ "description": "The row gap highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "name",
- "type": "string"
+ "name": "rowHatchColor",
+ "description": "The row gap hatching fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "icons",
+ "name": "columnGapColor",
+ "description": "The column gap highlight fill color (default: transparent).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "ImageResource"
- }
+ "$ref": "DOM.RGBA"
},
{
- "name": "accepts",
- "description": "Mimic a map, name is the key, accepts is the value.",
+ "name": "columnHatchColor",
+ "description": "The column gap hatching fill color (default: transparent).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "FileFilter"
- }
+ "$ref": "DOM.RGBA"
},
{
- "name": "launchType",
- "description": "Won't repeat the enums, using string for easy comparison. Same as the\nother enums below.",
- "type": "string"
+ "name": "areaBorderColor",
+ "description": "The named grid areas border color (Default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "gridBackgroundColor",
+ "description": "The grid container background color (Default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
}
]
},
{
- "id": "ImageResource",
- "description": "The image definition used in both icon and screenshot.",
- "experimental": true,
+ "id": "FlexContainerHighlightConfig",
+ "description": "Configuration data for the highlighting of Flex container elements.",
"type": "object",
"properties": [
{
- "name": "url",
- "description": "The src field in the definition, but changing to url in favor of\nconsistency.",
- "type": "string"
+ "name": "containerBorder",
+ "description": "The style of the container border",
+ "optional": true,
+ "$ref": "LineStyle"
},
{
- "name": "sizes",
+ "name": "lineSeparator",
+ "description": "The style of the separator between lines",
"optional": true,
- "type": "string"
+ "$ref": "LineStyle"
},
{
- "name": "type",
+ "name": "itemSeparator",
+ "description": "The style of the separator between items",
"optional": true,
- "type": "string"
- }
- ]
- },
- {
- "id": "LaunchHandler",
- "experimental": true,
- "type": "object",
- "properties": [
+ "$ref": "LineStyle"
+ },
{
- "name": "clientMode",
- "type": "string"
- }
- ]
- },
- {
- "id": "ProtocolHandler",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "mainDistributedSpace",
+ "description": "Style of content-distribution space on the main axis (justify-content).",
+ "optional": true,
+ "$ref": "BoxStyle"
+ },
{
- "name": "protocol",
- "type": "string"
+ "name": "crossDistributedSpace",
+ "description": "Style of content-distribution space on the cross axis (align-content).",
+ "optional": true,
+ "$ref": "BoxStyle"
},
{
- "name": "url",
- "type": "string"
+ "name": "rowGapSpace",
+ "description": "Style of empty space caused by row gaps (gap/row-gap).",
+ "optional": true,
+ "$ref": "BoxStyle"
+ },
+ {
+ "name": "columnGapSpace",
+ "description": "Style of empty space caused by columns gaps (gap/column-gap).",
+ "optional": true,
+ "$ref": "BoxStyle"
+ },
+ {
+ "name": "crossAlignment",
+ "description": "Style of the self-alignment line (align-items).",
+ "optional": true,
+ "$ref": "LineStyle"
}
]
},
{
- "id": "RelatedApplication",
- "experimental": true,
+ "id": "FlexItemHighlightConfig",
+ "description": "Configuration data for the highlighting of Flex item elements.",
"type": "object",
"properties": [
{
- "name": "id",
+ "name": "baseSizeBox",
+ "description": "Style of the box representing the item's base size",
"optional": true,
- "type": "string"
+ "$ref": "BoxStyle"
},
{
- "name": "url",
- "type": "string"
+ "name": "baseSizeBorder",
+ "description": "Style of the border around the box representing the item's base size",
+ "optional": true,
+ "$ref": "LineStyle"
+ },
+ {
+ "name": "flexibilityArrow",
+ "description": "Style of the arrow representing if the item grew or shrank",
+ "optional": true,
+ "$ref": "LineStyle"
}
]
},
{
- "id": "ScopeExtension",
- "experimental": true,
+ "id": "LineStyle",
+ "description": "Style information for drawing a line.",
"type": "object",
"properties": [
{
- "name": "origin",
- "description": "Instead of using tuple, this field always returns the serialized string\nfor easy understanding and comparison.",
- "type": "string"
+ "name": "color",
+ "description": "The color of the line (default: transparent)",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "hasOriginWildcard",
- "type": "boolean"
+ "name": "pattern",
+ "description": "The line pattern (default: solid)",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "dashed",
+ "dotted"
+ ]
}
]
},
{
- "id": "Screenshot",
- "experimental": true,
+ "id": "BoxStyle",
+ "description": "Style information for drawing a box.",
"type": "object",
"properties": [
{
- "name": "image",
- "$ref": "ImageResource"
- },
- {
- "name": "formFactor",
- "type": "string"
+ "name": "fillColor",
+ "description": "The background color for the box (default: transparent)",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "label",
+ "name": "hatchColor",
+ "description": "The hatching color for the box (default: transparent)",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
}
]
},
{
- "id": "ShareTarget",
- "experimental": true,
+ "id": "ContrastAlgorithm",
+ "type": "string",
+ "enum": [
+ "aa",
+ "aaa",
+ "apca"
+ ]
+ },
+ {
+ "id": "HighlightConfig",
+ "description": "Configuration data for the highlighting of page elements.",
"type": "object",
"properties": [
{
- "name": "action",
- "type": "string"
+ "name": "showInfo",
+ "description": "Whether the node info tooltip should be shown (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "method",
- "type": "string"
+ "name": "showStyles",
+ "description": "Whether the node styles in the tooltip (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "enctype",
- "type": "string"
+ "name": "showRulers",
+ "description": "Whether the rulers should be shown (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "title",
- "description": "Embed the ShareTargetParams",
+ "name": "showAccessibilityInfo",
+ "description": "Whether the a11y info should be shown (default: true).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "text",
+ "name": "showExtensionLines",
+ "description": "Whether the extension lines from node to the rulers should be shown (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "url",
+ "name": "contentColor",
+ "description": "The content box highlight fill color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "files",
+ "name": "paddingColor",
+ "description": "The padding highlight fill color (default: transparent).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "FileFilter"
- }
- }
- ]
- },
- {
- "id": "Shortcut",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "name",
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "url",
- "type": "string"
- }
- ]
- },
- {
- "id": "WebAppManifest",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "backgroundColor",
+ "name": "borderColor",
+ "description": "The border highlight fill color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "description",
- "description": "The extra description provided by the manifest.",
+ "name": "marginColor",
+ "description": "The margin highlight fill color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "dir",
+ "name": "eventTargetColor",
+ "description": "The event target element highlight fill color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "display",
+ "name": "shapeColor",
+ "description": "The shape outside fill color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "displayOverrides",
- "description": "The overrided display mode controlled by the user.",
+ "name": "shapeMarginColor",
+ "description": "The shape margin fill color (default: transparent).",
"optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
+ "$ref": "DOM.RGBA"
},
{
- "name": "fileHandlers",
- "description": "The handlers to open files.",
+ "name": "cssGridColor",
+ "description": "The grid layout color (default: transparent).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "FileHandler"
- }
+ "$ref": "DOM.RGBA"
},
{
- "name": "icons",
+ "name": "colorFormat",
+ "description": "The color format used to format color styles (default: hex).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "ImageResource"
- }
+ "$ref": "ColorFormat"
},
{
- "name": "id",
+ "name": "gridHighlightConfig",
+ "description": "The grid layout highlight configuration (default: all transparent).",
"optional": true,
- "type": "string"
+ "$ref": "GridHighlightConfig"
},
{
- "name": "lang",
+ "name": "flexContainerHighlightConfig",
+ "description": "The flex container highlight configuration (default: all transparent).",
"optional": true,
- "type": "string"
+ "$ref": "FlexContainerHighlightConfig"
},
{
- "name": "launchHandler",
- "description": "TODO(crbug.com/1231886): This field is non-standard and part of a Chrome\nexperiment. See:\nhttps://github.com/WICG/web-app-launch/blob/main/launch_handler.md",
+ "name": "flexItemHighlightConfig",
+ "description": "The flex item highlight configuration (default: all transparent).",
"optional": true,
- "$ref": "LaunchHandler"
+ "$ref": "FlexItemHighlightConfig"
},
{
- "name": "name",
+ "name": "contrastAlgorithm",
+ "description": "The contrast algorithm to use for the contrast ratio (default: aa).",
"optional": true,
- "type": "string"
+ "$ref": "ContrastAlgorithm"
},
{
- "name": "orientation",
+ "name": "containerQueryContainerHighlightConfig",
+ "description": "The container query container highlight configuration (default: all transparent).",
"optional": true,
- "type": "string"
+ "$ref": "ContainerQueryContainerHighlightConfig"
+ }
+ ]
+ },
+ {
+ "id": "ColorFormat",
+ "type": "string",
+ "enum": [
+ "rgb",
+ "hsl",
+ "hwb",
+ "hex"
+ ]
+ },
+ {
+ "id": "GridNodeHighlightConfig",
+ "description": "Configurations for Persistent Grid Highlight",
+ "type": "object",
+ "properties": [
+ {
+ "name": "gridHighlightConfig",
+ "description": "A descriptor for the highlight appearance.",
+ "$ref": "GridHighlightConfig"
},
{
- "name": "preferRelatedApplications",
- "optional": true,
- "type": "boolean"
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
+ ]
+ },
+ {
+ "id": "FlexNodeHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "flexContainerHighlightConfig",
+ "description": "A descriptor for the highlight appearance of flex containers.",
+ "$ref": "FlexContainerHighlightConfig"
},
{
- "name": "protocolHandlers",
- "description": "The handlers to open protocols.",
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
+ ]
+ },
+ {
+ "id": "ScrollSnapContainerHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "snapportBorder",
+ "description": "The style of the snapport border (default: transparent)",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "ProtocolHandler"
- }
+ "$ref": "LineStyle"
},
{
- "name": "relatedApplications",
+ "name": "snapAreaBorder",
+ "description": "The style of the snap area border (default: transparent)",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "RelatedApplication"
- }
+ "$ref": "LineStyle"
},
{
- "name": "scope",
+ "name": "scrollMarginColor",
+ "description": "The margin highlight fill color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "scopeExtensions",
- "description": "Non-standard, see\nhttps://github.com/WICG/manifest-incubations/blob/gh-pages/scope_extensions-explainer.md",
+ "name": "scrollPaddingColor",
+ "description": "The padding highlight fill color (default: transparent).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "ScopeExtension"
- }
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "id": "ScrollSnapHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "scrollSnapContainerHighlightConfig",
+ "description": "A descriptor for the highlight appearance of scroll snap containers.",
+ "$ref": "ScrollSnapContainerHighlightConfig"
},
{
- "name": "screenshots",
- "description": "The screenshots used by chromium.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "Screenshot"
- }
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
+ ]
+ },
+ {
+ "id": "HingeConfig",
+ "description": "Configuration for dual screen hinge",
+ "type": "object",
+ "properties": [
+ {
+ "name": "rect",
+ "description": "A rectangle represent hinge",
+ "$ref": "DOM.Rect"
},
{
- "name": "shareTarget",
+ "name": "contentColor",
+ "description": "The content box highlight fill color (default: a dark color).",
"optional": true,
- "$ref": "ShareTarget"
+ "$ref": "DOM.RGBA"
},
{
- "name": "shortName",
+ "name": "outlineColor",
+ "description": "The content box highlight outline color (default: transparent).",
"optional": true,
- "type": "string"
- },
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "id": "WindowControlsOverlayConfig",
+ "description": "Configuration for Window Controls Overlay",
+ "type": "object",
+ "properties": [
{
- "name": "shortcuts",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "Shortcut"
- }
+ "name": "showCSS",
+ "description": "Whether the title bar CSS should be shown when emulating the Window Controls Overlay.",
+ "type": "boolean"
},
{
- "name": "startUrl",
- "optional": true,
+ "name": "selectedPlatform",
+ "description": "Selected platforms to show the overlay.",
"type": "string"
},
{
"name": "themeColor",
- "optional": true,
+ "description": "The theme color defined in app manifest.",
"type": "string"
}
]
},
{
- "id": "AutoResponseMode",
- "description": "Enum of possible auto-response for permission / prompt dialogs.",
- "experimental": true,
- "type": "string",
- "enum": [
- "none",
- "autoAccept",
- "autoReject",
- "autoOptOut"
- ]
- },
- {
- "id": "NavigationType",
- "description": "The type of a frameNavigated event.",
- "experimental": true,
- "type": "string",
- "enum": [
- "Navigation",
- "BackForwardCacheRestore"
+ "id": "ContainerQueryHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "containerQueryContainerHighlightConfig",
+ "description": "A descriptor for the highlight appearance of container query containers.",
+ "$ref": "ContainerQueryContainerHighlightConfig"
+ },
+ {
+ "name": "nodeId",
+ "description": "Identifier of the container node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
]
},
{
- "id": "BackForwardCacheNotRestoredReason",
- "description": "List of not restored reasons for back-forward cache.",
- "experimental": true,
- "type": "string",
- "enum": [
- "NotPrimaryMainFrame",
- "BackForwardCacheDisabled",
- "RelatedActiveContentsExist",
- "HTTPStatusNotOK",
- "SchemeNotHTTPOrHTTPS",
- "Loading",
- "WasGrantedMediaAccess",
- "DisableForRenderFrameHostCalled",
- "DomainNotAllowed",
- "HTTPMethodNotGET",
- "SubframeIsNavigating",
- "Timeout",
- "CacheLimit",
- "JavaScriptExecution",
- "RendererProcessKilled",
- "RendererProcessCrashed",
- "SchedulerTrackedFeatureUsed",
- "ConflictingBrowsingInstance",
- "CacheFlushed",
- "ServiceWorkerVersionActivation",
- "SessionRestored",
- "ServiceWorkerPostMessage",
- "EnteredBackForwardCacheBeforeServiceWorkerHostAdded",
- "RenderFrameHostReused_SameSite",
- "RenderFrameHostReused_CrossSite",
- "ServiceWorkerClaim",
- "IgnoreEventAndEvict",
- "HaveInnerContents",
- "TimeoutPuttingInCache",
- "BackForwardCacheDisabledByLowMemory",
- "BackForwardCacheDisabledByCommandLine",
- "NetworkRequestDatapipeDrainedAsBytesConsumer",
- "NetworkRequestRedirected",
- "NetworkRequestTimeout",
- "NetworkExceedsBufferLimit",
- "NavigationCancelledWhileRestoring",
- "NotMostRecentNavigationEntry",
- "BackForwardCacheDisabledForPrerender",
- "UserAgentOverrideDiffers",
- "ForegroundCacheLimit",
- "BrowsingInstanceNotSwapped",
- "BackForwardCacheDisabledForDelegate",
- "UnloadHandlerExistsInMainFrame",
- "UnloadHandlerExistsInSubFrame",
- "ServiceWorkerUnregistration",
- "CacheControlNoStore",
- "CacheControlNoStoreCookieModified",
- "CacheControlNoStoreHTTPOnlyCookieModified",
- "NoResponseHead",
- "Unknown",
- "ActivationNavigationsDisallowedForBug1234857",
- "ErrorDocument",
- "FencedFramesEmbedder",
- "CookieDisabled",
- "HTTPAuthRequired",
- "CookieFlushed",
- "BroadcastChannelOnMessage",
- "WebViewSettingsChanged",
- "WebViewJavaScriptObjectChanged",
- "WebViewMessageListenerInjected",
- "WebViewSafeBrowsingAllowlistChanged",
- "WebViewDocumentStartJavascriptChanged",
- "WebSocket",
- "WebTransport",
- "WebRTC",
- "MainResourceHasCacheControlNoStore",
- "MainResourceHasCacheControlNoCache",
- "SubresourceHasCacheControlNoStore",
- "SubresourceHasCacheControlNoCache",
- "ContainsPlugins",
- "DocumentLoaded",
- "OutstandingNetworkRequestOthers",
- "RequestedMIDIPermission",
- "RequestedAudioCapturePermission",
- "RequestedVideoCapturePermission",
- "RequestedBackForwardCacheBlockedSensors",
- "RequestedBackgroundWorkPermission",
- "BroadcastChannel",
- "WebXR",
- "SharedWorker",
- "WebLocks",
- "WebHID",
- "WebShare",
- "RequestedStorageAccessGrant",
- "WebNfc",
- "OutstandingNetworkRequestFetch",
- "OutstandingNetworkRequestXHR",
- "AppBanner",
- "Printing",
- "WebDatabase",
- "PictureInPicture",
- "SpeechRecognizer",
- "IdleManager",
- "PaymentManager",
- "SpeechSynthesis",
- "KeyboardLock",
- "WebOTPService",
- "OutstandingNetworkRequestDirectSocket",
- "InjectedJavascript",
- "InjectedStyleSheet",
- "KeepaliveRequest",
- "IndexedDBEvent",
- "Dummy",
- "JsNetworkRequestReceivedCacheControlNoStoreResource",
- "WebRTCSticky",
- "WebTransportSticky",
- "WebSocketSticky",
- "SmartCard",
- "LiveMediaStreamTrack",
- "UnloadHandler",
- "ParserAborted",
- "ContentSecurityHandler",
- "ContentWebAuthenticationAPI",
- "ContentFileChooser",
- "ContentSerial",
- "ContentFileSystemAccess",
- "ContentMediaDevicesDispatcherHost",
- "ContentWebBluetooth",
- "ContentWebUSB",
- "ContentMediaSessionService",
- "ContentScreenReader",
- "ContentDiscarded",
- "EmbedderPopupBlockerTabHelper",
- "EmbedderSafeBrowsingTriggeredPopupBlocker",
- "EmbedderSafeBrowsingThreatDetails",
- "EmbedderAppBannerManager",
- "EmbedderDomDistillerViewerSource",
- "EmbedderDomDistillerSelfDeletingRequestDelegate",
- "EmbedderOomInterventionTabHelper",
- "EmbedderOfflinePage",
- "EmbedderChromePasswordManagerClientBindCredentialManager",
- "EmbedderPermissionRequestManager",
- "EmbedderModalDialog",
- "EmbedderExtensions",
- "EmbedderExtensionMessaging",
- "EmbedderExtensionMessagingForOpenPort",
- "EmbedderExtensionSentMessageToCachedFrame",
- "RequestedByWebViewClient",
- "PostMessageByWebViewClient",
- "CacheControlNoStoreDeviceBoundSessionTerminated",
- "CacheLimitPrunedOnModerateMemoryPressure",
- "CacheLimitPrunedOnCriticalMemoryPressure"
+ "id": "ContainerQueryContainerHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "containerBorder",
+ "description": "The style of the container border.",
+ "optional": true,
+ "$ref": "LineStyle"
+ },
+ {
+ "name": "descendantBorder",
+ "description": "The style of the descendants' borders.",
+ "optional": true,
+ "$ref": "LineStyle"
+ }
]
},
{
- "id": "BackForwardCacheNotRestoredReasonType",
- "description": "Types of not restored reasons for back-forward cache.",
- "experimental": true,
- "type": "string",
- "enum": [
- "SupportPending",
- "PageSupportNeeded",
- "Circumstantial"
+ "id": "IsolatedElementHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "isolationModeHighlightConfig",
+ "description": "A descriptor for the highlight appearance of an element in isolation mode.",
+ "$ref": "IsolationModeHighlightConfig"
+ },
+ {
+ "name": "nodeId",
+ "description": "Identifier of the isolated element to highlight.",
+ "$ref": "DOM.NodeId"
+ }
]
},
{
- "id": "BackForwardCacheBlockingDetails",
- "experimental": true,
+ "id": "IsolationModeHighlightConfig",
"type": "object",
"properties": [
{
- "name": "url",
- "description": "Url of the file where blockage happened. Optional because of tests.",
+ "name": "resizerColor",
+ "description": "The fill color of the resizers (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "function",
- "description": "Function name where blockage happened. Optional because of anonymous functions and tests.",
+ "name": "resizerHandleColor",
+ "description": "The fill color for resizer handles (default: transparent).",
"optional": true,
- "type": "string"
- },
- {
- "name": "lineNumber",
- "description": "Line number in the script (0-based).",
- "type": "integer"
+ "$ref": "DOM.RGBA"
},
{
- "name": "columnNumber",
- "description": "Column number in the script (0-based).",
- "type": "integer"
+ "name": "maskColor",
+ "description": "The fill color for the mask covering non-isolated elements (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
}
]
},
{
- "id": "BackForwardCacheNotRestoredExplanation",
- "experimental": true,
- "type": "object",
- "properties": [
+ "id": "InspectMode",
+ "type": "string",
+ "enum": [
+ "searchForNode",
+ "searchForUAShadowDOM",
+ "captureAreaScreenshot",
+ "none"
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disables domain notifications."
+ },
+ {
+ "name": "enable",
+ "description": "Enables domain notifications."
+ },
+ {
+ "name": "getHighlightObjectForTest",
+ "description": "For testing.",
+ "parameters": [
{
- "name": "type",
- "description": "Type of the reason",
- "$ref": "BackForwardCacheNotRestoredReasonType"
+ "name": "nodeId",
+ "description": "Id of the node to get highlight object for.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "reason",
- "description": "Not restored reason",
- "$ref": "BackForwardCacheNotRestoredReason"
+ "name": "includeDistance",
+ "description": "Whether to include distance info.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "context",
- "description": "Context associated with the reason. The meaning of this context is\ndependent on the reason:\n- EmbedderExtensionSentMessageToCachedFrame: the extension ID.",
+ "name": "includeStyle",
+ "description": "Whether to include style info.",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "details",
+ "name": "colorFormat",
+ "description": "The color format to get config with (default: hex).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "BackForwardCacheBlockingDetails"
- }
+ "$ref": "ColorFormat"
+ },
+ {
+ "name": "showAccessibilityInfo",
+ "description": "Whether to show accessibility info (default: true).",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "highlight",
+ "description": "Highlight data for the node.",
+ "type": "object"
}
]
},
{
- "id": "BackForwardCacheNotRestoredExplanationTree",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "url",
- "description": "URL of each frame",
- "type": "string"
- },
+ "name": "getGridHighlightObjectsForTest",
+ "description": "For Persistent Grid testing.",
+ "parameters": [
{
- "name": "explanations",
- "description": "Not restored reasons of each frame",
+ "name": "nodeIds",
+ "description": "Ids of the node to get highlight object for.",
"type": "array",
"items": {
- "$ref": "BackForwardCacheNotRestoredExplanation"
+ "$ref": "DOM.NodeId"
}
- },
+ }
+ ],
+ "returns": [
{
- "name": "children",
- "description": "Array of children frame",
- "type": "array",
- "items": {
- "$ref": "BackForwardCacheNotRestoredExplanationTree"
- }
+ "name": "highlights",
+ "description": "Grid Highlight data for the node ids provided.",
+ "type": "object"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "addScriptToEvaluateOnLoad",
- "description": "Deprecated, please use addScriptToEvaluateOnNewDocument instead.",
- "experimental": true,
- "deprecated": true,
+ "name": "getSourceOrderHighlightObjectForTest",
+ "description": "For Source Order Viewer testing.",
"parameters": [
{
- "name": "scriptSource",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node to highlight.",
+ "$ref": "DOM.NodeId"
}
],
"returns": [
{
- "name": "identifier",
- "description": "Identifier of the added script.",
- "$ref": "ScriptIdentifier"
+ "name": "highlight",
+ "description": "Source order highlight data for the node id provided.",
+ "type": "object"
}
]
},
{
- "name": "addScriptToEvaluateOnNewDocument",
- "description": "Evaluates given script in every frame upon creation (before loading frame's scripts).",
+ "name": "hideHighlight",
+ "description": "Hides any highlight."
+ },
+ {
+ "name": "highlightFrame",
+ "description": "Highlights owner element of the frame with given id.\nDeprecated: Doesn't work reliably and cannot be fixed due to process\nseparation (the owner node might be in a different process). Determine\nthe owner node in the client and use highlightNode.",
+ "deprecated": true,
"parameters": [
{
- "name": "source",
- "type": "string"
+ "name": "frameId",
+ "description": "Identifier of the frame to highlight.",
+ "$ref": "Page.FrameId"
},
{
- "name": "worldName",
- "description": "If specified, creates an isolated world with the given name and evaluates given script in it.\nThis world name will be used as the ExecutionContextDescription::name when the corresponding\nevent is emitted.",
- "experimental": true,
+ "name": "contentColor",
+ "description": "The content box highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "contentOutlineColor",
+ "description": "The content box highlight outline color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "name": "highlightNode",
+ "description": "Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or\nobjectId must be specified.",
+ "parameters": [
+ {
+ "name": "highlightConfig",
+ "description": "A descriptor for the highlight appearance.",
+ "$ref": "HighlightConfig"
+ },
+ {
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
+ "optional": true,
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node to highlight.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node to be highlighted.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
+ },
+ {
+ "name": "selector",
+ "description": "Selectors to highlight relevant nodes.",
"optional": true,
"type": "string"
+ }
+ ]
+ },
+ {
+ "name": "highlightQuad",
+ "description": "Highlights given quad. Coordinates are absolute with respect to the main frame viewport.",
+ "parameters": [
+ {
+ "name": "quad",
+ "description": "Quad to highlight",
+ "$ref": "DOM.Quad"
},
{
- "name": "includeCommandLineAPI",
- "description": "Specifies whether command line API should be available to the script, defaults\nto false.",
- "experimental": true,
+ "name": "color",
+ "description": "The highlight fill color (default: transparent).",
"optional": true,
- "type": "boolean"
+ "$ref": "DOM.RGBA"
},
{
- "name": "runImmediately",
- "description": "If true, runs the script immediately on existing execution contexts or worlds.\nDefault: false.",
- "experimental": true,
+ "name": "outlineColor",
+ "description": "The highlight outline color (default: transparent).",
"optional": true,
- "type": "boolean"
+ "$ref": "DOM.RGBA"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "highlightRect",
+ "description": "Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.\nIssue: the method does not handle device pixel ratio (DPR) correctly.\nThe coordinates currently have to be adjusted by the client\nif DPR is not 1 (see crbug.com/437807128).",
+ "parameters": [
+ {
+ "name": "x",
+ "description": "X coordinate",
+ "type": "integer"
+ },
+ {
+ "name": "y",
+ "description": "Y coordinate",
+ "type": "integer"
+ },
+ {
+ "name": "width",
+ "description": "Rectangle width",
+ "type": "integer"
+ },
+ {
+ "name": "height",
+ "description": "Rectangle height",
+ "type": "integer"
+ },
+ {
+ "name": "color",
+ "description": "The highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
{
- "name": "identifier",
- "description": "Identifier of the added script.",
- "$ref": "ScriptIdentifier"
+ "name": "outlineColor",
+ "description": "The highlight outline color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
}
]
},
{
- "name": "bringToFront",
- "description": "Brings page to front (activates tab)."
- },
- {
- "name": "captureScreenshot",
- "description": "Capture page screenshot.",
+ "name": "highlightSourceOrder",
+ "description": "Highlights the source order of the children of the DOM node with given id or with the given\nJavaScript object wrapper. Either nodeId or objectId must be specified.",
"parameters": [
{
- "name": "format",
- "description": "Image compression format (defaults to png).",
- "optional": true,
- "type": "string",
- "enum": [
- "jpeg",
- "png",
- "webp"
- ]
+ "name": "sourceOrderConfig",
+ "description": "A descriptor for the appearance of the overlay drawing.",
+ "$ref": "SourceOrderConfig"
},
{
- "name": "quality",
- "description": "Compression quality from range [0..100] (jpeg only).",
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
"optional": true,
- "type": "integer"
+ "$ref": "DOM.NodeId"
},
{
- "name": "clip",
- "description": "Capture the screenshot of a given region only.",
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node to highlight.",
"optional": true,
- "$ref": "Viewport"
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "fromSurface",
- "description": "Capture the screenshot from the surface, rather than the view. Defaults to true.",
- "experimental": true,
+ "name": "objectId",
+ "description": "JavaScript object id of the node to be highlighted.",
"optional": true,
- "type": "boolean"
- },
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ]
+ },
+ {
+ "name": "setInspectMode",
+ "description": "Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted.\nBackend then generates 'inspectNodeRequested' event upon element selection.",
+ "parameters": [
{
- "name": "captureBeyondViewport",
- "description": "Capture the screenshot beyond the viewport. Defaults to false.",
- "experimental": true,
- "optional": true,
- "type": "boolean"
+ "name": "mode",
+ "description": "Set an inspection mode.",
+ "$ref": "InspectMode"
},
{
- "name": "optimizeForSpeed",
- "description": "Optimize image encoding for speed, not for resulting size (defaults to false)",
- "experimental": true,
+ "name": "highlightConfig",
+ "description": "A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled\n== false`.",
"optional": true,
- "type": "boolean"
+ "$ref": "HighlightConfig"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "setShowAdHighlights",
+ "description": "Highlights owner element of all frames detected to be ads.",
+ "parameters": [
{
- "name": "data",
- "description": "Base64-encoded image data. (Encoded as a base64 string when passed over JSON)",
- "type": "string"
+ "name": "show",
+ "description": "True for showing ad highlights",
+ "type": "boolean"
}
]
},
{
- "name": "captureSnapshot",
- "description": "Returns a snapshot of the page as a string. For MHTML format, the serialization includes\niframes, shadow DOM, external resources, and element-inline styles.",
- "experimental": true,
+ "name": "setPausedInDebuggerMessage",
"parameters": [
{
- "name": "format",
- "description": "Format (defaults to mhtml).",
+ "name": "message",
+ "description": "The message to display, also triggers resume and step over controls.",
"optional": true,
- "type": "string",
- "enum": [
- "mhtml"
- ]
+ "type": "string"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "setShowDebugBorders",
+ "description": "Requests that backend shows debug borders on layers",
+ "parameters": [
{
- "name": "data",
- "description": "Serialized page data.",
- "type": "string"
+ "name": "show",
+ "description": "True for showing debug borders",
+ "type": "boolean"
}
]
},
{
- "name": "clearDeviceMetricsOverride",
- "description": "Clears the overridden device metrics.",
- "experimental": true,
- "deprecated": true,
- "redirect": "Emulation"
+ "name": "setShowFPSCounter",
+ "description": "Requests that backend shows the FPS counter",
+ "parameters": [
+ {
+ "name": "show",
+ "description": "True for showing the FPS counter",
+ "type": "boolean"
+ }
+ ]
},
{
- "name": "clearDeviceOrientationOverride",
- "description": "Clears the overridden Device Orientation.",
- "experimental": true,
- "deprecated": true,
- "redirect": "DeviceOrientation"
+ "name": "setShowGridOverlays",
+ "description": "Highlight multiple elements with the CSS Grid overlay.",
+ "parameters": [
+ {
+ "name": "gridNodeHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "GridNodeHighlightConfig"
+ }
+ }
+ ]
},
{
- "name": "clearGeolocationOverride",
- "description": "Clears the overridden Geolocation Position and Error.",
- "deprecated": true,
- "redirect": "Emulation"
+ "name": "setShowFlexOverlays",
+ "parameters": [
+ {
+ "name": "flexNodeHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "FlexNodeHighlightConfig"
+ }
+ }
+ ]
},
{
- "name": "createIsolatedWorld",
- "description": "Creates an isolated world for the given frame.",
+ "name": "setShowScrollSnapOverlays",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame in which the isolated world should be created.",
- "$ref": "FrameId"
- },
+ "name": "scrollSnapHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "ScrollSnapHighlightConfig"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setShowContainerQueryOverlays",
+ "parameters": [
{
- "name": "worldName",
- "description": "An optional name which is reported in the Execution Context.",
- "optional": true,
- "type": "string"
- },
+ "name": "containerQueryHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "ContainerQueryHighlightConfig"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setShowPaintRects",
+ "description": "Requests that backend shows paint rectangles",
+ "parameters": [
{
- "name": "grantUniveralAccess",
- "description": "Whether or not universal access should be granted to the isolated world. This is a powerful\noption, use with caution.",
- "optional": true,
+ "name": "result",
+ "description": "True for showing paint rectangles",
"type": "boolean"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "setShowLayoutShiftRegions",
+ "description": "Requests that backend shows layout shift regions",
+ "parameters": [
{
- "name": "executionContextId",
- "description": "Execution context of the isolated world.",
- "$ref": "Runtime.ExecutionContextId"
+ "name": "result",
+ "description": "True for showing layout shift regions",
+ "type": "boolean"
}
]
},
{
- "name": "deleteCookie",
- "description": "Deletes browser cookie with given name, domain and path.",
- "experimental": true,
- "deprecated": true,
- "redirect": "Network",
+ "name": "setShowScrollBottleneckRects",
+ "description": "Requests that backend shows scroll bottleneck rects",
"parameters": [
{
- "name": "cookieName",
- "description": "Name of the cookie to remove.",
- "type": "string"
- },
- {
- "name": "url",
- "description": "URL to match cooke domain and path.",
- "type": "string"
+ "name": "show",
+ "description": "True for showing scroll bottleneck rects",
+ "type": "boolean"
}
]
},
{
- "name": "disable",
- "description": "Disables page domain notifications."
+ "name": "setShowHitTestBorders",
+ "description": "Deprecated, no longer has any effect.",
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "show",
+ "description": "True for showing hit-test borders",
+ "type": "boolean"
+ }
+ ]
},
{
- "name": "enable",
- "description": "Enables page domain notifications.",
+ "name": "setShowWebVitals",
+ "description": "Deprecated, no longer has any effect.",
+ "deprecated": true,
"parameters": [
{
- "name": "enableFileChooserOpenedEvent",
- "description": "If true, the `Page.fileChooserOpened` event will be emitted regardless of the state set by\n`Page.setInterceptFileChooserDialog` command (default: false).",
- "experimental": true,
- "optional": true,
+ "name": "show",
"type": "boolean"
}
]
},
{
- "name": "getAppManifest",
- "description": "Gets the processed manifest for this current document.\n This API always waits for the manifest to be loaded.\n If manifestId is provided, and it does not match the manifest of the\n current document, this API errors out.\n If there is not a loaded page, this API errors out immediately.",
+ "name": "setShowViewportSizeOnResize",
+ "description": "Paints viewport size upon main frame resize.",
"parameters": [
{
- "name": "manifestId",
- "optional": true,
- "type": "string"
+ "name": "show",
+ "description": "Whether to paint size or not.",
+ "type": "boolean"
}
- ],
- "returns": [
- {
- "name": "url",
- "description": "Manifest location.",
- "type": "string"
- },
- {
- "name": "errors",
- "type": "array",
- "items": {
- "$ref": "AppManifestError"
- }
- },
- {
- "name": "data",
- "description": "Manifest content.",
- "optional": true,
- "type": "string"
- },
+ ]
+ },
+ {
+ "name": "setShowHinge",
+ "description": "Add a dual screen device hinge",
+ "parameters": [
{
- "name": "parsed",
- "description": "Parsed manifest properties. Deprecated, use manifest instead.",
- "experimental": true,
- "deprecated": true,
+ "name": "hingeConfig",
+ "description": "hinge data, null means hideHinge",
"optional": true,
- "$ref": "AppManifestParsedProperties"
- },
- {
- "name": "manifest",
- "experimental": true,
- "$ref": "WebAppManifest"
+ "$ref": "HingeConfig"
}
]
},
{
- "name": "getInstallabilityErrors",
- "experimental": true,
- "returns": [
+ "name": "setShowIsolatedElements",
+ "description": "Show elements in isolation mode with overlays.",
+ "parameters": [
{
- "name": "installabilityErrors",
+ "name": "isolatedElementHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
"type": "array",
"items": {
- "$ref": "InstallabilityError"
+ "$ref": "IsolatedElementHighlightConfig"
}
}
]
},
{
- "name": "getManifestIcons",
- "description": "Deprecated because it's not guaranteed that the returned icon is in fact the one used for PWA installation.",
- "experimental": true,
- "deprecated": true,
- "returns": [
+ "name": "setShowWindowControlsOverlay",
+ "description": "Show Window Controls Overlay for PWA",
+ "parameters": [
{
- "name": "primaryIcon",
+ "name": "windowControlsOverlayConfig",
+ "description": "Window Controls Overlay data, null means hide Window Controls Overlay",
"optional": true,
- "type": "string"
+ "$ref": "WindowControlsOverlayConfig"
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "getAppId",
- "description": "Returns the unique (PWA) app id.\nOnly returns values if the feature flag 'WebAppEnableManifestId' is enabled",
- "experimental": true,
- "returns": [
- {
- "name": "appId",
- "description": "App id, either from manifest's id attribute or computed from start_url",
- "optional": true,
- "type": "string"
- },
+ "name": "inspectNodeRequested",
+ "description": "Fired when the node should be inspected. This happens after call to `setInspectMode` or when\nuser manually inspects an element.",
+ "parameters": [
{
- "name": "recommendedId",
- "description": "Recommendation for manifest's id attribute to match current id computed from start_url",
- "optional": true,
- "type": "string"
+ "name": "backendNodeId",
+ "description": "Id of the node to inspect.",
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "name": "getAdScriptAncestryIds",
- "experimental": true,
+ "name": "nodeHighlightRequested",
+ "description": "Fired when the node should be highlighted. This happens after call to `setInspectMode`.",
"parameters": [
{
- "name": "frameId",
- "$ref": "FrameId"
- }
- ],
- "returns": [
- {
- "name": "adScriptAncestryIds",
- "description": "The ancestry chain of ad script identifiers leading to this frame's\ncreation, ordered from the most immediate script (in the frame creation\nstack) to more distant ancestors (that created the immediately preceding\nscript). Only sent if frame is labelled as an ad and ids are available.",
- "type": "array",
- "items": {
- "$ref": "AdScriptId"
- }
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
}
]
},
{
- "name": "getFrameTree",
- "description": "Returns present frame tree structure.",
- "returns": [
+ "name": "screenshotRequested",
+ "description": "Fired when user asks to capture screenshot of some area on the page.",
+ "parameters": [
{
- "name": "frameTree",
- "description": "Present frame tree structure.",
- "$ref": "FrameTree"
+ "name": "viewport",
+ "description": "Viewport to capture, in device independent pixels (dip).",
+ "$ref": "Page.Viewport"
}
]
},
{
- "name": "getLayoutMetrics",
- "description": "Returns metrics relating to the layouting of the page, such as viewport bounds/scale.",
- "returns": [
- {
- "name": "layoutViewport",
- "description": "Deprecated metrics relating to the layout viewport. Is in device pixels. Use `cssLayoutViewport` instead.",
- "deprecated": true,
- "$ref": "LayoutViewport"
- },
- {
- "name": "visualViewport",
- "description": "Deprecated metrics relating to the visual viewport. Is in device pixels. Use `cssVisualViewport` instead.",
- "deprecated": true,
- "$ref": "VisualViewport"
- },
- {
- "name": "contentSize",
- "description": "Deprecated size of scrollable area. Is in DP. Use `cssContentSize` instead.",
- "deprecated": true,
- "$ref": "DOM.Rect"
- },
- {
- "name": "cssLayoutViewport",
- "description": "Metrics relating to the layout viewport in CSS pixels.",
- "$ref": "LayoutViewport"
- },
+ "name": "inspectModeCanceled",
+ "description": "Fired when user cancels the inspect mode."
+ }
+ ]
+ },
+ {
+ "domain": "PWA",
+ "description": "This domain allows interacting with the browser to control PWAs.",
+ "experimental": true,
+ "types": [
+ {
+ "id": "FileHandlerAccept",
+ "description": "The following types are the replica of\nhttps://crsrc.org/c/chrome/browser/web_applications/proto/web_app_os_integration_state.proto;drc=9910d3be894c8f142c977ba1023f30a656bc13fc;l=67",
+ "type": "object",
+ "properties": [
{
- "name": "cssVisualViewport",
- "description": "Metrics relating to the visual viewport in CSS pixels.",
- "$ref": "VisualViewport"
+ "name": "mediaType",
+ "description": "New name of the mimetype according to\nhttps://www.iana.org/assignments/media-types/media-types.xhtml",
+ "type": "string"
},
{
- "name": "cssContentSize",
- "description": "Size of scrollable area in CSS pixels.",
- "$ref": "DOM.Rect"
+ "name": "fileExtensions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "getNavigationHistory",
- "description": "Returns navigation history for the current page.",
- "returns": [
+ "id": "FileHandler",
+ "type": "object",
+ "properties": [
{
- "name": "currentIndex",
- "description": "Index of the current navigation history entry.",
- "type": "integer"
+ "name": "action",
+ "type": "string"
},
{
- "name": "entries",
- "description": "Array of navigation history entries.",
+ "name": "accepts",
"type": "array",
"items": {
- "$ref": "NavigationEntry"
+ "$ref": "FileHandlerAccept"
}
+ },
+ {
+ "name": "displayName",
+ "type": "string"
}
]
},
{
- "name": "resetNavigationHistory",
- "description": "Resets navigation history for the current page."
- },
+ "id": "DisplayMode",
+ "description": "If user prefers opening the app in browser or an app window.",
+ "type": "string",
+ "enum": [
+ "standalone",
+ "browser"
+ ]
+ }
+ ],
+ "commands": [
{
- "name": "getResourceContent",
- "description": "Returns content of the given resource.",
- "experimental": true,
+ "name": "getOsAppState",
+ "description": "Returns the following OS state for the given manifest id.",
"parameters": [
{
- "name": "frameId",
- "description": "Frame id to get resource for.",
- "$ref": "FrameId"
- },
- {
- "name": "url",
- "description": "URL of the resource to get content for.",
+ "name": "manifestId",
+ "description": "The id from the webapp's manifest file, commonly it's the url of the\nsite installing the webapp. See\nhttps://web.dev/learn/pwa/web-app-manifest.",
"type": "string"
}
],
"returns": [
{
- "name": "content",
- "description": "Resource content.",
- "type": "string"
+ "name": "badgeCount",
+ "type": "integer"
},
{
- "name": "base64Encoded",
- "description": "True, if content was served as base64.",
- "type": "boolean"
+ "name": "fileHandlers",
+ "type": "array",
+ "items": {
+ "$ref": "FileHandler"
+ }
}
]
},
{
- "name": "getResourceTree",
- "description": "Returns present frame / resource tree structure.",
- "experimental": true,
- "returns": [
+ "name": "install",
+ "description": "Installs the given manifest identity, optionally using the given installUrlOrBundleUrl\n\nIWA-specific install description:\nmanifestId corresponds to isolated-app:// + web_package::SignedWebBundleId\n\nFile installation mode:\nThe installUrlOrBundleUrl can be either file:// or http(s):// pointing\nto a signed web bundle (.swbn). In this case SignedWebBundleId must correspond to\nThe .swbn file's signing key.\n\nDev proxy installation mode:\ninstallUrlOrBundleUrl must be http(s):// that serves dev mode IWA.\nweb_package::SignedWebBundleId must be of type dev proxy.\n\nThe advantage of dev proxy mode is that all changes to IWA\nautomatically will be reflected in the running app without\nreinstallation.\n\nTo generate bundle id for proxy mode:\n1. Generate 32 random bytes.\n2. Add a specific suffix at the end following the documentation\n https://github.com/WICG/isolated-web-apps/blob/main/Scheme.md#suffix\n3. Encode the entire sequence using Base32 without padding.\n\nIf Chrome is not in IWA dev\nmode, the installation will fail, regardless of the state of the allowlist.",
+ "parameters": [
{
- "name": "frameTree",
- "description": "Present frame / resource tree structure.",
- "$ref": "FrameResourceTree"
+ "name": "manifestId",
+ "type": "string"
+ },
+ {
+ "name": "installUrlOrBundleUrl",
+ "description": "The location of the app or bundle overriding the one derived from the\nmanifestId.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "handleJavaScriptDialog",
- "description": "Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).",
+ "name": "uninstall",
+ "description": "Uninstalls the given manifest_id and closes any opened app windows.",
"parameters": [
{
- "name": "accept",
- "description": "Whether to accept or dismiss the dialog.",
- "type": "boolean"
- },
- {
- "name": "promptText",
- "description": "The text to enter into the dialog prompt before accepting. Used only if this is a prompt\ndialog.",
- "optional": true,
+ "name": "manifestId",
"type": "string"
}
]
},
{
- "name": "navigate",
- "description": "Navigates current page to the given URL.",
+ "name": "launch",
+ "description": "Launches the installed web app, or an url in the same web app instead of the\ndefault start url if it is provided. Returns a page Target.TargetID which\ncan be used to attach to via Target.attachToTarget or similar APIs.",
"parameters": [
{
- "name": "url",
- "description": "URL to navigate the page to.",
+ "name": "manifestId",
"type": "string"
},
{
- "name": "referrer",
- "description": "Referrer URL.",
+ "name": "url",
"optional": true,
"type": "string"
- },
+ }
+ ],
+ "returns": [
{
- "name": "transitionType",
- "description": "Intended transition type.",
- "optional": true,
- "$ref": "TransitionType"
- },
+ "name": "targetId",
+ "description": "ID of the tab target created as a result.",
+ "$ref": "Target.TargetID"
+ }
+ ]
+ },
+ {
+ "name": "launchFilesInApp",
+ "description": "Opens one or more local files from an installed web app identified by its\nmanifestId. The web app needs to have file handlers registered to process\nthe files. The API returns one or more page Target.TargetIDs which can be\nused to attach to via Target.attachToTarget or similar APIs.\nIf some files in the parameters cannot be handled by the web app, they will\nbe ignored. If none of the files can be handled, this API returns an error.\nIf no files are provided as the parameter, this API also returns an error.\n\nAccording to the definition of the file handlers in the manifest file, one\nTarget.TargetID may represent a page handling one or more files. The order\nof the returned Target.TargetIDs is not guaranteed.\n\nTODO(crbug.com/339454034): Check the existences of the input files.",
+ "parameters": [
{
- "name": "frameId",
- "description": "Frame id to navigate, if not specified navigates the top frame.",
- "optional": true,
- "$ref": "FrameId"
+ "name": "manifestId",
+ "type": "string"
},
{
- "name": "referrerPolicy",
- "description": "Referrer-policy used for the navigation.",
- "experimental": true,
- "optional": true,
- "$ref": "ReferrerPolicy"
+ "name": "files",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
],
"returns": [
{
- "name": "frameId",
- "description": "Frame id that has navigated (or failed to navigate)",
- "$ref": "FrameId"
- },
- {
- "name": "loaderId",
- "description": "Loader identifier. This is omitted in case of same-document navigation,\nas the previously committed loaderId would not change.",
- "optional": true,
- "$ref": "Network.LoaderId"
- },
- {
- "name": "errorText",
- "description": "User friendly error message, present if and only if navigation has failed.",
- "optional": true,
- "type": "string"
+ "name": "targetIds",
+ "description": "IDs of the tab targets created as the result.",
+ "type": "array",
+ "items": {
+ "$ref": "Target.TargetID"
+ }
}
]
},
{
- "name": "navigateToHistoryEntry",
- "description": "Navigates current page to the given history entry.",
+ "name": "openCurrentPageInApp",
+ "description": "Opens the current page in its web app identified by the manifest id, needs\nto be called on a page target. This function returns immediately without\nwaiting for the app to finish loading.",
"parameters": [
{
- "name": "entryId",
- "description": "Unique id of the entry to navigate to.",
- "type": "integer"
+ "name": "manifestId",
+ "type": "string"
}
]
},
{
- "name": "printToPDF",
- "description": "Print page as PDF.",
+ "name": "changeAppUserSettings",
+ "description": "Changes user settings of the web app identified by its manifestId. If the\napp was not installed, this command returns an error. Unset parameters will\nbe ignored; unrecognized values will cause an error.\n\nUnlike the ones defined in the manifest files of the web apps, these\nsettings are provided by the browser and controlled by the users, they\nimpact the way the browser handling the web apps.\n\nSee the comment of each parameter.",
"parameters": [
{
- "name": "landscape",
- "description": "Paper orientation. Defaults to false.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "displayHeaderFooter",
- "description": "Display header and footer. Defaults to false.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "printBackground",
- "description": "Print background graphics. Defaults to false.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "scale",
- "description": "Scale of the webpage rendering. Defaults to 1.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "paperWidth",
- "description": "Paper width in inches. Defaults to 8.5 inches.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "paperHeight",
- "description": "Paper height in inches. Defaults to 11 inches.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "marginTop",
- "description": "Top margin in inches. Defaults to 1cm (~0.4 inches).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "marginBottom",
- "description": "Bottom margin in inches. Defaults to 1cm (~0.4 inches).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "marginLeft",
- "description": "Left margin in inches. Defaults to 1cm (~0.4 inches).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "marginRight",
- "description": "Right margin in inches. Defaults to 1cm (~0.4 inches).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "pageRanges",
- "description": "Paper ranges to print, one based, e.g., '1-5, 8, 11-13'. Pages are\nprinted in the document order, not in the order specified, and no\nmore than once.\nDefaults to empty string, which implies the entire document is printed.\nThe page numbers are quietly capped to actual page count of the\ndocument, and ranges beyond the end of the document are ignored.\nIf this results in no pages to print, an error is reported.\nIt is an error to specify a range with start greater than end.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "headerTemplate",
- "description": "HTML template for the print header. Should be valid HTML markup with following\nclasses used to inject printing values into them:\n- `date`: formatted print date\n- `title`: document title\n- `url`: document location\n- `pageNumber`: current page number\n- `totalPages`: total pages in the document\n\nFor example, `` would generate span containing the title.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "footerTemplate",
- "description": "HTML template for the print footer. Should use the same format as the `headerTemplate`.",
- "optional": true,
+ "name": "manifestId",
"type": "string"
},
{
- "name": "preferCSSPageSize",
- "description": "Whether or not to prefer page size as defined by css. Defaults to false,\nin which case the content will be scaled to fit the paper size.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "transferMode",
- "description": "return as stream",
- "experimental": true,
- "optional": true,
- "type": "string",
- "enum": [
- "ReturnAsBase64",
- "ReturnAsStream"
- ]
- },
- {
- "name": "generateTaggedPDF",
- "description": "Whether or not to generate tagged (accessible) PDF. Defaults to embedder choice.",
- "experimental": true,
+ "name": "linkCapturing",
+ "description": "If user allows the links clicked on by the user in the app's scope, or\nextended scope if the manifest has scope extensions and the flags\n`DesktopPWAsLinkCapturingWithScopeExtensions` and\n`WebAppEnableScopeExtensions` are enabled.\n\nNote, the API does not support resetting the linkCapturing to the\ninitial value, uninstalling and installing the web app again will reset\nit.\n\nTODO(crbug.com/339453269): Setting this value on ChromeOS is not\nsupported yet.",
"optional": true,
"type": "boolean"
},
{
- "name": "generateDocumentOutline",
- "description": "Whether or not to embed the document outline into the PDF.",
- "experimental": true,
+ "name": "displayMode",
"optional": true,
- "type": "boolean"
+ "$ref": "DisplayMode"
}
- ],
- "returns": [
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Page",
+ "description": "Actions and events related to the inspected page belong to the page domain.",
+ "dependencies": [
+ "Debugger",
+ "DOM",
+ "IO",
+ "Network",
+ "Runtime"
+ ],
+ "types": [
+ {
+ "id": "FrameId",
+ "description": "Unique frame identifier.",
+ "type": "string"
+ },
+ {
+ "id": "AdFrameType",
+ "description": "Indicates whether a frame has been identified as an ad.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "none",
+ "child",
+ "root"
+ ]
+ },
+ {
+ "id": "AdFrameExplanation",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "ParentIsAd",
+ "CreatedByAdScript",
+ "MatchedBlockingRule"
+ ]
+ },
+ {
+ "id": "AdFrameStatus",
+ "description": "Indicates whether a frame has been identified as an ad and why.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "data",
- "description": "Base64-encoded pdf data. Empty if |returnAsStream| is specified. (Encoded as a base64 string when passed over JSON)",
- "type": "string"
+ "name": "adFrameType",
+ "$ref": "AdFrameType"
},
{
- "name": "stream",
- "description": "A handle of the stream that holds resulting PDF data.",
- "experimental": true,
+ "name": "explanations",
"optional": true,
- "$ref": "IO.StreamHandle"
+ "type": "array",
+ "items": {
+ "$ref": "AdFrameExplanation"
+ }
}
]
},
{
- "name": "reload",
- "description": "Reloads given page optionally ignoring the cache.",
- "parameters": [
- {
- "name": "ignoreCache",
- "description": "If true, browser cache is ignored (as if the user pressed Shift+refresh).",
- "optional": true,
- "type": "boolean"
- },
+ "id": "AdScriptId",
+ "description": "Identifies the script which caused a script or frame to be labelled as an\nad.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "scriptToEvaluateOnLoad",
- "description": "If set, the script will be injected into all frames of the inspected page after reload.\nArgument will be ignored if reloading dataURL origin.",
- "optional": true,
- "type": "string"
+ "name": "scriptId",
+ "description": "Script Id of the script which caused a script or frame to be labelled as\nan ad.",
+ "$ref": "Runtime.ScriptId"
},
{
- "name": "loaderId",
- "description": "If set, an error will be thrown if the target page's main frame's\nloader id does not match the provided id. This prevents accidentally\nreloading an unintended target in case there's a racing navigation.",
- "experimental": true,
- "optional": true,
- "$ref": "Network.LoaderId"
+ "name": "debuggerId",
+ "description": "Id of scriptId's debugger.",
+ "$ref": "Runtime.UniqueDebuggerId"
}
]
},
{
- "name": "removeScriptToEvaluateOnLoad",
- "description": "Deprecated, please use removeScriptToEvaluateOnNewDocument instead.",
+ "id": "AdScriptAncestry",
+ "description": "Encapsulates the script ancestry and the root script filterlist rule that\ncaused the frame to be labelled as an ad. Only created when `ancestryChain`\nis not empty.",
"experimental": true,
- "deprecated": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "identifier",
- "$ref": "ScriptIdentifier"
+ "name": "ancestryChain",
+ "description": "A chain of `AdScriptId`s representing the ancestry of an ad script that\nled to the creation of a frame. The chain is ordered from the script\nitself (lower level) up to its root ancestor that was flagged by\nfilterlist.",
+ "type": "array",
+ "items": {
+ "$ref": "AdScriptId"
+ }
+ },
+ {
+ "name": "rootScriptFilterlistRule",
+ "description": "The filterlist rule that caused the root (last) script in\n`ancestryChain` to be ad-tagged. Only populated if the rule is\navailable.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "removeScriptToEvaluateOnNewDocument",
- "description": "Removes given script from the list.",
- "parameters": [
- {
- "name": "identifier",
- "$ref": "ScriptIdentifier"
- }
+ "id": "SecureContextType",
+ "description": "Indicates whether the frame is a secure context and why it is the case.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Secure",
+ "SecureLocalhost",
+ "InsecureScheme",
+ "InsecureAncestor"
]
},
{
- "name": "screencastFrameAck",
- "description": "Acknowledges that a screencast frame has been received by the frontend.",
+ "id": "CrossOriginIsolatedContextType",
+ "description": "Indicates whether the frame is cross-origin isolated and why it is the case.",
"experimental": true,
- "parameters": [
- {
- "name": "sessionId",
- "description": "Frame number.",
- "type": "integer"
- }
+ "type": "string",
+ "enum": [
+ "Isolated",
+ "NotIsolated",
+ "NotIsolatedFeatureDisabled"
]
},
{
- "name": "searchInResource",
- "description": "Searches for given string in resource content.",
+ "id": "GatedAPIFeatures",
"experimental": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "Frame id for resource to search in.",
- "$ref": "FrameId"
- },
- {
- "name": "url",
- "description": "URL of the resource to search in.",
- "type": "string"
- },
- {
- "name": "query",
- "description": "String to search for.",
- "type": "string"
- },
- {
- "name": "caseSensitive",
- "description": "If true, search is case sensitive.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "isRegex",
- "description": "If true, treats string parameter as regex.",
- "optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "result",
- "description": "List of search matches.",
- "type": "array",
- "items": {
- "$ref": "Debugger.SearchMatch"
- }
- }
+ "type": "string",
+ "enum": [
+ "SharedArrayBuffers",
+ "SharedArrayBuffersTransferAllowed",
+ "PerformanceMeasureMemory",
+ "PerformanceProfile"
]
},
{
- "name": "setAdBlockingEnabled",
- "description": "Enable Chrome's experimental ad filter on all sites.",
+ "id": "PermissionsPolicyFeature",
+ "description": "All Permissions Policy features. This enum should match the one defined\nin services/network/public/cpp/permissions_policy/permissions_policy_features.json5.\nLINT.IfChange(PermissionsPolicyFeature)",
"experimental": true,
- "parameters": [
- {
- "name": "enabled",
- "description": "Whether to block ads.",
- "type": "boolean"
- }
+ "type": "string",
+ "enum": [
+ "accelerometer",
+ "all-screens-capture",
+ "ambient-light-sensor",
+ "aria-notify",
+ "attribution-reporting",
+ "autoplay",
+ "bluetooth",
+ "browsing-topics",
+ "camera",
+ "captured-surface-control",
+ "ch-dpr",
+ "ch-device-memory",
+ "ch-downlink",
+ "ch-ect",
+ "ch-prefers-color-scheme",
+ "ch-prefers-reduced-motion",
+ "ch-prefers-reduced-transparency",
+ "ch-rtt",
+ "ch-save-data",
+ "ch-ua",
+ "ch-ua-arch",
+ "ch-ua-bitness",
+ "ch-ua-high-entropy-values",
+ "ch-ua-platform",
+ "ch-ua-model",
+ "ch-ua-mobile",
+ "ch-ua-form-factors",
+ "ch-ua-full-version",
+ "ch-ua-full-version-list",
+ "ch-ua-platform-version",
+ "ch-ua-wow64",
+ "ch-viewport-height",
+ "ch-viewport-width",
+ "ch-width",
+ "clipboard-read",
+ "clipboard-write",
+ "compute-pressure",
+ "controlled-frame",
+ "cross-origin-isolated",
+ "deferred-fetch",
+ "deferred-fetch-minimal",
+ "device-attributes",
+ "digital-credentials-create",
+ "digital-credentials-get",
+ "direct-sockets",
+ "direct-sockets-multicast",
+ "direct-sockets-private",
+ "display-capture",
+ "document-domain",
+ "encrypted-media",
+ "execution-while-out-of-viewport",
+ "execution-while-not-rendered",
+ "fenced-unpartitioned-storage-read",
+ "focus-without-user-activation",
+ "fullscreen",
+ "frobulate",
+ "gamepad",
+ "geolocation",
+ "gyroscope",
+ "hid",
+ "identity-credentials-get",
+ "idle-detection",
+ "interest-cohort",
+ "join-ad-interest-group",
+ "keyboard-map",
+ "language-detector",
+ "language-model",
+ "local-fonts",
+ "local-network-access",
+ "magnetometer",
+ "media-playback-while-not-visible",
+ "microphone",
+ "midi",
+ "on-device-speech-recognition",
+ "otp-credentials",
+ "payment",
+ "picture-in-picture",
+ "popins",
+ "private-aggregation",
+ "private-state-token-issuance",
+ "private-state-token-redemption",
+ "publickey-credentials-create",
+ "publickey-credentials-get",
+ "record-ad-auction-events",
+ "rewriter",
+ "run-ad-auction",
+ "screen-wake-lock",
+ "serial",
+ "shared-autofill",
+ "shared-storage",
+ "shared-storage-select-url",
+ "smart-card",
+ "speaker-selection",
+ "storage-access",
+ "sub-apps",
+ "summarizer",
+ "sync-xhr",
+ "translator",
+ "unload",
+ "usb",
+ "usb-unrestricted",
+ "vertical-scroll",
+ "web-app-installation",
+ "web-printing",
+ "web-share",
+ "window-management",
+ "writer",
+ "xr-spatial-tracking"
]
},
{
- "name": "setBypassCSP",
- "description": "Enable page Content Security Policy by-passing.",
- "parameters": [
- {
- "name": "enabled",
- "description": "Whether to bypass page CSP.",
- "type": "boolean"
- }
+ "id": "PermissionsPolicyBlockReason",
+ "description": "Reason for a permissions policy feature to be disabled.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Header",
+ "IframeAttribute",
+ "InFencedFrameTree",
+ "InIsolatedApp"
]
},
{
- "name": "getPermissionsPolicyState",
- "description": "Get Permissions Policy state on given frame.",
+ "id": "PermissionsPolicyBlockLocator",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
"name": "frameId",
"$ref": "FrameId"
- }
- ],
- "returns": [
+ },
{
- "name": "states",
- "type": "array",
- "items": {
- "$ref": "PermissionsPolicyFeatureState"
- }
+ "name": "blockReason",
+ "$ref": "PermissionsPolicyBlockReason"
}
]
},
{
- "name": "getOriginTrials",
- "description": "Get Origin Trials on given frame.",
+ "id": "PermissionsPolicyFeatureState",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "$ref": "FrameId"
- }
- ],
- "returns": [
+ "name": "feature",
+ "$ref": "PermissionsPolicyFeature"
+ },
{
- "name": "originTrials",
- "type": "array",
- "items": {
- "$ref": "OriginTrial"
- }
+ "name": "allowed",
+ "type": "boolean"
+ },
+ {
+ "name": "locator",
+ "optional": true,
+ "$ref": "PermissionsPolicyBlockLocator"
}
]
},
{
- "name": "setDeviceMetricsOverride",
- "description": "Overrides the values of device screen dimensions (window.screen.width, window.screen.height,\nwindow.innerWidth, window.innerHeight, and \"device-width\"/\"device-height\"-related CSS media\nquery results).",
+ "id": "OriginTrialTokenStatus",
+ "description": "Origin Trial(https://www.chromium.org/blink/origin-trials) support.\nStatus for an Origin Trial token.",
"experimental": true,
- "deprecated": true,
- "redirect": "Emulation",
- "parameters": [
- {
- "name": "width",
- "description": "Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
- "type": "integer"
- },
- {
- "name": "height",
- "description": "Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
- "type": "integer"
- },
+ "type": "string",
+ "enum": [
+ "Success",
+ "NotSupported",
+ "Insecure",
+ "Expired",
+ "WrongOrigin",
+ "InvalidSignature",
+ "Malformed",
+ "WrongVersion",
+ "FeatureDisabled",
+ "TokenDisabled",
+ "FeatureDisabledForUser",
+ "UnknownTrial"
+ ]
+ },
+ {
+ "id": "OriginTrialStatus",
+ "description": "Status for an Origin Trial.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "ValidTokenNotProvided",
+ "OSNotSupported",
+ "TrialNotAllowed"
+ ]
+ },
+ {
+ "id": "OriginTrialUsageRestriction",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "None",
+ "Subset"
+ ]
+ },
+ {
+ "id": "OriginTrialToken",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "deviceScaleFactor",
- "description": "Overriding device scale factor value. 0 disables the override.",
- "type": "number"
+ "name": "origin",
+ "type": "string"
},
{
- "name": "mobile",
- "description": "Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text\nautosizing and more.",
+ "name": "matchSubDomains",
"type": "boolean"
},
{
- "name": "scale",
- "description": "Scale to apply to resulting view image.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "screenWidth",
- "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "screenHeight",
- "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "positionX",
- "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).",
- "optional": true,
- "type": "integer"
+ "name": "trialName",
+ "type": "string"
},
{
- "name": "positionY",
- "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).",
- "optional": true,
- "type": "integer"
+ "name": "expiryTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "dontSetVisibleSize",
- "description": "Do not set visible view size, rely upon explicit setVisibleSize call.",
- "optional": true,
+ "name": "isThirdParty",
"type": "boolean"
},
{
- "name": "screenOrientation",
- "description": "Screen orientation override.",
- "optional": true,
- "$ref": "Emulation.ScreenOrientation"
- },
- {
- "name": "viewport",
- "description": "The viewport dimensions and scale. If not set, the override is cleared.",
- "optional": true,
- "$ref": "Viewport"
+ "name": "usageRestriction",
+ "$ref": "OriginTrialUsageRestriction"
}
]
},
{
- "name": "setDeviceOrientationOverride",
- "description": "Overrides the Device Orientation.",
+ "id": "OriginTrialTokenWithStatus",
"experimental": true,
- "deprecated": true,
- "redirect": "DeviceOrientation",
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "alpha",
- "description": "Mock alpha",
- "type": "number"
+ "name": "rawTokenText",
+ "type": "string"
},
{
- "name": "beta",
- "description": "Mock beta",
- "type": "number"
+ "name": "parsedToken",
+ "description": "`parsedToken` is present only when the token is extractable and\nparsable.",
+ "optional": true,
+ "$ref": "OriginTrialToken"
},
{
- "name": "gamma",
- "description": "Mock gamma",
- "type": "number"
+ "name": "status",
+ "$ref": "OriginTrialTokenStatus"
}
]
},
{
- "name": "setFontFamilies",
- "description": "Set generic font families.",
+ "id": "OriginTrial",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "fontFamilies",
- "description": "Specifies font families to set. If a font family is not specified, it won't be changed.",
- "$ref": "FontFamilies"
+ "name": "trialName",
+ "type": "string"
},
{
- "name": "forScripts",
- "description": "Specifies font families to set for individual scripts.",
- "optional": true,
+ "name": "status",
+ "$ref": "OriginTrialStatus"
+ },
+ {
+ "name": "tokensWithStatus",
"type": "array",
"items": {
- "$ref": "ScriptFontFamilies"
+ "$ref": "OriginTrialTokenWithStatus"
}
}
]
},
{
- "name": "setFontSizes",
- "description": "Set default font sizes.",
+ "id": "SecurityOriginDetails",
+ "description": "Additional information about the frame document's security origin.",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "fontSizes",
- "description": "Specifies font sizes to set. If a font size is not specified, it won't be changed.",
- "$ref": "FontSizes"
+ "name": "isLocalhost",
+ "description": "Indicates whether the frame document's security origin is one\nof the local hostnames (e.g. \"localhost\") or IP addresses (IPv4\n127.0.0.0/8 or IPv6 ::1).",
+ "type": "boolean"
}
]
},
{
- "name": "setDocumentContent",
- "description": "Sets given markup as the document's HTML.",
- "parameters": [
+ "id": "Frame",
+ "description": "Information about the Frame on the page.",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Frame id to set HTML for.",
+ "name": "id",
+ "description": "Frame unique identifier.",
+ "$ref": "FrameId"
+ },
+ {
+ "name": "parentId",
+ "description": "Parent frame identifier.",
+ "optional": true,
"$ref": "FrameId"
},
{
- "name": "html",
- "description": "HTML content to set.",
+ "name": "loaderId",
+ "description": "Identifier of the loader associated with this frame.",
+ "$ref": "Network.LoaderId"
+ },
+ {
+ "name": "name",
+ "description": "Frame's name as specified in the tag.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "url",
+ "description": "Frame document's URL without fragment.",
+ "type": "string"
+ },
+ {
+ "name": "urlFragment",
+ "description": "Frame document's URL fragment including the '#'.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "domainAndRegistry",
+ "description": "Frame document's registered domain, taking the public suffixes list into account.\nExtracted from the Frame's url.\nExample URLs: http://www.google.com/file.html -> \"google.com\"\n http://a.b.co.uk/file.html -> \"b.co.uk\"",
+ "experimental": true,
"type": "string"
- }
- ]
- },
- {
- "name": "setDownloadBehavior",
- "description": "Set the behavior when downloading a file.",
- "experimental": true,
- "deprecated": true,
- "parameters": [
+ },
{
- "name": "behavior",
- "description": "Whether to allow all or deny all download requests, or use default Chrome behavior if\navailable (otherwise deny).",
- "type": "string",
- "enum": [
- "deny",
- "allow",
- "default"
- ]
+ "name": "securityOrigin",
+ "description": "Frame document's security origin.",
+ "type": "string"
},
{
- "name": "downloadPath",
- "description": "The default path to save downloaded files to. This is required if behavior is set to 'allow'",
+ "name": "securityOriginDetails",
+ "description": "Additional details about the frame document's security origin.",
+ "experimental": true,
"optional": true,
+ "$ref": "SecurityOriginDetails"
+ },
+ {
+ "name": "mimeType",
+ "description": "Frame document's mimeType as determined by the browser.",
"type": "string"
- }
- ]
- },
- {
- "name": "setGeolocationOverride",
- "description": "Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.",
- "deprecated": true,
- "redirect": "Emulation",
- "parameters": [
+ },
{
- "name": "latitude",
- "description": "Mock latitude",
+ "name": "unreachableUrl",
+ "description": "If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment.",
+ "experimental": true,
"optional": true,
- "type": "number"
+ "type": "string"
},
{
- "name": "longitude",
- "description": "Mock longitude",
+ "name": "adFrameStatus",
+ "description": "Indicates whether this frame was tagged as an ad and why.",
+ "experimental": true,
"optional": true,
- "type": "number"
+ "$ref": "AdFrameStatus"
},
{
- "name": "accuracy",
- "description": "Mock accuracy",
- "optional": true,
- "type": "number"
- }
- ]
- },
- {
- "name": "setLifecycleEventsEnabled",
- "description": "Controls whether page will emit lifecycle events.",
- "parameters": [
+ "name": "secureContextType",
+ "description": "Indicates whether the main document is a secure context and explains why that is the case.",
+ "experimental": true,
+ "$ref": "SecureContextType"
+ },
{
- "name": "enabled",
- "description": "If true, starts emitting lifecycle events.",
- "type": "boolean"
+ "name": "crossOriginIsolatedContextType",
+ "description": "Indicates whether this is a cross origin isolated context.",
+ "experimental": true,
+ "$ref": "CrossOriginIsolatedContextType"
+ },
+ {
+ "name": "gatedAPIFeatures",
+ "description": "Indicated which gated APIs / features are available.",
+ "experimental": true,
+ "type": "array",
+ "items": {
+ "$ref": "GatedAPIFeatures"
+ }
}
]
},
{
- "name": "setTouchEmulationEnabled",
- "description": "Toggles mouse event-based touch event emulation.",
+ "id": "FrameResource",
+ "description": "Information about the Resource on the page.",
"experimental": true,
- "deprecated": true,
- "redirect": "Emulation",
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "enabled",
- "description": "Whether the touch event emulation should be enabled.",
- "type": "boolean"
+ "name": "url",
+ "description": "Resource URL.",
+ "type": "string"
},
{
- "name": "configuration",
- "description": "Touch/gesture events configuration. Default: current platform.",
- "optional": true,
- "type": "string",
- "enum": [
- "mobile",
- "desktop"
- ]
- }
- ]
- },
- {
- "name": "startScreencast",
- "description": "Starts sending each frame using the `screencastFrame` event.",
- "experimental": true,
- "parameters": [
+ "name": "type",
+ "description": "Type of this resource.",
+ "$ref": "Network.ResourceType"
+ },
{
- "name": "format",
- "description": "Image compression format.",
- "optional": true,
- "type": "string",
- "enum": [
- "jpeg",
- "png"
- ]
+ "name": "mimeType",
+ "description": "Resource mimeType as determined by the browser.",
+ "type": "string"
},
{
- "name": "quality",
- "description": "Compression quality from range [0..100].",
+ "name": "lastModified",
+ "description": "last-modified timestamp as reported by server.",
"optional": true,
- "type": "integer"
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "maxWidth",
- "description": "Maximum screenshot width.",
+ "name": "contentSize",
+ "description": "Resource content size.",
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
- "name": "maxHeight",
- "description": "Maximum screenshot height.",
+ "name": "failed",
+ "description": "True if the resource failed to load.",
"optional": true,
- "type": "integer"
+ "type": "boolean"
},
{
- "name": "everyNthFrame",
- "description": "Send every n-th frame.",
+ "name": "canceled",
+ "description": "True if the resource was canceled during loading.",
"optional": true,
- "type": "integer"
+ "type": "boolean"
}
]
},
{
- "name": "stopLoading",
- "description": "Force the page stop all navigations and pending resource fetches."
- },
- {
- "name": "crash",
- "description": "Crashes renderer on the IO thread, generates minidumps.",
- "experimental": true
- },
- {
- "name": "close",
- "description": "Tries to close page, running its beforeunload hooks, if any."
- },
- {
- "name": "setWebLifecycleState",
- "description": "Tries to update the web lifecycle state of the page.\nIt will transition the page to the given state according to:\nhttps://github.com/WICG/web-lifecycle/",
+ "id": "FrameResourceTree",
+ "description": "Information about the Frame hierarchy along with their cached resources.",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "state",
- "description": "Target lifecycle state",
- "type": "string",
- "enum": [
- "frozen",
- "active"
- ]
- }
- ]
- },
- {
- "name": "stopScreencast",
- "description": "Stops sending each frame in the `screencastFrame`.",
- "experimental": true
- },
- {
- "name": "produceCompilationCache",
- "description": "Requests backend to produce compilation cache for the specified scripts.\n`scripts` are appended to the list of scripts for which the cache\nwould be produced. The list may be reset during page navigation.\nWhen script with a matching URL is encountered, the cache is optionally\nproduced upon backend discretion, based on internal heuristics.\nSee also: `Page.compilationCacheProduced`.",
- "experimental": true,
- "parameters": [
+ "name": "frame",
+ "description": "Frame information for this tree item.",
+ "$ref": "Frame"
+ },
{
- "name": "scripts",
+ "name": "childFrames",
+ "description": "Child frames.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "CompilationCacheParams"
+ "$ref": "FrameResourceTree"
}
- }
- ]
- },
- {
- "name": "addCompilationCache",
- "description": "Seeds compilation cache for given url. Compilation cache does not survive\ncross-process navigation.",
- "experimental": true,
- "parameters": [
- {
- "name": "url",
- "type": "string"
},
{
- "name": "data",
- "description": "Base64-encoded data (Encoded as a base64 string when passed over JSON)",
- "type": "string"
+ "name": "resources",
+ "description": "Information about frame resources.",
+ "type": "array",
+ "items": {
+ "$ref": "FrameResource"
+ }
}
]
},
{
- "name": "clearCompilationCache",
- "description": "Clears seeded compilation cache.",
- "experimental": true
- },
- {
- "name": "setSPCTransactionMode",
- "description": "Sets the Secure Payment Confirmation transaction mode.\nhttps://w3c.github.io/secure-payment-confirmation/#sctn-automation-set-spc-transaction-mode",
- "experimental": true,
- "parameters": [
+ "id": "FrameTree",
+ "description": "Information about the Frame hierarchy.",
+ "type": "object",
+ "properties": [
{
- "name": "mode",
- "$ref": "AutoResponseMode"
+ "name": "frame",
+ "description": "Frame information for this tree item.",
+ "$ref": "Frame"
+ },
+ {
+ "name": "childFrames",
+ "description": "Child frames.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "FrameTree"
+ }
}
]
},
{
- "name": "setRPHRegistrationMode",
- "description": "Extensions for Custom Handlers API:\nhttps://html.spec.whatwg.org/multipage/system-state.html#rph-automation",
- "experimental": true,
- "parameters": [
- {
- "name": "mode",
- "$ref": "AutoResponseMode"
- }
+ "id": "ScriptIdentifier",
+ "description": "Unique script identifier.",
+ "type": "string"
+ },
+ {
+ "id": "TransitionType",
+ "description": "Transition type.",
+ "type": "string",
+ "enum": [
+ "link",
+ "typed",
+ "address_bar",
+ "auto_bookmark",
+ "auto_subframe",
+ "manual_subframe",
+ "generated",
+ "auto_toplevel",
+ "form_submit",
+ "reload",
+ "keyword",
+ "keyword_generated",
+ "other"
]
},
{
- "name": "generateTestReport",
- "description": "Generates a report for testing.",
- "experimental": true,
- "parameters": [
+ "id": "NavigationEntry",
+ "description": "Navigation history entry.",
+ "type": "object",
+ "properties": [
{
- "name": "message",
- "description": "Message to be displayed in the report.",
+ "name": "id",
+ "description": "Unique id of the navigation history entry.",
+ "type": "integer"
+ },
+ {
+ "name": "url",
+ "description": "URL of the navigation history entry.",
"type": "string"
},
{
- "name": "group",
- "description": "Specifies the endpoint group to deliver the report to.",
- "optional": true,
+ "name": "userTypedURL",
+ "description": "URL that the user typed in the url bar.",
"type": "string"
- }
- ]
- },
- {
- "name": "waitForDebugger",
- "description": "Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.",
- "experimental": true
- },
- {
- "name": "setInterceptFileChooserDialog",
- "description": "Intercept file chooser requests and transfer control to protocol clients.\nWhen file chooser interception is enabled, native file chooser dialog is not shown.\nInstead, a protocol event `Page.fileChooserOpened` is emitted.",
- "parameters": [
+ },
{
- "name": "enabled",
- "type": "boolean"
+ "name": "title",
+ "description": "Title of the navigation history entry.",
+ "type": "string"
},
{
- "name": "cancel",
- "description": "If true, cancels the dialog by emitting relevant events (if any)\nin addition to not showing it if the interception is enabled\n(default: false).",
- "experimental": true,
- "optional": true,
- "type": "boolean"
+ "name": "transitionType",
+ "description": "Transition type.",
+ "$ref": "TransitionType"
}
]
},
{
- "name": "setPrerenderingAllowed",
- "description": "Enable/disable prerendering manually.\n\nThis command is a short-term solution for https://crbug.com/1440085.\nSee https://docs.google.com/document/d/12HVmFxYj5Jc-eJr5OmWsa2bqTJsbgGLKI6ZIyx0_wpA\nfor more details.\n\nTODO(https://crbug.com/1440085): Remove this once Puppeteer supports tab targets.",
+ "id": "ScreencastFrameMetadata",
+ "description": "Screencast frame metadata.",
"experimental": true,
- "parameters": [
- {
- "name": "isAllowed",
- "type": "boolean"
- }
- ]
- }
- ],
- "events": [
- {
- "name": "domContentEventFired",
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "timestamp",
- "$ref": "Network.MonotonicTime"
- }
- ]
- },
- {
- "name": "fileChooserOpened",
- "description": "Emitted only when `page.interceptFileChooser` is enabled.",
- "parameters": [
+ "name": "offsetTop",
+ "description": "Top offset in DIP.",
+ "type": "number"
+ },
{
- "name": "frameId",
- "description": "Id of the frame containing input node.",
- "experimental": true,
- "$ref": "FrameId"
+ "name": "pageScaleFactor",
+ "description": "Page scale factor.",
+ "type": "number"
},
{
- "name": "mode",
- "description": "Input mode.",
- "type": "string",
- "enum": [
- "selectSingle",
- "selectMultiple"
- ]
+ "name": "deviceWidth",
+ "description": "Device screen width in DIP.",
+ "type": "number"
},
{
- "name": "backendNodeId",
- "description": "Input node id. Only present for file choosers opened via an `` element.",
- "experimental": true,
- "optional": true,
- "$ref": "DOM.BackendNodeId"
- }
- ]
- },
- {
- "name": "frameAttached",
- "description": "Fired when frame has been attached to its parent.",
- "parameters": [
+ "name": "deviceHeight",
+ "description": "Device screen height in DIP.",
+ "type": "number"
+ },
{
- "name": "frameId",
- "description": "Id of the frame that has been attached.",
- "$ref": "FrameId"
+ "name": "scrollOffsetX",
+ "description": "Position of horizontal scroll in CSS pixels.",
+ "type": "number"
},
{
- "name": "parentFrameId",
- "description": "Parent frame identifier.",
- "$ref": "FrameId"
+ "name": "scrollOffsetY",
+ "description": "Position of vertical scroll in CSS pixels.",
+ "type": "number"
},
{
- "name": "stack",
- "description": "JavaScript stack trace of when frame was attached, only set if frame initiated from script.",
+ "name": "timestamp",
+ "description": "Frame swap timestamp.",
"optional": true,
- "$ref": "Runtime.StackTrace"
+ "$ref": "Network.TimeSinceEpoch"
}
]
},
{
- "name": "frameClearedScheduledNavigation",
- "description": "Fired when frame no longer has a scheduled navigation.",
- "deprecated": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "Id of the frame that has cleared its scheduled navigation.",
- "$ref": "FrameId"
- }
+ "id": "DialogType",
+ "description": "Javascript dialog type.",
+ "type": "string",
+ "enum": [
+ "alert",
+ "confirm",
+ "prompt",
+ "beforeunload"
]
},
{
- "name": "frameDetached",
- "description": "Fired when frame has been detached from its parent.",
- "parameters": [
+ "id": "AppManifestError",
+ "description": "Error while paring app manifest.",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Id of the frame that has been detached.",
- "$ref": "FrameId"
+ "name": "message",
+ "description": "Error message.",
+ "type": "string"
},
{
- "name": "reason",
- "experimental": true,
- "type": "string",
- "enum": [
- "remove",
- "swap"
- ]
- }
- ]
- },
- {
- "name": "frameSubtreeWillBeDetached",
- "description": "Fired before frame subtree is detached. Emitted before any frame of the\nsubtree is actually detached.",
- "experimental": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "Id of the frame that is the root of the subtree that will be detached.",
- "$ref": "FrameId"
- }
- ]
- },
- {
- "name": "frameNavigated",
- "description": "Fired once navigation of the frame has completed. Frame is now associated with the new loader.",
- "parameters": [
+ "name": "critical",
+ "description": "If critical, this is a non-recoverable parse error.",
+ "type": "integer"
+ },
{
- "name": "frame",
- "description": "Frame object.",
- "$ref": "Frame"
+ "name": "line",
+ "description": "Error line.",
+ "type": "integer"
},
{
- "name": "type",
- "experimental": true,
- "$ref": "NavigationType"
+ "name": "column",
+ "description": "Error column.",
+ "type": "integer"
}
]
},
{
- "name": "documentOpened",
- "description": "Fired when opening document to write to.",
+ "id": "AppManifestParsedProperties",
+ "description": "Parsed app manifest properties.",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "frame",
- "description": "Frame object.",
- "$ref": "Frame"
+ "name": "scope",
+ "description": "Computed scope value",
+ "type": "string"
}
]
},
{
- "name": "frameResized",
- "experimental": true
- },
- {
- "name": "frameStartedNavigating",
- "description": "Fired when a navigation starts. This event is fired for both\nrenderer-initiated and browser-initiated navigations. For renderer-initiated\nnavigations, the event is fired after `frameRequestedNavigation`.\nNavigation may still be cancelled after the event is issued. Multiple events\ncan be fired for a single navigation, for example, when a same-document\nnavigation becomes a cross-document navigation (such as in the case of a\nframeset).",
- "experimental": true,
- "parameters": [
+ "id": "LayoutViewport",
+ "description": "Layout viewport position and dimensions.",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "ID of the frame that is being navigated.",
- "$ref": "FrameId"
+ "name": "pageX",
+ "description": "Horizontal offset relative to the document (CSS pixels).",
+ "type": "integer"
},
{
- "name": "url",
- "description": "The URL the navigation started with. The final URL can be different.",
- "type": "string"
+ "name": "pageY",
+ "description": "Vertical offset relative to the document (CSS pixels).",
+ "type": "integer"
},
{
- "name": "loaderId",
- "description": "Loader identifier. Even though it is present in case of same-document\nnavigation, the previously committed loaderId would not change unless\nthe navigation changes from a same-document to a cross-document\nnavigation.",
- "$ref": "Network.LoaderId"
+ "name": "clientWidth",
+ "description": "Width (CSS pixels), excludes scrollbar if present.",
+ "type": "integer"
},
{
- "name": "navigationType",
- "type": "string",
- "enum": [
- "reload",
- "reloadBypassingCache",
- "restore",
- "restoreWithPost",
- "historySameDocument",
- "historyDifferentDocument",
- "sameDocument",
- "differentDocument"
- ]
+ "name": "clientHeight",
+ "description": "Height (CSS pixels), excludes scrollbar if present.",
+ "type": "integer"
}
]
},
{
- "name": "frameRequestedNavigation",
- "description": "Fired when a renderer-initiated navigation is requested.\nNavigation may still be cancelled after the event is issued.",
- "experimental": true,
- "parameters": [
+ "id": "VisualViewport",
+ "description": "Visual viewport position, dimensions, and scale.",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Id of the frame that is being navigated.",
- "$ref": "FrameId"
+ "name": "offsetX",
+ "description": "Horizontal offset relative to the layout viewport (CSS pixels).",
+ "type": "number"
},
{
- "name": "reason",
- "description": "The reason for the navigation.",
- "$ref": "ClientNavigationReason"
+ "name": "offsetY",
+ "description": "Vertical offset relative to the layout viewport (CSS pixels).",
+ "type": "number"
},
{
- "name": "url",
- "description": "The destination URL for the requested navigation.",
- "type": "string"
+ "name": "pageX",
+ "description": "Horizontal offset relative to the document (CSS pixels).",
+ "type": "number"
},
{
- "name": "disposition",
- "description": "The disposition for the navigation.",
- "$ref": "ClientNavigationDisposition"
- }
- ]
- },
- {
- "name": "frameScheduledNavigation",
- "description": "Fired when frame schedules a potential navigation.",
- "deprecated": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "Id of the frame that has scheduled a navigation.",
- "$ref": "FrameId"
+ "name": "pageY",
+ "description": "Vertical offset relative to the document (CSS pixels).",
+ "type": "number"
},
{
- "name": "delay",
- "description": "Delay (in seconds) until the navigation is scheduled to begin. The navigation is not\nguaranteed to start.",
+ "name": "clientWidth",
+ "description": "Width (CSS pixels), excludes scrollbar if present.",
"type": "number"
},
{
- "name": "reason",
- "description": "The reason for the navigation.",
- "$ref": "ClientNavigationReason"
+ "name": "clientHeight",
+ "description": "Height (CSS pixels), excludes scrollbar if present.",
+ "type": "number"
},
{
- "name": "url",
- "description": "The destination URL for the scheduled navigation.",
- "type": "string"
- }
- ]
- },
- {
- "name": "frameStartedLoading",
- "description": "Fired when frame has started loading.",
- "experimental": true,
- "parameters": [
+ "name": "scale",
+ "description": "Scale relative to the ideal viewport (size at width=device-width).",
+ "type": "number"
+ },
{
- "name": "frameId",
- "description": "Id of the frame that has started loading.",
- "$ref": "FrameId"
+ "name": "zoom",
+ "description": "Page zoom factor (CSS to device independent pixels ratio).",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "frameStoppedLoading",
- "description": "Fired when frame has stopped loading.",
- "experimental": true,
- "parameters": [
+ "id": "Viewport",
+ "description": "Viewport for capturing screenshot.",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Id of the frame that has stopped loading.",
- "$ref": "FrameId"
- }
- ]
- },
- {
- "name": "downloadWillBegin",
- "description": "Fired when page is about to start a download.\nDeprecated. Use Browser.downloadWillBegin instead.",
- "experimental": true,
- "deprecated": true,
- "parameters": [
+ "name": "x",
+ "description": "X offset in device independent pixels (dip).",
+ "type": "number"
+ },
{
- "name": "frameId",
- "description": "Id of the frame that caused download to begin.",
- "$ref": "FrameId"
+ "name": "y",
+ "description": "Y offset in device independent pixels (dip).",
+ "type": "number"
},
{
- "name": "guid",
- "description": "Global unique identifier of the download.",
- "type": "string"
+ "name": "width",
+ "description": "Rectangle width in device independent pixels (dip).",
+ "type": "number"
},
{
- "name": "url",
- "description": "URL of the resource being downloaded.",
- "type": "string"
+ "name": "height",
+ "description": "Rectangle height in device independent pixels (dip).",
+ "type": "number"
},
{
- "name": "suggestedFilename",
- "description": "Suggested file name of the resource (the actual name of the file saved on disk may differ).",
- "type": "string"
+ "name": "scale",
+ "description": "Page scale factor.",
+ "type": "number"
}
]
},
{
- "name": "downloadProgress",
- "description": "Fired when download makes progress. Last call has |done| == true.\nDeprecated. Use Browser.downloadProgress instead.",
+ "id": "FontFamilies",
+ "description": "Generic font families collection.",
"experimental": true,
- "deprecated": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "guid",
- "description": "Global unique identifier of the download.",
+ "name": "standard",
+ "description": "The standard font-family.",
+ "optional": true,
"type": "string"
},
{
- "name": "totalBytes",
- "description": "Total expected bytes to download.",
- "type": "number"
+ "name": "fixed",
+ "description": "The fixed font-family.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "receivedBytes",
- "description": "Total bytes received.",
- "type": "number"
+ "name": "serif",
+ "description": "The serif font-family.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "state",
- "description": "Download status.",
- "type": "string",
- "enum": [
- "inProgress",
- "completed",
- "canceled"
- ]
- }
- ]
- },
- {
- "name": "interstitialHidden",
- "description": "Fired when interstitial page was hidden"
- },
- {
- "name": "interstitialShown",
- "description": "Fired when interstitial page was shown"
- },
- {
- "name": "javascriptDialogClosed",
- "description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been\nclosed.",
- "parameters": [
+ "name": "sansSerif",
+ "description": "The sansSerif font-family.",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "frameId",
- "description": "Frame id.",
- "experimental": true,
- "$ref": "FrameId"
+ "name": "cursive",
+ "description": "The cursive font-family.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "result",
- "description": "Whether dialog was confirmed.",
- "type": "boolean"
+ "name": "fantasy",
+ "description": "The fantasy font-family.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "userInput",
- "description": "User input in case of prompt.",
+ "name": "math",
+ "description": "The math font-family.",
+ "optional": true,
"type": "string"
}
]
},
{
- "name": "javascriptDialogOpening",
- "description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to\nopen.",
- "parameters": [
- {
- "name": "url",
- "description": "Frame url.",
- "type": "string"
- },
- {
- "name": "frameId",
- "description": "Frame id.",
- "experimental": true,
- "$ref": "FrameId"
- },
+ "id": "ScriptFontFamilies",
+ "description": "Font families collection for a script.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "message",
- "description": "Message that will be displayed by the dialog.",
+ "name": "script",
+ "description": "Name of the script which these font families are defined for.",
"type": "string"
},
{
- "name": "type",
- "description": "Dialog type.",
- "$ref": "DialogType"
- },
+ "name": "fontFamilies",
+ "description": "Generic font families collection for the script.",
+ "$ref": "FontFamilies"
+ }
+ ]
+ },
+ {
+ "id": "FontSizes",
+ "description": "Default font sizes.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "hasBrowserHandler",
- "description": "True iff browser is capable showing or acting on the given dialog. When browser has no\ndialog handler for given target, calling alert while Page domain is engaged will stall\nthe page execution. Execution can be resumed via calling Page.handleJavaScriptDialog.",
- "type": "boolean"
+ "name": "standard",
+ "description": "Default standard font size.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "defaultPrompt",
- "description": "Default dialog prompt.",
+ "name": "fixed",
+ "description": "Default fixed font size.",
"optional": true,
- "type": "string"
+ "type": "integer"
}
]
},
{
- "name": "lifecycleEvent",
- "description": "Fired for lifecycle events (navigation, load, paint, etc) in the current\ntarget (including local frames).",
- "parameters": [
- {
- "name": "frameId",
- "description": "Id of the frame.",
- "$ref": "FrameId"
- },
- {
- "name": "loaderId",
- "description": "Loader identifier. Empty string if the request is fetched from worker.",
- "$ref": "Network.LoaderId"
- },
+ "id": "ClientNavigationReason",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "anchorClick",
+ "formSubmissionGet",
+ "formSubmissionPost",
+ "httpHeaderRefresh",
+ "initialFrameNavigation",
+ "metaTagRefresh",
+ "other",
+ "pageBlockInterstitial",
+ "reload",
+ "scriptInitiated"
+ ]
+ },
+ {
+ "id": "ClientNavigationDisposition",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "currentTab",
+ "newTab",
+ "newWindow",
+ "download"
+ ]
+ },
+ {
+ "id": "InstallabilityErrorArgument",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
"name": "name",
+ "description": "Argument name (e.g. name:'minimum-icon-size-in-pixels').",
"type": "string"
},
{
- "name": "timestamp",
- "$ref": "Network.MonotonicTime"
+ "name": "value",
+ "description": "Argument value (e.g. value:'64').",
+ "type": "string"
}
]
},
{
- "name": "backForwardCacheNotUsed",
- "description": "Fired for failed bfcache history navigations if BackForwardCache feature is enabled. Do\nnot assume any ordering with the Page.frameNavigated event. This event is fired only for\nmain-frame history navigation where the document changes (non-same-document navigations),\nwhen bfcache navigation fails.",
+ "id": "InstallabilityError",
+ "description": "The installability error",
"experimental": true,
- "parameters": [
- {
- "name": "loaderId",
- "description": "The loader id for the associated navigation.",
- "$ref": "Network.LoaderId"
- },
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "The frame id of the associated frame.",
- "$ref": "FrameId"
+ "name": "errorId",
+ "description": "The error id (e.g. 'manifest-missing-suitable-icon').",
+ "type": "string"
},
{
- "name": "notRestoredExplanations",
- "description": "Array of reasons why the page could not be cached. This must not be empty.",
+ "name": "errorArguments",
+ "description": "The list of error arguments (e.g. {name:'minimum-icon-size-in-pixels', value:'64'}).",
"type": "array",
"items": {
- "$ref": "BackForwardCacheNotRestoredExplanation"
+ "$ref": "InstallabilityErrorArgument"
}
- },
- {
- "name": "notRestoredExplanationsTree",
- "description": "Tree structure of reasons why the page could not be cached for each frame.",
- "optional": true,
- "$ref": "BackForwardCacheNotRestoredExplanationTree"
}
]
},
{
- "name": "loadEventFired",
- "parameters": [
- {
- "name": "timestamp",
- "$ref": "Network.MonotonicTime"
- }
+ "id": "ReferrerPolicy",
+ "description": "The referring-policy used for the navigation.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "noReferrer",
+ "noReferrerWhenDowngrade",
+ "origin",
+ "originWhenCrossOrigin",
+ "sameOrigin",
+ "strictOrigin",
+ "strictOriginWhenCrossOrigin",
+ "unsafeUrl"
]
},
{
- "name": "navigatedWithinDocument",
- "description": "Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.",
+ "id": "CompilationCacheParams",
+ "description": "Per-script compilation cache parameters for `Page.produceCompilationCache`",
"experimental": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "Id of the frame.",
- "$ref": "FrameId"
- },
+ "type": "object",
+ "properties": [
{
"name": "url",
- "description": "Frame's new url.",
+ "description": "The URL of the script to produce a compilation cache entry for.",
"type": "string"
},
{
- "name": "navigationType",
- "description": "Navigation type",
- "type": "string",
- "enum": [
- "fragment",
- "historyApi",
- "other"
- ]
+ "name": "eager",
+ "description": "A hint to the backend whether eager compilation is recommended.\n(the actual compilation mode used is upon backend discretion).",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "name": "screencastFrame",
- "description": "Compressed image data requested by the `startScreencast`.",
+ "id": "FileFilter",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "data",
- "description": "Base64-encoded compressed image. (Encoded as a base64 string when passed over JSON)",
+ "name": "name",
+ "optional": true,
"type": "string"
},
{
- "name": "metadata",
- "description": "Screencast frame metadata.",
- "$ref": "ScreencastFrameMetadata"
- },
- {
- "name": "sessionId",
- "description": "Frame number.",
- "type": "integer"
+ "name": "accepts",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "screencastVisibilityChanged",
- "description": "Fired when the page with currently enabled screencast was shown or hidden `.",
+ "id": "FileHandler",
"experimental": true,
- "parameters": [
- {
- "name": "visible",
- "description": "True if the page is visible.",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "windowOpen",
- "description": "Fired when a new window is going to be opened, via window.open(), link click, form submission,\netc.",
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "url",
- "description": "The URL for the new window.",
+ "name": "action",
"type": "string"
},
{
- "name": "windowName",
- "description": "Window name.",
+ "name": "name",
"type": "string"
},
{
- "name": "windowFeatures",
- "description": "An array of enabled window features.",
+ "name": "icons",
+ "optional": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "ImageResource"
}
},
{
- "name": "userGesture",
- "description": "Whether or not it was triggered by user gesture.",
- "type": "boolean"
+ "name": "accepts",
+ "description": "Mimic a map, name is the key, accepts is the value.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "FileFilter"
+ }
+ },
+ {
+ "name": "launchType",
+ "description": "Won't repeat the enums, using string for easy comparison. Same as the\nother enums below.",
+ "type": "string"
}
]
},
{
- "name": "compilationCacheProduced",
- "description": "Issued for every compilation cache generated. Is only available\nif Page.setGenerateCompilationCache is enabled.",
+ "id": "ImageResource",
+ "description": "The image definition used in both icon and screenshot.",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
"name": "url",
+ "description": "The src field in the definition, but changing to url in favor of\nconsistency.",
"type": "string"
},
{
- "name": "data",
- "description": "Base64-encoded data (Encoded as a base64 string when passed over JSON)",
+ "name": "sizes",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "optional": true,
"type": "string"
}
]
- }
- ]
- },
- {
- "domain": "Performance",
- "types": [
+ },
+ {
+ "id": "LaunchHandler",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "clientMode",
+ "type": "string"
+ }
+ ]
+ },
{
- "id": "Metric",
- "description": "Run-time execution metric.",
+ "id": "ProtocolHandler",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Metric name.",
+ "name": "protocol",
"type": "string"
},
{
- "name": "value",
- "description": "Metric value.",
- "type": "number"
+ "name": "url",
+ "type": "string"
}
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disable collecting and reporting metrics."
},
{
- "name": "enable",
- "description": "Enable collecting and reporting metrics.",
- "parameters": [
+ "id": "RelatedApplication",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "timeDomain",
- "description": "Time domain to use for collecting and reporting duration metrics.",
+ "name": "id",
"optional": true,
- "type": "string",
- "enum": [
- "timeTicks",
- "threadTicks"
- ]
+ "type": "string"
+ },
+ {
+ "name": "url",
+ "type": "string"
}
]
},
{
- "name": "setTimeDomain",
- "description": "Sets time domain to use for collecting and reporting duration metrics.\nNote that this must be called before enabling metrics collection. Calling\nthis method while metrics collection is enabled returns an error.",
+ "id": "ScopeExtension",
"experimental": true,
- "deprecated": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "timeDomain",
- "description": "Time domain",
- "type": "string",
- "enum": [
- "timeTicks",
- "threadTicks"
- ]
+ "name": "origin",
+ "description": "Instead of using tuple, this field always returns the serialized string\nfor easy understanding and comparison.",
+ "type": "string"
+ },
+ {
+ "name": "hasOriginWildcard",
+ "type": "boolean"
}
]
},
{
- "name": "getMetrics",
- "description": "Retrieve current values of run-time metrics.",
- "returns": [
+ "id": "Screenshot",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "metrics",
- "description": "Current values for run-time metrics.",
- "type": "array",
- "items": {
- "$ref": "Metric"
- }
- }
- ]
- }
- ],
- "events": [
- {
- "name": "metrics",
- "description": "Current values of the metrics.",
- "parameters": [
+ "name": "image",
+ "$ref": "ImageResource"
+ },
{
- "name": "metrics",
- "description": "Current values of the metrics.",
- "type": "array",
- "items": {
- "$ref": "Metric"
- }
+ "name": "formFactor",
+ "type": "string"
},
{
- "name": "title",
- "description": "Timestamp title.",
+ "name": "label",
+ "optional": true,
"type": "string"
}
]
- }
- ]
- },
- {
- "domain": "PerformanceTimeline",
- "description": "Reporting of performance timeline events, as specified in\nhttps://w3c.github.io/performance-timeline/#dom-performanceobserver.",
- "experimental": true,
- "dependencies": [
- "DOM",
- "Network"
- ],
- "types": [
+ },
{
- "id": "LargestContentfulPaint",
- "description": "See https://github.com/WICG/LargestContentfulPaint and largest_contentful_paint.idl",
+ "id": "ShareTarget",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "renderTime",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "action",
+ "type": "string"
},
{
- "name": "loadTime",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "method",
+ "type": "string"
},
{
- "name": "size",
- "description": "The number of pixels being painted.",
- "type": "number"
+ "name": "enctype",
+ "type": "string"
},
{
- "name": "elementId",
- "description": "The id attribute of the element, if available.",
+ "name": "title",
+ "description": "Embed the ShareTargetParams",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "text",
"optional": true,
"type": "string"
},
{
"name": "url",
- "description": "The URL of the image (may be trimmed).",
"optional": true,
"type": "string"
},
{
- "name": "nodeId",
+ "name": "files",
"optional": true,
- "$ref": "DOM.BackendNodeId"
+ "type": "array",
+ "items": {
+ "$ref": "FileFilter"
+ }
}
]
},
{
- "id": "LayoutShiftAttribution",
+ "id": "Shortcut",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "previousRect",
- "$ref": "DOM.Rect"
- },
- {
- "name": "currentRect",
- "$ref": "DOM.Rect"
+ "name": "name",
+ "type": "string"
},
{
- "name": "nodeId",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
+ "name": "url",
+ "type": "string"
}
]
},
{
- "id": "LayoutShift",
- "description": "See https://wicg.github.io/layout-instability/#sec-layout-shift and layout_shift.idl",
+ "id": "WebAppManifest",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "value",
- "description": "Score increment produced by this event.",
- "type": "number"
+ "name": "backgroundColor",
+ "optional": true,
+ "type": "string"
},
{
- "name": "hadRecentInput",
- "type": "boolean"
+ "name": "description",
+ "description": "The extra description provided by the manifest.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "lastInputTime",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "dir",
+ "optional": true,
+ "type": "string"
},
{
- "name": "sources",
+ "name": "display",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "displayOverrides",
+ "description": "The overrided display mode controlled by the user.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "LayoutShiftAttribution"
+ "type": "string"
}
- }
- ]
- },
- {
- "id": "TimelineEvent",
- "type": "object",
- "properties": [
+ },
{
- "name": "frameId",
- "description": "Identifies the frame that this event is related to. Empty for non-frame targets.",
- "$ref": "Page.FrameId"
+ "name": "fileHandlers",
+ "description": "The handlers to open files.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "FileHandler"
+ }
+ },
+ {
+ "name": "icons",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ImageResource"
+ }
+ },
+ {
+ "name": "id",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "launchHandler",
+ "description": "TODO(crbug.com/1231886): This field is non-standard and part of a Chrome\nexperiment. See:\nhttps://github.com/WICG/web-app-launch/blob/main/launch_handler.md",
+ "optional": true,
+ "$ref": "LaunchHandler"
+ },
+ {
+ "name": "name",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "orientation",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "preferRelatedApplications",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "protocolHandlers",
+ "description": "The handlers to open protocols.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ProtocolHandler"
+ }
},
{
- "name": "type",
- "description": "The event type, as specified in https://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype\nThis determines which of the optional \"details\" fields is present.",
- "type": "string"
+ "name": "relatedApplications",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "RelatedApplication"
+ }
},
{
- "name": "name",
- "description": "Name may be empty depending on the type.",
+ "name": "scope",
+ "optional": true,
"type": "string"
},
{
- "name": "time",
- "description": "Time in seconds since Epoch, monotonically increasing within document lifetime.",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "scopeExtensions",
+ "description": "Non-standard, see\nhttps://github.com/WICG/manifest-incubations/blob/gh-pages/scope_extensions-explainer.md",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ScopeExtension"
+ }
},
{
- "name": "duration",
- "description": "Event duration, if applicable.",
+ "name": "screenshots",
+ "description": "The screenshots used by chromium.",
"optional": true,
- "type": "number"
+ "type": "array",
+ "items": {
+ "$ref": "Screenshot"
+ }
},
{
- "name": "lcpDetails",
+ "name": "shareTarget",
"optional": true,
- "$ref": "LargestContentfulPaint"
+ "$ref": "ShareTarget"
},
{
- "name": "layoutShiftDetails",
+ "name": "shortName",
"optional": true,
- "$ref": "LayoutShift"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "enable",
- "description": "Previously buffered events would be reported before method returns.\nSee also: timelineEventAdded",
- "parameters": [
+ "type": "string"
+ },
{
- "name": "eventTypes",
- "description": "The types of event to report, as specified in\nhttps://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype\nThe specified filter overrides any previous filters, passing empty\nfilter disables recording.\nNote that not all types exposed to the web platform are currently supported.",
+ "name": "shortcuts",
+ "optional": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "Shortcut"
}
- }
- ]
- }
- ],
- "events": [
- {
- "name": "timelineEventAdded",
- "description": "Sent when a performance timeline event is added. See reportPerformanceTimeline method.",
- "parameters": [
+ },
{
- "name": "event",
- "$ref": "TimelineEvent"
+ "name": "startUrl",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "themeColor",
+ "optional": true,
+ "type": "string"
}
]
- }
- ]
- },
- {
- "domain": "Security",
- "description": "Security",
- "types": [
+ },
{
- "id": "CertificateId",
- "description": "An internal certificate ID value.",
- "type": "integer"
+ "id": "NavigationType",
+ "description": "The type of a frameNavigated event.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Navigation",
+ "BackForwardCacheRestore"
+ ]
},
{
- "id": "MixedContentType",
- "description": "A description of mixed content (HTTP resources on HTTPS pages), as defined by\nhttps://www.w3.org/TR/mixed-content/#categories",
+ "id": "BackForwardCacheNotRestoredReason",
+ "description": "List of not restored reasons for back-forward cache.",
+ "experimental": true,
"type": "string",
"enum": [
- "blockable",
- "optionally-blockable",
- "none"
+ "NotPrimaryMainFrame",
+ "BackForwardCacheDisabled",
+ "RelatedActiveContentsExist",
+ "HTTPStatusNotOK",
+ "SchemeNotHTTPOrHTTPS",
+ "Loading",
+ "WasGrantedMediaAccess",
+ "DisableForRenderFrameHostCalled",
+ "DomainNotAllowed",
+ "HTTPMethodNotGET",
+ "SubframeIsNavigating",
+ "Timeout",
+ "CacheLimit",
+ "JavaScriptExecution",
+ "RendererProcessKilled",
+ "RendererProcessCrashed",
+ "SchedulerTrackedFeatureUsed",
+ "ConflictingBrowsingInstance",
+ "CacheFlushed",
+ "ServiceWorkerVersionActivation",
+ "SessionRestored",
+ "ServiceWorkerPostMessage",
+ "EnteredBackForwardCacheBeforeServiceWorkerHostAdded",
+ "RenderFrameHostReused_SameSite",
+ "RenderFrameHostReused_CrossSite",
+ "ServiceWorkerClaim",
+ "IgnoreEventAndEvict",
+ "HaveInnerContents",
+ "TimeoutPuttingInCache",
+ "BackForwardCacheDisabledByLowMemory",
+ "BackForwardCacheDisabledByCommandLine",
+ "NetworkRequestDatapipeDrainedAsBytesConsumer",
+ "NetworkRequestRedirected",
+ "NetworkRequestTimeout",
+ "NetworkExceedsBufferLimit",
+ "NavigationCancelledWhileRestoring",
+ "NotMostRecentNavigationEntry",
+ "BackForwardCacheDisabledForPrerender",
+ "UserAgentOverrideDiffers",
+ "ForegroundCacheLimit",
+ "BrowsingInstanceNotSwapped",
+ "BackForwardCacheDisabledForDelegate",
+ "UnloadHandlerExistsInMainFrame",
+ "UnloadHandlerExistsInSubFrame",
+ "ServiceWorkerUnregistration",
+ "CacheControlNoStore",
+ "CacheControlNoStoreCookieModified",
+ "CacheControlNoStoreHTTPOnlyCookieModified",
+ "NoResponseHead",
+ "Unknown",
+ "ActivationNavigationsDisallowedForBug1234857",
+ "ErrorDocument",
+ "FencedFramesEmbedder",
+ "CookieDisabled",
+ "HTTPAuthRequired",
+ "CookieFlushed",
+ "BroadcastChannelOnMessage",
+ "WebViewSettingsChanged",
+ "WebViewJavaScriptObjectChanged",
+ "WebViewMessageListenerInjected",
+ "WebViewSafeBrowsingAllowlistChanged",
+ "WebViewDocumentStartJavascriptChanged",
+ "WebSocket",
+ "WebTransport",
+ "WebRTC",
+ "MainResourceHasCacheControlNoStore",
+ "MainResourceHasCacheControlNoCache",
+ "SubresourceHasCacheControlNoStore",
+ "SubresourceHasCacheControlNoCache",
+ "ContainsPlugins",
+ "DocumentLoaded",
+ "OutstandingNetworkRequestOthers",
+ "RequestedMIDIPermission",
+ "RequestedAudioCapturePermission",
+ "RequestedVideoCapturePermission",
+ "RequestedBackForwardCacheBlockedSensors",
+ "RequestedBackgroundWorkPermission",
+ "BroadcastChannel",
+ "WebXR",
+ "SharedWorker",
+ "SharedWorkerMessage",
+ "SharedWorkerWithNoActiveClient",
+ "WebLocks",
+ "WebHID",
+ "WebBluetooth",
+ "WebShare",
+ "RequestedStorageAccessGrant",
+ "WebNfc",
+ "OutstandingNetworkRequestFetch",
+ "OutstandingNetworkRequestXHR",
+ "AppBanner",
+ "Printing",
+ "WebDatabase",
+ "PictureInPicture",
+ "SpeechRecognizer",
+ "IdleManager",
+ "PaymentManager",
+ "SpeechSynthesis",
+ "KeyboardLock",
+ "WebOTPService",
+ "OutstandingNetworkRequestDirectSocket",
+ "InjectedJavascript",
+ "InjectedStyleSheet",
+ "KeepaliveRequest",
+ "IndexedDBEvent",
+ "Dummy",
+ "JsNetworkRequestReceivedCacheControlNoStoreResource",
+ "WebRTCUsedWithCCNS",
+ "WebTransportUsedWithCCNS",
+ "WebSocketUsedWithCCNS",
+ "SmartCard",
+ "LiveMediaStreamTrack",
+ "UnloadHandler",
+ "ParserAborted",
+ "ContentSecurityHandler",
+ "ContentWebAuthenticationAPI",
+ "ContentFileChooser",
+ "ContentSerial",
+ "ContentFileSystemAccess",
+ "ContentMediaDevicesDispatcherHost",
+ "ContentWebBluetooth",
+ "ContentWebUSB",
+ "ContentMediaSessionService",
+ "ContentScreenReader",
+ "ContentDiscarded",
+ "EmbedderPopupBlockerTabHelper",
+ "EmbedderSafeBrowsingTriggeredPopupBlocker",
+ "EmbedderSafeBrowsingThreatDetails",
+ "EmbedderAppBannerManager",
+ "EmbedderDomDistillerViewerSource",
+ "EmbedderDomDistillerSelfDeletingRequestDelegate",
+ "EmbedderOomInterventionTabHelper",
+ "EmbedderOfflinePage",
+ "EmbedderChromePasswordManagerClientBindCredentialManager",
+ "EmbedderPermissionRequestManager",
+ "EmbedderModalDialog",
+ "EmbedderExtensions",
+ "EmbedderExtensionMessaging",
+ "EmbedderExtensionMessagingForOpenPort",
+ "EmbedderExtensionSentMessageToCachedFrame",
+ "RequestedByWebViewClient",
+ "PostMessageByWebViewClient",
+ "CacheControlNoStoreDeviceBoundSessionTerminated",
+ "CacheLimitPrunedOnModerateMemoryPressure",
+ "CacheLimitPrunedOnCriticalMemoryPressure"
]
},
{
- "id": "SecurityState",
- "description": "The security level of a page or resource.",
+ "id": "BackForwardCacheNotRestoredReasonType",
+ "description": "Types of not restored reasons for back-forward cache.",
+ "experimental": true,
"type": "string",
"enum": [
- "unknown",
- "neutral",
- "insecure",
- "secure",
- "info",
- "insecure-broken"
+ "SupportPending",
+ "PageSupportNeeded",
+ "Circumstantial"
]
},
{
- "id": "CertificateSecurityState",
- "description": "Details about the security state of the page certificate.",
+ "id": "BackForwardCacheBlockingDetails",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "protocol",
- "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
+ "name": "url",
+ "description": "Url of the file where blockage happened. Optional because of tests.",
+ "optional": true,
"type": "string"
},
{
- "name": "keyExchange",
- "description": "Key Exchange used by the connection, or the empty string if not applicable.",
+ "name": "function",
+ "description": "Function name where blockage happened. Optional because of anonymous functions and tests.",
+ "optional": true,
"type": "string"
},
{
- "name": "keyExchangeGroup",
- "description": "(EC)DH group used by the connection, if applicable.",
- "optional": true,
- "type": "string"
+ "name": "lineNumber",
+ "description": "Line number in the script (0-based).",
+ "type": "integer"
},
{
- "name": "cipher",
- "description": "Cipher name.",
- "type": "string"
+ "name": "columnNumber",
+ "description": "Column number in the script (0-based).",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "id": "BackForwardCacheNotRestoredExplanation",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Type of the reason",
+ "$ref": "BackForwardCacheNotRestoredReasonType"
},
{
- "name": "mac",
- "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
+ "name": "reason",
+ "description": "Not restored reason",
+ "$ref": "BackForwardCacheNotRestoredReason"
+ },
+ {
+ "name": "context",
+ "description": "Context associated with the reason. The meaning of this context is\ndependent on the reason:\n- EmbedderExtensionSentMessageToCachedFrame: the extension ID.",
"optional": true,
"type": "string"
},
{
- "name": "certificate",
- "description": "Page certificate.",
+ "name": "details",
+ "optional": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "BackForwardCacheBlockingDetails"
}
- },
+ }
+ ]
+ },
+ {
+ "id": "BackForwardCacheNotRestoredExplanationTree",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "subjectName",
- "description": "Certificate subject name.",
+ "name": "url",
+ "description": "URL of each frame",
"type": "string"
},
{
- "name": "issuer",
- "description": "Name of the issuing CA.",
- "type": "string"
+ "name": "explanations",
+ "description": "Not restored reasons of each frame",
+ "type": "array",
+ "items": {
+ "$ref": "BackForwardCacheNotRestoredExplanation"
+ }
},
{
- "name": "validFrom",
- "description": "Certificate valid from date.",
- "$ref": "Network.TimeSinceEpoch"
- },
+ "name": "children",
+ "description": "Array of children frame",
+ "type": "array",
+ "items": {
+ "$ref": "BackForwardCacheNotRestoredExplanationTree"
+ }
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "addScriptToEvaluateOnLoad",
+ "description": "Deprecated, please use addScriptToEvaluateOnNewDocument instead.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
{
- "name": "validTo",
- "description": "Certificate valid to (expiration) date",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "scriptSource",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "identifier",
+ "description": "Identifier of the added script.",
+ "$ref": "ScriptIdentifier"
+ }
+ ]
+ },
+ {
+ "name": "addScriptToEvaluateOnNewDocument",
+ "description": "Evaluates given script in every frame upon creation (before loading frame's scripts).",
+ "parameters": [
+ {
+ "name": "source",
+ "type": "string"
},
{
- "name": "certificateNetworkError",
- "description": "The highest priority network error code, if the certificate has an error.",
+ "name": "worldName",
+ "description": "If specified, creates an isolated world with the given name and evaluates given script in it.\nThis world name will be used as the ExecutionContextDescription::name when the corresponding\nevent is emitted.",
+ "experimental": true,
"optional": true,
"type": "string"
},
{
- "name": "certificateHasWeakSignature",
- "description": "True if the certificate uses a weak signature algorithm.",
+ "name": "includeCommandLineAPI",
+ "description": "Specifies whether command line API should be available to the script, defaults\nto false.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
},
{
- "name": "certificateHasSha1Signature",
- "description": "True if the certificate has a SHA1 signature in the chain.",
+ "name": "runImmediately",
+ "description": "If true, runs the script immediately on existing execution contexts or worlds.\nDefault: false.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "identifier",
+ "description": "Identifier of the added script.",
+ "$ref": "ScriptIdentifier"
+ }
+ ]
+ },
+ {
+ "name": "bringToFront",
+ "description": "Brings page to front (activates tab)."
+ },
+ {
+ "name": "captureScreenshot",
+ "description": "Capture page screenshot.",
+ "parameters": [
+ {
+ "name": "format",
+ "description": "Image compression format (defaults to png).",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "png",
+ "webp"
+ ]
},
{
- "name": "modernSSL",
- "description": "True if modern SSL",
+ "name": "quality",
+ "description": "Compression quality from range [0..100] (jpeg only).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "clip",
+ "description": "Capture the screenshot of a given region only.",
+ "optional": true,
+ "$ref": "Viewport"
+ },
+ {
+ "name": "fromSurface",
+ "description": "Capture the screenshot from the surface, rather than the view. Defaults to true.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
},
{
- "name": "obsoleteSslProtocol",
- "description": "True if the connection is using an obsolete SSL protocol.",
+ "name": "captureBeyondViewport",
+ "description": "Capture the screenshot beyond the viewport. Defaults to false.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
},
{
- "name": "obsoleteSslKeyExchange",
- "description": "True if the connection is using an obsolete SSL key exchange.",
+ "name": "optimizeForSpeed",
+ "description": "Optimize image encoding for speed, not for resulting size (defaults to false)",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "data",
+ "description": "Base64-encoded image data. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "captureSnapshot",
+ "description": "Returns a snapshot of the page as a string. For MHTML format, the serialization includes\niframes, shadow DOM, external resources, and element-inline styles.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "format",
+ "description": "Format (defaults to mhtml).",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "mhtml"
+ ]
+ }
+ ],
+ "returns": [
+ {
+ "name": "data",
+ "description": "Serialized page data.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "clearDeviceMetricsOverride",
+ "description": "Clears the overridden device metrics.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "Emulation"
+ },
+ {
+ "name": "clearDeviceOrientationOverride",
+ "description": "Clears the overridden Device Orientation.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "DeviceOrientation"
+ },
+ {
+ "name": "clearGeolocationOverride",
+ "description": "Clears the overridden Geolocation Position and Error.",
+ "deprecated": true,
+ "redirect": "Emulation"
+ },
+ {
+ "name": "createIsolatedWorld",
+ "description": "Creates an isolated world for the given frame.",
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "Id of the frame in which the isolated world should be created.",
+ "$ref": "FrameId"
},
{
- "name": "obsoleteSslCipher",
- "description": "True if the connection is using an obsolete SSL cipher.",
- "type": "boolean"
+ "name": "worldName",
+ "description": "An optional name which is reported in the Execution Context.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "obsoleteSslSignature",
- "description": "True if the connection is using an obsolete SSL signature.",
+ "name": "grantUniveralAccess",
+ "description": "Whether or not universal access should be granted to the isolated world. This is a powerful\noption, use with caution.",
+ "optional": true,
"type": "boolean"
}
+ ],
+ "returns": [
+ {
+ "name": "executionContextId",
+ "description": "Execution context of the isolated world.",
+ "$ref": "Runtime.ExecutionContextId"
+ }
]
},
{
- "id": "SafetyTipStatus",
- "experimental": true,
- "type": "string",
- "enum": [
- "badReputation",
- "lookalike"
- ]
- },
- {
- "id": "SafetyTipInfo",
+ "name": "deleteCookie",
+ "description": "Deletes browser cookie with given name, domain and path.",
"experimental": true,
- "type": "object",
- "properties": [
+ "deprecated": true,
+ "redirect": "Network",
+ "parameters": [
{
- "name": "safetyTipStatus",
- "description": "Describes whether the page triggers any safety tips or reputation warnings. Default is unknown.",
- "$ref": "SafetyTipStatus"
+ "name": "cookieName",
+ "description": "Name of the cookie to remove.",
+ "type": "string"
},
{
- "name": "safeUrl",
- "description": "The URL the safety tip suggested (\"Did you mean?\"). Only filled in for lookalike matches.",
- "optional": true,
+ "name": "url",
+ "description": "URL to match cooke domain and path.",
"type": "string"
}
]
},
{
- "id": "VisibleSecurityState",
- "description": "Security state information about the page.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "securityState",
- "description": "The security level of the page.",
- "$ref": "SecurityState"
- },
- {
- "name": "certificateSecurityState",
- "description": "Security state details about the page certificate.",
- "optional": true,
- "$ref": "CertificateSecurityState"
- },
+ "name": "disable",
+ "description": "Disables page domain notifications."
+ },
+ {
+ "name": "enable",
+ "description": "Enables page domain notifications.",
+ "parameters": [
{
- "name": "safetyTipInfo",
- "description": "The type of Safety Tip triggered on the page. Note that this field will be set even if the Safety Tip UI was not actually shown.",
+ "name": "enableFileChooserOpenedEvent",
+ "description": "If true, the `Page.fileChooserOpened` event will be emitted regardless of the state set by\n`Page.setInterceptFileChooserDialog` command (default: false).",
+ "experimental": true,
"optional": true,
- "$ref": "SafetyTipInfo"
- },
- {
- "name": "securityStateIssueIds",
- "description": "Array of security state issues ids.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "type": "boolean"
}
]
},
{
- "id": "SecurityStateExplanation",
- "description": "An explanation of an factor contributing to the security state.",
- "type": "object",
- "properties": [
+ "name": "getAppManifest",
+ "description": "Gets the processed manifest for this current document.\n This API always waits for the manifest to be loaded.\n If manifestId is provided, and it does not match the manifest of the\n current document, this API errors out.\n If there is not a loaded page, this API errors out immediately.",
+ "parameters": [
{
- "name": "securityState",
- "description": "Security state representing the severity of the factor being explained.",
- "$ref": "SecurityState"
- },
+ "name": "manifestId",
+ "optional": true,
+ "type": "string"
+ }
+ ],
+ "returns": [
{
- "name": "title",
- "description": "Title describing the type of factor.",
+ "name": "url",
+ "description": "Manifest location.",
"type": "string"
},
{
- "name": "summary",
- "description": "Short phrase describing the type of factor.",
- "type": "string"
+ "name": "errors",
+ "type": "array",
+ "items": {
+ "$ref": "AppManifestError"
+ }
},
{
- "name": "description",
- "description": "Full text explanation of the factor.",
+ "name": "data",
+ "description": "Manifest content.",
+ "optional": true,
"type": "string"
},
{
- "name": "mixedContentType",
- "description": "The type of mixed content described by the explanation.",
- "$ref": "MixedContentType"
+ "name": "parsed",
+ "description": "Parsed manifest properties. Deprecated, use manifest instead.",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "$ref": "AppManifestParsedProperties"
},
{
- "name": "certificate",
- "description": "Page certificate.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
+ "name": "manifest",
+ "experimental": true,
+ "$ref": "WebAppManifest"
+ }
+ ]
+ },
+ {
+ "name": "getInstallabilityErrors",
+ "experimental": true,
+ "returns": [
{
- "name": "recommendations",
- "description": "Recommendations to fix any issues.",
- "optional": true,
+ "name": "installabilityErrors",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "InstallabilityError"
}
}
]
},
{
- "id": "InsecureContentStatus",
- "description": "Information about insecure content on the page.",
+ "name": "getManifestIcons",
+ "description": "Deprecated because it's not guaranteed that the returned icon is in fact the one used for PWA installation.",
+ "experimental": true,
"deprecated": true,
- "type": "object",
- "properties": [
- {
- "name": "ranMixedContent",
- "description": "Always false.",
- "type": "boolean"
- },
- {
- "name": "displayedMixedContent",
- "description": "Always false.",
- "type": "boolean"
- },
- {
- "name": "containedMixedForm",
- "description": "Always false.",
- "type": "boolean"
- },
- {
- "name": "ranContentWithCertErrors",
- "description": "Always false.",
- "type": "boolean"
- },
+ "returns": [
{
- "name": "displayedContentWithCertErrors",
- "description": "Always false.",
- "type": "boolean"
- },
+ "name": "primaryIcon",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "getAppId",
+ "description": "Returns the unique (PWA) app id.\nOnly returns values if the feature flag 'WebAppEnableManifestId' is enabled",
+ "experimental": true,
+ "returns": [
{
- "name": "ranInsecureContentStyle",
- "description": "Always set to unknown.",
- "$ref": "SecurityState"
+ "name": "appId",
+ "description": "App id, either from manifest's id attribute or computed from start_url",
+ "optional": true,
+ "type": "string"
},
{
- "name": "displayedInsecureContentStyle",
- "description": "Always set to unknown.",
- "$ref": "SecurityState"
+ "name": "recommendedId",
+ "description": "Recommendation for manifest's id attribute to match current id computed from start_url",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "id": "CertificateErrorAction",
- "description": "The action to take when a certificate error occurs. continue will continue processing the\nrequest and cancel will cancel the request.",
- "type": "string",
- "enum": [
- "continue",
- "cancel"
+ "name": "getAdScriptAncestry",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "frameId",
+ "$ref": "FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "adScriptAncestry",
+ "description": "The ancestry chain of ad script identifiers leading to this frame's\ncreation, along with the root script's filterlist rule. The ancestry\nchain is ordered from the most immediate script (in the frame creation\nstack) to more distant ancestors (that created the immediately preceding\nscript). Only sent if frame is labelled as an ad and ids are available.",
+ "optional": true,
+ "$ref": "AdScriptAncestry"
+ }
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disables tracking security state changes."
},
{
- "name": "enable",
- "description": "Enables tracking security state changes."
+ "name": "getFrameTree",
+ "description": "Returns present frame tree structure.",
+ "returns": [
+ {
+ "name": "frameTree",
+ "description": "Present frame tree structure.",
+ "$ref": "FrameTree"
+ }
+ ]
},
{
- "name": "setIgnoreCertificateErrors",
- "description": "Enable/disable whether all certificate errors should be ignored.",
- "parameters": [
+ "name": "getLayoutMetrics",
+ "description": "Returns metrics relating to the layouting of the page, such as viewport bounds/scale.",
+ "returns": [
+ {
+ "name": "layoutViewport",
+ "description": "Deprecated metrics relating to the layout viewport. Is in device pixels. Use `cssLayoutViewport` instead.",
+ "deprecated": true,
+ "$ref": "LayoutViewport"
+ },
+ {
+ "name": "visualViewport",
+ "description": "Deprecated metrics relating to the visual viewport. Is in device pixels. Use `cssVisualViewport` instead.",
+ "deprecated": true,
+ "$ref": "VisualViewport"
+ },
{
- "name": "ignore",
- "description": "If true, all certificate errors will be ignored.",
- "type": "boolean"
+ "name": "contentSize",
+ "description": "Deprecated size of scrollable area. Is in DP. Use `cssContentSize` instead.",
+ "deprecated": true,
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "cssLayoutViewport",
+ "description": "Metrics relating to the layout viewport in CSS pixels.",
+ "$ref": "LayoutViewport"
+ },
+ {
+ "name": "cssVisualViewport",
+ "description": "Metrics relating to the visual viewport in CSS pixels.",
+ "$ref": "VisualViewport"
+ },
+ {
+ "name": "cssContentSize",
+ "description": "Size of scrollable area in CSS pixels.",
+ "$ref": "DOM.Rect"
}
]
},
{
- "name": "handleCertificateError",
- "description": "Handles a certificate error that fired a certificateError event.",
- "deprecated": true,
- "parameters": [
+ "name": "getNavigationHistory",
+ "description": "Returns navigation history for the current page.",
+ "returns": [
{
- "name": "eventId",
- "description": "The ID of the event.",
+ "name": "currentIndex",
+ "description": "Index of the current navigation history entry.",
"type": "integer"
},
{
- "name": "action",
- "description": "The action to take on the certificate error.",
- "$ref": "CertificateErrorAction"
+ "name": "entries",
+ "description": "Array of navigation history entries.",
+ "type": "array",
+ "items": {
+ "$ref": "NavigationEntry"
+ }
}
]
},
{
- "name": "setOverrideCertificateErrors",
- "description": "Enable/disable overriding certificate errors. If enabled, all certificate error events need to\nbe handled by the DevTools client and should be answered with `handleCertificateError` commands.",
- "deprecated": true,
- "parameters": [
- {
- "name": "override",
- "description": "If true, certificate errors will be overridden.",
- "type": "boolean"
- }
- ]
- }
- ],
- "events": [
+ "name": "resetNavigationHistory",
+ "description": "Resets navigation history for the current page."
+ },
{
- "name": "certificateError",
- "description": "There is a certificate error. If overriding certificate errors is enabled, then it should be\nhandled with the `handleCertificateError` command. Note: this event does not fire if the\ncertificate error has been allowed internally. Only one client per target should override\ncertificate errors at the same time.",
- "deprecated": true,
+ "name": "getResourceContent",
+ "description": "Returns content of the given resource.",
+ "experimental": true,
"parameters": [
{
- "name": "eventId",
- "description": "The ID of the event.",
- "type": "integer"
+ "name": "frameId",
+ "description": "Frame id to get resource for.",
+ "$ref": "FrameId"
},
{
- "name": "errorType",
- "description": "The type of the error.",
+ "name": "url",
+ "description": "URL of the resource to get content for.",
"type": "string"
- },
+ }
+ ],
+ "returns": [
{
- "name": "requestURL",
- "description": "The url that was requested.",
+ "name": "content",
+ "description": "Resource content.",
"type": "string"
+ },
+ {
+ "name": "base64Encoded",
+ "description": "True, if content was served as base64.",
+ "type": "boolean"
}
]
},
{
- "name": "visibleSecurityStateChanged",
- "description": "The security state of the page changed.",
+ "name": "getResourceTree",
+ "description": "Returns present frame / resource tree structure.",
"experimental": true,
+ "returns": [
+ {
+ "name": "frameTree",
+ "description": "Present frame / resource tree structure.",
+ "$ref": "FrameResourceTree"
+ }
+ ]
+ },
+ {
+ "name": "handleJavaScriptDialog",
+ "description": "Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).",
"parameters": [
{
- "name": "visibleSecurityState",
- "description": "Security state information about the page.",
- "$ref": "VisibleSecurityState"
+ "name": "accept",
+ "description": "Whether to accept or dismiss the dialog.",
+ "type": "boolean"
+ },
+ {
+ "name": "promptText",
+ "description": "The text to enter into the dialog prompt before accepting. Used only if this is a prompt\ndialog.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "securityStateChanged",
- "description": "The security state of the page changed. No longer being sent.",
- "deprecated": true,
+ "name": "navigate",
+ "description": "Navigates current page to the given URL.",
"parameters": [
{
- "name": "securityState",
- "description": "Security state.",
- "$ref": "SecurityState"
+ "name": "url",
+ "description": "URL to navigate the page to.",
+ "type": "string"
},
{
- "name": "schemeIsCryptographic",
- "description": "True if the page was loaded over cryptographic transport such as HTTPS.",
- "deprecated": true,
- "type": "boolean"
+ "name": "referrer",
+ "description": "Referrer URL.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "explanations",
- "description": "Previously a list of explanations for the security state. Now always\nempty.",
- "deprecated": true,
- "type": "array",
- "items": {
- "$ref": "SecurityStateExplanation"
- }
+ "name": "transitionType",
+ "description": "Intended transition type.",
+ "optional": true,
+ "$ref": "TransitionType"
},
{
- "name": "insecureContentStatus",
- "description": "Information about insecure content on the page.",
- "deprecated": true,
- "$ref": "InsecureContentStatus"
+ "name": "frameId",
+ "description": "Frame id to navigate, if not specified navigates the top frame.",
+ "optional": true,
+ "$ref": "FrameId"
},
{
- "name": "summary",
- "description": "Overrides user-visible description of the state. Always omitted.",
- "deprecated": true,
+ "name": "referrerPolicy",
+ "description": "Referrer-policy used for the navigation.",
+ "experimental": true,
"optional": true,
- "type": "string"
+ "$ref": "ReferrerPolicy"
}
- ]
- }
- ]
- },
- {
- "domain": "ServiceWorker",
- "experimental": true,
- "dependencies": [
- "Target"
- ],
- "types": [
- {
- "id": "RegistrationID",
- "type": "string"
- },
- {
- "id": "ServiceWorkerRegistration",
- "description": "ServiceWorker registration.",
- "type": "object",
- "properties": [
+ ],
+ "returns": [
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "frameId",
+ "description": "Frame id that has navigated (or failed to navigate)",
+ "$ref": "FrameId"
},
{
- "name": "scopeURL",
+ "name": "loaderId",
+ "description": "Loader identifier. This is omitted in case of same-document navigation,\nas the previously committed loaderId would not change.",
+ "optional": true,
+ "$ref": "Network.LoaderId"
+ },
+ {
+ "name": "errorText",
+ "description": "User friendly error message, present if and only if navigation has failed.",
+ "optional": true,
"type": "string"
},
{
- "name": "isDeleted",
+ "name": "isDownload",
+ "description": "Whether the navigation resulted in a download.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
}
]
},
{
- "id": "ServiceWorkerVersionRunningStatus",
- "type": "string",
- "enum": [
- "stopped",
- "starting",
- "running",
- "stopping"
- ]
- },
- {
- "id": "ServiceWorkerVersionStatus",
- "type": "string",
- "enum": [
- "new",
- "installing",
- "installed",
- "activating",
- "activated",
- "redundant"
+ "name": "navigateToHistoryEntry",
+ "description": "Navigates current page to the given history entry.",
+ "parameters": [
+ {
+ "name": "entryId",
+ "description": "Unique id of the entry to navigate to.",
+ "type": "integer"
+ }
]
},
{
- "id": "ServiceWorkerVersion",
- "description": "ServiceWorker version.",
- "type": "object",
- "properties": [
+ "name": "printToPDF",
+ "description": "Print page as PDF.",
+ "parameters": [
{
- "name": "versionId",
- "type": "string"
+ "name": "landscape",
+ "description": "Paper orientation. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "displayHeaderFooter",
+ "description": "Display header and footer. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "printBackground",
+ "description": "Print background graphics. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "scriptURL",
- "type": "string"
+ "name": "scale",
+ "description": "Scale of the webpage rendering. Defaults to 1.",
+ "optional": true,
+ "type": "number"
},
{
- "name": "runningStatus",
- "$ref": "ServiceWorkerVersionRunningStatus"
+ "name": "paperWidth",
+ "description": "Paper width in inches. Defaults to 8.5 inches.",
+ "optional": true,
+ "type": "number"
},
{
- "name": "status",
- "$ref": "ServiceWorkerVersionStatus"
+ "name": "paperHeight",
+ "description": "Paper height in inches. Defaults to 11 inches.",
+ "optional": true,
+ "type": "number"
},
{
- "name": "scriptLastModified",
- "description": "The Last-Modified header value of the main script.",
+ "name": "marginTop",
+ "description": "Top margin in inches. Defaults to 1cm (~0.4 inches).",
"optional": true,
"type": "number"
},
{
- "name": "scriptResponseTime",
- "description": "The time at which the response headers of the main script were received from the server.\nFor cached script it is the last time the cache entry was validated.",
+ "name": "marginBottom",
+ "description": "Bottom margin in inches. Defaults to 1cm (~0.4 inches).",
"optional": true,
"type": "number"
},
{
- "name": "controlledClients",
+ "name": "marginLeft",
+ "description": "Left margin in inches. Defaults to 1cm (~0.4 inches).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Target.TargetID"
- }
+ "type": "number"
},
{
- "name": "targetId",
+ "name": "marginRight",
+ "description": "Right margin in inches. Defaults to 1cm (~0.4 inches).",
"optional": true,
- "$ref": "Target.TargetID"
+ "type": "number"
},
{
- "name": "routerRules",
+ "name": "pageRanges",
+ "description": "Paper ranges to print, one based, e.g., '1-5, 8, 11-13'. Pages are\nprinted in the document order, not in the order specified, and no\nmore than once.\nDefaults to empty string, which implies the entire document is printed.\nThe page numbers are quietly capped to actual page count of the\ndocument, and ranges beyond the end of the document are ignored.\nIf this results in no pages to print, an error is reported.\nIt is an error to specify a range with start greater than end.",
"optional": true,
"type": "string"
- }
- ]
- },
- {
- "id": "ServiceWorkerErrorMessage",
- "description": "ServiceWorker error message.",
- "type": "object",
- "properties": [
- {
- "name": "errorMessage",
- "type": "string"
- },
- {
- "name": "registrationId",
- "$ref": "RegistrationID"
},
{
- "name": "versionId",
+ "name": "headerTemplate",
+ "description": "HTML template for the print header. Should be valid HTML markup with following\nclasses used to inject printing values into them:\n- `date`: formatted print date\n- `title`: document title\n- `url`: document location\n- `pageNumber`: current page number\n- `totalPages`: total pages in the document\n\nFor example, `` would generate span containing the title.",
+ "optional": true,
"type": "string"
},
{
- "name": "sourceURL",
+ "name": "footerTemplate",
+ "description": "HTML template for the print footer. Should use the same format as the `headerTemplate`.",
+ "optional": true,
"type": "string"
},
{
- "name": "lineNumber",
- "type": "integer"
+ "name": "preferCSSPageSize",
+ "description": "Whether or not to prefer page size as defined by css. Defaults to false,\nin which case the content will be scaled to fit the paper size.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "columnNumber",
- "type": "integer"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "deliverPushMessage",
- "parameters": [
- {
- "name": "origin",
- "type": "string"
+ "name": "transferMode",
+ "description": "return as stream",
+ "experimental": true,
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "ReturnAsBase64",
+ "ReturnAsStream"
+ ]
},
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "generateTaggedPDF",
+ "description": "Whether or not to generate tagged (accessible) PDF. Defaults to embedder choice.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "data",
- "type": "string"
+ "name": "generateDocumentOutline",
+ "description": "Whether or not to embed the document outline into the PDF.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
- ]
- },
- {
- "name": "disable"
- },
- {
- "name": "dispatchSyncEvent",
- "parameters": [
- {
- "name": "origin",
- "type": "string"
- },
- {
- "name": "registrationId",
- "$ref": "RegistrationID"
- },
+ ],
+ "returns": [
{
- "name": "tag",
+ "name": "data",
+ "description": "Base64-encoded pdf data. Empty if |returnAsStream| is specified. (Encoded as a base64 string when passed over JSON)",
"type": "string"
},
{
- "name": "lastChance",
- "type": "boolean"
+ "name": "stream",
+ "description": "A handle of the stream that holds resulting PDF data.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "IO.StreamHandle"
}
]
},
{
- "name": "dispatchPeriodicSyncEvent",
+ "name": "reload",
+ "description": "Reloads given page optionally ignoring the cache.",
"parameters": [
{
- "name": "origin",
- "type": "string"
+ "name": "ignoreCache",
+ "description": "If true, browser cache is ignored (as if the user pressed Shift+refresh).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "scriptToEvaluateOnLoad",
+ "description": "If set, the script will be injected into all frames of the inspected page after reload.\nArgument will be ignored if reloading dataURL origin.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "tag",
- "type": "string"
+ "name": "loaderId",
+ "description": "If set, an error will be thrown if the target page's main frame's\nloader id does not match the provided id. This prevents accidentally\nreloading an unintended target in case there's a racing navigation.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Network.LoaderId"
}
]
},
{
- "name": "enable"
- },
- {
- "name": "inspectWorker",
+ "name": "removeScriptToEvaluateOnLoad",
+ "description": "Deprecated, please use removeScriptToEvaluateOnNewDocument instead.",
+ "experimental": true,
+ "deprecated": true,
"parameters": [
{
- "name": "versionId",
- "type": "string"
+ "name": "identifier",
+ "$ref": "ScriptIdentifier"
}
]
},
{
- "name": "setForceUpdateOnPageLoad",
+ "name": "removeScriptToEvaluateOnNewDocument",
+ "description": "Removes given script from the list.",
"parameters": [
{
- "name": "forceUpdateOnPageLoad",
- "type": "boolean"
+ "name": "identifier",
+ "$ref": "ScriptIdentifier"
}
]
},
{
- "name": "skipWaiting",
+ "name": "screencastFrameAck",
+ "description": "Acknowledges that a screencast frame has been received by the frontend.",
+ "experimental": true,
"parameters": [
{
- "name": "scopeURL",
- "type": "string"
+ "name": "sessionId",
+ "description": "Frame number.",
+ "type": "integer"
}
]
},
{
- "name": "startWorker",
+ "name": "searchInResource",
+ "description": "Searches for given string in resource content.",
+ "experimental": true,
"parameters": [
{
- "name": "scopeURL",
+ "name": "frameId",
+ "description": "Frame id for resource to search in.",
+ "$ref": "FrameId"
+ },
+ {
+ "name": "url",
+ "description": "URL of the resource to search in.",
"type": "string"
- }
- ]
- },
- {
- "name": "stopAllWorkers"
- },
- {
- "name": "stopWorker",
- "parameters": [
+ },
{
- "name": "versionId",
+ "name": "query",
+ "description": "String to search for.",
"type": "string"
+ },
+ {
+ "name": "caseSensitive",
+ "description": "If true, search is case sensitive.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "isRegex",
+ "description": "If true, treats string parameter as regex.",
+ "optional": true,
+ "type": "boolean"
}
- ]
- },
- {
- "name": "unregister",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "scopeURL",
- "type": "string"
+ "name": "result",
+ "description": "List of search matches.",
+ "type": "array",
+ "items": {
+ "$ref": "Debugger.SearchMatch"
+ }
}
]
},
{
- "name": "updateRegistration",
+ "name": "setAdBlockingEnabled",
+ "description": "Enable Chrome's experimental ad filter on all sites.",
+ "experimental": true,
"parameters": [
{
- "name": "scopeURL",
- "type": "string"
+ "name": "enabled",
+ "description": "Whether to block ads.",
+ "type": "boolean"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "workerErrorReported",
+ "name": "setBypassCSP",
+ "description": "Enable page Content Security Policy by-passing.",
"parameters": [
- {
- "name": "errorMessage",
- "$ref": "ServiceWorkerErrorMessage"
+ {
+ "name": "enabled",
+ "description": "Whether to bypass page CSP.",
+ "type": "boolean"
}
]
},
{
- "name": "workerRegistrationUpdated",
+ "name": "getPermissionsPolicyState",
+ "description": "Get Permissions Policy state on given frame.",
+ "experimental": true,
"parameters": [
{
- "name": "registrations",
+ "name": "frameId",
+ "$ref": "FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "states",
"type": "array",
"items": {
- "$ref": "ServiceWorkerRegistration"
+ "$ref": "PermissionsPolicyFeatureState"
}
}
]
},
{
- "name": "workerVersionUpdated",
+ "name": "getOriginTrials",
+ "description": "Get Origin Trials on given frame.",
+ "experimental": true,
"parameters": [
{
- "name": "versions",
+ "name": "frameId",
+ "$ref": "FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "originTrials",
"type": "array",
"items": {
- "$ref": "ServiceWorkerVersion"
+ "$ref": "OriginTrial"
}
}
]
- }
- ]
- },
- {
- "domain": "Storage",
- "experimental": true,
- "dependencies": [
- "Browser",
- "Network"
- ],
- "types": [
- {
- "id": "SerializedStorageKey",
- "type": "string"
- },
- {
- "id": "StorageType",
- "description": "Enum of possible storage types.",
- "type": "string",
- "enum": [
- "cookies",
- "file_systems",
- "indexeddb",
- "local_storage",
- "shader_cache",
- "websql",
- "service_workers",
- "cache_storage",
- "interest_groups",
- "shared_storage",
- "storage_buckets",
- "all",
- "other"
- ]
},
{
- "id": "UsageForType",
- "description": "Usage for a storage type.",
- "type": "object",
- "properties": [
+ "name": "setDeviceMetricsOverride",
+ "description": "Overrides the values of device screen dimensions (window.screen.width, window.screen.height,\nwindow.innerWidth, window.innerHeight, and \"device-width\"/\"device-height\"-related CSS media\nquery results).",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "Emulation",
+ "parameters": [
{
- "name": "storageType",
- "description": "Name of storage type.",
- "$ref": "StorageType"
+ "name": "width",
+ "description": "Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
+ "type": "integer"
},
{
- "name": "usage",
- "description": "Storage usage (bytes).",
+ "name": "height",
+ "description": "Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
+ "type": "integer"
+ },
+ {
+ "name": "deviceScaleFactor",
+ "description": "Overriding device scale factor value. 0 disables the override.",
+ "type": "number"
+ },
+ {
+ "name": "mobile",
+ "description": "Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text\nautosizing and more.",
+ "type": "boolean"
+ },
+ {
+ "name": "scale",
+ "description": "Scale to apply to resulting view image.",
+ "optional": true,
"type": "number"
+ },
+ {
+ "name": "screenWidth",
+ "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "screenHeight",
+ "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "positionX",
+ "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "positionY",
+ "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "dontSetVisibleSize",
+ "description": "Do not set visible view size, rely upon explicit setVisibleSize call.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "screenOrientation",
+ "description": "Screen orientation override.",
+ "optional": true,
+ "$ref": "Emulation.ScreenOrientation"
+ },
+ {
+ "name": "viewport",
+ "description": "The viewport dimensions and scale. If not set, the override is cleared.",
+ "optional": true,
+ "$ref": "Viewport"
}
]
},
{
- "id": "TrustTokens",
- "description": "Pair of issuer origin and number of available (signed, but not used) Trust\nTokens from that issuer.",
+ "name": "setDeviceOrientationOverride",
+ "description": "Overrides the Device Orientation.",
"experimental": true,
- "type": "object",
- "properties": [
+ "deprecated": true,
+ "redirect": "DeviceOrientation",
+ "parameters": [
{
- "name": "issuerOrigin",
- "type": "string"
+ "name": "alpha",
+ "description": "Mock alpha",
+ "type": "number"
},
{
- "name": "count",
+ "name": "beta",
+ "description": "Mock beta",
+ "type": "number"
+ },
+ {
+ "name": "gamma",
+ "description": "Mock gamma",
"type": "number"
}
]
},
{
- "id": "InterestGroupAuctionId",
- "description": "Protected audience interest group auction identifier.",
- "type": "string"
- },
- {
- "id": "InterestGroupAccessType",
- "description": "Enum of interest group access types.",
- "type": "string",
- "enum": [
- "join",
- "leave",
- "update",
- "loaded",
- "bid",
- "win",
- "additionalBid",
- "additionalBidWin",
- "topLevelBid",
- "topLevelAdditionalBid",
- "clear"
- ]
- },
- {
- "id": "InterestGroupAuctionEventType",
- "description": "Enum of auction events.",
- "type": "string",
- "enum": [
- "started",
- "configResolved"
- ]
- },
- {
- "id": "InterestGroupAuctionFetchType",
- "description": "Enum of network fetches auctions can do.",
- "type": "string",
- "enum": [
- "bidderJs",
- "bidderWasm",
- "sellerJs",
- "bidderTrustedSignals",
- "sellerTrustedSignals"
- ]
- },
- {
- "id": "SharedStorageAccessScope",
- "description": "Enum of shared storage access scopes.",
- "type": "string",
- "enum": [
- "window",
- "sharedStorageWorklet",
- "protectedAudienceWorklet",
- "header"
- ]
- },
- {
- "id": "SharedStorageAccessMethod",
- "description": "Enum of shared storage access methods.",
- "type": "string",
- "enum": [
- "addModule",
- "createWorklet",
- "selectURL",
- "run",
- "batchUpdate",
- "set",
- "append",
- "delete",
- "clear",
- "get",
- "keys",
- "values",
- "entries",
- "length",
- "remainingBudget"
+ "name": "setFontFamilies",
+ "description": "Set generic font families.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "fontFamilies",
+ "description": "Specifies font families to set. If a font family is not specified, it won't be changed.",
+ "$ref": "FontFamilies"
+ },
+ {
+ "name": "forScripts",
+ "description": "Specifies font families to set for individual scripts.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ScriptFontFamilies"
+ }
+ }
]
},
{
- "id": "SharedStorageEntry",
- "description": "Struct for a single key-value pair in an origin's shared storage.",
- "type": "object",
- "properties": [
+ "name": "setFontSizes",
+ "description": "Set default font sizes.",
+ "experimental": true,
+ "parameters": [
{
- "name": "key",
+ "name": "fontSizes",
+ "description": "Specifies font sizes to set. If a font size is not specified, it won't be changed.",
+ "$ref": "FontSizes"
+ }
+ ]
+ },
+ {
+ "name": "setDocumentContent",
+ "description": "Sets given markup as the document's HTML.",
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "Frame id to set HTML for.",
+ "$ref": "FrameId"
+ },
+ {
+ "name": "html",
+ "description": "HTML content to set.",
"type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setDownloadBehavior",
+ "description": "Set the behavior when downloading a file.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "behavior",
+ "description": "Whether to allow all or deny all download requests, or use default Chrome behavior if\navailable (otherwise deny).",
+ "type": "string",
+ "enum": [
+ "deny",
+ "allow",
+ "default"
+ ]
},
{
- "name": "value",
+ "name": "downloadPath",
+ "description": "The default path to save downloaded files to. This is required if behavior is set to 'allow'",
+ "optional": true,
"type": "string"
}
]
},
{
- "id": "SharedStorageMetadata",
- "description": "Details for an origin's shared storage.",
- "type": "object",
- "properties": [
+ "name": "setGeolocationOverride",
+ "description": "Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.",
+ "deprecated": true,
+ "redirect": "Emulation",
+ "parameters": [
{
- "name": "creationTime",
- "description": "Time when the origin's shared storage was last created.",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "latitude",
+ "description": "Mock latitude",
+ "optional": true,
+ "type": "number"
},
{
- "name": "length",
- "description": "Number of key-value pairs stored in origin's shared storage.",
- "type": "integer"
+ "name": "longitude",
+ "description": "Mock longitude",
+ "optional": true,
+ "type": "number"
},
{
- "name": "remainingBudget",
- "description": "Current amount of bits of entropy remaining in the navigation budget.",
+ "name": "accuracy",
+ "description": "Mock accuracy",
+ "optional": true,
"type": "number"
+ }
+ ]
+ },
+ {
+ "name": "setLifecycleEventsEnabled",
+ "description": "Controls whether page will emit lifecycle events.",
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "If true, starts emitting lifecycle events.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setTouchEmulationEnabled",
+ "description": "Toggles mouse event-based touch event emulation.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "Emulation",
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether the touch event emulation should be enabled.",
+ "type": "boolean"
},
{
- "name": "bytesUsed",
- "description": "Total number of bytes stored as key-value pairs in origin's shared\nstorage.",
- "type": "integer"
+ "name": "configuration",
+ "description": "Touch/gesture events configuration. Default: current platform.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "mobile",
+ "desktop"
+ ]
}
]
},
{
- "id": "SharedStoragePrivateAggregationConfig",
- "description": "Represents a dictionary object passed in as privateAggregationConfig to\nrun or selectURL.",
- "type": "object",
- "properties": [
+ "name": "startScreencast",
+ "description": "Starts sending each frame using the `screencastFrame` event.",
+ "experimental": true,
+ "parameters": [
{
- "name": "aggregationCoordinatorOrigin",
- "description": "The chosen aggregation service deployment.",
+ "name": "format",
+ "description": "Image compression format.",
"optional": true,
- "type": "string"
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "png"
+ ]
},
{
- "name": "contextId",
- "description": "The context ID provided.",
+ "name": "quality",
+ "description": "Compression quality from range [0..100].",
"optional": true,
- "type": "string"
+ "type": "integer"
},
{
- "name": "filteringIdMaxBytes",
- "description": "Configures the maximum size allowed for filtering IDs.",
+ "name": "maxWidth",
+ "description": "Maximum screenshot width.",
+ "optional": true,
"type": "integer"
},
{
- "name": "maxContributions",
- "description": "The limit on the number of contributions in the final report.",
+ "name": "maxHeight",
+ "description": "Maximum screenshot height.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "everyNthFrame",
+ "description": "Send every n-th frame.",
"optional": true,
"type": "integer"
}
]
},
{
- "id": "SharedStorageReportingMetadata",
- "description": "Pair of reporting metadata details for a candidate URL for `selectURL()`.",
- "type": "object",
- "properties": [
+ "name": "stopLoading",
+ "description": "Force the page stop all navigations and pending resource fetches."
+ },
+ {
+ "name": "crash",
+ "description": "Crashes renderer on the IO thread, generates minidumps.",
+ "experimental": true
+ },
+ {
+ "name": "close",
+ "description": "Tries to close page, running its beforeunload hooks, if any."
+ },
+ {
+ "name": "setWebLifecycleState",
+ "description": "Tries to update the web lifecycle state of the page.\nIt will transition the page to the given state according to:\nhttps://github.com/WICG/web-lifecycle/",
+ "experimental": true,
+ "parameters": [
{
- "name": "eventType",
- "type": "string"
- },
+ "name": "state",
+ "description": "Target lifecycle state",
+ "type": "string",
+ "enum": [
+ "frozen",
+ "active"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "stopScreencast",
+ "description": "Stops sending each frame in the `screencastFrame`.",
+ "experimental": true
+ },
+ {
+ "name": "produceCompilationCache",
+ "description": "Requests backend to produce compilation cache for the specified scripts.\n`scripts` are appended to the list of scripts for which the cache\nwould be produced. The list may be reset during page navigation.\nWhen script with a matching URL is encountered, the cache is optionally\nproduced upon backend discretion, based on internal heuristics.\nSee also: `Page.compilationCacheProduced`.",
+ "experimental": true,
+ "parameters": [
{
- "name": "reportingUrl",
- "type": "string"
+ "name": "scripts",
+ "type": "array",
+ "items": {
+ "$ref": "CompilationCacheParams"
+ }
}
]
},
{
- "id": "SharedStorageUrlWithMetadata",
- "description": "Bundles a candidate URL with its reporting metadata.",
- "type": "object",
- "properties": [
+ "name": "addCompilationCache",
+ "description": "Seeds compilation cache for given url. Compilation cache does not survive\ncross-process navigation.",
+ "experimental": true,
+ "parameters": [
{
"name": "url",
- "description": "Spec of candidate URL.",
"type": "string"
},
{
- "name": "reportingMetadata",
- "description": "Any associated reporting metadata.",
- "type": "array",
- "items": {
- "$ref": "SharedStorageReportingMetadata"
- }
+ "name": "data",
+ "description": "Base64-encoded data (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "clearCompilationCache",
+ "description": "Clears seeded compilation cache.",
+ "experimental": true
+ },
+ {
+ "name": "setSPCTransactionMode",
+ "description": "Sets the Secure Payment Confirmation transaction mode.\nhttps://w3c.github.io/secure-payment-confirmation/#sctn-automation-set-spc-transaction-mode",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "mode",
+ "type": "string",
+ "enum": [
+ "none",
+ "autoAccept",
+ "autoChooseToAuthAnotherWay",
+ "autoReject",
+ "autoOptOut"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "setRPHRegistrationMode",
+ "description": "Extensions for Custom Handlers API:\nhttps://html.spec.whatwg.org/multipage/system-state.html#rph-automation",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "mode",
+ "type": "string",
+ "enum": [
+ "none",
+ "autoAccept",
+ "autoReject"
+ ]
}
]
},
{
- "id": "SharedStorageAccessParams",
- "description": "Bundles the parameters for shared storage access events whose\npresence/absence can vary according to SharedStorageAccessType.",
- "type": "object",
- "properties": [
+ "name": "generateTestReport",
+ "description": "Generates a report for testing.",
+ "experimental": true,
+ "parameters": [
{
- "name": "scriptSourceUrl",
- "description": "Spec of the module script URL.\nPresent only for SharedStorageAccessMethods: addModule and\ncreateWorklet.",
- "optional": true,
+ "name": "message",
+ "description": "Message to be displayed in the report.",
"type": "string"
},
{
- "name": "dataOrigin",
- "description": "String denoting \"context-origin\", \"script-origin\", or a custom\norigin to be used as the worklet's data origin.\nPresent only for SharedStorageAccessMethod: createWorklet.",
+ "name": "group",
+ "description": "Specifies the endpoint group to deliver the report to.",
"optional": true,
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "waitForDebugger",
+ "description": "Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.",
+ "experimental": true
+ },
+ {
+ "name": "setInterceptFileChooserDialog",
+ "description": "Intercept file chooser requests and transfer control to protocol clients.\nWhen file chooser interception is enabled, native file chooser dialog is not shown.\nInstead, a protocol event `Page.fileChooserOpened` is emitted.",
+ "parameters": [
{
- "name": "operationName",
- "description": "Name of the registered operation to be run.\nPresent only for SharedStorageAccessMethods: run and selectURL.",
- "optional": true,
- "type": "string"
+ "name": "enabled",
+ "type": "boolean"
},
{
- "name": "operationId",
- "description": "ID of the operation call.\nPresent only for SharedStorageAccessMethods: run and selectURL.",
+ "name": "cancel",
+ "description": "If true, cancels the dialog by emitting relevant events (if any)\nin addition to not showing it if the interception is enabled\n(default: false).",
+ "experimental": true,
"optional": true,
- "type": "string"
- },
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setPrerenderingAllowed",
+ "description": "Enable/disable prerendering manually.\n\nThis command is a short-term solution for https://crbug.com/1440085.\nSee https://docs.google.com/document/d/12HVmFxYj5Jc-eJr5OmWsa2bqTJsbgGLKI6ZIyx0_wpA\nfor more details.\n\nTODO(https://crbug.com/1440085): Remove this once Puppeteer supports tab targets.",
+ "experimental": true,
+ "parameters": [
{
- "name": "keepAlive",
- "description": "Whether or not to keep the worket alive for future run or selectURL\ncalls.\nPresent only for SharedStorageAccessMethods: run and selectURL.",
- "optional": true,
+ "name": "isAllowed",
"type": "boolean"
- },
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "domContentEventFired",
+ "parameters": [
{
- "name": "privateAggregationConfig",
- "description": "Configures the private aggregation options.\nPresent only for SharedStorageAccessMethods: run and selectURL.",
- "optional": true,
- "$ref": "SharedStoragePrivateAggregationConfig"
- },
+ "name": "timestamp",
+ "$ref": "Network.MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "fileChooserOpened",
+ "description": "Emitted only when `page.interceptFileChooser` is enabled.",
+ "parameters": [
{
- "name": "serializedData",
- "description": "The operation's serialized data in bytes (converted to a string).\nPresent only for SharedStorageAccessMethods: run and selectURL.\nTODO(crbug.com/401011862): Consider updating this parameter to binary.",
- "optional": true,
- "type": "string"
+ "name": "frameId",
+ "description": "Id of the frame containing input node.",
+ "experimental": true,
+ "$ref": "FrameId"
},
{
- "name": "urlsWithMetadata",
- "description": "Array of candidate URLs' specs, along with any associated metadata.\nPresent only for SharedStorageAccessMethod: selectURL.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "SharedStorageUrlWithMetadata"
- }
+ "name": "mode",
+ "description": "Input mode.",
+ "type": "string",
+ "enum": [
+ "selectSingle",
+ "selectMultiple"
+ ]
},
{
- "name": "urnUuid",
- "description": "Spec of the URN:UUID generated for a selectURL call.\nPresent only for SharedStorageAccessMethod: selectURL.",
+ "name": "backendNodeId",
+ "description": "Input node id. Only present for file choosers opened via an `` element.",
+ "experimental": true,
"optional": true,
- "type": "string"
- },
+ "$ref": "DOM.BackendNodeId"
+ }
+ ]
+ },
+ {
+ "name": "frameAttached",
+ "description": "Fired when frame has been attached to its parent.",
+ "parameters": [
{
- "name": "key",
- "description": "Key for a specific entry in an origin's shared storage.\nPresent only for SharedStorageAccessMethods: set, append, delete, and\nget.",
- "optional": true,
- "type": "string"
+ "name": "frameId",
+ "description": "Id of the frame that has been attached.",
+ "$ref": "FrameId"
},
{
- "name": "value",
- "description": "Value for a specific entry in an origin's shared storage.\nPresent only for SharedStorageAccessMethods: set and append.",
- "optional": true,
- "type": "string"
+ "name": "parentFrameId",
+ "description": "Parent frame identifier.",
+ "$ref": "FrameId"
},
{
- "name": "ignoreIfPresent",
- "description": "Whether or not to set an entry for a key if that key is already present.\nPresent only for SharedStorageAccessMethod: set.",
+ "name": "stack",
+ "description": "JavaScript stack trace of when frame was attached, only set if frame initiated from script.",
"optional": true,
- "type": "boolean"
- },
+ "$ref": "Runtime.StackTrace"
+ }
+ ]
+ },
+ {
+ "name": "frameClearedScheduledNavigation",
+ "description": "Fired when frame no longer has a scheduled navigation.",
+ "deprecated": true,
+ "parameters": [
{
- "name": "workletOrdinal",
- "description": "If the method is called on a shared storage worklet, or as part of\na shared storage worklet script, it will have a number for the\nassociated worklet, denoting the (0-indexed) order of the worklet's\ncreation relative to all other shared storage worklets created by\ndocuments using the current storage partition.\nPresent only for SharedStorageAccessMethods: addModule, createWorklet,\nrun, selectURL, and any other SharedStorageAccessMethod when the\nSharedStorageAccessScope is sharedStorageWorklet.\nTODO(crbug.com/401011862): Pass this only for addModule & createWorklet.",
- "optional": true,
- "type": "integer"
- },
+ "name": "frameId",
+ "description": "Id of the frame that has cleared its scheduled navigation.",
+ "$ref": "FrameId"
+ }
+ ]
+ },
+ {
+ "name": "frameDetached",
+ "description": "Fired when frame has been detached from its parent.",
+ "parameters": [
{
- "name": "workletTargetId",
- "description": "Hex representation of the DevTools token used as the TargetID for the\nassociated shared storage worklet.\nPresent only for SharedStorageAccessMethods: addModule, createWorklet,\nrun, selectURL, and any other SharedStorageAccessMethod when the\nSharedStorageAccessScope is sharedStorageWorklet.",
- "optional": true,
- "$ref": "Target.TargetID"
+ "name": "frameId",
+ "description": "Id of the frame that has been detached.",
+ "$ref": "FrameId"
},
{
- "name": "withLock",
- "description": "Name of the lock to be acquired, if present.\nOptionally present only for SharedStorageAccessMethods: batchUpdate,\nset, append, delete, and clear.",
- "optional": true,
- "type": "string"
- },
+ "name": "reason",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "remove",
+ "swap"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "frameSubtreeWillBeDetached",
+ "description": "Fired before frame subtree is detached. Emitted before any frame of the\nsubtree is actually detached.",
+ "experimental": true,
+ "parameters": [
{
- "name": "batchUpdateId",
- "description": "If the method has been called as part of a batchUpdate, then this\nnumber identifies the batch to which it belongs.\nOptionally present only for SharedStorageAccessMethods:\nbatchUpdate (required), set, append, delete, and clear.",
- "optional": true,
- "type": "string"
+ "name": "frameId",
+ "description": "Id of the frame that is the root of the subtree that will be detached.",
+ "$ref": "FrameId"
+ }
+ ]
+ },
+ {
+ "name": "frameNavigated",
+ "description": "Fired once navigation of the frame has completed. Frame is now associated with the new loader.",
+ "parameters": [
+ {
+ "name": "frame",
+ "description": "Frame object.",
+ "$ref": "Frame"
},
{
- "name": "batchSize",
- "description": "Number of modifier methods sent in batch.\nPresent only for SharedStorageAccessMethod: batchUpdate.",
- "optional": true,
- "type": "integer"
+ "name": "type",
+ "experimental": true,
+ "$ref": "NavigationType"
}
]
},
{
- "id": "StorageBucketsDurability",
- "type": "string",
- "enum": [
- "relaxed",
- "strict"
+ "name": "documentOpened",
+ "description": "Fired when opening document to write to.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "frame",
+ "description": "Frame object.",
+ "$ref": "Frame"
+ }
]
},
{
- "id": "StorageBucket",
- "type": "object",
- "properties": [
+ "name": "frameResized",
+ "experimental": true
+ },
+ {
+ "name": "frameStartedNavigating",
+ "description": "Fired when a navigation starts. This event is fired for both\nrenderer-initiated and browser-initiated navigations. For renderer-initiated\nnavigations, the event is fired after `frameRequestedNavigation`.\nNavigation may still be cancelled after the event is issued. Multiple events\ncan be fired for a single navigation, for example, when a same-document\nnavigation becomes a cross-document navigation (such as in the case of a\nframeset).",
+ "experimental": true,
+ "parameters": [
{
- "name": "storageKey",
- "$ref": "SerializedStorageKey"
+ "name": "frameId",
+ "description": "ID of the frame that is being navigated.",
+ "$ref": "FrameId"
},
{
- "name": "name",
- "description": "If not specified, it is the default bucket of the storageKey.",
- "optional": true,
+ "name": "url",
+ "description": "The URL the navigation started with. The final URL can be different.",
"type": "string"
+ },
+ {
+ "name": "loaderId",
+ "description": "Loader identifier. Even though it is present in case of same-document\nnavigation, the previously committed loaderId would not change unless\nthe navigation changes from a same-document to a cross-document\nnavigation.",
+ "$ref": "Network.LoaderId"
+ },
+ {
+ "name": "navigationType",
+ "type": "string",
+ "enum": [
+ "reload",
+ "reloadBypassingCache",
+ "restore",
+ "restoreWithPost",
+ "historySameDocument",
+ "historyDifferentDocument",
+ "sameDocument",
+ "differentDocument"
+ ]
}
]
},
{
- "id": "StorageBucketInfo",
- "type": "object",
- "properties": [
+ "name": "frameRequestedNavigation",
+ "description": "Fired when a renderer-initiated navigation is requested.\nNavigation may still be cancelled after the event is issued.",
+ "experimental": true,
+ "parameters": [
{
- "name": "bucket",
- "$ref": "StorageBucket"
+ "name": "frameId",
+ "description": "Id of the frame that is being navigated.",
+ "$ref": "FrameId"
},
{
- "name": "id",
+ "name": "reason",
+ "description": "The reason for the navigation.",
+ "$ref": "ClientNavigationReason"
+ },
+ {
+ "name": "url",
+ "description": "The destination URL for the requested navigation.",
"type": "string"
},
{
- "name": "expiration",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "disposition",
+ "description": "The disposition for the navigation.",
+ "$ref": "ClientNavigationDisposition"
+ }
+ ]
+ },
+ {
+ "name": "frameScheduledNavigation",
+ "description": "Fired when frame schedules a potential navigation.",
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "Id of the frame that has scheduled a navigation.",
+ "$ref": "FrameId"
},
{
- "name": "quota",
- "description": "Storage quota (bytes).",
+ "name": "delay",
+ "description": "Delay (in seconds) until the navigation is scheduled to begin. The navigation is not\nguaranteed to start.",
"type": "number"
},
{
- "name": "persistent",
- "type": "boolean"
+ "name": "reason",
+ "description": "The reason for the navigation.",
+ "$ref": "ClientNavigationReason"
},
{
- "name": "durability",
- "$ref": "StorageBucketsDurability"
+ "name": "url",
+ "description": "The destination URL for the scheduled navigation.",
+ "type": "string"
}
]
},
{
- "id": "AttributionReportingSourceType",
+ "name": "frameStartedLoading",
+ "description": "Fired when frame has started loading.",
"experimental": true,
- "type": "string",
- "enum": [
- "navigation",
- "event"
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "Id of the frame that has started loading.",
+ "$ref": "FrameId"
+ }
]
},
{
- "id": "UnsignedInt64AsBase10",
- "experimental": true,
- "type": "string"
- },
- {
- "id": "UnsignedInt128AsBase16",
- "experimental": true,
- "type": "string"
- },
- {
- "id": "SignedInt64AsBase10",
+ "name": "frameStoppedLoading",
+ "description": "Fired when frame has stopped loading.",
"experimental": true,
- "type": "string"
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "Id of the frame that has stopped loading.",
+ "$ref": "FrameId"
+ }
+ ]
},
{
- "id": "AttributionReportingFilterDataEntry",
+ "name": "downloadWillBegin",
+ "description": "Fired when page is about to start a download.\nDeprecated. Use Browser.downloadWillBegin instead.",
"experimental": true,
- "type": "object",
- "properties": [
+ "deprecated": true,
+ "parameters": [
{
- "name": "key",
+ "name": "frameId",
+ "description": "Id of the frame that caused download to begin.",
+ "$ref": "FrameId"
+ },
+ {
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
"type": "string"
},
{
- "name": "values",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "url",
+ "description": "URL of the resource being downloaded.",
+ "type": "string"
+ },
+ {
+ "name": "suggestedFilename",
+ "description": "Suggested file name of the resource (the actual name of the file saved on disk may differ).",
+ "type": "string"
}
]
},
{
- "id": "AttributionReportingFilterConfig",
+ "name": "downloadProgress",
+ "description": "Fired when download makes progress. Last call has |done| == true.\nDeprecated. Use Browser.downloadProgress instead.",
"experimental": true,
- "type": "object",
- "properties": [
+ "deprecated": true,
+ "parameters": [
{
- "name": "filterValues",
- "type": "array",
- "items": {
- "$ref": "AttributionReportingFilterDataEntry"
- }
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "lookbackWindow",
- "description": "duration in seconds",
- "optional": true,
- "type": "integer"
+ "name": "totalBytes",
+ "description": "Total expected bytes to download.",
+ "type": "number"
+ },
+ {
+ "name": "receivedBytes",
+ "description": "Total bytes received.",
+ "type": "number"
+ },
+ {
+ "name": "state",
+ "description": "Download status.",
+ "type": "string",
+ "enum": [
+ "inProgress",
+ "completed",
+ "canceled"
+ ]
}
]
},
{
- "id": "AttributionReportingFilterPair",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "interstitialHidden",
+ "description": "Fired when interstitial page was hidden"
+ },
+ {
+ "name": "interstitialShown",
+ "description": "Fired when interstitial page was shown"
+ },
+ {
+ "name": "javascriptDialogClosed",
+ "description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been\nclosed.",
+ "parameters": [
{
- "name": "filters",
- "type": "array",
- "items": {
- "$ref": "AttributionReportingFilterConfig"
- }
+ "name": "frameId",
+ "description": "Frame id.",
+ "experimental": true,
+ "$ref": "FrameId"
},
{
- "name": "notFilters",
- "type": "array",
- "items": {
- "$ref": "AttributionReportingFilterConfig"
- }
+ "name": "result",
+ "description": "Whether dialog was confirmed.",
+ "type": "boolean"
+ },
+ {
+ "name": "userInput",
+ "description": "User input in case of prompt.",
+ "type": "string"
}
]
},
{
- "id": "AttributionReportingAggregationKeysEntry",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "javascriptDialogOpening",
+ "description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to\nopen.",
+ "parameters": [
{
- "name": "key",
+ "name": "url",
+ "description": "Frame url.",
"type": "string"
},
{
- "name": "value",
- "$ref": "UnsignedInt128AsBase16"
- }
- ]
- },
- {
- "id": "AttributionReportingEventReportWindows",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "frameId",
+ "description": "Frame id.",
+ "experimental": true,
+ "$ref": "FrameId"
+ },
{
- "name": "start",
- "description": "duration in seconds",
- "type": "integer"
+ "name": "message",
+ "description": "Message that will be displayed by the dialog.",
+ "type": "string"
},
{
- "name": "ends",
- "description": "duration in seconds",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "type",
+ "description": "Dialog type.",
+ "$ref": "DialogType"
+ },
+ {
+ "name": "hasBrowserHandler",
+ "description": "True iff browser is capable showing or acting on the given dialog. When browser has no\ndialog handler for given target, calling alert while Page domain is engaged will stall\nthe page execution. Execution can be resumed via calling Page.handleJavaScriptDialog.",
+ "type": "boolean"
+ },
+ {
+ "name": "defaultPrompt",
+ "description": "Default dialog prompt.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "id": "AttributionReportingTriggerDataMatching",
- "experimental": true,
- "type": "string",
- "enum": [
- "exact",
- "modulus"
- ]
- },
- {
- "id": "AttributionReportingAggregatableDebugReportingData",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "lifecycleEvent",
+ "description": "Fired for lifecycle events (navigation, load, paint, etc) in the current\ntarget (including local frames).",
+ "parameters": [
{
- "name": "keyPiece",
- "$ref": "UnsignedInt128AsBase16"
+ "name": "frameId",
+ "description": "Id of the frame.",
+ "$ref": "FrameId"
},
{
- "name": "value",
- "description": "number instead of integer because not all uint32 can be represented by\nint",
- "type": "number"
+ "name": "loaderId",
+ "description": "Loader identifier. Empty string if the request is fetched from worker.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "types",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "Network.MonotonicTime"
}
]
},
{
- "id": "AttributionReportingAggregatableDebugReportingConfig",
+ "name": "backForwardCacheNotUsed",
+ "description": "Fired for failed bfcache history navigations if BackForwardCache feature is enabled. Do\nnot assume any ordering with the Page.frameNavigated event. This event is fired only for\nmain-frame history navigation where the document changes (non-same-document navigations),\nwhen bfcache navigation fails.",
"experimental": true,
- "type": "object",
- "properties": [
+ "parameters": [
{
- "name": "budget",
- "description": "number instead of integer because not all uint32 can be represented by\nint, only present for source registrations",
- "optional": true,
- "type": "number"
+ "name": "loaderId",
+ "description": "The loader id for the associated navigation.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "keyPiece",
- "$ref": "UnsignedInt128AsBase16"
+ "name": "frameId",
+ "description": "The frame id of the associated frame.",
+ "$ref": "FrameId"
},
{
- "name": "debugData",
+ "name": "notRestoredExplanations",
+ "description": "Array of reasons why the page could not be cached. This must not be empty.",
"type": "array",
"items": {
- "$ref": "AttributionReportingAggregatableDebugReportingData"
+ "$ref": "BackForwardCacheNotRestoredExplanation"
}
},
{
- "name": "aggregationCoordinatorOrigin",
+ "name": "notRestoredExplanationsTree",
+ "description": "Tree structure of reasons why the page could not be cached for each frame.",
"optional": true,
- "type": "string"
+ "$ref": "BackForwardCacheNotRestoredExplanationTree"
}
]
},
{
- "id": "AttributionScopesData",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "values",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "limit",
- "description": "number instead of integer because not all uint32 can be represented by\nint",
- "type": "number"
- },
+ "name": "loadEventFired",
+ "parameters": [
{
- "name": "maxEventStates",
- "type": "number"
+ "name": "timestamp",
+ "$ref": "Network.MonotonicTime"
}
]
},
{
- "id": "AttributionReportingNamedBudgetDef",
+ "name": "navigatedWithinDocument",
+ "description": "Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.",
"experimental": true,
- "type": "object",
- "properties": [
+ "parameters": [
{
- "name": "name",
+ "name": "frameId",
+ "description": "Id of the frame.",
+ "$ref": "FrameId"
+ },
+ {
+ "name": "url",
+ "description": "Frame's new url.",
"type": "string"
},
{
- "name": "budget",
- "type": "integer"
+ "name": "navigationType",
+ "description": "Navigation type",
+ "type": "string",
+ "enum": [
+ "fragment",
+ "historyApi",
+ "other"
+ ]
}
]
},
{
- "id": "AttributionReportingSourceRegistration",
+ "name": "screencastFrame",
+ "description": "Compressed image data requested by the `startScreencast`.",
"experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "time",
- "$ref": "Network.TimeSinceEpoch"
- },
- {
- "name": "expiry",
- "description": "duration in seconds",
- "type": "integer"
- },
+ "parameters": [
{
- "name": "triggerData",
- "description": "number instead of integer because not all uint32 can be represented by\nint",
- "type": "array",
- "items": {
- "type": "number"
- }
+ "name": "data",
+ "description": "Base64-encoded compressed image. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
},
{
- "name": "eventReportWindows",
- "$ref": "AttributionReportingEventReportWindows"
+ "name": "metadata",
+ "description": "Screencast frame metadata.",
+ "$ref": "ScreencastFrameMetadata"
},
{
- "name": "aggregatableReportWindow",
- "description": "duration in seconds",
+ "name": "sessionId",
+ "description": "Frame number.",
"type": "integer"
- },
+ }
+ ]
+ },
+ {
+ "name": "screencastVisibilityChanged",
+ "description": "Fired when the page with currently enabled screencast was shown or hidden `.",
+ "experimental": true,
+ "parameters": [
{
- "name": "type",
- "$ref": "AttributionReportingSourceType"
- },
+ "name": "visible",
+ "description": "True if the page is visible.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "windowOpen",
+ "description": "Fired when a new window is going to be opened, via window.open(), link click, form submission,\netc.",
+ "parameters": [
{
- "name": "sourceOrigin",
+ "name": "url",
+ "description": "The URL for the new window.",
"type": "string"
},
{
- "name": "reportingOrigin",
+ "name": "windowName",
+ "description": "Window name.",
"type": "string"
},
{
- "name": "destinationSites",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "eventId",
- "$ref": "UnsignedInt64AsBase10"
- },
- {
- "name": "priority",
- "$ref": "SignedInt64AsBase10"
- },
- {
- "name": "filterData",
- "type": "array",
- "items": {
- "$ref": "AttributionReportingFilterDataEntry"
- }
- },
- {
- "name": "aggregationKeys",
- "type": "array",
- "items": {
- "$ref": "AttributionReportingAggregationKeysEntry"
- }
- },
- {
- "name": "debugKey",
- "optional": true,
- "$ref": "UnsignedInt64AsBase10"
- },
- {
- "name": "triggerDataMatching",
- "$ref": "AttributionReportingTriggerDataMatching"
- },
- {
- "name": "destinationLimitPriority",
- "$ref": "SignedInt64AsBase10"
- },
- {
- "name": "aggregatableDebugReportingConfig",
- "$ref": "AttributionReportingAggregatableDebugReportingConfig"
- },
- {
- "name": "scopesData",
- "optional": true,
- "$ref": "AttributionScopesData"
- },
- {
- "name": "maxEventLevelReports",
- "type": "integer"
- },
- {
- "name": "namedBudgets",
- "type": "array",
- "items": {
- "$ref": "AttributionReportingNamedBudgetDef"
- }
- },
- {
- "name": "debugReporting",
- "type": "boolean"
- },
- {
- "name": "eventLevelEpsilon",
- "type": "number"
- }
- ]
- },
- {
- "id": "AttributionReportingSourceRegistrationResult",
- "experimental": true,
- "type": "string",
- "enum": [
- "success",
- "internalError",
- "insufficientSourceCapacity",
- "insufficientUniqueDestinationCapacity",
- "excessiveReportingOrigins",
- "prohibitedByBrowserPolicy",
- "successNoised",
- "destinationReportingLimitReached",
- "destinationGlobalLimitReached",
- "destinationBothLimitsReached",
- "reportingOriginsPerSiteLimitReached",
- "exceedsMaxChannelCapacity",
- "exceedsMaxScopesChannelCapacity",
- "exceedsMaxTriggerStateCardinality",
- "exceedsMaxEventStatesLimit",
- "destinationPerDayReportingLimitReached"
+ "name": "windowFeatures",
+ "description": "An array of enabled window features.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "userGesture",
+ "description": "Whether or not it was triggered by user gesture.",
+ "type": "boolean"
+ }
]
},
{
- "id": "AttributionReportingSourceRegistrationTimeConfig",
+ "name": "compilationCacheProduced",
+ "description": "Issued for every compilation cache generated.",
"experimental": true,
- "type": "string",
- "enum": [
- "include",
- "exclude"
+ "parameters": [
+ {
+ "name": "url",
+ "type": "string"
+ },
+ {
+ "name": "data",
+ "description": "Base64-encoded data (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ }
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "Performance",
+ "types": [
{
- "id": "AttributionReportingAggregatableValueDictEntry",
- "experimental": true,
+ "id": "Metric",
+ "description": "Run-time execution metric.",
"type": "object",
"properties": [
{
- "name": "key",
+ "name": "name",
+ "description": "Metric name.",
"type": "string"
},
{
"name": "value",
- "description": "number instead of integer because not all uint32 can be represented by\nint",
+ "description": "Metric value.",
"type": "number"
- },
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disable collecting and reporting metrics."
+ },
+ {
+ "name": "enable",
+ "description": "Enable collecting and reporting metrics.",
+ "parameters": [
{
- "name": "filteringId",
- "$ref": "UnsignedInt64AsBase10"
+ "name": "timeDomain",
+ "description": "Time domain to use for collecting and reporting duration metrics.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "timeTicks",
+ "threadTicks"
+ ]
}
]
},
{
- "id": "AttributionReportingAggregatableValueEntry",
+ "name": "setTimeDomain",
+ "description": "Sets time domain to use for collecting and reporting duration metrics.\nNote that this must be called before enabling metrics collection. Calling\nthis method while metrics collection is enabled returns an error.",
"experimental": true,
- "type": "object",
- "properties": [
+ "deprecated": true,
+ "parameters": [
{
- "name": "values",
+ "name": "timeDomain",
+ "description": "Time domain",
+ "type": "string",
+ "enum": [
+ "timeTicks",
+ "threadTicks"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "getMetrics",
+ "description": "Retrieve current values of run-time metrics.",
+ "returns": [
+ {
+ "name": "metrics",
+ "description": "Current values for run-time metrics.",
"type": "array",
"items": {
- "$ref": "AttributionReportingAggregatableValueDictEntry"
+ "$ref": "Metric"
+ }
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "metrics",
+ "description": "Current values of the metrics.",
+ "parameters": [
+ {
+ "name": "metrics",
+ "description": "Current values of the metrics.",
+ "type": "array",
+ "items": {
+ "$ref": "Metric"
}
},
{
- "name": "filters",
- "$ref": "AttributionReportingFilterPair"
+ "name": "title",
+ "description": "Timestamp title.",
+ "type": "string"
}
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "PerformanceTimeline",
+ "description": "Reporting of performance timeline events, as specified in\nhttps://w3c.github.io/performance-timeline/#dom-performanceobserver.",
+ "experimental": true,
+ "dependencies": [
+ "DOM",
+ "Network"
+ ],
+ "types": [
{
- "id": "AttributionReportingEventTriggerData",
- "experimental": true,
+ "id": "LargestContentfulPaint",
+ "description": "See https://github.com/WICG/LargestContentfulPaint and largest_contentful_paint.idl",
"type": "object",
"properties": [
{
- "name": "data",
- "$ref": "UnsignedInt64AsBase10"
+ "name": "renderTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "priority",
- "$ref": "SignedInt64AsBase10"
+ "name": "loadTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "dedupKey",
+ "name": "size",
+ "description": "The number of pixels being painted.",
+ "type": "number"
+ },
+ {
+ "name": "elementId",
+ "description": "The id attribute of the element, if available.",
"optional": true,
- "$ref": "UnsignedInt64AsBase10"
+ "type": "string"
},
{
- "name": "filters",
- "$ref": "AttributionReportingFilterPair"
+ "name": "url",
+ "description": "The URL of the image (may be trimmed).",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "nodeId",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "id": "AttributionReportingAggregatableTriggerData",
- "experimental": true,
+ "id": "LayoutShiftAttribution",
"type": "object",
"properties": [
{
- "name": "keyPiece",
- "$ref": "UnsignedInt128AsBase16"
+ "name": "previousRect",
+ "$ref": "DOM.Rect"
},
{
- "name": "sourceKeys",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "currentRect",
+ "$ref": "DOM.Rect"
},
{
- "name": "filters",
- "$ref": "AttributionReportingFilterPair"
+ "name": "nodeId",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "id": "AttributionReportingAggregatableDedupKey",
- "experimental": true,
+ "id": "LayoutShift",
+ "description": "See https://wicg.github.io/layout-instability/#sec-layout-shift and layout_shift.idl",
"type": "object",
"properties": [
{
- "name": "dedupKey",
- "optional": true,
- "$ref": "UnsignedInt64AsBase10"
+ "name": "value",
+ "description": "Score increment produced by this event.",
+ "type": "number"
},
{
- "name": "filters",
- "$ref": "AttributionReportingFilterPair"
+ "name": "hadRecentInput",
+ "type": "boolean"
+ },
+ {
+ "name": "lastInputTime",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "sources",
+ "type": "array",
+ "items": {
+ "$ref": "LayoutShiftAttribution"
+ }
}
]
},
{
- "id": "AttributionReportingNamedBudgetCandidate",
- "experimental": true,
+ "id": "TimelineEvent",
"type": "object",
"properties": [
+ {
+ "name": "frameId",
+ "description": "Identifies the frame that this event is related to. Empty for non-frame targets.",
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "type",
+ "description": "The event type, as specified in https://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype\nThis determines which of the optional \"details\" fields is present.",
+ "type": "string"
+ },
{
"name": "name",
- "optional": true,
+ "description": "Name may be empty depending on the type.",
"type": "string"
},
{
- "name": "filters",
- "$ref": "AttributionReportingFilterPair"
+ "name": "time",
+ "description": "Time in seconds since Epoch, monotonically increasing within document lifetime.",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "duration",
+ "description": "Event duration, if applicable.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "lcpDetails",
+ "optional": true,
+ "$ref": "LargestContentfulPaint"
+ },
+ {
+ "name": "layoutShiftDetails",
+ "optional": true,
+ "$ref": "LayoutShift"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "enable",
+ "description": "Previously buffered events would be reported before method returns.\nSee also: timelineEventAdded",
+ "parameters": [
+ {
+ "name": "eventTypes",
+ "description": "The types of event to report, as specified in\nhttps://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype\nThe specified filter overrides any previous filters, passing empty\nfilter disables recording.\nNote that not all types exposed to the web platform are currently supported.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "timelineEventAdded",
+ "description": "Sent when a performance timeline event is added. See reportPerformanceTimeline method.",
+ "parameters": [
+ {
+ "name": "event",
+ "$ref": "TimelineEvent"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "Preload",
+ "experimental": true,
+ "types": [
+ {
+ "id": "RuleSetId",
+ "description": "Unique id",
+ "type": "string"
},
{
- "id": "AttributionReportingTriggerRegistration",
- "experimental": true,
+ "id": "RuleSet",
+ "description": "Corresponds to SpeculationRuleSet",
"type": "object",
"properties": [
{
- "name": "filters",
- "$ref": "AttributionReportingFilterPair"
+ "name": "id",
+ "$ref": "RuleSetId"
},
{
- "name": "debugKey",
- "optional": true,
- "$ref": "UnsignedInt64AsBase10"
+ "name": "loaderId",
+ "description": "Identifies a document which the rule set is associated with.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "aggregatableDedupKeys",
- "type": "array",
- "items": {
- "$ref": "AttributionReportingAggregatableDedupKey"
- }
+ "name": "sourceText",
+ "description": "Source text of JSON representing the rule set. If it comes from\n`