diff --git a/.eleventy.js b/.eleventy.js
index 0a148affcc..d602de1458 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -1,4 +1,7 @@
-module.exports = (eleventyConfig) => {
+import handlebarsPlugin from '@11ty/eleventy-plugin-handlebars';
+
+export default (eleventyConfig) => {
+ eleventyConfig.addPlugin(handlebarsPlugin);
eleventyConfig.addPassthroughCopy('pages/styles/protocol.css');
eleventyConfig.addPassthroughCopy('pages/images/');
eleventyConfig.addPassthroughCopy('search_index/');
@@ -13,4 +16,4 @@ module.exports = (eleventyConfig) => {
data: '_data',
},
};
-};
\ No newline at end of file
+};
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 20450fc64b..ef7fee2baf 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -2,33 +2,36 @@ name: 😎
on:
pull_request:
push:
- branches:
+ branches:
- master
jobs:
- lighthouse_ci:
+ build_test:
runs-on: ubuntu-latest
steps:
- - name: git clone
- uses: actions/checkout@v1
-
- - name: setup node.js
- uses: actions/setup-node@c6fd00c
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
with:
- node-version: 10.x
+ node-version-file: '.nvmrc'
+ cache: npm
- - name: build
- run: npm i && npm run build
+ - run: npm ci
+ - run: npm run build
+
+ - name: primitive test
+ run: npm run test
- name: install lhci
run: npm install @lhci/cli@latest
-
- - name: run lhci
- run: |
- npx lhci autorun \
- --collect.url=http://localhost:8696/devtools-protocol/ \
- --collect.url=http://localhost:8696/devtools-protocol/tot/Page/ \
- --upload.token=${{ secrets.LHCI_SERVER_TOKEN }} \
- --upload.serverBaseUrl=https://lhci-canary.herokuapp.com/
+
+# - name: run lhci
+# run: |
+# npx lhci autorun \
+# --collect.url=http://localhost:8696/devtools-protocol/ \
+# --collect.url=http://localhost:8696/devtools-protocol/tot/Page/ \
+# --upload.target=temporary-public-storage
diff --git a/.gitignore b/.gitignore
index 23bf06aa7f..635f8c07d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ devtools-protocol/
.jekyll-metadata
node_modules/
+.DS_Store
diff --git a/.lighthouserc.js b/.lighthouserc.js
index 4d2a099516..d282b21df2 100644
--- a/.lighthouserc.js
+++ b/.lighthouserc.js
@@ -17,7 +17,9 @@ module.exports = {
"render-blocking-resources": "warn",
"uses-long-cache-ttl": "warn",
"tap-targets": "warn",
- "dom-size": "warn"
+ "dom-size": "warn",
+ "csp-xss": "warn",
+ "label": "warn",
}
}
},
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000000..cafe685a11
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+package-lock=true
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000000..2bd5a0a98a
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+22
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000..b6cc2aae60
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,7 @@
+// Place your settings in this file to overwrite default and user settings.
+{
+ "search.exclude": {
+ "devtools-protocol/**": true,
+ "bower_components/**": true
+ }
+}
diff --git a/create-search-index.js b/create-search-index.cjs
similarity index 100%
rename from create-search-index.js
rename to create-search-index.cjs
diff --git a/generate-sidenav-html.js b/generate-sidenav-html.cjs
similarity index 56%
rename from generate-sidenav-html.js
rename to generate-sidenav-html.cjs
index 3d96727917..125bd959bb 100644
--- a/generate-sidenav-html.js
+++ b/generate-sidenav-html.cjs
@@ -23,14 +23,18 @@ for (const slug of verSlugs){
}
const str = Object.entries(allDomains).sort(([domainA, tagsA], [domainB, tagsB]) => {
- const isExpOrDepr = a => a === 'experimental' || a === 'deprecated';
- const getTagsStr = tags => tags.filter(isExpOrDepr).join('');
- const tagSortResult = getTagsStr(tagsA).localeCompare(getTagsStr(tagsB));
- if (tagSortResult !== 0) return tagSortResult;
+ // Disable grouping by tag https://github.com/ChromeDevTools/debugger-protocol-viewer/pull/179
+ // const isExpOrDepr = a => a === 'experimental' || a === 'deprecated';
+ // const getTagsStr = tags => tags.filter(isExpOrDepr).join('');
+ // const tagSortResult = getTagsStr(tagsA).localeCompare(getTagsStr(tagsB));
+ // if (tagSortResult !== 0) return tagSortResult;
return domainA.localeCompare(domainB);
})
- .map(([id, versions]) => `${id} `)
+ .map(([id, versions]) => ` ${id} `)
.join('\n');
-process.stdout.write(str + '\n');
+process.stdout.write('\n' + str + '\n');
+
+// And update shell.hbs with the output
+
diff --git a/make-stable-protocol.js b/make-stable-protocol.cjs
similarity index 100%
rename from make-stable-protocol.js
rename to make-stable-protocol.cjs
diff --git a/merge-protocol-files.js b/merge-protocol-files.cjs
similarity index 100%
rename from merge-protocol-files.js
rename to merge-protocol-files.cjs
diff --git a/package-lock.json b/package-lock.json
index e180111954..769b45fba3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5832 +1,3522 @@
{
"name": "debugger-protocol-viewer",
"version": "1.0.0",
- "lockfileVersion": 1,
+ "lockfileVersion": 3,
"requires": true,
- "dependencies": {
- "@11ty/dependency-tree": {
+ "packages": {
+ "": {
+ "name": "debugger-protocol-viewer",
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-1.0.0.tgz",
- "integrity": "sha512-2FWYlkphQ/83MG7b9qqBJfJJ0K9zupNz/6n4EdDuNLw6hQHGp4Sp4UMDRyBvA/xCTYDBaPSuSjHuu45tSujegg==",
- "dev": true
- },
- "@11ty/eleventy": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-0.10.0.tgz",
- "integrity": "sha512-GOgG5ZvFfdJ4fMDlF+OHLQyvwu4cDkCdE8U0x/cfKze2Bu+27htaJ7qW8XbaGArySlBvYGhJD/z8vjdn/+hpLw==",
- "dev": true,
- "requires": {
- "@11ty/dependency-tree": "^1.0.0",
- "browser-sync": "^2.26.7",
- "chalk": "^3.0.0",
- "chokidar": "^3.3.1",
- "debug": "^4.1.1",
- "dependency-graph": "^0.8.1",
- "ejs": "^2.6.2",
- "fast-glob": "^3.1.1",
- "fs-extra": "^8.1.0",
- "gray-matter": "^4.0.2",
- "hamljs": "^0.6.2",
- "handlebars": "^4.5.3",
- "javascript-stringify": "^2.0.1",
- "liquidjs": "^6.4.3",
- "lodash": "^4.17.15",
- "luxon": "^1.21.3",
- "markdown-it": "^8.4.2",
- "minimist": "^1.2.0",
- "moo": "^0.5.1",
- "multimatch": "^4.0.0",
- "mustache": "^2.3.0",
- "normalize-path": "^3.0.0",
- "nunjucks": "^3.2.0",
- "parse-filepath": "^1.0.2",
- "please-upgrade-node": "^3.2.0",
- "pretty": "^2.0.0",
- "pug": "^2.0.4",
- "recursive-copy": "^2.0.10",
- "semver": "^7.1.0",
- "slugify": "^1.3.6",
- "time-require": "^0.1.2",
- "valid-url": "^1.0.9"
- },
+ "license": "Apache2",
+ "devDependencies": {
+ "@11ty/eleventy": "^3.1.2",
+ "@11ty/eleventy-plugin-handlebars": "^1.0.0",
+ "@rollup/plugin-node-resolve": "^16.0.1",
+ "@rollup/plugin-terser": "^0.4.4",
+ "lit-html": "^3.3.1",
+ "marked": "^16.1.2",
+ "rimraf": "^6.0.1",
+ "rollup": "^4.46.2",
+ "statikk": "^2.2.2"
+ }
+ },
+ "node_modules/@11ty/dependency-tree": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-4.0.0.tgz",
+ "integrity": "sha512-PTOnwM8Xt+GdJmwRKg4pZ8EKAgGoK7pedZBfNSOChXu8MYk2FdEsxdJYecX4t62owpGw3xK60q9TQv/5JI59jw==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "@nodelib/fs.stat": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
- "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "binary-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
- "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
- "dev": true
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "chokidar": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
- "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.3.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "fast-glob": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
- "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.0",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.2",
- "picomatch": "^2.2.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "fsevents": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
- "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
- "dev": true,
- "optional": true
- },
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "readdirp": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
- "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
- "dev": true,
- "requires": {
- "picomatch": "^2.0.7"
- }
- },
- "semver": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
- "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
- "dev": true
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
+ "@11ty/eleventy-utils": "^2.0.1"
}
},
- "@babel/code-frame": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
- "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "node_modules/@11ty/dependency-tree-esm": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@11ty/dependency-tree-esm/-/dependency-tree-esm-2.0.0.tgz",
+ "integrity": "sha512-+4ySOON4aEAiyAGuH6XQJtxpGSpo6nibfG01krgix00sqjhman2+UaDUopq6Ksv8/jBB3hqkhsHe3fDE4z8rbA==",
"dev": true,
- "requires": {
- "@babel/highlight": "^7.8.3"
+ "license": "MIT",
+ "dependencies": {
+ "@11ty/eleventy-utils": "^2.0.1",
+ "acorn": "^8.14.0",
+ "dependency-graph": "^1.0.0",
+ "normalize-path": "^3.0.0"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz",
- "integrity": "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==",
- "dev": true
- },
- "@babel/highlight": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
- "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.9.0",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
+ "node_modules/@11ty/eleventy": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-3.1.2.tgz",
+ "integrity": "sha512-IcsDlbXnBf8cHzbM1YBv3JcTyLB35EK88QexmVyFdVJVgUU6bh9g687rpxryJirHzo06PuwnYaEEdVZQfIgRGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@11ty/dependency-tree": "^4.0.0",
+ "@11ty/dependency-tree-esm": "^2.0.0",
+ "@11ty/eleventy-dev-server": "^2.0.8",
+ "@11ty/eleventy-plugin-bundle": "^3.0.6",
+ "@11ty/eleventy-utils": "^2.0.7",
+ "@11ty/lodash-custom": "^4.17.21",
+ "@11ty/posthtml-urls": "^1.0.1",
+ "@11ty/recursive-copy": "^4.0.2",
+ "@sindresorhus/slugify": "^2.2.1",
+ "bcp-47-normalize": "^2.3.0",
+ "chokidar": "^3.6.0",
+ "debug": "^4.4.1",
+ "dependency-graph": "^1.0.0",
+ "entities": "^6.0.1",
+ "filesize": "^10.1.6",
+ "gray-matter": "^4.0.3",
+ "iso-639-1": "^3.1.5",
+ "js-yaml": "^4.1.0",
+ "kleur": "^4.1.5",
+ "liquidjs": "^10.21.1",
+ "luxon": "^3.6.1",
+ "markdown-it": "^14.1.0",
+ "minimist": "^1.2.8",
+ "moo": "^0.5.2",
+ "node-retrieve-globals": "^6.0.1",
+ "nunjucks": "^3.2.4",
+ "picomatch": "^4.0.2",
+ "please-upgrade-node": "^3.2.0",
+ "posthtml": "^0.16.6",
+ "posthtml-match-helper": "^2.0.3",
+ "semver": "^7.7.2",
+ "slugify": "^1.6.6",
+ "tinyglobby": "^0.2.14"
+ },
+ "bin": {
+ "eleventy": "cmd.cjs"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
}
},
- "@nodelib/fs.scandir": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
- "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+ "node_modules/@11ty/eleventy-dev-server": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-dev-server/-/eleventy-dev-server-2.0.8.tgz",
+ "integrity": "sha512-15oC5M1DQlCaOMUq4limKRYmWiGecDaGwryr7fTE/oM9Ix8siqMvWi+I8VjsfrGr+iViDvWcH/TVI6D12d93mA==",
"dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.3",
- "run-parallel": "^1.1.9"
- },
+ "license": "MIT",
"dependencies": {
- "@nodelib/fs.stat": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
- "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
- "dev": true
- }
+ "@11ty/eleventy-utils": "^2.0.1",
+ "chokidar": "^3.6.0",
+ "debug": "^4.4.0",
+ "finalhandler": "^1.3.1",
+ "mime": "^3.0.0",
+ "minimist": "^1.2.8",
+ "morphdom": "^2.7.4",
+ "please-upgrade-node": "^3.2.0",
+ "send": "^1.1.0",
+ "ssri": "^11.0.0",
+ "urlpattern-polyfill": "^10.0.0",
+ "ws": "^8.18.1"
+ },
+ "bin": {
+ "eleventy-dev-server": "cmd.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
}
},
- "@nodelib/fs.walk": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
- "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "node_modules/@11ty/eleventy-plugin-bundle": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-3.0.6.tgz",
+ "integrity": "sha512-wlEIMa1SEe6HE6ZyREEnPQiTw72337a2MPkyn0D1IzrqHrKU9euB17mv27LnnnyKvMJamCCqtU0985F5yyDL8g==",
"dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.3",
- "fastq": "^1.6.0"
+ "license": "MIT",
+ "dependencies": {
+ "@11ty/eleventy-utils": "^2.0.2",
+ "debug": "^4.4.0",
+ "posthtml-match-helper": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
}
},
- "@rollup/plugin-node-resolve": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.1.tgz",
- "integrity": "sha512-14ddhD7TnemeHE97a4rLOhobfYvUVcaYuqTnL8Ti7Jxi9V9Jr5LY7Gko4HZ5k4h4vqQM0gBQt6tsp9xXW94WPA==",
+ "node_modules/@11ty/eleventy-plugin-handlebars": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-handlebars/-/eleventy-plugin-handlebars-1.0.0.tgz",
+ "integrity": "sha512-LdAqMv5CWcmufl8LB4zCCKyIHcVYnkp0rPHn6RAyJjQAmAi6aRGK7C8RSR5R9SgE2JU9OIowcXdiaJiqFtrGdQ==",
"dev": true,
- "requires": {
- "@rollup/pluginutils": "^3.0.6",
- "@types/resolve": "0.0.8",
- "builtin-modules": "^3.1.0",
- "is-module": "^1.0.0",
- "resolve": "^1.14.2"
+ "dependencies": {
+ "@11ty/eleventy-utils": "^1.0.3",
+ "debug": "^4.3.5",
+ "fast-glob": "^3.3.2",
+ "handlebars": "^4.7.8"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
}
},
- "@rollup/pluginutils": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.8.tgz",
- "integrity": "sha512-rYGeAc4sxcZ+kPG/Tw4/fwJODC3IXHYDH4qusdN/b6aLw5LPUbzpecYbEJh4sVQGPFJxd2dBU4kc1H3oy9/bnw==",
+ "node_modules/@11ty/eleventy-plugin-handlebars/node_modules/@11ty/eleventy-utils": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-1.0.3.tgz",
+ "integrity": "sha512-nULO91om7vQw4Y/UBjM8i7nJ1xl+/nyK4rImZ41lFxiY2d+XUz7ChAj1CDYFjrLZeu0utAYJTZ45LlcHTkUG4g==",
"dev": true,
- "requires": {
- "estree-walker": "^1.0.1"
+ "license": "MIT",
+ "dependencies": {
+ "normalize-path": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
}
},
- "@types/babel-types": {
- "version": "7.0.7",
- "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz",
- "integrity": "sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==",
- "dev": true
- },
- "@types/babylon": {
- "version": "6.16.5",
- "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz",
- "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==",
+ "node_modules/@11ty/eleventy-utils": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-2.0.7.tgz",
+ "integrity": "sha512-6QE+duqSQ0GY9rENXYb4iPR4AYGdrFpqnmi59tFp9VrleOl0QSh8VlBr2yd6dlhkdtj7904poZW5PvGr9cMiJQ==",
"dev": true,
- "requires": {
- "@types/babel-types": "*"
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
}
},
- "@types/color-name": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
- "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
- "dev": true
- },
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
- "dev": true
- },
- "@types/node": {
- "version": "13.9.8",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.8.tgz",
- "integrity": "sha512-1WgO8hsyHynlx7nhP1kr0OFzsgKz5XDQL+Lfc3b1Q3qIln/n8cKD4m09NJ0+P1Rq7Zgnc7N0+SsMnoD1rEb0kA==",
- "dev": true
- },
- "@types/resolve": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
- "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
+ "node_modules/@11ty/lodash-custom": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/@11ty/lodash-custom/-/lodash-custom-4.17.21.tgz",
+ "integrity": "sha512-Mqt6im1xpb1Ykn3nbcCovWXK3ggywRJa+IXIdoz4wIIK+cvozADH63lexcuPpGS/gJ6/m2JxyyXDyupkMr5DHw==",
"dev": true,
- "requires": {
- "@types/node": "*"
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
}
},
- "a-sync-waterfall": {
+ "node_modules/@11ty/posthtml-urls": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
- "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==",
- "dev": true
- },
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
- },
- "accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
- "dev": true,
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "acorn-globals": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz",
- "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=",
+ "resolved": "https://registry.npmjs.org/@11ty/posthtml-urls/-/posthtml-urls-1.0.1.tgz",
+ "integrity": "sha512-6EFN/yYSxC/OzYXpq4gXDyDMlX/W+2MgCvvoxf11X1z76bqkqFJ8eep5RiBWfGT5j0323a1pwpelcJJdR46MCw==",
"dev": true,
- "requires": {
- "acorn": "^4.0.4"
- },
+ "license": "MIT",
"dependencies": {
- "acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
- "dev": true
- }
+ "evaluate-value": "^2.0.0",
+ "http-equiv-refresh": "^2.0.1",
+ "list-to-array": "^1.1.0",
+ "parse-srcset": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
- "after": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
- "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
- "dev": true
- },
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "node_modules/@11ty/recursive-copy": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@11ty/recursive-copy/-/recursive-copy-4.0.2.tgz",
+ "integrity": "sha512-174nFXxL/6KcYbLYpra+q3nDbfKxLxRTNVY1atq2M1pYYiPfHse++3IFNl8mjPFsd7y2qQjxLORzIjHMjL3NDQ==",
"dev": true,
- "requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
- },
+ "license": "ISC",
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "errno": "^1.0.0",
+ "junk": "^3.1.0",
+ "maximatch": "^0.1.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=18"
}
},
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "node_modules/@isaacs/balanced-match": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
+ "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
"dev": true,
- "requires": {
- "color-convert": "^1.9.0"
+ "license": "MIT",
+ "engines": {
+ "node": "20 || >=22"
}
},
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "node_modules/@isaacs/brace-expansion": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
+ "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
"dev": true,
- "requires": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
+ "license": "MIT",
+ "dependencies": {
+ "@isaacs/balanced-match": "^4.0.1"
+ },
+ "engines": {
+ "node": "20 || >=22"
}
},
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
}
},
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
- },
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true
- },
- "array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
- "dev": true
- },
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
+ "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
"dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true
- },
- "arraybuffer.slice": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
- "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
- "dev": true
- },
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
- },
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
- "requires": {
- "lodash": "^4.17.14"
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "async-each": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
- "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
- "dev": true
- },
- "async-each-series": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz",
- "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=",
- "dev": true
- },
- "async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "dev": true
- },
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true
- },
- "axios": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz",
- "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==",
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.10",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.10.tgz",
+ "integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==",
"dev": true,
- "requires": {
- "follow-redirects": "1.5.10",
- "is-buffer": "^2.0.2"
- },
+ "license": "MIT",
"dependencies": {
- "is-buffer": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
- "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
- "dev": true
- }
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
- "babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
+ "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
"dev": true,
- "requires": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
- }
+ "license": "MIT"
},
- "babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.29",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
+ "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
"dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "esutils": "^2.0.2",
- "lodash": "^4.17.4",
- "to-fast-properties": "^1.0.3"
- }
- },
- "babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
- "dev": true
- },
- "backo2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
- "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
+ "license": "MIT",
"dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "base64-arraybuffer": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
- "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
- "dev": true
- },
- "base64id": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
- "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
- "dev": true
- },
- "batch": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
- "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
- "dev": true
- },
- "better-assert": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
- "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
- "requires": {
- "callsite": "1.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
- "binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
- "dev": true
- },
- "bindings": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
- "optional": true,
- "requires": {
- "file-uri-to-path": "1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
}
},
- "blob": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
- "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "node_modules/@rollup/plugin-node-resolve": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.1.tgz",
+ "integrity": "sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==",
"dev": true,
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
+ "license": "MIT",
"dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
+ "@rollup/pluginutils": "^5.0.1",
+ "@types/resolve": "1.20.2",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.22.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.78.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
}
}
},
- "browser-sync": {
- "version": "2.26.7",
- "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.7.tgz",
- "integrity": "sha512-lY3emme0OyvA2ujEMpRmyRy9LY6gHLuTr2/ABxhIm3lADOiRXzP4dgekvnDrQqZ/Ec2Fz19lEjm6kglSG5766w==",
- "dev": true,
- "requires": {
- "browser-sync-client": "^2.26.6",
- "browser-sync-ui": "^2.26.4",
- "bs-recipes": "1.3.4",
- "bs-snippet-injector": "^2.0.1",
- "chokidar": "^2.0.4",
- "connect": "3.6.6",
- "connect-history-api-fallback": "^1",
- "dev-ip": "^1.0.1",
- "easy-extender": "^2.3.4",
- "eazy-logger": "^3",
- "etag": "^1.8.1",
- "fresh": "^0.5.2",
- "fs-extra": "3.0.1",
- "http-proxy": "1.15.2",
- "immutable": "^3",
- "localtunnel": "1.9.2",
- "micromatch": "^3.1.10",
- "opn": "5.3.0",
- "portscanner": "2.1.1",
- "qs": "6.2.3",
- "raw-body": "^2.3.2",
- "resp-modifier": "6.0.2",
- "rx": "4.1.0",
- "send": "0.16.2",
- "serve-index": "1.9.1",
- "serve-static": "1.13.2",
- "server-destroy": "1.0.1",
- "socket.io": "2.1.1",
- "ua-parser-js": "0.7.17",
- "yargs": "6.4.0"
- },
+ "node_modules/@rollup/plugin-terser": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz",
+ "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "fs-extra": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
- "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^3.0.0",
- "universalify": "^0.1.0"
- }
- },
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "dev": true,
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "jsonfile": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
- "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "mime": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
- "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
- "dev": true
- },
- "send": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
- "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.6.2",
- "mime": "1.4.1",
- "ms": "2.0.0",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.0",
- "statuses": "~1.4.0"
- }
- },
- "serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
- "dev": true,
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.2",
- "send": "0.16.2"
- }
- },
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
- },
- "statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
- "dev": true
- },
- "ua-parser-js": {
- "version": "0.7.17",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz",
- "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==",
- "dev": true
- },
- "window-size": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
- "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=",
- "dev": true
- },
- "yargs": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.4.0.tgz",
- "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "window-size": "^0.2.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^4.1.0"
- }
- },
- "yargs-parser": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
- "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0"
- }
+ "serialize-javascript": "^6.0.1",
+ "smob": "^1.0.0",
+ "terser": "^5.17.4"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
}
}
},
- "browser-sync-client": {
- "version": "2.26.6",
- "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.6.tgz",
- "integrity": "sha512-mGrkZdNzttKdf/16I+y+2dTQxoMCIpKbVIMJ/uP8ZpnKu9f9qa/2CYVtLtbjZG8nsM14EwiCrjuFTGBEnT3Gjw==",
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz",
+ "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
"dev": true,
- "requires": {
- "etag": "1.8.1",
- "fresh": "0.5.2",
- "mitt": "^1.1.3",
- "rxjs": "^5.5.6"
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "browser-sync-ui": {
- "version": "2.26.4",
- "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.4.tgz",
- "integrity": "sha512-u20P3EsZoM8Pt+puoi3BU3KlbQAH1lAcV+/O4saF26qokrBqIDotmGonfWwoRbUmdxZkM9MBmA0K39ZTG1h4sA==",
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz",
+ "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
- "requires": {
- "async-each-series": "0.1.1",
- "connect-history-api-fallback": "^1",
- "immutable": "^3",
- "server-destroy": "1.0.1",
- "socket.io-client": "^2.0.4",
- "stream-throttle": "^0.1.3"
- }
- },
- "bs-recipes": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz",
- "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=",
- "dev": true
- },
- "bs-snippet-injector": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz",
- "integrity": "sha1-YbU5PxH1JVntEgaTEANDtu2wTdU=",
- "dev": true
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "builtin-modules": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
- "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
- "dev": true
- },
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
- "dev": true
- },
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- }
- },
- "callsite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
- "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
- "dev": true
- },
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz",
+ "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz",
+ "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz",
+ "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz",
+ "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz",
+ "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz",
+ "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz",
+ "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz",
+ "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz",
+ "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz",
+ "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz",
+ "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz",
+ "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz",
+ "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz",
+ "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz",
+ "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz",
+ "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz",
+ "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz",
+ "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz",
+ "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
},
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "node_modules/@sindresorhus/slugify": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz",
+ "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==",
"dev": true,
- "requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
+ "license": "MIT",
+ "dependencies": {
+ "@sindresorhus/transliterate": "^1.0.0",
+ "escape-string-regexp": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "node_modules/@sindresorhus/transliterate": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz",
+ "integrity": "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==",
"dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "character-parser": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
- "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=",
- "dev": true,
- "requires": {
- "is-regex": "^1.0.3"
- }
- },
- "chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
- "dev": true,
- "requires": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
- },
+ "license": "MIT",
"dependencies": {
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- }
+ "escape-string-regexp": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "node_modules/@types/estree": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
+ "license": "MIT"
},
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "node_modules/@types/resolve": {
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
"dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
- },
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
+ "license": "MIT"
},
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
- },
- "component-bind": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
- "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
- "dev": true
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "component-inherit": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
- "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
- "dev": true
- },
- "compressible": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+ "node_modules/@types/trusted-types": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
"dev": true,
- "requires": {
- "mime-db": ">= 1.43.0 < 2"
- }
+ "license": "MIT"
},
- "compression": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.5",
- "bytes": "3.0.0",
- "compressible": "~2.0.16",
- "debug": "2.6.9",
- "on-headers": "~1.0.2",
- "safe-buffer": "5.1.2",
- "vary": "~1.1.2"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "condense-newlines": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz",
- "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-whitespace": "^0.3.0",
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "config-chain": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
- "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
- "dev": true,
- "requires": {
- "ini": "^1.3.4",
- "proto-list": "~1.2.1"
- }
- },
- "connect": {
- "version": "3.6.6",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
- "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "finalhandler": "1.1.0",
- "parseurl": "~1.3.2",
- "utils-merge": "1.0.1"
- }
- },
- "connect-history-api-fallback": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
- "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
- "dev": true
- },
- "constantinople": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz",
- "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==",
- "dev": true,
- "requires": {
- "@types/babel-types": "^7.0.0",
- "@types/babylon": "^6.16.2",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0"
- }
- },
- "cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
- "dev": true
- },
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true
- },
- "core-js": {
- "version": "2.6.11",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
- "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "date-time": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz",
- "integrity": "sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc=",
- "dev": true
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
- "dev": true
- },
- "dependency-graph": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.8.1.tgz",
- "integrity": "sha512-g213uqF8fyk40W8SBjm079n3CZB4qSpCrA2ye1fLGzH/4HEgB6tzuW2CbLE7leb4t45/6h44Ud59Su1/ROTfqw==",
- "dev": true
- },
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
- "dev": true
- },
- "dev-ip": {
+ "node_modules/a-sync-waterfall": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz",
- "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=",
- "dev": true
- },
- "doctypes": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
- "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
- "dev": true
- },
- "easy-extender": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz",
- "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.10"
- }
- },
- "eazy-logger": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.0.2.tgz",
- "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=",
- "dev": true,
- "requires": {
- "tfunk": "^3.0.1"
- }
- },
- "editorconfig": {
- "version": "0.15.3",
- "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz",
- "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==",
+ "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
+ "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==",
"dev": true,
- "requires": {
- "commander": "^2.19.0",
- "lru-cache": "^4.1.5",
- "semver": "^5.6.0",
- "sigmund": "^1.0.1"
- }
+ "license": "MIT"
},
- "ee-first": {
+ "node_modules/abbrev": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
- "dev": true
- },
- "ejs": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
- "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
- "dev": true
- },
- "email-addresses": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz",
- "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==",
- "dev": true
- },
- "emitter-mixin": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/emitter-mixin/-/emitter-mixin-0.0.3.tgz",
- "integrity": "sha1-WUjLKG8uSO3DslGnz8H3iDOW1lw=",
- "dev": true
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true
- },
- "engine.io": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
- "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.4",
- "base64id": "1.0.0",
- "cookie": "0.3.1",
- "debug": "~3.1.0",
- "engine.io-parser": "~2.1.0",
- "ws": "~3.3.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "engine.io-parser": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
- "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
- "dev": true,
- "requires": {
- "after": "0.8.2",
- "arraybuffer.slice": "~0.0.7",
- "base64-arraybuffer": "0.1.5",
- "blob": "0.0.5",
- "has-binary2": "~1.0.2"
- }
- },
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
- }
- }
- }
- },
- "engine.io-client": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz",
- "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==",
- "dev": true,
- "requires": {
- "component-emitter": "1.2.1",
- "component-inherit": "0.0.3",
- "debug": "~4.1.0",
- "engine.io-parser": "~2.2.0",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "ws": "~6.1.0",
- "xmlhttprequest-ssl": "~1.5.4",
- "yeast": "0.1.2"
- },
- "dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- }
- }
- },
- "engine.io-parser": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz",
- "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==",
- "dev": true,
- "requires": {
- "after": "0.8.2",
- "arraybuffer.slice": "~0.0.7",
- "base64-arraybuffer": "0.1.5",
- "blob": "0.0.5",
- "has-binary2": "~1.0.2"
- }
- },
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "requires": {
- "prr": "~1.0.1"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "esm": {
- "version": "3.2.25",
- "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
- "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
- "dev": true
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "estree-walker": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
- "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
- "dev": true
- },
- "eventemitter3": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
- "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
- "dev": true
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "fastq": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz",
- "integrity": "sha512-mpIH5sKYueh3YyeJwqtVo8sORi0CgtmkVbK6kZStpQlZBYQuTzG2CZ7idSiJuA7bY0SFCWUc5WIs+oYumGCQNw==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
- "dev": true,
- "optional": true
- },
- "filename-reserved-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
- "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
- "dev": true
- },
- "filenamify": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
- "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
- "dev": true,
- "requires": {
- "filename-reserved-regex": "^1.0.0",
- "strip-outer": "^1.0.0",
- "trim-repeated": "^1.0.0"
- }
- },
- "filenamify-url": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz",
- "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=",
- "dev": true,
- "requires": {
- "filenamify": "^1.0.0",
- "humanize-url": "^1.0.0"
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "finalhandler": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
- "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.1",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.2",
- "statuses": "~1.3.1",
- "unpipe": "~1.0.0"
- }
- },
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "follow-redirects": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
- "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
- "dev": true,
- "requires": {
- "debug": "=3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "requires": {
- "map-cache": "^0.2.2"
- }
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
- "dev": true
- },
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "1.2.12",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz",
- "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true,
- "optional": true,
- "requires": {
- "bindings": "^1.5.0",
- "nan": "^2.12.1",
- "node-pre-gyp": "*"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.1.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "debug": {
- "version": "3.2.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.7",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.6.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "glob": {
- "version": "7.1.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore-walk": {
- "version": "3.0.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minipass": {
- "version": "2.9.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.3.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.9.0"
- }
- },
- "mkdirp": {
- "version": "0.5.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "ms": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "needle": {
- "version": "2.3.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "^3.2.6",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.14.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4.4.2"
- }
- },
- "nopt": {
- "version": "4.0.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "npm-bundled": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npm-normalize-package-bin": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.4.8",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.8",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "rimraf": {
- "version": "2.7.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "semver": {
- "version": "5.7.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.13",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.8.6",
- "minizlib": "^1.2.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.3"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "yallist": {
- "version": "3.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true
+ "license": "ISC"
},
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
+ "node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
},
- "gh-pages": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz",
- "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==",
+ "node_modules/acorn-walk": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
"dev": true,
- "requires": {
- "async": "^2.6.1",
- "commander": "^2.18.0",
- "email-addresses": "^3.0.1",
- "filenamify-url": "^1.0.0",
- "fs-extra": "^8.1.0",
- "globby": "^6.1.0"
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
}
},
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "node_modules/ansi-regex": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
"dev": true,
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
},
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "node_modules/anymatch/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
},
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
- "dev": true
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "license": "Python-2.0"
},
- "gray-matter": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz",
- "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==",
+ "node_modules/array-differ": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==",
"dev": true,
- "requires": {
- "js-yaml": "^3.11.0",
- "kind-of": "^6.0.2",
- "section-matter": "^1.0.0",
- "strip-bom-string": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "hamljs": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/hamljs/-/hamljs-0.6.2.tgz",
- "integrity": "sha1-e3EWz22+cnjkKz9u+HJaM+F3yOM=",
- "dev": true
- },
- "handlebars": {
- "version": "4.7.3",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz",
- "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==",
+ "node_modules/array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
"dev": true,
- "requires": {
- "neo-async": "^2.6.0",
- "optimist": "^0.6.1",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4"
- },
+ "license": "MIT",
"dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "uglify-js": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.1.tgz",
- "integrity": "sha512-W7KxyzeaQmZvUFbGj4+YFshhVrMBGSg2IbcYAjGWGvx8DHvJMclbTDMpffdxFUGPBHjIytk7KJUR/KUXstUGDw==",
- "dev": true,
- "optional": true,
- "requires": {
- "commander": "~2.20.3",
- "source-map": "~0.6.1"
- }
- }
+ "array-uniq": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "has": {
+ "node_modules/array-uniq": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
"dev": true,
- "requires": {
- "function-bind": "^1.1.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "node_modules/arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
"dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "has-binary2": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
- "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
+ "node_modules/asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
"dev": true,
- "requires": {
- "isarray": "2.0.1"
- },
+ "license": "MIT"
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/bcp-47": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz",
+ "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
- "dev": true
- }
+ "is-alphabetical": "^2.0.0",
+ "is-alphanumerical": "^2.0.0",
+ "is-decimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "has-color": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
- "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=",
- "dev": true
+ "node_modules/bcp-47-match": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz",
+ "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
- "dev": true
+ "node_modules/bcp-47-normalize": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-2.3.0.tgz",
+ "integrity": "sha512-8I/wfzqQvttUFz7HVJgIZ7+dj3vUaIyIxYXaTRP1YWoSDfzt6TUmxaKZeuXR62qBmYr+nvuWINFRl6pZ5DlN4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bcp-47": "^2.0.0",
+ "bcp-47-match": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
+ "license": "MIT",
"dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "hosted-git-info": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
- "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
- "dev": true
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "http-errors": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
- "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.4",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
},
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true
- }
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/commander": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
}
},
- "http-proxy": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz",
- "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=",
+ "node_modules/compressible": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
"dev": true,
- "requires": {
- "eventemitter3": "1.x.x",
- "requires-port": "1.x.x"
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": ">= 1.43.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
}
},
- "humanize-url": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz",
- "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=",
+ "node_modules/compression": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
+ "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
"dev": true,
- "requires": {
- "normalize-url": "^1.0.0",
- "strip-url-auth": "^1.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "compressible": "~2.0.18",
+ "debug": "2.6.9",
+ "negotiator": "~0.6.4",
+ "on-headers": "~1.1.0",
+ "safe-buffer": "5.2.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
}
},
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "node_modules/compression/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
}
},
- "immutable": {
- "version": "3.8.2",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
- "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=",
- "dev": true
+ "node_modules/compression/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
},
- "indexof": {
+ "node_modules/concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
- "dev": true
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT"
},
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "node_modules/connect": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+ "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
"dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.2",
+ "parseurl": "~1.3.3",
+ "utils-merge": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
}
},
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
+ "node_modules/connect/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
},
- "is-absolute": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "node_modules/connect/node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"dev": true,
- "requires": {
- "is-relative": "^1.0.0",
- "is-windows": "^1.0.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
}
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "node_modules/connect/node_modules/finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
+ "license": "MIT",
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
}
},
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
+ "node_modules/connect/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
},
- "is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "node_modules/connect/node_modules/on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
"dev": true,
- "requires": {
- "binary-extensions": "^1.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
}
},
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
+ "node_modules/connect/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
+ "license": "MIT",
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
}
},
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
- "requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
+ "license": "MIT",
"dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
- "is-expression": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz",
- "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=",
+ "node_modules/debug": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"dev": true,
- "requires": {
- "acorn": "~4.0.2",
- "object-assign": "^4.0.1"
- },
+ "license": "MIT",
"dependencies": {
- "acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
- "dev": true
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
}
}
},
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "is-fullwidth-code-point": {
+ "node_modules/dependency-graph": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz",
+ "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==",
"dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
}
},
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
}
},
- "is-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
- "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
- "dev": true
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "node_modules/dom-serializer": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
"dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
+ "license": "MIT",
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "is-number-like": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz",
- "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==",
+ "node_modules/dom-serializer/node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
"dev": true,
- "requires": {
- "lodash.isfinite": "^3.3.2"
+ "license": "BSD-2-Clause",
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
- "dev": true
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "BSD-2-Clause"
},
- "is-path-in-cwd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
- "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+ "node_modules/domhandler": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
"dev": true,
- "requires": {
- "is-path-inside": "^1.0.0"
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
- "is-path-inside": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
- "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"dev": true,
- "requires": {
- "path-is-inside": "^1.0.1"
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
}
},
- "is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
- "dev": true
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true,
+ "license": "MIT"
},
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
+ "license": "MIT"
},
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
- "dev": true
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true,
+ "license": "MIT"
},
- "is-regex": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
- "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"dev": true,
- "requires": {
- "has": "^1.0.3"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
}
},
- "is-relative": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
- "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "node_modules/entities": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
"dev": true,
- "requires": {
- "is-unc-path": "^1.0.0"
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "is-unc-path": {
+ "node_modules/errno": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
- "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-1.0.0.tgz",
+ "integrity": "sha512-3zV5mFS1E8/1bPxt/B0xxzI1snsg3uSCIh6Zo1qKg6iMw93hzPANk9oBFzSFBFrwuVoQuE3rLoouAUfwOAj1wQ==",
"dev": true,
- "requires": {
- "unc-path-regex": "^0.1.2"
+ "license": "MIT",
+ "dependencies": {
+ "prr": "~1.0.1"
+ },
+ "bin": {
+ "errno": "cli.js"
}
},
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
- "is-whitespace": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz",
- "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=",
- "dev": true
- },
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true
- },
- "is-wsl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- },
- "javascript-stringify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.1.tgz",
- "integrity": "sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==",
- "dev": true
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "dev": true,
+ "license": "MIT"
},
- "jest-worker": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
- "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
+ "node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
- "requires": {
- "merge-stream": "^2.0.0",
- "supports-color": "^6.1.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
},
- "dependencies": {
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "js-beautify": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz",
- "integrity": "sha512-wfk/IAWobz1TfApSdivH5PJ0miIHgDoYb1ugSqHcODPmaYu46rYe5FVuIEkhjg8IQiv6rDNPyhsqbsohI/C2vQ==",
+ "node_modules/esm-import-transformer": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/esm-import-transformer/-/esm-import-transformer-3.0.5.tgz",
+ "integrity": "sha512-1GKLvfuMnnpI75l8c6sHoz0L3Z872xL5akGuBudgqTDPv4Vy6f2Ec7jEMKTxlqWl/3kSvNbHELeimJtnqgYniw==",
"dev": true,
- "requires": {
- "config-chain": "^1.1.12",
- "editorconfig": "^0.15.3",
- "glob": "^7.1.3",
- "mkdirp": "~0.5.1",
- "nopt": "~4.0.1"
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.15.0"
}
},
- "js-stringify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
- "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=",
- "dev": true
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
}
},
- "jstransformer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
- "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=",
+ "node_modules/evaluate-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/evaluate-value/-/evaluate-value-2.0.0.tgz",
+ "integrity": "sha512-VonfiuDJc0z4sOO7W0Pd130VLsXN6vmBWZlrog1mCb/o7o/Nl5Lr25+Kj/nkCCAhG+zqeeGjxhkK9oHpkgTHhQ==",
"dev": true,
- "requires": {
- "is-promise": "^2.0.0",
- "promise": "^7.0.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
}
},
- "junk": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz",
- "integrity": "sha1-h75jSIZJy9ym9Tqzm+yczSNH9ZI=",
- "dev": true
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true
- },
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true,
+ "license": "MIT"
},
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"dev": true,
- "requires": {
- "invert-kv": "^1.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "limiter": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz",
- "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==",
- "dev": true
- },
- "linkify-it": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
- "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
"dev": true,
- "requires": {
- "uc.micro": "^1.0.1"
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
}
},
- "liquidjs": {
- "version": "6.4.3",
- "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-6.4.3.tgz",
- "integrity": "sha512-m1xSB10Ncu22NR3X0xdaqu/GvP1xadDCFYGqGgd6me8DAWjyA68BKE5DHJmSxw1CGsWPsX+Hj2v/87J2w/LvMQ==",
- "dev": true
- },
- "lit-html": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.2.1.tgz",
- "integrity": "sha512-GSJHHXMGLZDzTRq59IUfL9FCdAlGfqNp/dEa7k7aBaaWD+JKaCjsAk9KYm2V12ItonVaYx2dprN66Zdm1AuBTQ==",
- "dev": true
- },
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "node_modules/fastq": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
+ "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
"dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- },
+ "license": "ISC",
"dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
+ "reusify": "^1.0.4"
}
},
- "localtunnel": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.9.2.tgz",
- "integrity": "sha512-NEKF7bDJE9U3xzJu3kbayF0WTvng6Pww7tzqNb/XtEARYwqw7CKEX7BvOMg98FtE9es2CRizl61gkV3hS8dqYg==",
+ "node_modules/fdir": {
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
"dev": true,
- "requires": {
- "axios": "0.19.0",
- "debug": "4.1.1",
- "openurl": "1.1.1",
- "yargs": "6.6.0"
+ "license": "MIT",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
},
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "yargs": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
- "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^4.2.0"
- }
- },
- "yargs-parser": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
- "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0"
- }
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
}
}
},
- "lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
- "dev": true
- },
- "lodash.isfinite": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
- "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=",
- "dev": true
- },
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true
- },
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "node_modules/filesize": {
+ "version": "10.1.6",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz",
+ "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==",
"dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 10.4.0"
}
},
- "luxon": {
- "version": "1.22.2",
- "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.22.2.tgz",
- "integrity": "sha512-vq6eSaOOw1fKob+JXwfu0e3/UFUT4G4HTFRJab7dch8J1OdOGW/vXqCiJsY7rm2In+5gKNYx0EtnYT0Tc5V4Qw==",
- "dev": true
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true
- },
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
- "requires": {
- "object-visit": "^1.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "markdown-it": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz",
- "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==",
+ "node_modules/finalhandler": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
+ "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
"dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "entities": "~1.1.1",
- "linkify-it": "^2.0.0",
- "mdurl": "^1.0.1",
- "uc.micro": "^1.0.5"
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
},
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- }
+ "ms": "2.0.0"
}
},
- "marked": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz",
- "integrity": "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==",
- "dev": true
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
},
- "maximatch": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz",
- "integrity": "sha1-hs2NawTJ8wfAWmuUGZBtA2D7E6I=",
+ "node_modules/foreground-child": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
+ "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
"dev": true,
- "requires": {
- "array-differ": "^1.0.0",
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "minimatch": "^3.0.0"
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.6",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
- "dev": true
- },
- "merge-stream": {
+ "node_modules/fresh": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "merge2": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
- "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
- "dev": true
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
}
},
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true
- },
- "mime-db": {
- "version": "1.43.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
- "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.26",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
- "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
- "requires": {
- "mime-db": "1.43.0"
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "mitt": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz",
- "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==",
- "dev": true
- },
- "mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "node_modules/glob": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz",
+ "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==",
"dev": true,
- "requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
+ "license": "ISC",
"dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
+ "foreground-child": "^3.3.1",
+ "jackspeak": "^4.1.1",
+ "minimatch": "^10.0.3",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^2.0.0"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "mkdirp": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
- "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
- "requires": {
- "minimist": "^1.2.5"
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
- "moo": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz",
- "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==",
- "dev": true
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "multimatch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
- "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz",
+ "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==",
"dev": true,
- "requires": {
- "@types/minimatch": "^3.0.3",
- "array-differ": "^3.0.0",
- "array-union": "^2.1.0",
- "arrify": "^2.0.1",
- "minimatch": "^3.0.4"
- },
+ "license": "ISC",
"dependencies": {
- "array-differ": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
- "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
- "dev": true
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
- "arrify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
- "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
- "dev": true
- }
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "mustache": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz",
- "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==",
- "dev": true
- },
- "nan": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
- "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
- "dev": true,
- "optional": true
- },
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "node_modules/gray-matter": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
+ "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
"dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "js-yaml": "^3.13.1",
"kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
+ "section-matter": "^1.0.0",
+ "strip-bom-string": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.0"
}
},
- "negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
- "dev": true
+ "node_modules/gray-matter/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
},
- "neo-async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
- "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
- "dev": true
+ "node_modules/gray-matter/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
},
- "nopt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "node_modules/handlebars": {
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
+ },
+ "engines": {
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
}
},
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "node_modules/htmlparser2": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
+ "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
"dev": true,
- "requires": {
- "remove-trailing-separator": "^1.0.1"
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.2",
+ "domutils": "^2.8.0",
+ "entities": "^3.0.1"
}
},
- "normalize-url": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
- "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "node_modules/htmlparser2/node_modules/entities": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
+ "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
"dev": true,
- "requires": {
- "object-assign": "^4.0.1",
- "prepend-http": "^1.0.0",
- "query-string": "^4.1.0",
- "sort-keys": "^1.0.0"
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
+ "node_modules/http-equiv-refresh": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-2.0.1.tgz",
+ "integrity": "sha512-XJpDL/MLkV3dKwLzHwr2dY05dYNfBNlyPu4STQ8WvKCFdc6vC5tPXuq28of663+gHVg03C+16pHHs/+FmmDjcw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
},
- "nunjucks": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.1.tgz",
- "integrity": "sha512-LYlVuC1ZNSalQQkLNNPvcgPt2M9FTY9bs39mTCuFXtqh7jWbYzhDlmz2M6onPiXEhdZo+b9anRhc+uBGuJZ2bQ==",
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
- "requires": {
- "a-sync-waterfall": "^1.0.0",
- "asap": "^2.0.3",
- "chokidar": "^3.3.0",
- "commander": "^3.0.2"
- },
+ "license": "MIT",
"dependencies": {
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "optional": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "binary-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
- "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
- "dev": true,
- "optional": true
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "optional": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "chokidar": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
- "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
- "dev": true,
- "optional": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.3.0"
- }
- },
- "commander": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",
- "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",
- "dev": true
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "fsevents": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
- "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
- "dev": true,
- "optional": true
- },
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "optional": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "optional": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "optional": true
- },
- "readdirp": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
- "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "picomatch": "^2.0.7"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
}
},
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true,
+ "license": "ISC"
},
- "object-component": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
- "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
- "dev": true
+ "node_modules/is-alphabetical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "node_modules/is-alphanumerical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
"dev": true,
- "requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
+ "license": "MIT",
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "is-alphabetical": "^2.0.0",
+ "is-decimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "object-path": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz",
- "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=",
- "dev": true
- },
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
- "requires": {
- "isobject": "^3.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "node_modules/is-core-module": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
"dev": true,
- "requires": {
- "isobject": "^3.0.1"
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "node_modules/is-decimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
"dev": true,
- "requires": {
- "ee-first": "1.1.1"
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "on-headers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true,
- "requires": {
- "wrappy": "1"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "openurl": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
- "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=",
- "dev": true
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "opn": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz",
- "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==",
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
- "requires": {
- "is-wsl": "^1.1.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
}
},
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
- "requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
- },
+ "license": "MIT",
"dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- }
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true
+ "node_modules/is-json": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz",
+ "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+ "dev": true,
+ "license": "MIT"
},
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
- "requires": {
- "lcid": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
}
},
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
},
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "node_modules/iso-639-1": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-3.1.5.tgz",
+ "integrity": "sha512-gXkz5+KN7HrG0Q5UGqSMO2qB9AsbEeyLP54kF1YrMsIxmu+g4BdB7rflReZTSTZGpfj8wywu6pfPBCylPIzGQA==",
"dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0"
}
},
- "parse-filepath": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
- "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
+ "node_modules/jackspeak": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz",
+ "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==",
"dev": true,
- "requires": {
- "is-absolute": "^1.0.0",
- "map-cache": "^0.2.0",
- "path-root": "^0.1.1"
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
- "requires": {
- "error-ex": "^1.2.0"
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
- "parse-ms": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-0.1.2.tgz",
- "integrity": "sha1-3T+iXtbC78e93hKtm0bBY6opIk4=",
- "dev": true
- },
- "parseqs": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
- "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+ "node_modules/junk": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
+ "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
"dev": true,
- "requires": {
- "better-assert": "~1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
}
},
- "parseuri": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
- "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
- "requires": {
- "better-assert": "~1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true
- },
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "node_modules/kleur": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
"dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
}
},
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
+ "node_modules/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "uc.micro": "^2.0.0"
+ }
},
- "path-root": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+ "node_modules/liquidjs": {
+ "version": "10.21.1",
+ "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.21.1.tgz",
+ "integrity": "sha512-NZXmCwv3RG5nire3fmIn9HsOyJX3vo+ptp0yaXUHAMzSNBhx74Hm+dAGJvscUA6lNqbLuYfXgNavRQ9UbUJhQQ==",
"dev": true,
- "requires": {
- "path-root-regex": "^0.1.0"
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^10.0.0"
+ },
+ "bin": {
+ "liquid": "bin/liquid.js",
+ "liquidjs": "bin/liquid.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/liquidjs"
}
},
- "path-root-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
- "dev": true
- },
- "path-type": {
+ "node_modules/list-to-array": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz",
+ "integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g==",
"dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
+ "license": "MIT"
+ },
+ "node_modules/lit-html": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.1.tgz",
+ "integrity": "sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
+ "@types/trusted-types": "^2.0.2"
}
},
- "picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
- "dev": true
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "node_modules/lru-cache": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz",
+ "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==",
"dev": true,
- "requires": {
- "pinkie": "^2.0.0"
+ "license": "ISC",
+ "engines": {
+ "node": "20 || >=22"
}
},
- "please-upgrade-node": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
- "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
+ "node_modules/luxon": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.1.tgz",
+ "integrity": "sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==",
"dev": true,
- "requires": {
- "semver-compare": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
}
},
- "portscanner": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz",
- "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=",
+ "node_modules/markdown-it": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
"dev": true,
- "requires": {
- "async": "1.5.2",
- "is-number-like": "^1.0.3"
- },
+ "license": "MIT",
"dependencies": {
- "async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true
- }
+ "argparse": "^2.0.1",
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.mjs"
}
},
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
- "dev": true
- },
- "prepend-http": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
- "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
- "dev": true
- },
- "pretty": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz",
- "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=",
+ "node_modules/markdown-it/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
- "requires": {
- "condense-newlines": "^0.2.1",
- "extend-shallow": "^2.0.1",
- "js-beautify": "^1.6.12"
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
},
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "pretty-ms": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-0.2.2.tgz",
- "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=",
+ "node_modules/marked": {
+ "version": "16.1.2",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-16.1.2.tgz",
+ "integrity": "sha512-rNQt5EvRinalby7zJZu/mB+BvaAY2oz3wCuCjt1RDrWNpS1Pdf9xqMOeC9Hm5adBdcV/3XZPJpG58eT+WBc0XQ==",
"dev": true,
- "requires": {
- "parse-ms": "^0.1.0"
+ "license": "MIT",
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 20"
}
},
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "promise": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
- "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "node_modules/maximatch": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz",
+ "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==",
"dev": true,
- "requires": {
- "asap": "~2.0.3"
+ "license": "MIT",
+ "dependencies": {
+ "array-differ": "^1.0.0",
+ "array-union": "^1.0.1",
+ "arrify": "^1.0.0",
+ "minimatch": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "proto-list": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
- "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
- "dev": true
- },
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
+ "node_modules/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+ "dev": true,
+ "license": "MIT"
},
- "pug": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz",
- "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==",
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dev": true,
- "requires": {
- "pug-code-gen": "^2.0.2",
- "pug-filters": "^3.1.1",
- "pug-lexer": "^4.1.0",
- "pug-linker": "^3.0.6",
- "pug-load": "^2.0.12",
- "pug-parser": "^5.0.1",
- "pug-runtime": "^2.0.5",
- "pug-strip-comments": "^1.0.4"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
}
},
- "pug-attrs": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz",
- "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==",
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
- "requires": {
- "constantinople": "^3.0.1",
- "js-stringify": "^1.0.1",
- "pug-runtime": "^2.0.5"
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
}
},
- "pug-code-gen": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz",
- "integrity": "sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==",
+ "node_modules/micromatch/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
- "requires": {
- "constantinople": "^3.1.2",
- "doctypes": "^1.1.0",
- "js-stringify": "^1.0.1",
- "pug-attrs": "^2.0.4",
- "pug-error": "^1.3.3",
- "pug-runtime": "^2.0.5",
- "void-elements": "^2.0.1",
- "with": "^5.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "pug-error": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz",
- "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==",
- "dev": true
- },
- "pug-filters": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz",
- "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==",
- "dev": true,
- "requires": {
- "clean-css": "^4.1.11",
- "constantinople": "^3.0.1",
- "jstransformer": "1.0.0",
- "pug-error": "^1.3.3",
- "pug-walk": "^1.1.8",
- "resolve": "^1.1.6",
- "uglify-js": "^2.6.1"
+ "node_modules/mime": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
+ "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
},
- "dependencies": {
- "clean-css": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
- "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
- "dev": true,
- "requires": {
- "source-map": "~0.6.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "pug-lexer": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz",
- "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==",
+ "node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"dev": true,
- "requires": {
- "character-parser": "^2.1.1",
- "is-expression": "^3.0.0",
- "pug-error": "^1.3.3"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
}
},
- "pug-linker": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz",
- "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==",
+ "node_modules/mime-types": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
+ "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
"dev": true,
- "requires": {
- "pug-error": "^1.3.3",
- "pug-walk": "^1.1.8"
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
}
},
- "pug-load": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz",
- "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==",
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
- "requires": {
- "object-assign": "^4.1.0",
- "pug-walk": "^1.1.8"
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
}
},
- "pug-parser": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz",
- "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==",
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
- "requires": {
- "pug-error": "^1.3.3",
- "token-stream": "0.0.1"
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "pug-runtime": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz",
- "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==",
- "dev": true
- },
- "pug-strip-comments": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz",
- "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==",
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
- "requires": {
- "pug-error": "^1.3.3"
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
}
},
- "pug-walk": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz",
- "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==",
- "dev": true
+ "node_modules/moo": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz",
+ "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/morphdom": {
+ "version": "2.7.7",
+ "resolved": "https://registry.npmjs.org/morphdom/-/morphdom-2.7.7.tgz",
+ "integrity": "sha512-04GmsiBcalrSCNmzfo+UjU8tt3PhZJKzcOy+r1FlGA7/zri8wre3I1WkYN9PT3sIeIKfW9bpyElA+VzOg2E24g==",
+ "dev": true,
+ "license": "MIT"
},
- "qs": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
- "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=",
- "dev": true
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
},
- "query-string": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
- "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "node_modules/negotiator": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
+ "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
"dev": true,
- "requires": {
- "object-assign": "^4.1.0",
- "strict-uri-encode": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
}
},
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "dev": true,
+ "license": "MIT"
},
- "raw-body": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz",
- "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==",
+ "node_modules/node-retrieve-globals": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/node-retrieve-globals/-/node-retrieve-globals-6.0.1.tgz",
+ "integrity": "sha512-j0DeFuZ/Wg3VlklfbxUgZF/mdHMTEiEipBb3q0SpMMbHaV3AVfoUQF8UGxh1s/yjqO0TgRZd4Pi/x2yRqoQ4Eg==",
"dev": true,
- "requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.3",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
+ "license": "MIT",
"dependencies": {
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
- "dev": true
- }
+ "acorn": "^8.14.1",
+ "acorn-walk": "^8.3.4",
+ "esm-import-transformer": "^3.0.3"
}
},
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"dev": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
+ "license": "ISC",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
- "requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "node_modules/nunjucks": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz",
+ "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==",
"dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
- }
- },
- "recursive-copy": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.10.tgz",
- "integrity": "sha512-S9J9XJUnfZ2NUS3lK6lx6HWLl2nWui+f7AKuu+qoFs4ikEPYgZ3qKk1T6tmBnr7PzhtKnawE+6TREy9XQKmxCA==",
- "dev": true,
- "requires": {
- "del": "^2.2.0",
- "emitter-mixin": "0.0.3",
- "errno": "^0.1.2",
- "graceful-fs": "^4.1.4",
- "junk": "^1.0.1",
- "maximatch": "^0.1.0",
- "mkdirp": "^0.5.1",
- "pify": "^2.3.0",
- "promise": "^7.0.1",
- "slash": "^1.0.0"
- },
+ "license": "BSD-2-Clause",
"dependencies": {
- "del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
- "dev": true,
- "requires": {
- "globby": "^5.0.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "rimraf": "^2.2.8"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
- }
- },
- "globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
+ "a-sync-waterfall": "^1.0.0",
+ "asap": "^2.0.3",
+ "commander": "^5.1.0"
+ },
+ "bin": {
+ "nunjucks-precompile": "bin/precompile"
+ },
+ "engines": {
+ "node": ">= 6.9.0"
+ },
+ "peerDependencies": {
+ "chokidar": "^3.3.0"
+ },
+ "peerDependenciesMeta": {
+ "chokidar": {
+ "optional": true
}
}
},
- "regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
- "dev": true
+ "node_modules/nunjucks/node_modules/commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
},
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"dev": true,
- "requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "remove-trailing-separator": {
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/on-headers": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
- "dev": true
- },
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
+ "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "require-main-filename": {
+ "node_modules/package-json-from-dist": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0"
},
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
- "dev": true
+ "node_modules/parse-srcset": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
+ "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==",
+ "dev": true,
+ "license": "MIT"
},
- "resolve": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz",
- "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==",
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"dev": true,
- "requires": {
- "path-parse": "^1.0.6"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
}
},
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
- },
- "resp-modifier": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz",
- "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=",
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
- "requires": {
- "debug": "^2.2.0",
- "minimatch": "^3.0.2"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
}
},
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true,
- "requires": {
- "align-text": "^0.1.1"
- }
+ "license": "MIT"
},
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "node_modules/path-scurry": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
+ "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
"dev": true,
- "requires": {
- "glob": "^7.1.3"
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "rollup": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.3.2.tgz",
- "integrity": "sha512-p66+fbfaUUOGE84sHXAOgfeaYQMslgAazoQMp//nlR519R61213EPFgrMZa48j31jNacJwexSAR1Q8V/BwGKBA==",
+ "node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
- "requires": {
- "fsevents": "~2.1.2"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
},
- "dependencies": {
- "fsevents": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
- "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
- "dev": true,
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "rollup-plugin-terser": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz",
- "integrity": "sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g==",
+ "node_modules/please-upgrade-node": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
+ "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
"dev": true,
- "requires": {
- "@babel/code-frame": "^7.5.5",
- "jest-worker": "^24.9.0",
- "rollup-pluginutils": "^2.8.2",
- "serialize-javascript": "^2.1.2",
- "terser": "^4.6.2"
+ "license": "MIT",
+ "dependencies": {
+ "semver-compare": "^1.0.0"
}
},
- "rollup-pluginutils": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
- "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
+ "node_modules/posthtml": {
+ "version": "0.16.6",
+ "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz",
+ "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==",
"dev": true,
- "requires": {
- "estree-walker": "^0.6.1"
- },
+ "license": "MIT",
"dependencies": {
- "estree-walker": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
- "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
- "dev": true
- }
+ "posthtml-parser": "^0.11.0",
+ "posthtml-render": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
}
},
- "run-parallel": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
- "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
- "dev": true
- },
- "rx": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
- "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
- "dev": true
- },
- "rxjs": {
- "version": "5.5.12",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
- "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
+ "node_modules/posthtml-match-helper": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/posthtml-match-helper/-/posthtml-match-helper-2.0.3.tgz",
+ "integrity": "sha512-p9oJgTdMF2dyd7WE54QI1LvpBIkNkbSiiECKezNnDVYhGhD1AaOnAkw0Uh0y5TW+OHO8iBdSqnd8Wkpb6iUqmw==",
"dev": true,
- "requires": {
- "symbol-observable": "1.0.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "posthtml": "^0.16.6"
}
},
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "node_modules/posthtml-parser": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz",
+ "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==",
"dev": true,
- "requires": {
- "ret": "~0.1.10"
+ "license": "MIT",
+ "dependencies": {
+ "htmlparser2": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=12"
}
},
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "section-matter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
- "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
+ "node_modules/posthtml-render": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz",
+ "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==",
"dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "kind-of": "^6.0.0"
- },
+ "license": "MIT",
"dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "is-json": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=12"
}
},
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "semver-compare": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
- "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
- "dev": true
+ "node_modules/prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+ "dev": true,
+ "license": "MIT"
},
- "send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "node_modules/punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
"dev": true,
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- },
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true
- }
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
}
},
- "serialize-javascript": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
- "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
- "dev": true
- },
- "serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"dev": true,
- "requires": {
- "accepts": "~1.3.4",
- "batch": "0.6.1",
- "debug": "2.6.9",
- "escape-html": "~1.0.3",
- "http-errors": "~1.6.2",
- "mime-types": "~2.1.17",
- "parseurl": "~1.3.2"
- },
- "dependencies": {
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "dev": true,
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
},
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
},
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
}
- }
+ ],
+ "license": "MIT"
},
- "serve-static": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"dev": true,
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
}
},
- "server-destroy": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
- "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=",
- "dev": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
+ "license": "MIT",
"dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
}
},
- "setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
- "dev": true
- },
- "sigmund": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
- "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
- "dev": true
- },
- "slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
- "dev": true
- },
- "slugify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.0.tgz",
- "integrity": "sha512-FtLNsMGBSRB/0JOE2A0fxlqjI6fJsgHGS13iTuVT28kViI4JjUiNqp/vyis0ZXYcMnpR3fzGNkv+6vRlI2GwdQ==",
- "dev": true
- },
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
- "requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
+ "node_modules/readdirp/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
},
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "node_modules/resolve": {
+ "version": "1.22.10",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+ "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
"dev": true,
- "requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
+ "license": "MIT",
"dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
+ "is-core-module": "^2.16.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
"dev": true,
- "requires": {
- "kind-of": "^3.2.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
}
},
- "socket.io": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
- "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
+ "node_modules/rimraf": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz",
+ "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
"dev": true,
- "requires": {
- "debug": "~3.1.0",
- "engine.io": "~3.2.0",
- "has-binary2": "~1.0.2",
- "socket.io-adapter": "~1.1.0",
- "socket.io-client": "2.1.1",
- "socket.io-parser": "~3.2.0"
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^11.0.0",
+ "package-json-from-dist": "^1.0.0"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
},
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz",
+ "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "engine.io-client": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
- "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
- "dev": true,
- "requires": {
- "component-emitter": "1.2.1",
- "component-inherit": "0.0.3",
- "debug": "~3.1.0",
- "engine.io-parser": "~2.1.1",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "ws": "~3.3.1",
- "xmlhttprequest-ssl": "~1.5.4",
- "yeast": "0.1.2"
- }
- },
- "engine.io-parser": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
- "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
- "dev": true,
- "requires": {
- "after": "0.8.2",
- "arraybuffer.slice": "~0.0.7",
- "base64-arraybuffer": "0.1.5",
- "blob": "0.0.5",
- "has-binary2": "~1.0.2"
- }
- },
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
- "dev": true
- },
- "socket.io-client": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
- "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
- "dev": true,
- "requires": {
- "backo2": "1.0.2",
- "base64-arraybuffer": "0.1.5",
- "component-bind": "1.0.0",
- "component-emitter": "1.2.1",
- "debug": "~3.1.0",
- "engine.io-client": "~3.2.0",
- "has-binary2": "~1.0.2",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "object-component": "0.0.3",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "socket.io-parser": "~3.2.0",
- "to-array": "0.1.4"
- }
- },
- "socket.io-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
- "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
- "dev": true,
- "requires": {
- "component-emitter": "1.2.1",
- "debug": "~3.1.0",
- "isarray": "2.0.1"
- }
- },
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
- }
- }
+ "@types/estree": "1.0.8"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.46.2",
+ "@rollup/rollup-android-arm64": "4.46.2",
+ "@rollup/rollup-darwin-arm64": "4.46.2",
+ "@rollup/rollup-darwin-x64": "4.46.2",
+ "@rollup/rollup-freebsd-arm64": "4.46.2",
+ "@rollup/rollup-freebsd-x64": "4.46.2",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.46.2",
+ "@rollup/rollup-linux-arm-musleabihf": "4.46.2",
+ "@rollup/rollup-linux-arm64-gnu": "4.46.2",
+ "@rollup/rollup-linux-arm64-musl": "4.46.2",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.46.2",
+ "@rollup/rollup-linux-ppc64-gnu": "4.46.2",
+ "@rollup/rollup-linux-riscv64-gnu": "4.46.2",
+ "@rollup/rollup-linux-riscv64-musl": "4.46.2",
+ "@rollup/rollup-linux-s390x-gnu": "4.46.2",
+ "@rollup/rollup-linux-x64-gnu": "4.46.2",
+ "@rollup/rollup-linux-x64-musl": "4.46.2",
+ "@rollup/rollup-win32-arm64-msvc": "4.46.2",
+ "@rollup/rollup-win32-ia32-msvc": "4.46.2",
+ "@rollup/rollup-win32-x64-msvc": "4.46.2",
+ "fsevents": "~2.3.2"
}
},
- "socket.io-adapter": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz",
- "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==",
- "dev": true
- },
- "socket.io-client": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz",
- "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==",
- "dev": true,
- "requires": {
- "backo2": "1.0.2",
- "base64-arraybuffer": "0.1.5",
- "component-bind": "1.0.0",
- "component-emitter": "1.2.1",
- "debug": "~4.1.0",
- "engine.io-client": "~3.4.0",
- "has-binary2": "~1.0.2",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "object-component": "0.0.3",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "socket.io-parser": "~3.3.0",
- "to-array": "0.1.4"
- },
- "dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
},
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
},
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
}
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
}
},
- "socket.io-parser": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz",
- "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==",
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
- "requires": {
- "component-emitter": "1.2.1",
- "debug": "~3.1.0",
- "isarray": "2.0.1"
- },
- "dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
},
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
},
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
- "dev": true
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
}
+ ],
+ "license": "MIT"
+ },
+ "node_modules/section-matter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
+ "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "sort-keys": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
- "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
- "requires": {
- "is-plain-obj": "^1.0.0"
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
+ "node_modules/semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
+ "dev": true,
+ "license": "MIT"
},
- "source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "node_modules/send": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz",
+ "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==",
"dev": true,
- "requires": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.5",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "mime-types": "^3.0.1",
+ "ms": "^2.1.3",
+ "on-finished": "^2.4.1",
+ "range-parser": "^1.2.1",
+ "statuses": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 18"
}
},
- "source-map-support": {
- "version": "0.5.16",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
- "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
+ "node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
+ "license": "BSD-3-Clause",
"dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "randombytes": "^2.1.0"
}
},
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
- },
- "spdx-correct": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
- "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "node_modules/serve-static": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
"dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.19.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
}
},
- "spdx-exceptions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "node_modules/serve-static/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
}
},
- "spdx-license-ids": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
- "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
- "dev": true
+ "node_modules/serve-static/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
},
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "node_modules/serve-static/node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true,
- "requires": {
- "extend-shallow": "^3.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
}
},
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "node_modules/serve-static/node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
- "requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
},
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/serve-static/node_modules/send": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
}
},
- "statikk": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/statikk/-/statikk-1.1.1.tgz",
- "integrity": "sha512-DJS3+IZN+7jItqq8i+r5D8cAOspmIY+Jvt6Xr9lvShbcry5uUQJws73dquw/jSlfvLPm6cDF3eqP3r0w8VRZVQ==",
+ "node_modules/serve-static/node_modules/send/node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"dev": true,
- "requires": {
- "compression": "^1.7.3",
- "connect": "~3.6.6",
- "extend": "~3.0.2",
- "nopt": "~4.0.1",
- "serve-static": "^1.13.2"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
}
},
- "statuses": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
- "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
- "dev": true
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "dev": true,
+ "license": "ISC"
},
- "stream-throttle": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz",
- "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=",
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
- "requires": {
- "commander": "^2.2.0",
- "limiter": "^1.0.5"
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "strict-uri-encode": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
- "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
- "dev": true
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
}
},
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
}
},
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "node_modules/slugify": {
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz",
+ "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==",
"dev": true,
- "requires": {
- "is-utf8": "^0.2.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0.0"
}
},
- "strip-bom-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
- "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=",
- "dev": true
+ "node_modules/smob": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
+ "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==",
+ "dev": true,
+ "license": "MIT"
},
- "strip-outer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
- "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.2"
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "strip-url-auth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz",
- "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true,
- "requires": {
- "has-flag": "^3.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
},
- "symbol-observable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
- "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=",
- "dev": true
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
},
- "terser": {
- "version": "4.6.10",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz",
- "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==",
+ "node_modules/ssri": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-11.0.0.tgz",
+ "integrity": "sha512-aZpUoMN/Jj2MqA4vMCeiKGnc/8SuSyHbGSBdgFbZxP8OJGF/lFkIuElzPxsN0q8TQQ+prw3P4EDfB3TBHHgfXw==",
"dev": true,
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
},
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/statikk": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/statikk/-/statikk-2.2.2.tgz",
+ "integrity": "sha512-eTqeqGQx2woToraQsIJ7VcjYL8HP1efahr1/aNqnm6RblobsunOGELNLrLmP4pm8V7lqRxrvQkhs6kn9a3QLXQ==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "compression": "^1.7.4",
+ "connect": "~3.7.0",
+ "cors": "^2.8.5",
+ "extend": "~3.0.2",
+ "nopt": "~5.0.0",
+ "serve-static": "^1.14.2"
+ },
+ "bin": {
+ "statikk": "bin/statikk"
}
},
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "tfunk": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz",
- "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=",
+ "node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
- "requires": {
- "chalk": "^1.1.1",
- "object-path": "^0.9.0"
- },
+ "license": "MIT",
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- }
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "time-require": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/time-require/-/time-require-0.1.2.tgz",
- "integrity": "sha1-+eEss3D8JgXhFARYK6VO9corLZg=",
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
- "requires": {
- "chalk": "^0.4.0",
- "date-time": "^0.1.1",
- "pretty-ms": "^0.2.1",
- "text-table": "^0.2.0"
- },
+ "license": "MIT",
"dependencies": {
- "ansi-styles": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
- "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=",
- "dev": true
- },
- "chalk": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
- "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=",
- "dev": true,
- "requires": {
- "ansi-styles": "~1.0.0",
- "has-color": "~0.1.0",
- "strip-ansi": "~0.1.0"
- }
- },
- "strip-ansi": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz",
- "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=",
- "dev": true
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "to-array": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
- "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
- "dev": true
+ "node_modules/string-width-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
},
- "to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
- "dev": true
+ "node_modules/string-width-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
},
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "node_modules/string-width-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
- "requires": {
- "kind-of": "^3.0.2"
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
},
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
- "requires": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
}
},
- "toidentifier": {
+ "node_modules/strip-bom-string": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
- "dev": true
- },
- "token-stream": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz",
- "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=",
- "dev": true
+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "trim-repeated": {
+ "node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
- "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.2"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "uc.micro": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
- "dev": true
- },
- "uglify-js": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz",
- "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=",
+ "node_modules/terser": {
+ "version": "5.43.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
+ "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
"dev": true,
- "requires": {
- "async": "~0.2.6",
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- },
+ "license": "BSD-2-Clause",
"dependencies": {
- "async": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
- "dev": true
- },
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- }
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.14.0",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "dev": true
+ "node_modules/terser/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true,
+ "license": "MIT"
},
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
- "dev": true
+ "node_modules/tinyglobby": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
},
- "unc-path-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
- "dev": true
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
},
- "union-value": {
+ "node_modules/toidentifier": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6"
}
},
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
- "dev": true
+ "node_modules/uc.micro": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+ "dev": true,
+ "license": "MIT"
},
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "node_modules/uglify-js": {
+ "version": "3.19.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
+ "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
"dev": true,
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
+ "license": "BSD-2-Clause",
+ "optional": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
},
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
- }
+ "engines": {
+ "node": ">=0.8.0"
}
},
- "upath": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
- "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
- "dev": true
- },
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "dev": true
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
+ "node_modules/urlpattern-polyfill": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz",
+ "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==",
+ "dev": true,
+ "license": "MIT"
},
- "utils-merge": {
+ "node_modules/utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
- "dev": true
- },
- "valid-url": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
- "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=",
- "dev": true
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4.0"
}
},
- "vary": {
+ "node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
- "dev": true
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
- "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
- "dev": true
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
},
- "which-module": {
+ "node_modules/wordwrap": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
- "dev": true
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
+ "dev": true,
+ "license": "MIT"
},
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
- "dev": true
+ "node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
},
- "with": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz",
- "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=",
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
- "requires": {
- "acorn": "^3.1.0",
- "acorn-globals": "^3.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
- "dev": true
- }
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true
+ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
},
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "node_modules/wrap-ansi-cjs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "ws": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz",
- "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0"
- }
- },
- "xmlhttprequest-ssl": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
- "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
- "dev": true
- },
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
- },
- "yeast": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
- "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
- "dev": true
+ "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ws": {
+ "version": "8.18.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+ "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
}
}
}
diff --git a/package.json b/package.json
index 6208cdb49f..8769e1ad84 100644
--- a/package.json
+++ b/package.json
@@ -6,22 +6,22 @@
"author": "Google Inc.",
"license": "Apache2",
"private": true,
+ "type": "module",
"devDependencies": {
- "@11ty/eleventy": "0.10.0",
- "@rollup/plugin-node-resolve": "7.1.1",
- "esm": "3.2.25",
- "gh-pages": "^2.0.1",
- "lit-html": "1.2.1",
- "marked": "0.8.2",
- "rimraf": "^3.0.2",
- "rollup": "2.3.2",
- "rollup-plugin-terser": "5.3.0",
- "statikk": "^1.1.1"
+ "@11ty/eleventy": "^3.1.2",
+ "@11ty/eleventy-plugin-handlebars": "^1.0.0",
+ "@rollup/plugin-node-resolve": "^16.0.1",
+ "@rollup/plugin-terser": "^0.4.4",
+ "lit-html": "^3.3.1",
+ "marked": "^16.1.2",
+ "rimraf": "^6.0.1",
+ "rollup": "^4.46.2",
+ "statikk": "^2.2.2"
},
"scripts": {
- "build": "rimraf devtools-protocol/ && node -r esm node_modules/.bin/eleventy && rollup -c rollup.config.js",
+ "build": "rimraf devtools-protocol/ && node node_modules/.bin/eleventy && rollup -c rollup.config.js",
"prep": "bash prep-tot-protocol-files.sh",
- "serve": "echo 'Open http://localhost:8696/devtools-protocol/ for built site'; statikk --port 8696 .",
- "deploy": "gh-pages --dist devtools-protocol --repo git@github.com:ChromeDevTools/devtools-protocol.git --dotfiles --user \"devtools-bot <24444246+devtools-bot@users.noreply.github.com>\""
+ "test": "bash test/primitive_tests.sh",
+ "serve": "echo 'Open http://localhost:8696/devtools-protocol/ for built site'; statikk --port 8696 ."
}
}
diff --git a/pages/1-2.11ty.js b/pages/1-2.11ty.js
index dcd235e843..670a487580 100644
--- a/pages/1-2.11ty.js
+++ b/pages/1-2.11ty.js
@@ -1,7 +1,7 @@
import {DomainGenerator} from './domainGenerator.js';
-module.exports = class extends DomainGenerator {
+export default class extends DomainGenerator {
constructor() {
super('1-2');
}
-}
\ No newline at end of file
+}
diff --git a/pages/1-3.11ty.js b/pages/1-3.11ty.js
index 5ae03958fc..e43421af99 100644
--- a/pages/1-3.11ty.js
+++ b/pages/1-3.11ty.js
@@ -1,7 +1,7 @@
import {DomainGenerator} from './domainGenerator.js';
-module.exports = class extends DomainGenerator {
+export default class extends DomainGenerator {
constructor() {
super('1-3');
}
-}
\ No newline at end of file
+}
diff --git a/pages/1-3.md b/pages/1-3.md
index c629de17a0..de95fa3af4 100644
--- a/pages/1-3.md
+++ b/pages/1-3.md
@@ -3,5 +3,5 @@ layout: shell.hbs
title: Chrome DevTools Protocol - stable (1.3)
version: 1-3
---
-The **1.3 version of the protocol** is the stable RC release of the protocol, tagged at Chrome 64.
-It includes a smaller subset of the complete protocol compatibilities.
+The **1.3 version of the protocol** is the "living" stable channel of the protocol.
+It's a subset of the complete protocol, [excluding](https://github.com/ChromeDevTools/debugger-protocol-viewer/blob/d84a0457b8d5b6c4a7a2947572b83239d8fb5954/make-stable-protocol.js) items that are experimental or deprecated.
diff --git a/pages/_data/1-3.json b/pages/_data/1-3.json
index 3ca8e1c559..b0bb2b7b0d 100644
--- a/pages/_data/1-3.json
+++ b/pages/_data/1-3.json
@@ -5,6 +5,18 @@
"description": "The Browser domain defines methods and events for browser managing.",
"types": [],
"commands": [
+ {
+ "name": "resetPermissions",
+ "description": "Reset all permission management for all origins.",
+ "parameters": [
+ {
+ "name": "browserContextId",
+ "description": "BrowserContext to reset permissions. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
+ }
+ ]
+ },
{
"name": "close",
"description": "Close browser gracefully."
@@ -39,12 +51,47 @@
"type": "string"
}
]
+ },
+ {
+ "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": "coordinatorOrigin",
+ "type": "string"
+ },
+ {
+ "name": "keyConfig",
+ "type": "string"
+ },
+ {
+ "name": "browserContextId",
+ "description": "BrowserContext to perform the action in. When omitted, default browser\ncontext is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
+ }
+ ]
}
- ]
+ ],
+ "events": []
},
{
"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.
",
+ "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"
],
@@ -87,15 +134,24 @@
"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",
@@ -103,7 +159,18 @@
"scrollbar-track-piece",
"scrollbar-corner",
"resizer",
- "input-list-button"
+ "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"
]
},
{
@@ -116,6 +183,45 @@
"closed"
]
},
+ {
+ "id": "CompatibilityMode",
+ "description": "Document compatibility mode.",
+ "type": "string",
+ "enum": [
+ "QuirksMode",
+ "LimitedQuirksMode",
+ "NoQuirksMode"
+ ]
+ },
+ {
+ "id": "PhysicalAxes",
+ "description": "ContainerSelector physical axes",
+ "type": "string",
+ "enum": [
+ "Horizontal",
+ "Vertical",
+ "Both"
+ ]
+ },
+ {
+ "id": "LogicalAxes",
+ "description": "ContainerSelector logical axes",
+ "type": "string",
+ "enum": [
+ "Inline",
+ "Block",
+ "Both"
+ ]
+ },
+ {
+ "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.",
@@ -235,6 +341,12 @@
"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.",
@@ -279,7 +391,8 @@
},
{
"name": "importedDocument",
- "description": "Import document for the HTMLImport links.",
+ "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"
},
@@ -297,6 +410,40 @@
"description": "Whether the node is SVG.",
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "compatibilityMode",
+ "optional": true,
+ "$ref": "CompatibilityMode"
+ },
+ {
+ "name": "assignedSlot",
+ "optional": true,
+ "$ref": "BackendNode"
+ },
+ {
+ "name": "isScrollable",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "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"
+ },
+ {
+ "name": "retainedNodeIds",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
}
]
},
@@ -495,13 +642,56 @@
}
]
},
+ {
+ "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": "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."
},
{
"name": "enable",
- "description": "Enables DOM agent for the given page."
+ "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"
+ ]
+ }
+ ]
},
{
"name": "focus",
@@ -533,7 +723,7 @@
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to retrieve attibutes for.",
+ "description": "Id of the node to retrieve attributes for.",
"$ref": "NodeId"
}
],
@@ -581,7 +771,7 @@
},
{
"name": "getDocument",
- "description": "Returns the root DOM node (and optionally the subtree) to the caller.",
+ "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",
@@ -671,6 +861,13 @@
"description": "JavaScript object id of the node wrapper.",
"optional": true,
"$ref": "Runtime.RemoteObjectId"
+ },
+ {
+ "name": "includeShadowDOM",
+ "description": "Include all shadow roots. Equals to false if not specified.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
@@ -1091,7 +1288,7 @@
},
{
"name": "previousNodeId",
- "description": "If of the previous siblint.",
+ "description": "Id of the previous sibling.",
"$ref": "NodeId"
},
{
@@ -1147,7 +1344,6 @@
"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",
- "Debugger",
"Runtime"
],
"types": [
@@ -1405,6 +1601,21 @@
}
]
},
+ {
+ "id": "DevicePosture",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Current posture of the device",
+ "type": "string",
+ "enum": [
+ "continuous",
+ "folded"
+ ]
+ }
+ ]
+ },
{
"id": "MediaFeature",
"type": "object",
@@ -1421,24 +1632,24 @@
}
],
"commands": [
- {
- "name": "canEmulate",
- "description": "Tells whether emulation is supported.",
- "returns": [
- {
- "name": "result",
- "description": "True if emulation is supported.",
- "type": "boolean"
- }
- ]
- },
{
"name": "clearDeviceMetricsOverride",
- "description": "Clears the overriden device metrics."
+ "description": "Clears the overridden device metrics."
},
{
"name": "clearGeolocationOverride",
- "description": "Clears the overriden Geolocation Position and Error."
+ "description": "Clears the overridden Geolocation Position and Error."
+ },
+ {
+ "name": "setCPUThrottlingRate",
+ "description": "Enables CPU throttling to emulate slow CPUs.",
+ "parameters": [
+ {
+ "name": "rate",
+ "description": "Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).",
+ "type": "number"
+ }
+ ]
},
{
"name": "setDefaultBackgroundColorOverride",
@@ -1533,10 +1744,19 @@
},
{
"name": "displayFeature",
- "description": "If set, the display feature of a multi-segment screen. If not set, multi-segment support\nis turned-off.",
+ "description": "If set, the display feature of a multi-segment screen. If not set, multi-segment support\nis turned-off.\nDeprecated, use Emulation.setDisplayFeaturesOverride.",
"experimental": true,
+ "deprecated": true,
"optional": true,
"$ref": "DisplayFeature"
+ },
+ {
+ "name": "devicePosture",
+ "description": "If set, the posture of a foldable device. If not set the posture is set\nto continuous.\nDeprecated, use Emulation.setDevicePostureOverride.",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "$ref": "DevicePosture"
}
]
},
@@ -1561,9 +1781,40 @@
}
]
},
+ {
+ "name": "setEmulatedVisionDeficiency",
+ "description": "Emulates the given vision deficiency.",
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Vision deficiency to emulate. Order: best-effort emulations come first, followed by any\nphysiologically accurate emulations for medically recognized color vision deficiencies.",
+ "type": "string",
+ "enum": [
+ "none",
+ "blurredVision",
+ "reducedContrast",
+ "achromatopsia",
+ "deuteranopia",
+ "protanopia",
+ "tritanopia"
+ ]
+ }
+ ]
+ },
+ {
+ "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 any of the parameters emulates position\nunavailable.",
+ "description": "Overrides the Geolocation Position or Error. Omitting latitude, longitude or\naccuracy emulates position unavailable.",
"parameters": [
{
"name": "latitude",
@@ -1582,9 +1833,53 @@
"description": "Mock accuracy",
"optional": true,
"type": "number"
+ },
+ {
+ "name": "altitude",
+ "description": "Mock altitude",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "altitudeAccuracy",
+ "description": "Mock altitudeAccuracy",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "heading",
+ "description": "Mock heading",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "speed",
+ "description": "Mock speed",
+ "optional": true,
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "setIdleOverride",
+ "description": "Overrides the Idle state.",
+ "parameters": [
+ {
+ "name": "isUserActive",
+ "description": "Mock isUserActive",
+ "type": "boolean"
+ },
+ {
+ "name": "isScreenUnlocked",
+ "description": "Mock isScreenUnlocked",
+ "type": "boolean"
}
]
},
+ {
+ "name": "clearIdleOverride",
+ "description": "Clears Idle state overrides."
+ },
{
"name": "setScriptExecutionDisabled",
"description": "Switches script execution in the page.",
@@ -1613,9 +1908,20 @@
}
]
},
+ {
+ "name": "setTimezoneOverride",
+ "description": "Overrides default host system timezone with the specified one.",
+ "parameters": [
+ {
+ "name": "timezoneId",
+ "description": "The timezone identifier. List of supported timezones:\nhttps://source.chromium.org/chromium/chromium/deps/icu.git/+/faee8bc70570192d82d2978a71e2a615788597d1:source/data/misc/metaZones.txt\nIf empty, disables the override and restores default host system timezone.",
+ "type": "string"
+ }
+ ]
+ },
{
"name": "setUserAgentOverride",
- "description": "Allows overriding user agent with the given string.",
+ "description": "Allows overriding user agent with the given string.\n`userAgentMetadata` must be set for Client Hint headers to be sent.",
"parameters": [
{
"name": "userAgent",
@@ -1624,7 +1930,7 @@
},
{
"name": "acceptLanguage",
- "description": "Browser langugage to emulate.",
+ "description": "Browser language to emulate.",
"optional": true,
"type": "string"
},
@@ -1652,7 +1958,7 @@
"types": [
{
"id": "StreamHandle",
- "description": "This is either obtained from another method or specifed as `blob:<uuid>` where\n`<uuid>` is an UUID of a Blob.",
+ "description": "This is either obtained from another method or specified as `blob:` where\n`` is an UUID of a Blob.",
"type": "string"
}
],
@@ -1679,7 +1985,7 @@
},
{
"name": "offset",
- "description": "Seek to the specified offset before reading (if not specificed, proceed with offset\nfollowing the last read). Some types of streams may only support sequential reads.",
+ "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"
},
@@ -1704,7 +2010,7 @@
},
{
"name": "eof",
- "description": "Set if the end-of-file condition occured while reading.",
+ "description": "Set if the end-of-file condition occurred while reading.",
"type": "boolean"
}
]
@@ -1780,16 +2086,14 @@
{
"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)",
- "experimental": true,
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
"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).",
- "experimental": true,
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
"name": "twist",
@@ -1920,7 +2224,7 @@
},
{
"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/+/master:third_party/blink/renderer/core/editing/commands/editor_command_names.h for valid command names.",
+ "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",
@@ -2002,16 +2306,14 @@
{
"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).",
- "experimental": true,
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
"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).",
- "experimental": true,
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
"name": "twist",
@@ -2081,6 +2383,10 @@
}
]
},
+ {
+ "name": "cancelDragging",
+ "description": "Cancels any active dragging in the page."
+ },
{
"name": "setIgnoreInputEvents",
"description": "Ignores input events (useful while auditing page).",
@@ -2092,7 +2398,8 @@
}
]
}
- ]
+ ],
+ "events": []
},
{
"domain": "Log",
@@ -2143,6 +2450,14 @@
"description": "Logged text.",
"type": "string"
},
+ {
+ "name": "category",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "cors"
+ ]
+ },
{
"name": "timestamp",
"description": "Timestamp when this entry was added.",
@@ -2285,6 +2600,7 @@
"TextTrack",
"XHR",
"Fetch",
+ "Prefetch",
"EventSource",
"WebSocket",
"Manifest",
@@ -2292,6 +2608,7 @@
"Ping",
"CSPViolationReport",
"Preflight",
+ "FedCM",
"Other"
]
},
@@ -2302,7 +2619,7 @@
},
{
"id": "RequestId",
- "description": "Unique request identifier.",
+ "description": "Unique network request identifier.\nNote that this does not identify individual HTTP requests that are part of\na network request.",
"type": "string"
},
{
@@ -2446,6 +2763,20 @@
"experimental": true,
"type": "number"
},
+ {
+ "name": "workerRouterEvaluationStart",
+ "description": "Started ServiceWorker static routing source evaluation.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "workerCacheLookupStart",
+ "description": "Started cache lookup when the source was evaluated to `cache`.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
{
"name": "sendStart",
"description": "Started sending request.",
@@ -2468,6 +2799,12 @@
"experimental": true,
"type": "number"
},
+ {
+ "name": "receiveHeadersStart",
+ "description": "Started receiving response headers.",
+ "experimental": true,
+ "type": "number"
+ },
{
"name": "receiveHeadersEnd",
"description": "Finished receiving response headers.",
@@ -2527,7 +2864,8 @@
},
{
"name": "postData",
- "description": "HTTP POST request data.",
+ "description": "HTTP POST request data.\nUse postDataEntries instead.",
+ "deprecated": true,
"optional": true,
"type": "string"
},
@@ -2539,7 +2877,7 @@
},
{
"name": "postDataEntries",
- "description": "Request body elements. This will be converted from base64 to binary",
+ "description": "Request body elements (post data broken into individual entries).",
"experimental": true,
"optional": true,
"type": "array",
@@ -2585,9 +2923,16 @@
"experimental": true,
"optional": true,
"$ref": "TrustTokenParams"
- }
- ]
- },
+ },
+ {
+ "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"
+ }
+ ]
+ },
{
"id": "SignedCertificateTimestamp",
"description": "Details of a signed certificate timestamp (SCT).",
@@ -2615,8 +2960,8 @@
},
{
"name": "timestamp",
- "description": "Issuance date.",
- "$ref": "TimeSinceEpoch"
+ "description": "Issuance date. Unlike TimeSinceEpoch, this contains the number of\nmilliseconds since January 1, 1970, UTC, not the number of seconds.",
+ "type": "number"
},
{
"name": "hashAlgorithm",
@@ -2712,6 +3057,17 @@
"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"
}
]
},
@@ -2735,14 +3091,17 @@
"mixed-content",
"origin",
"inspector",
+ "integrity",
"subresource-filter",
"content-type",
- "collapsed-by-client",
"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-site"
+ "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"
]
},
{
@@ -2769,12 +3128,22 @@
"PreflightInvalidAllowCredentials",
"PreflightMissingAllowExternal",
"PreflightInvalidAllowExternal",
+ "PreflightMissingAllowPrivateNetwork",
+ "PreflightInvalidAllowPrivateNetwork",
"InvalidAllowMethodsPreflightResponse",
"InvalidAllowHeadersPreflightResponse",
"MethodDisallowedByPreflightResponse",
"HeaderDisallowedByPreflightResponse",
"RedirectContainsCredentials",
- "InsecurePrivateNetwork"
+ "InsecurePrivateNetwork",
+ "InvalidPrivateNetworkAccess",
+ "UnexpectedPrivateNetworkAccess",
+ "NoCorsRedirectModeNotFollow",
+ "PreflightMissingPrivateNetworkAccessId",
+ "PreflightMissingPrivateNetworkAccessName",
+ "PrivateNetworkAccessPermissionUnavailable",
+ "PrivateNetworkAccessPermissionDenied",
+ "LocalNetworkAccessPermissionDenied"
]
},
{
@@ -2802,6 +3171,18 @@
"network"
]
},
+ {
+ "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": "Response",
"description": "HTTP response data.",
@@ -2829,7 +3210,8 @@
},
{
"name": "headersText",
- "description": "HTTP response headers text.",
+ "description": "HTTP response headers text. This has been replaced by the headers in Network.responseReceivedExtraInfo.",
+ "deprecated": true,
"optional": true,
"type": "string"
},
@@ -2838,6 +3220,11 @@
"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.",
@@ -2846,7 +3233,8 @@
},
{
"name": "requestHeadersText",
- "description": "HTTP request headers text.",
+ "description": "HTTP request headers text. This has been replaced by the headers in Network.requestWillBeSentExtraInfo.",
+ "deprecated": true,
"optional": true,
"type": "string"
},
@@ -2890,6 +3278,19 @@
"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.",
@@ -2925,6 +3326,13 @@
"optional": true,
"type": "string"
},
+ {
+ "name": "alternateProtocolUsage",
+ "description": "The reason why Chrome uses a specific transport protocol for HTTP semantics.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "AlternateProtocolUsage"
+ },
{
"name": "securityState",
"description": "Security state of the request resource.",
@@ -2935,6 +3343,13 @@
"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"
}
]
},
@@ -3060,7 +3475,7 @@
},
{
"name": "stack",
- "description": "Initiator JavaScript stack trace, set for Script only.",
+ "description": "Initiator JavaScript stack trace, set for Script only.\nRequires the Debugger domain to be enabled.",
"optional": true,
"$ref": "Runtime.StackTrace"
},
@@ -3156,6 +3571,33 @@
"name": "sameParty",
"description": "True if cookie is SameParty.",
"experimental": true,
+ "deprecated": true,
+ "type": "boolean"
+ },
+ {
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
+ "experimental": 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,
+ "type": "integer"
+ },
+ {
+ "name": "partitionKey",
+ "description": "Cookie partition key.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "CookiePartitionKey"
+ },
+ {
+ "name": "partitionKeyOpaque",
+ "description": "True if cookie partition key is opaque.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
}
]
@@ -3177,7 +3619,7 @@
},
{
"name": "url",
- "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain and path values of the created cookie.",
+ "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"
},
@@ -3223,6 +3665,34 @@
"experimental": true,
"optional": true,
"$ref": "CookiePriority"
+ },
+ {
+ "name": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
+ "experimental": true,
+ "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"
}
]
}
@@ -3238,7 +3708,7 @@
},
{
"name": "deleteCookies",
- "description": "Deletes browser cookies with matching name and url or domain/path pair.",
+ "description": "Deletes browser cookies with matching name and url or domain/path/partitionKey pair.",
"parameters": [
{
"name": "name",
@@ -3262,6 +3732,13 @@
"description": "If specified, deletes only cookies with the exact 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,
+ "optional": true,
+ "$ref": "CookiePartitionKey"
}
]
},
@@ -3298,6 +3775,27 @@
"description": "Connection type if known.",
"optional": true,
"$ref": "ConnectionType"
+ },
+ {
+ "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": "packetQueueLength",
+ "description": "WebRTC packet queue length (packet). 0 removes any queue length limitations.",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "packetReordering",
+ "description": "WebRTC packetReordering feature.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
},
@@ -3324,20 +3822,13 @@
"description": "Longest post body size (in bytes) that would be included in requestWillBeSent notification",
"optional": true,
"type": "integer"
- }
- ]
- },
- {
- "name": "getAllCookies",
- "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.",
- "returns": [
+ },
{
- "name": "cookies",
- "description": "Array of cookie objects.",
- "type": "array",
- "items": {
- "$ref": "Cookie"
- }
+ "name": "reportDirectSocketTraffic",
+ "description": "Whether DirectSocket chunk send/receive events should be reported.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
},
@@ -3407,6 +3898,17 @@
}
]
},
+ {
+ "name": "setBypassServiceWorker",
+ "description": "Toggles ignoring of service worker for each request.",
+ "parameters": [
+ {
+ "name": "bypass",
+ "description": "Bypass service worker and load from network.",
+ "type": "boolean"
+ }
+ ]
+ },
{
"name": "setCacheDisabled",
"description": "Toggles ignoring cache for each request. If `true`, cache will not be used.",
@@ -3434,7 +3936,7 @@
},
{
"name": "url",
- "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain and path values of the created cookie.",
+ "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"
},
@@ -3480,6 +3982,34 @@
"experimental": true,
"optional": true,
"$ref": "CookiePriority"
+ },
+ {
+ "name": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
+ "experimental": true,
+ "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": [
@@ -3528,7 +4058,7 @@
},
{
"name": "acceptLanguage",
- "description": "Browser langugage to emulate.",
+ "description": "Browser language to emulate.",
"optional": true,
"type": "string"
},
@@ -3572,6 +4102,13 @@
"name": "encodedDataLength",
"description": "Actual bytes received (might be less than dataLength for compressed encodings).",
"type": "integer"
+ },
+ {
+ "name": "data",
+ "description": "Data that was received. (Encoded as a base64 string when passed over JSON)",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
}
]
},
@@ -3627,7 +4164,7 @@
},
{
"name": "errorText",
- "description": "User friendly error message.",
+ "description": "Error message. List of network errors: https://cs.chromium.org/chromium/src/net/base/net_error_list.h",
"type": "string"
},
{
@@ -3668,12 +4205,6 @@
"name": "encodedDataLength",
"description": "Total number of bytes received for this request.",
"type": "number"
- },
- {
- "name": "shouldReportCorbBlocking",
- "description": "Set when 1) response was blocked by Cross-Origin Read Blocking and also\n2) this needs to be reported to the DevTools console.",
- "optional": true,
- "type": "boolean"
}
]
},
@@ -3727,6 +4258,12 @@
"description": "Request initiator.",
"$ref": "Initiator"
},
+ {
+ "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": "redirectResponse",
"description": "Redirect response data.",
@@ -3782,6 +4319,12 @@
"description": "Response data.",
"$ref": "Response"
},
+ {
+ "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.",
@@ -3965,8 +4508,25 @@
}
]
},
+ {
+ "name": "webTransportConnectionEstablished",
+ "description": "Fired when WebTransport handshake is finished.",
+ "parameters": [
+ {
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
{
"name": "webTransportClosed",
+ "description": "Fired when WebTransport is disposed.",
"parameters": [
{
"name": "transportId",
@@ -4012,7 +4572,7 @@
"name": "parentId",
"description": "Parent frame identifier.",
"optional": true,
- "type": "string"
+ "$ref": "FrameId"
},
{
"name": "loaderId",
@@ -4048,6 +4608,13 @@
"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.",
@@ -4061,11 +4628,11 @@
"type": "string"
},
{
- "name": "adFrameType",
- "description": "Indicates whether this frame was tagged as an ad.",
+ "name": "adFrameStatus",
+ "description": "Indicates whether this frame was tagged as an ad and why.",
"experimental": true,
"optional": true,
- "$ref": "AdFrameType"
+ "$ref": "AdFrameStatus"
},
{
"name": "secureContextType",
@@ -4191,7 +4758,7 @@
},
{
"name": "critical",
- "description": "If criticial, this is a non-recoverable parse error.",
+ "description": "If critical, this is a non-recoverable parse error.",
"type": "integer"
},
{
@@ -4329,6 +4896,20 @@
"experimental": true,
"optional": true,
"type": "string"
+ },
+ {
+ "name": "includeCommandLineAPI",
+ "description": "Specifies whether command line API should be available to the script, defaults\nto false.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "runImmediately",
+ "description": "If true, runs the script immediately on existing execution contexts or worlds.\nDefault: false.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
@@ -4354,7 +4935,8 @@
"type": "string",
"enum": [
"jpeg",
- "png"
+ "png",
+ "webp"
]
},
{
@@ -4382,6 +4964,13 @@
"experimental": true,
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "optimizeForSpeed",
+ "description": "Optimize image encoding for speed, not for resulting size (defaults to false)",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
@@ -4428,10 +5017,27 @@
},
{
"name": "enable",
- "description": "Enables page domain notifications."
+ "description": "Enables page domain notifications.",
+ "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,
+ "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.",
+ "parameters": [
+ {
+ "name": "manifestId",
+ "optional": true,
+ "type": "string"
+ }
+ ],
"returns": [
{
"name": "url",
@@ -4453,10 +5059,16 @@
},
{
"name": "parsed",
- "description": "Parsed manifest properties",
+ "description": "Parsed manifest properties. Deprecated, use manifest instead.",
"experimental": true,
+ "deprecated": true,
"optional": true,
"$ref": "AppManifestParsedProperties"
+ },
+ {
+ "name": "manifest",
+ "experimental": true,
+ "$ref": "WebAppManifest"
}
]
},
@@ -4477,17 +5089,35 @@
"returns": [
{
"name": "layoutViewport",
- "description": "Metrics relating to the layout viewport.",
+ "description": "Deprecated metrics relating to the layout viewport. Is in device pixels. Use `cssLayoutViewport` instead.",
+ "deprecated": true,
"$ref": "LayoutViewport"
},
{
"name": "visualViewport",
- "description": "Metrics relating to the visual viewport.",
+ "description": "Deprecated metrics relating to the visual viewport. Is in device pixels. Use `cssVisualViewport` instead.",
+ "deprecated": true,
"$ref": "VisualViewport"
},
{
"name": "contentSize",
- "description": "Size of scrollable area.",
+ "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"
}
]
@@ -4575,7 +5205,7 @@
},
{
"name": "loaderId",
- "description": "Loader identifier.",
+ "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"
},
@@ -4584,6 +5214,13 @@
"description": "User friendly error message, present if and only if navigation has failed.",
"optional": true,
"type": "string"
+ },
+ {
+ "name": "isDownload",
+ "description": "Whether the navigation resulted in a download.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
},
@@ -4664,16 +5301,10 @@
},
{
"name": "pageRanges",
- "description": "Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means\nprint all pages.",
+ "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": "ignoreInvalidPageRanges",
- "description": "Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'.\nDefaults to false.",
- "optional": true,
- "type": "boolean"
- },
{
"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.",
@@ -4702,6 +5333,20 @@
"ReturnAsBase64",
"ReturnAsStream"
]
+ },
+ {
+ "name": "generateTaggedPDF",
+ "description": "Whether or not to generate tagged (accessible) PDF. Defaults to embedder choice.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "generateDocumentOutline",
+ "description": "Whether or not to embed the document outline into the PDF.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
@@ -4734,6 +5379,13 @@
"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": "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"
}
]
},
@@ -4748,11 +5400,22 @@
]
},
{
- "name": "setDocumentContent",
- "description": "Sets given markup as the document's HTML.",
+ "name": "setBypassCSP",
+ "description": "Enable page Content Security Policy by-passing.",
"parameters": [
{
- "name": "frameId",
+ "name": "enabled",
+ "description": "Whether to bypass page CSP.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setDocumentContent",
+ "description": "Sets given markup as the document's HTML.",
+ "parameters": [
+ {
+ "name": "frameId",
"description": "Frame id to set HTML for.",
"$ref": "FrameId"
},
@@ -4763,9 +5426,41 @@
}
]
},
+ {
+ "name": "setLifecycleEventsEnabled",
+ "description": "Controls whether page will emit lifecycle events.",
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "If true, starts emitting lifecycle events.",
+ "type": "boolean"
+ }
+ ]
+ },
{
"name": "stopLoading",
"description": "Force the page stop all navigations and pending resource fetches."
+ },
+ {
+ "name": "close",
+ "description": "Tries to close page, running its beforeunload hooks, if any."
+ },
+ {
+ "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": "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"
+ }
+ ]
}
],
"events": [
@@ -4788,12 +5483,6 @@
"experimental": true,
"$ref": "FrameId"
},
- {
- "name": "backendNodeId",
- "description": "Input node id.",
- "experimental": true,
- "$ref": "DOM.BackendNodeId"
- },
{
"name": "mode",
"description": "Input mode.",
@@ -4802,6 +5491,13 @@
"selectSingle",
"selectMultiple"
]
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Input node id. Only present for file choosers opened via an ` ` element.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
},
@@ -4855,6 +5551,11 @@
"name": "frame",
"description": "Frame object.",
"$ref": "Frame"
+ },
+ {
+ "name": "type",
+ "experimental": true,
+ "$ref": "NavigationType"
}
]
},
@@ -4870,6 +5571,12 @@
"name": "javascriptDialogClosed",
"description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been\nclosed.",
"parameters": [
+ {
+ "name": "frameId",
+ "description": "Frame id.",
+ "experimental": true,
+ "$ref": "FrameId"
+ },
{
"name": "result",
"description": "Whether dialog was confirmed.",
@@ -4891,6 +5598,12 @@
"description": "Frame url.",
"type": "string"
},
+ {
+ "name": "frameId",
+ "description": "Frame id.",
+ "experimental": true,
+ "$ref": "FrameId"
+ },
{
"name": "message",
"description": "Message that will be displayed by the dialog.",
@@ -4916,7 +5629,7 @@
},
{
"name": "lifecycleEvent",
- "description": "Fired for top level page lifecycle events such as navigation, load, paint, etc.",
+ "description": "Fired for lifecycle events (navigation, load, paint, etc) in the current\ntarget (including local frames).",
"parameters": [
{
"name": "frameId",
@@ -5156,47 +5869,20 @@
{
"name": "enable",
"description": "Enables tracking security state changes."
- }
- ],
- "events": [
+ },
{
- "name": "securityStateChanged",
- "description": "The security state of the page changed.",
+ "name": "setIgnoreCertificateErrors",
+ "description": "Enable/disable whether all certificate errors should be ignored.",
"parameters": [
{
- "name": "securityState",
- "description": "Security state.",
- "$ref": "SecurityState"
- },
- {
- "name": "schemeIsCryptographic",
- "description": "True if the page was loaded over cryptographic transport such as HTTPS.",
- "deprecated": true,
+ "name": "ignore",
+ "description": "If true, all certificate errors will be ignored.",
"type": "boolean"
- },
- {
- "name": "explanations",
- "description": "List of explanations for the security state. If the overall security state is `insecure` or\n`warning`, at least one corresponding explanation should be included.",
- "type": "array",
- "items": {
- "$ref": "SecurityStateExplanation"
- }
- },
- {
- "name": "insecureContentStatus",
- "description": "Information about insecure content on the page.",
- "deprecated": true,
- "$ref": "InsecureContentStatus"
- },
- {
- "name": "summary",
- "description": "Overrides user-visible description of the state.",
- "optional": true,
- "type": "string"
}
]
}
- ]
+ ],
+ "events": []
},
{
"domain": "Target",
@@ -5221,6 +5907,7 @@
},
{
"name": "type",
+ "description": "List of types: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/devtools_agent_host_impl.cc?ss=chromium&q=f:devtools%20-f:out%20%22::kTypeTab%5B%5D%22",
"type": "string"
},
{
@@ -5260,6 +5947,13 @@
"experimental": true,
"optional": true,
"$ref": "Browser.BrowserContextID"
+ },
+ {
+ "name": "subtype",
+ "description": "Provides additional details for specific target types. For example, for\nthe type of \"page\", this may be set to \"prerender\".",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
}
]
}
@@ -5316,49 +6010,142 @@
}
]
},
+ {
+ "name": "createBrowserContext",
+ "description": "Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than\none.",
+ "parameters": [
+ {
+ "name": "disposeOnDetach",
+ "description": "If specified, disposes this context when debugging session disconnects.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "proxyServer",
+ "description": "Proxy server, similar to the one passed to --proxy-server",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "proxyBypassList",
+ "description": "Proxy bypass list, similar to the one passed to --proxy-bypass-list",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "originsWithUniversalNetworkAccess",
+ "description": "An optional list of origins to grant unlimited cross-origin access to.\nParts of the URL other than those constituting origin are ignored.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "returns": [
+ {
+ "name": "browserContextId",
+ "description": "The id of the context created.",
+ "$ref": "Browser.BrowserContextID"
+ }
+ ]
+ },
+ {
+ "name": "getBrowserContexts",
+ "description": "Returns all browser contexts created with `Target.createBrowserContext` method.",
+ "returns": [
+ {
+ "name": "browserContextIds",
+ "description": "An array of browser context ids.",
+ "type": "array",
+ "items": {
+ "$ref": "Browser.BrowserContextID"
+ }
+ }
+ ]
+ },
{
"name": "createTarget",
"description": "Creates a new page.",
"parameters": [
{
"name": "url",
- "description": "The initial URL the page will be navigated to.",
+ "description": "The initial URL the page will be navigated to. An empty string indicates about:blank.",
"type": "string"
},
+ {
+ "name": "left",
+ "description": "Frame left origin in DIP (requires newWindow to be true or headless shell).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "top",
+ "description": "Frame top origin in DIP (requires newWindow to be true or headless shell).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
{
"name": "width",
- "description": "Frame width in DIP (headless chrome only).",
+ "description": "Frame width in DIP (requires newWindow to be true or headless shell).",
"optional": true,
"type": "integer"
},
{
"name": "height",
- "description": "Frame height in DIP (headless chrome only).",
+ "description": "Frame height in DIP (requires newWindow to be true or headless shell).",
"optional": true,
"type": "integer"
},
+ {
+ "name": "windowState",
+ "description": "Frame window state (requires newWindow to be true or headless shell).\nDefault is normal.",
+ "optional": true,
+ "$ref": "WindowState"
+ },
{
"name": "browserContextId",
"description": "The browser context to create the page in.",
+ "experimental": true,
"optional": true,
"$ref": "Browser.BrowserContextID"
},
{
"name": "enableBeginFrameControl",
- "description": "Whether BeginFrames for this target will be controlled via DevTools (headless chrome only,\nnot supported on MacOS yet, false by default).",
+ "description": "Whether BeginFrames for this target will be controlled via DevTools (headless shell only,\nnot supported on MacOS yet, false by default).",
"experimental": true,
"optional": true,
"type": "boolean"
},
{
"name": "newWindow",
- "description": "Whether to create a new Window or Tab (chrome-only, false by default).",
+ "description": "Whether to create a new Window or Tab (false by default, not supported by headless shell).",
"optional": true,
"type": "boolean"
},
{
"name": "background",
- "description": "Whether to create the target in background or foreground (chrome-only,\nfalse by default).",
+ "description": "Whether to create the target in background or foreground (false by default, not supported\nby headless shell).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "forTab",
+ "description": "Whether to create the target of type \"tab\".",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "hidden",
+ "description": "Whether to create a hidden target. The hidden target is observable via protocol, but not\npresent in the tab UI strip. Cannot be created with `forTab: true`, `newWindow: true` or\n`background: false`. The life-time of the tab is limited to the life-time of the session.",
+ "experimental": true,
"optional": true,
"type": "boolean"
}
@@ -5390,9 +6177,28 @@
}
]
},
+ {
+ "name": "disposeBrowserContext",
+ "description": "Deletes a BrowserContext. All the belonging pages will be closed without calling their\nbeforeunload hooks.",
+ "parameters": [
+ {
+ "name": "browserContextId",
+ "$ref": "Browser.BrowserContextID"
+ }
+ ]
+ },
{
"name": "getTargets",
"description": "Retrieves a list of available targets.",
+ "parameters": [
+ {
+ "name": "filter",
+ "description": "Only targets matching filter will be reported. If filter is not specified\nand target discovery is currently enabled, a filter used for target discovery\nis used for consistency.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TargetFilter"
+ }
+ ],
"returns": [
{
"name": "targetInfos",
@@ -5404,6 +6210,36 @@
}
]
},
+ {
+ "name": "setAutoAttach",
+ "description": "Controls whether to automatically attach to new targets which are considered\nto be directly related to this one (for example, iframes or workers).\nWhen turned on, attaches to all existing related targets as well. When turned off,\nautomatically detaches from all currently attached targets.\nThis also clears all targets added by `autoAttachRelated` from the list of targets to watch\nfor creation of related targets.\nYou might want to call this recursively for auto-attached targets to attach\nto all available targets.",
+ "parameters": [
+ {
+ "name": "autoAttach",
+ "description": "Whether to auto-attach to related targets.",
+ "type": "boolean"
+ },
+ {
+ "name": "waitForDebuggerOnStart",
+ "description": "Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger`\nto run paused targets.",
+ "type": "boolean"
+ },
+ {
+ "name": "flatten",
+ "description": "Enables \"flat\" access to the session via specifying sessionId attribute in the commands.\nWe plan to make this the default, deprecate non-flattened mode,\nand eventually retire it. See crbug.com/991325.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "filter",
+ "description": "Only targets matching filter will be attached.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TargetFilter"
+ }
+ ]
+ },
{
"name": "setDiscoverTargets",
"description": "Controls whether to discover available targets and notify via\n`targetCreated/targetInfoChanged/targetDestroyed` events.",
@@ -5412,6 +6248,13 @@
"name": "discover",
"description": "Whether to discover available targets.",
"type": "boolean"
+ },
+ {
+ "name": "filter",
+ "description": "Only targets matching filter will be attached. If `discover` is false,\n`filter` must be omitted or empty.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TargetFilter"
}
]
}
@@ -5484,8 +6327,206 @@
"description": "Issued when some information about a target has changed. This only happens between\n`targetCreated` and `targetDestroyed`.",
"parameters": [
{
- "name": "targetInfo",
- "$ref": "TargetInfo"
+ "name": "targetInfo",
+ "$ref": "TargetInfo"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Tracing",
+ "dependencies": [
+ "IO"
+ ],
+ "types": [
+ {
+ "id": "TraceConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "recordMode",
+ "description": "Controls how the trace buffer stores data. The default is `recordUntilFull`.",
+ "experimental": true,
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "recordUntilFull",
+ "recordContinuously",
+ "recordAsMuchAsPossible",
+ "echoToConsole"
+ ]
+ },
+ {
+ "name": "traceBufferSizeInKb",
+ "description": "Size of the trace buffer in kilobytes. If not specified or zero is passed, a default value\nof 200 MB would be used.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "enableSampling",
+ "description": "Turns on JavaScript stack sampling.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "enableSystrace",
+ "description": "Turns on system tracing.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "enableArgumentFilter",
+ "description": "Turns on argument filter.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "includedCategories",
+ "description": "Included category filters.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "excludedCategories",
+ "description": "Excluded category filters.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "syntheticDelays",
+ "description": "Configuration to synthesize the delays in tracing.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "memoryDumpConfig",
+ "description": "Configuration for memory dump triggers. Used only when \"memory-infra\" category is enabled.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "MemoryDumpConfig"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "end",
+ "description": "Stop trace events collection."
+ },
+ {
+ "name": "start",
+ "description": "Start trace events collection.",
+ "parameters": [
+ {
+ "name": "categories",
+ "description": "Category/tag filter",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "options",
+ "description": "Tracing options",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "bufferUsageReportingInterval",
+ "description": "If set, the agent will issue bufferUsage events at this interval, specified in milliseconds",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "transferMode",
+ "description": "Whether to report trace events as series of dataCollected events or to save trace to a\nstream (defaults to `ReportEvents`).",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "ReportEvents",
+ "ReturnAsStream"
+ ]
+ },
+ {
+ "name": "streamFormat",
+ "description": "Trace data format to use. This only applies when using `ReturnAsStream`\ntransfer mode (defaults to `json`).",
+ "optional": true,
+ "$ref": "StreamFormat"
+ },
+ {
+ "name": "streamCompression",
+ "description": "Compression format to use. This only applies when using `ReturnAsStream`\ntransfer mode (defaults to `none`)",
+ "experimental": true,
+ "optional": true,
+ "$ref": "StreamCompression"
+ },
+ {
+ "name": "traceConfig",
+ "optional": true,
+ "$ref": "TraceConfig"
+ },
+ {
+ "name": "perfettoConfig",
+ "description": "Base64-encoded serialized perfetto.protos.TraceConfig protobuf message\nWhen specified, the parameters `categories`, `options`, `traceConfig`\nare ignored. (Encoded as a base64 string when passed over JSON)",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "tracingBackend",
+ "description": "Backend type (defaults to `auto`)",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TracingBackend"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "tracingComplete",
+ "description": "Signals that tracing is stopped and there is no trace buffers pending flush, all data were\ndelivered via dataCollected events.",
+ "parameters": [
+ {
+ "name": "dataLossOccurred",
+ "description": "Indicates whether some trace data is known to have been lost, e.g. because the trace ring\nbuffer wrapped around.",
+ "type": "boolean"
+ },
+ {
+ "name": "stream",
+ "description": "A handle of the stream that holds resulting trace data.",
+ "optional": true,
+ "$ref": "IO.StreamHandle"
+ },
+ {
+ "name": "traceFormat",
+ "description": "Trace data format of returned stream.",
+ "optional": true,
+ "$ref": "StreamFormat"
+ },
+ {
+ "name": "streamCompression",
+ "description": "Compression format of returned stream.",
+ "optional": true,
+ "$ref": "StreamCompression"
}
]
}
@@ -5502,12 +6543,12 @@
"types": [
{
"id": "RequestId",
- "description": "Unique request identifier.",
+ "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.",
+ "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",
@@ -5520,7 +6561,7 @@
"properties": [
{
"name": "urlPattern",
- "description": "Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to \"*\".",
+ "description": "Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to `\"*\"`.",
"optional": true,
"type": "string"
},
@@ -5532,7 +6573,7 @@
},
{
"name": "requestStage",
- "description": "Stage at wich to begin intercepting requests. Default is Request.",
+ "description": "Stage at which to begin intercepting requests. Default is Request.",
"optional": true,
"$ref": "RequestStage"
}
@@ -5688,7 +6729,7 @@
},
{
"name": "body",
- "description": "A response body. (Encoded as a base64 string when passed over JSON)",
+ "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"
},
@@ -5729,12 +6770,19 @@
},
{
"name": "headers",
- "description": "If set, overrides the request 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": "interceptResponse",
+ "description": "If set, overrides response interception behavior for this request.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
},
@@ -5756,7 +6804,7 @@
},
{
"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.",
+ "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": "requestId",
@@ -5797,7 +6845,7 @@
"events": [
{
"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.",
+ "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": "requestId",
@@ -5831,6 +6879,12 @@
"optional": true,
"type": "integer"
},
+ {
+ "name": "responseStatusText",
+ "description": "Response status text if intercepted at response stage.",
+ "optional": true,
+ "type": "string"
+ },
{
"name": "responseHeaders",
"description": "Response headers if intercepted at the response stage.",
@@ -5844,6 +6898,13 @@
"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,
+ "$ref": "Network.RequestId"
+ },
+ {
+ "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,
"$ref": "RequestId"
}
]
@@ -5949,7 +7010,8 @@
},
{
"name": "url",
- "description": "JavaScript script name or url.",
+ "description": "JavaScript script name or url.\nDeprecated in favor of using the `location.scriptId` to resolve the URL via a previously\nsent `Debugger.scriptParsed` event.",
+ "deprecated": true,
"type": "string"
},
{
@@ -5970,6 +7032,13 @@
"description": "The value being returned, if the function is at return point.",
"optional": true,
"$ref": "Runtime.RemoteObject"
+ },
+ {
+ "name": "canBeRestarted",
+ "description": "Valid only while the VM is paused and indicates whether this frame\ncan be restarted or not. Note that a `true` value here does not\nguarantee that Debugger#restartFrame with this CallFrameId will be\nsuccessful, but it is very likely.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
},
@@ -6087,7 +7156,6 @@
"description": "Type of the debug symbols.",
"type": "string",
"enum": [
- "None",
"SourceMap",
"EmbeddedDWARF",
"ExternalDWARF"
@@ -6100,6 +7168,22 @@
"type": "string"
}
]
+ },
+ {
+ "id": "ResolvedBreakpoint",
+ "type": "object",
+ "properties": [
+ {
+ "name": "breakpointId",
+ "description": "Breakpoint unique identifier.",
+ "$ref": "BreakpointId"
+ },
+ {
+ "name": "location",
+ "description": "Actual breakpoint location.",
+ "$ref": "Location"
+ }
+ ]
}
],
"commands": [
@@ -6133,7 +7217,7 @@
"parameters": [
{
"name": "maxScriptsCacheSize",
- "description": "The maximum size in bytes of collected scripts (not referenced by other heap objects)\nthe debugger can hold. Puts no limit if paramter is omitted.",
+ "description": "The maximum size in bytes of collected scripts (not referenced by other heap objects)\nthe debugger can hold. Puts no limit if parameter is omitted.",
"experimental": true,
"optional": true,
"type": "number"
@@ -6294,18 +7378,29 @@
},
{
"name": "restartFrame",
- "description": "Restarts particular call frame from the beginning.",
+ "description": "Restarts particular call frame from the beginning. The old, deprecated\nbehavior of `restartFrame` is to stay paused and allow further CDP commands\nafter a restart was scheduled. This can cause problems with restarting, so\nwe now continue execution immediatly after it has been scheduled until we\nreach the beginning of the restarted frame.\n\nTo stay back-wards compatible, `restartFrame` now expects a `mode`\nparameter to be present. If the `mode` parameter is missing, `restartFrame`\nerrors out.\n\nThe various return values are deprecated and `callFrames` is always empty.\nUse the call frames from the `Debugger#paused` events instead, that fires\nonce V8 pauses at the beginning of the restarted function.",
"parameters": [
{
"name": "callFrameId",
"description": "Call frame identifier to evaluate on.",
"$ref": "CallFrameId"
+ },
+ {
+ "name": "mode",
+ "description": "The `mode` parameter must be present and set to 'StepInto', otherwise\n`restartFrame` will error out.",
+ "experimental": true,
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "StepInto"
+ ]
}
],
"returns": [
{
"name": "callFrames",
"description": "New stack trace.",
+ "deprecated": true,
"type": "array",
"items": {
"$ref": "CallFrame"
@@ -6314,13 +7409,14 @@
{
"name": "asyncStackTrace",
"description": "Async stack trace, if any.",
+ "deprecated": true,
"optional": true,
"$ref": "Runtime.StackTrace"
},
{
"name": "asyncStackTraceId",
"description": "Async stack trace, if any.",
- "experimental": true,
+ "deprecated": true,
"optional": true,
"$ref": "Runtime.StackTraceId"
}
@@ -6507,7 +7603,7 @@
},
{
"name": "setPauseOnExceptions",
- "description": "Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or\nno exceptions. Initial pause on exceptions state is `none`.",
+ "description": "Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions,\nor caught exceptions, no exceptions. Initial pause on exceptions state is `none`.",
"parameters": [
{
"name": "state",
@@ -6515,6 +7611,7 @@
"type": "string",
"enum": [
"none",
+ "caught",
"uncaught",
"all"
]
@@ -6523,7 +7620,7 @@
},
{
"name": "setScriptSource",
- "description": "Edits JavaScript source live.",
+ "description": "Edits JavaScript source live.\n\nIn general, functions that are currently on the stack can not be edited with\na single exception: If the edited function is the top-most stack frame and\nthat is the only activation of that function on the stack. In this case\nthe live edit will be successful and a `Debugger.restartFrame` for the\ntop-most function is automatically triggered.",
"parameters": [
{
"name": "scriptId",
@@ -6540,12 +7637,20 @@
"description": "If true the change will not actually be applied. Dry run may be used to get result\ndescription without actually modifying the code.",
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "allowTopFrameEditing",
+ "description": "If true, then `scriptSource` is allowed to change the function on top of the stack\nas long as the top-most stack frame is the only activation of that function.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
{
"name": "callFrames",
"description": "New stack trace in case editing has happened while VM was stopped.",
+ "deprecated": true,
"optional": true,
"type": "array",
"items": {
@@ -6555,25 +7660,40 @@
{
"name": "stackChanged",
"description": "Whether current call stack was modified after applying the changes.",
+ "deprecated": true,
"optional": true,
"type": "boolean"
},
{
"name": "asyncStackTrace",
"description": "Async stack trace, if any.",
+ "deprecated": true,
"optional": true,
"$ref": "Runtime.StackTrace"
},
{
"name": "asyncStackTraceId",
"description": "Async stack trace, if any.",
- "experimental": true,
+ "deprecated": true,
"optional": true,
"$ref": "Runtime.StackTraceId"
},
+ {
+ "name": "status",
+ "description": "Whether the operation was successful or not. Only `Ok` denotes a\nsuccessful live edit while the other enum variants denote why\nthe live edit failed.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Ok",
+ "CompileError",
+ "BlockedByActiveGenerator",
+ "BlockedByActiveFunction",
+ "BlockedByTopLevelEsModuleChange"
+ ]
+ },
{
"name": "exceptionDetails",
- "description": "Exception details if any.",
+ "description": "Exception details if any. Only present when `status` is `CompileError`.",
"optional": true,
"$ref": "Runtime.ExceptionDetails"
}
@@ -6661,22 +7781,6 @@
}
],
"events": [
- {
- "name": "breakpointResolved",
- "description": "Fired when breakpoint is resolved to an actual script and location.",
- "parameters": [
- {
- "name": "breakpointId",
- "description": "Breakpoint unique identifier.",
- "$ref": "BreakpointId"
- },
- {
- "name": "location",
- "description": "Actual breakpoint location.",
- "$ref": "Location"
- }
- ]
- },
{
"name": "paused",
"description": "Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.",
@@ -6696,6 +7800,7 @@
"enum": [
"ambiguous",
"assert",
+ "CSPViolation",
"debugCommand",
"DOM",
"EventListener",
@@ -6704,7 +7809,8 @@
"OOM",
"other",
"promiseRejection",
- "XHR"
+ "XHR",
+ "step"
]
},
{
@@ -6790,12 +7896,17 @@
},
{
"name": "hash",
- "description": "Content hash of the script.",
+ "description": "Content hash of the script, SHA-256.",
+ "type": "string"
+ },
+ {
+ "name": "buildId",
+ "description": "For Wasm modules, the content of the `build_id` custom section. For JavaScript the `debugId` magic comment.",
"type": "string"
},
{
"name": "executionContextAuxData",
- "description": "Embedder-specific auxiliary data.",
+ "description": "Embedder-specific auxiliary data likely matching {isDefault: boolean, type: 'default'|'isolated'|'worker', frameId: string}",
"optional": true,
"type": "object"
},
@@ -6894,12 +8005,17 @@
},
{
"name": "hash",
- "description": "Content hash of the script.",
+ "description": "Content hash of the script, SHA-256.",
+ "type": "string"
+ },
+ {
+ "name": "buildId",
+ "description": "For Wasm modules, the content of the `build_id` custom section. For JavaScript the `debugId` magic comment.",
"type": "string"
},
{
"name": "executionContextAuxData",
- "description": "Embedder-specific auxiliary data.",
+ "description": "Embedder-specific auxiliary data likely matching {isDefault: boolean, type: 'default'|'isolated'|'worker', frameId: string}",
"optional": true,
"type": "object"
},
@@ -6957,10 +8073,13 @@
},
{
"name": "debugSymbols",
- "description": "If the scriptLanguage is WebASsembly, the source of debug symbols for the module.",
+ "description": "If the scriptLanguage is WebAssembly, the source of debug symbols for the module.",
"experimental": true,
"optional": true,
- "$ref": "Debugger.DebugSymbols"
+ "type": "array",
+ "items": {
+ "$ref": "Debugger.DebugSymbols"
+ }
},
{
"name": "embedderName",
@@ -6968,6 +8087,16 @@
"experimental": true,
"optional": true,
"type": "string"
+ },
+ {
+ "name": "resolvedBreakpoints",
+ "description": "The list of set breakpoints in this script if calls to `setBreakpointByUrl`\nmatches this script's URL or hash. Clients that use this list can ignore the\n`breakpointResolved` event. They are equivalent.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ResolvedBreakpoint"
+ }
}
]
}
@@ -7317,6 +8446,87 @@
"description": "Unique script identifier.",
"type": "string"
},
+ {
+ "id": "SerializationOptions",
+ "description": "Represents options for serialization. Overrides `generatePreview` and `returnByValue`.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "serialization",
+ "type": "string",
+ "enum": [
+ "deep",
+ "json",
+ "idOnly"
+ ]
+ },
+ {
+ "name": "maxDepth",
+ "description": "Deep serialization depth. Default is full depth. Respected only in `deep` serialization mode.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "additionalParameters",
+ "description": "Embedder-specific parameters. For example if connected to V8 in Chrome these control DOM\nserialization via `maxNodeDepth: integer` and `includeShadowTree: \"none\" | \"open\" | \"all\"`.\nValues can be only of type string or integer.",
+ "optional": true,
+ "type": "object"
+ }
+ ]
+ },
+ {
+ "id": "DeepSerializedValue",
+ "description": "Represents deep serialized value.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "type": "string",
+ "enum": [
+ "undefined",
+ "null",
+ "string",
+ "number",
+ "boolean",
+ "bigint",
+ "regexp",
+ "date",
+ "symbol",
+ "array",
+ "object",
+ "function",
+ "map",
+ "set",
+ "weakmap",
+ "weakset",
+ "error",
+ "proxy",
+ "promise",
+ "typedarray",
+ "arraybuffer",
+ "node",
+ "window",
+ "generator"
+ ]
+ },
+ {
+ "name": "value",
+ "optional": true,
+ "type": "any"
+ },
+ {
+ "name": "objectId",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "weakLocalObjectReference",
+ "description": "Set if value reference met more then once during serialization. In such\ncase, value is provided only to one of the serialized values. Unique\nper value in the scope of one CDP call.",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
{
"id": "RemoteObjectId",
"description": "Unique object identifier.",
@@ -7344,13 +8554,12 @@
"number",
"boolean",
"symbol",
- "bigint",
- "wasm"
+ "bigint"
]
},
{
"name": "subtype",
- "description": "Object subtype hint. Specified for `object` or `wasm` type values only.",
+ "description": "Object subtype hint. Specified for `object` type values only.\nNOTE: If you change anything here, make sure to also update\n`subtype` in `ObjectPreview` and `PropertyPreview` below.",
"optional": true,
"type": "string",
"enum": [
@@ -7371,12 +8580,8 @@
"typedarray",
"arraybuffer",
"dataview",
- "i32",
- "i64",
- "f32",
- "f64",
- "v128",
- "externref"
+ "webassemblymemory",
+ "wasmvalue"
]
},
{
@@ -7403,6 +8608,13 @@
"optional": true,
"type": "string"
},
+ {
+ "name": "deepSerializedValue",
+ "description": "Deep serialized value.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "DeepSerializedValue"
+ },
{
"name": "objectId",
"description": "Unique object identifier (for non-primitive values).",
@@ -7556,9 +8768,15 @@
"description": "Human readable name describing given context.",
"type": "string"
},
+ {
+ "name": "uniqueId",
+ "description": "A system-unique execution context identifier. Unlike the id, this is unique across\nmultiple processes, so can be reliably used to identify specific context while backend\nperforms a cross-process navigation.",
+ "experimental": true,
+ "type": "string"
+ },
{
"name": "auxData",
- "description": "Embedder-specific auxiliary data.",
+ "description": "Embedder-specific auxiliary data likely matching {isDefault: boolean, type: 'default'|'isolated'|'worker', frameId: string}",
"optional": true,
"type": "object"
}
@@ -7618,6 +8836,13 @@
"description": "Identifier of the context where exception happened.",
"optional": true,
"$ref": "ExecutionContextId"
+ },
+ {
+ "name": "exceptionMetaData",
+ "description": "Dictionary with entries of meta data that the client associated\nwith this exception, such as information about associated network\nrequests, etc.",
+ "experimental": true,
+ "optional": true,
+ "type": "object"
}
]
},
@@ -7767,7 +8992,7 @@
},
{
"name": "returnByValue",
- "description": "Whether the result is expected to be a JSON object which should be sent by value.",
+ "description": "Whether the result is expected to be a JSON object which should be sent by value.\nCan be overriden by `serializationOptions`.",
"optional": true,
"type": "boolean"
},
@@ -7801,6 +9026,27 @@
"description": "Symbolic group name that can be used to release multiple objects. If objectGroup is not\nspecified and objectId is, objectGroup will be inherited from object.",
"optional": true,
"type": "string"
+ },
+ {
+ "name": "throwOnSideEffect",
+ "description": "Whether to throw an exception if side effect cannot be ruled out during evaluation.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "uniqueContextId",
+ "description": "An alternative way to specify the execution context to call function on.\nCompared to contextId that may be reused across processes, this is guaranteed to be\nsystem-unique, so it can be used to prevent accidental function call\nin context different than intended (e.g. as a result of navigation across process\nboundaries).\nThis is mutually exclusive with `executionContextId`.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "serializationOptions",
+ "description": "Specifies the result serialization. If provided, overrides\n`generatePreview` and `returnByValue`.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "SerializationOptions"
}
],
"returns": [
@@ -7899,7 +9145,7 @@
},
{
"name": "contextId",
- "description": "Specifies in which execution context to perform evaluation. If the parameter is omitted the\nevaluation will be performed in the context of the inspected page.",
+ "description": "Specifies in which execution context to perform evaluation. If the parameter is omitted the\nevaluation will be performed in the context of the inspected page.\nThis is mutually exclusive with `uniqueContextId`, which offers an\nalternative way to identify the execution context that is more reliable\nin a multi-process environment.",
"optional": true,
"$ref": "ExecutionContextId"
},
@@ -7962,6 +9208,20 @@
"experimental": true,
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "uniqueContextId",
+ "description": "An alternative way to specify the execution context to evaluate in.\nCompared to contextId that may be reused across processes, this is guaranteed to be\nsystem-unique, so it can be used to prevent accidental evaluation of the expression\nin context different than intended (e.g. as a result of navigation across process\nboundaries).\nThis is mutually exclusive with `contextId`.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "serializationOptions",
+ "description": "Specifies the result serialization. If provided, overrides\n`generatePreview` and `returnByValue`.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "SerializationOptions"
}
],
"returns": [
@@ -8006,6 +9266,13 @@
"experimental": true,
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "nonIndexedPropertiesOnly",
+ "description": "If true, returns non-indexed properties only.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
@@ -8191,6 +9458,40 @@
"type": "integer"
}
]
+ },
+ {
+ "name": "addBinding",
+ "description": "If executionContextId is empty, adds binding with the given name on the\nglobal objects of all inspected contexts, including those created later,\nbindings survive reloads.\nBinding function takes exactly one argument, this argument should be string,\nin case of any other input, function throws an exception.\nEach binding function call produces Runtime.bindingCalled notification.",
+ "parameters": [
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "executionContextId",
+ "description": "If specified, the binding would only be exposed to the specified\nexecution context. If omitted and `executionContextName` is not set,\nthe binding is exposed to all execution contexts of the target.\nThis parameter is mutually exclusive with `executionContextName`.\nDeprecated in favor of `executionContextName` due to an unclear use case\nand bugs in implementation (crbug.com/1169639). `executionContextId` will be\nremoved in the future.",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "$ref": "ExecutionContextId"
+ },
+ {
+ "name": "executionContextName",
+ "description": "If specified, the binding is exposed to the executionContext with\nmatching name, even for contexts created after the binding is added.\nSee also `ExecutionContext.name` and `worldName` parameter to\n`Page.addScriptToEvaluateOnNewDocument`.\nThis parameter is mutually exclusive with `executionContextId`.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "removeBinding",
+ "description": "This method does not remove binding function from global object but\nunsubscribes current runtime agent from Runtime.bindingCalled notifications.",
+ "parameters": [
+ {
+ "name": "name",
+ "type": "string"
+ }
+ ]
}
],
"events": [
@@ -8305,7 +9606,14 @@
{
"name": "executionContextId",
"description": "Id of the destroyed context",
+ "deprecated": true,
"$ref": "ExecutionContextId"
+ },
+ {
+ "name": "executionContextUniqueId",
+ "description": "Unique Id of the destroyed context",
+ "experimental": true,
+ "type": "string"
}
]
},
@@ -8324,6 +9632,13 @@
{
"name": "hints",
"type": "object"
+ },
+ {
+ "name": "executionContextId",
+ "description": "Identifier of the context where the call was made.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "ExecutionContextId"
}
]
}
diff --git a/pages/_data/tot.json b/pages/_data/tot.json
index 28834ee90e..5f6598b157 100644
--- a/pages/_data/tot.json
+++ b/pages/_data/tot.json
@@ -54,6 +54,7 @@
"description": "Enum of possible native property sources (as a subtype of a particular AXValueSourceType).",
"type": "string",
"enum": [
+ "description",
"figcaption",
"label",
"labelfor",
@@ -101,7 +102,7 @@
},
{
"name": "nativeSource",
- "description": "The native markup source for this value, e.g. a element.",
+ "description": "The native markup source for this value, e.g. a `` element.",
"optional": true,
"$ref": "AXValueNativeSourceType"
},
@@ -205,6 +206,7 @@
"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.",
"type": "string",
"enum": [
+ "actions",
"busy",
"disabled",
"editable",
@@ -243,7 +245,8 @@
"errormessage",
"flowto",
"labelledby",
- "owns"
+ "owns",
+ "url"
]
},
{
@@ -276,6 +279,12 @@
"optional": true,
"$ref": "AXValue"
},
+ {
+ "name": "chromeRole",
+ "description": "This `Node`'s Chrome raw role.",
+ "optional": true,
+ "$ref": "AXValue"
+ },
{
"name": "name",
"description": "The accessible name for this `Node`.",
@@ -303,6 +312,12 @@
"$ref": "AXProperty"
}
},
+ {
+ "name": "parentId",
+ "description": "ID for this node's parent.",
+ "optional": true,
+ "$ref": "AXNodeId"
+ },
{
"name": "childIds",
"description": "IDs for each of this node's child nodes.",
@@ -317,6 +332,12 @@
"description": "The backend ID for the associated DOM node, if any.",
"optional": true,
"$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "frameId",
+ "description": "The frame ID for the frame associated with this nodes document.",
+ "optional": true,
+ "$ref": "Page.FrameId"
}
]
}
@@ -355,7 +376,7 @@
},
{
"name": "fetchRelatives",
- "description": "Whether to fetch this nodes ancestors, siblings and children. Defaults to true.",
+ "description": "Whether to fetch this node's ancestors, siblings and children. Defaults to true.",
"optional": true,
"type": "boolean"
}
@@ -377,10 +398,69 @@
"experimental": true,
"parameters": [
{
- "name": "max_depth",
+ "name": "depth",
"description": "The maximum depth at which descendants of the root node should be retrieved.\nIf omitted, the full tree is returned.",
"optional": true,
"type": "integer"
+ },
+ {
+ "name": "frameId",
+ "description": "The frame for whose document the AX tree should be retrieved.\nIf omitted, the root frame is used.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodes",
+ "type": "array",
+ "items": {
+ "$ref": "AXNode"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getRootAXNode",
+ "description": "Fetches the root node.\nRequires `enable()` to have been called previously.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "The frame in whose document the node resides.\nIf omitted, the root frame is used.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "node",
+ "$ref": "AXNode"
+ }
+ ]
+ },
+ {
+ "name": "getAXNodeAndAncestors",
+ "description": "Fetches a node and all ancestors up to and including the root.\nRequires `enable()` to have been called previously.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Identifier of the node to get.",
+ "optional": true,
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node to get.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper to get.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
}
],
"returns": [
@@ -401,6 +481,12 @@
{
"name": "id",
"$ref": "AXNodeId"
+ },
+ {
+ "name": "frameId",
+ "description": "The frame in whose document the node resides.\nIf omitted, the root frame is used.",
+ "optional": true,
+ "$ref": "Page.FrameId"
}
],
"returns": [
@@ -415,7 +501,7 @@
},
{
"name": "queryAXTree",
- "description": "Query a DOM node's accessibility subtree for accessible name and role.\nThis command computes the name and role for all nodes in the subtree, including those that are\nignored for accessibility, and returns those that mactch the specified name and role. If no DOM\nnode is specified, or the DOM node does not exist, the command returns an error. If neither\n`accessibleName` or `role` is specified, it returns all the accessibility nodes in the subtree.",
+ "description": "Query a DOM node's accessibility subtree for accessible name and role.\nThis command computes the name and role for all nodes in the subtree, including those that are\nignored for accessibility, and returns those that match the specified name and role. If no DOM\nnode is specified, or the DOM node does not exist, the command returns an error. If neither\n`accessibleName` or `role` is specified, it returns all the accessibility nodes in the subtree.",
"experimental": true,
"parameters": [
{
@@ -460,6 +546,35 @@
}
]
}
+ ],
+ "events": [
+ {
+ "name": "loadComplete",
+ "description": "The loadComplete event mirrors the load complete event sent by the browser to assistive\ntechnology when the web page has finished loading.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "root",
+ "description": "New document root node.",
+ "$ref": "AXNode"
+ }
+ ]
+ },
+ {
+ "name": "nodesUpdated",
+ "description": "The nodesUpdated event is sent every time a previously requested node has changed the in tree.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodes",
+ "description": "Updated node data.",
+ "type": "array",
+ "items": {
+ "$ref": "AXNode"
+ }
+ }
+ ]
+ }
]
},
{
@@ -502,7 +617,7 @@
},
{
"name": "startTime",
- "description": "`Animation`'s start time.",
+ "description": "`Animation`'s start time.\nMilliseconds for time based animations and\npercentage [0 - 100] for scroll driven animations\n(i.e. when viewOrScrollTimeline exists).",
"type": "number"
},
{
@@ -531,6 +646,48 @@
"description": "A unique ID for `Animation` representing the sources that triggered this CSS\nanimation/transition.",
"optional": true,
"type": "string"
+ },
+ {
+ "name": "viewOrScrollTimeline",
+ "description": "View or scroll timeline",
+ "optional": true,
+ "$ref": "ViewOrScrollTimeline"
+ }
+ ]
+ },
+ {
+ "id": "ViewOrScrollTimeline",
+ "description": "Timeline instance",
+ "type": "object",
+ "properties": [
+ {
+ "name": "sourceNodeId",
+ "description": "Scroll container node",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "startOffset",
+ "description": "Represents the starting scroll position of the timeline\nas a length offset in pixels from scroll origin.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "endOffset",
+ "description": "Represents the ending scroll position of the timeline\nas a length offset in pixels from scroll origin.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "subjectNodeId",
+ "description": "The element whose principal box's visibility in the\nscrollport defined the progress of the timeline.\nDoes not exist for animations with ScrollTimeline",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "axis",
+ "description": "Orientation of the scroll",
+ "$ref": "DOM.ScrollOrientation"
}
]
},
@@ -561,7 +718,7 @@
},
{
"name": "duration",
- "description": "`AnimationEffect`'s iteration duration.",
+ "description": "`AnimationEffect`'s iteration duration.\nMilliseconds for time based animations and\npercentage [0 - 100] for scroll driven animations\n(i.e. when viewOrScrollTimeline exists).",
"type": "number"
},
{
@@ -806,179 +963,15 @@
"$ref": "Animation"
}
]
- }
- ]
- },
- {
- "domain": "ApplicationCache",
- "experimental": true,
- "dependencies": [
- "Page"
- ],
- "types": [
- {
- "id": "ApplicationCacheResource",
- "description": "Detailed application cache resource information.",
- "type": "object",
- "properties": [
- {
- "name": "url",
- "description": "Resource url.",
- "type": "string"
- },
- {
- "name": "size",
- "description": "Resource size.",
- "type": "integer"
- },
- {
- "name": "type",
- "description": "Resource type.",
- "type": "string"
- }
- ]
- },
- {
- "id": "ApplicationCache",
- "description": "Detailed application cache information.",
- "type": "object",
- "properties": [
- {
- "name": "manifestURL",
- "description": "Manifest URL.",
- "type": "string"
- },
- {
- "name": "size",
- "description": "Application cache size.",
- "type": "number"
- },
- {
- "name": "creationTime",
- "description": "Application cache creation time.",
- "type": "number"
- },
- {
- "name": "updateTime",
- "description": "Application cache update time.",
- "type": "number"
- },
- {
- "name": "resources",
- "description": "Application cache resources.",
- "type": "array",
- "items": {
- "$ref": "ApplicationCacheResource"
- }
- }
- ]
- },
- {
- "id": "FrameWithManifest",
- "description": "Frame identifier - manifest URL pair.",
- "type": "object",
- "properties": [
- {
- "name": "frameId",
- "description": "Frame identifier.",
- "$ref": "Page.FrameId"
- },
- {
- "name": "manifestURL",
- "description": "Manifest URL.",
- "type": "string"
- },
- {
- "name": "status",
- "description": "Application cache status.",
- "type": "integer"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "enable",
- "description": "Enables application cache domain notifications."
- },
- {
- "name": "getApplicationCacheForFrame",
- "description": "Returns relevant application cache data for the document in given frame.",
- "parameters": [
- {
- "name": "frameId",
- "description": "Identifier of the frame containing document whose application cache is retrieved.",
- "$ref": "Page.FrameId"
- }
- ],
- "returns": [
- {
- "name": "applicationCache",
- "description": "Relevant application cache data for the document in given frame.",
- "$ref": "ApplicationCache"
- }
- ]
- },
- {
- "name": "getFramesWithManifests",
- "description": "Returns array of frame identifiers with manifest urls for each frame containing a document\nassociated with some application cache.",
- "returns": [
- {
- "name": "frameIds",
- "description": "Array of frame identifiers with manifest urls for each frame containing a document\nassociated with some application cache.",
- "type": "array",
- "items": {
- "$ref": "FrameWithManifest"
- }
- }
- ]
- },
- {
- "name": "getManifestForFrame",
- "description": "Returns manifest URL for document in the given frame.",
- "parameters": [
- {
- "name": "frameId",
- "description": "Identifier of the frame containing document whose manifest is retrieved.",
- "$ref": "Page.FrameId"
- }
- ],
- "returns": [
- {
- "name": "manifestURL",
- "description": "Manifest URL for document in the given frame.",
- "type": "string"
- }
- ]
- }
- ],
- "events": [
- {
- "name": "applicationCacheStatusUpdated",
- "parameters": [
- {
- "name": "frameId",
- "description": "Identifier of the frame containing document whose application cache updated status.",
- "$ref": "Page.FrameId"
- },
- {
- "name": "manifestURL",
- "description": "Manifest URL.",
- "type": "string"
- },
- {
- "name": "status",
- "description": "Updated application cache status.",
- "type": "integer"
- }
- ]
},
{
- "name": "networkStateUpdated",
+ "name": "animationUpdated",
+ "description": "Event for animation that has been updated.",
"parameters": [
{
- "name": "isNowOnline",
- "type": "boolean"
+ "name": "animation",
+ "description": "Animation that was updated.",
+ "$ref": "Animation"
}
]
}
@@ -1020,11 +1013,11 @@
{
"name": "requestId",
"description": "The unique request id.",
+ "optional": true,
"$ref": "Network.RequestId"
},
{
"name": "url",
- "optional": true,
"type": "string"
}
]
@@ -1041,17 +1034,24 @@
]
},
{
- "id": "SameSiteCookieExclusionReason",
+ "id": "CookieExclusionReason",
"type": "string",
"enum": [
"ExcludeSameSiteUnspecifiedTreatedAsLax",
"ExcludeSameSiteNoneInsecure",
"ExcludeSameSiteLax",
- "ExcludeSameSiteStrict"
+ "ExcludeSameSiteStrict",
+ "ExcludeInvalidSameParty",
+ "ExcludeSamePartyCrossPartyContext",
+ "ExcludeDomainNonASCII",
+ "ExcludeThirdPartyCookieBlockedInFirstPartySet",
+ "ExcludeThirdPartyPhaseout",
+ "ExcludePortMismatch",
+ "ExcludeSchemeMismatch"
]
},
{
- "id": "SameSiteCookieWarningReason",
+ "id": "CookieWarningReason",
"type": "string",
"enum": [
"WarnSameSiteUnspecifiedCrossSiteContext",
@@ -1061,11 +1061,17 @@
"WarnSameSiteStrictCrossDowngradeStrict",
"WarnSameSiteStrictCrossDowngradeLax",
"WarnSameSiteLaxCrossDowngradeStrict",
- "WarnSameSiteLaxCrossDowngradeLax"
+ "WarnSameSiteLaxCrossDowngradeLax",
+ "WarnAttributeValueExceedsMaxSize",
+ "WarnDomainNonASCII",
+ "WarnThirdPartyPhaseout",
+ "WarnCrossSiteRedirectDowngradeChangesInclusion",
+ "WarnDeprecationTrialMetadata",
+ "WarnThirdPartyCookieHeuristic"
]
},
{
- "id": "SameSiteCookieOperation",
+ "id": "CookieOperation",
"type": "string",
"enum": [
"SetCookie",
@@ -1073,32 +1079,66 @@
]
},
{
- "id": "SameSiteCookieIssueDetails",
- "description": "This information is currently necessary, as the front-end has a difficult\ntime finding a specific cookie. With this, we can convey specific error\ninformation without the cookie.",
+ "id": "InsightType",
+ "description": "Represents the category of insight that a cookie issue falls under.",
+ "type": "string",
+ "enum": [
+ "GitHubResource",
+ "GracePeriod",
+ "Heuristics"
+ ]
+ },
+ {
+ "id": "CookieIssueInsight",
+ "description": "Information about the suggested solution to a cookie issue.",
"type": "object",
"properties": [
{
- "name": "cookie",
- "$ref": "AffectedCookie"
+ "name": "type",
+ "$ref": "InsightType"
+ },
+ {
+ "name": "tableEntryUrl",
+ "description": "Link to table entry in third-party cookie migration readiness list.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "CookieIssueDetails",
+ "description": "This information is currently necessary, as the front-end has a difficult\ntime finding a specific cookie. With this, we can convey specific error\ninformation without the cookie.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "cookie",
+ "description": "If AffectedCookie is not set then rawCookieLine contains the raw\nSet-Cookie header string. This hints at a problem where the\ncookie line is syntactically or semantically malformed in a way\nthat no valid cookie could be created.",
+ "optional": true,
+ "$ref": "AffectedCookie"
+ },
+ {
+ "name": "rawCookieLine",
+ "optional": true,
+ "type": "string"
},
{
"name": "cookieWarningReasons",
"type": "array",
"items": {
- "$ref": "SameSiteCookieWarningReason"
+ "$ref": "CookieWarningReason"
}
},
{
"name": "cookieExclusionReasons",
"type": "array",
"items": {
- "$ref": "SameSiteCookieExclusionReason"
+ "$ref": "CookieExclusionReason"
}
},
{
"name": "operation",
"description": "Optionally identifies the site-for-cookies and the cookie url, which\nmay be used by the front-end as additional context.",
- "$ref": "SameSiteCookieOperation"
+ "$ref": "CookieOperation"
},
{
"name": "siteForCookies",
@@ -1114,6 +1154,12 @@
"name": "request",
"optional": true,
"$ref": "AffectedRequest"
+ },
+ {
+ "name": "insight",
+ "description": "The recommended solution to the issue.",
+ "optional": true,
+ "$ref": "CookieIssueInsight"
}
]
},
@@ -1130,6 +1176,7 @@
"id": "MixedContentResourceType",
"type": "string",
"enum": [
+ "AttributionSrc",
"Audio",
"Beacon",
"CSPReport",
@@ -1141,6 +1188,7 @@
"Frame",
"Image",
"Import",
+ "JSON",
"Manifest",
"Ping",
"PluginData",
@@ -1150,6 +1198,7 @@
"Script",
"ServiceWorker",
"SharedWorker",
+ "SpeculationRules",
"Stylesheet",
"Track",
"Video",
@@ -1206,7 +1255,10 @@
"CoopSandboxedIFrameCannotNavigateToCoopPage",
"CorpNotSameOrigin",
"CorpNotSameOriginAfterDefaultedToSameOriginByCoep",
- "CorpNotSameSite"
+ "CorpNotSameOriginAfterDefaultedToSameOriginByDip",
+ "CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip",
+ "CorpNotSameSite",
+ "SRIMessageSignatureMismatch"
]
},
{
@@ -1279,14 +1331,21 @@
"kInlineViolation",
"kEvalViolation",
"kURLViolation",
+ "kSRIViolation",
"kTrustedTypesSinkViolation",
- "kTrustedTypesPolicyViolation"
+ "kTrustedTypesPolicyViolation",
+ "kWasmEvalViolation"
]
},
{
"id": "SourceCodeLocation",
"type": "object",
"properties": [
+ {
+ "name": "scriptId",
+ "optional": true,
+ "$ref": "Runtime.ScriptId"
+ },
{
"name": "url",
"type": "string"
@@ -1342,8 +1401,16 @@
]
},
{
- "id": "SharedArrayBufferTransferIssueDetails",
- "description": "Details for a request that has been blocked with the BLOCKED_BY_RESPONSE\ncode. Currently only used for COEP/COOP, but may be extended to include\nsome CSP errors in the future.",
+ "id": "SharedArrayBufferIssueType",
+ "type": "string",
+ "enum": [
+ "TransferIssue",
+ "CreationIssue"
+ ]
+ },
+ {
+ "id": "SharedArrayBufferIssueDetails",
+ "description": "Details for a issue arising from an SAB being instantiated in, or\ntransferred to a context that is not cross-origin isolated.",
"type": "object",
"properties": [
{
@@ -1353,14017 +1420,23338 @@
{
"name": "isWarning",
"type": "boolean"
+ },
+ {
+ "name": "type",
+ "$ref": "SharedArrayBufferIssueType"
}
]
},
{
- "id": "TwaQualityEnforcementViolationType",
- "type": "string",
- "enum": [
- "kHttpError",
- "kUnavailableOffline",
- "kDigitalAssetLinks"
- ]
- },
- {
- "id": "TrustedWebActivityIssueDetails",
+ "id": "LowTextContrastIssueDetails",
"type": "object",
"properties": [
{
- "name": "url",
- "description": "The url that triggers the violation.",
+ "name": "violatingNodeId",
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "violatingNodeSelector",
"type": "string"
},
{
- "name": "violationType",
- "$ref": "TwaQualityEnforcementViolationType"
+ "name": "contrastRatio",
+ "type": "number"
},
{
- "name": "httpStatusCode",
- "optional": true,
- "type": "integer"
+ "name": "thresholdAA",
+ "type": "number"
},
{
- "name": "packageName",
- "description": "The package name of the Trusted Web Activity client app. This field is\nonly used when violation type is kDigitalAssetLinks.",
- "optional": true,
+ "name": "thresholdAAA",
+ "type": "number"
+ },
+ {
+ "name": "fontSize",
"type": "string"
},
{
- "name": "signature",
- "description": "The signature of the Trusted Web Activity client app. This field is only\nused when violation type is kDigitalAssetLinks.",
- "optional": true,
+ "name": "fontWeight",
"type": "string"
}
]
},
{
- "id": "InspectorIssueCode",
- "description": "A unique identifier for the type of issue. Each type may use one of the\noptional fields in InspectorIssueDetails to convey more specific\ninformation about the kind of issue.",
- "type": "string",
- "enum": [
- "SameSiteCookieIssue",
- "MixedContentIssue",
- "BlockedByResponseIssue",
- "HeavyAdIssue",
- "ContentSecurityPolicyIssue",
- "SharedArrayBufferTransferIssue",
- "TrustedWebActivityIssue"
- ]
- },
- {
- "id": "InspectorIssueDetails",
- "description": "This struct holds a list of optional fields with additional information\nspecific to the kind of issue. When adding a new issue code, please also\nadd a new optional field to this type.",
+ "id": "CorsIssueDetails",
+ "description": "Details for a CORS related issue, e.g. a warning or error related to\nCORS RFC1918 enforcement.",
"type": "object",
"properties": [
{
- "name": "sameSiteCookieIssueDetails",
- "optional": true,
- "$ref": "SameSiteCookieIssueDetails"
+ "name": "corsErrorStatus",
+ "$ref": "Network.CorsErrorStatus"
},
{
- "name": "mixedContentIssueDetails",
- "optional": true,
- "$ref": "MixedContentIssueDetails"
+ "name": "isWarning",
+ "type": "boolean"
},
{
- "name": "blockedByResponseIssueDetails",
- "optional": true,
- "$ref": "BlockedByResponseIssueDetails"
+ "name": "request",
+ "$ref": "AffectedRequest"
},
{
- "name": "heavyAdIssueDetails",
+ "name": "location",
"optional": true,
- "$ref": "HeavyAdIssueDetails"
+ "$ref": "SourceCodeLocation"
},
{
- "name": "contentSecurityPolicyIssueDetails",
+ "name": "initiatorOrigin",
"optional": true,
- "$ref": "ContentSecurityPolicyIssueDetails"
+ "type": "string"
},
{
- "name": "sharedArrayBufferTransferIssueDetails",
+ "name": "resourceIPAddressSpace",
"optional": true,
- "$ref": "SharedArrayBufferTransferIssueDetails"
+ "$ref": "Network.IPAddressSpace"
},
{
- "name": "twaQualityEnforcementDetails",
+ "name": "clientSecurityState",
"optional": true,
- "$ref": "TrustedWebActivityIssueDetails"
+ "$ref": "Network.ClientSecurityState"
}
]
},
{
- "id": "InspectorIssue",
- "description": "An inspector issue reported from the back-end.",
- "type": "object",
- "properties": [
- {
- "name": "code",
- "$ref": "InspectorIssueCode"
- },
- {
- "name": "details",
- "$ref": "InspectorIssueDetails"
- }
+ "id": "AttributionReportingIssueType",
+ "type": "string",
+ "enum": [
+ "PermissionPolicyDisabled",
+ "UntrustworthyReportingOrigin",
+ "InsecureContext",
+ "InvalidHeader",
+ "InvalidRegisterTriggerHeader",
+ "SourceAndTriggerHeaders",
+ "SourceIgnored",
+ "TriggerIgnored",
+ "OsSourceIgnored",
+ "OsTriggerIgnored",
+ "InvalidRegisterOsSourceHeader",
+ "InvalidRegisterOsTriggerHeader",
+ "WebAndOsHeaders",
+ "NoWebOrOsSupport",
+ "NavigationRegistrationWithoutTransientUserActivation",
+ "InvalidInfoHeader",
+ "NoRegisterSourceHeader",
+ "NoRegisterTriggerHeader",
+ "NoRegisterOsSourceHeader",
+ "NoRegisterOsTriggerHeader",
+ "NavigationRegistrationUniqueScopeAlreadySet"
+ ]
+ },
+ {
+ "id": "SharedDictionaryError",
+ "type": "string",
+ "enum": [
+ "UseErrorCrossOriginNoCorsRequest",
+ "UseErrorDictionaryLoadFailure",
+ "UseErrorMatchingDictionaryNotUsed",
+ "UseErrorUnexpectedContentDictionaryHeader",
+ "WriteErrorCossOriginNoCorsRequest",
+ "WriteErrorDisallowedBySettings",
+ "WriteErrorExpiredResponse",
+ "WriteErrorFeatureDisabled",
+ "WriteErrorInsufficientResources",
+ "WriteErrorInvalidMatchField",
+ "WriteErrorInvalidStructuredHeader",
+ "WriteErrorNavigationRequest",
+ "WriteErrorNoMatchField",
+ "WriteErrorNonListMatchDestField",
+ "WriteErrorNonSecureContext",
+ "WriteErrorNonStringIdField",
+ "WriteErrorNonStringInMatchDestList",
+ "WriteErrorNonStringMatchField",
+ "WriteErrorNonTokenTypeField",
+ "WriteErrorRequestAborted",
+ "WriteErrorShuttingDown",
+ "WriteErrorTooLongIdField",
+ "WriteErrorUnsupportedType"
+ ]
+ },
+ {
+ "id": "SRIMessageSignatureError",
+ "type": "string",
+ "enum": [
+ "MissingSignatureHeader",
+ "MissingSignatureInputHeader",
+ "InvalidSignatureHeader",
+ "InvalidSignatureInputHeader",
+ "SignatureHeaderValueIsNotByteSequence",
+ "SignatureHeaderValueIsParameterized",
+ "SignatureHeaderValueIsIncorrectLength",
+ "SignatureInputHeaderMissingLabel",
+ "SignatureInputHeaderValueNotInnerList",
+ "SignatureInputHeaderValueMissingComponents",
+ "SignatureInputHeaderInvalidComponentType",
+ "SignatureInputHeaderInvalidComponentName",
+ "SignatureInputHeaderInvalidHeaderComponentParameter",
+ "SignatureInputHeaderInvalidDerivedComponentParameter",
+ "SignatureInputHeaderKeyIdLength",
+ "SignatureInputHeaderInvalidParameter",
+ "SignatureInputHeaderMissingRequiredParameters",
+ "ValidationFailedSignatureExpired",
+ "ValidationFailedInvalidLength",
+ "ValidationFailedSignatureMismatch",
+ "ValidationFailedIntegrityMismatch"
+ ]
+ },
+ {
+ "id": "UnencodedDigestError",
+ "type": "string",
+ "enum": [
+ "MalformedDictionary",
+ "UnknownAlgorithm",
+ "IncorrectDigestType",
+ "IncorrectDigestLength"
]
- }
- ],
- "commands": [
+ },
{
- "name": "getEncodedResponse",
- "description": "Returns the response body and size if it were re-encoded with the specified settings. Only\napplies to images.",
- "parameters": [
+ "id": "AttributionReportingIssueDetails",
+ "description": "Details for issues around \"Attribution Reporting API\" usage.\nExplainer: https://github.com/WICG/attribution-reporting-api",
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Identifier of the network request to get content for.",
- "$ref": "Network.RequestId"
+ "name": "violationType",
+ "$ref": "AttributionReportingIssueType"
},
{
- "name": "encoding",
- "description": "The encoding to use.",
- "type": "string",
- "enum": [
- "webp",
- "jpeg",
- "png"
- ]
+ "name": "request",
+ "optional": true,
+ "$ref": "AffectedRequest"
},
{
- "name": "quality",
- "description": "The quality of the encoding (0-1). (defaults to 1)",
+ "name": "violatingNodeId",
"optional": true,
- "type": "number"
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "sizeOnly",
- "description": "Whether to only return the size information (defaults to false).",
+ "name": "invalidParameter",
"optional": true,
- "type": "boolean"
+ "type": "string"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "QuirksModeIssueDetails",
+ "description": "Details for issues about documents in Quirks Mode\nor Limited Quirks Mode that affects page layouting.",
+ "type": "object",
+ "properties": [
{
- "name": "body",
- "description": "The encoded body as a base64 string. Omitted if sizeOnly is true. (Encoded as a base64 string when passed over JSON)",
- "optional": true,
+ "name": "isLimitedQuirksMode",
+ "description": "If false, it means the document's mode is \"quirks\"\ninstead of \"limited-quirks\".",
+ "type": "boolean"
+ },
+ {
+ "name": "documentNodeId",
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "url",
"type": "string"
},
{
- "name": "originalSize",
- "description": "Size before re-encoding.",
- "type": "integer"
+ "name": "frameId",
+ "$ref": "Page.FrameId"
},
{
- "name": "encodedSize",
- "description": "Size after re-encoding.",
- "type": "integer"
+ "name": "loaderId",
+ "$ref": "Network.LoaderId"
}
]
},
{
- "name": "disable",
- "description": "Disables issues domain, prevents further issues from being reported to the client."
- },
- {
- "name": "enable",
- "description": "Enables issues domain, sends the issues collected so far to the client by means of the\n`issueAdded` event."
- }
- ],
- "events": [
- {
- "name": "issueAdded",
- "parameters": [
+ "id": "NavigatorUserAgentIssueDetails",
+ "deprecated": true,
+ "type": "object",
+ "properties": [
{
- "name": "issue",
- "$ref": "InspectorIssue"
+ "name": "url",
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "optional": true,
+ "$ref": "SourceCodeLocation"
}
]
- }
- ]
- },
- {
- "domain": "BackgroundService",
- "description": "Defines events for background web platform features.",
- "experimental": true,
- "types": [
- {
- "id": "ServiceName",
- "description": "The Background Service that will be associated with the commands/events.\nEvery Background Service operates independently, but they share the same\nAPI.",
- "type": "string",
- "enum": [
- "backgroundFetch",
- "backgroundSync",
- "pushMessaging",
- "notifications",
- "paymentHandler",
- "periodicBackgroundSync"
- ]
},
{
- "id": "EventMetadata",
- "description": "A key-value pair for additional event information to pass along.",
+ "id": "SharedDictionaryIssueDetails",
"type": "object",
"properties": [
{
- "name": "key",
- "type": "string"
+ "name": "sharedDictionaryError",
+ "$ref": "SharedDictionaryError"
},
{
- "name": "value",
- "type": "string"
+ "name": "request",
+ "$ref": "AffectedRequest"
}
]
},
{
- "id": "BackgroundServiceEvent",
+ "id": "SRIMessageSignatureIssueDetails",
"type": "object",
"properties": [
{
- "name": "timestamp",
- "description": "Timestamp of the event (in seconds).",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "error",
+ "$ref": "SRIMessageSignatureError"
},
{
- "name": "origin",
- "description": "The origin this event belongs to.",
+ "name": "signatureBase",
"type": "string"
},
{
- "name": "serviceWorkerRegistrationId",
- "description": "The Service Worker ID that initiated the event.",
- "$ref": "ServiceWorker.RegistrationID"
+ "name": "integrityAssertions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "service",
- "description": "The Background Service this event belongs to.",
- "$ref": "ServiceName"
- },
+ "name": "request",
+ "$ref": "AffectedRequest"
+ }
+ ]
+ },
+ {
+ "id": "UnencodedDigestIssueDetails",
+ "type": "object",
+ "properties": [
{
- "name": "eventName",
- "description": "A description of the event.",
- "type": "string"
+ "name": "error",
+ "$ref": "UnencodedDigestError"
},
{
- "name": "instanceId",
- "description": "An identifier that groups related events together.",
- "type": "string"
- },
- {
- "name": "eventMetadata",
- "description": "A list of event-specific information.",
- "type": "array",
- "items": {
- "$ref": "EventMetadata"
- }
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "startObserving",
- "description": "Enables event updates for the service.",
- "parameters": [
- {
- "name": "service",
- "$ref": "ServiceName"
+ "name": "request",
+ "$ref": "AffectedRequest"
}
]
},
{
- "name": "stopObserving",
- "description": "Disables event updates for the service.",
- "parameters": [
+ "id": "GenericIssueErrorType",
+ "type": "string",
+ "enum": [
+ "FormLabelForNameError",
+ "FormDuplicateIdForInputError",
+ "FormInputWithNoLabelError",
+ "FormAutocompleteAttributeEmptyError",
+ "FormEmptyIdAndNameAttributesForInputError",
+ "FormAriaLabelledByToNonExistingId",
+ "FormInputAssignedAutocompleteValueToIdOrNameAttributeError",
+ "FormLabelHasNeitherForNorNestedInput",
+ "FormLabelForMatchesNonExistingIdError",
+ "FormInputHasWrongButWellIntendedAutocompleteValueError",
+ "ResponseWasBlockedByORB"
+ ]
+ },
+ {
+ "id": "GenericIssueDetails",
+ "description": "Depending on the concrete errorType, different properties are set.",
+ "type": "object",
+ "properties": [
{
- "name": "service",
- "$ref": "ServiceName"
+ "name": "errorType",
+ "description": "Issues with the same errorType are aggregated in the frontend.",
+ "$ref": "GenericIssueErrorType"
+ },
+ {
+ "name": "frameId",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "violatingNodeId",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "violatingNodeAttribute",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "optional": true,
+ "$ref": "AffectedRequest"
}
]
},
{
- "name": "setRecording",
- "description": "Set the recording state for the service.",
- "parameters": [
+ "id": "DeprecationIssueDetails",
+ "description": "This issue tracks information needed to print a deprecation message.\nhttps://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/third_party/blink/renderer/core/frame/deprecation/README.md",
+ "type": "object",
+ "properties": [
{
- "name": "shouldRecord",
- "type": "boolean"
+ "name": "affectedFrame",
+ "optional": true,
+ "$ref": "AffectedFrame"
},
{
- "name": "service",
- "$ref": "ServiceName"
+ "name": "sourceCodeLocation",
+ "$ref": "SourceCodeLocation"
+ },
+ {
+ "name": "type",
+ "description": "One of the deprecation names from third_party/blink/renderer/core/frame/deprecation/deprecation.json5",
+ "type": "string"
}
]
},
{
- "name": "clearEvents",
- "description": "Clears all stored data for the service.",
- "parameters": [
+ "id": "BounceTrackingIssueDetails",
+ "description": "This issue warns about sites in the redirect chain of a finished navigation\nthat may be flagged as trackers and have their state cleared if they don't\nreceive a user interaction. Note that in this context 'site' means eTLD+1.\nFor example, if the URL `https://example.test:80/bounce` was in the\nredirect chain, the site reported would be `example.test`.",
+ "type": "object",
+ "properties": [
{
- "name": "service",
- "$ref": "ServiceName"
+ "name": "trackingSites",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
- }
- ],
- "events": [
+ },
{
- "name": "recordingStateChanged",
- "description": "Called when the recording state for the service has been updated.",
- "parameters": [
+ "id": "CookieDeprecationMetadataIssueDetails",
+ "description": "This issue warns about third-party sites that are accessing cookies on the\ncurrent page, and have been permitted due to having a global metadata grant.\nNote that in this context 'site' means eTLD+1. For example, if the URL\n`https://example.test:80/web_page` was accessing cookies, the site reported\nwould be `example.test`.",
+ "type": "object",
+ "properties": [
{
- "name": "isRecording",
+ "name": "allowedSites",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "optOutPercentage",
+ "type": "number"
+ },
+ {
+ "name": "isOptOutTopLevel",
"type": "boolean"
},
{
- "name": "service",
- "$ref": "ServiceName"
+ "name": "operation",
+ "$ref": "CookieOperation"
}
]
},
{
- "name": "backgroundServiceEventReceived",
- "description": "Called with all existing backgroundServiceEvents when enabled, and all new\nevents afterwards if enabled and recording.",
- "parameters": [
+ "id": "ClientHintIssueReason",
+ "type": "string",
+ "enum": [
+ "MetaTagAllowListInvalidOrigin",
+ "MetaTagModifiedHTML"
+ ]
+ },
+ {
+ "id": "FederatedAuthRequestIssueDetails",
+ "type": "object",
+ "properties": [
{
- "name": "backgroundServiceEvent",
- "$ref": "BackgroundServiceEvent"
+ "name": "federatedAuthRequestIssueReason",
+ "$ref": "FederatedAuthRequestIssueReason"
}
]
- }
- ]
- },
- {
- "domain": "Browser",
- "description": "The Browser domain defines methods and events for browser managing.",
- "types": [
- {
- "id": "BrowserContextID",
- "experimental": true,
- "type": "string"
},
{
- "id": "WindowID",
- "experimental": true,
- "type": "integer"
+ "id": "FederatedAuthRequestIssueReason",
+ "description": "Represents the failure reason when a federated authentication reason fails.\nShould be updated alongside RequestIdTokenStatus in\nthird_party/blink/public/mojom/devtools/inspector_issue.mojom to include\nall cases except for success.",
+ "type": "string",
+ "enum": [
+ "ShouldEmbargo",
+ "TooManyRequests",
+ "WellKnownHttpNotFound",
+ "WellKnownNoResponse",
+ "WellKnownInvalidResponse",
+ "WellKnownListEmpty",
+ "WellKnownInvalidContentType",
+ "ConfigNotInWellKnown",
+ "WellKnownTooBig",
+ "ConfigHttpNotFound",
+ "ConfigNoResponse",
+ "ConfigInvalidResponse",
+ "ConfigInvalidContentType",
+ "ClientMetadataHttpNotFound",
+ "ClientMetadataNoResponse",
+ "ClientMetadataInvalidResponse",
+ "ClientMetadataInvalidContentType",
+ "IdpNotPotentiallyTrustworthy",
+ "DisabledInSettings",
+ "DisabledInFlags",
+ "ErrorFetchingSignin",
+ "InvalidSigninResponse",
+ "AccountsHttpNotFound",
+ "AccountsNoResponse",
+ "AccountsInvalidResponse",
+ "AccountsListEmpty",
+ "AccountsInvalidContentType",
+ "IdTokenHttpNotFound",
+ "IdTokenNoResponse",
+ "IdTokenInvalidResponse",
+ "IdTokenIdpErrorResponse",
+ "IdTokenCrossSiteIdpErrorResponse",
+ "IdTokenInvalidRequest",
+ "IdTokenInvalidContentType",
+ "ErrorIdToken",
+ "Canceled",
+ "RpPageNotVisible",
+ "SilentMediationFailure",
+ "ThirdPartyCookiesBlocked",
+ "NotSignedInWithIdp",
+ "MissingTransientUserActivation",
+ "ReplacedByActiveMode",
+ "InvalidFieldsSpecified",
+ "RelyingPartyOriginIsOpaque",
+ "TypeNotMatching",
+ "UiDismissedNoEmbargo",
+ "CorsError",
+ "SuppressedBySegmentationPlatform"
+ ]
+ },
+ {
+ "id": "FederatedAuthUserInfoRequestIssueDetails",
+ "type": "object",
+ "properties": [
+ {
+ "name": "federatedAuthUserInfoRequestIssueReason",
+ "$ref": "FederatedAuthUserInfoRequestIssueReason"
+ }
+ ]
},
{
- "id": "WindowState",
- "description": "The state of the browser window.",
- "experimental": true,
+ "id": "FederatedAuthUserInfoRequestIssueReason",
+ "description": "Represents the failure reason when a getUserInfo() call fails.\nShould be updated alongside FederatedAuthUserInfoRequestResult in\nthird_party/blink/public/mojom/devtools/inspector_issue.mojom.",
"type": "string",
"enum": [
- "normal",
- "minimized",
- "maximized",
- "fullscreen"
+ "NotSameOrigin",
+ "NotIframe",
+ "NotPotentiallyTrustworthy",
+ "NoApiPermission",
+ "NotSignedInWithIdp",
+ "NoAccountSharingPermission",
+ "InvalidConfigOrWellKnown",
+ "InvalidAccountsResponse",
+ "NoReturningUserFromFetchedAccounts"
]
},
{
- "id": "Bounds",
- "description": "Browser window bounds information",
- "experimental": true,
+ "id": "ClientHintIssueDetails",
+ "description": "This issue tracks client hints related issues. It's used to deprecate old\nfeatures, encourage the use of new ones, and provide general guidance.",
"type": "object",
"properties": [
{
- "name": "left",
- "description": "The offset from the left edge of the screen to the window in pixels.",
- "optional": true,
- "type": "integer"
+ "name": "sourceCodeLocation",
+ "$ref": "SourceCodeLocation"
},
{
- "name": "top",
- "description": "The offset from the top edge of the screen to the window in pixels.",
- "optional": true,
- "type": "integer"
- },
+ "name": "clientHintIssueReason",
+ "$ref": "ClientHintIssueReason"
+ }
+ ]
+ },
+ {
+ "id": "FailedRequestInfo",
+ "type": "object",
+ "properties": [
{
- "name": "width",
- "description": "The window width in pixels.",
- "optional": true,
- "type": "integer"
+ "name": "url",
+ "description": "The URL that failed to load.",
+ "type": "string"
},
{
- "name": "height",
- "description": "The window height in pixels.",
- "optional": true,
- "type": "integer"
+ "name": "failureMessage",
+ "description": "The failure message for the failed request.",
+ "type": "string"
},
{
- "name": "windowState",
- "description": "The window state. Default to normal.",
+ "name": "requestId",
"optional": true,
- "$ref": "WindowState"
+ "$ref": "Network.RequestId"
}
]
},
{
- "id": "PermissionType",
- "experimental": true,
+ "id": "PartitioningBlobURLInfo",
"type": "string",
"enum": [
- "accessibilityEvents",
- "audioCapture",
- "backgroundSync",
- "backgroundFetch",
- "clipboardReadWrite",
- "clipboardSanitizedWrite",
- "displayCapture",
- "durableStorage",
- "flash",
- "geolocation",
- "midi",
- "midiSysex",
- "nfc",
- "notifications",
- "paymentHandler",
- "periodicBackgroundSync",
- "protectedMediaIdentifier",
- "sensors",
- "videoCapture",
- "videoCapturePanTiltZoom",
- "idleDetection",
- "wakeLockScreen",
- "wakeLockSystem"
+ "BlockedCrossPartitionFetching",
+ "EnforceNoopenerForNavigation"
]
},
{
- "id": "PermissionSetting",
- "experimental": true,
+ "id": "PartitioningBlobURLIssueDetails",
+ "type": "object",
+ "properties": [
+ {
+ "name": "url",
+ "description": "The BlobURL that failed to load.",
+ "type": "string"
+ },
+ {
+ "name": "partitioningBlobURLInfo",
+ "description": "Additional information about the Partitioning Blob URL issue.",
+ "$ref": "PartitioningBlobURLInfo"
+ }
+ ]
+ },
+ {
+ "id": "ElementAccessibilityIssueReason",
"type": "string",
"enum": [
- "granted",
- "denied",
- "prompt"
+ "DisallowedSelectChild",
+ "DisallowedOptGroupChild",
+ "NonPhrasingContentOptionChild",
+ "InteractiveContentOptionChild",
+ "InteractiveContentLegendChild",
+ "InteractiveContentSummaryDescendant"
]
},
{
- "id": "PermissionDescriptor",
- "description": "Definition of PermissionDescriptor defined in the Permissions API:\nhttps://w3c.github.io/permissions/#dictdef-permissiondescriptor.",
- "experimental": true,
+ "id": "ElementAccessibilityIssueDetails",
+ "description": "This issue warns about errors in the select or summary element content model.",
"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": "nodeId",
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "sysex",
- "description": "For \"midi\" permission, may also specify sysex control.",
- "optional": true,
- "type": "boolean"
+ "name": "elementAccessibilityIssueReason",
+ "$ref": "ElementAccessibilityIssueReason"
},
{
- "name": "userVisibleOnly",
- "description": "For \"push\" permission, may specify userVisibleOnly.\nNote that userVisibleOnly = true is the only currently supported type.",
- "optional": true,
+ "name": "hasDisallowedAttributes",
"type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "StyleSheetLoadingIssueReason",
+ "type": "string",
+ "enum": [
+ "LateImportRule",
+ "RequestFailed"
+ ]
+ },
+ {
+ "id": "StylesheetLoadingIssueDetails",
+ "description": "This issue warns when a referenced stylesheet couldn't be loaded.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "sourceCodeLocation",
+ "description": "Source code position that referenced the failing stylesheet.",
+ "$ref": "SourceCodeLocation"
},
{
- "name": "allowWithoutSanitization",
- "description": "For \"clipboard\" permission, may specify allowWithoutSanitization.",
- "optional": true,
- "type": "boolean"
+ "name": "styleSheetLoadingIssueReason",
+ "description": "Reason why the stylesheet couldn't be loaded.",
+ "$ref": "StyleSheetLoadingIssueReason"
},
{
- "name": "panTiltZoom",
- "description": "For \"camera\" permission, may specify panTiltZoom.",
+ "name": "failedRequestInfo",
+ "description": "Contains additional info when the failure was due to a request.",
"optional": true,
- "type": "boolean"
+ "$ref": "FailedRequestInfo"
}
]
},
{
- "id": "BrowserCommandId",
- "description": "Browser command ids used by executeBrowserCommand.",
- "experimental": true,
+ "id": "PropertyRuleIssueReason",
"type": "string",
"enum": [
- "openTabSearch",
- "closeTabSearch"
+ "InvalidSyntax",
+ "InvalidInitialValue",
+ "InvalidInherits",
+ "InvalidName"
]
},
{
- "id": "Bucket",
- "description": "Chrome histogram bucket.",
- "experimental": true,
+ "id": "PropertyRuleIssueDetails",
+ "description": "This issue warns about errors in property rules that lead to property\nregistrations being ignored.",
"type": "object",
"properties": [
{
- "name": "low",
- "description": "Minimum value (inclusive).",
- "type": "integer"
+ "name": "sourceCodeLocation",
+ "description": "Source code position of the property rule.",
+ "$ref": "SourceCodeLocation"
},
{
- "name": "high",
- "description": "Maximum value (exclusive).",
- "type": "integer"
+ "name": "propertyRuleIssueReason",
+ "description": "Reason why the property rule was discarded.",
+ "$ref": "PropertyRuleIssueReason"
},
{
- "name": "count",
- "description": "Number of samples.",
- "type": "integer"
+ "name": "propertyValue",
+ "description": "The value of the property rule property that failed to parse",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "id": "Histogram",
- "description": "Chrome histogram.",
- "experimental": true,
+ "id": "UserReidentificationIssueType",
+ "type": "string",
+ "enum": [
+ "BlockedFrameNavigation",
+ "BlockedSubresource",
+ "NoisedCanvasReadback"
+ ]
+ },
+ {
+ "id": "UserReidentificationIssueDetails",
+ "description": "This issue warns about uses of APIs that may be considered misuse to\nre-identify users.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Name.",
- "type": "string"
- },
- {
- "name": "sum",
- "description": "Sum of sample values.",
- "type": "integer"
+ "name": "type",
+ "$ref": "UserReidentificationIssueType"
},
{
- "name": "count",
- "description": "Total number of samples.",
- "type": "integer"
+ "name": "request",
+ "description": "Applies to BlockedFrameNavigation and BlockedSubresource issue types.",
+ "optional": true,
+ "$ref": "AffectedRequest"
},
{
- "name": "buckets",
- "description": "Buckets.",
- "type": "array",
- "items": {
- "$ref": "Bucket"
- }
+ "name": "sourceCodeLocation",
+ "description": "Applies to NoisedCanvasReadback issue type.",
+ "optional": true,
+ "$ref": "SourceCodeLocation"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "setPermission",
- "description": "Set permission settings for given origin.",
- "experimental": true,
- "parameters": [
+ "id": "InspectorIssueCode",
+ "description": "A unique identifier for the type of issue. Each type may use one of the\noptional fields in InspectorIssueDetails to convey more specific\ninformation about the kind of issue.",
+ "type": "string",
+ "enum": [
+ "CookieIssue",
+ "MixedContentIssue",
+ "BlockedByResponseIssue",
+ "HeavyAdIssue",
+ "ContentSecurityPolicyIssue",
+ "SharedArrayBufferIssue",
+ "LowTextContrastIssue",
+ "CorsIssue",
+ "AttributionReportingIssue",
+ "QuirksModeIssue",
+ "PartitioningBlobURLIssue",
+ "NavigatorUserAgentIssue",
+ "GenericIssue",
+ "DeprecationIssue",
+ "ClientHintIssue",
+ "FederatedAuthRequestIssue",
+ "BounceTrackingIssue",
+ "CookieDeprecationMetadataIssue",
+ "StylesheetLoadingIssue",
+ "FederatedAuthUserInfoRequestIssue",
+ "PropertyRuleIssue",
+ "SharedDictionaryIssue",
+ "ElementAccessibilityIssue",
+ "SRIMessageSignatureIssue",
+ "UnencodedDigestIssue",
+ "UserReidentificationIssue"
+ ]
+ },
+ {
+ "id": "InspectorIssueDetails",
+ "description": "This struct holds a list of optional fields with additional information\nspecific to the kind of issue. When adding a new issue code, please also\nadd a new optional field to this type.",
+ "type": "object",
+ "properties": [
{
- "name": "permission",
- "description": "Descriptor of permission to override.",
- "$ref": "PermissionDescriptor"
+ "name": "cookieIssueDetails",
+ "optional": true,
+ "$ref": "CookieIssueDetails"
},
{
- "name": "setting",
- "description": "Setting of the permission.",
- "$ref": "PermissionSetting"
+ "name": "mixedContentIssueDetails",
+ "optional": true,
+ "$ref": "MixedContentIssueDetails"
},
{
- "name": "origin",
- "description": "Origin the permission applies to, all origins if not specified.",
+ "name": "blockedByResponseIssueDetails",
"optional": true,
- "type": "string"
+ "$ref": "BlockedByResponseIssueDetails"
},
{
- "name": "browserContextId",
- "description": "Context to override. When omitted, default browser context is used.",
+ "name": "heavyAdIssueDetails",
"optional": true,
- "$ref": "BrowserContextID"
- }
- ]
- },
- {
- "name": "grantPermissions",
- "description": "Grant specific permissions to the given origin and reject all others.",
- "experimental": true,
- "parameters": [
+ "$ref": "HeavyAdIssueDetails"
+ },
{
- "name": "permissions",
- "type": "array",
- "items": {
- "$ref": "PermissionType"
- }
+ "name": "contentSecurityPolicyIssueDetails",
+ "optional": true,
+ "$ref": "ContentSecurityPolicyIssueDetails"
},
{
- "name": "origin",
- "description": "Origin the permission applies to, all origins if not specified.",
+ "name": "sharedArrayBufferIssueDetails",
"optional": true,
- "type": "string"
+ "$ref": "SharedArrayBufferIssueDetails"
},
{
- "name": "browserContextId",
- "description": "BrowserContext to override permissions. When omitted, default browser context is used.",
+ "name": "lowTextContrastIssueDetails",
"optional": true,
- "$ref": "BrowserContextID"
- }
- ]
- },
- {
- "name": "resetPermissions",
- "description": "Reset all permission management for all origins.",
- "experimental": true,
- "parameters": [
+ "$ref": "LowTextContrastIssueDetails"
+ },
{
- "name": "browserContextId",
- "description": "BrowserContext to reset permissions. When omitted, default browser context is used.",
+ "name": "corsIssueDetails",
"optional": true,
- "$ref": "BrowserContextID"
- }
- ]
- },
- {
- "name": "setDownloadBehavior",
- "description": "Set the behavior when downloading a file.",
- "experimental": true,
- "parameters": [
+ "$ref": "CorsIssueDetails"
+ },
{
- "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 dowmload guids.",
- "type": "string",
- "enum": [
- "deny",
- "allow",
- "allowAndName",
- "default"
- ]
+ "name": "attributionReportingIssueDetails",
+ "optional": true,
+ "$ref": "AttributionReportingIssueDetails"
},
{
- "name": "browserContextId",
- "description": "BrowserContext to set download behavior. When omitted, default browser context is used.",
+ "name": "quirksModeIssueDetails",
"optional": true,
- "$ref": "BrowserContextID"
+ "$ref": "QuirksModeIssueDetails"
},
{
- "name": "downloadPath",
- "description": "The default path to save downloaded files to. This is requred if behavior is set to 'allow'\nor 'allowAndName'.",
+ "name": "partitioningBlobURLIssueDetails",
"optional": true,
- "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": [
+ "$ref": "PartitioningBlobURLIssueDetails"
+ },
{
- "name": "protocolVersion",
- "description": "Protocol version.",
- "type": "string"
+ "name": "navigatorUserAgentIssueDetails",
+ "deprecated": true,
+ "optional": true,
+ "$ref": "NavigatorUserAgentIssueDetails"
},
{
- "name": "product",
- "description": "Product name.",
- "type": "string"
+ "name": "genericIssueDetails",
+ "optional": true,
+ "$ref": "GenericIssueDetails"
},
{
- "name": "revision",
- "description": "Product revision.",
- "type": "string"
+ "name": "deprecationIssueDetails",
+ "optional": true,
+ "$ref": "DeprecationIssueDetails"
},
{
- "name": "userAgent",
- "description": "User-Agent.",
- "type": "string"
+ "name": "clientHintIssueDetails",
+ "optional": true,
+ "$ref": "ClientHintIssueDetails"
},
{
- "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": "federatedAuthRequestIssueDetails",
+ "optional": true,
+ "$ref": "FederatedAuthRequestIssueDetails"
+ },
{
- "name": "arguments",
- "description": "Commandline parameters",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- {
- "name": "getHistograms",
- "description": "Get Chrome histograms.",
- "experimental": true,
- "parameters": [
+ "name": "bounceTrackingIssueDetails",
+ "optional": true,
+ "$ref": "BounceTrackingIssueDetails"
+ },
{
- "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.",
+ "name": "cookieDeprecationMetadataIssueDetails",
"optional": true,
- "type": "string"
+ "$ref": "CookieDeprecationMetadataIssueDetails"
},
{
- "name": "delta",
- "description": "If true, retrieve delta since last call.",
+ "name": "stylesheetLoadingIssueDetails",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "$ref": "StylesheetLoadingIssueDetails"
+ },
{
- "name": "histograms",
- "description": "Histograms.",
- "type": "array",
- "items": {
- "$ref": "Histogram"
- }
- }
- ]
- },
- {
- "name": "getHistogram",
- "description": "Get a Chrome histogram by name.",
- "experimental": true,
- "parameters": [
+ "name": "propertyRuleIssueDetails",
+ "optional": true,
+ "$ref": "PropertyRuleIssueDetails"
+ },
{
- "name": "name",
- "description": "Requested histogram name.",
- "type": "string"
+ "name": "federatedAuthUserInfoRequestIssueDetails",
+ "optional": true,
+ "$ref": "FederatedAuthUserInfoRequestIssueDetails"
},
{
- "name": "delta",
- "description": "If true, retrieve delta since last call.",
+ "name": "sharedDictionaryIssueDetails",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "$ref": "SharedDictionaryIssueDetails"
+ },
{
- "name": "histogram",
- "description": "Histogram.",
- "$ref": "Histogram"
- }
- ]
- },
- {
- "name": "getWindowBounds",
- "description": "Get position and size of the browser window.",
- "experimental": true,
- "parameters": [
+ "name": "elementAccessibilityIssueDetails",
+ "optional": true,
+ "$ref": "ElementAccessibilityIssueDetails"
+ },
{
- "name": "windowId",
- "description": "Browser window id.",
- "$ref": "WindowID"
- }
- ],
- "returns": [
+ "name": "sriMessageSignatureIssueDetails",
+ "optional": true,
+ "$ref": "SRIMessageSignatureIssueDetails"
+ },
{
- "name": "bounds",
- "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
- "$ref": "Bounds"
+ "name": "unencodedDigestIssueDetails",
+ "optional": true,
+ "$ref": "UnencodedDigestIssueDetails"
+ },
+ {
+ "name": "userReidentificationIssueDetails",
+ "optional": true,
+ "$ref": "UserReidentificationIssueDetails"
}
]
},
{
- "name": "getWindowForTarget",
- "description": "Get the browser window that contains the devtools target.",
- "experimental": true,
+ "id": "IssueId",
+ "description": "A unique id for a DevTools inspector issue. Allows other entities (e.g.\nexceptions, CDP message, console messages, etc.) to reference an issue.",
+ "type": "string"
+ },
+ {
+ "id": "InspectorIssue",
+ "description": "An inspector issue reported from the back-end.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "code",
+ "$ref": "InspectorIssueCode"
+ },
+ {
+ "name": "details",
+ "$ref": "InspectorIssueDetails"
+ },
+ {
+ "name": "issueId",
+ "description": "A unique id for this issue. May be omitted if no other entity (e.g.\nexception, CDP message, etc.) is referencing this issue.",
+ "optional": true,
+ "$ref": "IssueId"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "getEncodedResponse",
+ "description": "Returns the response body and size if it were re-encoded with the specified settings. Only\napplies to images.",
"parameters": [
{
- "name": "targetId",
- "description": "Devtools agent host id. If called as a part of the session, associated targetId is used.",
+ "name": "requestId",
+ "description": "Identifier of the network request to get content for.",
+ "$ref": "Network.RequestId"
+ },
+ {
+ "name": "encoding",
+ "description": "The encoding to use.",
+ "type": "string",
+ "enum": [
+ "webp",
+ "jpeg",
+ "png"
+ ]
+ },
+ {
+ "name": "quality",
+ "description": "The quality of the encoding (0-1). (defaults to 1)",
"optional": true,
- "$ref": "Target.TargetID"
+ "type": "number"
+ },
+ {
+ "name": "sizeOnly",
+ "description": "Whether to only return the size information (defaults to false).",
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
{
- "name": "windowId",
- "description": "Browser window id.",
- "$ref": "WindowID"
+ "name": "body",
+ "description": "The encoded body as a base64 string. Omitted if sizeOnly is true. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "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": "originalSize",
+ "description": "Size before re-encoding.",
+ "type": "integer"
+ },
+ {
+ "name": "encodedSize",
+ "description": "Size after re-encoding.",
+ "type": "integer"
}
]
},
{
- "name": "setWindowBounds",
- "description": "Set position and/or size of the browser window.",
- "experimental": true,
+ "name": "disable",
+ "description": "Disables issues domain, prevents further issues from being reported to the client."
+ },
+ {
+ "name": "enable",
+ "description": "Enables issues domain, sends the issues collected so far to the client by means of the\n`issueAdded` event."
+ },
+ {
+ "name": "checkContrast",
+ "description": "Runs the contrast check for the target page. Found issues are reported\nusing Audits.issueAdded event.",
"parameters": [
{
- "name": "windowId",
- "description": "Browser window id.",
- "$ref": "WindowID"
- },
- {
- "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": "reportAAA",
+ "description": "Whether to report WCAG AAA level issues. Default is false.",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "name": "setDockTile",
- "description": "Set dock tile details, platform-specific.",
- "experimental": true,
- "parameters": [
- {
- "name": "badgeLabel",
- "optional": true,
- "type": "string"
- },
+ "name": "checkFormsIssues",
+ "description": "Runs the form issues check for the target page. Found issues are reported\nusing Audits.issueAdded event.",
+ "returns": [
{
- "name": "image",
- "description": "Png encoded image. (Encoded as a base64 string when passed over JSON)",
- "optional": true,
- "type": "string"
+ "name": "formIssues",
+ "type": "array",
+ "items": {
+ "$ref": "GenericIssueDetails"
+ }
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "executeBrowserCommand",
- "description": "Invoke custom browser commands used by telemetry.",
- "experimental": true,
+ "name": "issueAdded",
"parameters": [
{
- "name": "commandId",
- "$ref": "BrowserCommandId"
+ "name": "issue",
+ "$ref": "InspectorIssue"
}
]
}
]
},
{
- "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.",
+ "domain": "Extensions",
+ "description": "Defines commands and events for browser extensions.",
"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": "StorageArea",
+ "description": "Storage areas.",
"type": "string",
"enum": [
- "injected",
- "user-agent",
- "inspector",
- "regular"
+ "session",
+ "local",
+ "sync",
+ "managed"
]
- },
+ }
+ ],
+ "commands": [
{
- "id": "PseudoElementMatches",
- "description": "CSS rule collection for a single pseudo style.",
- "type": "object",
- "properties": [
+ "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": "pseudoType",
- "description": "Pseudo element type.",
- "$ref": "DOM.PseudoType"
- },
+ "name": "path",
+ "description": "Absolute file path.",
+ "type": "string"
+ }
+ ],
+ "returns": [
{
- "name": "matches",
- "description": "Matches of CSS rules applicable to the pseudo style.",
- "type": "array",
- "items": {
- "$ref": "RuleMatch"
- }
+ "name": "id",
+ "description": "Extension id.",
+ "type": "string"
}
]
},
{
- "id": "InheritedStyleEntry",
- "description": "Inherited CSS rule collection from ancestor node.",
- "type": "object",
- "properties": [
+ "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": "inlineStyle",
- "description": "The ancestor node's inline style, if any, in the style inheritance chain.",
- "optional": true,
- "$ref": "CSSStyle"
+ "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": "matchedCSSRules",
- "description": "Matches of CSS rules matching the ancestor node in the style inheritance chain.",
+ "name": "storageArea",
+ "description": "StorageArea to retrieve data from.",
+ "$ref": "StorageArea"
+ },
+ {
+ "name": "keys",
+ "description": "Keys to retrieve.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "RuleMatch"
+ "type": "string"
}
}
+ ],
+ "returns": [
+ {
+ "name": "data",
+ "type": "object"
+ }
]
},
{
- "id": "RuleMatch",
- "description": "Match data for a CSS rule.",
- "type": "object",
- "properties": [
+ "name": "removeStorageItems",
+ "description": "Removes `keys` from extension storage in the given `storageArea`.",
+ "parameters": [
{
- "name": "rule",
- "description": "CSS rule in the match.",
- "$ref": "CSSRule"
+ "name": "id",
+ "description": "ID of extension.",
+ "type": "string"
},
{
- "name": "matchingSelectors",
- "description": "Matching selector indices in the rule's selectorList selectors (0-based).",
+ "name": "storageArea",
+ "description": "StorageArea to remove data from.",
+ "$ref": "StorageArea"
+ },
+ {
+ "name": "keys",
+ "description": "Keys to remove.",
"type": "array",
"items": {
- "type": "integer"
+ "type": "string"
}
}
]
},
{
- "id": "Value",
- "description": "Data for a simple selector (these are delimited by commas in a selector list).",
- "type": "object",
- "properties": [
+ "name": "clearStorageItems",
+ "description": "Clears extension storage in the given `storageArea`.",
+ "parameters": [
{
- "name": "text",
- "description": "Value text.",
+ "name": "id",
+ "description": "ID of extension.",
"type": "string"
},
{
- "name": "range",
- "description": "Value range in the underlying resource (if available).",
- "optional": true,
- "$ref": "SourceRange"
+ "name": "storageArea",
+ "description": "StorageArea to remove data from.",
+ "$ref": "StorageArea"
}
]
},
{
- "id": "SelectorList",
- "description": "Selector list data.",
- "type": "object",
- "properties": [
+ "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": "selectors",
- "description": "Selectors in the list.",
- "type": "array",
- "items": {
- "$ref": "Value"
- }
+ "name": "id",
+ "description": "ID of extension.",
+ "type": "string"
},
{
- "name": "text",
- "description": "Rule selector text.",
- "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.",
+ "experimental": true,
+ "types": [
{
- "id": "CSSStyleSheetHeader",
- "description": "CSS stylesheet metainformation.",
+ "id": "CreditCard",
"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.",
+ "name": "number",
+ "description": "16-digit credit card number.",
"type": "string"
},
{
- "name": "sourceMapURL",
- "description": "URL of source map associated with the stylesheet (if any).",
- "optional": true,
+ "name": "name",
+ "description": "Name of the credit card owner.",
"type": "string"
},
{
- "name": "origin",
- "description": "Stylesheet origin.",
- "$ref": "StyleSheetOrigin"
- },
- {
- "name": "title",
- "description": "Stylesheet title.",
+ "name": "expiryMonth",
+ "description": "2-digit expiry month.",
"type": "string"
},
{
- "name": "ownerNode",
- "description": "The backend id for the owner node of the stylesheet.",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
- },
- {
- "name": "disabled",
- "description": "Denotes whether the stylesheet is disabled.",
- "type": "boolean"
- },
- {
- "name": "hasSourceURL",
- "description": "Whether the sourceURL field value comes from the sourceURL comment.",
- "optional": true,
- "type": "boolean"
- },
- {
- "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": "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": "isConstructed",
- "description": "Whether this stylesheet is a constructed stylesheet (created using new CSSStyleSheet()).",
- "type": "boolean"
- },
- {
- "name": "startLine",
- "description": "Line offset of the stylesheet within the resource (zero based).",
- "type": "number"
- },
- {
- "name": "startColumn",
- "description": "Column offset of the stylesheet within the resource (zero based).",
- "type": "number"
- },
- {
- "name": "length",
- "description": "Size of the content (in characters).",
- "type": "number"
- },
- {
- "name": "endLine",
- "description": "Line offset of the end of the stylesheet within the resource (zero based).",
- "type": "number"
+ "name": "expiryYear",
+ "description": "4-digit expiry year.",
+ "type": "string"
},
{
- "name": "endColumn",
- "description": "Column offset of the end of the stylesheet within the resource (zero based).",
- "type": "number"
+ "name": "cvc",
+ "description": "3-digit card verification code.",
+ "type": "string"
}
]
},
{
- "id": "CSSRule",
- "description": "CSS rule representation.",
+ "id": "AddressField",
"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": "selectorList",
- "description": "Rule selector data.",
- "$ref": "SelectorList"
- },
- {
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "name",
+ "description": "address field name, for example GIVEN_NAME.",
+ "type": "string"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
- },
+ "name": "value",
+ "description": "address field value, for example Jon Doe.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "AddressFields",
+ "description": "A list of address fields.",
+ "type": "object",
+ "properties": [
{
- "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,
+ "name": "fields",
"type": "array",
"items": {
- "$ref": "CSSMedia"
+ "$ref": "AddressField"
}
}
]
},
{
- "id": "RuleUsage",
- "description": "CSS coverage information.",
+ "id": "Address",
"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.",
- "$ref": "StyleSheetId"
- },
- {
- "name": "startOffset",
- "description": "Offset of the start of the rule (including selector) from the beginning of the stylesheet.",
- "type": "number"
- },
- {
- "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"
+ "name": "fields",
+ "description": "fields and values defining an address.",
+ "type": "array",
+ "items": {
+ "$ref": "AddressField"
+ }
}
]
},
{
- "id": "SourceRange",
- "description": "Text range within a resource. All numbers are zero-based.",
+ "id": "AddressUI",
+ "description": "Defines how an address can be displayed like in chrome://settings/addresses.\nAddress UI is a two dimensional array, each inner array is an \"address information line\", and when rendered in a UI surface should be displayed as such.\nThe following address UI for instance:\n[[{name: \"GIVE_NAME\", value: \"Jon\"}, {name: \"FAMILY_NAME\", value: \"Doe\"}], [{name: \"CITY\", value: \"Munich\"}, {name: \"ZIP\", value: \"81456\"}]]\nshould allow the receiver to render:\nJon Doe\nMunich 81456",
"type": "object",
"properties": [
{
- "name": "startLine",
- "description": "Start line of range.",
- "type": "integer"
- },
- {
- "name": "startColumn",
- "description": "Start column of range (inclusive).",
- "type": "integer"
- },
- {
- "name": "endLine",
- "description": "End line of range",
- "type": "integer"
- },
- {
- "name": "endColumn",
- "description": "End column of range (exclusive).",
- "type": "integer"
+ "name": "addressFields",
+ "description": "A two dimension array containing the representation of values from an address profile.",
+ "type": "array",
+ "items": {
+ "$ref": "AddressFields"
+ }
}
]
},
{
- "id": "ShorthandEntry",
+ "id": "FillingStrategy",
+ "description": "Specified whether a filled field was done so by using the html autocomplete attribute or autofill heuristics.",
+ "type": "string",
+ "enum": [
+ "autocompleteAttribute",
+ "autofillInferred"
+ ]
+ },
+ {
+ "id": "FilledField",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Shorthand name.",
+ "name": "htmlType",
+ "description": "The type of the field, e.g text, password etc.",
"type": "string"
},
{
- "name": "value",
- "description": "Shorthand value.",
+ "name": "id",
+ "description": "the html id",
"type": "string"
},
- {
- "name": "important",
- "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
- "optional": true,
- "type": "boolean"
- }
- ]
- },
- {
- "id": "CSSComputedStyleProperty",
- "type": "object",
- "properties": [
{
"name": "name",
- "description": "Computed style property name.",
+ "description": "the html name",
"type": "string"
},
{
"name": "value",
- "description": "Computed style property value.",
+ "description": "the field value",
"type": "string"
+ },
+ {
+ "name": "autofillType",
+ "description": "The actual field type, e.g FAMILY_NAME",
+ "type": "string"
+ },
+ {
+ "name": "fillingStrategy",
+ "description": "The filling strategy",
+ "$ref": "FillingStrategy"
+ },
+ {
+ "name": "frameId",
+ "description": "The frame the field belongs to",
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "fieldId",
+ "description": "The form field's DOM node",
+ "$ref": "DOM.BackendNodeId"
}
]
- },
+ }
+ ],
+ "events": [
{
- "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": "addressFormFilled",
+ "description": "Emitted when an address form is filled.",
+ "parameters": [
{
- "name": "cssProperties",
- "description": "CSS properties in the style.",
+ "name": "filledFields",
+ "description": "Information about the fields that were filled",
"type": "array",
"items": {
- "$ref": "CSSProperty"
+ "$ref": "FilledField"
}
},
{
- "name": "shorthandEntries",
- "description": "Computed values for all shorthands found in the style.",
- "type": "array",
- "items": {
- "$ref": "ShorthandEntry"
- }
+ "name": "addressUi",
+ "description": "An UI representation of the address used to fill the form.\nConsists of a 2D array where each child represents an address/profile line.",
+ "$ref": "AddressUI"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "trigger",
+ "description": "Trigger autofill on a form identified by the fieldId.\nIf the field and related form cannot be autofilled, returns an error.",
+ "parameters": [
+ {
+ "name": "fieldId",
+ "description": "Identifies a field that serves as an anchor for autofill.",
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "cssText",
- "description": "Style declaration text (if available).",
+ "name": "frameId",
+ "description": "Identifies the frame that field belongs to.",
"optional": true,
- "type": "string"
+ "$ref": "Page.FrameId"
},
{
- "name": "range",
- "description": "Style declaration range in the enclosing stylesheet (if available).",
- "optional": true,
- "$ref": "SourceRange"
+ "name": "card",
+ "description": "Credit card information to fill out the form. Credit card data is not saved.",
+ "$ref": "CreditCard"
}
]
},
{
- "id": "CSSProperty",
- "description": "CSS property declaration data.",
+ "name": "setAddresses",
+ "description": "Set addresses so that developers can verify their forms implementation.",
+ "parameters": [
+ {
+ "name": "addresses",
+ "type": "array",
+ "items": {
+ "$ref": "Address"
+ }
+ }
+ ]
+ },
+ {
+ "name": "disable",
+ "description": "Disables autofill domain notifications."
+ },
+ {
+ "name": "enable",
+ "description": "Enables autofill domain notifications."
+ }
+ ]
+ },
+ {
+ "domain": "BackgroundService",
+ "description": "Defines events for background web platform features.",
+ "experimental": true,
+ "types": [
+ {
+ "id": "ServiceName",
+ "description": "The Background Service that will be associated with the commands/events.\nEvery Background Service operates independently, but they share the same\nAPI.",
+ "type": "string",
+ "enum": [
+ "backgroundFetch",
+ "backgroundSync",
+ "pushMessaging",
+ "notifications",
+ "paymentHandler",
+ "periodicBackgroundSync"
+ ]
+ },
+ {
+ "id": "EventMetadata",
+ "description": "A key-value pair for additional event information to pass along.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "The property name.",
+ "name": "key",
"type": "string"
},
{
"name": "value",
- "description": "The property value.",
- "type": "string"
- },
- {
- "name": "important",
- "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "implicit",
- "description": "Whether the property is implicit (implies `false` if absent).",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "text",
- "description": "The full property text as specified in the style.",
- "optional": true,
"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).",
- "optional": true,
- "$ref": "SourceRange"
}
]
},
{
- "id": "CSSMedia",
- "description": "CSS media rule descriptor.",
+ "id": "BackgroundServiceEvent",
"type": "object",
"properties": [
{
- "name": "text",
- "description": "Media query text.",
+ "name": "timestamp",
+ "description": "Timestamp of the event (in seconds).",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "origin",
+ "description": "The origin this event belongs to.",
"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": "serviceWorkerRegistrationId",
+ "description": "The Service Worker ID that initiated the event.",
+ "$ref": "ServiceWorker.RegistrationID"
},
{
- "name": "sourceURL",
- "description": "URL of the document containing the media query description.",
- "optional": true,
- "type": "string"
+ "name": "service",
+ "description": "The Background Service this event belongs to.",
+ "$ref": "ServiceName"
},
{
- "name": "range",
- "description": "The associated rule (@media or @import) header range in the enclosing stylesheet (if\navailable).",
- "optional": true,
- "$ref": "SourceRange"
+ "name": "eventName",
+ "description": "A description of the event.",
+ "type": "string"
},
{
- "name": "styleSheetId",
- "description": "Identifier of the stylesheet containing this object (if exists).",
- "optional": true,
- "$ref": "StyleSheetId"
+ "name": "instanceId",
+ "description": "An identifier that groups related events together.",
+ "type": "string"
},
{
- "name": "mediaList",
- "description": "Array of media queries.",
- "optional": true,
+ "name": "eventMetadata",
+ "description": "A list of event-specific information.",
"type": "array",
"items": {
- "$ref": "MediaQuery"
+ "$ref": "EventMetadata"
}
+ },
+ {
+ "name": "storageKey",
+ "description": "Storage key this event belongs to.",
+ "type": "string"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "id": "MediaQuery",
- "description": "Media query descriptor.",
- "type": "object",
- "properties": [
- {
- "name": "expressions",
- "description": "Array of media query expressions.",
- "type": "array",
- "items": {
- "$ref": "MediaQueryExpression"
- }
- },
+ "name": "startObserving",
+ "description": "Enables event updates for the service.",
+ "parameters": [
{
- "name": "active",
- "description": "Whether the media query condition is satisfied.",
- "type": "boolean"
+ "name": "service",
+ "$ref": "ServiceName"
}
]
},
{
- "id": "MediaQueryExpression",
- "description": "Media query expression descriptor.",
- "type": "object",
- "properties": [
- {
- "name": "value",
- "description": "Media query expression value.",
- "type": "number"
- },
- {
- "name": "unit",
- "description": "Media query expression units.",
- "type": "string"
- },
- {
- "name": "feature",
- "description": "Media query expression feature.",
- "type": "string"
- },
- {
- "name": "valueRange",
- "description": "The associated range of the value text in the enclosing stylesheet (if available).",
- "optional": true,
- "$ref": "SourceRange"
- },
+ "name": "stopObserving",
+ "description": "Disables event updates for the service.",
+ "parameters": [
{
- "name": "computedLength",
- "description": "Computed length of media query expression (if applicable).",
- "optional": true,
- "type": "number"
+ "name": "service",
+ "$ref": "ServiceName"
}
]
},
{
- "id": "PlatformFontUsage",
- "description": "Information about amount of glyphs that were rendered with given font.",
- "type": "object",
- "properties": [
- {
- "name": "familyName",
- "description": "Font's family name reported by platform.",
- "type": "string"
- },
+ "name": "setRecording",
+ "description": "Set the recording state for the service.",
+ "parameters": [
{
- "name": "isCustomFont",
- "description": "Indicates if the font was downloaded or resolved locally.",
+ "name": "shouldRecord",
"type": "boolean"
},
{
- "name": "glyphCount",
- "description": "Amount of glyphs that were rendered with this font.",
- "type": "number"
+ "name": "service",
+ "$ref": "ServiceName"
}
]
},
{
- "id": "FontVariationAxis",
- "description": "Information about font variation axes for variable fonts",
- "type": "object",
- "properties": [
- {
- "name": "tag",
- "description": "The font-variation-setting tag (a.k.a. \"axis tag\").",
- "type": "string"
- },
- {
- "name": "name",
- "description": "Human-readable variation name in the default language (normally, \"en\").",
- "type": "string"
- },
+ "name": "clearEvents",
+ "description": "Clears all stored data for the service.",
+ "parameters": [
{
- "name": "minValue",
- "description": "The minimum value (inclusive) the font supports for this tag.",
- "type": "number"
- },
+ "name": "service",
+ "$ref": "ServiceName"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "recordingStateChanged",
+ "description": "Called when the recording state for the service has been updated.",
+ "parameters": [
{
- "name": "maxValue",
- "description": "The maximum value (inclusive) the font supports for this tag.",
- "type": "number"
+ "name": "isRecording",
+ "type": "boolean"
},
{
- "name": "defaultValue",
- "description": "The default value.",
- "type": "number"
+ "name": "service",
+ "$ref": "ServiceName"
}
]
},
{
- "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": "backgroundServiceEventReceived",
+ "description": "Called with all existing backgroundServiceEvents when enabled, and all new\nevents afterwards if enabled and recording.",
+ "parameters": [
{
- "name": "fontFamily",
- "description": "The font-family.",
- "type": "string"
+ "name": "backgroundServiceEvent",
+ "$ref": "BackgroundServiceEvent"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Browser",
+ "description": "The Browser domain defines methods and events for browser managing.",
+ "types": [
+ {
+ "id": "BrowserContextID",
+ "experimental": true,
+ "type": "string"
+ },
+ {
+ "id": "WindowID",
+ "experimental": true,
+ "type": "integer"
+ },
+ {
+ "id": "WindowState",
+ "description": "The state of the browser window.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "normal",
+ "minimized",
+ "maximized",
+ "fullscreen"
+ ]
+ },
+ {
+ "id": "Bounds",
+ "description": "Browser window bounds information",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "left",
+ "description": "The offset from the left edge of the screen to the window in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "fontStyle",
- "description": "The font-style.",
- "type": "string"
+ "name": "top",
+ "description": "The offset from the top edge of the screen to the window in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "fontVariant",
- "description": "The font-variant.",
- "type": "string"
+ "name": "width",
+ "description": "The window width in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "fontWeight",
- "description": "The font-weight.",
- "type": "string"
+ "name": "height",
+ "description": "The window height in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "fontStretch",
- "description": "The font-stretch.",
+ "name": "windowState",
+ "description": "The window state. Default to normal.",
+ "optional": true,
+ "$ref": "WindowState"
+ }
+ ]
+ },
+ {
+ "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": "PermissionDescriptor",
+ "description": "Definition of PermissionDescriptor defined in the Permissions API:\nhttps://w3c.github.io/permissions/#dom-permissiondescriptor.",
+ "experimental": true,
+ "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": "unicodeRange",
- "description": "The unicode-range.",
- "type": "string"
+ "name": "sysex",
+ "description": "For \"midi\" permission, may also specify sysex control.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "src",
- "description": "The src.",
- "type": "string"
+ "name": "userVisibleOnly",
+ "description": "For \"push\" permission, may specify userVisibleOnly.\nNote that userVisibleOnly = true is the only currently supported type.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "platformFontFamily",
- "description": "The resolved platform font family",
- "type": "string"
+ "name": "allowWithoutSanitization",
+ "description": "For \"clipboard\" permission, may specify allowWithoutSanitization.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "fontVariationAxes",
- "description": "Available variation settings (a.k.a. \"axes\").",
+ "name": "allowWithoutGesture",
+ "description": "For \"fullscreen\" permission, must specify allowWithoutGesture:true.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "FontVariationAxis"
- }
+ "type": "boolean"
+ },
+ {
+ "name": "panTiltZoom",
+ "description": "For \"camera\" permission, may specify panTiltZoom.",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "CSSKeyframesRule",
- "description": "CSS keyframes rule representation.",
- "type": "object",
- "properties": [
- {
- "name": "animationName",
- "description": "Animation name.",
- "$ref": "Value"
- },
- {
- "name": "keyframes",
- "description": "List of keyframes.",
- "type": "array",
- "items": {
- "$ref": "CSSKeyframeRule"
- }
- }
+ "id": "BrowserCommandId",
+ "description": "Browser command ids used by executeBrowserCommand.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "openTabSearch",
+ "closeTabSearch",
+ "openGlic"
]
},
{
- "id": "CSSKeyframeRule",
- "description": "CSS keyframe rule representation.",
+ "id": "Bucket",
+ "description": "Chrome histogram bucket.",
+ "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": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "low",
+ "description": "Minimum value (inclusive).",
+ "type": "integer"
},
{
- "name": "keyText",
- "description": "Associated key text.",
- "$ref": "Value"
+ "name": "high",
+ "description": "Maximum value (exclusive).",
+ "type": "integer"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
+ "name": "count",
+ "description": "Number of samples.",
+ "type": "integer"
}
]
},
{
- "id": "StyleDeclarationEdit",
- "description": "A descriptor of operation to mutate style declaration text.",
+ "id": "Histogram",
+ "description": "Chrome histogram.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier.",
- "$ref": "StyleSheetId"
+ "name": "name",
+ "description": "Name.",
+ "type": "string"
},
{
- "name": "range",
- "description": "The range of the style text in the enclosing stylesheet.",
- "$ref": "SourceRange"
+ "name": "sum",
+ "description": "Sum of sample values.",
+ "type": "integer"
},
{
- "name": "text",
- "description": "New style text.",
- "type": "string"
+ "name": "count",
+ "description": "Total number of samples.",
+ "type": "integer"
+ },
+ {
+ "name": "buckets",
+ "description": "Buckets.",
+ "type": "array",
+ "items": {
+ "$ref": "Bucket"
+ }
}
]
+ },
+ {
+ "id": "PrivacySandboxAPI",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "BiddingAndAuctionServices",
+ "TrustedKeyValue"
+ ]
}
],
"commands": [
{
- "name": "addRule",
- "description": "Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the\nposition specified by `location`.",
+ "name": "setPermission",
+ "description": "Set permission settings for given origin.",
+ "experimental": true,
"parameters": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier where a new rule should be inserted.",
- "$ref": "StyleSheetId"
- },
+ "name": "permission",
+ "description": "Descriptor of permission to override.",
+ "$ref": "PermissionDescriptor"
+ },
{
- "name": "ruleText",
- "description": "The text of a new rule.",
- "type": "string"
+ "name": "setting",
+ "description": "Setting of the permission.",
+ "$ref": "PermissionSetting"
},
{
- "name": "location",
- "description": "Text position of a new rule in the target style sheet.",
- "$ref": "SourceRange"
- }
- ],
- "returns": [
+ "name": "origin",
+ "description": "Origin the permission applies to, all origins if not specified.",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "rule",
- "description": "The newly created rule.",
- "$ref": "CSSRule"
+ "name": "browserContextId",
+ "description": "Context to override. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
},
{
- "name": "collectClassNames",
- "description": "Returns all class names from specified stylesheet.",
+ "name": "grantPermissions",
+ "description": "Grant specific permissions to the given origin and reject all others.",
+ "experimental": true,
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- }
- ],
- "returns": [
- {
- "name": "classNames",
- "description": "Class name list.",
+ "name": "permissions",
"type": "array",
"items": {
- "type": "string"
+ "$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"
}
]
},
{
- "name": "createStyleSheet",
- "description": "Creates a new special \"via-inspector\" stylesheet in the frame with given `frameId`.",
+ "name": "resetPermissions",
+ "description": "Reset all permission management for all origins.",
"parameters": [
{
- "name": "frameId",
- "description": "Identifier of the frame where \"via-inspector\" stylesheet should be created.",
- "$ref": "Page.FrameId"
- }
- ],
- "returns": [
- {
- "name": "styleSheetId",
- "description": "Identifier of the created \"via-inspector\" stylesheet.",
- "$ref": "StyleSheetId"
+ "name": "browserContextId",
+ "description": "BrowserContext to reset permissions. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
},
{
- "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.",
+ "name": "setDownloadBehavior",
+ "description": "Set the behavior when downloading a file.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "description": "The element id for which to force the pseudo state.",
- "$ref": "DOM.NodeId"
+ "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": "forcedPseudoClasses",
- "description": "Element pseudo classes to force when computing the element's style.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "browserContextId",
+ "description": "BrowserContext to set download behavior. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
+ },
+ {
+ "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": "eventsEnabled",
+ "description": "Whether to emit download events (defaults to false).",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "name": "getBackgroundColors",
+ "name": "cancelDownload",
+ "description": "Cancel a download if in progress",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to get background colors for.",
- "$ref": "DOM.NodeId"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
+ },
+ {
+ "name": "browserContextId",
+ "description": "BrowserContext to perform the action in. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
- ],
+ ]
+ },
+ {
+ "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": "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": {
- "type": "string"
- }
+ "name": "protocolVersion",
+ "description": "Protocol version.",
+ "type": "string"
},
{
- "name": "computedFontSize",
- "description": "The computed font size for this node, as a CSS computed value string (e.g. '12px').",
- "optional": true,
+ "name": "product",
+ "description": "Product name.",
"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,
+ "name": "revision",
+ "description": "Product revision.",
+ "type": "string"
+ },
+ {
+ "name": "userAgent",
+ "description": "User-Agent.",
+ "type": "string"
+ },
+ {
+ "name": "jsVersion",
+ "description": "V8 version.",
"type": "string"
}
]
},
{
- "name": "getComputedStyleForNode",
- "description": "Returns the computed style for a DOM node identified by `nodeId`.",
+ "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": "arguments",
+ "description": "Commandline parameters",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getHistograms",
+ "description": "Get Chrome histograms.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
+ "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": "delta",
+ "description": "If true, retrieve delta since last delta call.",
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
{
- "name": "computedStyle",
- "description": "Computed style for the specified DOM node.",
+ "name": "histograms",
+ "description": "Histograms.",
"type": "array",
"items": {
- "$ref": "CSSComputedStyleProperty"
+ "$ref": "Histogram"
}
}
]
},
{
- "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`.",
+ "name": "getHistogram",
+ "description": "Get a Chrome histogram by name.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
+ "name": "name",
+ "description": "Requested histogram name.",
+ "type": "string"
+ },
+ {
+ "name": "delta",
+ "description": "If true, retrieve delta since last delta call.",
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
{
- "name": "inlineStyle",
- "description": "Inline style for the specified DOM node.",
- "optional": true,
- "$ref": "CSSStyle"
- },
- {
- "name": "attributesStyle",
- "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
- "optional": true,
- "$ref": "CSSStyle"
+ "name": "histogram",
+ "description": "Histogram.",
+ "$ref": "Histogram"
}
]
},
{
- "name": "getMatchedStylesForNode",
- "description": "Returns requested styles for a DOM node identified by `nodeId`.",
+ "name": "getWindowBounds",
+ "description": "Get position and size of the browser window.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
}
],
"returns": [
{
- "name": "inlineStyle",
- "description": "Inline style for the specified DOM node.",
- "optional": true,
- "$ref": "CSSStyle"
- },
- {
- "name": "attributesStyle",
- "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
- "optional": true,
- "$ref": "CSSStyle"
- },
- {
- "name": "matchedCSSRules",
- "description": "CSS rules matching this node, from all applicable stylesheets.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "RuleMatch"
- }
- },
+ "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": "pseudoElements",
- "description": "Pseudo style matches for this node.",
+ "name": "targetId",
+ "description": "Devtools agent host id. If called as a part of the session, associated targetId is used.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "PseudoElementMatches"
- }
- },
+ "$ref": "Target.TargetID"
+ }
+ ],
+ "returns": [
{
- "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": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
},
{
- "name": "cssKeyframesRules",
- "description": "A list of CSS keyframed animations matching this node.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "CSSKeyframesRule"
- }
+ "name": "bounds",
+ "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
+ "$ref": "Bounds"
}
]
},
{
- "name": "getMediaQueries",
- "description": "Returns all media queries parsed by the rendering engine.",
- "returns": [
+ "name": "setWindowBounds",
+ "description": "Set position and/or size of the browser window.",
+ "experimental": true,
+ "parameters": [
{
- "name": "medias",
- "type": "array",
- "items": {
- "$ref": "CSSMedia"
- }
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
+ },
+ {
+ "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": "getPlatformFontsForNode",
- "description": "Requests information about platform fonts which we used to render child TextNodes in the given\nnode.",
+ "name": "setContentsSize",
+ "description": "Set size of the browser contents resizing browser window as necessary.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
+ },
{
- "name": "fonts",
- "description": "Usage statistics for every employed platform font.",
- "type": "array",
- "items": {
- "$ref": "PlatformFontUsage"
- }
+ "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": "height",
+ "description": "The window contents height in DIP. Assumes current height if omitted.\nMust be specified if 'width' is omitted.",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "getStyleSheetText",
- "description": "Returns the current textual content for a stylesheet.",
+ "name": "setDockTile",
+ "description": "Set dock tile details, platform-specific.",
+ "experimental": true,
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- }
- ],
- "returns": [
+ "name": "badgeLabel",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "text",
- "description": "The stylesheet text.",
+ "name": "image",
+ "description": "Png encoded image. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
"type": "string"
}
]
},
{
- "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.",
+ "name": "executeBrowserCommand",
+ "description": "Invoke custom browser commands used by telemetry.",
"experimental": true,
"parameters": [
{
- "name": "propertiesToTrack",
- "type": "array",
- "items": {
- "$ref": "CSSComputedStyleProperty"
- }
+ "name": "commandId",
+ "$ref": "BrowserCommandId"
}
]
},
{
- "name": "takeComputedStyleUpdates",
- "description": "Polls the next batch of computed style updates.",
- "experimental": true,
- "returns": [
+ "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": "nodeIds",
- "description": "The list of node Ids that have their tracked computed styles updated",
- "type": "array",
- "items": {
- "$ref": "DOM.NodeId"
- }
+ "name": "url",
+ "type": "string"
}
]
},
{
- "name": "setEffectivePropertyValueForNode",
- "description": "Find a rule with the given active property for the given node and set the new value for this\nproperty",
+ "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": "nodeId",
- "description": "The element id for which to set property.",
- "$ref": "DOM.NodeId"
+ "name": "api",
+ "$ref": "PrivacySandboxAPI"
},
{
- "name": "propertyName",
+ "name": "coordinatorOrigin",
"type": "string"
},
{
- "name": "value",
+ "name": "keyConfig",
"type": "string"
+ },
+ {
+ "name": "browserContextId",
+ "description": "BrowserContext to perform the action in. When omitted, default browser\ncontext is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "setKeyframeKey",
- "description": "Modifies the keyframe rule key text.",
+ "name": "downloadWillBegin",
+ "description": "Fired when page is about to start a download.",
+ "experimental": true,
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "frameId",
+ "description": "Id of the frame that caused the download to begin.",
+ "$ref": "Page.FrameId"
},
{
- "name": "range",
- "$ref": "SourceRange"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "keyText",
+ "name": "url",
+ "description": "URL of the resource being downloaded.",
"type": "string"
- }
- ],
- "returns": [
+ },
{
- "name": "keyText",
- "description": "The resulting key text after modification.",
- "$ref": "Value"
+ "name": "suggestedFilename",
+ "description": "Suggested file name of the resource (the actual name of the file saved on disk may differ).",
+ "type": "string"
}
]
},
{
- "name": "setMediaText",
- "description": "Modifies the rule selector.",
+ "name": "downloadProgress",
+ "description": "Fired when download makes progress. Last call has |done| == true.",
+ "experimental": true,
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "range",
- "$ref": "SourceRange"
+ "name": "totalBytes",
+ "description": "Total expected bytes to download.",
+ "type": "number"
},
{
- "name": "text",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "media",
- "description": "The resulting CSS media rule after modification.",
- "$ref": "CSSMedia"
- }
- ]
- },
- {
- "name": "setRuleSelector",
- "description": "Modifies the rule selector.",
- "parameters": [
- {
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "receivedBytes",
+ "description": "Total bytes received.",
+ "type": "number"
},
{
- "name": "range",
- "$ref": "SourceRange"
+ "name": "state",
+ "description": "Download status.",
+ "type": "string",
+ "enum": [
+ "inProgress",
+ "completed",
+ "canceled"
+ ]
},
{
- "name": "selector",
+ "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"
}
- ],
- "returns": [
- {
- "name": "selectorList",
- "description": "The resulting selector list after modification.",
- "$ref": "SelectorList"
- }
]
- },
- {
- "name": "setStyleSheetText",
- "description": "Sets the new stylesheet text.",
- "parameters": [
+ }
+ ]
+ },
+ {
+ "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.",
+ "type": "string",
+ "enum": [
+ "injected",
+ "user-agent",
+ "inspector",
+ "regular"
+ ]
+ },
+ {
+ "id": "PseudoElementMatches",
+ "description": "CSS rule collection for a single pseudo style.",
+ "type": "object",
+ "properties": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "pseudoType",
+ "description": "Pseudo element type.",
+ "$ref": "DOM.PseudoType"
},
{
- "name": "text",
+ "name": "pseudoIdentifier",
+ "description": "Pseudo element custom ident.",
+ "optional": true,
"type": "string"
+ },
+ {
+ "name": "matches",
+ "description": "Matches of CSS rules applicable to the pseudo style.",
+ "type": "array",
+ "items": {
+ "$ref": "RuleMatch"
+ }
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "CSSAnimationStyle",
+ "description": "CSS style coming from animations with the name of the animation.",
+ "type": "object",
+ "properties": [
{
- "name": "sourceMapURL",
- "description": "URL of source map associated with script (if any).",
+ "name": "name",
+ "description": "The name of the animation.",
"optional": true,
"type": "string"
+ },
+ {
+ "name": "style",
+ "description": "The style coming from the animation.",
+ "$ref": "CSSStyle"
}
]
},
{
- "name": "setStyleTexts",
- "description": "Applies specified style edits one after another in the given order.",
- "parameters": [
+ "id": "InheritedStyleEntry",
+ "description": "Inherited CSS rule collection from ancestor node.",
+ "type": "object",
+ "properties": [
{
- "name": "edits",
+ "name": "inlineStyle",
+ "description": "The ancestor node's inline style, if any, in the style inheritance chain.",
+ "optional": true,
+ "$ref": "CSSStyle"
+ },
+ {
+ "name": "matchedCSSRules",
+ "description": "Matches of CSS rules matching the ancestor node in the style inheritance chain.",
"type": "array",
"items": {
- "$ref": "StyleDeclarationEdit"
+ "$ref": "RuleMatch"
}
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "InheritedAnimatedStyleEntry",
+ "description": "Inherited CSS style collection for animated styles from ancestor node.",
+ "type": "object",
+ "properties": [
{
- "name": "styles",
- "description": "The resulting styles after modification.",
+ "name": "animationStyles",
+ "description": "Styles coming from the animations of the ancestor, if any, in the style inheritance chain.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "CSSStyle"
+ "$ref": "CSSAnimationStyle"
}
+ },
+ {
+ "name": "transitionsStyle",
+ "description": "The style coming from the transitions of the ancestor, if any, in the style inheritance chain.",
+ "optional": true,
+ "$ref": "CSSStyle"
}
]
},
{
- "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": [
+ "id": "InheritedPseudoElementMatches",
+ "description": "Inherited pseudo element matches from pseudos of an ancestor node.",
+ "type": "object",
+ "properties": [
{
- "name": "ruleUsage",
+ "name": "pseudoElements",
+ "description": "Matches of pseudo styles from the pseudos of an ancestor node.",
"type": "array",
"items": {
- "$ref": "RuleUsage"
+ "$ref": "PseudoElementMatches"
}
}
]
},
{
- "name": "takeCoverageDelta",
- "description": "Obtain list of rules that became used since last call to this method (or since start of coverage\ninstrumentation)",
- "returns": [
+ "id": "RuleMatch",
+ "description": "Match data for a CSS rule.",
+ "type": "object",
+ "properties": [
{
- "name": "coverage",
+ "name": "rule",
+ "description": "CSS rule in the match.",
+ "$ref": "CSSRule"
+ },
+ {
+ "name": "matchingSelectors",
+ "description": "Matching selector indices in the rule's selectorList selectors (0-based).",
"type": "array",
"items": {
- "$ref": "RuleUsage"
+ "type": "integer"
}
- },
- {
- "name": "timestamp",
- "description": "Monotonically increasing time, in seconds.",
- "type": "number"
}
]
},
{
- "name": "setLocalFontsEnabled",
- "description": "Enables/disables rendering of local CSS fonts (enabled by default).",
- "experimental": true,
- "parameters": [
+ "id": "Value",
+ "description": "Data for a simple selector (these are delimited by commas in a selector list).",
+ "type": "object",
+ "properties": [
{
- "name": "enabled",
- "description": "Whether rendering of local fonts is enabled.",
- "type": "boolean"
- }
- ]
- }
- ],
- "events": [
- {
- "name": "fontsUpdated",
- "description": "Fires whenever a web font is updated. A non-empty font parameter indicates a successfully loaded\nweb font",
- "parameters": [
+ "name": "text",
+ "description": "Value text.",
+ "type": "string"
+ },
{
- "name": "font",
- "description": "The web font that has loaded.",
+ "name": "range",
+ "description": "Value range in the underlying resource (if available).",
"optional": true,
- "$ref": "FontFace"
- }
- ]
- },
- {
- "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.",
- "parameters": [
+ "$ref": "SourceRange"
+ },
{
- "name": "header",
- "description": "Added stylesheet metainfo.",
- "$ref": "CSSStyleSheetHeader"
+ "name": "specificity",
+ "description": "Specificity of the selector.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Specificity"
}
]
},
{
- "name": "styleSheetChanged",
- "description": "Fired whenever a stylesheet is changed as a result of the client operation.",
- "parameters": [
+ "id": "Specificity",
+ "description": "Specificity:\nhttps://drafts.csswg.org/selectors/#specificity-rules",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "a",
+ "description": "The a component, which represents the number of ID selectors.",
+ "type": "integer"
+ },
+ {
+ "name": "b",
+ "description": "The b component, which represents the number of class selectors, attributes selectors, and\npseudo-classes.",
+ "type": "integer"
+ },
+ {
+ "name": "c",
+ "description": "The c component, which represents the number of type selectors and pseudo-elements.",
+ "type": "integer"
}
]
},
{
- "name": "styleSheetRemoved",
- "description": "Fired whenever an active document stylesheet is removed.",
- "parameters": [
+ "id": "SelectorList",
+ "description": "Selector list data.",
+ "type": "object",
+ "properties": [
{
- "name": "styleSheetId",
- "description": "Identifier of the removed stylesheet.",
- "$ref": "StyleSheetId"
+ "name": "selectors",
+ "description": "Selectors in the list.",
+ "type": "array",
+ "items": {
+ "$ref": "Value"
+ }
+ },
+ {
+ "name": "text",
+ "description": "Rule selector text.",
+ "type": "string"
}
]
- }
- ]
- },
- {
- "domain": "CacheStorage",
- "experimental": true,
- "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"
- ]
},
{
- "id": "DataEntry",
- "description": "Data entry.",
+ "id": "CSSStyleSheetHeader",
+ "description": "CSS stylesheet metainformation.",
"type": "object",
"properties": [
{
- "name": "requestURL",
- "description": "Request URL.",
- "type": "string"
+ "name": "styleSheetId",
+ "description": "The stylesheet identifier.",
+ "$ref": "StyleSheetId"
},
{
- "name": "requestMethod",
- "description": "Request method.",
+ "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).",
"type": "string"
},
{
- "name": "requestHeaders",
- "description": "Request headers",
- "type": "array",
- "items": {
- "$ref": "Header"
- }
+ "name": "sourceMapURL",
+ "description": "URL of source map associated with the stylesheet (if any).",
+ "optional": true,
+ "type": "string"
},
{
- "name": "responseTime",
- "description": "Number of seconds since epoch.",
- "type": "number"
+ "name": "origin",
+ "description": "Stylesheet origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "name": "responseStatus",
- "description": "HTTP response status code.",
- "type": "integer"
+ "name": "title",
+ "description": "Stylesheet title.",
+ "type": "string"
},
{
- "name": "responseStatusText",
- "description": "HTTP response status text.",
- "type": "string"
+ "name": "ownerNode",
+ "description": "The backend id for the owner node of the stylesheet.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "responseType",
- "description": "HTTP response type",
- "$ref": "CachedResponseType"
+ "name": "disabled",
+ "description": "Denotes whether the stylesheet is disabled.",
+ "type": "boolean"
},
{
- "name": "responseHeaders",
- "description": "Response headers",
- "type": "array",
- "items": {
- "$ref": "Header"
- }
- }
- ]
- },
- {
- "id": "Cache",
- "description": "Cache identifier.",
- "type": "object",
- "properties": [
+ "name": "hasSourceURL",
+ "description": "Whether the sourceURL field value comes from the sourceURL comment.",
+ "optional": true,
+ "type": "boolean"
+ },
{
- "name": "cacheId",
- "description": "An opaque unique id of the cache.",
- "$ref": "CacheId"
+ "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": "securityOrigin",
- "description": "Security origin of the cache.",
- "type": "string"
+ "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": "cacheName",
- "description": "The name of the cache.",
- "type": "string"
- }
- ]
- },
- {
- "id": "Header",
- "type": "object",
- "properties": [
+ "name": "isConstructed",
+ "description": "True if this stylesheet is created through new CSSStyleSheet() or imported as a\nCSS module script.",
+ "type": "boolean"
+ },
{
- "name": "name",
- "type": "string"
+ "name": "startLine",
+ "description": "Line offset of the stylesheet within the resource (zero based).",
+ "type": "number"
},
{
- "name": "value",
- "type": "string"
- }
- ]
- },
- {
- "id": "CachedResponse",
- "description": "Cached response",
- "type": "object",
- "properties": [
+ "name": "startColumn",
+ "description": "Column offset of the stylesheet within the resource (zero based).",
+ "type": "number"
+ },
{
- "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": "length",
+ "description": "Size of the content (in characters).",
+ "type": "number"
+ },
{
- "name": "cacheId",
- "description": "Id of cache for deletion.",
- "$ref": "CacheId"
- }
- ]
- },
- {
- "name": "deleteEntry",
- "description": "Deletes a cache entry.",
- "parameters": [
+ "name": "endLine",
+ "description": "Line offset of the end of the stylesheet within the resource (zero based).",
+ "type": "number"
+ },
{
- "name": "cacheId",
- "description": "Id of cache where the entry will be deleted.",
- "$ref": "CacheId"
+ "name": "endColumn",
+ "description": "Column offset of the end of the stylesheet within the resource (zero based).",
+ "type": "number"
},
{
- "name": "request",
- "description": "URL spec of the request.",
- "type": "string"
+ "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": "requestCacheNames",
- "description": "Requests cache names.",
- "parameters": [
+ "id": "CSSRule",
+ "description": "CSS rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
- }
- ],
- "returns": [
+ "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": "caches",
- "description": "Caches for the security origin.",
+ "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,
"type": "array",
"items": {
- "$ref": "Cache"
+ "type": "string"
}
- }
- ]
- },
- {
- "name": "requestCachedResponse",
- "description": "Fetches cache entry.",
- "parameters": [
+ },
{
- "name": "cacheId",
- "description": "Id of cache that contains the entry.",
- "$ref": "CacheId"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "name": "requestURL",
- "description": "URL spec of the request.",
- "type": "string"
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
},
{
- "name": "requestHeaders",
- "description": "headers of the request.",
+ "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": "Header"
+ "$ref": "CSSMedia"
}
- }
- ],
- "returns": [
- {
- "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": "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,
+ "type": "array",
+ "items": {
+ "$ref": "CSSContainerQuery"
+ }
},
{
- "name": "skipCount",
- "description": "Number of records to skip.",
+ "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,
- "type": "integer"
+ "type": "array",
+ "items": {
+ "$ref": "CSSSupports"
+ }
},
{
- "name": "pageSize",
- "description": "Number of records to fetch.",
+ "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": "integer"
+ "type": "array",
+ "items": {
+ "$ref": "CSSLayer"
+ }
},
{
- "name": "pathFilter",
- "description": "If present, only return the entries containing this substring in the path",
+ "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": "string"
- }
- ],
- "returns": [
+ "type": "array",
+ "items": {
+ "$ref": "CSSScope"
+ }
+ },
{
- "name": "cacheDataEntries",
- "description": "Array of object store data entries.",
+ "name": "ruleTypes",
+ "description": "The array keeps the types of ancestor CSSRules from the innermost going outwards.",
+ "experimental": true,
+ "optional": true,
"type": "array",
"items": {
- "$ref": "DataEntry"
+ "$ref": "CSSRuleType"
}
},
{
- "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": "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"
+ }
}
]
- }
- ]
- },
- {
- "domain": "Cast",
- "description": "A domain for interacting with Cast, Presentation API, and Remote Playback API\nfunctionalities.",
- "experimental": true,
- "types": [
+ },
{
- "id": "Sink",
+ "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",
- "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": "id",
- "type": "string"
+ "name": "startOffset",
+ "description": "Offset of the start of the rule (including selector) from the beginning of the stylesheet.",
+ "type": "number"
},
{
- "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": "endOffset",
+ "description": "Offset of the end of the rule body from the beginning of the stylesheet.",
+ "type": "number"
+ },
{
- "name": "presentationUrl",
- "optional": true,
- "type": "string"
+ "name": "used",
+ "description": "Indicates whether the rule was actually used by some element in the page.",
+ "type": "boolean"
}
]
},
{
- "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.",
- "parameters": [
+ "id": "SourceRange",
+ "description": "Text range within a resource. All numbers are zero-based.",
+ "type": "object",
+ "properties": [
{
- "name": "sinkName",
- "type": "string"
+ "name": "startLine",
+ "description": "Start line of range.",
+ "type": "integer"
+ },
+ {
+ "name": "startColumn",
+ "description": "Start column of range (inclusive).",
+ "type": "integer"
+ },
+ {
+ "name": "endLine",
+ "description": "End line of range",
+ "type": "integer"
+ },
+ {
+ "name": "endColumn",
+ "description": "End column of range (exclusive).",
+ "type": "integer"
}
]
},
{
- "name": "startTabMirroring",
- "description": "Starts mirroring the tab to the sink.",
- "parameters": [
+ "id": "ShorthandEntry",
+ "type": "object",
+ "properties": [
{
- "name": "sinkName",
+ "name": "name",
+ "description": "Shorthand name.",
"type": "string"
- }
- ]
- },
- {
- "name": "stopCasting",
- "description": "Stops the active Cast session on the sink.",
- "parameters": [
+ },
{
- "name": "sinkName",
+ "name": "value",
+ "description": "Shorthand value.",
"type": "string"
- }
- ]
- }
- ],
- "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": "sinks",
- "type": "array",
- "items": {
- "$ref": "Sink"
- }
+ "name": "important",
+ "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "name": "issueUpdated",
- "description": "This is fired whenever the outstanding issue/error message changes.\n|issueMessage| is empty if there is no issue.",
- "parameters": [
+ "id": "CSSComputedStyleProperty",
+ "type": "object",
+ "properties": [
{
- "name": "issueMessage",
+ "name": "name",
+ "description": "Computed style property name.",
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "description": "Computed style property value.",
"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": [
- {
- "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.",
+ "id": "CSSStyle",
+ "description": "CSS style representation.",
"type": "object",
"properties": [
{
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
+ "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": "nodeName",
- "description": "`Node`'s nodeName.",
+ "name": "cssProperties",
+ "description": "CSS properties in the style.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSProperty"
+ }
+ },
+ {
+ "name": "shorthandEntries",
+ "description": "Computed values for all shorthands found in the style.",
+ "type": "array",
+ "items": {
+ "$ref": "ShorthandEntry"
+ }
+ },
+ {
+ "name": "cssText",
+ "description": "Style declaration text (if available).",
+ "optional": true,
"type": "string"
},
{
- "name": "backendNodeId",
- "$ref": "BackendNodeId"
+ "name": "range",
+ "description": "Style declaration range in the enclosing stylesheet (if available).",
+ "optional": true,
+ "$ref": "SourceRange"
}
]
},
{
- "id": "PseudoType",
- "description": "Pseudo element type.",
- "type": "string",
- "enum": [
- "first-line",
- "first-letter",
- "before",
- "after",
- "marker",
- "backdrop",
- "selection",
- "target-text",
- "spelling-error",
- "grammar-error",
- "first-line-inherited",
- "scrollbar",
- "scrollbar-thumb",
- "scrollbar-button",
- "scrollbar-track",
- "scrollbar-track-piece",
- "scrollbar-corner",
- "resizer",
- "input-list-button"
- ]
- },
- {
- "id": "ShadowRootType",
- "description": "Shadow root type.",
- "type": "string",
- "enum": [
- "user-agent",
- "open",
- "closed"
- ]
- },
- {
- "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": "CSSProperty",
+ "description": "CSS property declaration data.",
"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": "name",
+ "description": "The property name.",
+ "type": "string"
},
{
- "name": "parentId",
- "description": "The id of the parent node if any.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "value",
+ "description": "The property value.",
+ "type": "string"
},
{
- "name": "backendNodeId",
- "description": "The BackendNodeId for this node.",
- "$ref": "BackendNodeId"
+ "name": "important",
+ "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
+ "name": "implicit",
+ "description": "Whether the property is implicit (implies `false` if absent).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
- "type": "string"
- },
- {
- "name": "localName",
- "description": "`Node`'s localName.",
+ "name": "text",
+ "description": "The full property text as specified in the style.",
+ "optional": true,
"type": "string"
},
{
- "name": "nodeValue",
- "description": "`Node`'s nodeValue.",
- "type": "string"
+ "name": "parsedOk",
+ "description": "Whether the property is understood by the browser (implies `true` if absent).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "childNodeCount",
- "description": "Child count for `Container` nodes.",
+ "name": "disabled",
+ "description": "Whether the property is disabled by the user (present for source-based properties only).",
"optional": true,
- "type": "integer"
+ "type": "boolean"
},
{
- "name": "children",
- "description": "Child nodes of this node when requested with children.",
+ "name": "range",
+ "description": "The entire property range in the enclosing style declaration (if available).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Node"
- }
+ "$ref": "SourceRange"
},
{
- "name": "attributes",
- "description": "Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.",
+ "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": {
- "type": "string"
+ "$ref": "CSSProperty"
}
- },
+ }
+ ]
+ },
+ {
+ "id": "CSSMedia",
+ "description": "CSS media rule descriptor.",
+ "type": "object",
+ "properties": [
{
- "name": "documentURL",
- "description": "Document URL that `Document` or `FrameOwner` node points to.",
- "optional": true,
+ "name": "text",
+ "description": "Media query text.",
"type": "string"
},
{
- "name": "baseURL",
- "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
- "optional": true,
- "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": "publicId",
- "description": "`DocumentType`'s publicId.",
+ "name": "sourceURL",
+ "description": "URL of the document containing the media query description.",
"optional": true,
"type": "string"
},
{
- "name": "systemId",
- "description": "`DocumentType`'s systemId.",
+ "name": "range",
+ "description": "The associated rule (@media or @import) header range in the enclosing stylesheet (if\navailable).",
"optional": true,
- "type": "string"
+ "$ref": "SourceRange"
},
{
- "name": "internalSubset",
- "description": "`DocumentType`'s internalSubset.",
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
"optional": true,
- "type": "string"
+ "$ref": "StyleSheetId"
},
{
- "name": "xmlVersion",
- "description": "`Document`'s XML version in case of XML documents.",
+ "name": "mediaList",
+ "description": "Array of media queries.",
"optional": true,
- "type": "string"
- },
+ "type": "array",
+ "items": {
+ "$ref": "MediaQuery"
+ }
+ }
+ ]
+ },
+ {
+ "id": "MediaQuery",
+ "description": "Media query descriptor.",
+ "type": "object",
+ "properties": [
{
- "name": "name",
- "description": "`Attr`'s name.",
- "optional": true,
- "type": "string"
+ "name": "expressions",
+ "description": "Array of media query expressions.",
+ "type": "array",
+ "items": {
+ "$ref": "MediaQueryExpression"
+ }
},
+ {
+ "name": "active",
+ "description": "Whether the media query condition is satisfied.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "MediaQueryExpression",
+ "description": "Media query expression descriptor.",
+ "type": "object",
+ "properties": [
{
"name": "value",
- "description": "`Attr`'s value.",
- "optional": true,
+ "description": "Media query expression value.",
+ "type": "number"
+ },
+ {
+ "name": "unit",
+ "description": "Media query expression units.",
"type": "string"
},
{
- "name": "pseudoType",
- "description": "Pseudo element type for this node.",
- "optional": true,
- "$ref": "PseudoType"
+ "name": "feature",
+ "description": "Media query expression feature.",
+ "type": "string"
},
{
- "name": "shadowRootType",
- "description": "Shadow root type.",
+ "name": "valueRange",
+ "description": "The associated range of the value text in the enclosing stylesheet (if available).",
"optional": true,
- "$ref": "ShadowRootType"
+ "$ref": "SourceRange"
},
{
- "name": "frameId",
- "description": "Frame ID for frame owner elements.",
+ "name": "computedLength",
+ "description": "Computed length of media query expression (if applicable).",
"optional": true,
- "$ref": "Page.FrameId"
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "id": "CSSContainerQuery",
+ "description": "CSS container query rule descriptor.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "text",
+ "description": "Container query text.",
+ "type": "string"
},
{
- "name": "contentDocument",
- "description": "Content document for frame owner elements.",
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
"optional": true,
- "$ref": "Node"
+ "$ref": "SourceRange"
},
{
- "name": "shadowRoots",
- "description": "Shadow root list for given element host.",
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Node"
- }
+ "$ref": "StyleSheetId"
},
{
- "name": "templateContent",
- "description": "Content document fragment for template elements.",
+ "name": "name",
+ "description": "Optional name for the container.",
"optional": true,
- "$ref": "Node"
+ "type": "string"
},
{
- "name": "pseudoElements",
- "description": "Pseudo elements associated with this node.",
+ "name": "physicalAxes",
+ "description": "Optional physical axes queried for the container.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Node"
- }
+ "$ref": "DOM.PhysicalAxes"
},
{
- "name": "importedDocument",
- "description": "Import document for the HTMLImport links.",
+ "name": "logicalAxes",
+ "description": "Optional logical axes queried for the container.",
"optional": true,
- "$ref": "Node"
+ "$ref": "DOM.LogicalAxes"
},
{
- "name": "distributedNodes",
- "description": "Distributed nodes for given insertion point.",
+ "name": "queriesScrollState",
+ "description": "true if the query contains scroll-state() queries.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "BackendNode"
- }
+ "type": "boolean"
},
{
- "name": "isSVG",
- "description": "Whether the node is SVG.",
+ "name": "queriesAnchored",
+ "description": "true if the query contains anchored() queries.",
"optional": true,
"type": "boolean"
}
]
},
{
- "id": "RGBA",
- "description": "A structure holding an RGBA color.",
+ "id": "CSSSupports",
+ "description": "CSS Supports at-rule descriptor.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "r",
- "description": "The red component, in the [0-255] range.",
- "type": "integer"
+ "name": "text",
+ "description": "Supports rule text.",
+ "type": "string"
},
{
- "name": "g",
- "description": "The green component, in the [0-255] range.",
- "type": "integer"
+ "name": "active",
+ "description": "Whether the supports condition is satisfied.",
+ "type": "boolean"
},
{
- "name": "b",
- "description": "The blue component, in the [0-255] range.",
- "type": "integer"
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "a",
- "description": "The alpha component, in the [0-1] range (default: 1).",
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
"optional": true,
- "type": "number"
+ "$ref": "StyleSheetId"
}
]
},
{
- "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.",
+ "id": "CSSScope",
+ "description": "CSS Scope at-rule descriptor.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "content",
- "description": "Content box",
- "$ref": "Quad"
+ "name": "text",
+ "description": "Scope rule text.",
+ "type": "string"
},
{
- "name": "padding",
- "description": "Padding box",
- "$ref": "Quad"
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "border",
- "description": "Border box",
- "$ref": "Quad"
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
+ "optional": true,
+ "$ref": "StyleSheetId"
+ }
+ ]
+ },
+ {
+ "id": "CSSLayer",
+ "description": "CSS Layer at-rule descriptor.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "text",
+ "description": "Layer name.",
+ "type": "string"
},
{
- "name": "margin",
- "description": "Margin box",
- "$ref": "Quad"
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "width",
- "description": "Node width",
- "type": "integer"
- },
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
+ "optional": true,
+ "$ref": "StyleSheetId"
+ }
+ ]
+ },
+ {
+ "id": "CSSStartingStyle",
+ "description": "CSS Starting Style at-rule descriptor.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "height",
- "description": "Node height",
- "type": "integer"
+ "name": "range",
+ "description": "The associated rule header range in the enclosing stylesheet (if\navailable).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "shapeOutside",
- "description": "Shape outside coordinates",
+ "name": "styleSheetId",
+ "description": "Identifier of the stylesheet containing this object (if exists).",
"optional": true,
- "$ref": "ShapeOutsideInfo"
+ "$ref": "StyleSheetId"
}
]
},
{
- "id": "ShapeOutsideInfo",
- "description": "CSS Shape Outside details.",
+ "id": "CSSLayerData",
+ "description": "CSS Layer data.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "bounds",
- "description": "Shape bounds",
- "$ref": "Quad"
+ "name": "name",
+ "description": "Layer name.",
+ "type": "string"
},
{
- "name": "shape",
- "description": "Shape coordinate details",
+ "name": "subLayers",
+ "description": "Direct sub-layers",
+ "optional": true,
"type": "array",
"items": {
- "type": "any"
+ "$ref": "CSSLayerData"
}
},
{
- "name": "marginShape",
- "description": "Margin shape bounds",
- "type": "array",
- "items": {
- "type": "any"
- }
+ "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": "Rect",
- "description": "Rectangle.",
+ "id": "PlatformFontUsage",
+ "description": "Information about amount of glyphs that were rendered with given font.",
"type": "object",
"properties": [
{
- "name": "x",
- "description": "X coordinate",
- "type": "number"
+ "name": "familyName",
+ "description": "Font's family name reported by platform.",
+ "type": "string"
},
{
- "name": "y",
- "description": "Y coordinate",
- "type": "number"
+ "name": "postScriptName",
+ "description": "Font's PostScript name reported by platform.",
+ "type": "string"
},
{
- "name": "width",
- "description": "Rectangle width",
- "type": "number"
+ "name": "isCustomFont",
+ "description": "Indicates if the font was downloaded or resolved locally.",
+ "type": "boolean"
},
{
- "name": "height",
- "description": "Rectangle height",
+ "name": "glyphCount",
+ "description": "Amount of glyphs that were rendered with this font.",
"type": "number"
}
]
},
{
- "id": "CSSComputedStyleProperty",
+ "id": "FontVariationAxis",
+ "description": "Information about font variation axes for variable fonts",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Computed style property name.",
+ "name": "tag",
+ "description": "The font-variation-setting tag (a.k.a. \"axis tag\").",
"type": "string"
},
{
- "name": "value",
- "description": "Computed style property value.",
+ "name": "name",
+ "description": "Human-readable variation name in the default language (normally, \"en\").",
"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": "nodeId",
- "description": "Id of the node to collect class names.",
- "$ref": "NodeId"
- }
- ],
- "returns": [
+ "name": "minValue",
+ "description": "The minimum value (inclusive) the font supports for this tag.",
+ "type": "number"
+ },
{
- "name": "classNames",
- "description": "Class name list.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "maxValue",
+ "description": "The maximum value (inclusive) the font supports for this tag.",
+ "type": "number"
+ },
+ {
+ "name": "defaultValue",
+ "description": "The default value.",
+ "type": "number"
}
]
},
{
- "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": [
+ "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": "nodeId",
- "description": "Id of the node to copy.",
- "$ref": "NodeId"
+ "name": "fontFamily",
+ "description": "The font-family.",
+ "type": "string"
},
{
- "name": "targetNodeId",
- "description": "Id of the element to drop the copy into.",
- "$ref": "NodeId"
+ "name": "fontStyle",
+ "description": "The font-style.",
+ "type": "string"
},
{
- "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": "fontVariant",
+ "description": "The font-variant.",
+ "type": "string"
+ },
{
- "name": "nodeId",
- "description": "Id of the node clone.",
- "$ref": "NodeId"
- }
- ]
- },
- {
- "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": "fontWeight",
+ "description": "The font-weight.",
+ "type": "string"
+ },
{
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "fontStretch",
+ "description": "The font-stretch.",
+ "type": "string"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
- "$ref": "BackendNodeId"
+ "name": "fontDisplay",
+ "description": "The font-display.",
+ "type": "string"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "name": "unicodeRange",
+ "description": "The unicode-range.",
+ "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": "src",
+ "description": "The src.",
+ "type": "string"
},
{
- "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": "platformFontFamily",
+ "description": "The resolved platform font family",
+ "type": "string"
+ },
{
- "name": "node",
- "description": "Node description.",
- "$ref": "Node"
+ "name": "fontVariationAxes",
+ "description": "Available variation settings (a.k.a. \"axes\").",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "FontVariationAxis"
+ }
}
]
},
{
- "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.",
- "experimental": true,
- "parameters": [
- {
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
- },
+ "id": "CSSTryRule",
+ "description": "CSS try rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "backendNodeId",
- "description": "Identifier of the backend 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": "BackendNodeId"
+ "$ref": "StyleSheetId"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "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": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
}
]
},
{
- "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": [
+ "id": "CSSPositionTryRule",
+ "description": "CSS @position-try rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "searchId",
- "description": "Unique search session identifier.",
- "type": "string"
- }
- ]
- },
- {
- "name": "enable",
- "description": "Enables DOM agent for the given page."
- },
- {
- "name": "focus",
- "description": "Focuses the given element.",
- "parameters": [
+ "name": "name",
+ "description": "The prelude dashed-ident name",
+ "$ref": "Value"
+ },
{
- "name": "nodeId",
- "description": "Identifier of the 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": "NodeId"
+ "$ref": "StyleSheetId"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
- "$ref": "BackendNodeId"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
+ },
+ {
+ "name": "active",
+ "type": "boolean"
}
]
},
{
- "name": "getAttributes",
- "description": "Returns attributes for the specified node.",
- "parameters": [
+ "id": "CSSKeyframesRule",
+ "description": "CSS keyframes rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Id of the node to retrieve attibutes for.",
- "$ref": "NodeId"
- }
- ],
- "returns": [
+ "name": "animationName",
+ "description": "Animation name.",
+ "$ref": "Value"
+ },
{
- "name": "attributes",
- "description": "An interleaved array of node attribute names and values.",
+ "name": "keyframes",
+ "description": "List of keyframes.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "CSSKeyframeRule"
}
}
]
},
{
- "name": "getBoxModel",
- "description": "Returns boxes for the given node.",
- "parameters": [
+ "id": "CSSPropertyRegistration",
+ "description": "Representation of a custom property registration through CSS.registerProperty",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "propertyName",
+ "type": "string"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
+ "name": "initialValue",
"optional": true,
- "$ref": "BackendNodeId"
+ "$ref": "Value"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
+ "name": "inherits",
+ "type": "boolean"
+ },
{
- "name": "model",
- "description": "Box model for the node.",
- "$ref": "BoxModel"
+ "name": "syntax",
+ "type": "string"
}
]
},
{
- "name": "getContentQuads",
- "description": "Returns quads that describe node position on the page. This method\nmight return multiple quads for inline nodes.",
- "experimental": true,
- "parameters": [
+ "id": "CSSFontPaletteValuesRule",
+ "description": "CSS font-palette-values rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Identifier of the 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": "NodeId"
+ "$ref": "StyleSheetId"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
- "$ref": "BackendNodeId"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
+ "name": "fontPaletteName",
+ "description": "Associated font palette name.",
+ "$ref": "Value"
+ },
{
- "name": "quads",
- "description": "Quads that describe node layout relative to viewport.",
- "type": "array",
- "items": {
- "$ref": "Quad"
- }
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
}
]
},
{
- "name": "getDocument",
- "description": "Returns the root DOM node (and optionally the subtree) to the caller.",
- "parameters": [
+ "id": "CSSPropertyRule",
+ "description": "CSS property at-rule representation.",
+ "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.",
+ "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": "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": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
+ },
{
- "name": "root",
- "description": "Resulting node.",
- "$ref": "Node"
+ "name": "propertyName",
+ "description": "Associated property name.",
+ "$ref": "Value"
+ },
+ {
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
}
]
},
{
- "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": [
+ "id": "CSSFunctionParameter",
+ "description": "CSS function argument representation.",
+ "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,
- "type": "integer"
+ "name": "name",
+ "description": "The parameter name.",
+ "type": "string"
},
{
- "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": "nodes",
- "description": "Resulting node.",
- "type": "array",
- "items": {
- "$ref": "Node"
- }
+ "name": "type",
+ "description": "The parameter type.",
+ "type": "string"
}
]
},
{
- "name": "getNodesForSubtreeByStyle",
- "description": "Finds nodes with a given computed style in a subtree.",
- "experimental": true,
- "parameters": [
+ "id": "CSSFunctionConditionNode",
+ "description": "CSS function conditional block representation.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Node ID pointing to the root of a subtree.",
- "$ref": "NodeId"
+ "name": "media",
+ "description": "Media query for this conditional block. Only one type of condition should be set.",
+ "optional": true,
+ "$ref": "CSSMedia"
},
{
- "name": "computedStyles",
- "description": "The style to filter nodes by (includes nodes if any of properties matches).",
- "type": "array",
- "items": {
- "$ref": "CSSComputedStyleProperty"
- }
+ "name": "containerQueries",
+ "description": "Container query for this conditional block. Only one type of condition should be set.",
+ "optional": true,
+ "$ref": "CSSContainerQuery"
},
{
- "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": "supports",
+ "description": "@supports CSS at-rule condition. Only one type of condition should be set.",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "$ref": "CSSSupports"
+ },
{
- "name": "nodeIds",
- "description": "Resulting nodes.",
+ "name": "children",
+ "description": "Block body.",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "$ref": "CSSFunctionNode"
}
+ },
+ {
+ "name": "conditionText",
+ "description": "The condition text.",
+ "type": "string"
}
]
},
{
- "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"
- },
+ "id": "CSSFunctionNode",
+ "description": "Section of the body of a CSS function rule.",
+ "type": "object",
+ "properties": [
{
- "name": "includeUserAgentShadowDOM",
- "description": "False to skip to the nearest non-UA shadow root ancestor (default: false).",
+ "name": "condition",
+ "description": "A conditional block. If set, style should not be set.",
"optional": true,
- "type": "boolean"
+ "$ref": "CSSFunctionConditionNode"
},
{
- "name": "ignorePointerEventsNone",
- "description": "Whether to ignore pointer-events: none on elements and hit test them.",
+ "name": "style",
+ "description": "Values set by this node. If set, condition should not be set.",
"optional": true,
- "type": "boolean"
+ "$ref": "CSSStyle"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "CSSFunctionRule",
+ "description": "CSS function at-rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "backendNodeId",
- "description": "Resulting node.",
- "$ref": "BackendNodeId"
+ "name": "name",
+ "description": "Name of the function.",
+ "$ref": "Value"
},
{
- "name": "frameId",
- "description": "Frame this node belongs to.",
- "$ref": "Page.FrameId"
+ "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": "nodeId",
- "description": "Id of the node at given coordinates, only when enabled and requested document.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
+ },
+ {
+ "name": "parameters",
+ "description": "List of parameters.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSFunctionParameter"
+ }
+ },
+ {
+ "name": "children",
+ "description": "Function body.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSFunctionNode"
+ }
}
]
},
{
- "name": "getOuterHTML",
- "description": "Returns node's HTML markup.",
- "parameters": [
+ "id": "CSSKeyframeRule",
+ "description": "CSS keyframe rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Identifier of the 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": "NodeId"
+ "$ref": "StyleSheetId"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
- "$ref": "BackendNodeId"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
+ "name": "keyText",
+ "description": "Associated key text.",
+ "$ref": "Value"
+ },
{
- "name": "outerHTML",
- "description": "Outer HTML markup.",
- "type": "string"
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
}
]
},
{
- "name": "getRelayoutBoundary",
- "description": "Returns the id of the nearest ancestor that is a relayout boundary.",
- "experimental": true,
- "parameters": [
+ "id": "StyleDeclarationEdit",
+ "description": "A descriptor of operation to mutate style declaration text.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Id of the node.",
- "$ref": "NodeId"
- }
- ],
- "returns": [
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier.",
+ "$ref": "StyleSheetId"
+ },
{
- "name": "nodeId",
- "description": "Relayout boundary node id for the given node.",
- "$ref": "NodeId"
+ "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": "getSearchResults",
- "description": "Returns search results from given `fromIndex` to given `toIndex` from the search with the given\nidentifier.",
- "experimental": true,
+ "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": "searchId",
- "description": "Unique search session identifier.",
+ "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": "fromIndex",
- "description": "Start index of the search result to be returned.",
- "type": "integer"
+ "name": "location",
+ "description": "Text position of a new rule in the target style sheet.",
+ "$ref": "SourceRange"
},
{
- "name": "toIndex",
- "description": "End index of the search result to be returned.",
- "type": "integer"
+ "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": "nodeIds",
- "description": "Ids of the search result nodes.",
- "type": "array",
- "items": {
- "$ref": "NodeId"
- }
+ "name": "rule",
+ "description": "The newly created rule.",
+ "$ref": "CSSRule"
}
]
},
{
- "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": "collectClassNames",
+ "description": "Returns all class names from specified stylesheet.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to move.",
- "$ref": "NodeId"
- },
- {
- "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"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
}
],
"returns": [
{
- "name": "nodeId",
- "description": "New id of the moved node.",
- "$ref": "NodeId"
+ "name": "classNames",
+ "description": "Class name list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "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": "createStyleSheet",
+ "description": "Creates a new special \"via-inspector\" stylesheet in the frame with given `frameId`.",
"parameters": [
{
- "name": "query",
- "description": "Plain text or query selector or XPath search query.",
- "type": "string"
+ "name": "frameId",
+ "description": "Identifier of the frame where \"via-inspector\" stylesheet should be created.",
+ "$ref": "Page.FrameId"
},
{
- "name": "includeUserAgentShadowDOM",
- "description": "True to search in user agent shadow DOM.",
+ "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": "searchId",
- "description": "Unique search session identifier.",
- "type": "string"
- },
- {
- "name": "resultCount",
- "description": "Number of search results.",
- "type": "integer"
+ "name": "styleSheetId",
+ "description": "Identifier of the created \"via-inspector\" stylesheet.",
+ "$ref": "StyleSheetId"
}
]
},
{
- "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 for given path.",
- "$ref": "NodeId"
- }
- ]
+ "name": "disable",
+ "description": "Disables the CSS agent for the given page."
},
{
- "name": "pushNodesByBackendIdsToFrontend",
- "description": "Requests that a batch of nodes is sent to the caller given their backend node ids.",
- "experimental": true,
+ "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": "backendNodeIds",
- "description": "The array of backend node ids.",
- "type": "array",
- "items": {
- "$ref": "BackendNodeId"
- }
- }
- ],
- "returns": [
+ "name": "nodeId",
+ "description": "The element id for which to force the pseudo state.",
+ "$ref": "DOM.NodeId"
+ },
{
- "name": "nodeIds",
- "description": "The array of ids of pushed nodes that correspond to the backend ids specified in\nbackendNodeIds.",
+ "name": "forcedPseudoClasses",
+ "description": "Element pseudo classes to force when computing the element's style.",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "type": "string"
}
}
]
},
{
- "name": "querySelector",
- "description": "Executes `querySelector` on a given node.",
+ "name": "forceStartingStyle",
+ "description": "Ensures that the given node is in its starting-style state.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to query upon.",
- "$ref": "NodeId"
+ "description": "The element id for which to force the starting-style state.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "selector",
- "description": "Selector string.",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "nodeId",
- "description": "Query selector result.",
- "$ref": "NodeId"
+ "name": "forced",
+ "description": "Boolean indicating if this is on or off.",
+ "type": "boolean"
}
]
},
{
- "name": "querySelectorAll",
- "description": "Executes `querySelectorAll` on a given node.",
+ "name": "getBackgroundColors",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to query upon.",
- "$ref": "NodeId"
- },
- {
- "name": "selector",
- "description": "Selector string.",
- "type": "string"
+ "description": "Id of the node to get background colors for.",
+ "$ref": "DOM.NodeId"
}
],
"returns": [
{
- "name": "nodeIds",
- "description": "Query selector result.",
+ "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": "NodeId"
+ "type": "string"
}
- }
- ]
- },
- {
- "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 element to remove attribute from.",
- "$ref": "NodeId"
- },
- {
- "name": "name",
- "description": "Name of the attribute to remove.",
- "type": "string"
- }
- ]
- },
- {
- "name": "removeNode",
- "description": "Removes node with given id.",
- "parameters": [
- {
- "name": "nodeId",
- "description": "Id of the node to remove.",
- "$ref": "NodeId"
- }
- ]
- },
- {
- "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 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.",
+ "name": "computedFontSize",
+ "description": "The computed font size for this node, as a CSS computed value string (e.g. '12px').",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "pierce",
- "description": "Whether or not iframes and shadow roots should be traversed when returning the sub-tree\n(default is false).",
+ "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": "boolean"
+ "type": "string"
}
]
},
{
- "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": "getComputedStyleForNode",
+ "description": "Returns the computed style for a DOM node identified by `nodeId`.",
"parameters": [
{
- "name": "objectId",
- "description": "JavaScript object id to convert into node.",
- "$ref": "Runtime.RemoteObjectId"
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
}
],
"returns": [
{
- "name": "nodeId",
- "description": "Node id for given object.",
- "$ref": "NodeId"
+ "name": "computedStyle",
+ "description": "Computed style for the specified DOM node.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSComputedStyleProperty"
+ }
}
]
},
{
- "name": "resolveNode",
- "description": "Resolves the JavaScript node object for a given NodeId or BackendNodeId.",
+ "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": "Id of the node to resolve.",
- "optional": true,
- "$ref": "NodeId"
+ "description": "Id of the node in whose context the expression is evaluated",
+ "$ref": "DOM.NodeId"
},
{
- "name": "backendNodeId",
- "description": "Backend identifier of the node to resolve.",
+ "name": "propertyName",
+ "description": "Only longhands and custom property names are accepted.",
"optional": true,
- "$ref": "DOM.BackendNodeId"
+ "type": "string"
},
{
- "name": "objectGroup",
- "description": "Symbolic group name that can be used to release multiple objects.",
+ "name": "pseudoType",
+ "description": "Pseudo element type, only works for pseudo elements that generate\nelements in the tree, such as ::before and ::after.",
"optional": true,
- "type": "string"
+ "$ref": "DOM.PseudoType"
},
{
- "name": "executionContextId",
- "description": "Execution context in which to resolve the node.",
+ "name": "pseudoIdentifier",
+ "description": "Pseudo element custom ident.",
"optional": true,
- "$ref": "Runtime.ExecutionContextId"
+ "type": "string"
}
],
"returns": [
{
- "name": "object",
- "description": "JavaScript object wrapper for given node.",
- "$ref": "Runtime.RemoteObject"
+ "name": "results",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "setAttributeValue",
- "description": "Sets attribute for an element with given id.",
+ "name": "getLonghandProperties",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the element to set attribute for.",
- "$ref": "NodeId"
- },
- {
- "name": "name",
- "description": "Attribute name.",
+ "name": "shorthandName",
"type": "string"
},
{
"name": "value",
- "description": "Attribute value.",
"type": "string"
}
+ ],
+ "returns": [
+ {
+ "name": "longhandProperties",
+ "type": "array",
+ "items": {
+ "$ref": "CSSProperty"
+ }
+ }
]
},
{
- "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.",
+ "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",
- "description": "Id of the element to set attributes for.",
- "$ref": "NodeId"
- },
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "text",
- "description": "Text with a number of attributes. Will parse this text using HTML parser.",
- "type": "string"
+ "name": "inlineStyle",
+ "description": "Inline style for the specified DOM node.",
+ "optional": true,
+ "$ref": "CSSStyle"
},
{
- "name": "name",
- "description": "Attribute name to replace with new attributes derived from text in case text parsed\nsuccessfully.",
+ "name": "attributesStyle",
+ "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
"optional": true,
- "type": "string"
+ "$ref": "CSSStyle"
}
]
},
{
- "name": "setFileInputFiles",
- "description": "Sets files for the given file input element.",
+ "name": "getAnimatedStylesForNode",
+ "description": "Returns the styles coming from animations & transitions\nincluding the animation & transition styles coming from inheritance chain.",
+ "experimental": true,
"parameters": [
{
- "name": "files",
- "description": "Array of file paths to set.",
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "animationStyles",
+ "description": "Styles coming from animations.",
+ "optional": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "CSSAnimationStyle"
}
},
{
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
- },
- {
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
+ "name": "transitionsStyle",
+ "description": "Style coming from transitions.",
"optional": true,
- "$ref": "BackendNodeId"
+ "$ref": "CSSStyle"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
+ "name": "inherited",
+ "description": "Inherited style entries for animationsStyle and transitionsStyle from\nthe inheritance chain of the element.",
"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.",
- "type": "boolean"
+ "type": "array",
+ "items": {
+ "$ref": "InheritedAnimatedStyleEntry"
+ }
}
]
},
{
- "name": "getNodeStackTraces",
- "description": "Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.",
- "experimental": true,
+ "name": "getMatchedStylesForNode",
+ "description": "Returns requested styles for a DOM node identified by `nodeId`.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to get stack traces for.",
- "$ref": "NodeId"
+ "$ref": "DOM.NodeId"
}
],
"returns": [
{
- "name": "creation",
- "description": "Creation stack trace, if available.",
+ "name": "inlineStyle",
+ "description": "Inline style for the specified DOM node.",
"optional": true,
- "$ref": "Runtime.StackTrace"
- }
- ]
- },
- {
- "name": "getFileInfo",
- "description": "Returns file information for the given\nFile wrapper.",
- "experimental": true,
- "parameters": [
+ "$ref": "CSSStyle"
+ },
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
+ "name": "attributesStyle",
+ "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
+ "optional": true,
+ "$ref": "CSSStyle"
+ },
{
- "name": "path",
- "type": "string"
+ "name": "matchedCSSRules",
+ "description": "CSS rules matching this node, from all applicable stylesheets.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "RuleMatch"
+ }
+ },
+ {
+ "name": "pseudoElements",
+ "description": "Pseudo style matches for this node.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "PseudoElementMatches"
+ }
+ },
+ {
+ "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": "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": "InheritedPseudoElementMatches"
+ }
+ },
+ {
+ "name": "cssKeyframesRules",
+ "description": "A list of CSS keyframed animations matching this node.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "CSSKeyframesRule"
+ }
+ },
+ {
+ "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": "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": "setInspectedNode",
- "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details\n$x functions).",
+ "name": "getEnvironmentVariables",
+ "description": "Returns the values of the default UA-defined environment variables used in env()",
"experimental": true,
- "parameters": [
+ "returns": [
{
- "name": "nodeId",
- "description": "DOM node id to be accessible by means of $x command line API.",
- "$ref": "NodeId"
+ "name": "environmentVariables",
+ "type": "object"
}
]
},
{
- "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": "name",
- "description": "New node's name.",
- "type": "string"
- }
- ],
+ "name": "getMediaQueries",
+ "description": "Returns all media queries parsed by the rendering engine.",
"returns": [
{
- "name": "nodeId",
- "description": "New node's id.",
- "$ref": "NodeId"
+ "name": "medias",
+ "type": "array",
+ "items": {
+ "$ref": "CSSMedia"
+ }
}
]
},
{
- "name": "setNodeValue",
- "description": "Sets node value for a node with given id.",
+ "name": "getPlatformFontsForNode",
+ "description": "Requests information about platform fonts which we used to render child TextNodes in the given\nnode.",
"parameters": [
{
"name": "nodeId",
- "description": "Id of the node to set value for.",
- "$ref": "NodeId"
- },
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "value",
- "description": "New node's value.",
- "type": "string"
+ "name": "fonts",
+ "description": "Usage statistics for every employed platform font.",
+ "type": "array",
+ "items": {
+ "$ref": "PlatformFontUsage"
+ }
}
]
},
{
- "name": "setOuterHTML",
- "description": "Sets node HTML markup, returns new node id.",
+ "name": "getStyleSheetText",
+ "description": "Returns the current textual content for a stylesheet.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to set markup for.",
- "$ref": "NodeId"
- },
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
+ }
+ ],
+ "returns": [
{
- "name": "outerHTML",
- "description": "Outer HTML markup to set.",
+ "name": "text",
+ "description": "The stylesheet text.",
"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": "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": "frameId",
- "$ref": "Page.FrameId"
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
}
],
"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": "rootLayer",
+ "$ref": "CSSLayerData"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "attributeModified",
- "description": "Fired when `Element`'s attribute is modified.",
+ "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": "nodeId",
- "description": "Id of the node that has changed.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "name",
- "description": "Attribute name.",
+ "name": "selectorText",
"type": "string"
- },
+ }
+ ],
+ "returns": [
{
- "name": "value",
- "description": "Attribute value.",
- "type": "string"
+ "name": "ranges",
+ "type": "array",
+ "items": {
+ "$ref": "SourceRange"
+ }
}
]
},
{
- "name": "attributeRemoved",
- "description": "Fired when `Element`'s attribute is removed.",
+ "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": "Id of the node that has changed.",
- "$ref": "NodeId"
- },
- {
- "name": "name",
- "description": "A ttribute name.",
- "type": "string"
+ "optional": true,
+ "$ref": "DOM.NodeId"
}
]
},
{
- "name": "characterDataModified",
- "description": "Mirrors `DOMCharacterDataModified` event.",
+ "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": "nodeId",
- "description": "Id of the node that has changed.",
- "$ref": "NodeId"
- },
+ "name": "propertiesToTrack",
+ "type": "array",
+ "items": {
+ "$ref": "CSSComputedStyleProperty"
+ }
+ }
+ ]
+ },
+ {
+ "name": "takeComputedStyleUpdates",
+ "description": "Polls the next batch of computed style updates.",
+ "experimental": true,
+ "returns": [
{
- "name": "characterData",
- "description": "New text value.",
- "type": "string"
+ "name": "nodeIds",
+ "description": "The list of node Ids that have their tracked computed styles updated.",
+ "type": "array",
+ "items": {
+ "$ref": "DOM.NodeId"
+ }
}
]
},
{
- "name": "childNodeCountUpdated",
- "description": "Fired when `Container`'s child node count has changed.",
+ "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": "nodeId",
- "description": "Id of the node that has changed.",
- "$ref": "NodeId"
+ "description": "The element id for which to set property.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "childNodeCount",
- "description": "New node count.",
- "type": "integer"
+ "name": "propertyName",
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "type": "string"
}
]
},
{
- "name": "childNodeInserted",
- "description": "Mirrors `DOMNodeInserted` event.",
+ "name": "setPropertyRulePropertyName",
+ "description": "Modifies the property rule property name.",
"parameters": [
{
- "name": "parentNodeId",
- "description": "Id of the node that has changed.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "previousNodeId",
- "description": "If of the previous siblint.",
- "$ref": "NodeId"
+ "name": "range",
+ "$ref": "SourceRange"
},
{
- "name": "node",
- "description": "Inserted node data.",
- "$ref": "Node"
+ "name": "propertyName",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "propertyName",
+ "description": "The resulting key text after modification.",
+ "$ref": "Value"
}
]
},
{
- "name": "childNodeRemoved",
- "description": "Mirrors `DOMNodeRemoved` event.",
+ "name": "setKeyframeKey",
+ "description": "Modifies the keyframe rule key text.",
"parameters": [
{
- "name": "parentNodeId",
- "description": "Parent id.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "nodeId",
- "description": "Id of the node that has been removed.",
- "$ref": "NodeId"
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "keyText",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "keyText",
+ "description": "The resulting key text after modification.",
+ "$ref": "Value"
}
]
},
{
- "name": "distributedNodesUpdated",
- "description": "Called when distrubution is changed.",
- "experimental": true,
+ "name": "setMediaText",
+ "description": "Modifies the rule selector.",
"parameters": [
{
- "name": "insertionPointId",
- "description": "Insertion point where distrubuted nodes were updated.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "distributedNodes",
- "description": "Distributed nodes for given insertion point.",
- "type": "array",
- "items": {
- "$ref": "BackendNode"
- }
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "text",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "media",
+ "description": "The resulting CSS media rule after modification.",
+ "$ref": "CSSMedia"
}
]
},
{
- "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.",
+ "name": "setContainerQueryText",
+ "description": "Modifies the expression of a container query.",
"experimental": true,
"parameters": [
{
- "name": "nodeIds",
- "description": "Ids of the nodes for which the inline styles have been invalidated.",
- "type": "array",
- "items": {
- "$ref": "NodeId"
- }
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
+ },
+ {
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "text",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "containerQuery",
+ "description": "The resulting CSS container query rule after modification.",
+ "$ref": "CSSContainerQuery"
}
]
},
{
- "name": "pseudoElementAdded",
- "description": "Called when a pseudo element is added to an element.",
+ "name": "setSupportsText",
+ "description": "Modifies the expression of a supports at-rule.",
"experimental": true,
"parameters": [
{
- "name": "parentId",
- "description": "Pseudo element's parent element id.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "pseudoElement",
- "description": "The added pseudo element.",
- "$ref": "Node"
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "text",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "supports",
+ "description": "The resulting CSS Supports rule after modification.",
+ "$ref": "CSSSupports"
}
]
},
{
- "name": "pseudoElementRemoved",
- "description": "Called when a pseudo element is removed from an element.",
+ "name": "setScopeText",
+ "description": "Modifies the expression of a scope at-rule.",
"experimental": true,
"parameters": [
{
- "name": "parentId",
- "description": "Pseudo element's parent element id.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "pseudoElementId",
- "description": "The removed pseudo element id.",
- "$ref": "NodeId"
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "text",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "scope",
+ "description": "The resulting CSS Scope rule after modification.",
+ "$ref": "CSSScope"
}
]
},
{
- "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.",
+ "name": "setRuleSelector",
+ "description": "Modifies the rule selector.",
"parameters": [
{
- "name": "parentId",
- "description": "Parent node id to populate with children.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "nodes",
- "description": "Child nodes array.",
- "type": "array",
- "items": {
- "$ref": "Node"
- }
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "selector",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "selectorList",
+ "description": "The resulting selector list after modification.",
+ "$ref": "SelectorList"
}
]
},
{
- "name": "shadowRootPopped",
- "description": "Called when shadow root is popped from the element.",
- "experimental": true,
+ "name": "setStyleSheetText",
+ "description": "Sets the new stylesheet text.",
"parameters": [
{
- "name": "hostId",
- "description": "Host element id.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "rootId",
- "description": "Shadow root id.",
- "$ref": "NodeId"
+ "name": "text",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "sourceMapURL",
+ "description": "URL of source map associated with script (if any).",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "shadowRootPushed",
- "description": "Called when shadow root is pushed into the element.",
- "experimental": true,
+ "name": "setStyleTexts",
+ "description": "Applies specified style edits one after another in the given order.",
"parameters": [
{
- "name": "hostId",
- "description": "Host element id.",
- "$ref": "NodeId"
+ "name": "edits",
+ "type": "array",
+ "items": {
+ "$ref": "StyleDeclarationEdit"
+ }
},
{
- "name": "root",
- "description": "Shadow root.",
- "$ref": "Node"
+ "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": "styles",
+ "description": "The resulting styles after modification.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSStyle"
+ }
}
- ]
- }
- ]
- },
- {
- "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",
- "Debugger",
- "Runtime"
- ],
- "types": [
- {
- "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"
- ]
+ "name": "startRuleUsageTracking",
+ "description": "Enables the selector recording."
},
{
- "id": "EventListener",
- "description": "Object event listener.",
- "type": "object",
- "properties": [
+ "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": "type",
- "description": "`EventListener`'s type.",
- "type": "string"
- },
- {
- "name": "useCapture",
- "description": "`EventListener`'s useCapture.",
- "type": "boolean"
- },
- {
- "name": "passive",
- "description": "`EventListener`'s passive flag.",
- "type": "boolean"
- },
- {
- "name": "once",
- "description": "`EventListener`'s once flag.",
- "type": "boolean"
- },
- {
- "name": "scriptId",
- "description": "Script id of the handler code.",
- "$ref": "Runtime.ScriptId"
- },
- {
- "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,
- "$ref": "Runtime.RemoteObject"
- },
- {
- "name": "originalHandler",
- "description": "Event original handler function value.",
- "optional": true,
- "$ref": "Runtime.RemoteObject"
- },
- {
- "name": "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.",
+ "name": "ruleUsage",
"type": "array",
"items": {
- "$ref": "EventListener"
+ "$ref": "RuleUsage"
}
}
]
},
{
- "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": "takeCoverageDelta",
+ "description": "Obtain list of rules that became used since last call to this method (or since start of coverage\ninstrumentation).",
+ "returns": [
{
- "name": "eventName",
- "description": "Event name.",
- "type": "string"
+ "name": "coverage",
+ "type": "array",
+ "items": {
+ "$ref": "RuleUsage"
+ }
},
{
- "name": "targetName",
- "description": "EventTarget interface name.",
- "experimental": true,
- "optional": true,
- "type": "string"
+ "name": "timestamp",
+ "description": "Monotonically increasing time, in seconds.",
+ "type": "number"
}
]
},
{
- "name": "removeInstrumentationBreakpoint",
- "description": "Removes breakpoint on particular native event.",
+ "name": "setLocalFontsEnabled",
+ "description": "Enables/disables rendering of local CSS fonts (enabled by default).",
"experimental": true,
"parameters": [
{
- "name": "eventName",
- "description": "Instrumentation name to stop on.",
- "type": "string"
+ "name": "enabled",
+ "description": "Whether rendering of local fonts is enabled.",
+ "type": "boolean"
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "removeXHRBreakpoint",
- "description": "Removes breakpoint from XMLHttpRequest.",
+ "name": "fontsUpdated",
+ "description": "Fires whenever a web font is updated. A non-empty font parameter indicates a successfully loaded\nweb font.",
"parameters": [
{
- "name": "url",
- "description": "Resource URL substring.",
- "type": "string"
+ "name": "font",
+ "description": "The web font that has loaded.",
+ "optional": true,
+ "$ref": "FontFace"
}
]
},
{
- "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": "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": "setDOMBreakpoint",
- "description": "Sets breakpoint on particular operation with DOM.",
+ "name": "styleSheetAdded",
+ "description": "Fired whenever an active document stylesheet is added.",
"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": "header",
+ "description": "Added stylesheet metainfo.",
+ "$ref": "CSSStyleSheetHeader"
}
]
},
{
- "name": "setEventListenerBreakpoint",
- "description": "Sets breakpoint on particular DOM event.",
+ "name": "styleSheetChanged",
+ "description": "Fired whenever a stylesheet is changed as a result of the client operation.",
"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": "styleSheetId",
+ "$ref": "StyleSheetId"
}
]
},
{
- "name": "setInstrumentationBreakpoint",
- "description": "Sets breakpoint on particular native event.",
- "experimental": true,
+ "name": "styleSheetRemoved",
+ "description": "Fired whenever an active document stylesheet is removed.",
"parameters": [
{
- "name": "eventName",
- "description": "Instrumentation name to stop on.",
- "type": "string"
+ "name": "styleSheetId",
+ "description": "Identifier of the removed stylesheet.",
+ "$ref": "StyleSheetId"
}
]
},
{
- "name": "setXHRBreakpoint",
- "description": "Sets breakpoint on XMLHttpRequest.",
+ "name": "computedStyleUpdated",
+ "experimental": true,
"parameters": [
{
- "name": "url",
- "description": "Resource URL substring. All XHRs having this substring in the URL will get stopped upon.",
- "type": "string"
+ "name": "nodeId",
+ "description": "The node id that has updated computed styles.",
+ "$ref": "DOM.NodeId"
}
]
}
]
},
{
- "domain": "DOMSnapshot",
- "description": "This domain facilitates obtaining document snapshots with DOM, layout, and style information.",
+ "domain": "CacheStorage",
"experimental": true,
"dependencies": [
- "CSS",
- "DOM",
- "DOMDebugger",
- "Page"
+ "Storage"
],
"types": [
{
- "id": "DOMNode",
- "description": "A Node in the DOM tree.",
+ "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"
+ ]
+ },
+ {
+ "id": "DataEntry",
+ "description": "Data entry.",
"type": "object",
"properties": [
{
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
- },
- {
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
+ "name": "requestURL",
+ "description": "Request URL.",
"type": "string"
},
{
- "name": "nodeValue",
- "description": "`Node`'s nodeValue.",
+ "name": "requestMethod",
+ "description": "Request method.",
"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": "requestHeaders",
+ "description": "Request headers",
+ "type": "array",
+ "items": {
+ "$ref": "Header"
+ }
},
{
- "name": "inputChecked",
- "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
- "optional": true,
- "type": "boolean"
+ "name": "responseTime",
+ "description": "Number of seconds since epoch.",
+ "type": "number"
},
{
- "name": "optionSelected",
- "description": "Only set for option elements, indicates if the element has been selected",
- "optional": true,
- "type": "boolean"
+ "name": "responseStatus",
+ "description": "HTTP response status code.",
+ "type": "integer"
},
{
- "name": "backendNodeId",
- "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
- "$ref": "DOM.BackendNodeId"
+ "name": "responseStatusText",
+ "description": "HTTP response status text.",
+ "type": "string"
},
{
- "name": "childNodeIndexes",
- "description": "The indexes of the node's child nodes in the `domNodes` array returned by `getSnapshot`, if\nany.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "responseType",
+ "description": "HTTP response type",
+ "$ref": "CachedResponseType"
},
{
- "name": "attributes",
- "description": "Attributes of an `Element` node.",
- "optional": true,
+ "name": "responseHeaders",
+ "description": "Response headers",
"type": "array",
"items": {
- "$ref": "NameValue"
+ "$ref": "Header"
}
- },
+ }
+ ]
+ },
+ {
+ "id": "Cache",
+ "description": "Cache identifier.",
+ "type": "object",
+ "properties": [
{
- "name": "pseudoElementIndexes",
- "description": "Indexes of pseudo elements associated with this node in the `domNodes` array returned by\n`getSnapshot`, if any.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "cacheId",
+ "description": "An opaque unique id of the cache.",
+ "$ref": "CacheId"
},
{
- "name": "layoutNodeIndex",
- "description": "The index of the node's related layout tree node in the `layoutTreeNodes` array returned by\n`getSnapshot`, if any.",
- "optional": true,
- "type": "integer"
+ "name": "securityOrigin",
+ "description": "Security origin of the cache.",
+ "type": "string"
},
{
- "name": "documentURL",
- "description": "Document URL that `Document` or `FrameOwner` node points to.",
- "optional": true,
+ "name": "storageKey",
+ "description": "Storage key of the cache.",
"type": "string"
},
{
- "name": "baseURL",
- "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
+ "name": "storageBucket",
+ "description": "Storage bucket of the cache.",
"optional": true,
- "type": "string"
+ "$ref": "Storage.StorageBucket"
},
{
- "name": "contentLanguage",
- "description": "Only set for documents, contains the document's content language.",
- "optional": true,
+ "name": "cacheName",
+ "description": "The name of the cache.",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "Header",
+ "type": "object",
+ "properties": [
{
- "name": "documentEncoding",
- "description": "Only set for documents, contains the document's character set encoding.",
- "optional": true,
+ "name": "name",
"type": "string"
},
{
- "name": "publicId",
- "description": "`DocumentType` node's publicId.",
- "optional": true,
+ "name": "value",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "CachedResponse",
+ "description": "Cached response",
+ "type": "object",
+ "properties": [
{
- "name": "systemId",
- "description": "`DocumentType` node's systemId.",
- "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": "frameId",
- "description": "Frame ID for frame owner elements and also for the document node.",
- "optional": true,
- "$ref": "Page.FrameId"
- },
+ "name": "cacheId",
+ "description": "Id of cache for deletion.",
+ "$ref": "CacheId"
+ }
+ ]
+ },
+ {
+ "name": "deleteEntry",
+ "description": "Deletes a cache entry.",
+ "parameters": [
{
- "name": "contentDocumentIndex",
- "description": "The index of a frame owner element's content document in the `domNodes` array returned by\n`getSnapshot`, if any.",
- "optional": true,
- "type": "integer"
+ "name": "cacheId",
+ "description": "Id of cache where the entry will be deleted.",
+ "$ref": "CacheId"
},
{
- "name": "pseudoType",
- "description": "Type of a pseudo element node.",
- "optional": true,
- "$ref": "DOM.PseudoType"
- },
+ "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": "DOM.ShadowRootType"
+ "type": "string"
},
{
- "name": "isClickable",
- "description": "Whether this DOM node responds to mouse clicks. This includes nodes that have had click\nevent listeners attached via JavaScript as well as anchor tags that naturally navigate when\nclicked.",
+ "name": "storageKey",
+ "description": "Storage key.",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "eventListeners",
- "description": "Details of the node's event listeners, if any.",
+ "name": "storageBucket",
+ "description": "Storage bucket. If not specified, it uses the default bucket.",
"optional": true,
+ "$ref": "Storage.StorageBucket"
+ }
+ ],
+ "returns": [
+ {
+ "name": "caches",
+ "description": "Caches for the security origin.",
"type": "array",
"items": {
- "$ref": "DOMDebugger.EventListener"
+ "$ref": "Cache"
}
- },
+ }
+ ]
+ },
+ {
+ "name": "requestCachedResponse",
+ "description": "Fetches cache entry.",
+ "parameters": [
{
- "name": "currentSourceURL",
- "description": "The selected url for nodes with a srcset attribute.",
- "optional": true,
- "type": "string"
+ "name": "cacheId",
+ "description": "Id of cache that contains the entry.",
+ "$ref": "CacheId"
},
{
- "name": "originURL",
- "description": "The url of the script (if any) that generates this node.",
- "optional": true,
+ "name": "requestURL",
+ "description": "URL spec of the request.",
"type": "string"
},
{
- "name": "scrollOffsetX",
- "description": "Scroll offsets, set when this node is a Document.",
- "optional": true,
- "type": "number"
- },
+ "name": "requestHeaders",
+ "description": "headers of the request.",
+ "type": "array",
+ "items": {
+ "$ref": "Header"
+ }
+ }
+ ],
+ "returns": [
{
- "name": "scrollOffsetY",
- "optional": true,
- "type": "number"
+ "name": "response",
+ "description": "Response read from the cache.",
+ "$ref": "CachedResponse"
}
]
},
{
- "id": "InlineTextBox",
- "description": "Details of post layout rendered text positions. The exact layout should not be regarded as\nstable and may change between versions.",
- "type": "object",
- "properties": [
+ "name": "requestEntries",
+ "description": "Requests data from cache.",
+ "parameters": [
{
- "name": "boundingBox",
- "description": "The bounding box in document coordinates. Note that scroll offset of the document is ignored.",
- "$ref": "DOM.Rect"
+ "name": "cacheId",
+ "description": "ID of cache to get entries from.",
+ "$ref": "CacheId"
},
{
- "name": "startCharacterIndex",
- "description": "The starting index in characters, for this post layout textbox substring. Characters that\nwould be represented as a surrogate pair in UTF-16 have length 2.",
+ "name": "skipCount",
+ "description": "Number of records to skip.",
+ "optional": true,
"type": "integer"
},
{
- "name": "numCharacters",
- "description": "The number of characters in this post layout textbox substring. Characters that would be\nrepresented as a surrogate pair in UTF-16 have length 2.",
+ "name": "pageSize",
+ "description": "Number of records to fetch.",
+ "optional": true,
"type": "integer"
- }
- ]
- },
- {
- "id": "LayoutTreeNode",
- "description": "Details of an element in the DOM tree with a LayoutObject.",
- "type": "object",
- "properties": [
+ },
{
- "name": "domNodeIndex",
- "description": "The index of the related DOM node in the `domNodes` array returned by `getSnapshot`.",
- "type": "integer"
- },
- {
- "name": "boundingBox",
- "description": "The bounding box in document coordinates. Note that scroll offset of the document is ignored.",
- "$ref": "DOM.Rect"
- },
- {
- "name": "layoutText",
- "description": "Contents of the LayoutText, if any.",
+ "name": "pathFilter",
+ "description": "If present, only return the entries containing this substring in the path",
"optional": true,
"type": "string"
- },
+ }
+ ],
+ "returns": [
{
- "name": "inlineTextNodes",
- "description": "The post-layout inline text nodes, if any.",
- "optional": true,
+ "name": "cacheDataEntries",
+ "description": "Array of object store data entries.",
"type": "array",
"items": {
- "$ref": "InlineTextBox"
+ "$ref": "DataEntry"
}
},
{
- "name": "styleIndex",
- "description": "Index into the `computedStyles` array returned by `getSnapshot`.",
- "optional": true,
- "type": "integer"
+ "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": "Sink",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "type": "string"
},
{
- "name": "paintOrder",
- "description": "Global paint order index, which is determined by the stacking order of the nodes. Nodes\nthat are painted together will have the same index. Only provided if includePaintOrder in\ngetSnapshot was true.",
- "optional": true,
- "type": "integer"
+ "name": "id",
+ "type": "string"
},
{
- "name": "isStackingContext",
- "description": "Set to true to indicate the element begins a new stacking context.",
+ "name": "session",
+ "description": "Text describing the current session. Present only if there is an active\nsession on the sink.",
"optional": true,
- "type": "boolean"
+ "type": "string"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "id": "ComputedStyle",
- "description": "A subset of the full ComputedStyle as defined by the request whitelist.",
- "type": "object",
- "properties": [
+ "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": "properties",
- "description": "Name/value pairs of computed style properties.",
- "type": "array",
- "items": {
- "$ref": "NameValue"
- }
+ "name": "presentationUrl",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "id": "NameValue",
- "description": "A name/value pair.",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Attribute/property name.",
- "type": "string"
- },
+ "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.",
+ "parameters": [
{
- "name": "value",
- "description": "Attribute/property value.",
+ "name": "sinkName",
"type": "string"
}
]
},
{
- "id": "StringIndex",
- "description": "Index of the string in the strings table.",
- "type": "integer"
+ "name": "startDesktopMirroring",
+ "description": "Starts mirroring the desktop to the sink.",
+ "parameters": [
+ {
+ "name": "sinkName",
+ "type": "string"
+ }
+ ]
},
{
- "id": "ArrayOfStrings",
- "description": "Index of the string in the strings table.",
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
+ "name": "startTabMirroring",
+ "description": "Starts mirroring the tab to the sink.",
+ "parameters": [
+ {
+ "name": "sinkName",
+ "type": "string"
+ }
+ ]
},
{
- "id": "RareStringData",
- "description": "Data that is only present on rare nodes.",
- "type": "object",
- "properties": [
- {
- "name": "index",
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
+ "name": "stopCasting",
+ "description": "Stops the active Cast session on the sink.",
+ "parameters": [
{
- "name": "value",
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
+ "name": "sinkName",
+ "type": "string"
}
]
- },
+ }
+ ],
+ "events": [
{
- "id": "RareBooleanData",
- "type": "object",
- "properties": [
+ "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": "index",
+ "name": "sinks",
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "Sink"
}
}
]
},
{
- "id": "RareIntegerData",
- "type": "object",
- "properties": [
- {
- "name": "index",
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
+ "name": "issueUpdated",
+ "description": "This is fired whenever the outstanding issue/error message changes.\n|issueMessage| is empty if there is no issue.",
+ "parameters": [
{
- "name": "value",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "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": [
+ {
+ "id": "NodeId",
+ "description": "Unique DOM node identifier.",
+ "type": "integer"
},
{
- "id": "Rectangle",
- "type": "array",
- "items": {
- "type": "number"
- }
+ "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": "DocumentSnapshot",
- "description": "Document snapshot.",
+ "id": "BackendNode",
+ "description": "Backend node with a friendly name.",
"type": "object",
"properties": [
{
- "name": "documentURL",
- "description": "Document URL that `Document` or `FrameOwner` node points to.",
- "$ref": "StringIndex"
- },
- {
- "name": "title",
- "description": "Document title.",
- "$ref": "StringIndex"
- },
- {
- "name": "baseURL",
- "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
- "$ref": "StringIndex"
- },
- {
- "name": "contentLanguage",
- "description": "Contains the document's content language.",
- "$ref": "StringIndex"
- },
- {
- "name": "encodingName",
- "description": "Contains the document's character set encoding.",
- "$ref": "StringIndex"
- },
- {
- "name": "publicId",
- "description": "`DocumentType` node's publicId.",
- "$ref": "StringIndex"
- },
- {
- "name": "systemId",
- "description": "`DocumentType` node's systemId.",
- "$ref": "StringIndex"
- },
- {
- "name": "frameId",
- "description": "Frame ID for frame owner elements and also for the document node.",
- "$ref": "StringIndex"
- },
- {
- "name": "nodes",
- "description": "A table with dom nodes.",
- "$ref": "NodeTreeSnapshot"
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
+ "type": "integer"
},
{
- "name": "layout",
- "description": "The nodes in the layout tree.",
- "$ref": "LayoutTreeSnapshot"
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
+ "type": "string"
},
{
- "name": "textBoxes",
- "description": "The post-layout inline text nodes.",
- "$ref": "TextBoxSnapshot"
- },
- {
- "name": "scrollOffsetX",
- "description": "Horizontal scroll offset.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "scrollOffsetY",
- "description": "Vertical scroll offset.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "contentWidth",
- "description": "Document content width.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "contentHeight",
- "description": "Document content height.",
- "optional": true,
- "type": "number"
+ "name": "backendNodeId",
+ "$ref": "BackendNodeId"
}
]
},
{
- "id": "NodeTreeSnapshot",
- "description": "Table containing nodes.",
+ "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"
+ ]
+ },
+ {
+ "id": "ShadowRootType",
+ "description": "Shadow root type.",
+ "type": "string",
+ "enum": [
+ "user-agent",
+ "open",
+ "closed"
+ ]
+ },
+ {
+ "id": "CompatibilityMode",
+ "description": "Document compatibility mode.",
+ "type": "string",
+ "enum": [
+ "QuirksMode",
+ "LimitedQuirksMode",
+ "NoQuirksMode"
+ ]
+ },
+ {
+ "id": "PhysicalAxes",
+ "description": "ContainerSelector physical axes",
+ "type": "string",
+ "enum": [
+ "Horizontal",
+ "Vertical",
+ "Both"
+ ]
+ },
+ {
+ "id": "LogicalAxes",
+ "description": "ContainerSelector logical axes",
+ "type": "string",
+ "enum": [
+ "Inline",
+ "Block",
+ "Both"
+ ]
+ },
+ {
+ "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": "parentIndex",
- "description": "Parent node index.",
+ "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,
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "$ref": "NodeId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "The BackendNodeId for this node.",
+ "$ref": "BackendNodeId"
},
{
"name": "nodeType",
"description": "`Node`'s nodeType.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "type": "integer"
},
{
"name": "nodeName",
"description": "`Node`'s nodeName.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
+ "type": "string"
+ },
+ {
+ "name": "localName",
+ "description": "`Node`'s localName.",
+ "type": "string"
},
{
"name": "nodeValue",
"description": "`Node`'s nodeValue.",
+ "type": "string"
+ },
+ {
+ "name": "childNodeCount",
+ "description": "Child count for `Container` nodes.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
+ "type": "integer"
},
{
- "name": "backendNodeId",
- "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
+ "name": "children",
+ "description": "Child nodes of this node when requested with children.",
"optional": true,
"type": "array",
"items": {
- "$ref": "DOM.BackendNodeId"
+ "$ref": "Node"
}
},
{
"name": "attributes",
- "description": "Attributes of an `Element` node. Flatten name, value pairs.",
+ "description": "Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.",
"optional": true,
"type": "array",
"items": {
- "$ref": "ArrayOfStrings"
+ "type": "string"
}
},
{
- "name": "textValue",
- "description": "Only set for textarea elements, contains the text value.",
+ "name": "documentURL",
+ "description": "Document URL that `Document` or `FrameOwner` node points to.",
"optional": true,
- "$ref": "RareStringData"
+ "type": "string"
},
{
- "name": "inputValue",
- "description": "Only set for input elements, contains the input's associated text value.",
+ "name": "baseURL",
+ "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
"optional": true,
- "$ref": "RareStringData"
+ "type": "string"
},
{
- "name": "inputChecked",
- "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
+ "name": "publicId",
+ "description": "`DocumentType`'s publicId.",
"optional": true,
- "$ref": "RareBooleanData"
+ "type": "string"
},
{
- "name": "optionSelected",
- "description": "Only set for option elements, indicates if the element has been selected",
+ "name": "systemId",
+ "description": "`DocumentType`'s systemId.",
"optional": true,
- "$ref": "RareBooleanData"
+ "type": "string"
},
{
- "name": "contentDocumentIndex",
- "description": "The index of the document in the list of the snapshot documents.",
+ "name": "internalSubset",
+ "description": "`DocumentType`'s internalSubset.",
"optional": true,
- "$ref": "RareIntegerData"
+ "type": "string"
},
{
- "name": "pseudoType",
- "description": "Type of a pseudo element node.",
+ "name": "xmlVersion",
+ "description": "`Document`'s XML version in case of XML documents.",
"optional": true,
- "$ref": "RareStringData"
+ "type": "string"
},
{
- "name": "isClickable",
- "description": "Whether this DOM node responds to mouse clicks. This includes nodes that have had click\nevent listeners attached via JavaScript as well as anchor tags that naturally navigate when\nclicked.",
+ "name": "name",
+ "description": "`Attr`'s name.",
"optional": true,
- "$ref": "RareBooleanData"
+ "type": "string"
},
{
- "name": "currentSourceURL",
- "description": "The selected url for nodes with a srcset attribute.",
+ "name": "value",
+ "description": "`Attr`'s value.",
"optional": true,
- "$ref": "RareStringData"
+ "type": "string"
},
{
- "name": "originURL",
- "description": "The url of the script (if any) that generates this node.",
+ "name": "pseudoType",
+ "description": "Pseudo element type for this node.",
"optional": true,
- "$ref": "RareStringData"
- }
- ]
- },
- {
- "id": "LayoutTreeSnapshot",
- "description": "Table of details of an element in the DOM tree with a LayoutObject.",
- "type": "object",
- "properties": [
- {
- "name": "nodeIndex",
- "description": "Index of the corresponding node in the `NodeTreeSnapshot` array returned by `captureSnapshot`.",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "$ref": "PseudoType"
},
{
- "name": "styles",
- "description": "Array of indexes specifying computed style strings, filtered according to the `computedStyles` parameter passed to `captureSnapshot`.",
- "type": "array",
- "items": {
- "$ref": "ArrayOfStrings"
- }
+ "name": "pseudoIdentifier",
+ "description": "Pseudo element identifier for this node. Only present if there is a\nvalid pseudoType.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "bounds",
- "description": "The absolute position bounding box.",
- "type": "array",
- "items": {
- "$ref": "Rectangle"
- }
+ "name": "shadowRootType",
+ "description": "Shadow root type.",
+ "optional": true,
+ "$ref": "ShadowRootType"
},
{
- "name": "text",
- "description": "Contents of the LayoutText, if any.",
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
+ "name": "frameId",
+ "description": "Frame ID for frame owner elements.",
+ "optional": true,
+ "$ref": "Page.FrameId"
},
{
- "name": "stackingContexts",
- "description": "Stacking context information.",
- "$ref": "RareBooleanData"
+ "name": "contentDocument",
+ "description": "Content document for frame owner elements.",
+ "optional": true,
+ "$ref": "Node"
},
{
- "name": "paintOrders",
- "description": "Global paint order index, which is determined by the stacking order of the nodes. Nodes\nthat are painted together will have the same index. Only provided if includePaintOrder in\ncaptureSnapshot was true.",
+ "name": "shadowRoots",
+ "description": "Shadow root list for given element host.",
"optional": true,
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "Node"
}
},
{
- "name": "offsetRects",
- "description": "The offset rect of nodes. Only available when includeDOMRects is set to true",
+ "name": "templateContent",
+ "description": "Content document fragment for template elements.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Rectangle"
- }
+ "$ref": "Node"
},
{
- "name": "scrollRects",
- "description": "The scroll rect of nodes. Only available when includeDOMRects is set to true",
+ "name": "pseudoElements",
+ "description": "Pseudo elements associated with this node.",
"optional": true,
"type": "array",
"items": {
- "$ref": "Rectangle"
+ "$ref": "Node"
}
},
{
- "name": "clientRects",
- "description": "The client rect of nodes. Only available when includeDOMRects is set to true",
+ "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": "distributedNodes",
+ "description": "Distributed nodes for given insertion point.",
"optional": true,
"type": "array",
"items": {
- "$ref": "Rectangle"
+ "$ref": "BackendNode"
}
+ },
+ {
+ "name": "isSVG",
+ "description": "Whether the node is SVG.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "compatibilityMode",
+ "optional": true,
+ "$ref": "CompatibilityMode"
+ },
+ {
+ "name": "assignedSlot",
+ "optional": true,
+ "$ref": "BackendNode"
+ },
+ {
+ "name": "isScrollable",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "TextBoxSnapshot",
- "description": "Table of details of the post layout rendered text positions. The exact layout should not be regarded as\nstable and may change between versions.",
+ "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": "layoutIndex",
- "description": "Index of the layout tree node that owns this box collection.",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "treeNode",
+ "$ref": "Node"
},
{
- "name": "bounds",
- "description": "The absolute position bounding box.",
+ "name": "retainedNodeIds",
"type": "array",
"items": {
- "$ref": "Rectangle"
+ "$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": "start",
- "description": "The starting index in characters, for this post layout textbox substring. Characters that\nwould be represented as a surrogate pair in UTF-16 have length 2.",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "g",
+ "description": "The green component, in the [0-255] range.",
+ "type": "integer"
},
{
- "name": "length",
- "description": "The number of characters in this post layout textbox substring. Characters that would be\nrepresented as a surrogate pair in UTF-16 have length 2.",
- "type": "array",
- "items": {
- "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,
+ "type": "number"
}
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disables DOM snapshot agent for the given page."
},
{
- "name": "enable",
- "description": "Enables DOM snapshot agent for the given page."
+ "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": "getSnapshot",
- "description": "Returns a document snapshot, including the full DOM tree of the root node (including iframes,\ntemplate contents, and imported documents) in a flattened array, as well as layout and\nwhite-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is\nflattened.",
- "deprecated": true,
- "parameters": [
+ "id": "BoxModel",
+ "description": "Box model.",
+ "type": "object",
+ "properties": [
{
- "name": "computedStyleWhitelist",
- "description": "Whitelist of computed styles to return.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "content",
+ "description": "Content box",
+ "$ref": "Quad"
},
{
- "name": "includeEventListeners",
- "description": "Whether or not to retrieve details of DOM listeners (default false).",
- "optional": true,
- "type": "boolean"
+ "name": "padding",
+ "description": "Padding box",
+ "$ref": "Quad"
},
{
- "name": "includePaintOrder",
- "description": "Whether to determine and include the paint order index of LayoutTreeNodes (default false).",
- "optional": true,
- "type": "boolean"
+ "name": "border",
+ "description": "Border box",
+ "$ref": "Quad"
},
{
- "name": "includeUserAgentShadowTree",
- "description": "Whether to include UA shadow tree in the snapshot (default false).",
+ "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,
- "type": "boolean"
+ "$ref": "ShapeOutsideInfo"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "ShapeOutsideInfo",
+ "description": "CSS Shape Outside details.",
+ "type": "object",
+ "properties": [
{
- "name": "domNodes",
- "description": "The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.",
- "type": "array",
- "items": {
- "$ref": "DOMNode"
- }
+ "name": "bounds",
+ "description": "Shape bounds",
+ "$ref": "Quad"
},
{
- "name": "layoutTreeNodes",
- "description": "The nodes in the layout tree.",
+ "name": "shape",
+ "description": "Shape coordinate details",
"type": "array",
"items": {
- "$ref": "LayoutTreeNode"
+ "type": "any"
}
},
{
- "name": "computedStyles",
- "description": "Whitelisted ComputedStyle properties for each node in the layout tree.",
+ "name": "marginShape",
+ "description": "Margin shape bounds",
"type": "array",
"items": {
- "$ref": "ComputedStyle"
+ "type": "any"
}
}
]
},
{
- "name": "captureSnapshot",
- "description": "Returns a document snapshot, including the full DOM tree of the root node (including iframes,\ntemplate contents, and imported documents) in a flattened array, as well as layout and\nwhite-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is\nflattened.",
- "parameters": [
+ "id": "Rect",
+ "description": "Rectangle.",
+ "type": "object",
+ "properties": [
{
- "name": "computedStyles",
- "description": "Whitelist of computed styles to return.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "x",
+ "description": "X coordinate",
+ "type": "number"
},
{
- "name": "includePaintOrder",
- "description": "Whether to include layout object paint orders into the snapshot.",
- "optional": true,
- "type": "boolean"
+ "name": "y",
+ "description": "Y coordinate",
+ "type": "number"
},
{
- "name": "includeDOMRects",
- "description": "Whether to include DOM rectangles (offsetRects, clientRects, scrollRects) into the snapshot",
- "optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "documents",
- "description": "The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.",
- "type": "array",
- "items": {
- "$ref": "DocumentSnapshot"
- }
+ "name": "width",
+ "description": "Rectangle width",
+ "type": "number"
},
{
- "name": "strings",
- "description": "Shared string table that all string properties refer to with indexes.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "height",
+ "description": "Rectangle height",
+ "type": "number"
}
]
- }
- ]
- },
- {
- "domain": "DOMStorage",
- "description": "Query and modify DOM storage.",
- "experimental": true,
- "types": [
+ },
{
- "id": "StorageId",
- "description": "DOM Storage identifier.",
+ "id": "CSSComputedStyleProperty",
"type": "object",
"properties": [
{
- "name": "securityOrigin",
- "description": "Security origin for the storage.",
+ "name": "name",
+ "description": "Computed style property name.",
"type": "string"
},
{
- "name": "isLocalStorage",
- "description": "Whether the storage is local storage (not session storage).",
- "type": "boolean"
+ "name": "value",
+ "description": "Computed style property value.",
+ "type": "string"
}
]
- },
- {
- "id": "Item",
- "description": "DOM Storage item.",
- "type": "array",
- "items": {
- "type": "string"
- }
}
],
"commands": [
{
- "name": "clear",
- "parameters": [
- {
- "name": "storageId",
- "$ref": "StorageId"
- }
- ]
- },
- {
- "name": "disable",
- "description": "Disables storage tracking, prevents storage events from being sent to the client."
- },
- {
- "name": "enable",
- "description": "Enables storage tracking, storage events will now be delivered to the client."
- },
- {
- "name": "getDOMStorageItems",
+ "name": "collectClassNamesFromSubtree",
+ "description": "Collects class names for the node with given id and all of it's child nodes.",
+ "experimental": true,
"parameters": [
{
- "name": "storageId",
- "$ref": "StorageId"
+ "name": "nodeId",
+ "description": "Id of the node to collect class names.",
+ "$ref": "NodeId"
}
],
"returns": [
{
- "name": "entries",
+ "name": "classNames",
+ "description": "Class name list.",
"type": "array",
"items": {
- "$ref": "Item"
+ "type": "string"
}
}
]
},
{
- "name": "removeDOMStorageItem",
+ "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": "storageId",
- "$ref": "StorageId"
+ "name": "nodeId",
+ "description": "Id of the node to copy.",
+ "$ref": "NodeId"
},
{
- "name": "key",
- "type": "string"
+ "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": "setDOMStorageItem",
+ "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": "storageId",
- "$ref": "StorageId"
+ "name": "nodeId",
+ "description": "Identifier of the node.",
+ "optional": true,
+ "$ref": "NodeId"
},
{
- "name": "key",
- "type": "string"
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
},
{
- "name": "value",
- "type": "string"
- }
- ]
- }
- ],
- "events": [
- {
- "name": "domStorageItemAdded",
- "parameters": [
- {
- "name": "storageId",
- "$ref": "StorageId"
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
},
{
- "name": "key",
- "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": "newValue",
- "type": "string"
+ "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"
}
- ]
- },
- {
- "name": "domStorageItemRemoved",
- "parameters": [
- {
- "name": "storageId",
- "$ref": "StorageId"
- },
+ ],
+ "returns": [
{
- "name": "key",
- "type": "string"
+ "name": "node",
+ "description": "Node description.",
+ "$ref": "Node"
}
]
},
{
- "name": "domStorageItemUpdated",
+ "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": "storageId",
- "$ref": "StorageId"
+ "name": "nodeId",
+ "description": "Identifier of the node.",
+ "optional": true,
+ "$ref": "NodeId"
},
{
- "name": "key",
- "type": "string"
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
},
{
- "name": "oldValue",
- "type": "string"
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
},
{
- "name": "newValue",
- "type": "string"
+ "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": "domStorageItemsCleared",
- "parameters": [
- {
- "name": "storageId",
- "$ref": "StorageId"
- }
- ]
- }
- ]
- },
- {
- "domain": "Database",
- "experimental": true,
- "types": [
- {
- "id": "DatabaseId",
- "description": "Unique identifier of Database object.",
- "type": "string"
+ "name": "disable",
+ "description": "Disables DOM agent for the given page."
},
{
- "id": "Database",
- "description": "Database object.",
- "type": "object",
- "properties": [
- {
- "name": "id",
- "description": "Database ID.",
- "$ref": "DatabaseId"
- },
- {
- "name": "domain",
- "description": "Database domain.",
- "type": "string"
- },
- {
- "name": "name",
- "description": "Database name.",
- "type": "string"
- },
+ "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": "version",
- "description": "Database version.",
+ "name": "searchId",
+ "description": "Unique search session identifier.",
"type": "string"
}
]
},
{
- "id": "Error",
- "description": "Database error.",
- "type": "object",
- "properties": [
- {
- "name": "message",
- "description": "Error message.",
- "type": "string"
- },
+ "name": "enable",
+ "description": "Enables DOM agent for the given page.",
+ "parameters": [
{
- "name": "code",
- "description": "Error code.",
- "type": "integer"
+ "name": "includeWhitespace",
+ "description": "Whether to include whitespaces in the children array of returned Nodes.",
+ "experimental": true,
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "none",
+ "all"
+ ]
}
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disables database tracking, prevents database events from being sent to the client."
- },
- {
- "name": "enable",
- "description": "Enables database tracking, database events will now be delivered to the client."
},
{
- "name": "executeSQL",
+ "name": "focus",
+ "description": "Focuses the given element.",
"parameters": [
{
- "name": "databaseId",
- "$ref": "DatabaseId"
- },
- {
- "name": "query",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "columnNames",
+ "name": "nodeId",
+ "description": "Identifier of the node.",
"optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
+ "$ref": "NodeId"
},
{
- "name": "values",
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
"optional": true,
- "type": "array",
- "items": {
- "type": "any"
- }
+ "$ref": "BackendNodeId"
},
{
- "name": "sqlError",
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
"optional": true,
- "$ref": "Error"
+ "$ref": "Runtime.RemoteObjectId"
}
]
},
{
- "name": "getDatabaseTableNames",
+ "name": "getAttributes",
+ "description": "Returns attributes for the specified node.",
"parameters": [
{
- "name": "databaseId",
- "$ref": "DatabaseId"
+ "name": "nodeId",
+ "description": "Id of the node to retrieve attributes for.",
+ "$ref": "NodeId"
}
],
"returns": [
{
- "name": "tableNames",
+ "name": "attributes",
+ "description": "An interleaved array of node attribute names and values.",
"type": "array",
"items": {
"type": "string"
}
}
]
- }
- ],
- "events": [
+ },
{
- "name": "addDatabase",
+ "name": "getBoxModel",
+ "description": "Returns boxes for the given node.",
"parameters": [
{
- "name": "database",
- "$ref": "Database"
+ "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"
+ }
+ ],
+ "returns": [
+ {
+ "name": "model",
+ "description": "Box model for the node.",
+ "$ref": "BoxModel"
}
]
- }
- ]
- },
- {
- "domain": "DeviceOrientation",
- "experimental": true,
- "commands": [
- {
- "name": "clearDeviceOrientationOverride",
- "description": "Clears the overridden Device Orientation."
},
{
- "name": "setDeviceOrientationOverride",
- "description": "Overrides the Device Orientation.",
+ "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": "alpha",
- "description": "Mock alpha",
- "type": "number"
+ "name": "nodeId",
+ "description": "Identifier of the node.",
+ "optional": true,
+ "$ref": "NodeId"
},
{
- "name": "beta",
- "description": "Mock beta",
- "type": "number"
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
},
{
- "name": "gamma",
- "description": "Mock gamma",
- "type": "number"
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
}
- ]
- }
- ]
- },
- {
- "domain": "Emulation",
- "description": "This domain emulates different environments for the page.",
- "dependencies": [
- "DOM",
- "Page",
- "Runtime"
- ],
- "types": [
- {
- "id": "ScreenOrientation",
- "description": "Screen orientation.",
- "type": "object",
- "properties": [
- {
- "name": "type",
- "description": "Orientation type.",
- "type": "string",
- "enum": [
- "portraitPrimary",
- "portraitSecondary",
- "landscapePrimary",
- "landscapeSecondary"
- ]
- },
+ ],
+ "returns": [
{
- "name": "angle",
- "description": "Orientation angle.",
- "type": "integer"
+ "name": "quads",
+ "description": "Quads that describe node layout relative to viewport.",
+ "type": "array",
+ "items": {
+ "$ref": "Quad"
+ }
}
]
},
{
- "id": "DisplayFeature",
- "type": "object",
- "properties": [
- {
- "name": "orientation",
- "description": "Orientation of a display feature in relation to screen",
- "type": "string",
- "enum": [
- "vertical",
- "horizontal"
- ]
- },
+ "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": "offset",
- "description": "The offset from the screen origin in either the x (for vertical\norientation) or y (for horizontal orientation) direction.",
+ "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": "maskLength",
- "description": "A display feature may mask content such that it is not physically\ndisplayed - this length along with the offset describes this area.\nA display feature that only splits content will have a 0 mask_length.",
- "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": "root",
+ "description": "Resulting node.",
+ "$ref": "Node"
}
]
},
{
- "id": "MediaFeature",
- "type": "object",
- "properties": [
+ "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": "name",
- "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": "value",
- "type": "string"
+ "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": "nodes",
+ "description": "Resulting node.",
+ "type": "array",
+ "items": {
+ "$ref": "Node"
+ }
}
]
},
{
- "id": "VirtualTimePolicy",
- "description": "advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to\nallow the next delayed task (if any) to run; pause: The virtual time base may not advance;\npauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending\nresource fetches.",
- "experimental": true,
- "type": "string",
- "enum": [
- "advance",
- "pause",
- "pauseIfNetworkFetchesPending"
- ]
- },
- {
- "id": "UserAgentBrandVersion",
- "description": "Used to specify User Agent Cient Hints to emulate. See https://wicg.github.io/ua-client-hints",
+ "name": "getNodesForSubtreeByStyle",
+ "description": "Finds nodes with a given computed style in a subtree.",
"experimental": true,
- "type": "object",
- "properties": [
+ "parameters": [
{
- "name": "brand",
- "type": "string"
+ "name": "nodeId",
+ "description": "Node ID pointing to the root of a subtree.",
+ "$ref": "NodeId"
},
{
- "name": "version",
- "type": "string"
+ "name": "computedStyles",
+ "description": "The style to filter nodes by (includes nodes if any of properties matches).",
+ "type": "array",
+ "items": {
+ "$ref": "CSSComputedStyleProperty"
+ }
+ },
+ {
+ "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,
+ "type": "boolean"
}
- ]
- },
- {
- "id": "UserAgentMetadata",
- "description": "Used to specify User Agent Cient Hints to emulate. See https://wicg.github.io/ua-client-hints",
- "experimental": true,
- "type": "object",
- "properties": [
+ ],
+ "returns": [
{
- "name": "brands",
+ "name": "nodeIds",
+ "description": "Resulting nodes.",
"type": "array",
"items": {
- "$ref": "UserAgentBrandVersion"
+ "$ref": "NodeId"
}
- },
+ }
+ ]
+ },
+ {
+ "name": "getNodeForLocation",
+ "description": "Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is\neither returned or not.",
+ "parameters": [
{
- "name": "fullVersion",
- "type": "string"
+ "name": "x",
+ "description": "X coordinate.",
+ "type": "integer"
},
{
- "name": "platform",
- "type": "string"
+ "name": "y",
+ "description": "Y coordinate.",
+ "type": "integer"
},
{
- "name": "platformVersion",
- "type": "string"
+ "name": "includeUserAgentShadowDOM",
+ "description": "False to skip to the nearest non-UA shadow root ancestor (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "architecture",
- "type": "string"
+ "name": "ignorePointerEventsNone",
+ "description": "Whether to ignore pointer-events: none on elements and hit test them.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "backendNodeId",
+ "description": "Resulting node.",
+ "$ref": "BackendNodeId"
},
{
- "name": "model",
- "type": "string"
+ "name": "frameId",
+ "description": "Frame this node belongs to.",
+ "$ref": "Page.FrameId"
},
{
- "name": "mobile",
- "type": "boolean"
+ "name": "nodeId",
+ "description": "Id of the node at given coordinates, only when enabled and requested document.",
+ "optional": true,
+ "$ref": "NodeId"
}
]
},
{
- "id": "DisabledImageType",
- "description": "Enum of image types that can be disabled.",
- "experimental": true,
- "type": "string",
- "enum": [
- "avif",
- "webp"
- ]
- }
- ],
- "commands": [
- {
- "name": "canEmulate",
- "description": "Tells whether emulation is supported.",
- "returns": [
+ "name": "getOuterHTML",
+ "description": "Returns node's HTML markup.",
+ "parameters": [
{
- "name": "result",
- "description": "True if emulation is supported.",
+ "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": "includeShadowDOM",
+ "description": "Include all shadow roots. Equals to false if not specified.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
}
- ]
- },
- {
- "name": "clearDeviceMetricsOverride",
- "description": "Clears the overriden device metrics."
- },
- {
- "name": "clearGeolocationOverride",
- "description": "Clears the overriden Geolocation Position and Error."
- },
- {
- "name": "resetPageScaleFactor",
- "description": "Requests that page scale factor is reset to initial values.",
- "experimental": true
- },
- {
- "name": "setFocusEmulationEnabled",
- "description": "Enables or disables simulating a focused and active page.",
- "experimental": true,
- "parameters": [
+ ],
+ "returns": [
{
- "name": "enabled",
- "description": "Whether to enable to disable focus emulation.",
- "type": "boolean"
+ "name": "outerHTML",
+ "description": "Outer HTML markup.",
+ "type": "string"
}
]
},
{
- "name": "setCPUThrottlingRate",
- "description": "Enables CPU throttling to emulate slow CPUs.",
+ "name": "getRelayoutBoundary",
+ "description": "Returns the id of the nearest ancestor that is a relayout boundary.",
"experimental": true,
"parameters": [
{
- "name": "rate",
- "description": "Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).",
- "type": "number"
+ "name": "nodeId",
+ "description": "Id of the node.",
+ "$ref": "NodeId"
}
- ]
- },
- {
- "name": "setDefaultBackgroundColorOverride",
- "description": "Sets or clears an override of the default background color of the frame. This override is used\nif the content does not specify one.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "color",
- "description": "RGBA of the default background color. If not specified, any existing override will be\ncleared.",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "nodeId",
+ "description": "Relayout boundary node id for the given node.",
+ "$ref": "NodeId"
}
]
},
{
- "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).",
+ "name": "getSearchResults",
+ "description": "Returns search results from given `fromIndex` to given `toIndex` from the search with the given\nidentifier.",
+ "experimental": true,
"parameters": [
{
- "name": "width",
- "description": "Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
- "type": "integer"
+ "name": "searchId",
+ "description": "Unique search session identifier.",
+ "type": "string"
},
{
- "name": "height",
- "description": "Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
+ "name": "fromIndex",
+ "description": "Start index of the search result to be returned.",
"type": "integer"
},
{
- "name": "deviceScaleFactor",
- "description": "Overriding device scale factor value. 0 disables the override.",
- "type": "number"
- },
+ "name": "toIndex",
+ "description": "End index of the search result to be returned.",
+ "type": "integer"
+ }
+ ],
+ "returns": [
{
- "name": "mobile",
- "description": "Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text\nautosizing and more.",
- "type": "boolean"
- },
+ "name": "nodeIds",
+ "description": "Ids of the search result nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
+ }
+ ]
+ },
+ {
+ "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.",
+ "parameters": [
{
- "name": "scale",
- "description": "Scale to apply to resulting view image.",
- "experimental": true,
- "optional": true,
- "type": "number"
+ "name": "nodeId",
+ "description": "Id of the node to move.",
+ "$ref": "NodeId"
},
{
- "name": "screenWidth",
- "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).",
- "experimental": true,
- "optional": true,
- "type": "integer"
+ "name": "targetNodeId",
+ "description": "Id of the element to drop the moved node into.",
+ "$ref": "NodeId"
},
{
- "name": "screenHeight",
- "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
- "experimental": true,
+ "name": "insertBeforeNodeId",
+ "description": "Drop node before this one (if absent, the moved node becomes the last child of\n`targetNodeId`).",
"optional": true,
- "type": "integer"
- },
+ "$ref": "NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "positionX",
- "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).",
- "experimental": true,
- "optional": true,
- "type": "integer"
- },
+ "name": "nodeId",
+ "description": "New id of the moved node.",
+ "$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,
+ "parameters": [
{
- "name": "positionY",
- "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).",
- "experimental": true,
- "optional": true,
- "type": "integer"
+ "name": "query",
+ "description": "Plain text or query selector or XPath search query.",
+ "type": "string"
},
{
- "name": "dontSetVisibleSize",
- "description": "Do not set visible view size, rely upon explicit setVisibleSize call.",
- "experimental": true,
+ "name": "includeUserAgentShadowDOM",
+ "description": "True to search in user agent shadow DOM.",
"optional": true,
"type": "boolean"
- },
- {
- "name": "screenOrientation",
- "description": "Screen orientation override.",
- "optional": true,
- "$ref": "ScreenOrientation"
- },
+ }
+ ],
+ "returns": [
{
- "name": "viewport",
- "description": "If set, the visible area of the page will be overridden to this viewport. This viewport\nchange is not observed by the page, e.g. viewport-relative elements do not change positions.",
- "experimental": true,
- "optional": true,
- "$ref": "Page.Viewport"
+ "name": "searchId",
+ "description": "Unique search session identifier.",
+ "type": "string"
},
{
- "name": "displayFeature",
- "description": "If set, the display feature of a multi-segment screen. If not set, multi-segment support\nis turned-off.",
- "experimental": true,
- "optional": true,
- "$ref": "DisplayFeature"
+ "name": "resultCount",
+ "description": "Number of search results.",
+ "type": "integer"
}
]
},
{
- "name": "setScrollbarsHidden",
+ "name": "pushNodeByPathToFrontend",
+ "description": "Requests that the node is sent to the caller given its path. // FIXME, use XPath",
"experimental": true,
"parameters": [
{
- "name": "hidden",
- "description": "Whether scrollbars should be always hidden.",
- "type": "boolean"
+ "name": "path",
+ "description": "Path to node in the proprietary format.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodeId",
+ "description": "Id of the node for given path.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "setDocumentCookieDisabled",
+ "name": "pushNodesByBackendIdsToFrontend",
+ "description": "Requests that a batch of nodes is sent to the caller given their backend node ids.",
"experimental": true,
"parameters": [
{
- "name": "disabled",
- "description": "Whether document.coookie API should be disabled.",
- "type": "boolean"
+ "name": "backendNodeIds",
+ "description": "The array of backend node ids.",
+ "type": "array",
+ "items": {
+ "$ref": "BackendNodeId"
+ }
+ }
+ ],
+ "returns": [
+ {
+ "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": "setEmitTouchEventsForMouse",
- "experimental": true,
+ "name": "querySelector",
+ "description": "Executes `querySelector` on a given node.",
"parameters": [
{
- "name": "enabled",
- "description": "Whether touch emulation based on mouse input should be enabled.",
- "type": "boolean"
+ "name": "nodeId",
+ "description": "Id of the node to query upon.",
+ "$ref": "NodeId"
},
{
- "name": "configuration",
- "description": "Touch/gesture events configuration. Default: current platform.",
- "optional": true,
- "type": "string",
- "enum": [
- "mobile",
- "desktop"
- ]
+ "name": "selector",
+ "description": "Selector string.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodeId",
+ "description": "Query selector result.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "setEmulatedMedia",
- "description": "Emulates the given media type or media feature for CSS media queries.",
+ "name": "querySelectorAll",
+ "description": "Executes `querySelectorAll` on a given node.",
"parameters": [
{
- "name": "media",
- "description": "Media type to emulate. Empty string disables the override.",
- "optional": true,
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node to query upon.",
+ "$ref": "NodeId"
},
{
- "name": "features",
- "description": "Media features to emulate.",
- "optional": true,
+ "name": "selector",
+ "description": "Selector string.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodeIds",
+ "description": "Query selector result.",
"type": "array",
"items": {
- "$ref": "MediaFeature"
+ "$ref": "NodeId"
}
}
]
},
{
- "name": "setEmulatedVisionDeficiency",
- "description": "Emulates the given vision deficiency.",
+ "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,
- "parameters": [
+ "returns": [
{
- "name": "type",
- "description": "Vision deficiency to emulate.",
- "type": "string",
- "enum": [
- "none",
- "achromatopsia",
- "blurredVision",
- "deuteranopia",
- "protanopia",
- "tritanopia"
- ]
+ "name": "nodeIds",
+ "description": "NodeIds of top layer elements",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
}
]
},
{
- "name": "setGeolocationOverride",
- "description": "Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.",
+ "name": "getElementByRelation",
+ "description": "Returns the NodeId of the matched element according to certain relations.",
+ "experimental": true,
"parameters": [
{
- "name": "latitude",
- "description": "Mock latitude",
- "optional": true,
- "type": "number"
- },
- {
- "name": "longitude",
- "description": "Mock longitude",
- "optional": true,
- "type": "number"
+ "name": "nodeId",
+ "description": "Id of the node from which to query the relation.",
+ "$ref": "NodeId"
},
{
- "name": "accuracy",
- "description": "Mock accuracy",
- "optional": true,
- "type": "number"
+ "name": "relation",
+ "description": "Type of relation to get.",
+ "type": "string",
+ "enum": [
+ "PopoverTarget",
+ "InterestTarget",
+ "CommandFor"
+ ]
}
- ]
- },
- {
- "name": "setIdleOverride",
- "description": "Overrides the Idle state.",
- "experimental": true,
- "parameters": [
- {
- "name": "isUserActive",
- "description": "Mock isUserActive",
- "type": "boolean"
- },
+ ],
+ "returns": [
{
- "name": "isScreenUnlocked",
- "description": "Mock isScreenUnlocked",
- "type": "boolean"
+ "name": "nodeId",
+ "description": "NodeId of the element matching the queried relation.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "clearIdleOverride",
- "description": "Clears Idle state overrides.",
+ "name": "redo",
+ "description": "Re-does the last undone action.",
"experimental": true
},
{
- "name": "setNavigatorOverrides",
- "description": "Overrides value returned by the javascript navigator object.",
- "experimental": true,
- "deprecated": true,
+ "name": "removeAttribute",
+ "description": "Removes attribute with given name from an element with given id.",
"parameters": [
{
- "name": "platform",
- "description": "The platform navigator.platform should return.",
+ "name": "nodeId",
+ "description": "Id of the element to remove attribute from.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "name",
+ "description": "Name of the attribute to remove.",
"type": "string"
}
]
},
{
- "name": "setPageScaleFactor",
- "description": "Sets a specified page scale factor.",
- "experimental": true,
+ "name": "removeNode",
+ "description": "Removes node with given id.",
"parameters": [
{
- "name": "pageScaleFactor",
- "description": "Page scale factor.",
- "type": "number"
+ "name": "nodeId",
+ "description": "Id of the node to remove.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "setScriptExecutionDisabled",
- "description": "Switches script execution in the page.",
+ "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": "value",
- "description": "Whether script execution should be disabled in the page.",
+ "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.",
+ "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": "setTouchEmulationEnabled",
- "description": "Enables touch on platforms which do not support them.",
+ "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": "enabled",
- "description": "Whether the touch event emulation should be enabled.",
- "type": "boolean"
- },
+ "name": "objectId",
+ "description": "JavaScript object id to convert into node.",
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
{
- "name": "maxTouchPoints",
- "description": "Maximum touch points supported. Defaults to one.",
- "optional": true,
- "type": "integer"
+ "name": "nodeId",
+ "description": "Node id for given object.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "setVirtualTimePolicy",
- "description": "Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets\nthe current virtual time policy. Note this supersedes any previous time budget.",
- "experimental": true,
+ "name": "resolveNode",
+ "description": "Resolves the JavaScript node object for a given NodeId or BackendNodeId.",
"parameters": [
{
- "name": "policy",
- "$ref": "VirtualTimePolicy"
- },
- {
- "name": "budget",
- "description": "If set, after this many virtual milliseconds have elapsed virtual time will be paused and a\nvirtualTimeBudgetExpired event is sent.",
+ "name": "nodeId",
+ "description": "Id of the node to resolve.",
"optional": true,
- "type": "number"
+ "$ref": "NodeId"
},
{
- "name": "maxVirtualTimeTaskStarvationCount",
- "description": "If set this specifies the maximum number of tasks that can be run before virtual is forced\nforwards to prevent deadlock.",
+ "name": "backendNodeId",
+ "description": "Backend identifier of the node to resolve.",
"optional": true,
- "type": "integer"
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "waitForNavigation",
- "description": "If set the virtual time policy change should be deferred until any frame starts navigating.\nNote any previous deferred policy change is superseded.",
+ "name": "objectGroup",
+ "description": "Symbolic group name that can be used to release multiple objects.",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "initialVirtualTime",
- "description": "If set, base::Time::Now will be overriden to initially return this value.",
+ "name": "executionContextId",
+ "description": "Execution context in which to resolve the node.",
"optional": true,
- "$ref": "Network.TimeSinceEpoch"
+ "$ref": "Runtime.ExecutionContextId"
}
],
"returns": [
{
- "name": "virtualTimeTicksBase",
- "description": "Absolute timestamp at which virtual time was first enabled (up time in milliseconds).",
- "type": "number"
+ "name": "object",
+ "description": "JavaScript object wrapper for given node.",
+ "$ref": "Runtime.RemoteObject"
}
]
},
{
- "name": "setLocaleOverride",
- "description": "Overrides default host system locale with the specified one.",
- "experimental": true,
+ "name": "setAttributeValue",
+ "description": "Sets attribute for an element with given id.",
"parameters": [
{
- "name": "locale",
- "description": "ICU style C locale (e.g. \"en_US\"). If not specified or empty, disables the override and\nrestores default host system locale.",
- "optional": true,
+ "name": "nodeId",
+ "description": "Id of the element to set attribute for.",
+ "$ref": "NodeId"
+ },
+ {
+ "name": "name",
+ "description": "Attribute name.",
"type": "string"
- }
- ]
- },
- {
- "name": "setTimezoneOverride",
- "description": "Overrides default host system timezone with the specified one.",
- "experimental": true,
- "parameters": [
+ },
{
- "name": "timezoneId",
- "description": "The timezone identifier. If empty, disables the override and\nrestores default host system timezone.",
+ "name": "value",
+ "description": "Attribute value.",
"type": "string"
}
]
},
{
- "name": "setVisibleSize",
- "description": "Resizes the frame/viewport of the page. Note that this does not affect the frame's container\n(e.g. browser window). Can be used to produce screenshots of the specified size. Not supported\non Android.",
- "experimental": true,
- "deprecated": 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": "width",
- "description": "Frame width (DIP).",
- "type": "integer"
+ "name": "nodeId",
+ "description": "Id of the element to set attributes for.",
+ "$ref": "NodeId"
},
{
- "name": "height",
- "description": "Frame height (DIP).",
- "type": "integer"
+ "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": "setDisabledImageTypes",
- "experimental": true,
+ "name": "setFileInputFiles",
+ "description": "Sets files for the given file input element.",
"parameters": [
{
- "name": "imageTypes",
- "description": "Image types to disable.",
+ "name": "files",
+ "description": "Array of file paths to set.",
"type": "array",
"items": {
- "$ref": "DisabledImageType"
+ "type": "string"
}
- }
- ]
- },
- {
- "name": "setUserAgentOverride",
- "description": "Allows overriding user agent with the given string.",
- "parameters": [
- {
- "name": "userAgent",
- "description": "User agent to use.",
- "type": "string"
},
{
- "name": "acceptLanguage",
- "description": "Browser langugage to emulate.",
+ "name": "nodeId",
+ "description": "Identifier of the node.",
"optional": true,
- "type": "string"
+ "$ref": "NodeId"
},
{
- "name": "platform",
- "description": "The platform navigator.platform should return.",
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
"optional": true,
- "type": "string"
+ "$ref": "BackendNodeId"
},
{
- "name": "userAgentMetadata",
- "description": "To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData",
- "experimental": true,
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
"optional": true,
- "$ref": "UserAgentMetadata"
+ "$ref": "Runtime.RemoteObjectId"
}
]
- }
- ],
- "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"
- ]
- },
+ "name": "setNodeStackTracesEnabled",
+ "description": "Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled.",
+ "experimental": true,
+ "parameters": [
{
- "name": "quality",
- "description": "Compression quality from range [0..100] (jpeg only).",
- "optional": true,
- "type": "integer"
+ "name": "enable",
+ "description": "Enable or disable.",
+ "type": "boolean"
}
]
- }
- ],
- "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.gl/3zHXhB for more background.",
+ "name": "getNodeStackTraces",
+ "description": "Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.",
+ "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": "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": "number"
- },
+ "name": "nodeId",
+ "description": "Id of the node to get stack traces for.",
+ "$ref": "NodeId"
+ }
+ ],
+ "returns": [
{
- "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": "creation",
+ "description": "Creation stack trace, if available.",
"optional": true,
- "type": "boolean"
- },
+ "$ref": "Runtime.StackTrace"
+ }
+ ]
+ },
+ {
+ "name": "getFileInfo",
+ "description": "Returns file information for the given\nFile wrapper.",
+ "experimental": true,
+ "parameters": [
{
- "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,
- "$ref": "ScreenshotParams"
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "$ref": "Runtime.RemoteObjectId"
}
],
"returns": [
{
- "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": "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,
+ "name": "path",
"type": "string"
}
]
},
{
- "name": "disable",
- "description": "Disables headless events for the target."
- },
- {
- "name": "enable",
- "description": "Enables headless events for the target."
- }
- ],
- "events": [
- {
- "name": "needsBeginFramesChanged",
- "description": "Issued when the target starts or stops needing BeginFrames.\nDeprecated. Issue beginFrame unconditionally instead and use result from\nbeginFrame to detect whether the frames were suppressed.",
- "deprecated": true,
- "parameters": [
+ "name": "getDetachedDomNodes",
+ "description": "Returns list of detached nodes",
+ "experimental": true,
+ "returns": [
{
- "name": "needsBeginFrames",
- "description": "True if BeginFrames are needed, false otherwise.",
- "type": "boolean"
+ "name": "detachedNodes",
+ "description": "The list of detached nodes",
+ "type": "array",
+ "items": {
+ "$ref": "DetachedElementInfo"
+ }
}
]
- }
- ]
- },
- {
- "domain": "IO",
- "description": "Input/Output operations for streams produced by DevTools.",
- "types": [
- {
- "id": "StreamHandle",
- "description": "This is either obtained from another method or specifed as `blob:<uuid>` where\n`<uuid>` is an UUID of a Blob.",
- "type": "string"
- }
- ],
- "commands": [
+ },
{
- "name": "close",
- "description": "Close the stream, discard any temporary backing storage.",
+ "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": "handle",
- "description": "Handle of the stream to close.",
- "$ref": "StreamHandle"
+ "name": "nodeId",
+ "description": "DOM node id to be accessible by means of $x command line API.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "read",
- "description": "Read a chunk of the stream",
+ "name": "setNodeName",
+ "description": "Sets node name for a node with given id.",
"parameters": [
{
- "name": "handle",
- "description": "Handle of the stream to read.",
- "$ref": "StreamHandle"
- },
- {
- "name": "offset",
- "description": "Seek to the specified offset before reading (if not specificed, proceed with offset\nfollowing the last read). Some types of streams may only support sequential reads.",
- "optional": true,
- "type": "integer"
+ "name": "nodeId",
+ "description": "Id of the node to set name for.",
+ "$ref": "NodeId"
},
{
- "name": "size",
- "description": "Maximum number of bytes to read (left upon the agent discretion if not specified).",
- "optional": true,
- "type": "integer"
+ "name": "name",
+ "description": "New node's name.",
+ "type": "string"
}
],
"returns": [
{
- "name": "base64Encoded",
- "description": "Set if the data is base64-encoded",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "data",
- "description": "Data that were read.",
- "type": "string"
- },
- {
- "name": "eof",
- "description": "Set if the end-of-file condition occured while reading.",
- "type": "boolean"
+ "name": "nodeId",
+ "description": "New node's id.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "resolveBlob",
- "description": "Return UUID of Blob object specified by a remote object id.",
+ "name": "setNodeValue",
+ "description": "Sets node value for a node with given id.",
"parameters": [
{
- "name": "objectId",
- "description": "Object id of a Blob object wrapper.",
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
+ "name": "nodeId",
+ "description": "Id of the node to set value for.",
+ "$ref": "NodeId"
+ },
{
- "name": "uuid",
- "description": "UUID of the specified Blob.",
+ "name": "value",
+ "description": "New node's value.",
"type": "string"
}
]
- }
- ]
- },
- {
- "domain": "IndexedDB",
- "experimental": true,
- "dependencies": [
- "Runtime"
- ],
- "types": [
+ },
{
- "id": "DatabaseWithObjectStores",
- "description": "Database with an array of object stores.",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Database name.",
- "type": "string"
- },
+ "name": "setOuterHTML",
+ "description": "Sets node HTML markup, returns new node id.",
+ "parameters": [
{
- "name": "version",
- "description": "Database version (type is not 'integer', as the standard\nrequires the version number to be 'unsigned long long')",
- "type": "number"
+ "name": "nodeId",
+ "description": "Id of the node to set markup for.",
+ "$ref": "NodeId"
},
{
- "name": "objectStores",
- "description": "Object stores in this database.",
- "type": "array",
- "items": {
- "$ref": "ObjectStore"
- }
+ "name": "outerHTML",
+ "description": "Outer HTML markup to set.",
+ "type": "string"
}
]
},
{
- "id": "ObjectStore",
- "description": "Object store.",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Object store name.",
- "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.",
+ "experimental": true,
+ "parameters": [
{
- "name": "keyPath",
- "description": "Object store key path.",
- "$ref": "KeyPath"
- },
+ "name": "frameId",
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
{
- "name": "autoIncrement",
- "description": "If true, object store has auto increment flag set.",
- "type": "boolean"
+ "name": "backendNodeId",
+ "description": "Resulting node.",
+ "$ref": "BackendNodeId"
},
{
- "name": "indexes",
- "description": "Indexes in this object store.",
- "type": "array",
- "items": {
- "$ref": "ObjectStoreIndex"
- }
+ "name": "nodeId",
+ "description": "Id of the node at given coordinates, only when enabled and requested document.",
+ "optional": true,
+ "$ref": "NodeId"
}
]
},
{
- "id": "ObjectStoreIndex",
- "description": "Object store index.",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Index name.",
- "type": "string"
- },
+ "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": "keyPath",
- "description": "Index key path.",
- "$ref": "KeyPath"
+ "name": "nodeId",
+ "$ref": "NodeId"
},
{
- "name": "unique",
- "description": "If true, index is unique.",
- "type": "boolean"
+ "name": "containerName",
+ "optional": true,
+ "type": "string"
},
{
- "name": "multiEntry",
- "description": "If true, index allows multiple entries for a key.",
- "type": "boolean"
- }
- ]
- },
- {
- "id": "Key",
- "description": "Key.",
- "type": "object",
- "properties": [
- {
- "name": "type",
- "description": "Key type.",
- "type": "string",
- "enum": [
- "number",
- "string",
- "date",
- "array"
- ]
+ "name": "physicalAxes",
+ "optional": true,
+ "$ref": "PhysicalAxes"
},
{
- "name": "number",
- "description": "Number value.",
+ "name": "logicalAxes",
"optional": true,
- "type": "number"
+ "$ref": "LogicalAxes"
},
{
- "name": "string",
- "description": "String value.",
+ "name": "queriesScrollState",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "date",
- "description": "Date value.",
+ "name": "queriesAnchored",
"optional": true,
- "type": "number"
- },
+ "type": "boolean"
+ }
+ ],
+ "returns": [
{
- "name": "array",
- "description": "Array value.",
+ "name": "nodeId",
+ "description": "The container node for the given node, or null if not found.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Key"
- }
+ "$ref": "NodeId"
}
]
},
{
- "id": "KeyRange",
- "description": "Key range.",
- "type": "object",
- "properties": [
- {
- "name": "lower",
- "description": "Lower bound.",
- "optional": true,
- "$ref": "Key"
- },
- {
- "name": "upper",
- "description": "Upper bound.",
- "optional": true,
- "$ref": "Key"
- },
+ "name": "getQueryingDescendantsForContainer",
+ "description": "Returns the descendants of a container query container that have\ncontainer queries against this container.",
+ "experimental": true,
+ "parameters": [
{
- "name": "lowerOpen",
- "description": "If true lower bound is open.",
- "type": "boolean"
- },
+ "name": "nodeId",
+ "description": "Id of the container node to find querying descendants from.",
+ "$ref": "NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "upperOpen",
- "description": "If true upper bound is open.",
- "type": "boolean"
+ "name": "nodeIds",
+ "description": "Descendant nodes with container queries against the given container.",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
}
]
},
{
- "id": "DataEntry",
- "description": "Data entry.",
- "type": "object",
- "properties": [
+ "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": "key",
- "description": "Key object.",
- "$ref": "Runtime.RemoteObject"
+ "name": "nodeId",
+ "description": "Id of the positioned element from which to find the anchor.",
+ "$ref": "NodeId"
},
{
- "name": "primaryKey",
- "description": "Primary key object.",
- "$ref": "Runtime.RemoteObject"
- },
+ "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": "value",
- "description": "Value object.",
- "$ref": "Runtime.RemoteObject"
+ "name": "nodeId",
+ "description": "The anchor element of the given anchor query.",
+ "$ref": "NodeId"
}
]
},
{
- "id": "KeyPath",
- "description": "Key path.",
- "type": "object",
- "properties": [
+ "name": "forceShowPopover",
+ "description": "When enabling, this API force-opens the popover identified by nodeId\nand keeps it open until disabled.",
+ "experimental": true,
+ "parameters": [
{
- "name": "type",
- "description": "Key path type.",
- "type": "string",
- "enum": [
- "null",
- "string",
- "array"
- ]
+ "name": "nodeId",
+ "description": "Id of the popover HTMLElement",
+ "$ref": "NodeId"
},
{
- "name": "string",
- "description": "String value.",
- "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": "array",
- "description": "Array value.",
- "optional": true,
+ "name": "nodeIds",
+ "description": "List of popovers that were closed in order to respect popover stacking order.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "NodeId"
}
}
]
}
],
- "commands": [
+ "events": [
{
- "name": "clearObjectStore",
- "description": "Clears all entries from an object store.",
+ "name": "attributeModified",
+ "description": "Fired when `Element`'s attribute is modified.",
"parameters": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "databaseName",
- "description": "Database name.",
+ "name": "name",
+ "description": "Attribute name.",
"type": "string"
},
{
- "name": "objectStoreName",
- "description": "Object store name.",
+ "name": "value",
+ "description": "Attribute value.",
"type": "string"
}
]
},
{
- "name": "deleteDatabase",
- "description": "Deletes a database.",
+ "name": "attributeRemoved",
+ "description": "Fired when `Element`'s attribute is removed.",
"parameters": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "databaseName",
- "description": "Database name.",
+ "name": "name",
+ "description": "A ttribute name.",
"type": "string"
}
]
},
{
- "name": "deleteObjectStoreEntries",
- "description": "Delete a range of entries from an object store",
+ "name": "characterDataModified",
+ "description": "Mirrors `DOMCharacterDataModified` event.",
"parameters": [
{
- "name": "securityOrigin",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "databaseName",
+ "name": "characterData",
+ "description": "New text value.",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "childNodeCountUpdated",
+ "description": "Fired when `Container`'s child node count has changed.",
+ "parameters": [
{
- "name": "objectStoreName",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "keyRange",
- "description": "Range of entry keys to delete",
- "$ref": "KeyRange"
+ "name": "childNodeCount",
+ "description": "New node count.",
+ "type": "integer"
}
]
},
{
- "name": "disable",
- "description": "Disables events from backend."
- },
- {
- "name": "enable",
- "description": "Enables events from backend."
- },
- {
- "name": "requestData",
- "description": "Requests data from object store or index.",
+ "name": "childNodeInserted",
+ "description": "Mirrors `DOMNodeInserted` event.",
"parameters": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
+ "name": "parentNodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
+ "name": "previousNodeId",
+ "description": "Id of the previous sibling.",
+ "$ref": "NodeId"
},
{
- "name": "objectStoreName",
- "description": "Object store name.",
- "type": "string"
- },
+ "name": "node",
+ "description": "Inserted node data.",
+ "$ref": "Node"
+ }
+ ]
+ },
+ {
+ "name": "childNodeRemoved",
+ "description": "Mirrors `DOMNodeRemoved` event.",
+ "parameters": [
{
- "name": "indexName",
- "description": "Index name, empty string for object store data requests.",
- "type": "string"
+ "name": "parentNodeId",
+ "description": "Parent id.",
+ "$ref": "NodeId"
},
{
- "name": "skipCount",
- "description": "Number of records to skip.",
- "type": "integer"
- },
+ "name": "nodeId",
+ "description": "Id of the node that has been removed.",
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "distributedNodesUpdated",
+ "description": "Called when distribution is changed.",
+ "experimental": true,
+ "parameters": [
{
- "name": "pageSize",
- "description": "Number of records to fetch.",
- "type": "integer"
+ "name": "insertionPointId",
+ "description": "Insertion point where distributed nodes were updated.",
+ "$ref": "NodeId"
},
{
- "name": "keyRange",
- "description": "Key range.",
- "optional": true,
- "$ref": "KeyRange"
+ "name": "distributedNodes",
+ "description": "Distributed nodes for given insertion point.",
+ "type": "array",
+ "items": {
+ "$ref": "BackendNode"
+ }
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "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": "objectStoreDataEntries",
- "description": "Array of object store data entries.",
+ "name": "nodeIds",
+ "description": "Ids of the nodes for which the inline styles have been invalidated.",
"type": "array",
"items": {
- "$ref": "DataEntry"
+ "$ref": "NodeId"
}
- },
- {
- "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",
+ "name": "pseudoElementAdded",
+ "description": "Called when a pseudo element is added to an element.",
+ "experimental": true,
"parameters": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
- },
- {
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
+ "name": "parentId",
+ "description": "Pseudo element's parent element id.",
+ "$ref": "NodeId"
},
{
- "name": "objectStoreName",
- "description": "Object store name.",
- "type": "string"
+ "name": "pseudoElement",
+ "description": "The added pseudo element.",
+ "$ref": "Node"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "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": "entriesCount",
- "description": "the entries count",
- "type": "number"
+ "name": "nodeId",
+ "description": "The id of the node.",
+ "$ref": "DOM.NodeId"
},
{
- "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": "isScrollable",
+ "description": "If the node is scrollable.",
+ "type": "boolean"
}
]
},
{
- "name": "requestDatabase",
- "description": "Requests database with given name in given frame.",
+ "name": "pseudoElementRemoved",
+ "description": "Called when a pseudo element is removed from an element.",
+ "experimental": true,
"parameters": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
+ "name": "parentId",
+ "description": "Pseudo element's parent element id.",
+ "$ref": "NodeId"
},
{
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "databaseWithObjectStores",
- "description": "Database with an array of object stores.",
- "$ref": "DatabaseWithObjectStores"
+ "name": "pseudoElementId",
+ "description": "The removed pseudo element id.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "requestDatabaseNames",
- "description": "Requests database names for given security origin.",
+ "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": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
- }
- ],
- "returns": [
+ "name": "parentId",
+ "description": "Parent node id to populate with children.",
+ "$ref": "NodeId"
+ },
{
- "name": "databaseNames",
- "description": "Database names for origin.",
+ "name": "nodes",
+ "description": "Child nodes array.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "Node"
}
}
]
- }
- ]
- },
- {
- "domain": "Input",
- "types": [
+ },
{
- "id": "TouchPoint",
- "type": "object",
- "properties": [
- {
- "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": "radiusX",
- "description": "X radius of the touch area (default: 1.0).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "radiusY",
- "description": "Y radius of the touch area (default: 1.0).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "rotationAngle",
- "description": "Rotation angle (default: 0.0).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "force",
- "description": "Force (default: 1.0).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "tangentialPressure",
- "description": "The normalized tangential pressure, which has a range of [-1,1] (default: 0).",
- "experimental": true,
- "optional": true,
- "type": "number"
- },
+ "name": "shadowRootPopped",
+ "description": "Called when shadow root is popped from the element.",
+ "experimental": true,
+ "parameters": [
{
- "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)",
- "experimental": true,
- "optional": true,
- "type": "integer"
+ "name": "hostId",
+ "description": "Host element id.",
+ "$ref": "NodeId"
},
{
- "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).",
- "experimental": true,
- "optional": true,
- "type": "integer"
- },
+ "name": "rootId",
+ "description": "Shadow root id.",
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "shadowRootPushed",
+ "description": "Called when shadow root is pushed into the element.",
+ "experimental": true,
+ "parameters": [
{
- "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": "hostId",
+ "description": "Host element id.",
+ "$ref": "NodeId"
},
{
- "name": "id",
- "description": "Identifier used to track touch sources between events, must be unique within an event.",
- "optional": true,
- "type": "number"
+ "name": "root",
+ "description": "Shadow root.",
+ "$ref": "Node"
}
]
- },
+ }
+ ]
+ },
+ {
+ "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": "GestureSourceType",
- "experimental": true,
+ "id": "DOMBreakpointType",
+ "description": "DOM breakpoint type.",
"type": "string",
"enum": [
- "default",
- "touch",
- "mouse"
+ "subtree-modified",
+ "attribute-modified",
+ "node-removed"
]
},
{
- "id": "MouseButton",
+ "id": "CSPViolationType",
+ "description": "CSP Violation type.",
+ "experimental": true,
"type": "string",
"enum": [
- "none",
- "left",
- "middle",
- "right",
- "back",
- "forward"
+ "trustedtype-sink-violation",
+ "trustedtype-policy-violation"
]
},
{
- "id": "TimeSinceEpoch",
- "description": "UTC time in seconds, counted from January 1, 1970.",
- "type": "number"
- }
- ],
- "commands": [
- {
- "name": "dispatchKeyEvent",
- "description": "Dispatches a key event to the page.",
- "parameters": [
+ "id": "EventListener",
+ "description": "Object event listener.",
+ "type": "object",
+ "properties": [
{
"name": "type",
- "description": "Type of the key event.",
- "type": "string",
- "enum": [
- "keyDown",
- "keyUp",
- "rawKeyDown",
- "char"
- ]
- },
- {
- "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": "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,
+ "description": "`EventListener`'s type.",
"type": "string"
},
{
- "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": "useCapture",
+ "description": "`EventListener`'s useCapture.",
+ "type": "boolean"
},
{
- "name": "keyIdentifier",
- "description": "Unique key identifier (e.g., 'U+0041') (default: \"\").",
- "optional": true,
- "type": "string"
+ "name": "passive",
+ "description": "`EventListener`'s passive flag.",
+ "type": "boolean"
},
{
- "name": "code",
- "description": "Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: \"\").",
- "optional": true,
- "type": "string"
+ "name": "once",
+ "description": "`EventListener`'s once flag.",
+ "type": "boolean"
},
{
- "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": "scriptId",
+ "description": "Script id of the handler code.",
+ "$ref": "Runtime.ScriptId"
},
{
- "name": "windowsVirtualKeyCode",
- "description": "Windows virtual key code (default: 0).",
- "optional": true,
+ "name": "lineNumber",
+ "description": "Line number in the script (0-based).",
"type": "integer"
},
{
- "name": "nativeVirtualKeyCode",
- "description": "Native virtual key code (default: 0).",
- "optional": true,
+ "name": "columnNumber",
+ "description": "Column number in the script (0-based).",
"type": "integer"
},
{
- "name": "autoRepeat",
- "description": "Whether the event was generated from auto repeat (default: false).",
+ "name": "handler",
+ "description": "Event handler function value.",
"optional": true,
- "type": "boolean"
+ "$ref": "Runtime.RemoteObject"
},
{
- "name": "isKeypad",
- "description": "Whether the event was generated from the keypad (default: false).",
+ "name": "originalHandler",
+ "description": "Event original handler function value.",
"optional": true,
- "type": "boolean"
+ "$ref": "Runtime.RemoteObject"
},
{
- "name": "isSystemKey",
- "description": "Whether the event was a system key event (default: false).",
+ "name": "backendNodeId",
+ "description": "Node the listener is added to (if any).",
"optional": true,
- "type": "boolean"
+ "$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": "location",
- "description": "Whether the event was from the left or right side of the keyboard. 1=Left, 2=Right (default:\n0).",
+ "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": "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/+/master:third_party/blink/renderer/core/editing/commands/editor_command_names.h for valid command names.",
- "experimental": true,
+ "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": {
- "type": "string"
+ "$ref": "EventListener"
}
}
]
},
{
- "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,
+ "name": "removeDOMBreakpoint",
+ "description": "Removes DOM breakpoint that was set using `setDOMBreakpoint`.",
"parameters": [
{
- "name": "text",
- "description": "The text to insert.",
- "type": "string"
- }
- ]
- },
- {
- "name": "dispatchMouseEvent",
- "description": "Dispatches a mouse event to the page.",
- "parameters": [
- {
- "name": "type",
- "description": "Type of the mouse event.",
- "type": "string",
- "enum": [
- "mousePressed",
- "mouseReleased",
- "mouseMoved",
- "mouseWheel"
- ]
- },
- {
- "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": "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,
- "optional": true,
- "type": "number"
- },
- {
- "name": "tangentialPressure",
- "description": "The normalized tangential pressure, which has a range of [-1,1] (default: 0).",
- "experimental": true,
- "optional": true,
- "type": "number"
+ "name": "nodeId",
+ "description": "Identifier of the node to remove breakpoint from.",
+ "$ref": "DOM.NodeId"
},
{
- "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).",
- "experimental": true,
- "optional": true,
- "type": "integer"
- },
+ "name": "type",
+ "description": "Type of the breakpoint to remove.",
+ "$ref": "DOMBreakpointType"
+ }
+ ]
+ },
+ {
+ "name": "removeEventListenerBreakpoint",
+ "description": "Removes breakpoint on particular DOM event.",
+ "parameters": [
{
- "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).",
- "experimental": true,
- "optional": true,
- "type": "integer"
+ "name": "eventName",
+ "description": "Event name.",
+ "type": "string"
},
{
- "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": "targetName",
+ "description": "EventTarget interface name.",
"experimental": true,
"optional": true,
- "type": "integer"
- },
- {
- "name": "deltaX",
- "description": "X delta in CSS pixels for mouse wheel event (default: 0).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "deltaY",
- "description": "Y delta in CSS pixels for mouse wheel event (default: 0).",
- "optional": true,
- "type": "number"
- },
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "removeInstrumentationBreakpoint",
+ "description": "Removes breakpoint on particular native event.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "EventBreakpoints",
+ "parameters": [
{
- "name": "pointerType",
- "description": "Pointer type (default: \"mouse\").",
- "optional": true,
- "type": "string",
- "enum": [
- "mouse",
- "pen"
- ]
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
+ "type": "string"
}
]
},
{
- "name": "dispatchTouchEvent",
- "description": "Dispatches a touch event to the page.",
+ "name": "removeXHRBreakpoint",
+ "description": "Removes breakpoint from XMLHttpRequest.",
"parameters": [
{
- "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": [
- "touchStart",
- "touchEnd",
- "touchMove",
- "touchCancel"
- ]
- },
+ "name": "url",
+ "description": "Resource URL substring.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setBreakOnCSPViolation",
+ "description": "Sets breakpoint on particular CSP violations.",
+ "experimental": true,
+ "parameters": [
{
- "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.",
+ "name": "violationTypes",
+ "description": "CSP Violations to stop upon.",
"type": "array",
"items": {
- "$ref": "TouchPoint"
+ "$ref": "CSPViolationType"
}
- },
- {
- "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": "emulateTouchFromMouseEvent",
- "description": "Emulates touch event from the mouse event parameters.",
- "experimental": true,
+ "name": "setDOMBreakpoint",
+ "description": "Sets breakpoint on particular operation with DOM.",
"parameters": [
{
- "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": "nodeId",
+ "description": "Identifier of the node to set breakpoint on.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "clickCount",
- "description": "Number of times the mouse button was clicked (default: 0).",
- "optional": true,
- "type": "integer"
+ "name": "type",
+ "description": "Type of the operation to stop upon.",
+ "$ref": "DOMBreakpointType"
}
]
},
{
- "name": "setIgnoreInputEvents",
- "description": "Ignores input events (useful while auditing page).",
+ "name": "setEventListenerBreakpoint",
+ "description": "Sets breakpoint on particular DOM event.",
"parameters": [
{
- "name": "ignore",
- "description": "Ignores input events processing when set to true.",
- "type": "boolean"
+ "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": "synthesizePinchGesture",
- "description": "Synthesizes a pinch gesture over a time period by issuing appropriate touch events.",
+ "name": "setInstrumentationBreakpoint",
+ "description": "Sets breakpoint on particular native event.",
"experimental": true,
+ "deprecated": true,
+ "redirect": "EventBreakpoints",
"parameters": [
{
- "name": "x",
- "description": "X coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "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": "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.",
+ "parameters": [
+ {
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "removeInstrumentationBreakpoint",
+ "description": "Removes breakpoint on particular native event.",
+ "parameters": [
+ {
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "disable",
+ "description": "Removes all breakpoints"
+ }
+ ]
+ },
+ {
+ "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": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
+ "type": "string"
},
{
- "name": "scaleFactor",
- "description": "Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).",
- "type": "number"
+ "name": "nodeValue",
+ "description": "`Node`'s nodeValue.",
+ "type": "string"
},
{
- "name": "relativeSpeed",
- "description": "Relative pointer speed in pixels per second (default: 800).",
+ "name": "textValue",
+ "description": "Only set for textarea elements, contains the text value.",
"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": "inputValue",
+ "description": "Only set for input elements, contains the input's associated text value.",
"optional": true,
- "$ref": "GestureSourceType"
- }
- ]
- },
- {
- "name": "synthesizeScrollGesture",
- "description": "Synthesizes a scroll 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"
+ "type": "string"
},
{
- "name": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "name": "inputChecked",
+ "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "xDistance",
- "description": "The distance to scroll along the X axis (positive to scroll left).",
+ "name": "optionSelected",
+ "description": "Only set for option elements, indicates if the element has been selected",
"optional": true,
- "type": "number"
+ "type": "boolean"
},
{
- "name": "yDistance",
- "description": "The distance to scroll along the Y axis (positive to scroll up).",
- "optional": true,
- "type": "number"
+ "name": "backendNodeId",
+ "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "xOverscroll",
- "description": "The number of additional pixels to scroll back along the X axis, in addition to the given\ndistance.",
+ "name": "childNodeIndexes",
+ "description": "The indexes of the node's child nodes in the `domNodes` array returned by `getSnapshot`, if\nany.",
"optional": true,
- "type": "number"
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "yOverscroll",
- "description": "The number of additional pixels to scroll back along the Y axis, in addition to the given\ndistance.",
+ "name": "attributes",
+ "description": "Attributes of an `Element` node.",
"optional": true,
- "type": "number"
+ "type": "array",
+ "items": {
+ "$ref": "NameValue"
+ }
},
{
- "name": "preventFling",
- "description": "Prevent fling (default: true).",
+ "name": "pseudoElementIndexes",
+ "description": "Indexes of pseudo elements associated with this node in the `domNodes` array returned by\n`getSnapshot`, if any.",
"optional": true,
- "type": "boolean"
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "speed",
- "description": "Swipe speed in pixels per second (default: 800).",
+ "name": "layoutNodeIndex",
+ "description": "The index of the node's related layout tree node in the `layoutTreeNodes` array returned by\n`getSnapshot`, if any.",
"optional": true,
"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": "documentURL",
+ "description": "Document URL that `Document` or `FrameOwner` node points to.",
"optional": true,
- "$ref": "GestureSourceType"
+ "type": "string"
},
{
- "name": "repeatCount",
- "description": "The number of times to repeat the gesture (default: 0).",
+ "name": "baseURL",
+ "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "repeatDelayMs",
- "description": "The number of milliseconds delay between each repeat. (default: 250).",
+ "name": "contentLanguage",
+ "description": "Only set for documents, contains the document's content language.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "interactionMarkerName",
- "description": "The name of the interaction markers to generate, if not empty (default: \"\").",
+ "name": "documentEncoding",
+ "description": "Only set for documents, contains the document's character set encoding.",
"optional": true,
"type": "string"
- }
- ]
- },
- {
- "name": "synthesizeTapGesture",
- "description": "Synthesizes a tap 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": "publicId",
+ "description": "`DocumentType` node's publicId.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "name": "systemId",
+ "description": "`DocumentType` node's systemId.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "duration",
- "description": "Duration between touchdown and touchup events in ms (default: 50).",
+ "name": "frameId",
+ "description": "Frame ID for frame owner elements and also for the document node.",
"optional": true,
- "type": "integer"
+ "$ref": "Page.FrameId"
},
{
- "name": "tapCount",
- "description": "Number of times to perform the tap (e.g. 2 for double tap, default: 1).",
+ "name": "contentDocumentIndex",
+ "description": "The index of a frame owner element's content document in the `domNodes` array returned by\n`getSnapshot`, if any.",
"optional": true,
"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": "pseudoType",
+ "description": "Type of a pseudo element node.",
"optional": true,
- "$ref": "GestureSourceType"
- }
- ]
- }
- ]
- },
- {
- "domain": "Inspector",
- "experimental": true,
- "commands": [
- {
- "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": [
+ "$ref": "DOM.PseudoType"
+ },
{
- "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": "shadowRootType",
+ "description": "Shadow root type.",
+ "optional": true,
+ "$ref": "DOM.ShadowRootType"
+ },
{
- "name": "rect",
- "description": "Rectangle itself.",
- "$ref": "DOM.Rect"
+ "name": "isClickable",
+ "description": "Whether this DOM node responds to mouse clicks. This includes nodes that have had click\nevent listeners attached via JavaScript as well as anchor tags that naturally navigate when\nclicked.",
+ "optional": true,
+ "type": "boolean"
},
{
- "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": "eventListeners",
+ "description": "Details of the node's event listeners, if any.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "DOMDebugger.EventListener"
+ }
+ },
{
- "name": "stickyBoxRect",
- "description": "Layout rectangle of the sticky element before being shifted",
- "$ref": "DOM.Rect"
+ "name": "currentSourceURL",
+ "description": "The selected url for nodes with a srcset attribute.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "containingBlockRect",
- "description": "Layout rectangle of the containing block of the sticky element",
- "$ref": "DOM.Rect"
+ "name": "originURL",
+ "description": "The url of the script (if any) that generates this node.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "nearestLayerShiftingStickyBox",
- "description": "The nearest sticky layer that shifts the sticky box",
+ "name": "scrollOffsetX",
+ "description": "Scroll offsets, set when this node is a Document.",
"optional": true,
- "$ref": "LayerId"
+ "type": "number"
},
{
- "name": "nearestLayerShiftingContainingBlock",
- "description": "The nearest sticky layer that shifts the containing block",
+ "name": "scrollOffsetY",
"optional": true,
- "$ref": "LayerId"
+ "type": "number"
}
]
},
{
- "id": "PictureTile",
- "description": "Serialized fragment of layer picture along with its offset within the layer.",
+ "id": "InlineTextBox",
+ "description": "Details of post layout rendered text positions. The exact layout should not be regarded as\nstable and may change between versions.",
"type": "object",
"properties": [
{
- "name": "x",
- "description": "Offset from owning layer left boundary",
- "type": "number"
+ "name": "boundingBox",
+ "description": "The bounding box in document coordinates. Note that scroll offset of the document is ignored.",
+ "$ref": "DOM.Rect"
},
{
- "name": "y",
- "description": "Offset from owning layer top boundary",
- "type": "number"
+ "name": "startCharacterIndex",
+ "description": "The starting index in characters, for this post layout textbox substring. Characters that\nwould be represented as a surrogate pair in UTF-16 have length 2.",
+ "type": "integer"
},
{
- "name": "picture",
- "description": "Base64-encoded snapshot data. (Encoded as a base64 string when passed over JSON)",
- "type": "string"
+ "name": "numCharacters",
+ "description": "The number of characters in this post layout textbox substring. Characters that would be\nrepresented as a surrogate pair in UTF-16 have length 2.",
+ "type": "integer"
}
]
},
{
- "id": "Layer",
- "description": "Information about a compositing layer.",
+ "id": "LayoutTreeNode",
+ "description": "Details of an element in the DOM tree with a LayoutObject.",
"type": "object",
"properties": [
{
- "name": "layerId",
- "description": "The unique id for this layer.",
- "$ref": "LayerId"
+ "name": "domNodeIndex",
+ "description": "The index of the related DOM node in the `domNodes` array returned by `getSnapshot`.",
+ "type": "integer"
},
{
- "name": "parentLayerId",
- "description": "The id of parent (not present for root).",
- "optional": true,
- "$ref": "LayerId"
+ "name": "boundingBox",
+ "description": "The bounding box in document coordinates. Note that scroll offset of the document is ignored.",
+ "$ref": "DOM.Rect"
},
{
- "name": "backendNodeId",
- "description": "The backend id for the node associated with this layer.",
+ "name": "layoutText",
+ "description": "Contents of the LayoutText, if any.",
"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.",
- "type": "number"
- },
- {
- "name": "width",
- "description": "Layer width.",
- "type": "number"
- },
- {
- "name": "height",
- "description": "Layer height.",
- "type": "number"
+ "type": "string"
},
{
- "name": "transform",
- "description": "Transformation matrix for layer, default is identity matrix",
+ "name": "inlineTextNodes",
+ "description": "The post-layout inline text nodes, if any.",
"optional": true,
"type": "array",
"items": {
- "type": "number"
+ "$ref": "InlineTextBox"
}
},
{
- "name": "anchorX",
- "description": "Transform anchor point X, absent if no transform specified",
- "optional": true,
- "type": "number"
- },
- {
- "name": "anchorY",
- "description": "Transform anchor point Y, absent if no transform specified",
+ "name": "styleIndex",
+ "description": "Index into the `computedStyles` array returned by `getSnapshot`.",
"optional": true,
- "type": "number"
+ "type": "integer"
},
{
- "name": "anchorZ",
- "description": "Transform anchor point Z, absent if no transform specified",
+ "name": "paintOrder",
+ "description": "Global paint order index, which is determined by the stacking order of the nodes. Nodes\nthat are painted together will have the same index. Only provided if includePaintOrder in\ngetSnapshot was true.",
"optional": true,
- "type": "number"
- },
- {
- "name": "paintCount",
- "description": "Indicates how many time this layer has painted.",
"type": "integer"
},
{
- "name": "drawsContent",
- "description": "Indicates whether this layer hosts any content, rather than being used for\ntransform/scrolling purposes only.",
- "type": "boolean"
- },
- {
- "name": "invisible",
- "description": "Set if layer is not visible.",
+ "name": "isStackingContext",
+ "description": "Set to true to indicate the element begins a new stacking context.",
"optional": true,
"type": "boolean"
- },
+ }
+ ]
+ },
+ {
+ "id": "ComputedStyle",
+ "description": "A subset of the full ComputedStyle as defined by the request whitelist.",
+ "type": "object",
+ "properties": [
{
- "name": "scrollRects",
- "description": "Rectangles scrolling on main thread only.",
- "optional": true,
+ "name": "properties",
+ "description": "Name/value pairs of computed style properties.",
"type": "array",
"items": {
- "$ref": "ScrollRect"
+ "$ref": "NameValue"
}
+ }
+ ]
+ },
+ {
+ "id": "NameValue",
+ "description": "A name/value pair.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Attribute/property name.",
+ "type": "string"
},
{
- "name": "stickyPositionConstraint",
- "description": "Sticky position constraint information",
- "optional": true,
- "$ref": "StickyPositionConstraint"
+ "name": "value",
+ "description": "Attribute/property value.",
+ "type": "string"
}
]
},
{
- "id": "PaintProfile",
- "description": "Array of timings, one per paint step.",
+ "id": "StringIndex",
+ "description": "Index of the string in the strings table.",
+ "type": "integer"
+ },
+ {
+ "id": "ArrayOfStrings",
+ "description": "Index of the string in the strings table.",
"type": "array",
"items": {
- "type": "number"
+ "$ref": "StringIndex"
}
- }
- ],
- "commands": [
+ },
{
- "name": "compositingReasons",
- "description": "Provides the reasons why the given layer was composited.",
- "parameters": [
+ "id": "RareStringData",
+ "description": "Data that is only present on rare nodes.",
+ "type": "object",
+ "properties": [
{
- "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.",
- "deprecated": true,
+ "name": "index",
"type": "array",
"items": {
- "type": "string"
+ "type": "integer"
}
},
{
- "name": "compositingReasonIds",
- "description": "A list of strings specifying reason IDs for the given layer to become composited.",
+ "name": "value",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "StringIndex"
}
}
]
},
{
- "name": "disable",
- "description": "Disables compositing tree inspection."
- },
- {
- "name": "enable",
- "description": "Enables compositing tree inspection."
- },
- {
- "name": "loadSnapshot",
- "description": "Returns the snapshot identifier.",
- "parameters": [
+ "id": "RareBooleanData",
+ "type": "object",
+ "properties": [
{
- "name": "tiles",
- "description": "An array of tiles composing the snapshot.",
+ "name": "index",
"type": "array",
"items": {
- "$ref": "PictureTile"
+ "type": "integer"
}
}
- ],
- "returns": [
- {
- "name": "snapshotId",
- "description": "The id of the snapshot.",
- "$ref": "SnapshotId"
- }
]
},
{
- "name": "makeSnapshot",
- "description": "Returns the layer snapshot identifier.",
- "parameters": [
+ "id": "RareIntegerData",
+ "type": "object",
+ "properties": [
{
- "name": "layerId",
- "description": "The id of the layer.",
- "$ref": "LayerId"
- }
- ],
- "returns": [
+ "name": "index",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "value",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
]
},
{
- "name": "profileSnapshot",
- "parameters": [
+ "id": "Rectangle",
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ {
+ "id": "DocumentSnapshot",
+ "description": "Document snapshot.",
+ "type": "object",
+ "properties": [
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "documentURL",
+ "description": "Document URL that `Document` or `FrameOwner` node points to.",
+ "$ref": "StringIndex"
},
{
- "name": "minRepeatCount",
- "description": "The maximum number of times to replay the snapshot (1, if not specified).",
- "optional": true,
- "type": "integer"
+ "name": "title",
+ "description": "Document title.",
+ "$ref": "StringIndex"
},
{
- "name": "minDuration",
- "description": "The minimum duration (in seconds) to replay the snapshot.",
- "optional": true,
- "type": "number"
+ "name": "baseURL",
+ "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
+ "$ref": "StringIndex"
},
{
- "name": "clipRect",
- "description": "The clip rectangle to apply when replaying the snapshot.",
- "optional": true,
- "$ref": "DOM.Rect"
- }
- ],
- "returns": [
+ "name": "contentLanguage",
+ "description": "Contains the document's content language.",
+ "$ref": "StringIndex"
+ },
{
- "name": "timings",
- "description": "The array of paint profiles, one per run.",
- "type": "array",
- "items": {
- "$ref": "PaintProfile"
- }
- }
- ]
- },
- {
- "name": "releaseSnapshot",
- "description": "Releases layer snapshot captured by the back-end.",
- "parameters": [
+ "name": "encodingName",
+ "description": "Contains the document's character set encoding.",
+ "$ref": "StringIndex"
+ },
{
- "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": "publicId",
+ "description": "`DocumentType` node's publicId.",
+ "$ref": "StringIndex"
+ },
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "systemId",
+ "description": "`DocumentType` node's systemId.",
+ "$ref": "StringIndex"
},
{
- "name": "fromStep",
- "description": "The first step to replay from (replay from the very start if not specified).",
+ "name": "frameId",
+ "description": "Frame ID for frame owner elements and also for the document node.",
+ "$ref": "StringIndex"
+ },
+ {
+ "name": "nodes",
+ "description": "A table with dom nodes.",
+ "$ref": "NodeTreeSnapshot"
+ },
+ {
+ "name": "layout",
+ "description": "The nodes in the layout tree.",
+ "$ref": "LayoutTreeSnapshot"
+ },
+ {
+ "name": "textBoxes",
+ "description": "The post-layout inline text nodes.",
+ "$ref": "TextBoxSnapshot"
+ },
+ {
+ "name": "scrollOffsetX",
+ "description": "Horizontal scroll offset.",
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
- "name": "toStep",
- "description": "The last step to replay to (replay till the end if not specified).",
+ "name": "scrollOffsetY",
+ "description": "Vertical scroll offset.",
"optional": true,
- "type": "integer"
+ "type": "number"
},
{
- "name": "scale",
- "description": "The scale to apply while replaying (defaults to 1).",
+ "name": "contentWidth",
+ "description": "Document content width.",
"optional": true,
"type": "number"
- }
- ],
- "returns": [
+ },
{
- "name": "dataURL",
- "description": "A data: URL for resulting image.",
- "type": "string"
+ "name": "contentHeight",
+ "description": "Document content height.",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "snapshotCommandLog",
- "description": "Replays the layer snapshot and returns canvas log.",
- "parameters": [
- {
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
- }
- ],
- "returns": [
+ "id": "NodeTreeSnapshot",
+ "description": "Table containing nodes.",
+ "type": "object",
+ "properties": [
{
- "name": "commandLog",
- "description": "The array of canvas function calls.",
+ "name": "parentIndex",
+ "description": "Parent node index.",
+ "optional": true,
"type": "array",
"items": {
- "type": "object"
+ "type": "integer"
}
- }
- ]
- }
- ],
- "events": [
- {
- "name": "layerPainted",
- "parameters": [
+ },
{
- "name": "layerId",
- "description": "The id of the painted layer.",
- "$ref": "LayerId"
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "clip",
- "description": "Clip rectangle.",
- "$ref": "DOM.Rect"
- }
- ]
- },
- {
- "name": "layerTreeDidChange",
- "parameters": [
+ "name": "shadowRootType",
+ "description": "Type of the shadow root the `Node` is in. String values are equal to the `ShadowRootType` enum.",
+ "optional": true,
+ "$ref": "RareStringData"
+ },
{
- "name": "layers",
- "description": "Layer tree, absent if not in the comspositing mode.",
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
"optional": true,
"type": "array",
"items": {
- "$ref": "Layer"
+ "$ref": "StringIndex"
}
- }
- ]
- }
- ]
- },
- {
- "domain": "Log",
- "description": "Provides access to log entries.",
- "dependencies": [
- "Runtime",
- "Network"
- ],
- "types": [
- {
- "id": "LogEntry",
- "description": "Log entry.",
- "type": "object",
- "properties": [
- {
- "name": "source",
- "description": "Log entry source.",
- "type": "string",
- "enum": [
- "xml",
- "javascript",
- "network",
- "storage",
- "appcache",
- "rendering",
- "security",
- "deprecation",
- "worker",
- "violation",
- "intervention",
- "recommendation",
- "other"
- ]
},
{
- "name": "level",
- "description": "Log entry severity.",
- "type": "string",
- "enum": [
- "verbose",
- "info",
- "warning",
- "error"
- ]
+ "name": "nodeValue",
+ "description": "`Node`'s nodeValue.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "StringIndex"
+ }
},
{
- "name": "text",
- "description": "Logged text.",
- "type": "string"
+ "name": "backendNodeId",
+ "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "DOM.BackendNodeId"
+ }
},
{
- "name": "timestamp",
- "description": "Timestamp when this entry was added.",
- "$ref": "Runtime.Timestamp"
+ "name": "attributes",
+ "description": "Attributes of an `Element` node. Flatten name, value pairs.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ArrayOfStrings"
+ }
},
{
- "name": "url",
- "description": "URL of the resource if known.",
+ "name": "textValue",
+ "description": "Only set for textarea elements, contains the text value.",
"optional": true,
- "type": "string"
+ "$ref": "RareStringData"
},
{
- "name": "lineNumber",
- "description": "Line number in the resource.",
+ "name": "inputValue",
+ "description": "Only set for input elements, contains the input's associated text value.",
"optional": true,
- "type": "integer"
+ "$ref": "RareStringData"
},
{
- "name": "stackTrace",
- "description": "JavaScript stack trace.",
+ "name": "inputChecked",
+ "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
"optional": true,
- "$ref": "Runtime.StackTrace"
+ "$ref": "RareBooleanData"
},
{
- "name": "networkRequestId",
- "description": "Identifier of the network request associated with this entry.",
+ "name": "optionSelected",
+ "description": "Only set for option elements, indicates if the element has been selected",
"optional": true,
- "$ref": "Network.RequestId"
+ "$ref": "RareBooleanData"
},
{
- "name": "workerId",
- "description": "Identifier of the worker associated with this entry.",
+ "name": "contentDocumentIndex",
+ "description": "The index of the document in the list of the snapshot documents.",
"optional": true,
- "type": "string"
+ "$ref": "RareIntegerData"
},
{
- "name": "args",
- "description": "Call arguments.",
+ "name": "pseudoType",
+ "description": "Type of a pseudo element node.",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "Runtime.RemoteObject"
- }
- }
- ]
- },
- {
- "id": "ViolationSetting",
- "description": "Violation configuration setting.",
- "type": "object",
- "properties": [
+ "$ref": "RareStringData"
+ },
{
- "name": "name",
- "description": "Violation type.",
- "type": "string",
- "enum": [
- "longTask",
- "longLayout",
- "blockedEvent",
- "blockedParser",
- "discouragedAPIUse",
- "handler",
- "recurringHandler"
- ]
+ "name": "pseudoIdentifier",
+ "description": "Pseudo element identifier for this node. Only present if there is a\nvalid pseudoType.",
+ "optional": true,
+ "$ref": "RareStringData"
},
{
- "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": "isClickable",
+ "description": "Whether this DOM node responds to mouse clicks. This includes nodes that have had click\nevent listeners attached via JavaScript as well as anchor tags that naturally navigate when\nclicked.",
+ "optional": true,
+ "$ref": "RareBooleanData"
+ },
{
- "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": "currentSourceURL",
+ "description": "The selected url for nodes with a srcset attribute.",
+ "optional": true,
+ "$ref": "RareStringData"
+ },
{
- "name": "entry",
- "description": "The entry.",
- "$ref": "LogEntry"
+ "name": "originURL",
+ "description": "The url of the script (if any) that generates this node.",
+ "optional": true,
+ "$ref": "RareStringData"
}
]
- }
- ]
- },
- {
- "domain": "Memory",
- "experimental": true,
- "types": [
- {
- "id": "PressureLevel",
- "description": "Memory pressure level.",
- "type": "string",
- "enum": [
- "moderate",
- "critical"
- ]
},
{
- "id": "SamplingProfileNode",
- "description": "Heap profile sample.",
+ "id": "LayoutTreeSnapshot",
+ "description": "Table of details of an element in the DOM tree with a LayoutObject.",
"type": "object",
"properties": [
{
- "name": "size",
- "description": "Size of the sampled allocation.",
- "type": "number"
- },
- {
- "name": "total",
- "description": "Total bytes attributed to this sample.",
- "type": "number"
+ "name": "nodeIndex",
+ "description": "Index of the corresponding node in the `NodeTreeSnapshot` array returned by `captureSnapshot`.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "stack",
- "description": "Execution stack at the point of allocation.",
+ "name": "styles",
+ "description": "Array of indexes specifying computed style strings, filtered according to the `computedStyles` parameter passed to `captureSnapshot`.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "ArrayOfStrings"
}
- }
- ]
- },
- {
- "id": "SamplingProfile",
- "description": "Array of heap profile samples.",
- "type": "object",
- "properties": [
+ },
{
- "name": "samples",
+ "name": "bounds",
+ "description": "The absolute position bounding box.",
"type": "array",
"items": {
- "$ref": "SamplingProfileNode"
+ "$ref": "Rectangle"
}
},
{
- "name": "modules",
+ "name": "text",
+ "description": "Contents of the LayoutText, if any.",
"type": "array",
"items": {
- "$ref": "Module"
+ "$ref": "StringIndex"
}
- }
- ]
- },
- {
- "id": "Module",
- "description": "Executable module information",
- "type": "object",
- "properties": [
+ },
{
- "name": "name",
- "description": "Name of the module.",
- "type": "string"
+ "name": "stackingContexts",
+ "description": "Stacking context information.",
+ "$ref": "RareBooleanData"
},
{
- "name": "uuid",
- "description": "UUID of the module.",
- "type": "string"
+ "name": "paintOrders",
+ "description": "Global paint order index, which is determined by the stacking order of the nodes. Nodes\nthat are painted together will have the same index. Only provided if includePaintOrder in\ncaptureSnapshot was true.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "baseAddress",
- "description": "Base address where the module is loaded into memory. Encoded as a decimal\nor hexadecimal (0x prefixed) string.",
- "type": "string"
+ "name": "offsetRects",
+ "description": "The offset rect of nodes. Only available when includeDOMRects is set to true",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Rectangle"
+ }
},
{
- "name": "size",
- "description": "Size of the module in bytes.",
- "type": "number"
+ "name": "scrollRects",
+ "description": "The scroll rect of nodes. Only available when includeDOMRects is set to true",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Rectangle"
+ }
+ },
+ {
+ "name": "clientRects",
+ "description": "The client rect of nodes. Only available when includeDOMRects is set to true",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Rectangle"
+ }
+ },
+ {
+ "name": "blendedBackgroundColors",
+ "description": "The list of background colors that are blended with colors of overlapping elements.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "StringIndex"
+ }
+ },
+ {
+ "name": "textColorOpacities",
+ "description": "The list of computed text opacities.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "getDOMCounters",
- "returns": [
+ "id": "TextBoxSnapshot",
+ "description": "Table of details of the post layout rendered text positions. The exact layout should not be regarded as\nstable and may change between versions.",
+ "type": "object",
+ "properties": [
{
- "name": "documents",
- "type": "integer"
+ "name": "layoutIndex",
+ "description": "Index of the layout tree node that owns this box collection.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "nodes",
- "type": "integer"
+ "name": "bounds",
+ "description": "The absolute position bounding box.",
+ "type": "array",
+ "items": {
+ "$ref": "Rectangle"
+ }
},
{
- "name": "jsEventListeners",
- "type": "integer"
+ "name": "start",
+ "description": "The starting index in characters, for this post layout textbox substring. Characters that\nwould be represented as a surrogate pair in UTF-16 have length 2.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "length",
+ "description": "The number of characters in this post layout textbox substring. Characters that would be\nrepresented as a surrogate pair in UTF-16 have length 2.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "prepareForLeakDetection"
+ "name": "disable",
+ "description": "Disables DOM snapshot agent for the given page."
},
{
- "name": "forciblyPurgeJavaScriptMemory",
- "description": "Simulate OomIntervention by purging V8 memory."
+ "name": "enable",
+ "description": "Enables DOM snapshot agent for the given page."
},
{
- "name": "setPressureNotificationsSuppressed",
- "description": "Enable/disable suppressing memory pressure notifications in all processes.",
+ "name": "getSnapshot",
+ "description": "Returns a document snapshot, including the full DOM tree of the root node (including iframes,\ntemplate contents, and imported documents) in a flattened array, as well as layout and\nwhite-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is\nflattened.",
+ "deprecated": true,
"parameters": [
{
- "name": "suppressed",
- "description": "If true, memory pressure notifications will be suppressed.",
+ "name": "computedStyleWhitelist",
+ "description": "Whitelist of computed styles to return.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "includeEventListeners",
+ "description": "Whether or not to retrieve details of DOM listeners (default false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "includePaintOrder",
+ "description": "Whether to determine and include the paint order index of LayoutTreeNodes (default false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "includeUserAgentShadowTree",
+ "description": "Whether to include UA shadow tree in the snapshot (default false).",
+ "optional": true,
"type": "boolean"
}
- ]
- },
- {
- "name": "simulatePressureNotification",
- "description": "Simulate a memory pressure notification in all processes.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "level",
- "description": "Memory pressure level of the notification.",
- "$ref": "PressureLevel"
+ "name": "domNodes",
+ "description": "The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.",
+ "type": "array",
+ "items": {
+ "$ref": "DOMNode"
+ }
+ },
+ {
+ "name": "layoutTreeNodes",
+ "description": "The nodes in the layout tree.",
+ "type": "array",
+ "items": {
+ "$ref": "LayoutTreeNode"
+ }
+ },
+ {
+ "name": "computedStyles",
+ "description": "Whitelisted ComputedStyle properties for each node in the layout tree.",
+ "type": "array",
+ "items": {
+ "$ref": "ComputedStyle"
+ }
}
]
},
{
- "name": "startSampling",
- "description": "Start collecting native memory profile.",
+ "name": "captureSnapshot",
+ "description": "Returns a document snapshot, including the full DOM tree of the root node (including iframes,\ntemplate contents, and imported documents) in a flattened array, as well as layout and\nwhite-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is\nflattened.",
"parameters": [
{
- "name": "samplingInterval",
- "description": "Average number of bytes between samples.",
+ "name": "computedStyles",
+ "description": "Whitelist of computed styles to return.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "includePaintOrder",
+ "description": "Whether to include layout object paint orders into the snapshot.",
"optional": true,
- "type": "integer"
+ "type": "boolean"
},
{
- "name": "suppressRandomness",
- "description": "Do not randomize intervals between samples.",
+ "name": "includeDOMRects",
+ "description": "Whether to include DOM rectangles (offsetRects, clientRects, scrollRects) into the snapshot",
"optional": true,
"type": "boolean"
- }
- ]
- },
- {
- "name": "stopSampling",
- "description": "Stop collecting native memory profile."
- },
- {
- "name": "getAllTimeSamplingProfile",
- "description": "Retrieve native memory allocations profile\ncollected since renderer process startup.",
- "returns": [
+ },
{
- "name": "profile",
- "$ref": "SamplingProfile"
- }
- ]
- },
- {
- "name": "getBrowserSamplingProfile",
- "description": "Retrieve native memory allocations profile\ncollected since browser process startup.",
- "returns": [
+ "name": "includeBlendedBackgroundColors",
+ "description": "Whether to include blended background colors in the snapshot (default: false).\nBlended background color is achieved by blending background colors of all elements\nthat overlap with the current element.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
{
- "name": "profile",
- "$ref": "SamplingProfile"
+ "name": "includeTextColorOpacities",
+ "description": "Whether to include text color opacity in the snapshot (default: false).\nAn element might have the opacity property set that affects the text color of the element.\nThe final text color opacity is computed based on the opacity of all overlapping elements.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
- ]
- },
- {
- "name": "getSamplingProfile",
- "description": "Retrieve native memory allocations profile collected since last\n`startSampling` call.",
+ ],
"returns": [
{
- "name": "profile",
- "$ref": "SamplingProfile"
+ "name": "documents",
+ "description": "The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.",
+ "type": "array",
+ "items": {
+ "$ref": "DocumentSnapshot"
+ }
+ },
+ {
+ "name": "strings",
+ "description": "Shared string table that all string properties refer to with indexes.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
}
]
},
{
- "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"
- ],
+ "domain": "DOMStorage",
+ "description": "Query and modify DOM storage.",
+ "experimental": true,
"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",
- "EventSource",
- "WebSocket",
- "Manifest",
- "SignedExchange",
- "Ping",
- "CSPViolationReport",
- "Preflight",
- "Other"
- ]
- },
- {
- "id": "LoaderId",
- "description": "Unique loader identifier.",
- "type": "string"
- },
- {
- "id": "RequestId",
- "description": "Unique request identifier.",
- "type": "string"
- },
- {
- "id": "InterceptionId",
- "description": "Unique intercepted request identifier.",
+ "id": "SerializedStorageKey",
"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": "StorageId",
+ "description": "DOM Storage identifier.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "securityOrigin",
+ "description": "Security origin for the storage.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "storageKey",
+ "description": "Represents a key by which DOM Storage keys its CachedStorageAreas",
+ "optional": true,
+ "$ref": "SerializedStorageKey"
+ },
+ {
+ "name": "isLocalStorage",
+ "description": "Whether the storage is local storage (not session storage).",
+ "type": "boolean"
+ }
]
},
{
- "id": "TimeSinceEpoch",
- "description": "UTC time in seconds, counted from January 1, 1970.",
- "type": "number"
- },
+ "id": "Item",
+ "description": "DOM Storage item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "commands": [
{
- "id": "MonotonicTime",
- "description": "Monotonically increasing time in seconds since an arbitrary point in the past.",
- "type": "number"
+ "name": "clear",
+ "parameters": [
+ {
+ "name": "storageId",
+ "$ref": "StorageId"
+ }
+ ]
},
{
- "id": "Headers",
- "description": "Request / response headers as keys / values of JSON object.",
- "type": "object"
+ "name": "disable",
+ "description": "Disables storage tracking, prevents storage events from being sent to the client."
},
{
- "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"
- ]
+ "name": "enable",
+ "description": "Enables storage tracking, storage events will now be delivered to the client."
},
{
- "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"
+ "name": "getDOMStorageItems",
+ "parameters": [
+ {
+ "name": "storageId",
+ "$ref": "StorageId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "entries",
+ "type": "array",
+ "items": {
+ "$ref": "Item"
+ }
+ }
]
},
{
- "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"
+ "name": "removeDOMStorageItem",
+ "parameters": [
+ {
+ "name": "storageId",
+ "$ref": "StorageId"
+ },
+ {
+ "name": "key",
+ "type": "string"
+ }
]
},
{
- "id": "ResourceTiming",
- "description": "Timing information for the request.",
- "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": "setDOMStorageItem",
+ "parameters": [
{
- "name": "proxyStart",
- "description": "Started resolving proxy.",
- "type": "number"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "proxyEnd",
- "description": "Finished resolving proxy.",
- "type": "number"
+ "name": "key",
+ "type": "string"
},
{
- "name": "dnsStart",
- "description": "Started DNS address resolve.",
- "type": "number"
- },
+ "name": "value",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "domStorageItemAdded",
+ "parameters": [
{
- "name": "dnsEnd",
- "description": "Finished DNS address resolve.",
- "type": "number"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "connectStart",
- "description": "Started connecting to the remote host.",
- "type": "number"
+ "name": "key",
+ "type": "string"
},
{
- "name": "connectEnd",
- "description": "Connected to the remote host.",
- "type": "number"
- },
+ "name": "newValue",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "domStorageItemRemoved",
+ "parameters": [
{
- "name": "sslStart",
- "description": "Started SSL handshake.",
- "type": "number"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "sslEnd",
- "description": "Finished SSL handshake.",
- "type": "number"
- },
+ "name": "key",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "domStorageItemUpdated",
+ "parameters": [
{
- "name": "workerStart",
- "description": "Started running ServiceWorker.",
- "experimental": true,
- "type": "number"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "workerReady",
- "description": "Finished Starting ServiceWorker.",
- "experimental": true,
- "type": "number"
+ "name": "key",
+ "type": "string"
},
{
- "name": "workerFetchStart",
- "description": "Started fetch event.",
- "experimental": true,
- "type": "number"
+ "name": "oldValue",
+ "type": "string"
},
{
- "name": "workerRespondWithSettled",
- "description": "Settled fetch event respondWith promise.",
- "experimental": true,
- "type": "number"
- },
+ "name": "newValue",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "domStorageItemsCleared",
+ "parameters": [
{
- "name": "sendStart",
- "description": "Started sending request.",
+ "name": "storageId",
+ "$ref": "StorageId"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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",
"type": "number"
},
{
- "name": "sendEnd",
- "description": "Finished sending request.",
+ "name": "beta",
+ "description": "Mock beta",
"type": "number"
},
{
- "name": "pushStart",
- "description": "Time the server started pushing request.",
- "experimental": true,
+ "name": "gamma",
+ "description": "Mock gamma",
"type": "number"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Emulation",
+ "description": "This domain emulates different environments for the page.",
+ "dependencies": [
+ "DOM",
+ "Page",
+ "Runtime"
+ ],
+ "types": [
+ {
+ "id": "SafeAreaInsets",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "top",
+ "description": "Overrides safe-area-inset-top.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "pushEnd",
- "description": "Time the server finished pushing request.",
- "experimental": true,
- "type": "number"
+ "name": "topMax",
+ "description": "Overrides safe-area-max-inset-top.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "receiveHeadersEnd",
- "description": "Finished receiving response headers.",
- "type": "number"
+ "name": "left",
+ "description": "Overrides safe-area-inset-left.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "leftMax",
+ "description": "Overrides safe-area-max-inset-left.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "bottom",
+ "description": "Overrides safe-area-inset-bottom.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "bottomMax",
+ "description": "Overrides safe-area-max-inset-bottom.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "right",
+ "description": "Overrides safe-area-inset-right.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "rightMax",
+ "description": "Overrides safe-area-max-inset-right.",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "id": "ScreenOrientation",
+ "description": "Screen orientation.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Orientation type.",
+ "type": "string",
+ "enum": [
+ "portraitPrimary",
+ "portraitSecondary",
+ "landscapePrimary",
+ "landscapeSecondary"
+ ]
+ },
+ {
+ "name": "angle",
+ "description": "Orientation angle.",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "id": "DisplayFeature",
+ "type": "object",
+ "properties": [
+ {
+ "name": "orientation",
+ "description": "Orientation of a display feature in relation to screen",
+ "type": "string",
+ "enum": [
+ "vertical",
+ "horizontal"
+ ]
+ },
+ {
+ "name": "offset",
+ "description": "The offset from the screen origin in either the x (for vertical\norientation) or y (for horizontal orientation) direction.",
+ "type": "integer"
+ },
+ {
+ "name": "maskLength",
+ "description": "A display feature may mask content such that it is not physically\ndisplayed - this length along with the offset describes this area.\nA display feature that only splits content will have a 0 mask_length.",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "id": "DevicePosture",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Current posture of the device",
+ "type": "string",
+ "enum": [
+ "continuous",
+ "folded"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "MediaFeature",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "VirtualTimePolicy",
+ "description": "advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to\nallow the next delayed task (if any) to run; pause: The virtual time base may not advance;\npauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending\nresource fetches.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "advance",
+ "pause",
+ "pauseIfNetworkFetchesPending"
+ ]
+ },
+ {
+ "id": "UserAgentBrandVersion",
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "brand",
+ "type": "string"
+ },
+ {
+ "name": "version",
+ "type": "string"
}
]
},
{
- "id": "ResourcePriority",
- "description": "Loading priority of a resource request.",
+ "id": "UserAgentMetadata",
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "brands",
+ "description": "Brands appearing in Sec-CH-UA.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "UserAgentBrandVersion"
+ }
+ },
+ {
+ "name": "fullVersionList",
+ "description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "UserAgentBrandVersion"
+ }
+ },
+ {
+ "name": "fullVersion",
+ "deprecated": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "platform",
+ "type": "string"
+ },
+ {
+ "name": "platformVersion",
+ "type": "string"
+ },
+ {
+ "name": "architecture",
+ "type": "string"
+ },
+ {
+ "name": "model",
+ "type": "string"
+ },
+ {
+ "name": "mobile",
+ "type": "boolean"
+ },
+ {
+ "name": "bitness",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "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"
+ }
+ }
+ ]
+ },
+ {
+ "id": "SensorType",
+ "description": "Used to specify sensor types to emulate.\nSee https://w3c.github.io/sensors/#automation for more information.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "absolute-orientation",
+ "accelerometer",
+ "ambient-light",
+ "gravity",
+ "gyroscope",
+ "linear-acceleration",
+ "magnetometer",
+ "relative-orientation"
+ ]
+ },
+ {
+ "id": "SensorMetadata",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "available",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "minimumFrequency",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "maximumFrequency",
+ "optional": true,
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "id": "SensorReadingSingle",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "value",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "id": "SensorReadingXYZ",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "x",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "type": "number"
+ },
+ {
+ "name": "z",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "id": "SensorReadingQuaternion",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "x",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "type": "number"
+ },
+ {
+ "name": "z",
+ "type": "number"
+ },
+ {
+ "name": "w",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "id": "SensorReading",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "single",
+ "optional": true,
+ "$ref": "SensorReadingSingle"
+ },
+ {
+ "name": "xyz",
+ "optional": true,
+ "$ref": "SensorReadingXYZ"
+ },
+ {
+ "name": "quaternion",
+ "optional": true,
+ "$ref": "SensorReadingQuaternion"
+ }
+ ]
+ },
+ {
+ "id": "PressureSource",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "cpu"
+ ]
+ },
+ {
+ "id": "PressureState",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "nominal",
+ "fair",
+ "serious",
+ "critical"
+ ]
+ },
+ {
+ "id": "PressureMetadata",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "available",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "DisabledImageType",
+ "description": "Enum of image types that can be disabled.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "avif",
+ "webp"
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "canEmulate",
+ "description": "Tells whether emulation is supported.",
+ "deprecated": true,
+ "returns": [
+ {
+ "name": "result",
+ "description": "True if emulation is supported.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "clearDeviceMetricsOverride",
+ "description": "Clears the overridden device metrics."
+ },
+ {
+ "name": "clearGeolocationOverride",
+ "description": "Clears the overridden Geolocation Position and Error."
+ },
+ {
+ "name": "resetPageScaleFactor",
+ "description": "Requests that page scale factor is reset to initial values.",
+ "experimental": true
+ },
+ {
+ "name": "setFocusEmulationEnabled",
+ "description": "Enables or disables simulating a focused and active page.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether to enable to disable focus emulation.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setAutoDarkModeOverride",
+ "description": "Automatically render all web contents using a dark theme.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether to enable or disable automatic dark mode.\nIf not specified, any existing override will be cleared.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setCPUThrottlingRate",
+ "description": "Enables CPU throttling to emulate slow CPUs.",
+ "parameters": [
+ {
+ "name": "rate",
+ "description": "Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "setDefaultBackgroundColorOverride",
+ "description": "Sets or clears an override of the default background color of the frame. This override is used\nif the content does not specify one.",
+ "parameters": [
+ {
+ "name": "color",
+ "description": "RGBA of the default background color. If not specified, any existing override will be\ncleared.",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "name": "setSafeAreaInsetsOverride",
+ "description": "Overrides the values for env(safe-area-inset-*) and env(safe-area-max-inset-*). Unset values will cause the\nrespective variables to be undefined, even if previously overridden.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "insets",
+ "$ref": "SafeAreaInsets"
+ }
+ ]
+ },
+ {
+ "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).",
+ "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"
+ },
+ {
+ "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.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "screenWidth",
+ "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "screenHeight",
+ "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "positionX",
+ "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "positionY",
+ "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "dontSetVisibleSize",
+ "description": "Do not set visible view size, rely upon explicit setVisibleSize call.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "screenOrientation",
+ "description": "Screen orientation override.",
+ "optional": true,
+ "$ref": "ScreenOrientation"
+ },
+ {
+ "name": "viewport",
+ "description": "If set, the visible area of the page will be overridden to this viewport. This viewport\nchange is not observed by the page, e.g. viewport-relative elements do not change positions.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Page.Viewport"
+ },
+ {
+ "name": "displayFeature",
+ "description": "If set, the display feature of a multi-segment screen. If not set, multi-segment support\nis turned-off.\nDeprecated, use Emulation.setDisplayFeaturesOverride.",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "$ref": "DisplayFeature"
+ },
+ {
+ "name": "devicePosture",
+ "description": "If set, the posture of a foldable device. If not set the posture is set\nto continuous.\nDeprecated, use Emulation.setDevicePostureOverride.",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "$ref": "DevicePosture"
+ }
+ ]
+ },
+ {
+ "name": "setDevicePostureOverride",
+ "description": "Start reporting the given posture value to the Device Posture API.\nThis override can also be set in setDeviceMetricsOverride().",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "posture",
+ "$ref": "DevicePosture"
+ }
+ ]
+ },
+ {
+ "name": "clearDevicePostureOverride",
+ "description": "Clears a device posture override set with either setDeviceMetricsOverride()\nor setDevicePostureOverride() and starts using posture information from the\nplatform again.\nDoes nothing if no override is set.",
+ "experimental": true
+ },
+ {
+ "name": "setDisplayFeaturesOverride",
+ "description": "Start using the given display features to pupulate the Viewport Segments API.\nThis override can also be set in setDeviceMetricsOverride().",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "features",
+ "type": "array",
+ "items": {
+ "$ref": "DisplayFeature"
+ }
+ }
+ ]
+ },
+ {
+ "name": "clearDisplayFeaturesOverride",
+ "description": "Clears the display features override set with either setDeviceMetricsOverride()\nor setDisplayFeaturesOverride() and starts using display features from the\nplatform again.\nDoes nothing if no override is set.",
+ "experimental": true
+ },
+ {
+ "name": "setScrollbarsHidden",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "hidden",
+ "description": "Whether scrollbars should be always hidden.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setDocumentCookieDisabled",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "disabled",
+ "description": "Whether document.coookie API should be disabled.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setEmitTouchEventsForMouse",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether touch emulation based on mouse input should be enabled.",
+ "type": "boolean"
+ },
+ {
+ "name": "configuration",
+ "description": "Touch/gesture events configuration. Default: current platform.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "mobile",
+ "desktop"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "setEmulatedMedia",
+ "description": "Emulates the given media type or media feature for CSS media queries.",
+ "parameters": [
+ {
+ "name": "media",
+ "description": "Media type to emulate. Empty string disables the override.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "features",
+ "description": "Media features to emulate.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "MediaFeature"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setEmulatedVisionDeficiency",
+ "description": "Emulates the given vision deficiency.",
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Vision deficiency to emulate. Order: best-effort emulations come first, followed by any\nphysiologically accurate emulations for medically recognized color vision deficiencies.",
+ "type": "string",
+ "enum": [
+ "none",
+ "blurredVision",
+ "reducedContrast",
+ "achromatopsia",
+ "deuteranopia",
+ "protanopia",
+ "tritanopia"
+ ]
+ }
+ ]
+ },
+ {
+ "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.",
+ "parameters": [
+ {
+ "name": "latitude",
+ "description": "Mock latitude",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "longitude",
+ "description": "Mock longitude",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "accuracy",
+ "description": "Mock accuracy",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "altitude",
+ "description": "Mock altitude",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "altitudeAccuracy",
+ "description": "Mock altitudeAccuracy",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "heading",
+ "description": "Mock heading",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "speed",
+ "description": "Mock speed",
+ "optional": true,
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "getOverriddenSensorInformation",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "type",
+ "$ref": "SensorType"
+ }
+ ],
+ "returns": [
+ {
+ "name": "requestedSamplingFrequency",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "setSensorOverrideEnabled",
+ "description": "Overrides a platform sensor of a given type. If |enabled| is true, calls to\nSensor.start() will use a virtual sensor as backend rather than fetching\ndata from a real hardware sensor. Otherwise, existing virtual\nsensor-backend Sensor objects will fire an error event and new calls to\nSensor.start() will attempt to use a real sensor instead.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "type": "boolean"
+ },
+ {
+ "name": "type",
+ "$ref": "SensorType"
+ },
+ {
+ "name": "metadata",
+ "optional": true,
+ "$ref": "SensorMetadata"
+ }
+ ]
+ },
+ {
+ "name": "setSensorOverrideReadings",
+ "description": "Updates the sensor readings reported by a sensor type previously overridden\nby setSensorOverrideEnabled.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "type",
+ "$ref": "SensorType"
+ },
+ {
+ "name": "reading",
+ "$ref": "SensorReading"
+ }
+ ]
+ },
+ {
+ "name": "setPressureSourceOverrideEnabled",
+ "description": "Overrides a pressure source of a given type, as used by the Compute\nPressure API, so that updates to PressureObserver.observe() are provided\nvia setPressureStateOverride instead of being retrieved from\nplatform-provided telemetry data.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "type": "boolean"
+ },
+ {
+ "name": "source",
+ "$ref": "PressureSource"
+ },
+ {
+ "name": "metadata",
+ "optional": true,
+ "$ref": "PressureMetadata"
+ }
+ ]
+ },
+ {
+ "name": "setPressureStateOverride",
+ "description": "TODO: OBSOLETE: To remove when setPressureDataOverride is merged.\nProvides a given pressure state that will be processed and eventually be\ndelivered to PressureObserver users. |source| must have been previously\noverridden by setPressureSourceOverrideEnabled.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "source",
+ "$ref": "PressureSource"
+ },
+ {
+ "name": "state",
+ "$ref": "PressureState"
+ }
+ ]
+ },
+ {
+ "name": "setPressureDataOverride",
+ "description": "Provides a given pressure data set that will be processed and eventually be\ndelivered to PressureObserver users. |source| must have been previously\noverridden by setPressureSourceOverrideEnabled.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "source",
+ "$ref": "PressureSource"
+ },
+ {
+ "name": "state",
+ "$ref": "PressureState"
+ },
+ {
+ "name": "ownContributionEstimate",
+ "optional": true,
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "setIdleOverride",
+ "description": "Overrides the Idle state.",
+ "parameters": [
+ {
+ "name": "isUserActive",
+ "description": "Mock isUserActive",
+ "type": "boolean"
+ },
+ {
+ "name": "isScreenUnlocked",
+ "description": "Mock isScreenUnlocked",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "clearIdleOverride",
+ "description": "Clears Idle state overrides."
+ },
+ {
+ "name": "setNavigatorOverrides",
+ "description": "Overrides value returned by the javascript navigator object.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "platform",
+ "description": "The platform navigator.platform should return.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setPageScaleFactor",
+ "description": "Sets a specified page scale factor.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "pageScaleFactor",
+ "description": "Page scale factor.",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "setScriptExecutionDisabled",
+ "description": "Switches script execution in the page.",
+ "parameters": [
+ {
+ "name": "value",
+ "description": "Whether script execution should be disabled in the page.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setTouchEmulationEnabled",
+ "description": "Enables touch on platforms which do not support them.",
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether the touch event emulation should be enabled.",
+ "type": "boolean"
+ },
+ {
+ "name": "maxTouchPoints",
+ "description": "Maximum touch points supported. Defaults to one.",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "setVirtualTimePolicy",
+ "description": "Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets\nthe current virtual time policy. Note this supersedes any previous time budget.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "policy",
+ "$ref": "VirtualTimePolicy"
+ },
+ {
+ "name": "budget",
+ "description": "If set, after this many virtual milliseconds have elapsed virtual time will be paused and a\nvirtualTimeBudgetExpired event is sent.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "maxVirtualTimeTaskStarvationCount",
+ "description": "If set this specifies the maximum number of tasks that can be run before virtual is forced\nforwards to prevent deadlock.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "initialVirtualTime",
+ "description": "If set, base::Time::Now will be overridden to initially return this value.",
+ "optional": true,
+ "$ref": "Network.TimeSinceEpoch"
+ }
+ ],
+ "returns": [
+ {
+ "name": "virtualTimeTicksBase",
+ "description": "Absolute timestamp at which virtual time was first enabled (up time in milliseconds).",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "setLocaleOverride",
+ "description": "Overrides default host system locale with the specified one.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "locale",
+ "description": "ICU style C locale (e.g. \"en_US\"). If not specified or empty, disables the override and\nrestores default host system locale.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setTimezoneOverride",
+ "description": "Overrides default host system timezone with the specified one.",
+ "parameters": [
+ {
+ "name": "timezoneId",
+ "description": "The timezone identifier. List of supported timezones:\nhttps://source.chromium.org/chromium/chromium/deps/icu.git/+/faee8bc70570192d82d2978a71e2a615788597d1:source/data/misc/metaZones.txt\nIf empty, disables the override and restores default host system timezone.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setVisibleSize",
+ "description": "Resizes the frame/viewport of the page. Note that this does not affect the frame's container\n(e.g. browser window). Can be used to produce screenshots of the specified size. Not supported\non Android.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "width",
+ "description": "Frame width (DIP).",
+ "type": "integer"
+ },
+ {
+ "name": "height",
+ "description": "Frame height (DIP).",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "setDisabledImageTypes",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "imageTypes",
+ "description": "Image types to disable.",
+ "type": "array",
+ "items": {
+ "$ref": "DisabledImageType"
+ }
+ }
+ ]
+ },
+ {
+ "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,
+ "parameters": [
+ {
+ "name": "hardwareConcurrency",
+ "description": "Hardware concurrency to report",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "setUserAgentOverride",
+ "description": "Allows overriding user agent with the given string.\n`userAgentMetadata` must be set for Client Hint headers to be sent.",
+ "parameters": [
+ {
+ "name": "userAgent",
+ "description": "User agent to use.",
+ "type": "string"
+ },
+ {
+ "name": "acceptLanguage",
+ "description": "Browser language to emulate.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "platform",
+ "description": "The platform navigator.platform should return.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "userAgentMetadata",
+ "description": "To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData",
+ "experimental": true,
+ "optional": true,
+ "$ref": "UserAgentMetadata"
+ }
+ ]
+ },
+ {
+ "name": "setAutomationOverride",
+ "description": "Allows overriding the automation flag.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether the override should be enabled.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setSmallViewportHeightDifferenceOverride",
+ "description": "Allows overriding the difference between the small and large viewport sizes, which determine the\nvalue of the `svh` and `lvh` unit, respectively. Only supported for top-level frames.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "difference",
+ "description": "This will cause an element of size 100svh to be `difference` pixels smaller than an element\nof size 100lvh.",
+ "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": "optimizeForSpeed",
+ "description": "Optimize image encoding for speed, not for resulting size (defaults to false)",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ }
+ ],
+ "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.",
+ "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": "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": "number"
+ },
+ {
+ "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,
+ "type": "boolean"
+ },
+ {
+ "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,
+ "$ref": "ScreenshotParams"
+ }
+ ],
+ "returns": [
+ {
+ "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": "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": "handle",
+ "description": "Handle of the stream to close.",
+ "$ref": "StreamHandle"
+ }
+ ]
+ },
+ {
+ "name": "read",
+ "description": "Read a chunk of the stream",
+ "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.",
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "FileSystem",
+ "experimental": true,
+ "dependencies": [
+ "Network",
+ "Storage"
+ ],
+ "types": [
+ {
+ "id": "File",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "lastModified",
+ "description": "Timestamp",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "size",
+ "description": "Size in bytes",
+ "type": "number"
+ },
+ {
+ "name": "type",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "Directory",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "nestedDirectories",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "nestedFiles",
+ "description": "Files that are directly nested under this directory.",
+ "type": "array",
+ "items": {
+ "$ref": "File"
+ }
+ }
+ ]
+ },
+ {
+ "id": "BucketFileSystemLocator",
+ "type": "object",
+ "properties": [
+ {
+ "name": "storageKey",
+ "description": "Storage key",
+ "$ref": "Storage.SerializedStorageKey"
+ },
+ {
+ "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": "getDirectory",
+ "parameters": [
+ {
+ "name": "bucketFileSystemLocator",
+ "$ref": "BucketFileSystemLocator"
+ }
+ ],
+ "returns": [
+ {
+ "name": "directory",
+ "description": "Returns the directory object at the path.",
+ "$ref": "Directory"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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": "version",
+ "description": "Database version (type is not 'integer', as the standard\nrequires the version number to be 'unsigned long long')",
+ "type": "number"
+ },
+ {
+ "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": "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"
+ }
+ }
+ ]
+ },
+ {
+ "id": "ObjectStoreIndex",
+ "description": "Object store index.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Index name.",
+ "type": "string"
+ },
+ {
+ "name": "keyPath",
+ "description": "Index key path.",
+ "$ref": "KeyPath"
+ },
+ {
+ "name": "unique",
+ "description": "If true, index is unique.",
+ "type": "boolean"
+ },
+ {
+ "name": "multiEntry",
+ "description": "If true, index allows multiple entries for a key.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "Key",
+ "description": "Key.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Key type.",
+ "type": "string",
+ "enum": [
+ "number",
+ "string",
+ "date",
+ "array"
+ ]
+ },
+ {
+ "name": "number",
+ "description": "Number value.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "string",
+ "description": "String value.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "date",
+ "description": "Date value.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "array",
+ "description": "Array value.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Key"
+ }
+ }
+ ]
+ },
+ {
+ "id": "KeyRange",
+ "description": "Key range.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "lower",
+ "description": "Lower bound.",
+ "optional": true,
+ "$ref": "Key"
+ },
+ {
+ "name": "upper",
+ "description": "Upper bound.",
+ "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": "key",
+ "description": "Key object.",
+ "$ref": "Runtime.RemoteObject"
+ },
+ {
+ "name": "primaryKey",
+ "description": "Primary key object.",
+ "$ref": "Runtime.RemoteObject"
+ },
+ {
+ "name": "value",
+ "description": "Value object.",
+ "$ref": "Runtime.RemoteObject"
+ }
+ ]
+ },
+ {
+ "id": "KeyPath",
+ "description": "Key path.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Key path type.",
+ "type": "string",
+ "enum": [
+ "null",
+ "string",
+ "array"
+ ]
+ },
+ {
+ "name": "string",
+ "description": "String value.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "array",
+ "description": "Array value.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "clearObjectStore",
+ "description": "Clears all entries from 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": "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"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "description": "Object store name.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "deleteDatabase",
+ "description": "Deletes a database.",
+ "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": "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"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "deleteObjectStoreEntries",
+ "description": "Delete a range of entries from 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": "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"
+ },
+ {
+ "name": "databaseName",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "type": "string"
+ },
+ {
+ "name": "keyRange",
+ "description": "Range of entry keys to delete",
+ "$ref": "KeyRange"
+ }
+ ]
+ },
+ {
+ "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": "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"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ },
+ {
+ "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": "pageSize",
+ "description": "Number of records to fetch.",
+ "type": "integer"
+ },
+ {
+ "name": "keyRange",
+ "description": "Key range.",
+ "optional": true,
+ "$ref": "KeyRange"
+ }
+ ],
+ "returns": [
+ {
+ "name": "objectStoreDataEntries",
+ "description": "Array of object store data entries.",
+ "type": "array",
+ "items": {
+ "$ref": "DataEntry"
+ }
+ },
+ {
+ "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": "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"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "description": "Object store name.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "entriesCount",
+ "description": "the entries count",
+ "type": "number"
+ },
+ {
+ "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": "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"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "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.",
+ "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": "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": "Input",
+ "types": [
+ {
+ "id": "TouchPoint",
+ "type": "object",
+ "properties": [
+ {
+ "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": "radiusX",
+ "description": "X radius of the touch area (default: 1.0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "radiusY",
+ "description": "Y radius of the touch area (default: 1.0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "rotationAngle",
+ "description": "Rotation angle (default: 0.0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "force",
+ "description": "Force (default: 1.0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "tangentialPressure",
+ "description": "The normalized tangential pressure, which has a range of [-1,1] (default: 0).",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "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": "number"
+ },
+ {
+ "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": "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": "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": "mimeType",
+ "description": "Mime type of the dragged data.",
+ "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": "title",
+ "description": "Title associated with a link. Only valid when `mimeType` == \"text/uri-list\".",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "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": "DragDataItem"
+ }
+ },
+ {
+ "name": "files",
+ "description": "List of filenames that should be included when dropping",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "dragOperationsMask",
+ "description": "Bit field representing allowed drag operations. Copy = 1, Link = 2, Move = 16",
+ "type": "integer"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "dispatchDragEvent",
+ "description": "Dispatches a drag event into the page.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Type of the drag event.",
+ "type": "string",
+ "enum": [
+ "dragEnter",
+ "dragOver",
+ "drop",
+ "dragCancel"
+ ]
+ },
+ {
+ "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": "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": "dispatchKeyEvent",
+ "description": "Dispatches a key event to the page.",
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Type of the key event.",
+ "type": "string",
+ "enum": [
+ "keyDown",
+ "keyUp",
+ "rawKeyDown",
+ "char"
+ ]
+ },
+ {
+ "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": "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,
+ "type": "string"
+ },
+ {
+ "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": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "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": "text",
+ "description": "The text to insert.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "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": "text",
+ "description": "The text to insert",
+ "type": "string"
+ },
+ {
+ "name": "selectionStart",
+ "description": "selection start",
+ "type": "integer"
+ },
+ {
+ "name": "selectionEnd",
+ "description": "selection end",
+ "type": "integer"
+ },
+ {
+ "name": "replacementStart",
+ "description": "replacement start",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "replacementEnd",
+ "description": "replacement end",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "dispatchMouseEvent",
+ "description": "Dispatches a mouse event to the page.",
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Type of the mouse event.",
+ "type": "string",
+ "enum": [
+ "mousePressed",
+ "mouseReleased",
+ "mouseMoved",
+ "mouseWheel"
+ ]
+ },
+ {
+ "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": "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,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "tangentialPressure",
+ "description": "The normalized tangential pressure, which has a range of [-1,1] (default: 0).",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "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": "number"
+ },
+ {
+ "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": "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": "deltaX",
+ "description": "X delta in CSS pixels for mouse wheel event (default: 0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "deltaY",
+ "description": "Y delta in CSS pixels for mouse wheel event (default: 0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "pointerType",
+ "description": "Pointer type (default: \"mouse\").",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "mouse",
+ "pen"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "dispatchTouchEvent",
+ "description": "Dispatches a touch event to the page.",
+ "parameters": [
+ {
+ "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": [
+ "touchStart",
+ "touchEnd",
+ "touchMove",
+ "touchCancel"
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ },
+ {
+ "name": "cancelDragging",
+ "description": "Cancels any active dragging in the page."
+ },
+ {
+ "name": "emulateTouchFromMouseEvent",
+ "description": "Emulates touch event from the mouse event parameters.",
+ "experimental": true,
+ "parameters": [
+ {
+ "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": "setIgnoreInputEvents",
+ "description": "Ignores input events (useful while auditing page).",
+ "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": "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": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "scaleFactor",
+ "description": "Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).",
+ "type": "number"
+ },
+ {
+ "name": "relativeSpeed",
+ "description": "Relative pointer speed in pixels per second (default: 800).",
+ "optional": true,
+ "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": "synthesizeScrollGesture",
+ "description": "Synthesizes a scroll 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": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "xDistance",
+ "description": "The distance to scroll along the X axis (positive to scroll left).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "yDistance",
+ "description": "The distance to scroll along the Y axis (positive to scroll up).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "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": "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": "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": "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": "repeatDelayMs",
+ "description": "The number of milliseconds delay between each repeat. (default: 250).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "interactionMarkerName",
+ "description": "The name of the interaction markers to generate, if not empty (default: \"\").",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "synthesizeTapGesture",
+ "description": "Synthesizes a tap 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": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "duration",
+ "description": "Duration between touchdown and touchup events in ms (default: 50).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "tapCount",
+ "description": "Number of times to perform the tap (e.g. 2 for double tap, default: 1).",
+ "optional": true,
+ "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"
+ }
+ ]
+ }
+ ],
+ "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,
+ "parameters": [
+ {
+ "name": "data",
+ "$ref": "DragData"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Inspector",
+ "experimental": true,
+ "commands": [
+ {
+ "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.",
+ "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": "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).",
+ "optional": true,
+ "$ref": "LayerId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "The backend id for the node associated with this layer.",
+ "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.",
+ "type": "number"
+ },
+ {
+ "name": "width",
+ "description": "Layer width.",
+ "type": "number"
+ },
+ {
+ "name": "height",
+ "description": "Layer height.",
+ "type": "number"
+ },
+ {
+ "name": "transform",
+ "description": "Transformation matrix for layer, default is identity matrix",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ {
+ "name": "anchorX",
+ "description": "Transform anchor point X, absent if no transform specified",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "anchorY",
+ "description": "Transform anchor point Y, absent if no transform specified",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "anchorZ",
+ "description": "Transform anchor point Z, absent if no transform specified",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "paintCount",
+ "description": "Indicates how many time this layer has painted.",
+ "type": "integer"
+ },
+ {
+ "name": "drawsContent",
+ "description": "Indicates whether this layer hosts any content, rather than being used for\ntransform/scrolling purposes only.",
+ "type": "boolean"
+ },
+ {
+ "name": "invisible",
+ "description": "Set if layer is not visible.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "scrollRects",
+ "description": "Rectangles scrolling on main thread only.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ScrollRect"
+ }
+ },
+ {
+ "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": "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": "disable",
+ "description": "Disables compositing tree inspection."
+ },
+ {
+ "name": "enable",
+ "description": "Enables compositing tree inspection."
+ },
+ {
+ "name": "loadSnapshot",
+ "description": "Returns the snapshot identifier.",
+ "parameters": [
+ {
+ "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"
+ }
+ ]
+ },
+ {
+ "name": "makeSnapshot",
+ "description": "Returns the layer snapshot identifier.",
+ "parameters": [
+ {
+ "name": "layerId",
+ "description": "The id of the layer.",
+ "$ref": "LayerId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ }
+ ]
+ },
+ {
+ "name": "profileSnapshot",
+ "parameters": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ },
+ {
+ "name": "minRepeatCount",
+ "description": "The maximum number of times to replay the snapshot (1, if not specified).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "minDuration",
+ "description": "The minimum duration (in seconds) to replay the snapshot.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "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": "PaintProfile"
+ }
+ }
+ ]
+ },
+ {
+ "name": "releaseSnapshot",
+ "description": "Releases layer snapshot captured by the back-end.",
+ "parameters": [
+ {
+ "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": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ },
+ {
+ "name": "fromStep",
+ "description": "The first step to replay from (replay from the very start if not specified).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "toStep",
+ "description": "The last step to replay to (replay till the end if not specified).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "scale",
+ "description": "The scale to apply while replaying (defaults to 1).",
+ "optional": true,
+ "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": "clip",
+ "description": "Clip rectangle.",
+ "$ref": "DOM.Rect"
+ }
+ ]
+ },
+ {
+ "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": "source",
+ "description": "Log entry source.",
+ "type": "string",
+ "enum": [
+ "xml",
+ "javascript",
+ "network",
+ "storage",
+ "appcache",
+ "rendering",
+ "security",
+ "deprecation",
+ "worker",
+ "violation",
+ "intervention",
+ "recommendation",
+ "other"
+ ]
+ },
+ {
+ "name": "level",
+ "description": "Log entry severity.",
+ "type": "string",
+ "enum": [
+ "verbose",
+ "info",
+ "warning",
+ "error"
+ ]
+ },
+ {
+ "name": "text",
+ "description": "Logged text.",
+ "type": "string"
+ },
+ {
+ "name": "category",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "cors"
+ ]
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp when this entry was added.",
+ "$ref": "Runtime.Timestamp"
+ },
+ {
+ "name": "url",
+ "description": "URL of the resource if known.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "lineNumber",
+ "description": "Line number in the resource.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "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": "ViolationSetting",
+ "description": "Violation configuration setting.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Violation type.",
+ "type": "string",
+ "enum": [
+ "longTask",
+ "longLayout",
+ "blockedEvent",
+ "blockedParser",
+ "discouragedAPIUse",
+ "handler",
+ "recurringHandler"
+ ]
+ },
+ {
+ "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": "Memory",
+ "experimental": true,
+ "types": [
+ {
+ "id": "PressureLevel",
+ "description": "Memory pressure level.",
+ "type": "string",
+ "enum": [
+ "moderate",
+ "critical"
+ ]
+ },
+ {
+ "id": "SamplingProfileNode",
+ "description": "Heap profile sample.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "size",
+ "description": "Size of the sampled allocation.",
+ "type": "number"
+ },
+ {
+ "name": "total",
+ "description": "Total bytes attributed to this sample.",
+ "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": "samples",
+ "type": "array",
+ "items": {
+ "$ref": "SamplingProfileNode"
+ }
+ },
+ {
+ "name": "modules",
+ "type": "array",
+ "items": {
+ "$ref": "Module"
+ }
+ }
+ ]
+ },
+ {
+ "id": "Module",
+ "description": "Executable module information",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Name of the module.",
+ "type": "string"
+ },
+ {
+ "name": "uuid",
+ "description": "UUID of the module.",
+ "type": "string"
+ },
+ {
+ "name": "baseAddress",
+ "description": "Base address where the module is loaded into memory. Encoded as a decimal\nor hexadecimal (0x prefixed) string.",
+ "type": "string"
+ },
+ {
+ "name": "size",
+ "description": "Size of the module in bytes.",
+ "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": "count",
+ "description": "Object count.",
+ "type": "integer"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "getDOMCounters",
+ "description": "Retruns current DOM object counters.",
+ "returns": [
+ {
+ "name": "documents",
+ "type": "integer"
+ },
+ {
+ "name": "nodes",
+ "type": "integer"
+ },
+ {
+ "name": "jsEventListeners",
+ "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": "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": "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": "level",
+ "description": "Memory pressure level of the notification.",
+ "$ref": "PressureLevel"
+ }
+ ]
+ },
+ {
+ "name": "startSampling",
+ "description": "Start collecting native memory profile.",
+ "parameters": [
+ {
+ "name": "samplingInterval",
+ "description": "Average number of bytes between samples.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "suppressRandomness",
+ "description": "Do not randomize intervals between samples.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "stopSampling",
+ "description": "Stop collecting native memory profile."
+ },
+ {
+ "name": "getAllTimeSamplingProfile",
+ "description": "Retrieve native memory allocations profile\ncollected since renderer process startup.",
+ "returns": [
+ {
+ "name": "profile",
+ "$ref": "SamplingProfile"
+ }
+ ]
+ },
+ {
+ "name": "getBrowserSamplingProfile",
+ "description": "Retrieve native memory allocations profile\ncollected since browser process startup.",
+ "returns": [
+ {
+ "name": "profile",
+ "$ref": "SamplingProfile"
+ }
+ ]
+ },
+ {
+ "name": "getSamplingProfile",
+ "description": "Retrieve native memory allocations profile collected since last\n`startSampling` call.",
+ "returns": [
+ {
+ "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": "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": "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": "proxyStart",
+ "description": "Started resolving proxy.",
+ "type": "number"
+ },
+ {
+ "name": "proxyEnd",
+ "description": "Finished resolving proxy.",
+ "type": "number"
+ },
+ {
+ "name": "dnsStart",
+ "description": "Started DNS address resolve.",
+ "type": "number"
+ },
+ {
+ "name": "dnsEnd",
+ "description": "Finished DNS address resolve.",
+ "type": "number"
+ },
+ {
+ "name": "connectStart",
+ "description": "Started connecting to the remote host.",
+ "type": "number"
+ },
+ {
+ "name": "connectEnd",
+ "description": "Connected to the remote host.",
+ "type": "number"
+ },
+ {
+ "name": "sslStart",
+ "description": "Started SSL handshake.",
+ "type": "number"
+ },
+ {
+ "name": "sslEnd",
+ "description": "Finished SSL handshake.",
+ "type": "number"
+ },
+ {
+ "name": "workerStart",
+ "description": "Started running ServiceWorker.",
+ "experimental": true,
+ "type": "number"
+ },
+ {
+ "name": "workerReady",
+ "description": "Finished Starting ServiceWorker.",
+ "experimental": true,
+ "type": "number"
+ },
+ {
+ "name": "workerFetchStart",
+ "description": "Started fetch event.",
+ "experimental": true,
+ "type": "number"
+ },
+ {
+ "name": "workerRespondWithSettled",
+ "description": "Settled fetch event respondWith promise.",
+ "experimental": true,
+ "type": "number"
+ },
+ {
+ "name": "workerRouterEvaluationStart",
+ "description": "Started ServiceWorker static routing source evaluation.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "workerCacheLookupStart",
+ "description": "Started cache lookup when the source was evaluated to `cache`.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "sendStart",
+ "description": "Started sending request.",
+ "type": "number"
+ },
+ {
+ "name": "sendEnd",
+ "description": "Finished sending request.",
+ "type": "number"
+ },
+ {
+ "name": "pushStart",
+ "description": "Time the server started pushing request.",
+ "experimental": true,
+ "type": "number"
+ },
+ {
+ "name": "pushEnd",
+ "description": "Time the server finished pushing request.",
+ "experimental": true,
+ "type": "number"
+ },
+ {
+ "name": "receiveHeadersStart",
+ "description": "Started receiving response headers.",
+ "experimental": true,
+ "type": "number"
+ },
+ {
+ "name": "receiveHeadersEnd",
+ "description": "Finished receiving response headers.",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "id": "ResourcePriority",
+ "description": "Loading priority of a resource request.",
+ "type": "string",
+ "enum": [
+ "VeryLow",
+ "Low",
+ "Medium",
+ "High",
+ "VeryHigh"
+ ]
+ },
+ {
+ "id": "PostDataEntry",
+ "description": "Post data entry for HTTP request",
+ "type": "object",
+ "properties": [
+ {
+ "name": "bytes",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "Request",
+ "description": "HTTP request data.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "url",
+ "description": "Request URL (without fragment).",
+ "type": "string"
+ },
+ {
+ "name": "urlFragment",
+ "description": "Fragment of the requested URL starting with hash, if present.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "method",
+ "description": "HTTP request method.",
+ "type": "string"
+ },
+ {
+ "name": "headers",
+ "description": "HTTP request headers.",
+ "$ref": "Headers"
+ },
+ {
+ "name": "postData",
+ "description": "HTTP POST request data.\nUse postDataEntries instead.",
+ "deprecated": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "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": "postDataEntries",
+ "description": "Request body elements (post data broken into individual entries).",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "PostDataEntry"
+ }
+ },
+ {
+ "name": "mixedContentType",
+ "description": "The mixed content type of the request.",
+ "optional": true,
+ "$ref": "Security.MixedContentType"
+ },
+ {
+ "name": "initialPriority",
+ "description": "Priority of the resource request at the time request is sent.",
+ "$ref": "ResourcePriority"
+ },
+ {
+ "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": "isLinkPreload",
+ "description": "Whether is loaded via link preload.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "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": "TrustTokenParams"
+ },
+ {
+ "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"
+ }
+ ]
+ },
+ {
+ "id": "SignedCertificateTimestamp",
+ "description": "Details of a signed certificate timestamp (SCT).",
+ "type": "object",
+ "properties": [
+ {
+ "name": "status",
+ "description": "Validation status.",
+ "type": "string"
+ },
+ {
+ "name": "origin",
+ "description": "Origin.",
+ "type": "string"
+ },
+ {
+ "name": "logDescription",
+ "description": "Log name / description.",
+ "type": "string"
+ },
+ {
+ "name": "logId",
+ "description": "Log ID.",
+ "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": "hashAlgorithm",
+ "description": "Hash algorithm.",
+ "type": "string"
+ },
+ {
+ "name": "signatureAlgorithm",
+ "description": "Signature algorithm.",
+ "type": "string"
+ },
+ {
+ "name": "signatureData",
+ "description": "Signature data.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "SecurityDetails",
+ "description": "Security details about a request.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "protocol",
+ "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
+ "type": "string"
+ },
+ {
+ "name": "keyExchange",
+ "description": "Key Exchange used by the connection, or the empty string if not applicable.",
+ "type": "string"
+ },
+ {
+ "name": "keyExchangeGroup",
+ "description": "(EC)DH group used by the connection, if applicable.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "cipher",
+ "description": "Cipher name.",
+ "type": "string"
+ },
+ {
+ "name": "mac",
+ "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateId",
+ "description": "Certificate ID value.",
+ "$ref": "Security.CertificateId"
+ },
+ {
+ "name": "subjectName",
+ "description": "Certificate subject name.",
+ "type": "string"
+ },
+ {
+ "name": "sanList",
+ "description": "Subject Alternative Name (SAN) DNS names and IP addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "issuer",
+ "description": "Name of the issuing CA.",
+ "type": "string"
+ },
+ {
+ "name": "validFrom",
+ "description": "Certificate valid from date.",
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "validTo",
+ "description": "Certificate valid to (expiration) date",
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "signedCertificateTimestampList",
+ "description": "List of signed certificate timestamps (SCTs).",
+ "type": "array",
+ "items": {
+ "$ref": "SignedCertificateTimestamp"
+ }
+ },
+ {
+ "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": "CertificateTransparencyCompliance",
+ "description": "Whether the request complied with Certificate Transparency policy.",
+ "type": "string",
+ "enum": [
+ "unknown",
+ "not-compliant",
+ "compliant"
+ ]
+ },
+ {
+ "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": "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": "corsError",
+ "$ref": "CorsError"
+ },
+ {
+ "name": "failedParameter",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "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": "operation",
+ "$ref": "TrustTokenOperationType"
+ },
+ {
+ "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": "issuers",
+ "description": "Origins of issuers from whom to request tokens or redemption\nrecords.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "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,
+ "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": "actualSourceType",
+ "description": "The actual router source used.",
+ "optional": true,
+ "$ref": "ServiceWorkerRouterSource"
+ }
+ ]
+ },
+ {
+ "id": "Response",
+ "description": "HTTP response data.",
+ "type": "object",
+ "properties": [
+ {
+ "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": "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,
+ "$ref": "Headers"
+ },
+ {
+ "name": "requestHeadersText",
+ "description": "HTTP request headers text. This has been replaced by the headers in Network.requestWillBeSentExtraInfo.",
+ "deprecated": true,
+ "optional": true,
+ "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.",
+ "type": "number"
+ },
+ {
+ "name": "remoteIPAddress",
+ "description": "Remote IP address.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "remotePort",
+ "description": "Remote port.",
+ "optional": true,
+ "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"
+ },
+ {
+ "name": "alternateProtocolUsage",
+ "description": "The reason why Chrome uses a specific transport protocol for HTTP semantics.",
+ "experimental": true,
+ "optional": true,
+ "$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": "WebSocketRequest",
+ "description": "WebSocket request data.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "headers",
+ "description": "HTTP request headers.",
+ "$ref": "Headers"
+ }
+ ]
+ },
+ {
+ "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": "headers",
+ "description": "HTTP response headers.",
+ "$ref": "Headers"
+ },
+ {
+ "name": "headersText",
+ "description": "HTTP response headers text.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "requestHeaders",
+ "description": "HTTP request headers.",
+ "optional": true,
+ "$ref": "Headers"
+ },
+ {
+ "name": "requestHeadersText",
+ "description": "HTTP request headers text.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "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": "opcode",
+ "description": "WebSocket message opcode.",
+ "type": "number"
+ },
+ {
+ "name": "mask",
+ "description": "WebSocket message mask.",
+ "type": "boolean"
+ },
+ {
+ "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": "CachedResource",
+ "description": "Information about the cached resource.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "url",
+ "description": "Resource URL. This is the url of the original network request.",
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "description": "Type of this resource.",
+ "$ref": "ResourceType"
+ },
+ {
+ "name": "response",
+ "description": "Cached response data.",
+ "optional": true,
+ "$ref": "Response"
+ },
+ {
+ "name": "bodySize",
+ "description": "Cached response body size.",
+ "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": "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": "lineNumber",
+ "description": "Initiator line number, set for Parser type or for Script type (when script is importing\nmodule) (0-based).",
+ "optional": true,
+ "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": "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": "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.",
+ "type": "number"
+ },
+ {
+ "name": "size",
+ "description": "Cookie size.",
+ "type": "integer"
+ },
+ {
+ "name": "httpOnly",
+ "description": "True if cookie is http-only.",
+ "type": "boolean"
+ },
+ {
+ "name": "secure",
+ "description": "True if cookie is secure.",
+ "type": "boolean"
+ },
+ {
+ "name": "session",
+ "description": "True in case of session cookie.",
+ "type": "boolean"
+ },
+ {
+ "name": "sameSite",
+ "description": "Cookie SameSite type.",
+ "optional": true,
+ "$ref": "CookieSameSite"
+ },
+ {
+ "name": "priority",
+ "description": "Cookie Priority",
+ "experimental": true,
+ "$ref": "CookiePriority"
+ },
+ {
+ "name": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "deprecated": true,
+ "type": "boolean"
+ },
+ {
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
+ "experimental": 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,
+ "type": "integer"
+ },
+ {
+ "name": "partitionKey",
+ "description": "Cookie partition key.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "CookiePartitionKey"
+ },
+ {
+ "name": "partitionKeyOpaque",
+ "description": "True if cookie partition key is opaque.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "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,
+ "type": "string",
+ "enum": [
+ "None",
+ "UserSetting",
+ "TPCDMetadata",
+ "TPCDDeprecationTrial",
+ "TopLevelTPCDDeprecationTrial",
+ "TPCDHeuristics",
+ "EnterprisePolicy",
+ "StorageAccess",
+ "TopLevelStorageAccess",
+ "Scheme",
+ "SameSiteNoneCookiesInSandbox"
+ ]
+ },
+ {
+ "id": "BlockedSetCookieWithReason",
+ "description": "A cookie which was not stored from a response with the corresponding reason.",
+ "experimental": true,
+ "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.",
+ "optional": true,
+ "$ref": "Cookie"
+ }
+ ]
+ },
+ {
+ "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,
+ "type": "object",
+ "properties": [
+ {
+ "name": "exemptionReason",
+ "description": "The reason the cookie was exempted.",
+ "$ref": "CookieExemptionReason"
+ },
+ {
+ "name": "cookieLine",
+ "description": "The string representing this individual cookie as it would appear in the header.",
+ "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": "cookie",
+ "description": "The cookie object representing the cookie which was not sent.",
+ "$ref": "Cookie"
+ },
+ {
+ "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.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "secure",
+ "description": "True if cookie is secure.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "httpOnly",
+ "description": "True if cookie is http-only.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "sameSite",
+ "description": "Cookie SameSite type.",
+ "optional": true,
+ "$ref": "CookieSameSite"
+ },
+ {
+ "name": "expires",
+ "description": "Cookie expiration date, session cookie if not set",
+ "optional": true,
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "priority",
+ "description": "Cookie Priority.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "CookiePriority"
+ },
+ {
+ "name": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
+ "experimental": true,
+ "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"
+ }
+ ]
+ },
+ {
+ "id": "AuthChallenge",
+ "description": "Authorization challenge for HTTP status code 401 or 407.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "source",
+ "description": "Source of the authentication challenge.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "Server",
+ "Proxy"
+ ]
+ },
+ {
+ "name": "origin",
+ "description": "Origin of the challenger.",
+ "type": "string"
+ },
+ {
+ "name": "scheme",
+ "description": "The authentication scheme used, such as basic or digest",
+ "type": "string"
+ },
+ {
+ "name": "realm",
+ "description": "The realm of the challenge. May be empty.",
+ "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": "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,
+ "type": "string"
+ },
+ {
+ "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"
+ }
+ ]
+ },
+ {
+ "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,
+ "type": "object",
+ "properties": [
+ {
+ "name": "label",
+ "description": "Signed exchange signature label.",
+ "type": "string"
+ },
+ {
+ "name": "signature",
+ "description": "The hex string of signed exchange signature.",
+ "type": "string"
+ },
+ {
+ "name": "integrity",
+ "description": "Signed exchange signature integrity.",
+ "type": "string"
+ },
+ {
+ "name": "certUrl",
+ "description": "Signed exchange signature cert Url.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "certSha256",
+ "description": "The hex string of signed exchange signature cert sha256.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "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": {
+ "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.",
+ "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": {
+ "$ref": "SignedExchangeSignature"
+ }
+ },
+ {
+ "name": "headerIntegrity",
+ "description": "Signed exchange header integrity hash in the form of `sha256-`.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "SignedExchangeErrorField",
+ "description": "Field type for a signed exchange related error.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "signatureSig",
+ "signatureIntegrity",
+ "signatureCertUrl",
+ "signatureCertSha256",
+ "signatureValidityUrl",
+ "signatureTimestamps"
+ ]
+ },
+ {
+ "id": "SignedExchangeError",
+ "description": "Information about a signed exchange response.",
+ "experimental": true,
+ "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": "errorField",
+ "description": "The field which caused the error.",
+ "optional": true,
+ "$ref": "SignedExchangeErrorField"
+ }
+ ]
+ },
+ {
+ "id": "SignedExchangeInfo",
+ "description": "Information about a signed exchange response.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "outerResponse",
+ "description": "The outer response of signed HTTP exchange which was received from network.",
+ "$ref": "Response"
+ },
+ {
+ "name": "hasExtraInfo",
+ "description": "Whether network response for the signed exchange was accompanied by\nextra headers.",
+ "type": "boolean"
+ },
+ {
+ "name": "header",
+ "description": "Information about the signed exchange header.",
+ "optional": true,
+ "$ref": "SignedExchangeHeader"
+ },
+ {
+ "name": "securityDetails",
+ "description": "Security details for the signed exchange header.",
+ "optional": true,
+ "$ref": "SecurityDetails"
+ },
+ {
+ "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": "DirectSocketDnsQueryType",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "ipv4",
+ "ipv6"
+ ]
+ },
+ {
+ "id": "DirectTCPSocketOptions",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "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"
+ }
+ ]
+ },
+ {
+ "id": "DirectUDPSocketOptions",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "remoteAddr",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "remotePort",
+ "description": "Unsigned int 16.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "localAddr",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "localPort",
+ "description": "Unsigned int 16.",
+ "optional": true,
+ "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"
+ }
+ ]
+ },
+ {
+ "id": "DirectUDPMessage",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "data",
+ "type": "string"
+ },
+ {
+ "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"
+ }
+ ]
+ },
+ {
+ "id": "PrivateNetworkRequestPolicy",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Allow",
+ "BlockFromInsecureToMorePrivate",
+ "WarnFromInsecureToMorePrivate",
+ "PreflightBlock",
+ "PreflightWarn",
+ "PermissionBlock",
+ "PermissionWarn"
+ ]
+ },
+ {
+ "id": "IPAddressSpace",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Loopback",
+ "Local",
+ "Public",
+ "Unknown"
+ ]
+ },
+ {
+ "id": "ConnectTiming",
+ "experimental": true,
+ "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"
+ }
+ ]
+ },
+ {
+ "id": "ClientSecurityState",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "initiatorIsSecureContext",
+ "type": "boolean"
+ },
+ {
+ "name": "initiatorIPAddressSpace",
+ "$ref": "IPAddressSpace"
+ },
+ {
+ "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": "reportOnlyValue",
+ "$ref": "CrossOriginOpenerPolicyValue"
+ },
+ {
+ "name": "reportingEndpoint",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "reportOnlyReportingEndpoint",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "CrossOriginEmbedderPolicyValue",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "None",
+ "Credentialless",
+ "RequireCorp"
+ ]
+ },
+ {
+ "id": "CrossOriginEmbedderPolicyStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "value",
+ "$ref": "CrossOriginEmbedderPolicyValue"
+ },
+ {
+ "name": "reportOnlyValue",
+ "$ref": "CrossOriginEmbedderPolicyValue"
+ },
+ {
+ "name": "reportingEndpoint",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "reportOnlyReportingEndpoint",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "ContentSecurityPolicySource",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "HTTP",
+ "Meta"
+ ]
+ },
+ {
+ "id": "ContentSecurityPolicyStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "effectiveDirectives",
+ "type": "string"
+ },
+ {
+ "name": "isEnforced",
+ "type": "boolean"
+ },
+ {
+ "name": "source",
+ "$ref": "ContentSecurityPolicySource"
+ }
+ ]
+ },
+ {
+ "id": "SecurityIsolationStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "coop",
+ "optional": true,
+ "$ref": "CrossOriginOpenerPolicyStatus"
+ },
+ {
+ "name": "coep",
+ "optional": true,
+ "$ref": "CrossOriginEmbedderPolicyStatus"
+ },
+ {
+ "name": "csp",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ContentSecurityPolicyStatus"
+ }
+ }
+ ]
+ },
+ {
+ "id": "ReportStatus",
+ "description": "The status of a Reporting API report.",
+ "experimental": true,
+ "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": "id",
+ "$ref": "ReportId"
+ },
+ {
+ "name": "initiatorUrl",
+ "description": "The URL of the document that triggered the report.",
+ "type": "string"
+ },
+ {
+ "name": "destination",
+ "description": "The name of the endpoint group that should be used to deliver the report.",
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "description": "The type of the report (specifies the set of data that is contained in the report body).",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "description": "When the report was generated.",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "depth",
+ "description": "How many uploads deep the related request was.",
+ "type": "integer"
+ },
+ {
+ "name": "completedAttempts",
+ "description": "The number of delivery attempts made so far, not including an active attempt.",
+ "type": "integer"
+ },
+ {
+ "name": "body",
+ "type": "object"
+ },
+ {
+ "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": "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": "success",
+ "type": "boolean"
+ },
+ {
+ "name": "netError",
+ "description": "Optional values used for error reporting.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "netErrorName",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "httpStatusCode",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "stream",
+ "description": "If successful, one of the following two fields holds the result.",
+ "optional": true,
+ "$ref": "IO.StreamHandle"
+ },
+ {
+ "name": "headers",
+ "description": "Response headers.",
+ "optional": true,
+ "$ref": "Network.Headers"
+ }
+ ]
+ },
+ {
+ "id": "LoadNetworkResourceOptions",
+ "description": "An options object that may be extended later to better support CORS,\nCORB and streaming.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "disableCache",
+ "type": "boolean"
+ },
+ {
+ "name": "includeCredentials",
+ "type": "boolean"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "setAcceptedEncodings",
+ "description": "Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "encodings",
+ "description": "List of accepted content encodings.",
+ "type": "array",
+ "items": {
+ "$ref": "ContentEncoding"
+ }
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ },
+ {
+ "name": "canClearBrowserCookies",
+ "description": "Tells whether clearing browser cookies is supported.",
+ "deprecated": true,
+ "returns": [
+ {
+ "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": "result",
+ "description": "True if emulation of network conditions is supported.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "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": "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"
+ },
+ {
+ "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": "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": "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": "postData",
+ "description": "If set this allows postData to be set. Must not be set in response to an authChallenge.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "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": "authChallengeResponse",
+ "description": "Response to a requestIntercepted with an authChallenge. Must not be set otherwise.",
+ "optional": true,
+ "$ref": "AuthChallengeResponse"
+ }
+ ]
+ },
+ {
+ "name": "deleteCookies",
+ "description": "Deletes browser cookies with matching name and url or domain/path/partitionKey pair.",
+ "parameters": [
+ {
+ "name": "name",
+ "description": "Name of the cookies to remove.",
+ "type": "string"
+ },
+ {
+ "name": "url",
+ "description": "If specified, deletes all the cookies with the given name where domain and path match\nprovided URL.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "domain",
+ "description": "If specified, deletes only cookies with the exact domain.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "description": "If specified, deletes only cookies with the exact 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,
+ "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": "connectionType",
+ "description": "Connection type if known.",
+ "optional": true,
+ "$ref": "ConnectionType"
+ },
+ {
+ "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": "packetQueueLength",
+ "description": "WebRTC packet queue length (packet). 0 removes any queue length limitations.",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "packetReordering",
+ "description": "WebRTC packetReordering feature.",
+ "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).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "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": "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": "origin",
+ "description": "Origin to get certificate for.",
+ "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": "cookies",
+ "description": "Array of cookie objects.",
+ "type": "array",
+ "items": {
+ "$ref": "Cookie"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getResponseBody",
+ "description": "Returns content served for the given request.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Identifier of the network request to get content for.",
+ "$ref": "RequestId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "body",
+ "description": "Response body.",
+ "type": "string"
+ },
+ {
+ "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": "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"
+ }
+ ]
+ },
+ {
+ "name": "getResponseBodyForInterception",
+ "description": "Returns content served for the given currently intercepted request.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "interceptionId",
+ "description": "Identifier for the intercepted request to get body for.",
+ "$ref": "InterceptionId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "body",
+ "description": "Response body.",
+ "type": "string"
+ },
+ {
+ "name": "base64Encoded",
+ "description": "True, if content was sent as base64.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "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": "interceptionId",
+ "$ref": "InterceptionId"
+ }
+ ],
+ "returns": [
+ {
+ "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": "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"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setBlockedURLs",
+ "description": "Blocks URLs from loading.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "urls",
+ "description": "URL patterns to block. Wildcards ('*') are allowed.",
+ "type": "array",
+ "items": {
+ "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"
+ }
+ ]
+ },
+ {
+ "name": "setCacheDisabled",
+ "description": "Toggles ignoring cache for each request. If `true`, cache will not be used.",
+ "parameters": [
+ {
+ "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": "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.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "secure",
+ "description": "True if cookie is secure.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "httpOnly",
+ "description": "True if cookie is http-only.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "sameSite",
+ "description": "Cookie SameSite type.",
+ "optional": true,
+ "$ref": "CookieSameSite"
+ },
+ {
+ "name": "expires",
+ "description": "Cookie expiration date, session cookie if not set",
+ "optional": true,
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "priority",
+ "description": "Cookie Priority type.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "CookiePriority"
+ },
+ {
+ "name": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "sourceScheme",
+ "description": "Cookie source scheme type.",
+ "experimental": true,
+ "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": [
+ {
+ "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": "headers",
+ "description": "Map with extra HTTP headers.",
+ "$ref": "Headers"
+ }
+ ]
+ },
+ {
+ "name": "setAttachDebugStack",
+ "description": "Specifies whether to attach a page script stack id in requests",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether to attach a page script stack for debugging purpose.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "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": "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": "acceptLanguage",
+ "description": "Browser language to emulate.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "platform",
+ "description": "The platform navigator.platform should return.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "userAgentMetadata",
+ "description": "To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Emulation.UserAgentMetadata"
+ }
+ ]
+ },
+ {
+ "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": "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": "getSecurityIsolationStatus",
+ "description": "Returns information about the COEP/COOP isolation status.",
+ "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"
+ }
+ ]
+ },
+ {
+ "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": "enable",
+ "description": "Whether to enable or disable events for the Reporting API",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "loadNetworkResource",
+ "description": "Fetches the resource and returns the content.",
+ "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": [
+ {
+ "name": "resource",
+ "$ref": "LoadNetworkResourcePageResult"
+ }
+ ]
+ },
+ {
+ "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": "enableThirdPartyCookieRestriction",
+ "description": "Whether 3pc restriction is enabled.",
+ "type": "boolean"
+ },
+ {
+ "name": "disableThirdPartyCookieMetadata",
+ "description": "Whether 3pc grace period exception should be enabled; false by default.",
+ "type": "boolean"
+ },
+ {
+ "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": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "dataLength",
+ "description": "Data chunk length.",
+ "type": "integer"
+ },
+ {
+ "name": "encodedDataLength",
+ "description": "Actual bytes received (might be less than dataLength for compressed encodings).",
+ "type": "integer"
+ },
+ {
+ "name": "data",
+ "description": "Data that was received. (Encoded as a base64 string when passed over JSON)",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "eventSourceMessageReceived",
+ "description": "Fired when EventSource message is received.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "eventName",
+ "description": "Message type.",
+ "type": "string"
+ },
+ {
+ "name": "eventId",
+ "description": "Message identifier.",
+ "type": "string"
+ },
+ {
+ "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": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "type",
+ "description": "Resource type.",
+ "$ref": "ResourceType"
+ },
+ {
+ "name": "errorText",
+ "description": "Error message. List of network errors: https://cs.chromium.org/chromium/src/net/base/net_error_list.h",
+ "type": "string"
+ },
+ {
+ "name": "canceled",
+ "description": "True if loading was canceled.",
+ "optional": true,
+ "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": "loadingFinished",
+ "description": "Fired when HTTP request has finished loading.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "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": "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"
+ },
+ {
+ "name": "resourceType",
+ "description": "How the requested resource will be used.",
+ "$ref": "ResourceType"
+ },
+ {
+ "name": "isNavigationRequest",
+ "description": "Whether this is a navigation request, which can abort the navigation completely.",
+ "type": "boolean"
+ },
+ {
+ "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": "redirectUrl",
+ "description": "Redirect location, only sent if a redirect was intercepted.",
+ "optional": true,
+ "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": "responseErrorReason",
+ "description": "Response error if intercepted at response stage or if redirect occurred while intercepting\nrequest.",
+ "optional": true,
+ "$ref": "ErrorReason"
+ },
+ {
+ "name": "responseStatusCode",
+ "description": "Response code if intercepted at response stage or if redirect occurred while intercepting\nrequest or auth retry occurred.",
+ "optional": true,
+ "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": "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": "requestServedFromCache",
+ "description": "Fired if request ended up loading from cache.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ }
+ ]
+ },
+ {
+ "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"
+ },
+ {
+ "name": "initiator",
+ "description": "Request initiator.",
+ "$ref": "Initiator"
+ },
+ {
+ "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": "redirectResponse",
+ "description": "Redirect response data.",
+ "optional": true,
+ "$ref": "Response"
+ },
+ {
+ "name": "type",
+ "description": "Type of this resource.",
+ "optional": true,
+ "$ref": "ResourceType"
+ },
+ {
+ "name": "frameId",
+ "description": "Frame identifier.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "hasUserGesture",
+ "description": "Whether the request is initiated by a user gesture. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "resourceChangedPriority",
+ "description": "Fired when resource loading priority is changed",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "newPriority",
+ "description": "New priority",
+ "$ref": "ResourcePriority"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "signedExchangeReceived",
+ "description": "Fired when a signed exchange was received over the network",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "info",
+ "description": "Information about the signed exchange response.",
+ "$ref": "SignedExchangeInfo"
+ }
+ ]
+ },
+ {
+ "name": "responseReceived",
+ "description": "Fired when HTTP response is available.",
+ "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,
+ "type": "boolean"
+ },
+ {
+ "name": "frameId",
+ "description": "Frame identifier.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ }
+ ]
+ },
+ {
+ "name": "webSocketClosed",
+ "description": "Fired when WebSocket is closed.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "webSocketCreated",
+ "description": "Fired upon WebSocket creation.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "url",
+ "description": "WebSocket request URL.",
+ "type": "string"
+ },
+ {
+ "name": "initiator",
+ "description": "Request initiator.",
+ "optional": true,
+ "$ref": "Initiator"
+ }
+ ]
+ },
+ {
+ "name": "webSocketFrameError",
+ "description": "Fired when WebSocket message error occurs.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "errorMessage",
+ "description": "WebSocket error message.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "webSocketFrameReceived",
+ "description": "Fired when WebSocket message is received.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "response",
+ "description": "WebSocket response data.",
+ "$ref": "WebSocketFrame"
+ }
+ ]
+ },
+ {
+ "name": "webSocketFrameSent",
+ "description": "Fired when WebSocket message is sent.",
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "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": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "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": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "wallTime",
+ "description": "UTC Timestamp.",
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "request",
+ "description": "WebSocket request data.",
+ "$ref": "WebSocketRequest"
+ }
+ ]
+ },
+ {
+ "name": "webTransportCreated",
+ "description": "Fired upon WebTransport creation.",
+ "parameters": [
+ {
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "url",
+ "description": "WebTransport request URL.",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "initiator",
+ "description": "Request initiator.",
+ "optional": true,
+ "$ref": "Initiator"
+ }
+ ]
+ },
+ {
+ "name": "webTransportConnectionEstablished",
+ "description": "Fired when WebTransport handshake is finished.",
+ "parameters": [
+ {
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "webTransportClosed",
+ "description": "Fired when WebTransport is disposed.",
+ "parameters": [
+ {
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "directTCPSocketCreated",
+ "description": "Fired upon direct_socket.TCPSocket creation.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "remoteAddr",
+ "type": "string"
+ },
+ {
+ "name": "remotePort",
+ "description": "Unsigned int 16.",
+ "type": "integer"
+ },
+ {
+ "name": "options",
+ "$ref": "DirectTCPSocketOptions"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "initiator",
+ "optional": true,
+ "$ref": "Initiator"
+ }
+ ]
+ },
+ {
+ "name": "directTCPSocketOpened",
+ "description": "Fired when direct_socket.TCPSocket connection is opened.",
+ "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": "localAddr",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "localPort",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "directTCPSocketAborted",
+ "description": "Fired when direct_socket.TCPSocket is aborted.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "errorMessage",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "directTCPSocketClosed",
+ "description": "Fired when direct_socket.TCPSocket is closed.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "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": "data",
+ "type": "string"
+ },
+ {
+ "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": "data",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "directUDPSocketCreated",
+ "description": "Fired upon direct_socket.UDPSocket creation.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "options",
+ "$ref": "DirectUDPSocketOptions"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "initiator",
+ "optional": true,
+ "$ref": "Initiator"
+ }
+ ]
+ },
+ {
+ "name": "directUDPSocketOpened",
+ "description": "Fired when direct_socket.UDPSocket connection is opened.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "localAddr",
+ "type": "string"
+ },
+ {
+ "name": "localPort",
+ "description": "Expected to be unsigned integer.",
+ "type": "integer"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ },
+ {
+ "name": "remoteAddr",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "remotePort",
+ "description": "Expected to be unsigned integer.",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "directUDPSocketAborted",
+ "description": "Fired when direct_socket.UDPSocket is aborted.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "errorMessage",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "directUDPSocketClosed",
+ "description": "Fired when direct_socket.UDPSocket is closed.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "directUDPSocketChunkSent",
+ "description": "Fired when message is sent to udp direct socket stream.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "message",
+ "$ref": "DirectUDPMessage"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "directUDPSocketChunkReceived",
+ "description": "Fired when message is received from udp direct socket stream.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "message",
+ "$ref": "DirectUDPMessage"
+ },
+ {
+ "name": "timestamp",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "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": "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": "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": "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": "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": "BlockedSetCookieWithReason"
+ }
+ },
+ {
+ "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": "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"
+ },
+ {
+ "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": "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": "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,
+ "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.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "subresourceWebBundleMetadataError",
+ "description": "Fired once when parsing the .wbn file has failed.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier. Used to match this information to another event.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "errorMessage",
+ "description": "Error message",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "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.",
+ "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": "subresourceWebBundleInnerResponseError",
+ "description": "Fired when request for resources within a .wbn file failed.",
+ "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": "errorMessage",
+ "description": "Error message",
+ "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": "reportingApiReportAdded",
+ "description": "Is sent whenever a new report is added.\nAnd after 'enableReportingApi' for all existing reports.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "report",
+ "$ref": "ReportingApiReport"
+ }
+ ]
+ },
+ {
+ "name": "reportingApiReportUpdated",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "report",
+ "$ref": "ReportingApiReport"
+ }
+ ]
+ },
+ {
+ "name": "reportingApiEndpointsChangedForOrigin",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "origin",
+ "description": "Origin of the document(s) which configured the endpoints.",
+ "type": "string"
+ },
+ {
+ "name": "endpoints",
+ "type": "array",
+ "items": {
+ "$ref": "ReportingApiEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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": "parentOutlineColor",
+ "description": "the color to outline the given element in.",
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "childOutlineColor",
+ "description": "the color to outline the child elements in.",
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "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": "showPositiveLineNumbers",
+ "description": "Show Positive line number labels (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "showNegativeLineNumbers",
+ "description": "Show Negative line number labels (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "showAreaNames",
+ "description": "Show area name labels (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "showLineNames",
+ "description": "Show line name labels (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "showTrackSizes",
+ "description": "Show track size labels (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "gridBorderColor",
+ "description": "The grid container border highlight color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "cellBorderColor",
+ "description": "The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead.",
+ "deprecated": true,
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "rowLineColor",
+ "description": "The row line color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "columnLineColor",
+ "description": "The column line color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "gridBorderDash",
+ "description": "Whether the grid border is dashed (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "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": "rowLineDash",
+ "description": "Whether row lines are dashed (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "columnLineDash",
+ "description": "Whether column lines are dashed (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "rowGapColor",
+ "description": "The row gap highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "rowHatchColor",
+ "description": "The row gap hatching fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "columnGapColor",
+ "description": "The column gap highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "columnHatchColor",
+ "description": "The column gap hatching fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "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": "FlexContainerHighlightConfig",
+ "description": "Configuration data for the highlighting of Flex container elements.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "containerBorder",
+ "description": "The style of the container border",
+ "optional": true,
+ "$ref": "LineStyle"
+ },
+ {
+ "name": "lineSeparator",
+ "description": "The style of the separator between lines",
+ "optional": true,
+ "$ref": "LineStyle"
+ },
+ {
+ "name": "itemSeparator",
+ "description": "The style of the separator between items",
+ "optional": true,
+ "$ref": "LineStyle"
+ },
+ {
+ "name": "mainDistributedSpace",
+ "description": "Style of content-distribution space on the main axis (justify-content).",
+ "optional": true,
+ "$ref": "BoxStyle"
+ },
+ {
+ "name": "crossDistributedSpace",
+ "description": "Style of content-distribution space on the cross axis (align-content).",
+ "optional": true,
+ "$ref": "BoxStyle"
+ },
+ {
+ "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": "FlexItemHighlightConfig",
+ "description": "Configuration data for the highlighting of Flex item elements.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "baseSizeBox",
+ "description": "Style of the box representing the item's base size",
+ "optional": true,
+ "$ref": "BoxStyle"
+ },
+ {
+ "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": "LineStyle",
+ "description": "Style information for drawing a line.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "color",
+ "description": "The color of the line (default: transparent)",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "pattern",
+ "description": "The line pattern (default: solid)",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "dashed",
+ "dotted"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "BoxStyle",
+ "description": "Style information for drawing a box.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "fillColor",
+ "description": "The background color for the box (default: transparent)",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "hatchColor",
+ "description": "The hatching color for the box (default: transparent)",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "id": "ContrastAlgorithm",
+ "type": "string",
+ "enum": [
+ "aa",
+ "aaa",
+ "apca"
+ ]
+ },
+ {
+ "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": "showStyles",
+ "description": "Whether the node styles in the tooltip (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "showRulers",
+ "description": "Whether the rulers should be shown (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "showAccessibilityInfo",
+ "description": "Whether the a11y info should be shown (default: true).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "showExtensionLines",
+ "description": "Whether the extension lines from node to the rulers should be shown (default: false).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "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": "eventTargetColor",
+ "description": "The event target element highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "shapeColor",
+ "description": "The shape outside fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "shapeMarginColor",
+ "description": "The shape margin fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "cssGridColor",
+ "description": "The grid layout color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "colorFormat",
+ "description": "The color format used to format color styles (default: hex).",
+ "optional": true,
+ "$ref": "ColorFormat"
+ },
+ {
+ "name": "gridHighlightConfig",
+ "description": "The grid layout highlight configuration (default: all transparent).",
+ "optional": true,
+ "$ref": "GridHighlightConfig"
+ },
+ {
+ "name": "flexContainerHighlightConfig",
+ "description": "The flex container highlight configuration (default: all transparent).",
+ "optional": true,
+ "$ref": "FlexContainerHighlightConfig"
+ },
+ {
+ "name": "flexItemHighlightConfig",
+ "description": "The flex item highlight configuration (default: all transparent).",
+ "optional": true,
+ "$ref": "FlexItemHighlightConfig"
+ },
+ {
+ "name": "contrastAlgorithm",
+ "description": "The contrast algorithm to use for the contrast ratio (default: aa).",
+ "optional": true,
+ "$ref": "ContrastAlgorithm"
+ },
+ {
+ "name": "containerQueryContainerHighlightConfig",
+ "description": "The container query container highlight configuration (default: all transparent).",
+ "optional": true,
+ "$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": "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": "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,
+ "$ref": "LineStyle"
+ },
+ {
+ "name": "snapAreaBorder",
+ "description": "The style of the snap area border (default: transparent)",
+ "optional": true,
+ "$ref": "LineStyle"
+ },
+ {
+ "name": "scrollMarginColor",
+ "description": "The margin highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "scrollPaddingColor",
+ "description": "The padding highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "id": "ScrollSnapHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "scrollSnapContainerHighlightConfig",
+ "description": "A descriptor for the highlight appearance of scroll snap containers.",
+ "$ref": "ScrollSnapContainerHighlightConfig"
+ },
+ {
+ "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": "contentColor",
+ "description": "The content box highlight fill color (default: a dark color).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "outlineColor",
+ "description": "The content box highlight outline color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "id": "WindowControlsOverlayConfig",
+ "description": "Configuration for Window Controls Overlay",
+ "type": "object",
+ "properties": [
+ {
+ "name": "showCSS",
+ "description": "Whether the title bar CSS should be shown when emulating the Window Controls Overlay.",
+ "type": "boolean"
+ },
+ {
+ "name": "selectedPlatform",
+ "description": "Selected platforms to show the overlay.",
+ "type": "string"
+ },
+ {
+ "name": "themeColor",
+ "description": "The theme color defined in app manifest.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "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": "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": "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": "IsolationModeHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "resizerColor",
+ "description": "The fill color of the resizers (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "resizerHandleColor",
+ "description": "The fill color for resizer handles (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "maskColor",
+ "description": "The fill color for the mask covering non-isolated elements (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "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": "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": "includeStyle",
+ "description": "Whether to include style info.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "colorFormat",
+ "description": "The color format to get config with (default: hex).",
+ "optional": true,
+ "$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"
+ }
+ ]
+ },
+ {
+ "name": "getGridHighlightObjectsForTest",
+ "description": "For Persistent Grid testing.",
+ "parameters": [
+ {
+ "name": "nodeIds",
+ "description": "Ids of the node to get highlight object for.",
+ "type": "array",
+ "items": {
+ "$ref": "DOM.NodeId"
+ }
+ }
+ ],
+ "returns": [
+ {
+ "name": "highlights",
+ "description": "Grid Highlight data for the node ids provided.",
+ "type": "object"
+ }
+ ]
+ },
+ {
+ "name": "getSourceOrderHighlightObjectForTest",
+ "description": "For Source Order Viewer testing.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Id of the node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "highlight",
+ "description": "Source order highlight data for the node id provided.",
+ "type": "object"
+ }
+ ]
+ },
+ {
+ "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": "frameId",
+ "description": "Identifier of the frame to highlight.",
+ "$ref": "Page.FrameId"
+ },
+ {
+ "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": "color",
+ "description": "The highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
+ {
+ "name": "outlineColor",
+ "description": "The highlight outline color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "name": "highlightRect",
+ "description": "Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.",
+ "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": "outlineColor",
+ "description": "The highlight outline color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "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": "sourceOrderConfig",
+ "description": "A descriptor for the appearance of the overlay drawing.",
+ "$ref": "SourceOrderConfig"
+ },
+ {
+ "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": "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": "mode",
+ "description": "Set an inspection mode.",
+ "$ref": "InspectMode"
+ },
+ {
+ "name": "highlightConfig",
+ "description": "A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled\n== false`.",
+ "optional": true,
+ "$ref": "HighlightConfig"
+ }
+ ]
+ },
+ {
+ "name": "setShowAdHighlights",
+ "description": "Highlights owner element of all frames detected to be ads.",
+ "parameters": [
+ {
+ "name": "show",
+ "description": "True for showing ad highlights",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setPausedInDebuggerMessage",
+ "parameters": [
+ {
+ "name": "message",
+ "description": "The message to display, also triggers resume and step over controls.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setShowDebugBorders",
+ "description": "Requests that backend shows debug borders on layers",
+ "parameters": [
+ {
+ "name": "show",
+ "description": "True for showing debug borders",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setShowFPSCounter",
+ "description": "Requests that backend shows the FPS counter",
+ "parameters": [
+ {
+ "name": "show",
+ "description": "True for showing the FPS counter",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "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": "setShowFlexOverlays",
+ "parameters": [
+ {
+ "name": "flexNodeHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "FlexNodeHighlightConfig"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setShowScrollSnapOverlays",
+ "parameters": [
+ {
+ "name": "scrollSnapHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "ScrollSnapHighlightConfig"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setShowContainerQueryOverlays",
+ "parameters": [
+ {
+ "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": "result",
+ "description": "True for showing paint rectangles",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setShowLayoutShiftRegions",
+ "description": "Requests that backend shows layout shift regions",
+ "parameters": [
+ {
+ "name": "result",
+ "description": "True for showing layout shift regions",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setShowScrollBottleneckRects",
+ "description": "Requests that backend shows scroll bottleneck rects",
+ "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": "show",
+ "description": "True for showing hit-test borders",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setShowWebVitals",
+ "description": "Deprecated, no longer has any effect.",
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "show",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setShowViewportSizeOnResize",
+ "description": "Paints viewport size upon main frame resize.",
+ "parameters": [
+ {
+ "name": "show",
+ "description": "Whether to paint size or not.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setShowHinge",
+ "description": "Add a dual screen device hinge",
+ "parameters": [
+ {
+ "name": "hingeConfig",
+ "description": "hinge data, null means hideHinge",
+ "optional": true,
+ "$ref": "HingeConfig"
+ }
+ ]
+ },
+ {
+ "name": "setShowIsolatedElements",
+ "description": "Show elements in isolation mode with overlays.",
+ "parameters": [
+ {
+ "name": "isolatedElementHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "IsolatedElementHighlightConfig"
+ }
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ],
+ "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": [
- "VeryLow",
- "Low",
- "Medium",
- "High",
- "VeryHigh"
+ "ParentIsAd",
+ "CreatedByAdScript",
+ "MatchedBlockingRule"
]
},
{
- "id": "PostDataEntry",
- "description": "Post data entry for HTTP request",
+ "id": "AdFrameStatus",
+ "description": "Indicates whether a frame has been identified as an ad and why.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "bytes",
+ "name": "adFrameType",
+ "$ref": "AdFrameType"
+ },
+ {
+ "name": "explanations",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "AdFrameExplanation"
+ }
}
]
},
{
- "id": "Request",
- "description": "HTTP request data.",
+ "id": "AdScriptId",
+ "description": "Identifies the script which caused a script or frame to be labelled as an\nad.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "url",
- "description": "Request URL (without fragment).",
- "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": "urlFragment",
- "description": "Fragment of the requested URL starting with hash, if present.",
+ "name": "debuggerId",
+ "description": "Id of scriptId's debugger.",
+ "$ref": "Runtime.UniqueDebuggerId"
+ }
+ ]
+ },
+ {
+ "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,
+ "type": "object",
+ "properties": [
+ {
+ "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"
+ }
+ ]
+ },
+ {
+ "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",
+ "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-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"
+ ]
+ },
+ {
+ "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": "method",
- "description": "HTTP request method.",
- "type": "string"
+ "name": "blockReason",
+ "$ref": "PermissionsPolicyBlockReason"
+ }
+ ]
+ },
+ {
+ "id": "PermissionsPolicyFeatureState",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "feature",
+ "$ref": "PermissionsPolicyFeature"
},
{
- "name": "headers",
- "description": "HTTP request headers.",
- "$ref": "Headers"
+ "name": "allowed",
+ "type": "boolean"
},
{
- "name": "postData",
- "description": "HTTP POST request data.",
+ "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": "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,
+ "name": "matchSubDomains",
"type": "boolean"
},
{
- "name": "postDataEntries",
- "description": "Request body elements. This will be converted from base64 to binary",
- "experimental": true,
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "PostDataEntry"
- }
+ "name": "trialName",
+ "type": "string"
},
{
- "name": "mixedContentType",
- "description": "The mixed content type of the request.",
- "optional": true,
- "$ref": "Security.MixedContentType"
+ "name": "expiryTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "initialPriority",
- "description": "Priority of the resource request at the time request is sent.",
- "$ref": "ResourcePriority"
+ "name": "isThirdParty",
+ "type": "boolean"
},
{
- "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": "usageRestriction",
+ "$ref": "OriginTrialUsageRestriction"
+ }
+ ]
+ },
+ {
+ "id": "OriginTrialTokenWithStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "rawTokenText",
+ "type": "string"
},
{
- "name": "isLinkPreload",
- "description": "Whether is loaded via link preload.",
+ "name": "parsedToken",
+ "description": "`parsedToken` is present only when the token is extractable and\nparsable.",
"optional": true,
- "type": "boolean"
+ "$ref": "OriginTrialToken"
},
{
- "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": "TrustTokenParams"
+ "name": "status",
+ "$ref": "OriginTrialTokenStatus"
}
]
},
{
- "id": "SignedCertificateTimestamp",
- "description": "Details of a signed certificate timestamp (SCT).",
+ "id": "OriginTrial",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "status",
- "description": "Validation status.",
+ "name": "trialName",
"type": "string"
},
{
- "name": "origin",
- "description": "Origin.",
- "type": "string"
+ "name": "status",
+ "$ref": "OriginTrialStatus"
},
{
- "name": "logDescription",
- "description": "Log name / description.",
- "type": "string"
+ "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": "logId",
- "description": "Log ID.",
- "type": "string"
+ "name": "parentId",
+ "description": "Parent frame identifier.",
+ "optional": true,
+ "$ref": "FrameId"
},
{
- "name": "timestamp",
- "description": "Issuance date.",
- "$ref": "TimeSinceEpoch"
+ "name": "loaderId",
+ "description": "Identifier of the loader associated with this frame.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "hashAlgorithm",
- "description": "Hash algorithm.",
+ "name": "name",
+ "description": "Frame's name as specified in the tag.",
+ "optional": true,
"type": "string"
},
{
- "name": "signatureAlgorithm",
- "description": "Signature algorithm.",
+ "name": "url",
+ "description": "Frame document's URL without fragment.",
"type": "string"
},
{
- "name": "signatureData",
- "description": "Signature data.",
+ "name": "urlFragment",
+ "description": "Frame document's URL fragment including the '#'.",
+ "experimental": true,
+ "optional": true,
"type": "string"
- }
- ]
- },
- {
- "id": "SecurityDetails",
- "description": "Security details about a request.",
- "type": "object",
- "properties": [
+ },
{
- "name": "protocol",
- "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
+ "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": "keyExchange",
- "description": "Key Exchange used by the connection, or the empty string if not applicable.",
+ "name": "securityOrigin",
+ "description": "Frame document's security origin.",
"type": "string"
},
{
- "name": "keyExchangeGroup",
- "description": "(EC)DH group used by the connection, if applicable.",
+ "name": "securityOriginDetails",
+ "description": "Additional details about the frame document's security origin.",
+ "experimental": true,
"optional": true,
- "type": "string"
+ "$ref": "SecurityOriginDetails"
},
{
- "name": "cipher",
- "description": "Cipher name.",
+ "name": "mimeType",
+ "description": "Frame document's mimeType as determined by the browser.",
"type": "string"
},
{
- "name": "mac",
- "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
+ "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": "certificateId",
- "description": "Certificate ID value.",
- "$ref": "Security.CertificateId"
+ "name": "adFrameStatus",
+ "description": "Indicates whether this frame was tagged as an ad and why.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "AdFrameStatus"
},
{
- "name": "subjectName",
- "description": "Certificate subject name.",
- "type": "string"
+ "name": "secureContextType",
+ "description": "Indicates whether the main document is a secure context and explains why that is the case.",
+ "experimental": true,
+ "$ref": "SecureContextType"
},
{
- "name": "sanList",
- "description": "Subject Alternative Name (SAN) DNS names and IP addresses.",
+ "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": {
- "type": "string"
+ "$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": "issuer",
- "description": "Name of the issuing CA.",
+ "name": "type",
+ "description": "Type of this resource.",
+ "$ref": "Network.ResourceType"
+ },
+ {
+ "name": "mimeType",
+ "description": "Resource mimeType as determined by the browser.",
"type": "string"
},
{
- "name": "validFrom",
- "description": "Certificate valid from date.",
- "$ref": "TimeSinceEpoch"
+ "name": "lastModified",
+ "description": "last-modified timestamp as reported by server.",
+ "optional": true,
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "validTo",
- "description": "Certificate valid to (expiration) date",
- "$ref": "TimeSinceEpoch"
+ "name": "contentSize",
+ "description": "Resource content size.",
+ "optional": true,
+ "type": "number"
},
{
- "name": "signedCertificateTimestampList",
- "description": "List of signed certificate timestamps (SCTs).",
- "type": "array",
- "items": {
- "$ref": "SignedCertificateTimestamp"
- }
+ "name": "failed",
+ "description": "True if the resource failed to load.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "certificateTransparencyCompliance",
- "description": "Whether the request complied with Certificate Transparency policy",
- "$ref": "CertificateTransparencyCompliance"
+ "name": "canceled",
+ "description": "True if the resource was canceled during loading.",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "CertificateTransparencyCompliance",
- "description": "Whether the request complied with Certificate Transparency policy.",
- "type": "string",
- "enum": [
- "unknown",
- "not-compliant",
- "compliant"
- ]
- },
- {
- "id": "BlockedReason",
- "description": "The reason why request was blocked.",
- "type": "string",
- "enum": [
- "other",
- "csp",
- "mixed-content",
- "origin",
- "inspector",
- "subresource-filter",
- "content-type",
- "collapsed-by-client",
- "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-site"
- ]
- },
- {
- "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",
- "InvalidAllowMethodsPreflightResponse",
- "InvalidAllowHeadersPreflightResponse",
- "MethodDisallowedByPreflightResponse",
- "HeaderDisallowedByPreflightResponse",
- "RedirectContainsCredentials",
- "InsecurePrivateNetwork"
- ]
- },
- {
- "id": "CorsErrorStatus",
+ "id": "FrameResourceTree",
+ "description": "Information about the Frame hierarchy along with their cached resources.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "corsError",
- "$ref": "CorsError"
+ "name": "frame",
+ "description": "Frame information for this tree item.",
+ "$ref": "Frame"
},
{
- "name": "failedParameter",
- "type": "string"
+ "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": "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,
+ "id": "FrameTree",
+ "description": "Information about the Frame hierarchy.",
"type": "object",
"properties": [
{
- "name": "type",
- "$ref": "TrustTokenOperationType"
- },
- {
- "name": "refreshPolicy",
- "description": "Only set for \"token-redemption\" type and determine whether\nto request a fresh SRR or use a still valid cached SRR.",
- "type": "string",
- "enum": [
- "UseCached",
- "Refresh"
- ]
+ "name": "frame",
+ "description": "Frame information for this tree item.",
+ "$ref": "Frame"
},
{
- "name": "issuers",
- "description": "Origins of issuers from whom to request tokens or redemption\nrecords.",
+ "name": "childFrames",
+ "description": "Child frames.",
"optional": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "FrameTree"
}
}
]
},
{
- "id": "TrustTokenOperationType",
- "experimental": true,
+ "id": "ScriptIdentifier",
+ "description": "Unique script identifier.",
+ "type": "string"
+ },
+ {
+ "id": "TransitionType",
+ "description": "Transition type.",
"type": "string",
"enum": [
- "Issuance",
- "Redemption",
- "Signing"
+ "link",
+ "typed",
+ "address_bar",
+ "auto_bookmark",
+ "auto_subframe",
+ "manual_subframe",
+ "generated",
+ "auto_toplevel",
+ "form_submit",
+ "reload",
+ "keyword",
+ "keyword_generated",
+ "other"
]
},
{
- "id": "Response",
- "description": "HTTP response data.",
+ "id": "NavigationEntry",
+ "description": "Navigation history entry.",
"type": "object",
"properties": [
{
- "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.",
+ "name": "id",
+ "description": "Unique id of the navigation history entry.",
"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.",
- "optional": true,
+ "name": "url",
+ "description": "URL of the navigation history entry.",
"type": "string"
},
{
- "name": "mimeType",
- "description": "Resource mimeType as determined by the browser.",
+ "name": "userTypedURL",
+ "description": "URL that the user typed in the url bar.",
"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.",
- "optional": true,
+ "name": "title",
+ "description": "Title of the navigation history entry.",
"type": "string"
},
{
- "name": "connectionReused",
- "description": "Specifies whether physical connection was actually reused for this request.",
- "type": "boolean"
- },
+ "name": "transitionType",
+ "description": "Transition type.",
+ "$ref": "TransitionType"
+ }
+ ]
+ },
+ {
+ "id": "ScreencastFrameMetadata",
+ "description": "Screencast frame metadata.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "connectionId",
- "description": "Physical connection id that was actually used for this request.",
+ "name": "offsetTop",
+ "description": "Top offset in DIP.",
"type": "number"
},
{
- "name": "remoteIPAddress",
- "description": "Remote IP address.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "remotePort",
- "description": "Remote port.",
- "optional": true,
- "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": "pageScaleFactor",
+ "description": "Page scale factor.",
+ "type": "number"
},
{
- "name": "fromPrefetchCache",
- "description": "Specifies that the request was served from the prefetch cache.",
- "optional": true,
- "type": "boolean"
+ "name": "deviceWidth",
+ "description": "Device screen width in DIP.",
+ "type": "number"
},
{
- "name": "encodedDataLength",
- "description": "Total number of bytes received for this request so far.",
+ "name": "deviceHeight",
+ "description": "Device screen height in DIP.",
"type": "number"
},
{
- "name": "timing",
- "description": "Timing information for the given request.",
- "optional": true,
- "$ref": "ResourceTiming"
+ "name": "scrollOffsetX",
+ "description": "Position of horizontal scroll in CSS pixels.",
+ "type": "number"
},
{
- "name": "serviceWorkerResponseSource",
- "description": "Response source of response from ServiceWorker.",
- "optional": true,
- "$ref": "ServiceWorkerResponseSource"
+ "name": "scrollOffsetY",
+ "description": "Position of vertical scroll in CSS pixels.",
+ "type": "number"
},
{
- "name": "responseTime",
- "description": "The time at which the returned response was generated.",
+ "name": "timestamp",
+ "description": "Frame swap timestamp.",
"optional": true,
- "$ref": "TimeSinceEpoch"
- },
+ "$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": "cacheStorageCacheName",
- "description": "Cache Storage Cache Name.",
- "optional": true,
+ "name": "message",
+ "description": "Error message.",
"type": "string"
},
{
- "name": "protocol",
- "description": "Protocol used to fetch this request.",
- "optional": true,
- "type": "string"
+ "name": "critical",
+ "description": "If critical, this is a non-recoverable parse error.",
+ "type": "integer"
},
{
- "name": "securityState",
- "description": "Security state of the request resource.",
- "$ref": "Security.SecurityState"
+ "name": "line",
+ "description": "Error line.",
+ "type": "integer"
},
{
- "name": "securityDetails",
- "description": "Security details for the request.",
- "optional": true,
- "$ref": "SecurityDetails"
+ "name": "column",
+ "description": "Error column.",
+ "type": "integer"
}
]
},
{
- "id": "WebSocketRequest",
- "description": "WebSocket request data.",
+ "id": "AppManifestParsedProperties",
+ "description": "Parsed app manifest properties.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "headers",
- "description": "HTTP request headers.",
- "$ref": "Headers"
+ "name": "scope",
+ "description": "Computed scope value",
+ "type": "string"
}
]
},
{
- "id": "WebSocketResponse",
- "description": "WebSocket response data.",
+ "id": "LayoutViewport",
+ "description": "Layout viewport position and dimensions.",
"type": "object",
"properties": [
{
- "name": "status",
- "description": "HTTP response status code.",
+ "name": "pageX",
+ "description": "Horizontal offset relative to the document (CSS pixels).",
"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.",
- "optional": true,
- "type": "string"
+ "name": "pageY",
+ "description": "Vertical offset relative to the document (CSS pixels).",
+ "type": "integer"
},
{
- "name": "requestHeaders",
- "description": "HTTP request headers.",
- "optional": true,
- "$ref": "Headers"
+ "name": "clientWidth",
+ "description": "Width (CSS pixels), excludes scrollbar if present.",
+ "type": "integer"
},
{
- "name": "requestHeadersText",
- "description": "HTTP request headers text.",
- "optional": true,
- "type": "string"
+ "name": "clientHeight",
+ "description": "Height (CSS pixels), excludes scrollbar if present.",
+ "type": "integer"
}
]
},
{
- "id": "WebSocketFrame",
- "description": "WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.",
+ "id": "VisualViewport",
+ "description": "Visual viewport position, dimensions, and scale.",
"type": "object",
"properties": [
{
- "name": "opcode",
- "description": "WebSocket message opcode.",
+ "name": "offsetX",
+ "description": "Horizontal offset relative to the layout viewport (CSS pixels).",
"type": "number"
},
{
- "name": "mask",
- "description": "WebSocket message mask.",
- "type": "boolean"
+ "name": "offsetY",
+ "description": "Vertical offset relative to the layout viewport (CSS pixels).",
+ "type": "number"
},
{
- "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": "CachedResource",
- "description": "Information about the cached resource.",
- "type": "object",
- "properties": [
+ "name": "pageX",
+ "description": "Horizontal offset relative to the document (CSS pixels).",
+ "type": "number"
+ },
{
- "name": "url",
- "description": "Resource URL. This is the url of the original network request.",
- "type": "string"
+ "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": "type",
- "description": "Type of this resource.",
- "$ref": "ResourceType"
+ "name": "clientHeight",
+ "description": "Height (CSS pixels), excludes scrollbar if present.",
+ "type": "number"
},
{
- "name": "response",
- "description": "Cached response data.",
- "optional": true,
- "$ref": "Response"
+ "name": "scale",
+ "description": "Scale relative to the ideal viewport (size at width=device-width).",
+ "type": "number"
},
{
- "name": "bodySize",
- "description": "Cached response body size.",
+ "name": "zoom",
+ "description": "Page zoom factor (CSS to device independent pixels ratio).",
+ "optional": true,
"type": "number"
}
]
},
{
- "id": "Initiator",
- "description": "Information about the request initiator.",
+ "id": "Viewport",
+ "description": "Viewport for capturing screenshot.",
"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.",
- "optional": true,
- "$ref": "Runtime.StackTrace"
+ "name": "x",
+ "description": "X offset in device independent pixels (dip).",
+ "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": "y",
+ "description": "Y offset in device independent pixels (dip).",
+ "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": "width",
+ "description": "Rectangle width in device independent pixels (dip).",
"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": "height",
+ "description": "Rectangle height in device independent pixels (dip).",
"type": "number"
},
{
- "name": "requestId",
- "description": "Set if another request triggered this request (e.g. preflight).",
- "optional": true,
- "$ref": "RequestId"
+ "name": "scale",
+ "description": "Page scale factor.",
+ "type": "number"
}
]
},
{
- "id": "Cookie",
- "description": "Cookie object",
+ "id": "FontFamilies",
+ "description": "Generic font families collection.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Cookie name.",
+ "name": "standard",
+ "description": "The standard font-family.",
+ "optional": true,
"type": "string"
},
{
- "name": "value",
- "description": "Cookie value.",
+ "name": "fixed",
+ "description": "The fixed font-family.",
+ "optional": true,
"type": "string"
},
{
- "name": "domain",
- "description": "Cookie domain.",
+ "name": "serif",
+ "description": "The serif font-family.",
+ "optional": true,
"type": "string"
},
{
- "name": "path",
- "description": "Cookie path.",
+ "name": "sansSerif",
+ "description": "The sansSerif font-family.",
+ "optional": true,
"type": "string"
},
{
- "name": "expires",
- "description": "Cookie expiration date as the number of seconds since the UNIX epoch.",
- "type": "number"
+ "name": "cursive",
+ "description": "The cursive font-family.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "size",
- "description": "Cookie size.",
- "type": "integer"
+ "name": "fantasy",
+ "description": "The fantasy font-family.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "httpOnly",
- "description": "True if cookie is http-only.",
- "type": "boolean"
- },
+ "name": "math",
+ "description": "The math font-family.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "ScriptFontFamilies",
+ "description": "Font families collection for a script.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "secure",
- "description": "True if cookie is secure.",
- "type": "boolean"
+ "name": "script",
+ "description": "Name of the script which these font families are defined for.",
+ "type": "string"
},
{
- "name": "session",
- "description": "True in case of session cookie.",
- "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": "sameSite",
- "description": "Cookie SameSite type.",
+ "name": "standard",
+ "description": "Default standard font size.",
"optional": true,
- "$ref": "CookieSameSite"
- },
- {
- "name": "priority",
- "description": "Cookie Priority",
- "experimental": true,
- "$ref": "CookiePriority"
+ "type": "integer"
},
{
- "name": "sameParty",
- "description": "True if cookie is SameParty.",
- "experimental": true,
- "type": "boolean"
+ "name": "fixed",
+ "description": "Default fixed font size.",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "id": "SetCookieBlockedReason",
- "description": "Types of reasons why a cookie may not be stored from a response.",
+ "id": "ClientNavigationReason",
"experimental": true,
"type": "string",
"enum": [
- "SecureOnly",
- "SameSiteStrict",
- "SameSiteLax",
- "SameSiteUnspecifiedTreatedAsLax",
- "SameSiteNoneInsecure",
- "UserPreferences",
- "SyntaxError",
- "SchemeNotSupported",
- "OverwriteSecure",
- "InvalidDomain",
- "InvalidPrefix",
- "UnknownError",
- "SchemefulSameSiteStrict",
- "SchemefulSameSiteLax",
- "SchemefulSameSiteUnspecifiedTreatedAsLax"
+ "anchorClick",
+ "formSubmissionGet",
+ "formSubmissionPost",
+ "httpHeaderRefresh",
+ "initialFrameNavigation",
+ "metaTagRefresh",
+ "other",
+ "pageBlockInterstitial",
+ "reload",
+ "scriptInitiated"
]
},
{
- "id": "CookieBlockedReason",
- "description": "Types of reasons why a cookie may not be sent with a request.",
+ "id": "ClientNavigationDisposition",
"experimental": true,
"type": "string",
"enum": [
- "SecureOnly",
- "NotOnPath",
- "DomainMismatch",
- "SameSiteStrict",
- "SameSiteLax",
- "SameSiteUnspecifiedTreatedAsLax",
- "SameSiteNoneInsecure",
- "UserPreferences",
- "UnknownError",
- "SchemefulSameSiteStrict",
- "SchemefulSameSiteLax",
- "SchemefulSameSiteUnspecifiedTreatedAsLax"
+ "currentTab",
+ "newTab",
+ "newWindow",
+ "download"
]
},
{
- "id": "BlockedSetCookieWithReason",
- "description": "A cookie which was not stored from a response with the corresponding reason.",
+ "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": [
+ {
+ "name": "errorId",
+ "description": "The error id (e.g. 'manifest-missing-suitable-icon').",
+ "type": "string"
+ },
+ {
+ "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": "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.",
+ "name": "url",
+ "description": "The URL of the script to produce a compilation cache entry for.",
"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": "eager",
+ "description": "A hint to the backend whether eager compilation is recommended.\n(the actual compilation mode used is upon backend discretion).",
"optional": true,
- "$ref": "Cookie"
+ "type": "boolean"
}
]
},
{
- "id": "BlockedCookieWithReason",
- "description": "A cookie with was not sent with a request with the corresponding reason.",
+ "id": "FileFilter",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "blockedReasons",
- "description": "The reason(s) the cookie was blocked.",
+ "name": "name",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "accepts",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "CookieBlockedReason"
+ "type": "string"
}
- },
- {
- "name": "cookie",
- "description": "The cookie object representing the cookie which was not sent.",
- "$ref": "Cookie"
}
]
},
{
- "id": "CookieParam",
- "description": "Cookie parameter object",
+ "id": "FileHandler",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Cookie name.",
+ "name": "action",
"type": "string"
},
{
- "name": "value",
- "description": "Cookie value.",
+ "name": "name",
"type": "string"
},
{
- "name": "url",
- "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain and path values of the created cookie.",
+ "name": "icons",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "ImageResource"
+ }
},
{
- "name": "domain",
- "description": "Cookie domain.",
+ "name": "accepts",
+ "description": "Mimic a map, name is the key, accepts is the value.",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "FileFilter"
+ }
},
{
- "name": "path",
- "description": "Cookie path.",
- "optional": true,
+ "name": "launchType",
+ "description": "Won't repeat the enums, using string for easy comparison. Same as the\nother enums below.",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "ImageResource",
+ "description": "The image definition used in both icon and screenshot.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "secure",
- "description": "True if cookie is secure.",
- "optional": true,
- "type": "boolean"
+ "name": "url",
+ "description": "The src field in the definition, but changing to url in favor of\nconsistency.",
+ "type": "string"
},
{
- "name": "httpOnly",
- "description": "True if cookie is http-only.",
+ "name": "sizes",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "sameSite",
- "description": "Cookie SameSite type.",
+ "name": "type",
"optional": true,
- "$ref": "CookieSameSite"
- },
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "LaunchHandler",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "expires",
- "description": "Cookie expiration date, session cookie if not set",
- "optional": true,
- "$ref": "TimeSinceEpoch"
+ "name": "clientMode",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "ProtocolHandler",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "protocol",
+ "type": "string"
},
{
- "name": "priority",
- "description": "Cookie Priority.",
- "experimental": true,
- "optional": true,
- "$ref": "CookiePriority"
+ "name": "url",
+ "type": "string"
}
]
},
{
- "id": "AuthChallenge",
- "description": "Authorization challenge for HTTP status code 401 or 407.",
+ "id": "RelatedApplication",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "source",
- "description": "Source of the authentication challenge.",
+ "name": "id",
"optional": true,
- "type": "string",
- "enum": [
- "Server",
- "Proxy"
- ]
+ "type": "string"
},
{
- "name": "origin",
- "description": "Origin of the challenger.",
+ "name": "url",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "ScopeExtension",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "scheme",
- "description": "The authentication scheme used, such as basic or digest",
+ "name": "origin",
+ "description": "Instead of using tuple, this field always returns the serialized string\nfor easy understanding and comparison.",
"type": "string"
},
{
- "name": "realm",
- "description": "The realm of the challenge. May be empty.",
- "type": "string"
+ "name": "hasOriginWildcard",
+ "type": "boolean"
}
]
},
{
- "id": "AuthChallengeResponse",
- "description": "Response to an AuthChallenge.",
+ "id": "Screenshot",
"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": "image",
+ "$ref": "ImageResource"
},
{
- "name": "username",
- "description": "The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
- "optional": true,
+ "name": "formFactor",
"type": "string"
},
{
- "name": "password",
- "description": "The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
+ "name": "label",
"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.",
+ "id": "ShareTarget",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "urlPattern",
- "description": "Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to \"*\".",
+ "name": "action",
+ "type": "string"
+ },
+ {
+ "name": "method",
+ "type": "string"
+ },
+ {
+ "name": "enctype",
+ "type": "string"
+ },
+ {
+ "name": "title",
+ "description": "Embed the ShareTargetParams",
"optional": true,
"type": "string"
},
{
- "name": "resourceType",
- "description": "If set, only requests for matching resource types will be intercepted.",
+ "name": "text",
"optional": true,
- "$ref": "ResourceType"
+ "type": "string"
},
{
- "name": "interceptionStage",
- "description": "Stage at wich to begin intercepting requests. Default is Request.",
+ "name": "url",
"optional": true,
- "$ref": "InterceptionStage"
+ "type": "string"
+ },
+ {
+ "name": "files",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "FileFilter"
+ }
}
]
},
{
- "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",
+ "id": "Shortcut",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "label",
- "description": "Signed exchange signature label.",
+ "name": "name",
"type": "string"
},
{
- "name": "signature",
- "description": "The hex string of signed exchange signature.",
+ "name": "url",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "WebAppManifest",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "integrity",
- "description": "Signed exchange signature integrity.",
+ "name": "backgroundColor",
+ "optional": true,
"type": "string"
},
{
- "name": "certUrl",
- "description": "Signed exchange signature cert Url.",
+ "name": "description",
+ "description": "The extra description provided by the manifest.",
"optional": true,
"type": "string"
},
{
- "name": "certSha256",
- "description": "The hex string of signed exchange signature cert sha256.",
+ "name": "dir",
"optional": true,
"type": "string"
},
{
- "name": "validityUrl",
- "description": "Signed exchange signature validity Url.",
+ "name": "display",
+ "optional": true,
"type": "string"
},
{
- "name": "date",
- "description": "Signed exchange signature date.",
- "type": "integer"
+ "name": "displayOverrides",
+ "description": "The overrided display mode controlled by the user.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "expires",
- "description": "Signed exchange signature expires.",
- "type": "integer"
+ "name": "fileHandlers",
+ "description": "The handlers to open files.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "FileHandler"
+ }
},
{
- "name": "certificates",
- "description": "The encoded certificates.",
+ "name": "icons",
"optional": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "ImageResource"
}
- }
- ]
- },
- {
- "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": "id",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "lang",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "requestUrl",
- "description": "Signed exchange request URL.",
+ "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": "responseCode",
- "description": "Signed exchange response code.",
- "type": "integer"
+ "name": "orientation",
+ "optional": true,
+ "type": "string"
},
{
- "name": "responseHeaders",
- "description": "Signed exchange response headers.",
- "$ref": "Headers"
+ "name": "preferRelatedApplications",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "signatures",
- "description": "Signed exchange response signature.",
+ "name": "protocolHandlers",
+ "description": "The handlers to open protocols.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "SignedExchangeSignature"
+ "$ref": "ProtocolHandler"
}
},
{
- "name": "headerIntegrity",
- "description": "Signed exchange header integrity hash in the form of \"sha256-\".",
- "type": "string"
- }
- ]
- },
- {
- "id": "SignedExchangeErrorField",
- "description": "Field type for a signed exchange related error.",
- "experimental": true,
- "type": "string",
- "enum": [
- "signatureSig",
- "signatureIntegrity",
- "signatureCertUrl",
- "signatureCertSha256",
- "signatureValidityUrl",
- "signatureTimestamps"
- ]
- },
- {
- "id": "SignedExchangeError",
- "description": "Information about a signed exchange response.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "relatedApplications",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "RelatedApplication"
+ }
+ },
{
- "name": "message",
- "description": "Error message.",
+ "name": "scope",
+ "optional": true,
"type": "string"
},
{
- "name": "signatureIndex",
- "description": "The index of the signature which caused the error.",
+ "name": "scopeExtensions",
+ "description": "Non-standard, see\nhttps://github.com/WICG/manifest-incubations/blob/gh-pages/scope_extensions-explainer.md",
"optional": true,
- "type": "integer"
+ "type": "array",
+ "items": {
+ "$ref": "ScopeExtension"
+ }
},
{
- "name": "errorField",
- "description": "The field which caused the error.",
+ "name": "screenshots",
+ "description": "The screenshots used by chromium.",
"optional": true,
- "$ref": "SignedExchangeErrorField"
- }
- ]
- },
- {
- "id": "SignedExchangeInfo",
- "description": "Information about a signed exchange response.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "outerResponse",
- "description": "The outer response of signed HTTP exchange which was received from network.",
- "$ref": "Response"
+ "type": "array",
+ "items": {
+ "$ref": "Screenshot"
+ }
},
{
- "name": "header",
- "description": "Information about the signed exchange header.",
+ "name": "shareTarget",
"optional": true,
- "$ref": "SignedExchangeHeader"
+ "$ref": "ShareTarget"
},
{
- "name": "securityDetails",
- "description": "Security details for the signed exchange header.",
+ "name": "shortName",
"optional": true,
- "$ref": "SecurityDetails"
+ "type": "string"
},
{
- "name": "errors",
- "description": "Errors occurred while handling the signed exchagne.",
+ "name": "shortcuts",
"optional": true,
"type": "array",
"items": {
- "$ref": "SignedExchangeError"
+ "$ref": "Shortcut"
}
+ },
+ {
+ "name": "startUrl",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "themeColor",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "id": "PrivateNetworkRequestPolicy",
+ "id": "NavigationType",
+ "description": "The type of a frameNavigated event.",
"experimental": true,
"type": "string",
"enum": [
- "Allow",
- "BlockFromInsecureToMorePrivate"
+ "Navigation",
+ "BackForwardCacheRestore"
]
},
{
- "id": "IPAddressSpace",
+ "id": "BackForwardCacheNotRestoredReason",
+ "description": "List of not restored reasons for back-forward cache.",
"experimental": true,
"type": "string",
"enum": [
- "Local",
- "Private",
- "Public",
- "Unknown"
+ "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",
+ "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": "BackForwardCacheNotRestoredReasonType",
+ "description": "Types of not restored reasons for back-forward cache.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "SupportPending",
+ "PageSupportNeeded",
+ "Circumstantial"
]
},
{
- "id": "ClientSecurityState",
+ "id": "BackForwardCacheBlockingDetails",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "initiatorIsSecureContext",
- "type": "boolean"
+ "name": "url",
+ "description": "Url of the file where blockage happened. Optional because of tests.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "initiatorIPAddressSpace",
- "$ref": "IPAddressSpace"
+ "name": "function",
+ "description": "Function name where blockage happened. Optional because of anonymous functions and tests.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "privateNetworkRequestPolicy",
- "$ref": "PrivateNetworkRequestPolicy"
+ "name": "lineNumber",
+ "description": "Line number in the script (0-based).",
+ "type": "integer"
+ },
+ {
+ "name": "columnNumber",
+ "description": "Column number in the script (0-based).",
+ "type": "integer"
}
]
},
{
- "id": "CrossOriginOpenerPolicyValue",
- "experimental": true,
- "type": "string",
- "enum": [
- "SameOrigin",
- "SameOriginAllowPopups",
- "UnsafeNone",
- "SameOriginPlusCoep"
- ]
- },
- {
- "id": "CrossOriginOpenerPolicyStatus",
+ "id": "BackForwardCacheNotRestoredExplanation",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "value",
- "$ref": "CrossOriginOpenerPolicyValue"
+ "name": "type",
+ "description": "Type of the reason",
+ "$ref": "BackForwardCacheNotRestoredReasonType"
},
{
- "name": "reportOnlyValue",
- "$ref": "CrossOriginOpenerPolicyValue"
+ "name": "reason",
+ "description": "Not restored reason",
+ "$ref": "BackForwardCacheNotRestoredReason"
},
{
- "name": "reportingEndpoint",
+ "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": "reportOnlyReportingEndpoint",
+ "name": "details",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "BackForwardCacheBlockingDetails"
+ }
}
]
},
{
- "id": "CrossOriginEmbedderPolicyValue",
- "experimental": true,
- "type": "string",
- "enum": [
- "None",
- "RequireCorp"
- ]
- },
- {
- "id": "CrossOriginEmbedderPolicyStatus",
+ "id": "BackForwardCacheNotRestoredExplanationTree",
"experimental": true,
"type": "object",
"properties": [
{
- "name": "value",
- "$ref": "CrossOriginEmbedderPolicyValue"
+ "name": "url",
+ "description": "URL of each frame",
+ "type": "string"
},
{
- "name": "reportOnlyValue",
- "$ref": "CrossOriginEmbedderPolicyValue"
+ "name": "explanations",
+ "description": "Not restored reasons of each frame",
+ "type": "array",
+ "items": {
+ "$ref": "BackForwardCacheNotRestoredExplanation"
+ }
},
{
- "name": "reportingEndpoint",
- "optional": true,
- "type": "string"
- },
+ "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": "reportOnlyReportingEndpoint",
- "optional": true,
+ "name": "scriptSource",
"type": "string"
}
+ ],
+ "returns": [
+ {
+ "name": "identifier",
+ "description": "Identifier of the added script.",
+ "$ref": "ScriptIdentifier"
+ }
]
},
{
- "id": "SecurityIsolationStatus",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "addScriptToEvaluateOnNewDocument",
+ "description": "Evaluates given script in every frame upon creation (before loading frame's scripts).",
+ "parameters": [
{
- "name": "coop",
+ "name": "source",
+ "type": "string"
+ },
+ {
+ "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,
- "$ref": "CrossOriginOpenerPolicyStatus"
+ "type": "string"
},
{
- "name": "coep",
+ "name": "includeCommandLineAPI",
+ "description": "Specifies whether command line API should be available to the script, defaults\nto false.",
+ "experimental": true,
"optional": true,
- "$ref": "CrossOriginEmbedderPolicyStatus"
+ "type": "boolean"
+ },
+ {
+ "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"
}
]
},
{
- "id": "LoadNetworkResourcePageResult",
- "description": "An object providing the result of a network resource load.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "success",
- "type": "boolean"
- },
+ "name": "bringToFront",
+ "description": "Brings page to front (activates tab)."
+ },
+ {
+ "name": "captureScreenshot",
+ "description": "Capture page screenshot.",
+ "parameters": [
{
- "name": "netError",
- "description": "Optional values used for error reporting.",
+ "name": "format",
+ "description": "Image compression format (defaults to png).",
"optional": true,
- "type": "number"
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "png",
+ "webp"
+ ]
},
{
- "name": "netErrorName",
+ "name": "quality",
+ "description": "Compression quality from range [0..100] (jpeg only).",
"optional": true,
- "type": "string"
+ "type": "integer"
},
{
- "name": "httpStatusCode",
+ "name": "clip",
+ "description": "Capture the screenshot of a given region only.",
"optional": true,
- "type": "number"
+ "$ref": "Viewport"
},
{
- "name": "stream",
- "description": "If successful, one of the following two fields holds the result.",
+ "name": "fromSurface",
+ "description": "Capture the screenshot from the surface, rather than the view. Defaults to true.",
+ "experimental": true,
"optional": true,
- "$ref": "IO.StreamHandle"
+ "type": "boolean"
},
{
- "name": "headers",
- "description": "Response headers.",
+ "name": "captureBeyondViewport",
+ "description": "Capture the screenshot beyond the viewport. Defaults to false.",
+ "experimental": true,
"optional": true,
- "$ref": "Network.Headers"
- }
- ]
- },
- {
- "id": "LoadNetworkResourceOptions",
- "description": "An options object that may be extended later to better support CORS,\nCORB and streaming.",
- "experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "disableCache",
"type": "boolean"
},
{
- "name": "includeCredentials",
+ "name": "optimizeForSpeed",
+ "description": "Optimize image encoding for speed, not for resulting size (defaults to false)",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
}
- ]
- }
- ],
- "commands": [
- {
- "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"
+ "name": "data",
+ "description": "Base64-encoded image data. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
}
]
},
{
- "name": "canClearBrowserCookies",
- "description": "Tells whether clearing browser cookies is supported.",
- "deprecated": true,
- "returns": [
+ "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": "result",
- "description": "True if browser cookies can be cleared.",
- "type": "boolean"
+ "name": "format",
+ "description": "Format (defaults to mhtml).",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "mhtml"
+ ]
}
- ]
- },
- {
- "name": "canEmulateNetworkConditions",
- "description": "Tells whether emulation of network conditions is supported.",
- "deprecated": true,
+ ],
"returns": [
{
- "name": "result",
- "description": "True if emulation of network conditions is supported.",
- "type": "boolean"
+ "name": "data",
+ "description": "Serialized page data.",
+ "type": "string"
}
]
},
{
- "name": "clearBrowserCache",
- "description": "Clears browser cache."
+ "name": "clearDeviceMetricsOverride",
+ "description": "Clears the overridden device metrics.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "Emulation"
},
{
- "name": "clearBrowserCookies",
- "description": "Clears browser cookies."
+ "name": "clearDeviceOrientationOverride",
+ "description": "Clears the overridden Device Orientation.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "DeviceOrientation"
},
{
- "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,
+ "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": "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"
- },
- {
- "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": "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": "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": "frameId",
+ "description": "Id of the frame in which the isolated world should be created.",
+ "$ref": "FrameId"
},
{
- "name": "postData",
- "description": "If set this allows postData to be set. Must not be set in response to an authChallenge.",
+ "name": "worldName",
+ "description": "An optional name which is reported in the Execution Context.",
"optional": true,
"type": "string"
},
{
- "name": "headers",
- "description": "If set this allows the request headers to be changed. Must not be set in response to an\nauthChallenge.",
+ "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,
- "$ref": "Headers"
- },
+ "type": "boolean"
+ }
+ ],
+ "returns": [
{
- "name": "authChallengeResponse",
- "description": "Response to a requestIntercepted with an authChallenge. Must not be set otherwise.",
- "optional": true,
- "$ref": "AuthChallengeResponse"
+ "name": "executionContextId",
+ "description": "Execution context of the isolated world.",
+ "$ref": "Runtime.ExecutionContextId"
}
]
},
{
- "name": "deleteCookies",
- "description": "Deletes browser cookies with matching name and url or domain/path pair.",
+ "name": "deleteCookie",
+ "description": "Deletes browser cookie with given name, domain and path.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "Network",
"parameters": [
{
- "name": "name",
- "description": "Name of the cookies to remove.",
+ "name": "cookieName",
+ "description": "Name of the cookie to remove.",
"type": "string"
},
{
"name": "url",
- "description": "If specified, deletes all the cookies with the given name where domain and path match\nprovided URL.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "domain",
- "description": "If specified, deletes only cookies with the exact domain.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "path",
- "description": "If specified, deletes only cookies with the exact path.",
- "optional": true,
+ "description": "URL to match cooke domain and path.",
"type": "string"
}
]
},
{
"name": "disable",
- "description": "Disables network tracking, prevents network events from being sent to the client."
+ "description": "Disables page domain notifications."
},
{
- "name": "emulateNetworkConditions",
- "description": "Activates emulation of network conditions.",
+ "name": "enable",
+ "description": "Enables page domain notifications.",
"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": "connectionType",
- "description": "Connection type if known.",
+ "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": "ConnectionType"
+ "type": "boolean"
}
]
},
{
- "name": "enable",
- "description": "Enables network tracking, network events will now be delivered to the client.",
+ "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": "maxTotalBufferSize",
- "description": "Buffer size in bytes to use when preserving network payloads (XHRs, etc).",
- "experimental": true,
+ "name": "manifestId",
"optional": true,
- "type": "integer"
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "url",
+ "description": "Manifest location.",
+ "type": "string"
},
{
- "name": "maxResourceBufferSize",
- "description": "Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).",
- "experimental": true,
+ "name": "errors",
+ "type": "array",
+ "items": {
+ "$ref": "AppManifestError"
+ }
+ },
+ {
+ "name": "data",
+ "description": "Manifest content.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "maxPostDataSize",
- "description": "Longest post body size (in bytes) that would be included in requestWillBeSent notification",
+ "name": "parsed",
+ "description": "Parsed manifest properties. Deprecated, use manifest instead.",
+ "experimental": true,
+ "deprecated": true,
"optional": true,
- "type": "integer"
+ "$ref": "AppManifestParsedProperties"
+ },
+ {
+ "name": "manifest",
+ "experimental": true,
+ "$ref": "WebAppManifest"
}
]
},
{
- "name": "getAllCookies",
- "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.",
+ "name": "getInstallabilityErrors",
+ "experimental": true,
"returns": [
{
- "name": "cookies",
- "description": "Array of cookie objects.",
+ "name": "installabilityErrors",
"type": "array",
"items": {
- "$ref": "Cookie"
+ "$ref": "InstallabilityError"
}
}
]
},
{
- "name": "getCertificate",
- "description": "Returns the DER-encoded certificate.",
+ "name": "getManifestIcons",
+ "description": "Deprecated because it's not guaranteed that the returned icon is in fact the one used for PWA installation.",
"experimental": true,
- "parameters": [
+ "deprecated": true,
+ "returns": [
{
- "name": "origin",
- "description": "Origin to get certificate for.",
+ "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": "tableNames",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "appId",
+ "description": "App id, either from manifest's id attribute or computed from start_url",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "recommendedId",
+ "description": "Recommendation for manifest's id attribute to match current id computed from start_url",
+ "optional": true,
+ "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.",
+ "name": "getAdScriptAncestry",
+ "experimental": true,
"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"
- }
+ "name": "frameId",
+ "$ref": "FrameId"
}
],
"returns": [
{
- "name": "cookies",
- "description": "Array of cookie objects.",
- "type": "array",
- "items": {
- "$ref": "Cookie"
- }
+ "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"
}
]
},
{
- "name": "getResponseBody",
- "description": "Returns content served for the given request.",
- "parameters": [
+ "name": "getFrameTree",
+ "description": "Returns present frame tree structure.",
+ "returns": [
{
- "name": "requestId",
- "description": "Identifier of the network request to get content for.",
- "$ref": "RequestId"
+ "name": "frameTree",
+ "description": "Present frame tree structure.",
+ "$ref": "FrameTree"
}
- ],
+ ]
+ },
+ {
+ "name": "getLayoutMetrics",
+ "description": "Returns metrics relating to the layouting of the page, such as viewport bounds/scale.",
"returns": [
{
- "name": "body",
- "description": "Response body.",
- "type": "string"
+ "name": "layoutViewport",
+ "description": "Deprecated metrics relating to the layout viewport. Is in device pixels. Use `cssLayoutViewport` instead.",
+ "deprecated": true,
+ "$ref": "LayoutViewport"
},
{
- "name": "base64Encoded",
- "description": "True, if content was sent as base64.",
- "type": "boolean"
+ "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": "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": "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"
- }
- ],
+ "name": "getNavigationHistory",
+ "description": "Returns navigation history for the current page.",
"returns": [
{
- "name": "postData",
- "description": "Request body string, omitting files from multipart requests",
- "type": "string"
+ "name": "currentIndex",
+ "description": "Index of the current navigation history entry.",
+ "type": "integer"
+ },
+ {
+ "name": "entries",
+ "description": "Array of navigation history entries.",
+ "type": "array",
+ "items": {
+ "$ref": "NavigationEntry"
+ }
}
]
},
{
- "name": "getResponseBodyForInterception",
- "description": "Returns content served for the given currently intercepted request.",
+ "name": "resetNavigationHistory",
+ "description": "Resets navigation history for the current page."
+ },
+ {
+ "name": "getResourceContent",
+ "description": "Returns content of the given resource.",
"experimental": true,
"parameters": [
{
- "name": "interceptionId",
- "description": "Identifier for the intercepted request to get body for.",
- "$ref": "InterceptionId"
+ "name": "frameId",
+ "description": "Frame id to get resource for.",
+ "$ref": "FrameId"
+ },
+ {
+ "name": "url",
+ "description": "URL of the resource to get content for.",
+ "type": "string"
}
],
"returns": [
{
- "name": "body",
- "description": "Response body.",
+ "name": "content",
+ "description": "Resource content.",
"type": "string"
},
{
"name": "base64Encoded",
- "description": "True, if content was sent as base64.",
+ "description": "True, if content was served as base64.",
"type": "boolean"
}
]
},
{
- "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.",
+ "name": "getResourceTree",
+ "description": "Returns present frame / resource tree structure.",
"experimental": true,
- "parameters": [
- {
- "name": "interceptionId",
- "$ref": "InterceptionId"
- }
- ],
"returns": [
{
- "name": "stream",
- "$ref": "IO.StreamHandle"
+ "name": "frameTree",
+ "description": "Present frame / resource tree structure.",
+ "$ref": "FrameResourceTree"
}
]
},
{
- "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,
+ "name": "handleJavaScriptDialog",
+ "description": "Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).",
"parameters": [
{
- "name": "requestId",
- "description": "Identifier of XHR to replay.",
- "$ref": "RequestId"
+ "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": "searchInResponseBody",
- "description": "Searches for given string in response content.",
- "experimental": true,
+ "name": "navigate",
+ "description": "Navigates current page to the given URL.",
"parameters": [
{
- "name": "requestId",
- "description": "Identifier of the network response to search.",
- "$ref": "RequestId"
+ "name": "url",
+ "description": "URL to navigate the page to.",
+ "type": "string"
},
{
- "name": "query",
- "description": "String to search for.",
+ "name": "referrer",
+ "description": "Referrer URL.",
+ "optional": true,
"type": "string"
},
{
- "name": "caseSensitive",
- "description": "If true, search is case sensitive.",
+ "name": "transitionType",
+ "description": "Intended transition type.",
"optional": true,
- "type": "boolean"
+ "$ref": "TransitionType"
},
{
- "name": "isRegex",
- "description": "If true, treats string parameter as regex.",
+ "name": "frameId",
+ "description": "Frame id to navigate, if not specified navigates the top frame.",
"optional": true,
- "type": "boolean"
+ "$ref": "FrameId"
+ },
+ {
+ "name": "referrerPolicy",
+ "description": "Referrer-policy used for the navigation.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "ReferrerPolicy"
}
],
"returns": [
{
- "name": "result",
- "description": "List of search matches.",
- "type": "array",
- "items": {
- "$ref": "Debugger.SearchMatch"
- }
- }
- ]
- },
- {
- "name": "setBlockedURLs",
- "description": "Blocks URLs from loading.",
- "experimental": true,
- "parameters": [
+ "name": "frameId",
+ "description": "Frame id that has navigated (or failed to navigate)",
+ "$ref": "FrameId"
+ },
{
- "name": "urls",
- "description": "URL patterns to block. Wildcards ('*') are allowed.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- {
- "name": "setBypassServiceWorker",
- "description": "Toggles ignoring of service worker for each request.",
- "experimental": true,
- "parameters": [
+ "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": "bypass",
- "description": "Bypass service worker and load from network.",
+ "name": "isDownload",
+ "description": "Whether the navigation resulted in a download.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
}
]
},
{
- "name": "setCacheDisabled",
- "description": "Toggles ignoring cache for each request. If `true`, cache will not be used.",
+ "name": "navigateToHistoryEntry",
+ "description": "Navigates current page to the given history entry.",
"parameters": [
{
- "name": "cacheDisabled",
- "description": "Cache disabled state.",
- "type": "boolean"
+ "name": "entryId",
+ "description": "Unique id of the entry to navigate to.",
+ "type": "integer"
}
]
},
{
- "name": "setCookie",
- "description": "Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.",
+ "name": "printToPDF",
+ "description": "Print page as PDF.",
"parameters": [
{
- "name": "name",
- "description": "Cookie name.",
- "type": "string"
+ "name": "landscape",
+ "description": "Paper orientation. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "value",
- "description": "Cookie value.",
- "type": "string"
+ "name": "displayHeaderFooter",
+ "description": "Display header and footer. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "url",
- "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain and path values of the created cookie.",
+ "name": "printBackground",
+ "description": "Print background graphics. Defaults to false.",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "domain",
- "description": "Cookie domain.",
+ "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": "path",
- "description": "Cookie path.",
+ "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": "secure",
- "description": "True if cookie is secure.",
+ "name": "footerTemplate",
+ "description": "HTML template for the print footer. Should use the same format as the `headerTemplate`.",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "httpOnly",
- "description": "True if cookie is http-only.",
+ "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": "sameSite",
- "description": "Cookie SameSite type.",
+ "name": "transferMode",
+ "description": "return as stream",
+ "experimental": true,
"optional": true,
- "$ref": "CookieSameSite"
+ "type": "string",
+ "enum": [
+ "ReturnAsBase64",
+ "ReturnAsStream"
+ ]
},
{
- "name": "expires",
- "description": "Cookie expiration date, session cookie if not set",
+ "name": "generateTaggedPDF",
+ "description": "Whether or not to generate tagged (accessible) PDF. Defaults to embedder choice.",
+ "experimental": true,
"optional": true,
- "$ref": "TimeSinceEpoch"
+ "type": "boolean"
},
{
- "name": "priority",
- "description": "Cookie Priority type.",
+ "name": "generateDocumentOutline",
+ "description": "Whether or not to embed the document outline into the PDF.",
"experimental": true,
"optional": true,
- "$ref": "CookiePriority"
+ "type": "boolean"
}
],
"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": [
+ "name": "data",
+ "description": "Base64-encoded pdf data. Empty if |returnAsStream| is specified. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ },
{
- "name": "cookies",
- "description": "Cookies to be set.",
- "type": "array",
- "items": {
- "$ref": "CookieParam"
- }
+ "name": "stream",
+ "description": "A handle of the stream that holds resulting PDF data.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "IO.StreamHandle"
}
]
},
{
- "name": "setDataSizeLimitsForTest",
- "description": "For testing.",
- "experimental": true,
+ "name": "reload",
+ "description": "Reloads given page optionally ignoring the cache.",
"parameters": [
{
- "name": "maxTotalSize",
- "description": "Maximum total buffer size.",
- "type": "integer"
+ "name": "ignoreCache",
+ "description": "If true, browser cache is ignored (as if the user pressed Shift+refresh).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "maxResourceSize",
- "description": "Maximum per-resource size.",
- "type": "integer"
+ "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": "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": "setExtraHTTPHeaders",
- "description": "Specifies whether to always send extra HTTP headers with the requests from this page.",
+ "name": "removeScriptToEvaluateOnLoad",
+ "description": "Deprecated, please use removeScriptToEvaluateOnNewDocument instead.",
+ "experimental": true,
+ "deprecated": true,
"parameters": [
{
- "name": "headers",
- "description": "Map with extra HTTP headers.",
- "$ref": "Headers"
+ "name": "identifier",
+ "$ref": "ScriptIdentifier"
}
]
},
{
- "name": "setAttachDebugStack",
- "description": "Specifies whether to attach a page script stack id in requests",
- "experimental": true,
+ "name": "removeScriptToEvaluateOnNewDocument",
+ "description": "Removes given script from the list.",
"parameters": [
{
- "name": "enabled",
- "description": "Whether to attach a page script stack for debugging purpose.",
- "type": "boolean"
+ "name": "identifier",
+ "$ref": "ScriptIdentifier"
}
]
},
{
- "name": "setRequestInterception",
- "description": "Sets the requests to intercept that match the provided patterns and optionally resource types.\nDeprecated, please use Fetch.enable instead.",
+ "name": "screencastFrameAck",
+ "description": "Acknowledges that a screencast frame has been received by the frontend.",
"experimental": true,
- "deprecated": true,
"parameters": [
{
- "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": "sessionId",
+ "description": "Frame number.",
+ "type": "integer"
}
]
},
{
- "name": "setUserAgentOverride",
- "description": "Allows overriding user agent with the given string.",
- "redirect": "Emulation",
+ "name": "searchInResource",
+ "description": "Searches for given string in resource content.",
+ "experimental": true,
"parameters": [
{
- "name": "userAgent",
- "description": "User agent to use.",
+ "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": "acceptLanguage",
- "description": "Browser langugage to emulate.",
- "optional": true,
+ "name": "query",
+ "description": "String to search for.",
"type": "string"
},
{
- "name": "platform",
- "description": "The platform navigator.platform should return.",
+ "name": "caseSensitive",
+ "description": "If true, search is case sensitive.",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "userAgentMetadata",
- "description": "To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData",
- "experimental": true,
+ "name": "isRegex",
+ "description": "If true, treats string parameter as regex.",
"optional": true,
- "$ref": "Emulation.UserAgentMetadata"
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "result",
+ "description": "List of search matches.",
+ "type": "array",
+ "items": {
+ "$ref": "Debugger.SearchMatch"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setAdBlockingEnabled",
+ "description": "Enable Chrome's experimental ad filter on all sites.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether to block ads.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setBypassCSP",
+ "description": "Enable page Content Security Policy by-passing.",
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether to bypass page CSP.",
+ "type": "boolean"
}
]
},
{
- "name": "getSecurityIsolationStatus",
- "description": "Returns information about the COEP/COOP isolation status.",
+ "name": "getPermissionsPolicyState",
+ "description": "Get Permissions Policy state on given frame.",
"experimental": true,
"parameters": [
{
"name": "frameId",
- "description": "If no frameId is provided, the status of the target is provided.",
- "optional": true,
- "$ref": "Page.FrameId"
+ "$ref": "FrameId"
}
],
"returns": [
{
- "name": "status",
- "$ref": "SecurityIsolationStatus"
+ "name": "states",
+ "type": "array",
+ "items": {
+ "$ref": "PermissionsPolicyFeatureState"
+ }
}
]
},
{
- "name": "loadNetworkResource",
- "description": "Fetches the resource and returns the content.",
+ "name": "getOriginTrials",
+ "description": "Get Origin Trials on given frame.",
"experimental": true,
"parameters": [
{
"name": "frameId",
- "description": "Frame id to get the resource for.",
- "$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"
+ "$ref": "FrameId"
}
],
"returns": [
{
- "name": "resource",
- "$ref": "LoadNetworkResourcePageResult"
+ "name": "originTrials",
+ "type": "array",
+ "items": {
+ "$ref": "OriginTrial"
+ }
}
]
- }
- ],
- "events": [
+ },
{
- "name": "dataReceived",
- "description": "Fired when data chunk was received over the network.",
+ "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": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "width",
+ "description": "Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
+ "type": "integer"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "height",
+ "description": "Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
+ "type": "integer"
},
{
- "name": "dataLength",
- "description": "Data chunk length.",
+ "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": "encodedDataLength",
- "description": "Actual bytes received (might be less than dataLength for compressed encodings).",
+ "name": "screenHeight",
+ "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
"type": "integer"
- }
- ]
- },
- {
- "name": "eventSourceMessageReceived",
- "description": "Fired when EventSource message is received.",
- "parameters": [
+ },
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "positionX",
+ "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "positionY",
+ "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "eventName",
- "description": "Message type.",
- "type": "string"
+ "name": "dontSetVisibleSize",
+ "description": "Do not set visible view size, rely upon explicit setVisibleSize call.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "eventId",
- "description": "Message identifier.",
- "type": "string"
+ "name": "screenOrientation",
+ "description": "Screen orientation override.",
+ "optional": true,
+ "$ref": "Emulation.ScreenOrientation"
},
{
- "name": "data",
- "description": "Message content.",
- "type": "string"
+ "name": "viewport",
+ "description": "The viewport dimensions and scale. If not set, the override is cleared.",
+ "optional": true,
+ "$ref": "Viewport"
}
]
},
{
- "name": "loadingFailed",
- "description": "Fired when HTTP request has failed to load.",
+ "name": "setDeviceOrientationOverride",
+ "description": "Overrides the Device Orientation.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "DeviceOrientation",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "alpha",
+ "description": "Mock alpha",
+ "type": "number"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "beta",
+ "description": "Mock beta",
+ "type": "number"
},
{
- "name": "type",
- "description": "Resource type.",
- "$ref": "ResourceType"
- },
+ "name": "gamma",
+ "description": "Mock gamma",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "setFontFamilies",
+ "description": "Set generic font families.",
+ "experimental": true,
+ "parameters": [
{
- "name": "errorText",
- "description": "User friendly error message.",
- "type": "string"
+ "name": "fontFamilies",
+ "description": "Specifies font families to set. If a font family is not specified, it won't be changed.",
+ "$ref": "FontFamilies"
},
{
- "name": "canceled",
- "description": "True if loading was canceled.",
+ "name": "forScripts",
+ "description": "Specifies font families to set for individual scripts.",
"optional": true,
- "type": "boolean"
+ "type": "array",
+ "items": {
+ "$ref": "ScriptFontFamilies"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setFontSizes",
+ "description": "Set default font sizes.",
+ "experimental": true,
+ "parameters": [
+ {
+ "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": "blockedReason",
- "description": "The reason why loading was blocked, if any.",
- "optional": true,
- "$ref": "BlockedReason"
+ "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": "corsErrorStatus",
- "description": "The reason why loading was blocked by CORS, if any.",
+ "name": "downloadPath",
+ "description": "The default path to save downloaded files to. This is required if behavior is set to 'allow'",
"optional": true,
- "$ref": "CorsErrorStatus"
+ "type": "string"
}
]
},
{
- "name": "loadingFinished",
- "description": "Fired when HTTP request has finished loading.",
+ "name": "setGeolocationOverride",
+ "description": "Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.",
+ "deprecated": true,
+ "redirect": "Emulation",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "latitude",
+ "description": "Mock latitude",
+ "optional": true,
+ "type": "number"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "longitude",
+ "description": "Mock longitude",
+ "optional": true,
+ "type": "number"
},
{
- "name": "encodedDataLength",
- "description": "Total number of bytes received for this request.",
+ "name": "accuracy",
+ "description": "Mock accuracy",
+ "optional": true,
"type": "number"
- },
+ }
+ ]
+ },
+ {
+ "name": "setLifecycleEventsEnabled",
+ "description": "Controls whether page will emit lifecycle events.",
+ "parameters": [
{
- "name": "shouldReportCorbBlocking",
- "description": "Set when 1) response was blocked by Cross-Origin Read Blocking and also\n2) this needs to be reported to the DevTools console.",
- "optional": true,
+ "name": "enabled",
+ "description": "If true, starts emitting lifecycle events.",
"type": "boolean"
}
]
},
{
- "name": "requestIntercepted",
- "description": "Details of an intercepted HTTP request, which must be either allowed, blocked, modified or\nmocked.\nDeprecated, use Fetch.requestPaused instead.",
+ "name": "setTouchEmulationEnabled",
+ "description": "Toggles mouse event-based touch event emulation.",
"experimental": true,
"deprecated": true,
+ "redirect": "Emulation",
"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"
- },
- {
- "name": "resourceType",
- "description": "How the requested resource will be used.",
- "$ref": "ResourceType"
- },
- {
- "name": "isNavigationRequest",
- "description": "Whether this is a navigation request, which can abort the navigation completely.",
- "type": "boolean"
- },
- {
- "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,
+ "name": "enabled",
+ "description": "Whether the touch event emulation should be enabled.",
"type": "boolean"
},
{
- "name": "redirectUrl",
- "description": "Redirect location, only sent if a redirect was intercepted.",
+ "name": "configuration",
+ "description": "Touch/gesture events configuration. Default: current platform.",
"optional": true,
- "type": "string"
- },
+ "type": "string",
+ "enum": [
+ "mobile",
+ "desktop"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "startScreencast",
+ "description": "Starts sending each frame using the `screencastFrame` event.",
+ "experimental": true,
+ "parameters": [
{
- "name": "authChallenge",
- "description": "Details of the Authorization Challenge encountered. If this is set then\ncontinueInterceptedRequest must contain an authChallengeResponse.",
+ "name": "format",
+ "description": "Image compression format.",
"optional": true,
- "$ref": "AuthChallenge"
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "png"
+ ]
},
{
- "name": "responseErrorReason",
- "description": "Response error if intercepted at response stage or if redirect occurred while intercepting\nrequest.",
+ "name": "quality",
+ "description": "Compression quality from range [0..100].",
"optional": true,
- "$ref": "ErrorReason"
+ "type": "integer"
},
{
- "name": "responseStatusCode",
- "description": "Response code if intercepted at response stage or if redirect occurred while intercepting\nrequest or auth retry occurred.",
+ "name": "maxWidth",
+ "description": "Maximum screenshot width.",
"optional": true,
"type": "integer"
},
{
- "name": "responseHeaders",
- "description": "Response headers if intercepted at the response stage or if redirect occurred while\nintercepting request or auth retry occurred.",
+ "name": "maxHeight",
+ "description": "Maximum screenshot height.",
"optional": true,
- "$ref": "Headers"
+ "type": "integer"
},
{
- "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.",
+ "name": "everyNthFrame",
+ "description": "Send every n-th frame.",
"optional": true,
- "$ref": "RequestId"
+ "type": "integer"
}
]
},
{
- "name": "requestServedFromCache",
- "description": "Fired if request ended up loading from cache.",
+ "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": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "state",
+ "description": "Target lifecycle state",
+ "type": "string",
+ "enum": [
+ "frozen",
+ "active"
+ ]
}
]
},
{
- "name": "requestWillBeSent",
- "description": "Fired when page is about to send HTTP request.",
+ "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": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "loaderId",
- "description": "Loader identifier. Empty string if the request is fetched from worker.",
- "$ref": "LoaderId"
- },
+ "name": "scripts",
+ "type": "array",
+ "items": {
+ "$ref": "CompilationCacheParams"
+ }
+ }
+ ]
+ },
+ {
+ "name": "addCompilationCache",
+ "description": "Seeds compilation cache for given url. Compilation cache does not survive\ncross-process navigation.",
+ "experimental": true,
+ "parameters": [
{
- "name": "documentURL",
- "description": "URL of the document this request is loaded for.",
+ "name": "url",
"type": "string"
},
{
- "name": "request",
- "description": "Request data.",
- "$ref": "Request"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "wallTime",
- "description": "Timestamp.",
- "$ref": "TimeSinceEpoch"
- },
- {
- "name": "initiator",
- "description": "Request initiator.",
- "$ref": "Initiator"
- },
+ "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": "redirectResponse",
- "description": "Redirect response data.",
- "optional": true,
- "$ref": "Response"
- },
+ "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": "type",
- "description": "Type of this resource.",
- "optional": true,
- "$ref": "ResourceType"
- },
+ "name": "mode",
+ "type": "string",
+ "enum": [
+ "none",
+ "autoAccept",
+ "autoReject"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "generateTestReport",
+ "description": "Generates a report for testing.",
+ "experimental": true,
+ "parameters": [
{
- "name": "frameId",
- "description": "Frame identifier.",
- "optional": true,
- "$ref": "Page.FrameId"
+ "name": "message",
+ "description": "Message to be displayed in the report.",
+ "type": "string"
},
{
- "name": "hasUserGesture",
- "description": "Whether the request is initiated by a user gesture. Defaults to false.",
+ "name": "group",
+ "description": "Specifies the endpoint group to deliver the report to.",
"optional": true,
- "type": "boolean"
+ "type": "string"
}
]
},
{
- "name": "resourceChangedPriority",
- "description": "Fired when resource loading priority is changed",
- "experimental": true,
+ "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": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "newPriority",
- "description": "New priority",
- "$ref": "ResourcePriority"
+ "name": "enabled",
+ "type": "boolean"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "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": "signedExchangeReceived",
- "description": "Fired when a signed exchange was received over the network",
+ "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": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "info",
- "description": "Information about the signed exchange response.",
- "$ref": "SignedExchangeInfo"
+ "name": "isAllowed",
+ "type": "boolean"
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "responseReceived",
- "description": "Fired when HTTP response is available.",
+ "name": "domContentEventFired",
"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": "frameId",
- "description": "Frame identifier.",
- "optional": true,
- "$ref": "Page.FrameId"
+ "$ref": "Network.MonotonicTime"
}
]
},
{
- "name": "webSocketClosed",
- "description": "Fired when WebSocket is closed.",
+ "name": "fileChooserOpened",
+ "description": "Emitted only when `page.interceptFileChooser` is enabled.",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "frameId",
+ "description": "Id of the frame containing input node.",
+ "experimental": true,
+ "$ref": "FrameId"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "mode",
+ "description": "Input mode.",
+ "type": "string",
+ "enum": [
+ "selectSingle",
+ "selectMultiple"
+ ]
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Input node id. Only present for file choosers opened via an ` ` element.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "name": "webSocketCreated",
- "description": "Fired upon WebSocket creation.",
+ "name": "frameAttached",
+ "description": "Fired when frame has been attached to its parent.",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "frameId",
+ "description": "Id of the frame that has been attached.",
+ "$ref": "FrameId"
},
{
- "name": "url",
- "description": "WebSocket request URL.",
- "type": "string"
+ "name": "parentFrameId",
+ "description": "Parent frame identifier.",
+ "$ref": "FrameId"
},
{
- "name": "initiator",
- "description": "Request initiator.",
+ "name": "stack",
+ "description": "JavaScript stack trace of when frame was attached, only set if frame initiated from script.",
"optional": true,
- "$ref": "Initiator"
+ "$ref": "Runtime.StackTrace"
}
]
},
{
- "name": "webSocketFrameError",
- "description": "Fired when WebSocket message error occurs.",
+ "name": "frameClearedScheduledNavigation",
+ "description": "Fired when frame no longer has a scheduled navigation.",
+ "deprecated": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "errorMessage",
- "description": "WebSocket error message.",
- "type": "string"
+ "name": "frameId",
+ "description": "Id of the frame that has cleared its scheduled navigation.",
+ "$ref": "FrameId"
}
]
},
{
- "name": "webSocketFrameReceived",
- "description": "Fired when WebSocket message is received.",
+ "name": "frameDetached",
+ "description": "Fired when frame has been detached from its parent.",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "frameId",
+ "description": "Id of the frame that has been detached.",
+ "$ref": "FrameId"
},
{
- "name": "response",
- "description": "WebSocket response data.",
- "$ref": "WebSocketFrame"
+ "name": "reason",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "remove",
+ "swap"
+ ]
}
]
},
{
- "name": "webSocketFrameSent",
- "description": "Fired when WebSocket message is sent.",
+ "name": "frameSubtreeWillBeDetached",
+ "description": "Fired before frame subtree is detached. Emitted before any frame of the\nsubtree is actually detached.",
+ "experimental": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "response",
- "description": "WebSocket response data.",
- "$ref": "WebSocketFrame"
+ "name": "frameId",
+ "description": "Id of the frame that is the root of the subtree that will be detached.",
+ "$ref": "FrameId"
}
]
},
{
- "name": "webSocketHandshakeResponseReceived",
- "description": "Fired when WebSocket handshake response becomes available.",
+ "name": "frameNavigated",
+ "description": "Fired once navigation of the frame has completed. Frame is now associated with the new loader.",
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "frame",
+ "description": "Frame object.",
+ "$ref": "Frame"
},
{
- "name": "response",
- "description": "WebSocket response data.",
- "$ref": "WebSocketResponse"
+ "name": "type",
+ "experimental": true,
+ "$ref": "NavigationType"
}
]
},
{
- "name": "webSocketWillSendHandshakeRequest",
- "description": "Fired when WebSocket is about to initiate handshake.",
+ "name": "documentOpened",
+ "description": "Fired when opening document to write to.",
+ "experimental": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "wallTime",
- "description": "UTC Timestamp.",
- "$ref": "TimeSinceEpoch"
- },
- {
- "name": "request",
- "description": "WebSocket request data.",
- "$ref": "WebSocketRequest"
+ "name": "frame",
+ "description": "Frame object.",
+ "$ref": "Frame"
}
]
},
{
- "name": "webTransportCreated",
- "description": "Fired upon WebTransport creation.",
+ "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": "transportId",
- "description": "WebTransport identifier.",
- "$ref": "RequestId"
+ "name": "frameId",
+ "description": "ID of the frame that is being navigated.",
+ "$ref": "FrameId"
},
{
"name": "url",
- "description": "WebTransport request URL.",
+ "description": "The URL the navigation started with. The final URL can be different.",
"type": "string"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "initiator",
- "description": "Request initiator.",
- "optional": true,
- "$ref": "Initiator"
- }
- ]
- },
- {
- "name": "webTransportClosed",
- "parameters": [
- {
- "name": "transportId",
- "description": "WebTransport identifier.",
- "$ref": "RequestId"
+ "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": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "navigationType",
+ "type": "string",
+ "enum": [
+ "reload",
+ "reloadBypassingCache",
+ "restore",
+ "restoreWithPost",
+ "historySameDocument",
+ "historyDifferentDocument",
+ "sameDocument",
+ "differentDocument"
+ ]
}
]
},
{
- "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": "frameRequestedNavigation",
+ "description": "Fired when a renderer-initiated navigation is requested.\nNavigation may still be cancelled after the event is issued.",
"experimental": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier. Used to match this information to an existing requestWillBeSent event.",
- "$ref": "RequestId"
+ "name": "frameId",
+ "description": "Id of the frame that is being navigated.",
+ "$ref": "FrameId"
},
{
- "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 blockedReason field set.",
- "type": "array",
- "items": {
- "$ref": "BlockedCookieWithReason"
- }
+ "name": "reason",
+ "description": "The reason for the navigation.",
+ "$ref": "ClientNavigationReason"
},
{
- "name": "headers",
- "description": "Raw request headers as they will be sent over the wire.",
- "$ref": "Headers"
+ "name": "url",
+ "description": "The destination URL for the requested navigation.",
+ "type": "string"
},
{
- "name": "clientSecurityState",
- "description": "The client security state set for the request.",
- "optional": true,
- "$ref": "ClientSecurityState"
+ "name": "disposition",
+ "description": "The disposition for the navigation.",
+ "$ref": "ClientNavigationDisposition"
}
]
},
{
- "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": "frameScheduledNavigation",
+ "description": "Fired when frame schedules a potential navigation.",
+ "deprecated": true,
"parameters": [
{
- "name": "requestId",
- "description": "Request identifier. Used to match this information to another responseReceived event.",
- "$ref": "RequestId"
+ "name": "frameId",
+ "description": "Id of the frame that has scheduled a navigation.",
+ "$ref": "FrameId"
},
{
- "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": "delay",
+ "description": "Delay (in seconds) until the navigation is scheduled to begin. The navigation is not\nguaranteed to start.",
+ "type": "number"
},
{
- "name": "headers",
- "description": "Raw response headers as they were received over the wire.",
- "$ref": "Headers"
+ "name": "reason",
+ "description": "The reason for the navigation.",
+ "$ref": "ClientNavigationReason"
},
{
- "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,
+ "name": "url",
+ "description": "The destination URL for the scheduled navigation.",
"type": "string"
}
]
},
{
- "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.",
+ "name": "frameStartedLoading",
+ "description": "Fired when frame has started loading.",
"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",
- "FailedPrecondition",
- "ResourceExhausted",
- "AlreadyExists",
- "Unavailable",
- "BadResponse",
- "InternalError",
- "UnknownError",
- "FulfilledLocally"
- ]
- },
+ "name": "frameId",
+ "description": "Id of the frame that has started loading.",
+ "$ref": "FrameId"
+ }
+ ]
+ },
+ {
+ "name": "frameStoppedLoading",
+ "description": "Fired when frame has stopped loading.",
+ "experimental": true,
+ "parameters": [
{
- "name": "type",
- "$ref": "TrustTokenOperationType"
- },
+ "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": "requestId",
- "$ref": "RequestId"
+ "name": "frameId",
+ "description": "Id of the frame that caused download to begin.",
+ "$ref": "FrameId"
},
{
- "name": "topLevelOrigin",
- "description": "Top level origin. The context in which the operation was attempted.",
- "optional": true,
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
"type": "string"
},
{
- "name": "issuerOrigin",
- "description": "Origin of the issuer in case of a \"Issuance\" or \"Redemption\" operation.",
- "optional": true,
+ "name": "url",
+ "description": "URL of the resource being downloaded.",
"type": "string"
},
{
- "name": "issuedTokenCount",
- "description": "The number of obtained Trust Tokens on a successful \"Issuance\" operation.",
- "optional": true,
- "type": "integer"
- }
- ]
- }
- ]
- },
- {
- "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": "parentOutlineColor",
- "description": "the color to outline the givent element in.",
- "$ref": "DOM.RGBA"
- },
- {
- "name": "childOutlineColor",
- "description": "the color to outline the child elements in.",
- "$ref": "DOM.RGBA"
+ "name": "suggestedFilename",
+ "description": "Suggested file name of the resource (the actual name of the file saved on disk may differ).",
+ "type": "string"
}
]
},
{
- "id": "GridHighlightConfig",
- "description": "Configuration data for the highlighting of Grid elements.",
- "type": "object",
- "properties": [
+ "name": "downloadProgress",
+ "description": "Fired when download makes progress. Last call has |done| == true.\nDeprecated. Use Browser.downloadProgress instead.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
{
- "name": "showGridExtensionLines",
- "description": "Whether the extension lines from grid cells to the rulers should be shown (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "showPositiveLineNumbers",
- "description": "Show Positive line number labels (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "totalBytes",
+ "description": "Total expected bytes to download.",
+ "type": "number"
},
{
- "name": "showNegativeLineNumbers",
- "description": "Show Negative line number labels (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "receivedBytes",
+ "description": "Total bytes received.",
+ "type": "number"
},
{
- "name": "showAreaNames",
- "description": "Show area name labels (default: false).",
- "optional": true,
- "type": "boolean"
- },
+ "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": "showLineNames",
- "description": "Show line name labels (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "frameId",
+ "description": "Frame id.",
+ "experimental": true,
+ "$ref": "FrameId"
},
{
- "name": "showTrackSizes",
- "description": "Show track size labels (default: false).",
- "optional": true,
+ "name": "result",
+ "description": "Whether dialog was confirmed.",
"type": "boolean"
},
{
- "name": "gridBorderColor",
- "description": "The grid container border highlight color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
- },
- {
- "name": "cellBorderColor",
- "description": "The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead.",
- "deprecated": true,
- "optional": true,
- "$ref": "DOM.RGBA"
- },
+ "name": "userInput",
+ "description": "User input in case of prompt.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "javascriptDialogOpening",
+ "description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to\nopen.",
+ "parameters": [
{
- "name": "rowLineColor",
- "description": "The row line color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "url",
+ "description": "Frame url.",
+ "type": "string"
},
{
- "name": "columnLineColor",
- "description": "The column line color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "frameId",
+ "description": "Frame id.",
+ "experimental": true,
+ "$ref": "FrameId"
},
{
- "name": "gridBorderDash",
- "description": "Whether the grid border is dashed (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "message",
+ "description": "Message that will be displayed by the dialog.",
+ "type": "string"
},
{
- "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": "type",
+ "description": "Dialog type.",
+ "$ref": "DialogType"
},
{
- "name": "rowLineDash",
- "description": "Whether row lines are dashed (default: false).",
- "optional": true,
+ "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": "columnLineDash",
- "description": "Whether column lines are dashed (default: false).",
+ "name": "defaultPrompt",
+ "description": "Default dialog prompt.",
"optional": true,
- "type": "boolean"
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "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": "rowGapColor",
- "description": "The row gap highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "loaderId",
+ "description": "Loader identifier. Empty string if the request is fetched from worker.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "rowHatchColor",
- "description": "The row gap hatching fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "name",
+ "type": "string"
},
{
- "name": "columnGapColor",
- "description": "The column gap highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "timestamp",
+ "$ref": "Network.MonotonicTime"
+ }
+ ]
+ },
+ {
+ "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,
+ "parameters": [
+ {
+ "name": "loaderId",
+ "description": "The loader id for the associated navigation.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "columnHatchColor",
- "description": "The column gap hatching fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "frameId",
+ "description": "The frame id of the associated frame.",
+ "$ref": "FrameId"
},
{
- "name": "areaBorderColor",
- "description": "The named grid areas border color (Default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "notRestoredExplanations",
+ "description": "Array of reasons why the page could not be cached. This must not be empty.",
+ "type": "array",
+ "items": {
+ "$ref": "BackForwardCacheNotRestoredExplanation"
+ }
},
{
- "name": "gridBackgroundColor",
- "description": "The grid container background color (Default: transparent).",
+ "name": "notRestoredExplanationsTree",
+ "description": "Tree structure of reasons why the page could not be cached for each frame.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "BackForwardCacheNotRestoredExplanationTree"
}
]
},
{
- "id": "FlexContainerHighlightConfig",
- "description": "Configuration data for the highlighting of Flex container elements.",
- "type": "object",
- "properties": [
+ "name": "loadEventFired",
+ "parameters": [
{
- "name": "containerBorder",
- "description": "The style of the container border",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "timestamp",
+ "$ref": "Network.MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "navigatedWithinDocument",
+ "description": "Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "Id of the frame.",
+ "$ref": "FrameId"
},
{
- "name": "lineSeparator",
- "description": "The style of the separator between lines",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "url",
+ "description": "Frame's new url.",
+ "type": "string"
},
{
- "name": "itemSeparator",
- "description": "The style of the separator between items",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "navigationType",
+ "description": "Navigation type",
+ "type": "string",
+ "enum": [
+ "fragment",
+ "historyApi",
+ "other"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "screencastFrame",
+ "description": "Compressed image data requested by the `startScreencast`.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "data",
+ "description": "Base64-encoded compressed image. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
},
{
- "name": "mainDistributedSpace",
- "description": "Style of content-distribution space on the main axis (justify-content).",
- "optional": true,
- "$ref": "BoxStyle"
+ "name": "metadata",
+ "description": "Screencast frame metadata.",
+ "$ref": "ScreencastFrameMetadata"
},
{
- "name": "crossDistributedSpace",
- "description": "Style of content-distribution space on the cross axis (align-content).",
- "optional": true,
- "$ref": "BoxStyle"
+ "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": "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": "url",
+ "description": "The URL for the new window.",
+ "type": "string"
},
{
- "name": "rowGapSpace",
- "description": "Style of empty space caused by row gaps (gap/row-gap).",
- "optional": true,
- "$ref": "BoxStyle"
+ "name": "windowName",
+ "description": "Window name.",
+ "type": "string"
},
{
- "name": "columnGapSpace",
- "description": "Style of empty space caused by columns gaps (gap/column-gap).",
- "optional": true,
- "$ref": "BoxStyle"
+ "name": "windowFeatures",
+ "description": "An array of enabled window features.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "crossAlignment",
- "description": "Style of the self-alignment line (align-items).",
- "optional": true,
- "$ref": "LineStyle"
+ "name": "userGesture",
+ "description": "Whether or not it was triggered by user gesture.",
+ "type": "boolean"
}
]
},
{
- "id": "LineStyle",
- "description": "Style information for drawing a line.",
+ "name": "compilationCacheProduced",
+ "description": "Issued for every compilation cache generated.",
+ "experimental": true,
+ "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": "Metric",
+ "description": "Run-time execution metric.",
"type": "object",
"properties": [
{
- "name": "color",
- "description": "The color of the line (default: transparent)",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "name",
+ "description": "Metric name.",
+ "type": "string"
},
{
- "name": "pattern",
- "description": "The line pattern (default: solid)",
+ "name": "value",
+ "description": "Metric value.",
+ "type": "number"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disable collecting and reporting metrics."
+ },
+ {
+ "name": "enable",
+ "description": "Enable collecting and reporting metrics.",
+ "parameters": [
+ {
+ "name": "timeDomain",
+ "description": "Time domain to use for collecting and reporting duration metrics.",
"optional": true,
"type": "string",
"enum": [
- "dashed",
- "dotted"
+ "timeTicks",
+ "threadTicks"
+ ]
+ }
+ ]
+ },
+ {
+ "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,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "timeDomain",
+ "description": "Time domain",
+ "type": "string",
+ "enum": [
+ "timeTicks",
+ "threadTicks"
]
}
]
},
{
- "id": "BoxStyle",
- "description": "Style information for drawing a box.",
- "type": "object",
- "properties": [
- {
- "name": "fillColor",
- "description": "The background color for the box (default: transparent)",
- "optional": true,
- "$ref": "DOM.RGBA"
- },
+ "name": "getMetrics",
+ "description": "Retrieve current values of run-time metrics.",
+ "returns": [
{
- "name": "hatchColor",
- "description": "The hatching color for the box (default: transparent)",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "metrics",
+ "description": "Current values for run-time metrics.",
+ "type": "array",
+ "items": {
+ "$ref": "Metric"
+ }
}
]
- },
+ }
+ ],
+ "events": [
{
- "id": "ContrastAlgorithm",
- "type": "string",
- "enum": [
- "aa",
- "aaa",
- "apca"
+ "name": "metrics",
+ "description": "Current values of the metrics.",
+ "parameters": [
+ {
+ "name": "metrics",
+ "description": "Current values of the metrics.",
+ "type": "array",
+ "items": {
+ "$ref": "Metric"
+ }
+ },
+ {
+ "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": "HighlightConfig",
- "description": "Configuration data for the highlighting of page elements.",
+ "id": "LargestContentfulPaint",
+ "description": "See https://github.com/WICG/LargestContentfulPaint and largest_contentful_paint.idl",
"type": "object",
"properties": [
{
- "name": "showInfo",
- "description": "Whether the node info tooltip should be shown (default: false).",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "showStyles",
- "description": "Whether the node styles in the tooltip (default: false).",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "showRulers",
- "description": "Whether the rulers should be shown (default: false).",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "showAccessibilityInfo",
- "description": "Whether the a11y info should be shown (default: true).",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "showExtensionLines",
- "description": "Whether the extension lines from node to the rulers should be shown (default: false).",
- "optional": true,
- "type": "boolean"
- },
- {
- "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": "eventTargetColor",
- "description": "The event target element highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
- },
- {
- "name": "shapeColor",
- "description": "The shape outside fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
- },
- {
- "name": "shapeMarginColor",
- "description": "The shape margin fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "renderTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "cssGridColor",
- "description": "The grid layout color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "loadTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "colorFormat",
- "description": "The color format used to format color styles (default: hex).",
- "optional": true,
- "$ref": "ColorFormat"
+ "name": "size",
+ "description": "The number of pixels being painted.",
+ "type": "number"
},
{
- "name": "gridHighlightConfig",
- "description": "The grid layout highlight configuration (default: all transparent).",
+ "name": "elementId",
+ "description": "The id attribute of the element, if available.",
"optional": true,
- "$ref": "GridHighlightConfig"
+ "type": "string"
},
{
- "name": "flexContainerHighlightConfig",
- "description": "The flex container highlight configuration (default: all transparent).",
+ "name": "url",
+ "description": "The URL of the image (may be trimmed).",
"optional": true,
- "$ref": "FlexContainerHighlightConfig"
+ "type": "string"
},
{
- "name": "contrastAlgorithm",
- "description": "The contrast algorithm to use for the contrast ratio (default: aa).",
+ "name": "nodeId",
"optional": true,
- "$ref": "ContrastAlgorithm"
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "id": "ColorFormat",
- "type": "string",
- "enum": [
- "rgb",
- "hsl",
- "hex"
- ]
- },
- {
- "id": "GridNodeHighlightConfig",
- "description": "Configurations for Persistent Grid Highlight",
+ "id": "LayoutShiftAttribution",
"type": "object",
"properties": [
{
- "name": "gridHighlightConfig",
- "description": "A descriptor for the highlight appearance.",
- "$ref": "GridHighlightConfig"
+ "name": "previousRect",
+ "$ref": "DOM.Rect"
},
{
- "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": "currentRect",
+ "$ref": "DOM.Rect"
},
{
"name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "$ref": "DOM.NodeId"
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "id": "HingeConfig",
- "description": "Configuration for dual screen hinge",
+ "id": "LayoutShift",
+ "description": "See https://wicg.github.io/layout-instability/#sec-layout-shift and layout_shift.idl",
"type": "object",
"properties": [
{
- "name": "rect",
- "description": "A rectangle represent hinge",
- "$ref": "DOM.Rect"
+ "name": "value",
+ "description": "Score increment produced by this event.",
+ "type": "number"
},
{
- "name": "contentColor",
- "description": "The content box highlight fill color (default: a dark color).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "hadRecentInput",
+ "type": "boolean"
},
{
- "name": "outlineColor",
- "description": "The content box highlight outline color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "lastInputTime",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "sources",
+ "type": "array",
+ "items": {
+ "$ref": "LayoutShiftAttribution"
+ }
}
]
},
{
- "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.",
- "parameters": [
+ "id": "TimelineEvent",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Id of the node to get highlight object for.",
- "$ref": "DOM.NodeId"
+ "name": "frameId",
+ "description": "Identifies the frame that this event is related to. Empty for non-frame targets.",
+ "$ref": "Page.FrameId"
},
{
- "name": "includeDistance",
- "description": "Whether to include distance info.",
- "optional": true,
- "type": "boolean"
+ "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": "includeStyle",
- "description": "Whether to include style info.",
- "optional": true,
- "type": "boolean"
+ "name": "name",
+ "description": "Name may be empty depending on the type.",
+ "type": "string"
},
{
- "name": "colorFormat",
- "description": "The color format to get config with (default: hex).",
+ "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,
- "$ref": "ColorFormat"
+ "type": "number"
},
{
- "name": "showAccessibilityInfo",
- "description": "Whether to show accessibility info (default: true).",
+ "name": "lcpDetails",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "$ref": "LargestContentfulPaint"
+ },
{
- "name": "highlight",
- "description": "Highlight data for the node.",
- "type": "object"
+ "name": "layoutShiftDetails",
+ "optional": true,
+ "$ref": "LayoutShift"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "getGridHighlightObjectsForTest",
- "description": "For Persistent Grid testing.",
+ "name": "enable",
+ "description": "Previously buffered events would be reported before method returns.\nSee also: timelineEventAdded",
"parameters": [
{
- "name": "nodeIds",
- "description": "Ids of the node to get highlight object for.",
+ "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": {
- "$ref": "DOM.NodeId"
+ "type": "string"
}
}
- ],
- "returns": [
- {
- "name": "highlights",
- "description": "Grid Highlight data for the node ids provided.",
- "type": "object"
- }
]
- },
+ }
+ ],
+ "events": [
{
- "name": "getSourceOrderHighlightObjectForTest",
- "description": "For Source Order Viewer testing.",
+ "name": "timelineEventAdded",
+ "description": "Sent when a performance timeline event is added. See reportPerformanceTimeline method.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to highlight.",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
- {
- "name": "highlight",
- "description": "Source order highlight data for the node id provided.",
- "type": "object"
+ "name": "event",
+ "$ref": "TimelineEvent"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "Security",
+ "description": "Security",
+ "types": [
+ {
+ "id": "CertificateId",
+ "description": "An internal certificate ID value.",
+ "type": "integer"
},
{
- "name": "hideHighlight",
- "description": "Hides any highlight."
+ "id": "MixedContentType",
+ "description": "A description of mixed content (HTTP resources on HTTPS pages), as defined by\nhttps://www.w3.org/TR/mixed-content/#categories",
+ "type": "string",
+ "enum": [
+ "blockable",
+ "optionally-blockable",
+ "none"
+ ]
},
{
- "name": "highlightFrame",
- "description": "Highlights owner element of the frame with given id.",
- "parameters": [
- {
- "name": "frameId",
- "description": "Identifier of the frame to highlight.",
- "$ref": "Page.FrameId"
- },
- {
- "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"
- }
+ "id": "SecurityState",
+ "description": "The security level of a page or resource.",
+ "type": "string",
+ "enum": [
+ "unknown",
+ "neutral",
+ "insecure",
+ "secure",
+ "info",
+ "insecure-broken"
]
},
{
- "name": "highlightNode",
- "description": "Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or\nobjectId must be specified.",
- "parameters": [
+ "id": "CertificateSecurityState",
+ "description": "Details about the security state of the page certificate.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "highlightConfig",
- "description": "A descriptor for the highlight appearance.",
- "$ref": "HighlightConfig"
+ "name": "protocol",
+ "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
+ "type": "string"
},
{
- "name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "optional": true,
- "$ref": "DOM.NodeId"
+ "name": "keyExchange",
+ "description": "Key Exchange used by the connection, or the empty string if not applicable.",
+ "type": "string"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node to highlight.",
+ "name": "keyExchangeGroup",
+ "description": "(EC)DH group used by the connection, if applicable.",
"optional": true,
- "$ref": "DOM.BackendNodeId"
+ "type": "string"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node to be highlighted.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "name": "cipher",
+ "description": "Cipher name.",
+ "type": "string"
},
{
- "name": "selector",
- "description": "Selectors to highlight relevant nodes.",
+ "name": "mac",
+ "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
"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": "color",
- "description": "The highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "certificate",
+ "description": "Page certificate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "outlineColor",
- "description": "The highlight outline color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
- }
- ]
- },
- {
- "name": "highlightRect",
- "description": "Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.",
- "parameters": [
- {
- "name": "x",
- "description": "X coordinate",
- "type": "integer"
+ "name": "subjectName",
+ "description": "Certificate subject name.",
+ "type": "string"
},
{
- "name": "y",
- "description": "Y coordinate",
- "type": "integer"
+ "name": "issuer",
+ "description": "Name of the issuing CA.",
+ "type": "string"
},
{
- "name": "width",
- "description": "Rectangle width",
- "type": "integer"
+ "name": "validFrom",
+ "description": "Certificate valid from date.",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "height",
- "description": "Rectangle height",
- "type": "integer"
+ "name": "validTo",
+ "description": "Certificate valid to (expiration) date",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "color",
- "description": "The highlight fill color (default: transparent).",
+ "name": "certificateNetworkError",
+ "description": "The highest priority network error code, if the certificate has an error.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "string"
},
{
- "name": "outlineColor",
- "description": "The highlight outline color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
- }
- ]
- },
- {
- "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": "certificateHasWeakSignature",
+ "description": "True if the certificate uses a weak signature algorithm.",
+ "type": "boolean"
+ },
{
- "name": "sourceOrderConfig",
- "description": "A descriptor for the appearance of the overlay drawing.",
- "$ref": "SourceOrderConfig"
+ "name": "certificateHasSha1Signature",
+ "description": "True if the certificate has a SHA1 signature in the chain.",
+ "type": "boolean"
},
{
- "name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "optional": true,
- "$ref": "DOM.NodeId"
+ "name": "modernSSL",
+ "description": "True if modern SSL",
+ "type": "boolean"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node to highlight.",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
+ "name": "obsoleteSslProtocol",
+ "description": "True if the connection is using an obsolete SSL protocol.",
+ "type": "boolean"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node to be highlighted.",
- "optional": true,
- "$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": "obsoleteSslKeyExchange",
+ "description": "True if the connection is using an obsolete SSL key exchange.",
+ "type": "boolean"
+ },
{
- "name": "mode",
- "description": "Set an inspection mode.",
- "$ref": "InspectMode"
+ "name": "obsoleteSslCipher",
+ "description": "True if the connection is using an obsolete SSL cipher.",
+ "type": "boolean"
},
{
- "name": "highlightConfig",
- "description": "A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled\n== false`.",
- "optional": true,
- "$ref": "HighlightConfig"
+ "name": "obsoleteSslSignature",
+ "description": "True if the connection is using an obsolete SSL signature.",
+ "type": "boolean"
}
]
},
{
- "name": "setShowAdHighlights",
- "description": "Highlights owner element of all frames detected to be ads.",
- "parameters": [
- {
- "name": "show",
- "description": "True for showing ad highlights",
- "type": "boolean"
- }
+ "id": "SafetyTipStatus",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "badReputation",
+ "lookalike"
]
},
{
- "name": "setPausedInDebuggerMessage",
- "parameters": [
+ "id": "SafetyTipInfo",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "message",
- "description": "The message to display, also triggers resume and step over controls.",
+ "name": "safetyTipStatus",
+ "description": "Describes whether the page triggers any safety tips or reputation warnings. Default is unknown.",
+ "$ref": "SafetyTipStatus"
+ },
+ {
+ "name": "safeUrl",
+ "description": "The URL the safety tip suggested (\"Did you mean?\"). Only filled in for lookalike matches.",
"optional": true,
"type": "string"
}
]
},
{
- "name": "setShowDebugBorders",
- "description": "Requests that backend shows debug borders on layers",
- "parameters": [
+ "id": "VisibleSecurityState",
+ "description": "Security state information about the page.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "show",
- "description": "True for showing debug borders",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "setShowFPSCounter",
- "description": "Requests that backend shows the FPS counter",
- "parameters": [
+ "name": "securityState",
+ "description": "The security level of the page.",
+ "$ref": "SecurityState"
+ },
{
- "name": "show",
- "description": "True for showing the FPS counter",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "setShowGridOverlays",
- "description": "Highlight multiple elements with the CSS Grid overlay.",
- "parameters": [
+ "name": "certificateSecurityState",
+ "description": "Security state details about the page certificate.",
+ "optional": true,
+ "$ref": "CertificateSecurityState"
+ },
{
- "name": "gridNodeHighlightConfigs",
- "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "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.",
+ "optional": true,
+ "$ref": "SafetyTipInfo"
+ },
+ {
+ "name": "securityStateIssueIds",
+ "description": "Array of security state issues ids.",
"type": "array",
"items": {
- "$ref": "GridNodeHighlightConfig"
+ "type": "string"
}
}
]
},
{
- "name": "setShowFlexOverlays",
- "parameters": [
+ "id": "SecurityStateExplanation",
+ "description": "An explanation of an factor contributing to the security state.",
+ "type": "object",
+ "properties": [
{
- "name": "flexNodeHighlightConfigs",
- "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "name": "securityState",
+ "description": "Security state representing the severity of the factor being explained.",
+ "$ref": "SecurityState"
+ },
+ {
+ "name": "title",
+ "description": "Title describing the type of factor.",
+ "type": "string"
+ },
+ {
+ "name": "summary",
+ "description": "Short phrase describing the type of factor.",
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "description": "Full text explanation of the factor.",
+ "type": "string"
+ },
+ {
+ "name": "mixedContentType",
+ "description": "The type of mixed content described by the explanation.",
+ "$ref": "MixedContentType"
+ },
+ {
+ "name": "certificate",
+ "description": "Page certificate.",
"type": "array",
"items": {
- "$ref": "FlexNodeHighlightConfig"
+ "type": "string"
+ }
+ },
+ {
+ "name": "recommendations",
+ "description": "Recommendations to fix any issues.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
}
}
]
},
{
- "name": "setShowPaintRects",
- "description": "Requests that backend shows paint rectangles",
- "parameters": [
+ "id": "InsecureContentStatus",
+ "description": "Information about insecure content on the page.",
+ "deprecated": true,
+ "type": "object",
+ "properties": [
{
- "name": "result",
- "description": "True for showing paint rectangles",
+ "name": "ranMixedContent",
+ "description": "Always false.",
"type": "boolean"
- }
- ]
- },
- {
- "name": "setShowLayoutShiftRegions",
- "description": "Requests that backend shows layout shift regions",
- "parameters": [
+ },
{
- "name": "result",
- "description": "True for showing layout shift regions",
+ "name": "displayedMixedContent",
+ "description": "Always false.",
"type": "boolean"
- }
- ]
- },
- {
- "name": "setShowScrollBottleneckRects",
- "description": "Requests that backend shows scroll bottleneck rects",
- "parameters": [
+ },
{
- "name": "show",
- "description": "True for showing scroll bottleneck rects",
+ "name": "containedMixedForm",
+ "description": "Always false.",
+ "type": "boolean"
+ },
+ {
+ "name": "ranContentWithCertErrors",
+ "description": "Always false.",
+ "type": "boolean"
+ },
+ {
+ "name": "displayedContentWithCertErrors",
+ "description": "Always false.",
"type": "boolean"
+ },
+ {
+ "name": "ranInsecureContentStyle",
+ "description": "Always set to unknown.",
+ "$ref": "SecurityState"
+ },
+ {
+ "name": "displayedInsecureContentStyle",
+ "description": "Always set to unknown.",
+ "$ref": "SecurityState"
}
]
},
{
- "name": "setShowHitTestBorders",
- "description": "Requests that backend shows hit-test borders on layers",
- "parameters": [
- {
- "name": "show",
- "description": "True for showing hit-test borders",
- "type": "boolean"
- }
+ "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"
]
+ }
+ ],
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disables tracking security state changes."
},
{
- "name": "setShowWebVitals",
- "description": "Request that backend shows an overlay with web vital metrics.",
+ "name": "enable",
+ "description": "Enables tracking security state changes."
+ },
+ {
+ "name": "setIgnoreCertificateErrors",
+ "description": "Enable/disable whether all certificate errors should be ignored.",
"parameters": [
{
- "name": "show",
+ "name": "ignore",
+ "description": "If true, all certificate errors will be ignored.",
"type": "boolean"
}
]
},
{
- "name": "setShowViewportSizeOnResize",
- "description": "Paints viewport size upon main frame resize.",
+ "name": "handleCertificateError",
+ "description": "Handles a certificate error that fired a certificateError event.",
+ "deprecated": true,
"parameters": [
{
- "name": "show",
- "description": "Whether to paint size or not.",
- "type": "boolean"
+ "name": "eventId",
+ "description": "The ID of the event.",
+ "type": "integer"
+ },
+ {
+ "name": "action",
+ "description": "The action to take on the certificate error.",
+ "$ref": "CertificateErrorAction"
}
]
},
{
- "name": "setShowHinge",
- "description": "Add a dual screen device hinge",
+ "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": "hingeConfig",
- "description": "hinge data, null means hideHinge",
- "optional": true,
- "$ref": "HingeConfig"
+ "name": "override",
+ "description": "If true, certificate errors will be overridden.",
+ "type": "boolean"
}
]
}
],
"events": [
{
- "name": "inspectNodeRequested",
- "description": "Fired when the node should be inspected. This happens after call to `setInspectMode` or when\nuser manually inspects an element.",
+ "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,
"parameters": [
{
- "name": "backendNodeId",
- "description": "Id of the node to inspect.",
- "$ref": "DOM.BackendNodeId"
+ "name": "eventId",
+ "description": "The ID of the event.",
+ "type": "integer"
+ },
+ {
+ "name": "errorType",
+ "description": "The type of the error.",
+ "type": "string"
+ },
+ {
+ "name": "requestURL",
+ "description": "The url that was requested.",
+ "type": "string"
}
]
},
{
- "name": "nodeHighlightRequested",
- "description": "Fired when the node should be highlighted. This happens after call to `setInspectMode`.",
+ "name": "visibleSecurityStateChanged",
+ "description": "The security state of the page changed.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
+ "name": "visibleSecurityState",
+ "description": "Security state information about the page.",
+ "$ref": "VisibleSecurityState"
}
]
},
{
- "name": "screenshotRequested",
- "description": "Fired when user asks to capture screenshot of some area on the page.",
+ "name": "securityStateChanged",
+ "description": "The security state of the page changed. No longer being sent.",
+ "deprecated": true,
"parameters": [
{
- "name": "viewport",
- "description": "Viewport to capture, in device independent pixels (dip).",
- "$ref": "Page.Viewport"
+ "name": "securityState",
+ "description": "Security state.",
+ "$ref": "SecurityState"
+ },
+ {
+ "name": "schemeIsCryptographic",
+ "description": "True if the page was loaded over cryptographic transport such as HTTPS.",
+ "deprecated": true,
+ "type": "boolean"
+ },
+ {
+ "name": "explanations",
+ "description": "Previously a list of explanations for the security state. Now always\nempty.",
+ "deprecated": true,
+ "type": "array",
+ "items": {
+ "$ref": "SecurityStateExplanation"
+ }
+ },
+ {
+ "name": "insecureContentStatus",
+ "description": "Information about insecure content on the page.",
+ "deprecated": true,
+ "$ref": "InsecureContentStatus"
+ },
+ {
+ "name": "summary",
+ "description": "Overrides user-visible description of the state. Always omitted.",
+ "deprecated": true,
+ "optional": true,
+ "type": "string"
}
]
- },
- {
- "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.",
+ "domain": "ServiceWorker",
+ "experimental": true,
"dependencies": [
- "Debugger",
- "DOM",
- "IO",
- "Network",
- "Runtime"
+ "Target"
],
"types": [
{
- "id": "FrameId",
- "description": "Unique frame identifier.",
+ "id": "RegistrationID",
"type": "string"
},
{
- "id": "AdFrameType",
- "description": "Indicates whether a frame has been identified as an ad.",
- "experimental": true,
- "type": "string",
- "enum": [
- "none",
- "child",
- "root"
- ]
- },
- {
- "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": "Frame",
- "description": "Information about the Frame on the page.",
+ "id": "ServiceWorkerRegistration",
+ "description": "ServiceWorker registration.",
"type": "object",
"properties": [
{
- "name": "id",
- "description": "Frame unique identifier.",
- "$ref": "FrameId"
- },
- {
- "name": "parentId",
- "description": "Parent frame identifier.",
- "optional": true,
- "type": "string"
- },
- {
- "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": "mimeType",
- "description": "Frame document's mimeType as determined by the browser.",
- "type": "string"
+ "name": "registrationId",
+ "$ref": "RegistrationID"
},
{
- "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,
+ "name": "scopeURL",
"type": "string"
},
{
- "name": "adFrameType",
- "description": "Indicates whether this frame was tagged as an ad.",
- "experimental": true,
- "optional": true,
- "$ref": "AdFrameType"
- },
- {
- "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"
- }
+ "name": "isDeleted",
+ "type": "boolean"
}
]
},
{
- "id": "FrameResource",
- "description": "Information about the Resource on the page.",
- "experimental": true,
+ "id": "ServiceWorkerVersionRunningStatus",
+ "type": "string",
+ "enum": [
+ "stopped",
+ "starting",
+ "running",
+ "stopping"
+ ]
+ },
+ {
+ "id": "ServiceWorkerVersionStatus",
+ "type": "string",
+ "enum": [
+ "new",
+ "installing",
+ "installed",
+ "activating",
+ "activated",
+ "redundant"
+ ]
+ },
+ {
+ "id": "ServiceWorkerVersion",
+ "description": "ServiceWorker version.",
"type": "object",
"properties": [
{
- "name": "url",
- "description": "Resource URL.",
+ "name": "versionId",
"type": "string"
},
{
- "name": "type",
- "description": "Type of this resource.",
- "$ref": "Network.ResourceType"
+ "name": "registrationId",
+ "$ref": "RegistrationID"
},
{
- "name": "mimeType",
- "description": "Resource mimeType as determined by the browser.",
+ "name": "scriptURL",
"type": "string"
},
{
- "name": "lastModified",
- "description": "last-modified timestamp as reported by server.",
+ "name": "runningStatus",
+ "$ref": "ServiceWorkerVersionRunningStatus"
+ },
+ {
+ "name": "status",
+ "$ref": "ServiceWorkerVersionStatus"
+ },
+ {
+ "name": "scriptLastModified",
+ "description": "The Last-Modified header value of the main script.",
"optional": true,
- "$ref": "Network.TimeSinceEpoch"
+ "type": "number"
},
{
- "name": "contentSize",
- "description": "Resource content size.",
+ "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.",
"optional": true,
"type": "number"
},
{
- "name": "failed",
- "description": "True if the resource failed to load.",
+ "name": "controlledClients",
"optional": true,
- "type": "boolean"
+ "type": "array",
+ "items": {
+ "$ref": "Target.TargetID"
+ }
},
{
- "name": "canceled",
- "description": "True if the resource was canceled during loading.",
+ "name": "targetId",
"optional": true,
- "type": "boolean"
+ "$ref": "Target.TargetID"
+ },
+ {
+ "name": "routerRules",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "id": "FrameResourceTree",
- "description": "Information about the Frame hierarchy along with their cached resources.",
- "experimental": true,
+ "id": "ServiceWorkerErrorMessage",
+ "description": "ServiceWorker error message.",
"type": "object",
"properties": [
{
- "name": "frame",
- "description": "Frame information for this tree item.",
- "$ref": "Frame"
+ "name": "errorMessage",
+ "type": "string"
},
{
- "name": "childFrames",
- "description": "Child frames.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "FrameResourceTree"
- }
+ "name": "registrationId",
+ "$ref": "RegistrationID"
},
{
- "name": "resources",
- "description": "Information about frame resources.",
- "type": "array",
- "items": {
- "$ref": "FrameResource"
- }
+ "name": "versionId",
+ "type": "string"
+ },
+ {
+ "name": "sourceURL",
+ "type": "string"
+ },
+ {
+ "name": "lineNumber",
+ "type": "integer"
+ },
+ {
+ "name": "columnNumber",
+ "type": "integer"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "id": "FrameTree",
- "description": "Information about the Frame hierarchy.",
- "type": "object",
- "properties": [
+ "name": "deliverPushMessage",
+ "parameters": [
{
- "name": "frame",
- "description": "Frame information for this tree item.",
- "$ref": "Frame"
+ "name": "origin",
+ "type": "string"
},
{
- "name": "childFrames",
- "description": "Child frames.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "FrameTree"
- }
+ "name": "registrationId",
+ "$ref": "RegistrationID"
+ },
+ {
+ "name": "data",
+ "type": "string"
}
]
},
{
- "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": "disable"
},
{
- "id": "NavigationEntry",
- "description": "Navigation history entry.",
- "type": "object",
- "properties": [
- {
- "name": "id",
- "description": "Unique id of the navigation history entry.",
- "type": "integer"
- },
+ "name": "dispatchSyncEvent",
+ "parameters": [
{
- "name": "url",
- "description": "URL of the navigation history entry.",
+ "name": "origin",
"type": "string"
},
{
- "name": "userTypedURL",
- "description": "URL that the user typed in the url bar.",
- "type": "string"
+ "name": "registrationId",
+ "$ref": "RegistrationID"
},
{
- "name": "title",
- "description": "Title of the navigation history entry.",
+ "name": "tag",
"type": "string"
},
{
- "name": "transitionType",
- "description": "Transition type.",
- "$ref": "TransitionType"
+ "name": "lastChance",
+ "type": "boolean"
}
]
},
{
- "id": "ScreencastFrameMetadata",
- "description": "Screencast frame metadata.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "dispatchPeriodicSyncEvent",
+ "parameters": [
{
- "name": "offsetTop",
- "description": "Top offset in DIP.",
- "type": "number"
+ "name": "origin",
+ "type": "string"
},
{
- "name": "pageScaleFactor",
- "description": "Page scale factor.",
- "type": "number"
+ "name": "registrationId",
+ "$ref": "RegistrationID"
},
{
- "name": "deviceWidth",
- "description": "Device screen width in DIP.",
- "type": "number"
- },
+ "name": "tag",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "enable"
+ },
+ {
+ "name": "setForceUpdateOnPageLoad",
+ "parameters": [
{
- "name": "deviceHeight",
- "description": "Device screen height in DIP.",
- "type": "number"
- },
+ "name": "forceUpdateOnPageLoad",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "skipWaiting",
+ "parameters": [
{
- "name": "scrollOffsetX",
- "description": "Position of horizontal scroll in CSS pixels.",
- "type": "number"
- },
+ "name": "scopeURL",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "startWorker",
+ "parameters": [
{
- "name": "scrollOffsetY",
- "description": "Position of vertical scroll in CSS pixels.",
- "type": "number"
- },
+ "name": "scopeURL",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "stopAllWorkers"
+ },
+ {
+ "name": "stopWorker",
+ "parameters": [
{
- "name": "timestamp",
- "description": "Frame swap timestamp.",
- "optional": true,
- "$ref": "Network.TimeSinceEpoch"
+ "name": "versionId",
+ "type": "string"
}
]
},
{
- "id": "DialogType",
- "description": "Javascript dialog type.",
- "type": "string",
- "enum": [
- "alert",
- "confirm",
- "prompt",
- "beforeunload"
+ "name": "unregister",
+ "parameters": [
+ {
+ "name": "scopeURL",
+ "type": "string"
+ }
]
},
{
- "id": "AppManifestError",
- "description": "Error while paring app manifest.",
- "type": "object",
- "properties": [
+ "name": "updateRegistration",
+ "parameters": [
{
- "name": "message",
- "description": "Error message.",
+ "name": "scopeURL",
"type": "string"
- },
- {
- "name": "critical",
- "description": "If criticial, this is a non-recoverable parse error.",
- "type": "integer"
- },
- {
- "name": "line",
- "description": "Error line.",
- "type": "integer"
- },
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "workerErrorReported",
+ "parameters": [
{
- "name": "column",
- "description": "Error column.",
- "type": "integer"
+ "name": "errorMessage",
+ "$ref": "ServiceWorkerErrorMessage"
}
]
},
{
- "id": "AppManifestParsedProperties",
- "description": "Parsed app manifest properties.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "workerRegistrationUpdated",
+ "parameters": [
{
- "name": "scope",
- "description": "Computed scope value",
- "type": "string"
+ "name": "registrations",
+ "type": "array",
+ "items": {
+ "$ref": "ServiceWorkerRegistration"
+ }
}
]
},
{
- "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": "workerVersionUpdated",
+ "parameters": [
{
- "name": "clientHeight",
- "description": "Height (CSS pixels), excludes scrollbar if present.",
- "type": "integer"
+ "name": "versions",
+ "type": "array",
+ "items": {
+ "$ref": "ServiceWorkerVersion"
+ }
}
]
+ }
+ ]
+ },
+ {
+ "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": "VisualViewport",
- "description": "Visual viewport position, dimensions, and scale.",
+ "id": "UsageForType",
+ "description": "Usage for a storage type.",
"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": "storageType",
+ "description": "Name of storage type.",
+ "$ref": "StorageType"
},
{
- "name": "zoom",
- "description": "Page zoom factor (CSS to device independent pixels ratio).",
- "optional": true,
+ "name": "usage",
+ "description": "Storage usage (bytes).",
"type": "number"
}
]
},
{
- "id": "Viewport",
- "description": "Viewport for capturing screenshot.",
+ "id": "TrustTokens",
+ "description": "Pair of issuer origin and number of available (signed, but not used) Trust\nTokens from that issuer.",
+ "experimental": true,
"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": "issuerOrigin",
+ "type": "string"
},
{
- "name": "scale",
- "description": "Page scale factor.",
+ "name": "count",
"type": "number"
}
]
},
{
- "id": "FontFamilies",
- "description": "Generic font families collection.",
- "experimental": true,
+ "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"
+ ]
+ },
+ {
+ "id": "SharedStorageEntry",
+ "description": "Struct for a single key-value pair in an origin's shared storage.",
"type": "object",
"properties": [
{
- "name": "standard",
- "description": "The standard font-family.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "fixed",
- "description": "The fixed font-family.",
- "optional": true,
+ "name": "key",
"type": "string"
},
{
- "name": "serif",
- "description": "The serif font-family.",
- "optional": true,
+ "name": "value",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "SharedStorageMetadata",
+ "description": "Details for an origin's shared storage.",
+ "type": "object",
+ "properties": [
{
- "name": "sansSerif",
- "description": "The sansSerif font-family.",
- "optional": true,
- "type": "string"
+ "name": "creationTime",
+ "description": "Time when the origin's shared storage was last created.",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "cursive",
- "description": "The cursive font-family.",
- "optional": true,
- "type": "string"
+ "name": "length",
+ "description": "Number of key-value pairs stored in origin's shared storage.",
+ "type": "integer"
},
{
- "name": "fantasy",
- "description": "The fantasy font-family.",
- "optional": true,
- "type": "string"
+ "name": "remainingBudget",
+ "description": "Current amount of bits of entropy remaining in the navigation budget.",
+ "type": "number"
},
{
- "name": "pictograph",
- "description": "The pictograph font-family.",
- "optional": true,
- "type": "string"
+ "name": "bytesUsed",
+ "description": "Total number of bytes stored as key-value pairs in origin's shared\nstorage.",
+ "type": "integer"
}
]
},
{
- "id": "FontSizes",
- "description": "Default font sizes.",
- "experimental": true,
+ "id": "SharedStoragePrivateAggregationConfig",
+ "description": "Represents a dictionary object passed in as privateAggregationConfig to\nrun or selectURL.",
"type": "object",
"properties": [
{
- "name": "standard",
- "description": "Default standard font size.",
+ "name": "aggregationCoordinatorOrigin",
+ "description": "The chosen aggregation service deployment.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "contextId",
+ "description": "The context ID provided.",
"optional": true,
+ "type": "string"
+ },
+ {
+ "name": "filteringIdMaxBytes",
+ "description": "Configures the maximum size allowed for filtering IDs.",
"type": "integer"
},
{
- "name": "fixed",
- "description": "Default fixed font size.",
+ "name": "maxContributions",
+ "description": "The limit on the number of contributions in the final report.",
"optional": true,
"type": "integer"
}
]
},
{
- "id": "ClientNavigationReason",
- "experimental": true,
- "type": "string",
- "enum": [
- "formSubmissionGet",
- "formSubmissionPost",
- "httpHeaderRefresh",
- "scriptInitiated",
- "metaTagRefresh",
- "pageBlockInterstitial",
- "reload",
- "anchorClick"
- ]
- },
- {
- "id": "ClientNavigationDisposition",
- "experimental": true,
- "type": "string",
- "enum": [
- "currentTab",
- "newTab",
- "newWindow",
- "download"
- ]
- },
- {
- "id": "InstallabilityErrorArgument",
- "experimental": true,
+ "id": "SharedStorageReportingMetadata",
+ "description": "Pair of reporting metadata details for a candidate URL for `selectURL()`.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Argument name (e.g. name:'minimum-icon-size-in-pixels').",
+ "name": "eventType",
"type": "string"
},
{
- "name": "value",
- "description": "Argument value (e.g. value:'64').",
+ "name": "reportingUrl",
"type": "string"
}
]
},
{
- "id": "InstallabilityError",
- "description": "The installability error",
- "experimental": true,
+ "id": "SharedStorageUrlWithMetadata",
+ "description": "Bundles a candidate URL with its reporting metadata.",
"type": "object",
"properties": [
{
- "name": "errorId",
- "description": "The error id (e.g. 'manifest-missing-suitable-icon').",
+ "name": "url",
+ "description": "Spec of candidate URL.",
"type": "string"
},
{
- "name": "errorArguments",
- "description": "The list of error arguments (e.g. {name:'minimum-icon-size-in-pixels', value:'64'}).",
+ "name": "reportingMetadata",
+ "description": "Any associated reporting metadata.",
"type": "array",
"items": {
- "$ref": "InstallabilityErrorArgument"
+ "$ref": "SharedStorageReportingMetadata"
}
}
]
},
{
- "id": "ReferrerPolicy",
- "description": "The referring-policy used for the navigation.",
- "experimental": true,
- "type": "string",
- "enum": [
- "noReferrer",
- "noReferrerWhenDowngrade",
- "origin",
- "originWhenCrossOrigin",
- "sameOrigin",
- "strictOrigin",
- "strictOriginWhenCrossOrigin",
- "unsafeUrl"
- ]
- }
- ],
- "commands": [
- {
- "name": "addScriptToEvaluateOnLoad",
- "description": "Deprecated, please use addScriptToEvaluateOnNewDocument instead.",
- "experimental": true,
- "deprecated": true,
- "parameters": [
+ "id": "SharedStorageAccessParams",
+ "description": "Bundles the parameters for shared storage access events whose\npresence/absence can vary according to SharedStorageAccessType.",
+ "type": "object",
+ "properties": [
{
- "name": "scriptSource",
+ "name": "scriptSourceUrl",
+ "description": "Spec of the module script URL.\nPresent only for SharedStorageAccessMethods: addModule and\ncreateWorklet.",
+ "optional": true,
"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": "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.",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "source",
+ "name": "operationName",
+ "description": "Name of the registered operation to be run.\nPresent only for SharedStorageAccessMethods: run and selectURL.",
+ "optional": true,
"type": "string"
},
{
- "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": "operationId",
+ "description": "ID of the operation call.\nPresent only for SharedStorageAccessMethods: run and selectURL.",
"optional": true,
"type": "string"
- }
- ],
- "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": "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,
+ "type": "boolean"
+ },
{
- "name": "format",
- "description": "Image compression format (defaults to png).",
+ "name": "privateAggregationConfig",
+ "description": "Configures the private aggregation options.\nPresent only for SharedStorageAccessMethods: run and selectURL.",
"optional": true,
- "type": "string",
- "enum": [
- "jpeg",
- "png"
- ]
+ "$ref": "SharedStoragePrivateAggregationConfig"
},
{
- "name": "quality",
- "description": "Compression quality from range [0..100] (jpeg only).",
+ "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": "integer"
+ "type": "string"
},
{
- "name": "clip",
- "description": "Capture the screenshot of a given region only.",
+ "name": "urlsWithMetadata",
+ "description": "Array of candidate URLs' specs, along with any associated metadata.\nPresent only for SharedStorageAccessMethod: selectURL.",
"optional": true,
- "$ref": "Viewport"
+ "type": "array",
+ "items": {
+ "$ref": "SharedStorageUrlWithMetadata"
+ }
},
{
- "name": "fromSurface",
- "description": "Capture the screenshot from the surface, rather than the view. Defaults to true.",
- "experimental": true,
+ "name": "urnUuid",
+ "description": "Spec of the URN:UUID generated for a selectURL call.\nPresent only for SharedStorageAccessMethod: selectURL.",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "captureBeyondViewport",
- "description": "Capture the screenshot beyond the viewport. Defaults to false.",
- "experimental": true,
+ "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": "boolean"
- }
- ],
- "returns": [
+ "type": "string"
+ },
{
- "name": "data",
- "description": "Base64-encoded image data. (Encoded as a base64 string when passed over JSON)",
+ "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": "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).",
+ "name": "ignoreIfPresent",
+ "description": "Whether or not to set an entry for a key if that key is already present.\nPresent only for SharedStorageAccessMethod: set.",
"optional": true,
- "type": "string",
- "enum": [
- "mhtml"
- ]
- }
- ],
- "returns": [
+ "type": "boolean"
+ },
{
- "name": "data",
- "description": "Serialized page data.",
+ "name": "workletOrdinal",
+ "description": "A number denoting the (0-based) 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.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "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": "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": "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": "batchSize",
+ "description": "Number of modifier methods sent in batch.\nPresent only for SharedStorageAccessMethod: batchUpdate.",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "clearDeviceMetricsOverride",
- "description": "Clears the overriden device metrics.",
- "experimental": true,
- "deprecated": true,
- "redirect": "Emulation"
- },
- {
- "name": "clearDeviceOrientationOverride",
- "description": "Clears the overridden Device Orientation.",
- "experimental": true,
- "deprecated": true,
- "redirect": "DeviceOrientation"
+ "id": "StorageBucketsDurability",
+ "type": "string",
+ "enum": [
+ "relaxed",
+ "strict"
+ ]
},
{
- "name": "clearGeolocationOverride",
- "description": "Clears the overriden Geolocation Position and Error.",
- "deprecated": true,
- "redirect": "Emulation"
+ "id": "StorageBucket",
+ "type": "object",
+ "properties": [
+ {
+ "name": "storageKey",
+ "$ref": "SerializedStorageKey"
+ },
+ {
+ "name": "name",
+ "description": "If not specified, it is the default bucket of the storageKey.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
},
{
- "name": "createIsolatedWorld",
- "description": "Creates an isolated world for the given frame.",
- "parameters": [
+ "id": "StorageBucketInfo",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Id of the frame in which the isolated world should be created.",
- "$ref": "FrameId"
+ "name": "bucket",
+ "$ref": "StorageBucket"
},
{
- "name": "worldName",
- "description": "An optional name which is reported in the Execution Context.",
- "optional": true,
+ "name": "id",
"type": "string"
},
{
- "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": "expiration",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "quota",
+ "description": "Storage quota (bytes).",
+ "type": "number"
+ },
{
- "name": "executionContextId",
- "description": "Execution context of the isolated world.",
- "$ref": "Runtime.ExecutionContextId"
+ "name": "persistent",
+ "type": "boolean"
+ },
+ {
+ "name": "durability",
+ "$ref": "StorageBucketsDurability"
}
]
},
{
- "name": "deleteCookie",
- "description": "Deletes browser cookie with given name, domain and path.",
+ "id": "AttributionReportingSourceType",
"experimental": true,
- "deprecated": true,
- "redirect": "Network",
- "parameters": [
- {
- "name": "cookieName",
- "description": "Name of the cookie to remove.",
- "type": "string"
- },
- {
- "name": "url",
- "description": "URL to match cooke domain and path.",
- "type": "string"
- }
+ "type": "string",
+ "enum": [
+ "navigation",
+ "event"
]
},
{
- "name": "disable",
- "description": "Disables page domain notifications."
+ "id": "UnsignedInt64AsBase10",
+ "experimental": true,
+ "type": "string"
},
{
- "name": "enable",
- "description": "Enables page domain notifications."
+ "id": "UnsignedInt128AsBase16",
+ "experimental": true,
+ "type": "string"
},
{
- "name": "getAppManifest",
- "returns": [
+ "id": "SignedInt64AsBase10",
+ "experimental": true,
+ "type": "string"
+ },
+ {
+ "id": "AttributionReportingFilterDataEntry",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "url",
- "description": "Manifest location.",
+ "name": "key",
"type": "string"
},
{
- "name": "errors",
+ "name": "values",
"type": "array",
"items": {
- "$ref": "AppManifestError"
+ "type": "string"
}
- },
+ }
+ ]
+ },
+ {
+ "id": "AttributionReportingFilterConfig",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "data",
- "description": "Manifest content.",
- "optional": true,
- "type": "string"
+ "name": "filterValues",
+ "type": "array",
+ "items": {
+ "$ref": "AttributionReportingFilterDataEntry"
+ }
},
{
- "name": "parsed",
- "description": "Parsed manifest properties",
- "experimental": true,
+ "name": "lookbackWindow",
+ "description": "duration in seconds",
"optional": true,
- "$ref": "AppManifestParsedProperties"
+ "type": "integer"
}
]
},
{
- "name": "getInstallabilityErrors",
+ "id": "AttributionReportingFilterPair",
"experimental": true,
- "returns": [
+ "type": "object",
+ "properties": [
{
- "name": "installabilityErrors",
+ "name": "filters",
"type": "array",
"items": {
- "$ref": "InstallabilityError"
+ "$ref": "AttributionReportingFilterConfig"
+ }
+ },
+ {
+ "name": "notFilters",
+ "type": "array",
+ "items": {
+ "$ref": "AttributionReportingFilterConfig"
}
}
]
},
{
- "name": "getManifestIcons",
+ "id": "AttributionReportingAggregationKeysEntry",
"experimental": true,
- "returns": [
+ "type": "object",
+ "properties": [
{
- "name": "primaryIcon",
- "optional": true,
+ "name": "key",
"type": "string"
+ },
+ {
+ "name": "value",
+ "$ref": "UnsignedInt128AsBase16"
}
]
},
{
- "name": "getCookies",
- "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.",
+ "id": "AttributionReportingEventReportWindows",
"experimental": true,
- "deprecated": true,
- "redirect": "Network",
- "returns": [
+ "type": "object",
+ "properties": [
{
- "name": "cookies",
- "description": "Array of cookie objects.",
+ "name": "start",
+ "description": "duration in seconds",
+ "type": "integer"
+ },
+ {
+ "name": "ends",
+ "description": "duration in seconds",
"type": "array",
"items": {
- "$ref": "Network.Cookie"
+ "type": "integer"
}
}
]
},
{
- "name": "getFrameTree",
- "description": "Returns present frame tree structure.",
- "returns": [
- {
- "name": "frameTree",
- "description": "Present frame tree structure.",
- "$ref": "FrameTree"
- }
+ "id": "AttributionReportingTriggerDataMatching",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "exact",
+ "modulus"
]
},
{
- "name": "getLayoutMetrics",
- "description": "Returns metrics relating to the layouting of the page, such as viewport bounds/scale.",
- "returns": [
+ "id": "AttributionReportingAggregatableDebugReportingData",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "layoutViewport",
- "description": "Metrics relating to the layout viewport.",
- "$ref": "LayoutViewport"
+ "name": "keyPiece",
+ "$ref": "UnsignedInt128AsBase16"
},
{
- "name": "visualViewport",
- "description": "Metrics relating to the visual viewport.",
- "$ref": "VisualViewport"
+ "name": "value",
+ "description": "number instead of integer because not all uint32 can be represented by\nint",
+ "type": "number"
},
{
- "name": "contentSize",
- "description": "Size of scrollable area.",
- "$ref": "DOM.Rect"
+ "name": "types",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "getNavigationHistory",
- "description": "Returns navigation history for the current page.",
- "returns": [
+ "id": "AttributionReportingAggregatableDebugReportingConfig",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "currentIndex",
- "description": "Index of the current navigation history entry.",
- "type": "integer"
+ "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": "entries",
- "description": "Array of navigation history entries.",
+ "name": "keyPiece",
+ "$ref": "UnsignedInt128AsBase16"
+ },
+ {
+ "name": "debugData",
"type": "array",
"items": {
- "$ref": "NavigationEntry"
+ "$ref": "AttributionReportingAggregatableDebugReportingData"
}
+ },
+ {
+ "name": "aggregationCoordinatorOrigin",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "resetNavigationHistory",
- "description": "Resets navigation history for the current page."
+ "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": "maxEventStates",
+ "type": "number"
+ }
+ ]
},
{
- "name": "getResourceContent",
- "description": "Returns content of the given resource.",
+ "id": "AttributionReportingNamedBudgetDef",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Frame id to get resource for.",
- "$ref": "FrameId"
+ "name": "name",
+ "type": "string"
},
{
- "name": "url",
- "description": "URL of the resource to get content for.",
- "type": "string"
+ "name": "budget",
+ "type": "integer"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "AttributionReportingSourceRegistration",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "content",
- "description": "Resource content.",
+ "name": "time",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "expiry",
+ "description": "duration in seconds",
+ "type": "integer"
+ },
+ {
+ "name": "triggerData",
+ "description": "number instead of integer because not all uint32 can be represented by\nint",
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ {
+ "name": "eventReportWindows",
+ "$ref": "AttributionReportingEventReportWindows"
+ },
+ {
+ "name": "aggregatableReportWindow",
+ "description": "duration in seconds",
+ "type": "integer"
+ },
+ {
+ "name": "type",
+ "$ref": "AttributionReportingSourceType"
+ },
+ {
+ "name": "sourceOrigin",
"type": "string"
},
{
- "name": "base64Encoded",
- "description": "True, if content was served as base64.",
+ "name": "reportingOrigin",
+ "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"
}
]
},
{
- "name": "getResourceTree",
- "description": "Returns present frame / resource tree structure.",
+ "id": "AttributionReportingSourceRegistrationResult",
"experimental": true,
- "returns": [
- {
- "name": "frameTree",
- "description": "Present frame / resource tree structure.",
- "$ref": "FrameResourceTree"
- }
+ "type": "string",
+ "enum": [
+ "success",
+ "internalError",
+ "insufficientSourceCapacity",
+ "insufficientUniqueDestinationCapacity",
+ "excessiveReportingOrigins",
+ "prohibitedByBrowserPolicy",
+ "successNoised",
+ "destinationReportingLimitReached",
+ "destinationGlobalLimitReached",
+ "destinationBothLimitsReached",
+ "reportingOriginsPerSiteLimitReached",
+ "exceedsMaxChannelCapacity",
+ "exceedsMaxScopesChannelCapacity",
+ "exceedsMaxTriggerStateCardinality",
+ "exceedsMaxEventStatesLimit",
+ "destinationPerDayReportingLimitReached"
+ ]
+ },
+ {
+ "id": "AttributionReportingSourceRegistrationTimeConfig",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "include",
+ "exclude"
]
},
{
- "name": "handleJavaScriptDialog",
- "description": "Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).",
- "parameters": [
+ "id": "AttributionReportingAggregatableValueDictEntry",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "accept",
- "description": "Whether to accept or dismiss the dialog.",
- "type": "boolean"
+ "name": "key",
+ "type": "string"
},
{
- "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": "value",
+ "description": "number instead of integer because not all uint32 can be represented by\nint",
+ "type": "number"
+ },
+ {
+ "name": "filteringId",
+ "$ref": "UnsignedInt64AsBase10"
}
]
},
{
- "name": "navigate",
- "description": "Navigates current page to the given URL.",
- "parameters": [
+ "id": "AttributionReportingAggregatableValueEntry",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "url",
- "description": "URL to navigate the page to.",
- "type": "string"
+ "name": "values",
+ "type": "array",
+ "items": {
+ "$ref": "AttributionReportingAggregatableValueDictEntry"
+ }
},
{
- "name": "referrer",
- "description": "Referrer URL.",
- "optional": true,
- "type": "string"
+ "name": "filters",
+ "$ref": "AttributionReportingFilterPair"
+ }
+ ]
+ },
+ {
+ "id": "AttributionReportingEventTriggerData",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "data",
+ "$ref": "UnsignedInt64AsBase10"
},
{
- "name": "transitionType",
- "description": "Intended transition type.",
- "optional": true,
- "$ref": "TransitionType"
+ "name": "priority",
+ "$ref": "SignedInt64AsBase10"
},
{
- "name": "frameId",
- "description": "Frame id to navigate, if not specified navigates the top frame.",
+ "name": "dedupKey",
"optional": true,
- "$ref": "FrameId"
+ "$ref": "UnsignedInt64AsBase10"
},
{
- "name": "referrerPolicy",
- "description": "Referrer-policy used for the navigation.",
- "experimental": true,
- "optional": true,
- "$ref": "ReferrerPolicy"
+ "name": "filters",
+ "$ref": "AttributionReportingFilterPair"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "AttributionReportingAggregatableTriggerData",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Frame id that has navigated (or failed to navigate)",
- "$ref": "FrameId"
+ "name": "keyPiece",
+ "$ref": "UnsignedInt128AsBase16"
},
{
- "name": "loaderId",
- "description": "Loader identifier.",
- "optional": true,
- "$ref": "Network.LoaderId"
+ "name": "sourceKeys",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "errorText",
- "description": "User friendly error message, present if and only if navigation has failed.",
- "optional": true,
- "type": "string"
+ "name": "filters",
+ "$ref": "AttributionReportingFilterPair"
}
]
},
{
- "name": "navigateToHistoryEntry",
- "description": "Navigates current page to the given history entry.",
- "parameters": [
+ "id": "AttributionReportingAggregatableDedupKey",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "entryId",
- "description": "Unique id of the entry to navigate to.",
- "type": "integer"
+ "name": "dedupKey",
+ "optional": true,
+ "$ref": "UnsignedInt64AsBase10"
+ },
+ {
+ "name": "filters",
+ "$ref": "AttributionReportingFilterPair"
}
]
},
{
- "name": "printToPDF",
- "description": "Print page as PDF.",
- "parameters": [
+ "id": "AttributionReportingNamedBudgetCandidate",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "landscape",
- "description": "Paper orientation. Defaults to false.",
+ "name": "name",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "displayHeaderFooter",
- "description": "Display header and footer. Defaults to false.",
- "optional": true,
- "type": "boolean"
- },
+ "name": "filters",
+ "$ref": "AttributionReportingFilterPair"
+ }
+ ]
+ },
+ {
+ "id": "AttributionReportingTriggerRegistration",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "printBackground",
- "description": "Print background graphics. Defaults to false.",
- "optional": true,
- "type": "boolean"
+ "name": "filters",
+ "$ref": "AttributionReportingFilterPair"
},
{
- "name": "scale",
- "description": "Scale of the webpage rendering. Defaults to 1.",
+ "name": "debugKey",
"optional": true,
- "type": "number"
+ "$ref": "UnsignedInt64AsBase10"
},
{
- "name": "paperWidth",
- "description": "Paper width in inches. Defaults to 8.5 inches.",
- "optional": true,
- "type": "number"
+ "name": "aggregatableDedupKeys",
+ "type": "array",
+ "items": {
+ "$ref": "AttributionReportingAggregatableDedupKey"
+ }
},
{
- "name": "paperHeight",
- "description": "Paper height in inches. Defaults to 11 inches.",
- "optional": true,
- "type": "number"
+ "name": "eventTriggerData",
+ "type": "array",
+ "items": {
+ "$ref": "AttributionReportingEventTriggerData"
+ }
},
{
- "name": "marginTop",
- "description": "Top margin in inches. Defaults to 1cm (~0.4 inches).",
- "optional": true,
- "type": "number"
+ "name": "aggregatableTriggerData",
+ "type": "array",
+ "items": {
+ "$ref": "AttributionReportingAggregatableTriggerData"
+ }
},
{
- "name": "marginBottom",
- "description": "Bottom margin in inches. Defaults to 1cm (~0.4 inches).",
- "optional": true,
- "type": "number"
+ "name": "aggregatableValues",
+ "type": "array",
+ "items": {
+ "$ref": "AttributionReportingAggregatableValueEntry"
+ }
},
{
- "name": "marginLeft",
- "description": "Left margin in inches. Defaults to 1cm (~0.4 inches).",
- "optional": true,
- "type": "number"
+ "name": "aggregatableFilteringIdMaxBytes",
+ "type": "integer"
},
{
- "name": "marginRight",
- "description": "Right margin in inches. Defaults to 1cm (~0.4 inches).",
- "optional": true,
- "type": "number"
+ "name": "debugReporting",
+ "type": "boolean"
},
{
- "name": "pageRanges",
- "description": "Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means\nprint all pages.",
+ "name": "aggregationCoordinatorOrigin",
"optional": true,
"type": "string"
},
{
- "name": "ignoreInvalidPageRanges",
- "description": "Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'.\nDefaults to false.",
- "optional": true,
- "type": "boolean"
- },
- {
- "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": "sourceRegistrationTimeConfig",
+ "$ref": "AttributionReportingSourceRegistrationTimeConfig"
},
{
- "name": "footerTemplate",
- "description": "HTML template for the print footer. Should use the same format as the `headerTemplate`.",
+ "name": "triggerContextId",
"optional": true,
"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": "aggregatableDebugReportingConfig",
+ "$ref": "AttributionReportingAggregatableDebugReportingConfig"
},
{
- "name": "transferMode",
- "description": "return as stream",
- "experimental": true,
- "optional": true,
- "type": "string",
- "enum": [
- "ReturnAsBase64",
- "ReturnAsStream"
- ]
- }
- ],
- "returns": [
- {
- "name": "data",
- "description": "Base64-encoded pdf data. Empty if |returnAsStream| is specified. (Encoded as a base64 string when passed over JSON)",
- "type": "string"
+ "name": "scopes",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "stream",
- "description": "A handle of the stream that holds resulting PDF data.",
- "experimental": true,
- "optional": true,
- "$ref": "IO.StreamHandle"
+ "name": "namedBudgets",
+ "type": "array",
+ "items": {
+ "$ref": "AttributionReportingNamedBudgetCandidate"
+ }
}
]
},
{
- "name": "reload",
- "description": "Reloads given page optionally ignoring the cache.",
- "parameters": [
+ "id": "AttributionReportingEventLevelResult",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "success",
+ "successDroppedLowerPriority",
+ "internalError",
+ "noCapacityForAttributionDestination",
+ "noMatchingSources",
+ "deduplicated",
+ "excessiveAttributions",
+ "priorityTooLow",
+ "neverAttributedSource",
+ "excessiveReportingOrigins",
+ "noMatchingSourceFilterData",
+ "prohibitedByBrowserPolicy",
+ "noMatchingConfigurations",
+ "excessiveReports",
+ "falselyAttributedSource",
+ "reportWindowPassed",
+ "notRegistered",
+ "reportWindowNotStarted",
+ "noMatchingTriggerData"
+ ]
+ },
+ {
+ "id": "AttributionReportingAggregatableResult",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "success",
+ "internalError",
+ "noCapacityForAttributionDestination",
+ "noMatchingSources",
+ "excessiveAttributions",
+ "excessiveReportingOrigins",
+ "noHistograms",
+ "insufficientBudget",
+ "insufficientNamedBudget",
+ "noMatchingSourceFilterData",
+ "notRegistered",
+ "prohibitedByBrowserPolicy",
+ "deduplicated",
+ "reportWindowPassed",
+ "excessiveReports"
+ ]
+ },
+ {
+ "id": "AttributionReportingReportResult",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "sent",
+ "prohibited",
+ "failedToAssemble",
+ "expired"
+ ]
+ },
+ {
+ "id": "RelatedWebsiteSet",
+ "description": "A single Related Website Set object.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "ignoreCache",
- "description": "If true, browser cache is ignored (as if the user pressed Shift+refresh).",
- "optional": true,
- "type": "boolean"
+ "name": "primarySites",
+ "description": "The primary site of this set, along with the ccTLDs if there is any.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "associatedSites",
+ "description": "The associated sites of this set, along with the ccTLDs if there is any.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "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": "serviceSites",
+ "description": "The service sites of this set, along with the ccTLDs if there is any.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "removeScriptToEvaluateOnLoad",
- "description": "Deprecated, please use removeScriptToEvaluateOnNewDocument instead.",
- "experimental": true,
- "deprecated": true,
+ "name": "getStorageKeyForFrame",
+ "description": "Returns a storage key given a frame id.",
"parameters": [
{
- "name": "identifier",
- "$ref": "ScriptIdentifier"
+ "name": "frameId",
+ "$ref": "Page.FrameId"
}
- ]
- },
- {
- "name": "removeScriptToEvaluateOnNewDocument",
- "description": "Removes given script from the list.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "identifier",
- "$ref": "ScriptIdentifier"
+ "name": "storageKey",
+ "$ref": "SerializedStorageKey"
}
]
},
{
- "name": "screencastFrameAck",
- "description": "Acknowledges that a screencast frame has been received by the frontend.",
- "experimental": true,
+ "name": "clearDataForOrigin",
+ "description": "Clears storage for origin.",
"parameters": [
{
- "name": "sessionId",
- "description": "Frame number.",
- "type": "integer"
+ "name": "origin",
+ "description": "Security origin.",
+ "type": "string"
+ },
+ {
+ "name": "storageTypes",
+ "description": "Comma separated list of StorageType to clear.",
+ "type": "string"
}
]
},
{
- "name": "searchInResource",
- "description": "Searches for given string in resource content.",
- "experimental": true,
+ "name": "clearDataForStorageKey",
+ "description": "Clears storage for storage key.",
"parameters": [
{
- "name": "frameId",
- "description": "Frame id for resource to search in.",
- "$ref": "FrameId"
- },
- {
- "name": "url",
- "description": "URL of the resource to search in.",
+ "name": "storageKey",
+ "description": "Storage key.",
"type": "string"
},
{
- "name": "query",
- "description": "String to search for.",
+ "name": "storageTypes",
+ "description": "Comma separated list of StorageType to clear.",
"type": "string"
- },
- {
- "name": "caseSensitive",
- "description": "If true, search is case sensitive.",
- "optional": true,
- "type": "boolean"
- },
+ }
+ ]
+ },
+ {
+ "name": "getCookies",
+ "description": "Returns all browser cookies.",
+ "parameters": [
{
- "name": "isRegex",
- "description": "If true, treats string parameter as regex.",
+ "name": "browserContextId",
+ "description": "Browser context to use when called on the browser endpoint.",
"optional": true,
- "type": "boolean"
+ "$ref": "Browser.BrowserContextID"
}
],
"returns": [
{
- "name": "result",
- "description": "List of search matches.",
+ "name": "cookies",
+ "description": "Array of cookie objects.",
"type": "array",
"items": {
- "$ref": "Debugger.SearchMatch"
+ "$ref": "Network.Cookie"
}
}
]
},
{
- "name": "setAdBlockingEnabled",
- "description": "Enable Chrome's experimental ad filter on all sites.",
- "experimental": true,
+ "name": "setCookies",
+ "description": "Sets given cookies.",
"parameters": [
{
- "name": "enabled",
- "description": "Whether to block ads.",
- "type": "boolean"
+ "name": "cookies",
+ "description": "Cookies to be set.",
+ "type": "array",
+ "items": {
+ "$ref": "Network.CookieParam"
+ }
+ },
+ {
+ "name": "browserContextId",
+ "description": "Browser context to use when called on the browser endpoint.",
+ "optional": true,
+ "$ref": "Browser.BrowserContextID"
}
]
},
{
- "name": "setBypassCSP",
- "description": "Enable page Content Security Policy by-passing.",
- "experimental": true,
+ "name": "clearCookies",
+ "description": "Clears cookies.",
"parameters": [
{
- "name": "enabled",
- "description": "Whether to bypass page CSP.",
- "type": "boolean"
+ "name": "browserContextId",
+ "description": "Browser context to use when called on the browser endpoint.",
+ "optional": true,
+ "$ref": "Browser.BrowserContextID"
}
]
},
{
- "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",
+ "name": "getUsageAndQuota",
+ "description": "Returns usage and quota in bytes.",
"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"
- },
+ "name": "origin",
+ "description": "Security origin.",
+ "type": "string"
+ }
+ ],
+ "returns": [
{
- "name": "deviceScaleFactor",
- "description": "Overriding device scale factor value. 0 disables the override.",
+ "name": "usage",
+ "description": "Storage usage (bytes).",
"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,
+ "name": "quota",
+ "description": "Storage quota (bytes).",
"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,
+ "name": "overrideActive",
+ "description": "Whether or not the origin has an active storage quota override",
"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": "usageBreakdown",
+ "description": "Storage usage per type (bytes).",
+ "type": "array",
+ "items": {
+ "$ref": "UsageForType"
+ }
}
]
},
{
- "name": "setDeviceOrientationOverride",
- "description": "Overrides the Device Orientation.",
+ "name": "overrideQuotaForOrigin",
+ "description": "Override quota for the specified origin",
"experimental": true,
- "deprecated": true,
- "redirect": "DeviceOrientation",
"parameters": [
{
- "name": "alpha",
- "description": "Mock alpha",
- "type": "number"
+ "name": "origin",
+ "description": "Security origin.",
+ "type": "string"
},
{
- "name": "beta",
- "description": "Mock beta",
+ "name": "quotaSize",
+ "description": "The quota size (in bytes) to override the original quota with.\nIf this is called multiple times, the overridden quota will be equal to\nthe quotaSize provided in the final call. If this is called without\nspecifying a quotaSize, the quota will be reset to the default value for\nthe specified origin. If this is called multiple times with different\norigins, the override will be maintained for each origin until it is\ndisabled (called without a quotaSize).",
+ "optional": true,
"type": "number"
- },
+ }
+ ]
+ },
+ {
+ "name": "trackCacheStorageForOrigin",
+ "description": "Registers origin to be notified when an update occurs to its cache storage list.",
+ "parameters": [
{
- "name": "gamma",
- "description": "Mock gamma",
- "type": "number"
+ "name": "origin",
+ "description": "Security origin.",
+ "type": "string"
}
]
},
{
- "name": "setFontFamilies",
- "description": "Set generic font families.",
- "experimental": true,
+ "name": "trackCacheStorageForStorageKey",
+ "description": "Registers storage key to be notified when an update occurs to its cache storage list.",
"parameters": [
{
- "name": "fontFamilies",
- "description": "Specifies font families to set. If a font family is not specified, it won't be changed.",
- "$ref": "FontFamilies"
+ "name": "storageKey",
+ "description": "Storage key.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "trackIndexedDBForOrigin",
+ "description": "Registers origin to be notified when an update occurs to its IndexedDB.",
+ "parameters": [
+ {
+ "name": "origin",
+ "description": "Security origin.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "trackIndexedDBForStorageKey",
+ "description": "Registers storage key to be notified when an update occurs to its IndexedDB.",
+ "parameters": [
+ {
+ "name": "storageKey",
+ "description": "Storage key.",
+ "type": "string"
}
]
},
{
- "name": "setFontSizes",
- "description": "Set default font sizes.",
- "experimental": true,
+ "name": "untrackCacheStorageForOrigin",
+ "description": "Unregisters origin from receiving notifications for cache storage.",
"parameters": [
{
- "name": "fontSizes",
- "description": "Specifies font sizes to set. If a font size is not specified, it won't be changed.",
- "$ref": "FontSizes"
+ "name": "origin",
+ "description": "Security origin.",
+ "type": "string"
}
]
},
{
- "name": "setDocumentContent",
- "description": "Sets given markup as the document's HTML.",
+ "name": "untrackCacheStorageForStorageKey",
+ "description": "Unregisters storage key from receiving notifications for cache storage.",
"parameters": [
{
- "name": "frameId",
- "description": "Frame id to set HTML for.",
- "$ref": "FrameId"
- },
- {
- "name": "html",
- "description": "HTML content to set.",
+ "name": "storageKey",
+ "description": "Storage key.",
"type": "string"
}
]
},
{
- "name": "setDownloadBehavior",
- "description": "Set the behavior when downloading a file.",
- "experimental": true,
- "deprecated": true,
+ "name": "untrackIndexedDBForOrigin",
+ "description": "Unregisters origin from receiving notifications for IndexedDB.",
"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": "downloadPath",
- "description": "The default path to save downloaded files to. This is requred if behavior is set to 'allow'",
- "optional": true,
+ "name": "origin",
+ "description": "Security origin.",
"type": "string"
}
]
},
{
- "name": "setGeolocationOverride",
- "description": "Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.",
- "deprecated": true,
- "redirect": "Emulation",
+ "name": "untrackIndexedDBForStorageKey",
+ "description": "Unregisters storage key from receiving notifications for IndexedDB.",
"parameters": [
{
- "name": "latitude",
- "description": "Mock latitude",
- "optional": true,
- "type": "number"
- },
- {
- "name": "longitude",
- "description": "Mock longitude",
- "optional": true,
- "type": "number"
- },
- {
- "name": "accuracy",
- "description": "Mock accuracy",
- "optional": true,
- "type": "number"
+ "name": "storageKey",
+ "description": "Storage key.",
+ "type": "string"
}
]
},
{
- "name": "setLifecycleEventsEnabled",
- "description": "Controls whether page will emit lifecycle events.",
+ "name": "getTrustTokens",
+ "description": "Returns the number of stored Trust Tokens per issuer for the\ncurrent browsing context.",
"experimental": true,
- "parameters": [
+ "returns": [
{
- "name": "enabled",
- "description": "If true, starts emitting lifecycle events.",
- "type": "boolean"
+ "name": "tokens",
+ "type": "array",
+ "items": {
+ "$ref": "TrustTokens"
+ }
}
]
},
{
- "name": "setTouchEmulationEnabled",
- "description": "Toggles mouse event-based touch event emulation.",
+ "name": "clearTrustTokens",
+ "description": "Removes all Trust Tokens issued by the provided issuerOrigin.\nLeaves other stored data, including the issuer's Redemption Records, intact.",
"experimental": true,
- "deprecated": true,
- "redirect": "Emulation",
"parameters": [
{
- "name": "enabled",
- "description": "Whether the touch event emulation should be enabled.",
- "type": "boolean"
- },
+ "name": "issuerOrigin",
+ "type": "string"
+ }
+ ],
+ "returns": [
{
- "name": "configuration",
- "description": "Touch/gesture events configuration. Default: current platform.",
- "optional": true,
- "type": "string",
- "enum": [
- "mobile",
- "desktop"
- ]
+ "name": "didDeleteTokens",
+ "description": "True if any tokens were deleted, false otherwise.",
+ "type": "boolean"
}
]
},
{
- "name": "startScreencast",
- "description": "Starts sending each frame using the `screencastFrame` event.",
+ "name": "getInterestGroupDetails",
+ "description": "Gets details for a named interest group.",
"experimental": true,
"parameters": [
{
- "name": "format",
- "description": "Image compression format.",
- "optional": true,
- "type": "string",
- "enum": [
- "jpeg",
- "png"
- ]
- },
- {
- "name": "quality",
- "description": "Compression quality from range [0..100].",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "maxWidth",
- "description": "Maximum screenshot width.",
- "optional": true,
- "type": "integer"
+ "name": "ownerOrigin",
+ "type": "string"
},
{
- "name": "maxHeight",
- "description": "Maximum screenshot height.",
- "optional": true,
- "type": "integer"
- },
+ "name": "name",
+ "type": "string"
+ }
+ ],
+ "returns": [
{
- "name": "everyNthFrame",
- "description": "Send every n-th frame.",
- "optional": true,
- "type": "integer"
+ "name": "details",
+ "description": "This largely corresponds to:\nhttps://wicg.github.io/turtledove/#dictdef-generatebidinterestgroup\nbut has absolute expirationTime instead of relative lifetimeMs and\nalso adds joiningOrigin.",
+ "type": "object"
}
]
},
{
- "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.",
- "experimental": true
- },
- {
- "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/",
+ "name": "setInterestGroupTracking",
+ "description": "Enables/Disables issuing of interestGroupAccessed events.",
"experimental": true,
"parameters": [
{
- "name": "state",
- "description": "Target lifecycle state",
- "type": "string",
- "enum": [
- "frozen",
- "active"
- ]
+ "name": "enable",
+ "type": "boolean"
}
]
},
{
- "name": "stopScreencast",
- "description": "Stops sending each frame in the `screencastFrame`.",
- "experimental": true
- },
- {
- "name": "setProduceCompilationCache",
- "description": "Forces compilation cache to be generated for every subresource script.",
+ "name": "setInterestGroupAuctionTracking",
+ "description": "Enables/Disables issuing of interestGroupAuctionEventOccurred and\ninterestGroupAuctionNetworkRequestCreated.",
"experimental": true,
"parameters": [
{
- "name": "enabled",
+ "name": "enable",
"type": "boolean"
}
]
},
{
- "name": "addCompilationCache",
- "description": "Seeds compilation cache for given url. Compilation cache does not survive\ncross-process navigation.",
+ "name": "getSharedStorageMetadata",
+ "description": "Gets metadata for an origin's shared storage.",
"experimental": true,
"parameters": [
{
- "name": "url",
+ "name": "ownerOrigin",
"type": "string"
- },
+ }
+ ],
+ "returns": [
{
- "name": "data",
- "description": "Base64-encoded data (Encoded as a base64 string when passed over JSON)",
- "type": "string"
+ "name": "metadata",
+ "$ref": "SharedStorageMetadata"
}
]
},
{
- "name": "clearCompilationCache",
- "description": "Clears seeded compilation cache.",
- "experimental": true
+ "name": "getSharedStorageEntries",
+ "description": "Gets the entries in an given origin's shared storage.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "ownerOrigin",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "entries",
+ "type": "array",
+ "items": {
+ "$ref": "SharedStorageEntry"
+ }
+ }
+ ]
},
{
- "name": "generateTestReport",
- "description": "Generates a report for testing.",
+ "name": "setSharedStorageEntry",
+ "description": "Sets entry with `key` and `value` for a given origin's shared storage.",
"experimental": true,
"parameters": [
{
- "name": "message",
- "description": "Message to be displayed in the report.",
+ "name": "ownerOrigin",
"type": "string"
},
{
- "name": "group",
- "description": "Specifies the endpoint group to deliver the report to.",
- "optional": true,
+ "name": "key",
+ "type": "string"
+ },
+ {
+ "name": "value",
"type": "string"
+ },
+ {
+ "name": "ignoreIfPresent",
+ "description": "If `ignoreIfPresent` is included and true, then only sets the entry if\n`key` doesn't already exist.",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "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.",
+ "name": "deleteSharedStorageEntry",
+ "description": "Deletes entry for `key` (if it exists) for a given origin's shared storage.",
"experimental": true,
"parameters": [
{
- "name": "enabled",
- "type": "boolean"
+ "name": "ownerOrigin",
+ "type": "string"
+ },
+ {
+ "name": "key",
+ "type": "string"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "domContentEventFired",
+ "name": "clearSharedStorageEntries",
+ "description": "Clears all entries for a given origin's shared storage.",
+ "experimental": true,
"parameters": [
{
- "name": "timestamp",
- "$ref": "Network.MonotonicTime"
+ "name": "ownerOrigin",
+ "type": "string"
}
]
},
{
- "name": "fileChooserOpened",
- "description": "Emitted only when `page.interceptFileChooser` is enabled.",
+ "name": "resetSharedStorageBudget",
+ "description": "Resets the budget for `ownerOrigin` by clearing all budget withdrawals.",
+ "experimental": true,
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame containing input node.",
- "experimental": true,
- "$ref": "FrameId"
- },
- {
- "name": "backendNodeId",
- "description": "Input node id.",
- "experimental": true,
- "$ref": "DOM.BackendNodeId"
- },
- {
- "name": "mode",
- "description": "Input mode.",
- "type": "string",
- "enum": [
- "selectSingle",
- "selectMultiple"
- ]
+ "name": "ownerOrigin",
+ "type": "string"
}
]
},
{
- "name": "frameAttached",
- "description": "Fired when frame has been attached to its parent.",
+ "name": "setSharedStorageTracking",
+ "description": "Enables/disables issuing of sharedStorageAccessed events.",
+ "experimental": true,
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that has been attached.",
- "$ref": "FrameId"
- },
+ "name": "enable",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setStorageBucketTracking",
+ "description": "Set tracking for a storage key's buckets.",
+ "experimental": true,
+ "parameters": [
{
- "name": "parentFrameId",
- "description": "Parent frame identifier.",
- "$ref": "FrameId"
+ "name": "storageKey",
+ "type": "string"
},
{
- "name": "stack",
- "description": "JavaScript stack trace of when frame was attached, only set if frame initiated from script.",
- "optional": true,
- "$ref": "Runtime.StackTrace"
+ "name": "enable",
+ "type": "boolean"
}
]
},
{
- "name": "frameClearedScheduledNavigation",
- "description": "Fired when frame no longer has a scheduled navigation.",
- "deprecated": true,
+ "name": "deleteStorageBucket",
+ "description": "Deletes the Storage Bucket with the given storage key and bucket name.",
+ "experimental": true,
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that has cleared its scheduled navigation.",
- "$ref": "FrameId"
+ "name": "bucket",
+ "$ref": "StorageBucket"
}
]
},
{
- "name": "frameDetached",
- "description": "Fired when frame has been detached from its parent.",
- "parameters": [
- {
- "name": "frameId",
- "description": "Id of the frame that has been detached.",
- "$ref": "FrameId"
- },
+ "name": "runBounceTrackingMitigations",
+ "description": "Deletes state for sites identified as potential bounce trackers, immediately.",
+ "experimental": true,
+ "returns": [
{
- "name": "reason",
- "experimental": true,
- "type": "string",
- "enum": [
- "remove",
- "swap"
- ]
+ "name": "deletedSites",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "frameNavigated",
- "description": "Fired once navigation of the frame has completed. Frame is now associated with the new loader.",
+ "name": "setAttributionReportingLocalTestingMode",
+ "description": "https://wicg.github.io/attribution-reporting-api/",
+ "experimental": true,
"parameters": [
{
- "name": "frame",
- "description": "Frame object.",
- "$ref": "Frame"
+ "name": "enabled",
+ "description": "If enabled, noise is suppressed and reports are sent immediately.",
+ "type": "boolean"
}
]
},
{
- "name": "documentOpened",
- "description": "Fired when opening document to write to.",
+ "name": "setAttributionReportingTracking",
+ "description": "Enables/disables issuing of Attribution Reporting events.",
"experimental": true,
"parameters": [
{
- "name": "frame",
- "description": "Frame object.",
- "$ref": "Frame"
+ "name": "enable",
+ "type": "boolean"
}
]
},
{
- "name": "frameResized",
- "experimental": true
+ "name": "sendPendingAttributionReports",
+ "description": "Sends all pending Attribution Reports immediately, regardless of their\nscheduled report time.",
+ "experimental": true,
+ "returns": [
+ {
+ "name": "numSent",
+ "description": "The number of reports that were sent.",
+ "type": "integer"
+ }
+ ]
},
{
- "name": "frameRequestedNavigation",
- "description": "Fired when a renderer-initiated navigation is requested.\nNavigation may still be cancelled after the event is issued.",
+ "name": "getRelatedWebsiteSets",
+ "description": "Returns the effective Related Website Sets in use by this profile for the browser\nsession. The effective Related Website Sets will not change during a browser session.",
+ "experimental": true,
+ "returns": [
+ {
+ "name": "sets",
+ "type": "array",
+ "items": {
+ "$ref": "RelatedWebsiteSet"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getAffectedUrlsForThirdPartyCookieMetadata",
+ "description": "Returns the list of URLs from a page and its embedded resources that match\nexisting grace period URL pattern rules.\nhttps://developers.google.com/privacy-sandbox/cookies/temporary-exceptions/grace-period",
"experimental": true,
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that is being navigated.",
- "$ref": "FrameId"
+ "name": "firstPartyUrl",
+ "description": "The URL of the page currently being visited.",
+ "type": "string"
},
{
- "name": "reason",
- "description": "The reason for the navigation.",
- "$ref": "ClientNavigationReason"
+ "name": "thirdPartyUrls",
+ "description": "The list of embedded resource URLs from the page.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "returns": [
+ {
+ "name": "matchedUrls",
+ "description": "Array of matching URLs. If there is a primary pattern match for the first-\nparty URL, only the first-party URL is returned in the array.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setProtectedAudienceKAnonymity",
+ "parameters": [
+ {
+ "name": "owner",
+ "type": "string"
},
{
- "name": "url",
- "description": "The destination URL for the requested navigation.",
+ "name": "name",
"type": "string"
},
{
- "name": "disposition",
- "description": "The disposition for the navigation.",
- "$ref": "ClientNavigationDisposition"
+ "name": "hashes",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "frameScheduledNavigation",
- "description": "Fired when frame schedules a potential navigation.",
- "deprecated": true,
+ "name": "cacheStorageContentUpdated",
+ "description": "A cache's contents have been modified.",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that has scheduled a navigation.",
- "$ref": "FrameId"
+ "name": "origin",
+ "description": "Origin to update.",
+ "type": "string"
},
{
- "name": "delay",
- "description": "Delay (in seconds) until the navigation is scheduled to begin. The navigation is not\nguaranteed to start.",
- "type": "number"
+ "name": "storageKey",
+ "description": "Storage key to update.",
+ "type": "string"
},
{
- "name": "reason",
- "description": "The reason for the navigation.",
- "$ref": "ClientNavigationReason"
+ "name": "bucketId",
+ "description": "Storage bucket to update.",
+ "type": "string"
},
{
- "name": "url",
- "description": "The destination URL for the scheduled navigation.",
+ "name": "cacheName",
+ "description": "Name of cache in origin.",
"type": "string"
}
]
},
{
- "name": "frameStartedLoading",
- "description": "Fired when frame has started loading.",
- "experimental": true,
+ "name": "cacheStorageListUpdated",
+ "description": "A cache has been added/deleted.",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that has started loading.",
- "$ref": "FrameId"
+ "name": "origin",
+ "description": "Origin to update.",
+ "type": "string"
+ },
+ {
+ "name": "storageKey",
+ "description": "Storage key to update.",
+ "type": "string"
+ },
+ {
+ "name": "bucketId",
+ "description": "Storage bucket to update.",
+ "type": "string"
}
]
},
{
- "name": "frameStoppedLoading",
- "description": "Fired when frame has stopped loading.",
- "experimental": true,
+ "name": "indexedDBContentUpdated",
+ "description": "The origin's IndexedDB object store has been modified.",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that has stopped loading.",
- "$ref": "FrameId"
+ "name": "origin",
+ "description": "Origin to update.",
+ "type": "string"
+ },
+ {
+ "name": "storageKey",
+ "description": "Storage key to update.",
+ "type": "string"
+ },
+ {
+ "name": "bucketId",
+ "description": "Storage bucket to update.",
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database to update.",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "description": "ObjectStore to update.",
+ "type": "string"
}
]
},
{
- "name": "downloadWillBegin",
- "description": "Fired when page is about to start a download.",
- "experimental": true,
+ "name": "indexedDBListUpdated",
+ "description": "The origin's IndexedDB database list has been modified.",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that caused download to begin.",
- "$ref": "FrameId"
- },
- {
- "name": "guid",
- "description": "Global unique identifier of the download.",
+ "name": "origin",
+ "description": "Origin to update.",
"type": "string"
},
{
- "name": "url",
- "description": "URL of the resource being downloaded.",
+ "name": "storageKey",
+ "description": "Storage key to update.",
"type": "string"
},
{
- "name": "suggestedFilename",
- "description": "Suggested file name of the resource (the actual name of the file saved on disk may differ).",
+ "name": "bucketId",
+ "description": "Storage bucket to update.",
"type": "string"
}
]
},
{
- "name": "downloadProgress",
- "description": "Fired when download makes progress. Last call has |done| == true.",
- "experimental": true,
+ "name": "interestGroupAccessed",
+ "description": "One of the interest groups was accessed. Note that these events are global\nto all targets sharing an interest group store.",
"parameters": [
{
- "name": "guid",
- "description": "Global unique identifier of the download.",
+ "name": "accessTime",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "type",
+ "$ref": "InterestGroupAccessType"
+ },
+ {
+ "name": "ownerOrigin",
"type": "string"
},
{
- "name": "totalBytes",
- "description": "Total expected bytes to download.",
- "type": "number"
+ "name": "name",
+ "type": "string"
},
{
- "name": "receivedBytes",
- "description": "Total bytes received.",
+ "name": "componentSellerOrigin",
+ "description": "For topLevelBid/topLevelAdditionalBid, and when appropriate,\nwin and additionalBidWin",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "bid",
+ "description": "For bid or somethingBid event, if done locally and not on a server.",
+ "optional": true,
"type": "number"
},
{
- "name": "state",
- "description": "Download status.",
- "type": "string",
- "enum": [
- "inProgress",
- "completed",
- "canceled"
- ]
+ "name": "bidCurrency",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "uniqueAuctionId",
+ "description": "For non-global events --- links to interestGroupAuctionEvent",
+ "optional": true,
+ "$ref": "InterestGroupAuctionId"
+ }
+ ]
+ },
+ {
+ "name": "interestGroupAuctionEventOccurred",
+ "description": "An auction involving interest groups is taking place. These events are\ntarget-specific.",
+ "parameters": [
+ {
+ "name": "eventTime",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "type",
+ "$ref": "InterestGroupAuctionEventType"
+ },
+ {
+ "name": "uniqueAuctionId",
+ "$ref": "InterestGroupAuctionId"
+ },
+ {
+ "name": "parentAuctionId",
+ "description": "Set for child auctions.",
+ "optional": true,
+ "$ref": "InterestGroupAuctionId"
+ },
+ {
+ "name": "auctionConfig",
+ "description": "Set for started and configResolved",
+ "optional": true,
+ "type": "object"
}
]
},
{
- "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.",
+ "name": "interestGroupAuctionNetworkRequestCreated",
+ "description": "Specifies which auctions a particular network fetch may be related to, and\nin what role. Note that it is not ordered with respect to\nNetwork.requestWillBeSent (but will happen before loadingFinished\nloadingFailed).",
"parameters": [
{
- "name": "result",
- "description": "Whether dialog was confirmed.",
- "type": "boolean"
+ "name": "type",
+ "$ref": "InterestGroupAuctionFetchType"
},
{
- "name": "userInput",
- "description": "User input in case of prompt.",
- "type": "string"
+ "name": "requestId",
+ "$ref": "Network.RequestId"
+ },
+ {
+ "name": "auctions",
+ "description": "This is the set of the auctions using the worklet that issued this\nrequest. In the case of trusted signals, it's possible that only some of\nthem actually care about the keys being queried.",
+ "type": "array",
+ "items": {
+ "$ref": "InterestGroupAuctionId"
+ }
}
]
},
{
- "name": "javascriptDialogOpening",
- "description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to\nopen.",
+ "name": "sharedStorageAccessed",
+ "description": "Shared storage was accessed by the associated page.\nThe following parameters are included in all events.",
"parameters": [
{
- "name": "url",
- "description": "Frame url.",
- "type": "string"
+ "name": "accessTime",
+ "description": "Time of the access.",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "message",
- "description": "Message that will be displayed by the dialog.",
- "type": "string"
+ "name": "scope",
+ "description": "Enum value indicating the access scope.",
+ "$ref": "SharedStorageAccessScope"
},
{
- "name": "type",
- "description": "Dialog type.",
- "$ref": "DialogType"
+ "name": "method",
+ "description": "Enum value indicating the Shared Storage API method invoked.",
+ "$ref": "SharedStorageAccessMethod"
},
{
- "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": "mainFrameId",
+ "description": "DevTools Frame Token for the primary frame tree's root.",
+ "$ref": "Page.FrameId"
},
{
- "name": "defaultPrompt",
- "description": "Default dialog prompt.",
- "optional": true,
+ "name": "ownerOrigin",
+ "description": "Serialization of the origin owning the Shared Storage data.",
+ "type": "string"
+ },
+ {
+ "name": "ownerSite",
+ "description": "Serialization of the site owning the Shared Storage data.",
"type": "string"
+ },
+ {
+ "name": "params",
+ "description": "The sub-parameters wrapped by `params` are all optional and their\npresence/absence depends on `type`.",
+ "$ref": "SharedStorageAccessParams"
}
]
},
{
- "name": "lifecycleEvent",
- "description": "Fired for top level page lifecycle events such as navigation, load, paint, etc.",
+ "name": "sharedStorageWorkletOperationExecutionFinished",
+ "description": "A shared storage run or selectURL operation finished its execution.\nThe following parameters are included in all events.",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame.",
- "$ref": "FrameId"
+ "name": "finishedTime",
+ "description": "Time that the operation finished.",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "loaderId",
- "description": "Loader identifier. Empty string if the request is fetched from worker.",
- "$ref": "Network.LoaderId"
+ "name": "executionTime",
+ "description": "Time, in microseconds, from start of shared storage JS API call until\nend of operation execution in the worklet.",
+ "type": "integer"
},
{
- "name": "name",
+ "name": "method",
+ "description": "Enum value indicating the Shared Storage API method invoked.",
+ "$ref": "SharedStorageAccessMethod"
+ },
+ {
+ "name": "operationId",
+ "description": "ID of the operation call.",
"type": "string"
},
{
- "name": "timestamp",
- "$ref": "Network.MonotonicTime"
+ "name": "workletTargetId",
+ "description": "Hex representation of the DevTools token used as the TargetID for the\nassociated shared storage worklet.",
+ "$ref": "Target.TargetID"
+ },
+ {
+ "name": "mainFrameId",
+ "description": "DevTools Frame Token for the primary frame tree's root.",
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "ownerOrigin",
+ "description": "Serialization of the origin owning the Shared Storage data.",
+ "type": "string"
}
]
},
{
- "name": "loadEventFired",
+ "name": "storageBucketCreatedOrUpdated",
"parameters": [
{
- "name": "timestamp",
- "$ref": "Network.MonotonicTime"
+ "name": "bucketInfo",
+ "$ref": "StorageBucketInfo"
}
]
},
{
- "name": "navigatedWithinDocument",
- "description": "Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.",
- "experimental": true,
+ "name": "storageBucketDeleted",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame.",
- "$ref": "FrameId"
- },
- {
- "name": "url",
- "description": "Frame's new url.",
+ "name": "bucketId",
"type": "string"
}
]
},
{
- "name": "screencastFrame",
- "description": "Compressed image data requested by the `startScreencast`.",
+ "name": "attributionReportingSourceRegistered",
"experimental": true,
"parameters": [
{
- "name": "data",
- "description": "Base64-encoded compressed image. (Encoded as a base64 string when passed over JSON)",
- "type": "string"
- },
- {
- "name": "metadata",
- "description": "Screencast frame metadata.",
- "$ref": "ScreencastFrameMetadata"
+ "name": "registration",
+ "$ref": "AttributionReportingSourceRegistration"
},
{
- "name": "sessionId",
- "description": "Frame number.",
- "type": "integer"
+ "name": "result",
+ "$ref": "AttributionReportingSourceRegistrationResult"
}
]
},
{
- "name": "screencastVisibilityChanged",
- "description": "Fired when the page with currently enabled screencast was shown or hidden `.",
+ "name": "attributionReportingTriggerRegistered",
"experimental": true,
"parameters": [
{
- "name": "visible",
- "description": "True if the page is visible.",
- "type": "boolean"
+ "name": "registration",
+ "$ref": "AttributionReportingTriggerRegistration"
+ },
+ {
+ "name": "eventLevel",
+ "$ref": "AttributionReportingEventLevelResult"
+ },
+ {
+ "name": "aggregatable",
+ "$ref": "AttributionReportingAggregatableResult"
}
]
},
{
- "name": "windowOpen",
- "description": "Fired when a new window is going to be opened, via window.open(), link click, form submission,\netc.",
+ "name": "attributionReportingReportSent",
+ "experimental": true,
"parameters": [
{
"name": "url",
- "description": "The URL for the new window.",
"type": "string"
},
{
- "name": "windowName",
- "description": "Window name.",
- "type": "string"
+ "name": "body",
+ "type": "object"
},
{
- "name": "windowFeatures",
- "description": "An array of enabled window features.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "result",
+ "$ref": "AttributionReportingReportResult"
},
{
- "name": "userGesture",
- "description": "Whether or not it was triggered by user gesture.",
- "type": "boolean"
+ "name": "netError",
+ "description": "If result is `sent`, populated with net/HTTP status.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "netErrorName",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "httpStatusCode",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "compilationCacheProduced",
- "description": "Issued for every compilation cache generated. Is only available\nif Page.setGenerateCompilationCache is enabled.",
+ "name": "attributionReportingVerboseDebugReportSent",
"experimental": true,
"parameters": [
{
@@ -15371,2507 +24759,2806 @@
"type": "string"
},
{
- "name": "data",
- "description": "Base64-encoded data (Encoded as a base64 string when passed over JSON)",
+ "name": "body",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ {
+ "name": "netError",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "netErrorName",
+ "optional": true,
"type": "string"
+ },
+ {
+ "name": "httpStatusCode",
+ "optional": true,
+ "type": "integer"
}
]
}
]
},
{
- "domain": "Performance",
+ "domain": "SystemInfo",
+ "description": "The SystemInfo domain defines methods and events for querying low-level system information.",
+ "experimental": true,
"types": [
{
- "id": "Metric",
- "description": "Run-time execution metric.",
+ "id": "GPUDevice",
+ "description": "Describes a single graphics processor (GPU).",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Metric name.",
- "type": "string"
+ "name": "vendorId",
+ "description": "PCI ID of the GPU vendor, if available; 0 otherwise.",
+ "type": "number"
},
{
- "name": "value",
- "description": "Metric value.",
+ "name": "deviceId",
+ "description": "PCI ID of the GPU device, if available; 0 otherwise.",
"type": "number"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disable collecting and reporting metrics."
- },
- {
- "name": "enable",
- "description": "Enable collecting and reporting metrics.",
- "parameters": [
+ },
{
- "name": "timeDomain",
- "description": "Time domain to use for collecting and reporting duration metrics.",
+ "name": "subSysId",
+ "description": "Sub sys ID of the GPU, only available on Windows.",
"optional": true,
- "type": "string",
- "enum": [
- "timeTicks",
- "threadTicks"
- ]
- }
- ]
- },
- {
- "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,
- "deprecated": true,
- "parameters": [
+ "type": "number"
+ },
{
- "name": "timeDomain",
- "description": "Time domain",
- "type": "string",
- "enum": [
- "timeTicks",
- "threadTicks"
- ]
- }
- ]
- },
- {
- "name": "getMetrics",
- "description": "Retrieve current values of run-time metrics.",
- "returns": [
+ "name": "revision",
+ "description": "Revision of the GPU, only available on Windows.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "vendorString",
+ "description": "String description of the GPU vendor, if the PCI ID is not available.",
+ "type": "string"
+ },
+ {
+ "name": "deviceString",
+ "description": "String description of the GPU device, if the PCI ID is not available.",
+ "type": "string"
+ },
{
- "name": "metrics",
- "description": "Current values for run-time metrics.",
- "type": "array",
- "items": {
- "$ref": "Metric"
- }
+ "name": "driverVendor",
+ "description": "String description of the GPU driver vendor.",
+ "type": "string"
+ },
+ {
+ "name": "driverVersion",
+ "description": "String description of the GPU driver version.",
+ "type": "string"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "metrics",
- "description": "Current values of the metrics.",
- "parameters": [
+ "id": "Size",
+ "description": "Describes the width and height dimensions of an entity.",
+ "type": "object",
+ "properties": [
{
- "name": "metrics",
- "description": "Current values of the metrics.",
- "type": "array",
- "items": {
- "$ref": "Metric"
- }
+ "name": "width",
+ "description": "Width in pixels.",
+ "type": "integer"
},
{
- "name": "title",
- "description": "Timestamp title.",
- "type": "string"
+ "name": "height",
+ "description": "Height in pixels.",
+ "type": "integer"
}
]
- }
- ]
- },
- {
- "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": "VideoDecodeAcceleratorCapability",
+ "description": "Describes a supported video decoding profile with its associated minimum and\nmaximum resolutions.",
"type": "object",
"properties": [
{
- "name": "renderTime",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "profile",
+ "description": "Video codec profile that is supported, e.g. VP9 Profile 2.",
+ "type": "string"
},
{
- "name": "loadTime",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "maxResolution",
+ "description": "Maximum video dimensions in pixels supported for this |profile|.",
+ "$ref": "Size"
},
{
- "name": "size",
- "description": "The number of pixels being painted.",
- "type": "number"
- },
+ "name": "minResolution",
+ "description": "Minimum video dimensions in pixels supported for this |profile|.",
+ "$ref": "Size"
+ }
+ ]
+ },
+ {
+ "id": "VideoEncodeAcceleratorCapability",
+ "description": "Describes a supported video encoding profile with its associated maximum\nresolution and maximum framerate.",
+ "type": "object",
+ "properties": [
{
- "name": "elementId",
- "description": "The id attribute of the element, if available.",
- "optional": true,
+ "name": "profile",
+ "description": "Video codec profile that is supported, e.g H264 Main.",
"type": "string"
},
{
- "name": "url",
- "description": "The URL of the image (may be trimmed).",
- "optional": true,
- "type": "string"
+ "name": "maxResolution",
+ "description": "Maximum video dimensions in pixels supported for this |profile|.",
+ "$ref": "Size"
},
{
- "name": "nodeId",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
+ "name": "maxFramerateNumerator",
+ "description": "Maximum encoding framerate in frames per second supported for this\n|profile|, as fraction's numerator and denominator, e.g. 24/1 fps,\n24000/1001 fps, etc.",
+ "type": "integer"
+ },
+ {
+ "name": "maxFramerateDenominator",
+ "type": "integer"
}
]
},
{
- "id": "LayoutShiftAttribution",
+ "id": "SubsamplingFormat",
+ "description": "YUV subsampling type of the pixels of a given image.",
+ "type": "string",
+ "enum": [
+ "yuv420",
+ "yuv422",
+ "yuv444"
+ ]
+ },
+ {
+ "id": "ImageType",
+ "description": "Image format of a given image.",
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "webp",
+ "unknown"
+ ]
+ },
+ {
+ "id": "ImageDecodeAcceleratorCapability",
+ "description": "Describes a supported image decoding profile with its associated minimum and\nmaximum resolutions and subsampling.",
"type": "object",
"properties": [
{
- "name": "previousRect",
- "$ref": "DOM.Rect"
+ "name": "imageType",
+ "description": "Image coded, e.g. Jpeg.",
+ "$ref": "ImageType"
},
{
- "name": "currentRect",
- "$ref": "DOM.Rect"
+ "name": "maxDimensions",
+ "description": "Maximum supported dimensions of the image in pixels.",
+ "$ref": "Size"
},
{
- "name": "nodeId",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
+ "name": "minDimensions",
+ "description": "Minimum supported dimensions of the image in pixels.",
+ "$ref": "Size"
+ },
+ {
+ "name": "subsamplings",
+ "description": "Optional array of supported subsampling formats, e.g. 4:2:0, if known.",
+ "type": "array",
+ "items": {
+ "$ref": "SubsamplingFormat"
+ }
}
]
},
{
- "id": "LayoutShift",
- "description": "See https://wicg.github.io/layout-instability/#sec-layout-shift and layout_shift.idl",
+ "id": "GPUInfo",
+ "description": "Provides information about the GPU(s) on the system.",
"type": "object",
"properties": [
{
- "name": "value",
- "description": "Score increment produced by this event.",
- "type": "number"
+ "name": "devices",
+ "description": "The graphics devices on the system. Element 0 is the primary GPU.",
+ "type": "array",
+ "items": {
+ "$ref": "GPUDevice"
+ }
},
{
- "name": "hadRecentInput",
- "type": "boolean"
+ "name": "auxAttributes",
+ "description": "An optional dictionary of additional GPU related attributes.",
+ "optional": true,
+ "type": "object"
},
{
- "name": "lastInputTime",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "featureStatus",
+ "description": "An optional dictionary of graphics features and their status.",
+ "optional": true,
+ "type": "object"
},
{
- "name": "sources",
+ "name": "driverBugWorkarounds",
+ "description": "An optional array of GPU driver bug workarounds.",
"type": "array",
"items": {
- "$ref": "LayoutShiftAttribution"
+ "type": "string"
+ }
+ },
+ {
+ "name": "videoDecoding",
+ "description": "Supported accelerated video decoding capabilities.",
+ "type": "array",
+ "items": {
+ "$ref": "VideoDecodeAcceleratorCapability"
+ }
+ },
+ {
+ "name": "videoEncoding",
+ "description": "Supported accelerated video encoding capabilities.",
+ "type": "array",
+ "items": {
+ "$ref": "VideoEncodeAcceleratorCapability"
+ }
+ },
+ {
+ "name": "imageDecoding",
+ "description": "Supported accelerated image decoding capabilities.",
+ "type": "array",
+ "items": {
+ "$ref": "ImageDecodeAcceleratorCapability"
}
}
]
},
{
- "id": "TimelineEvent",
+ "id": "ProcessInfo",
+ "description": "Represents process info.",
"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\" fiedls is present.",
- "type": "string"
- },
- {
- "name": "name",
- "description": "Name may be empty depending on the type.",
+ "description": "Specifies process type.",
"type": "string"
},
{
- "name": "time",
- "description": "Time in seconds since Epoch, monotonically increasing within document lifetime.",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "id",
+ "description": "Specifies process id.",
+ "type": "integer"
},
{
- "name": "duration",
- "description": "Event duration, if applicable.",
- "optional": true,
+ "name": "cpuTime",
+ "description": "Specifies cumulative CPU usage in seconds across all threads of the\nprocess since the process start.",
"type": "number"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "getInfo",
+ "description": "Returns information about the system.",
+ "returns": [
+ {
+ "name": "gpu",
+ "description": "Information about the GPUs on the system.",
+ "$ref": "GPUInfo"
},
{
- "name": "lcpDetails",
- "optional": true,
- "$ref": "LargestContentfulPaint"
+ "name": "modelName",
+ "description": "A platform-dependent description of the model of the machine. On Mac OS, this is, for\nexample, 'MacBookPro'. Will be the empty string if not supported.",
+ "type": "string"
},
{
- "name": "layoutShiftDetails",
- "optional": true,
- "$ref": "LayoutShift"
+ "name": "modelVersion",
+ "description": "A platform-dependent description of the version of the machine. On Mac OS, this is, for\nexample, '10.1'. Will be the empty string if not supported.",
+ "type": "string"
+ },
+ {
+ "name": "commandLine",
+ "description": "The command line string used to launch the browser. Will be the empty string if not\nsupported.",
+ "type": "string"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "enable",
- "description": "Previously buffered events would be reported before method returns.\nSee also: timelineEventAdded",
+ "name": "getFeatureState",
+ "description": "Returns information about the feature state.",
"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"
- }
+ "name": "featureState",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "featureEnabled",
+ "type": "boolean"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "timelineEventAdded",
- "description": "Sent when a performance timeline event is added. See reportPerformanceTimeline method.",
- "parameters": [
+ "name": "getProcessInfo",
+ "description": "Returns information about all running processes.",
+ "returns": [
{
- "name": "event",
- "$ref": "TimelineEvent"
+ "name": "processInfo",
+ "description": "An array of process info blocks.",
+ "type": "array",
+ "items": {
+ "$ref": "ProcessInfo"
+ }
}
]
}
]
},
{
- "domain": "Security",
- "description": "Security",
+ "domain": "Target",
+ "description": "Supports additional targets discovery and allows to attach to them.",
"types": [
{
- "id": "CertificateId",
- "description": "An internal certificate ID value.",
- "type": "integer"
- },
- {
- "id": "MixedContentType",
- "description": "A description of mixed content (HTTP resources on HTTPS pages), as defined by\nhttps://www.w3.org/TR/mixed-content/#categories",
- "type": "string",
- "enum": [
- "blockable",
- "optionally-blockable",
- "none"
- ]
+ "id": "TargetID",
+ "type": "string"
},
{
- "id": "SecurityState",
- "description": "The security level of a page or resource.",
- "type": "string",
- "enum": [
- "unknown",
- "neutral",
- "insecure",
- "secure",
- "info",
- "insecure-broken"
- ]
+ "id": "SessionID",
+ "description": "Unique identifier of attached debugging session.",
+ "type": "string"
},
{
- "id": "CertificateSecurityState",
- "description": "Details about the security state of the page certificate.",
- "experimental": true,
+ "id": "TargetInfo",
"type": "object",
"properties": [
{
- "name": "protocol",
- "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
- "type": "string"
- },
- {
- "name": "keyExchange",
- "description": "Key Exchange used by the connection, or the empty string if not applicable.",
- "type": "string"
+ "name": "targetId",
+ "$ref": "TargetID"
},
{
- "name": "keyExchangeGroup",
- "description": "(EC)DH group used by the connection, if applicable.",
- "optional": true,
+ "name": "type",
+ "description": "List of types: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/devtools_agent_host_impl.cc?ss=chromium&q=f:devtools%20-f:out%20%22::kTypeTab%5B%5D%22",
"type": "string"
},
{
- "name": "cipher",
- "description": "Cipher name.",
+ "name": "title",
"type": "string"
},
{
- "name": "mac",
- "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
- "optional": true,
+ "name": "url",
"type": "string"
},
{
- "name": "certificate",
- "description": "Page certificate.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "attached",
+ "description": "Whether the target has an attached client.",
+ "type": "boolean"
},
{
- "name": "subjectName",
- "description": "Certificate subject name.",
- "type": "string"
+ "name": "openerId",
+ "description": "Opener target Id",
+ "optional": true,
+ "$ref": "TargetID"
},
{
- "name": "issuer",
- "description": "Name of the issuing CA.",
- "type": "string"
+ "name": "canAccessOpener",
+ "description": "Whether the target has access to the originating window.",
+ "experimental": true,
+ "type": "boolean"
},
{
- "name": "validFrom",
- "description": "Certificate valid from date.",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "openerFrameId",
+ "description": "Frame id of originating window (is only set if target has an opener).",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Page.FrameId"
},
{
- "name": "validTo",
- "description": "Certificate valid to (expiration) date",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "browserContextId",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Browser.BrowserContextID"
},
{
- "name": "certificateNetworkError",
- "description": "The highest priority network error code, if the certificate has an error.",
+ "name": "subtype",
+ "description": "Provides additional details for specific target types. For example, for\nthe type of \"page\", this may be set to \"prerender\".",
+ "experimental": true,
"optional": true,
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "id": "FilterEntry",
+ "description": "A filter used by target query/discovery/auto-attach operations.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "certificateHasWeakSignature",
- "description": "True if the certificate uses a weak signature aglorithm.",
+ "name": "exclude",
+ "description": "If set, causes exclusion of matching targets from the list.",
+ "optional": true,
"type": "boolean"
},
{
- "name": "certificateHasSha1Signature",
- "description": "True if the certificate has a SHA1 signature in the chain.",
- "type": "boolean"
- },
+ "name": "type",
+ "description": "If not present, matches any type.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "TargetFilter",
+ "description": "The entries in TargetFilter are matched sequentially against targets and\nthe first entry that matches determines if the target is included or not,\ndepending on the value of `exclude` field in the entry.\nIf filter is not specified, the one assumed is\n[{type: \"browser\", exclude: true}, {type: \"tab\", exclude: true}, {}]\n(i.e. include everything but `browser` and `tab`).",
+ "experimental": true,
+ "type": "array",
+ "items": {
+ "$ref": "FilterEntry"
+ }
+ },
+ {
+ "id": "RemoteLocation",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "modernSSL",
- "description": "True if modern SSL",
- "type": "boolean"
+ "name": "host",
+ "type": "string"
},
{
- "name": "obsoleteSslProtocol",
- "description": "True if the connection is using an obsolete SSL protocol.",
- "type": "boolean"
- },
+ "name": "port",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "id": "WindowState",
+ "description": "The state of the target window.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "normal",
+ "minimized",
+ "maximized",
+ "fullscreen"
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "activateTarget",
+ "description": "Activates (focuses) the target.",
+ "parameters": [
{
- "name": "obsoleteSslKeyExchange",
- "description": "True if the connection is using an obsolete SSL key exchange.",
- "type": "boolean"
- },
+ "name": "targetId",
+ "$ref": "TargetID"
+ }
+ ]
+ },
+ {
+ "name": "attachToTarget",
+ "description": "Attaches to the target with given id.",
+ "parameters": [
{
- "name": "obsoleteSslCipher",
- "description": "True if the connection is using an obsolete SSL cipher.",
- "type": "boolean"
+ "name": "targetId",
+ "$ref": "TargetID"
},
{
- "name": "obsoleteSslSignature",
- "description": "True if the connection is using an obsolete SSL signature.",
+ "name": "flatten",
+ "description": "Enables \"flat\" access to the session via specifying sessionId attribute in the commands.\nWe plan to make this the default, deprecate non-flattened mode,\nand eventually retire it. See crbug.com/991325.",
+ "optional": true,
"type": "boolean"
}
+ ],
+ "returns": [
+ {
+ "name": "sessionId",
+ "description": "Id assigned to the session.",
+ "$ref": "SessionID"
+ }
]
},
{
- "id": "SafetyTipStatus",
+ "name": "attachToBrowserTarget",
+ "description": "Attaches to the browser target, only uses flat sessionId mode.",
"experimental": true,
- "type": "string",
- "enum": [
- "badReputation",
- "lookalike"
+ "returns": [
+ {
+ "name": "sessionId",
+ "description": "Id assigned to the session.",
+ "$ref": "SessionID"
+ }
+ ]
+ },
+ {
+ "name": "closeTarget",
+ "description": "Closes the target. If the target is a page that gets closed too.",
+ "parameters": [
+ {
+ "name": "targetId",
+ "$ref": "TargetID"
+ }
+ ],
+ "returns": [
+ {
+ "name": "success",
+ "description": "Always set to true. If an error occurs, the response indicates protocol error.",
+ "deprecated": true,
+ "type": "boolean"
+ }
]
},
{
- "id": "SafetyTipInfo",
+ "name": "exposeDevToolsProtocol",
+ "description": "Inject object to the target's main frame that provides a communication\nchannel with browser target.\n\nInjected object will be available as `window[bindingName]`.\n\nThe object has the following API:\n- `binding.send(json)` - a method to send messages over the remote debugging protocol\n- `binding.onmessage = json => handleMessage(json)` - a callback that will be called for the protocol notifications and command responses.",
"experimental": true,
- "type": "object",
- "properties": [
+ "parameters": [
{
- "name": "safetyTipStatus",
- "description": "Describes whether the page triggers any safety tips or reputation warnings. Default is unknown.",
- "$ref": "SafetyTipStatus"
+ "name": "targetId",
+ "$ref": "TargetID"
},
{
- "name": "safeUrl",
- "description": "The URL the safety tip suggested (\"Did you mean?\"). Only filled in for lookalike matches.",
+ "name": "bindingName",
+ "description": "Binding name, 'cdp' if not specified.",
"optional": true,
"type": "string"
+ },
+ {
+ "name": "inheritPermissions",
+ "description": "If true, inherits the current root session's permissions (default: false).",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "VisibleSecurityState",
- "description": "Security state information about the page.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "createBrowserContext",
+ "description": "Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than\none.",
+ "parameters": [
{
- "name": "securityState",
- "description": "The security level of the page.",
- "$ref": "SecurityState"
+ "name": "disposeOnDetach",
+ "description": "If specified, disposes this context when debugging session disconnects.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "certificateSecurityState",
- "description": "Security state details about the page certificate.",
+ "name": "proxyServer",
+ "description": "Proxy server, similar to the one passed to --proxy-server",
+ "experimental": true,
"optional": true,
- "$ref": "CertificateSecurityState"
+ "type": "string"
},
{
- "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": "proxyBypassList",
+ "description": "Proxy bypass list, similar to the one passed to --proxy-bypass-list",
+ "experimental": true,
"optional": true,
- "$ref": "SafetyTipInfo"
+ "type": "string"
},
{
- "name": "securityStateIssueIds",
- "description": "Array of security state issues ids.",
+ "name": "originsWithUniversalNetworkAccess",
+ "description": "An optional list of origins to grant unlimited cross-origin access to.\nParts of the URL other than those constituting origin are ignored.",
+ "experimental": true,
+ "optional": true,
"type": "array",
"items": {
"type": "string"
}
}
+ ],
+ "returns": [
+ {
+ "name": "browserContextId",
+ "description": "The id of the context created.",
+ "$ref": "Browser.BrowserContextID"
+ }
]
},
{
- "id": "SecurityStateExplanation",
- "description": "An explanation of an factor contributing to the security state.",
- "type": "object",
- "properties": [
+ "name": "getBrowserContexts",
+ "description": "Returns all browser contexts created with `Target.createBrowserContext` method.",
+ "returns": [
{
- "name": "securityState",
- "description": "Security state representing the severity of the factor being explained.",
- "$ref": "SecurityState"
- },
+ "name": "browserContextIds",
+ "description": "An array of browser context ids.",
+ "type": "array",
+ "items": {
+ "$ref": "Browser.BrowserContextID"
+ }
+ }
+ ]
+ },
+ {
+ "name": "createTarget",
+ "description": "Creates a new page.",
+ "parameters": [
{
- "name": "title",
- "description": "Title describing the type of factor.",
+ "name": "url",
+ "description": "The initial URL the page will be navigated to. An empty string indicates about:blank.",
"type": "string"
},
{
- "name": "summary",
- "description": "Short phrase describing the type of factor.",
- "type": "string"
+ "name": "left",
+ "description": "Frame left origin in DIP (requires newWindow to be true or headless shell).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
},
{
- "name": "description",
- "description": "Full text explanation of the factor.",
- "type": "string"
+ "name": "top",
+ "description": "Frame top origin in DIP (requires newWindow to be true or headless shell).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
},
{
- "name": "mixedContentType",
- "description": "The type of mixed content described by the explanation.",
- "$ref": "MixedContentType"
+ "name": "width",
+ "description": "Frame width in DIP (requires newWindow to be true or headless shell).",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "certificate",
- "description": "Page certificate.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "height",
+ "description": "Frame height in DIP (requires newWindow to be true or headless shell).",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "recommendations",
- "description": "Recommendations to fix any issues.",
+ "name": "windowState",
+ "description": "Frame window state (requires newWindow to be true or headless shell).\nDefault is normal.",
"optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- {
- "id": "InsecureContentStatus",
- "description": "Information about insecure content on the page.",
- "deprecated": true,
- "type": "object",
- "properties": [
+ "$ref": "WindowState"
+ },
{
- "name": "ranMixedContent",
- "description": "Always false.",
- "type": "boolean"
+ "name": "browserContextId",
+ "description": "The browser context to create the page in.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Browser.BrowserContextID"
},
{
- "name": "displayedMixedContent",
- "description": "Always false.",
+ "name": "enableBeginFrameControl",
+ "description": "Whether BeginFrames for this target will be controlled via DevTools (headless shell only,\nnot supported on MacOS yet, false by default).",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
},
{
- "name": "containedMixedForm",
- "description": "Always false.",
+ "name": "newWindow",
+ "description": "Whether to create a new Window or Tab (false by default, not supported by headless shell).",
+ "optional": true,
"type": "boolean"
},
{
- "name": "ranContentWithCertErrors",
- "description": "Always false.",
+ "name": "background",
+ "description": "Whether to create the target in background or foreground (false by default, not supported\nby headless shell).",
+ "optional": true,
"type": "boolean"
},
{
- "name": "displayedContentWithCertErrors",
- "description": "Always false.",
+ "name": "forTab",
+ "description": "Whether to create the target of type \"tab\".",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
},
{
- "name": "ranInsecureContentStyle",
- "description": "Always set to unknown.",
- "$ref": "SecurityState"
- },
+ "name": "hidden",
+ "description": "Whether to create a hidden target. The hidden target is observable via protocol, but not\npresent in the tab UI strip. Cannot be created with `forTab: true`, `newWindow: true` or\n`background: false`. The life-time of the tab is limited to the life-time of the session.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
{
- "name": "displayedInsecureContentStyle",
- "description": "Always set to unknown.",
- "$ref": "SecurityState"
+ "name": "targetId",
+ "description": "The id of the page opened.",
+ "$ref": "TargetID"
}
]
},
{
- "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": "detachFromTarget",
+ "description": "Detaches session with given id.",
+ "parameters": [
+ {
+ "name": "sessionId",
+ "description": "Session to detach.",
+ "optional": true,
+ "$ref": "SessionID"
+ },
+ {
+ "name": "targetId",
+ "description": "Deprecated.",
+ "deprecated": true,
+ "optional": true,
+ "$ref": "TargetID"
+ }
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disables tracking security state changes."
},
{
- "name": "enable",
- "description": "Enables tracking security state changes."
+ "name": "disposeBrowserContext",
+ "description": "Deletes a BrowserContext. All the belonging pages will be closed without calling their\nbeforeunload hooks.",
+ "parameters": [
+ {
+ "name": "browserContextId",
+ "$ref": "Browser.BrowserContextID"
+ }
+ ]
},
{
- "name": "setIgnoreCertificateErrors",
- "description": "Enable/disable whether all certificate errors should be ignored.",
+ "name": "getTargetInfo",
+ "description": "Returns information about a target.",
"experimental": true,
"parameters": [
{
- "name": "ignore",
- "description": "If true, all certificate errors will be ignored.",
- "type": "boolean"
+ "name": "targetId",
+ "optional": true,
+ "$ref": "TargetID"
+ }
+ ],
+ "returns": [
+ {
+ "name": "targetInfo",
+ "$ref": "TargetInfo"
+ }
+ ]
+ },
+ {
+ "name": "getTargets",
+ "description": "Retrieves a list of available targets.",
+ "parameters": [
+ {
+ "name": "filter",
+ "description": "Only targets matching filter will be reported. If filter is not specified\nand target discovery is currently enabled, a filter used for target discovery\nis used for consistency.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TargetFilter"
+ }
+ ],
+ "returns": [
+ {
+ "name": "targetInfos",
+ "description": "The list of targets.",
+ "type": "array",
+ "items": {
+ "$ref": "TargetInfo"
+ }
}
]
},
{
- "name": "handleCertificateError",
- "description": "Handles a certificate error that fired a certificateError event.",
+ "name": "sendMessageToTarget",
+ "description": "Sends protocol message over session with given id.\nConsider using flat mode instead; see commands attachToTarget, setAutoAttach,\nand crbug.com/991325.",
"deprecated": true,
"parameters": [
{
- "name": "eventId",
- "description": "The ID of the event.",
- "type": "integer"
+ "name": "message",
+ "type": "string"
},
{
- "name": "action",
- "description": "The action to take on the certificate error.",
- "$ref": "CertificateErrorAction"
+ "name": "sessionId",
+ "description": "Identifier of the session.",
+ "optional": true,
+ "$ref": "SessionID"
+ },
+ {
+ "name": "targetId",
+ "description": "Deprecated.",
+ "deprecated": true,
+ "optional": true,
+ "$ref": "TargetID"
}
]
},
{
- "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,
+ "name": "setAutoAttach",
+ "description": "Controls whether to automatically attach to new targets which are considered\nto be directly related to this one (for example, iframes or workers).\nWhen turned on, attaches to all existing related targets as well. When turned off,\nautomatically detaches from all currently attached targets.\nThis also clears all targets added by `autoAttachRelated` from the list of targets to watch\nfor creation of related targets.\nYou might want to call this recursively for auto-attached targets to attach\nto all available targets.",
"parameters": [
{
- "name": "override",
- "description": "If true, certificate errors will be overridden.",
+ "name": "autoAttach",
+ "description": "Whether to auto-attach to related targets.",
"type": "boolean"
- }
- ]
- }
- ],
- "events": [
- {
- "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,
- "parameters": [
+ },
{
- "name": "eventId",
- "description": "The ID of the event.",
- "type": "integer"
+ "name": "waitForDebuggerOnStart",
+ "description": "Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger`\nto run paused targets.",
+ "type": "boolean"
},
{
- "name": "errorType",
- "description": "The type of the error.",
- "type": "string"
+ "name": "flatten",
+ "description": "Enables \"flat\" access to the session via specifying sessionId attribute in the commands.\nWe plan to make this the default, deprecate non-flattened mode,\nand eventually retire it. See crbug.com/991325.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "requestURL",
- "description": "The url that was requested.",
- "type": "string"
+ "name": "filter",
+ "description": "Only targets matching filter will be attached.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TargetFilter"
}
]
},
{
- "name": "visibleSecurityStateChanged",
- "description": "The security state of the page changed.",
+ "name": "autoAttachRelated",
+ "description": "Adds the specified target to the list of targets that will be monitored for any related target\ncreation (such as child frames, child workers and new versions of service worker) and reported\nthrough `attachedToTarget`. The specified target is also auto-attached.\nThis cancels the effect of any previous `setAutoAttach` and is also cancelled by subsequent\n`setAutoAttach`. Only available at the Browser target.",
"experimental": true,
"parameters": [
{
- "name": "visibleSecurityState",
- "description": "Security state information about the page.",
- "$ref": "VisibleSecurityState"
+ "name": "targetId",
+ "$ref": "TargetID"
+ },
+ {
+ "name": "waitForDebuggerOnStart",
+ "description": "Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger`\nto run paused targets.",
+ "type": "boolean"
+ },
+ {
+ "name": "filter",
+ "description": "Only targets matching filter will be attached.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TargetFilter"
}
]
},
{
- "name": "securityStateChanged",
- "description": "The security state of the page changed.",
+ "name": "setDiscoverTargets",
+ "description": "Controls whether to discover available targets and notify via\n`targetCreated/targetInfoChanged/targetDestroyed` events.",
"parameters": [
{
- "name": "securityState",
- "description": "Security state.",
- "$ref": "SecurityState"
- },
- {
- "name": "schemeIsCryptographic",
- "description": "True if the page was loaded over cryptographic transport such as HTTPS.",
- "deprecated": true,
+ "name": "discover",
+ "description": "Whether to discover available targets.",
"type": "boolean"
},
{
- "name": "explanations",
- "description": "List of explanations for the security state. If the overall security state is `insecure` or\n`warning`, at least one corresponding explanation should be included.",
+ "name": "filter",
+ "description": "Only targets matching filter will be attached. If `discover` is false,\n`filter` must be omitted or empty.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TargetFilter"
+ }
+ ]
+ },
+ {
+ "name": "setRemoteLocations",
+ "description": "Enables target discovery for the specified locations, when `setDiscoverTargets` was set to\n`true`.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "locations",
+ "description": "List of remote locations.",
"type": "array",
"items": {
- "$ref": "SecurityStateExplanation"
+ "$ref": "RemoteLocation"
}
- },
+ }
+ ]
+ },
+ {
+ "name": "openDevTools",
+ "description": "Opens a DevTools window for the target.",
+ "experimental": true,
+ "parameters": [
{
- "name": "insecureContentStatus",
- "description": "Information about insecure content on the page.",
- "deprecated": true,
- "$ref": "InsecureContentStatus"
- },
+ "name": "targetId",
+ "description": "This can be the page or tab target ID.",
+ "$ref": "TargetID"
+ }
+ ],
+ "returns": [
{
- "name": "summary",
- "description": "Overrides user-visible description of the state.",
- "optional": true,
- "type": "string"
+ "name": "targetId",
+ "description": "The targetId of DevTools page target.",
+ "$ref": "TargetID"
}
]
}
- ]
- },
- {
- "domain": "ServiceWorker",
- "experimental": true,
- "dependencies": [
- "Target"
],
- "types": [
- {
- "id": "RegistrationID",
- "type": "string"
- },
+ "events": [
{
- "id": "ServiceWorkerRegistration",
- "description": "ServiceWorker registration.",
- "type": "object",
- "properties": [
+ "name": "attachedToTarget",
+ "description": "Issued when attached to target because of auto-attach or `attachToTarget` command.",
+ "experimental": true,
+ "parameters": [
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "sessionId",
+ "description": "Identifier assigned to the session used to send/receive messages.",
+ "$ref": "SessionID"
},
{
- "name": "scopeURL",
- "type": "string"
+ "name": "targetInfo",
+ "$ref": "TargetInfo"
},
{
- "name": "isDeleted",
+ "name": "waitingForDebugger",
"type": "boolean"
}
]
},
{
- "id": "ServiceWorkerVersionRunningStatus",
- "type": "string",
- "enum": [
- "stopped",
- "starting",
- "running",
- "stopping"
- ]
- },
- {
- "id": "ServiceWorkerVersionStatus",
- "type": "string",
- "enum": [
- "new",
- "installing",
- "installed",
- "activating",
- "activated",
- "redundant"
+ "name": "detachedFromTarget",
+ "description": "Issued when detached from target for any reason (including `detachFromTarget` command). Can be\nissued multiple times per target if multiple sessions have been attached to it.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "sessionId",
+ "description": "Detached session identifier.",
+ "$ref": "SessionID"
+ },
+ {
+ "name": "targetId",
+ "description": "Deprecated.",
+ "deprecated": true,
+ "optional": true,
+ "$ref": "TargetID"
+ }
]
},
{
- "id": "ServiceWorkerVersion",
- "description": "ServiceWorker version.",
- "type": "object",
- "properties": [
- {
- "name": "versionId",
- "type": "string"
- },
+ "name": "receivedMessageFromTarget",
+ "description": "Notifies about a new protocol message received from the session (as reported in\n`attachedToTarget` event).",
+ "parameters": [
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "sessionId",
+ "description": "Identifier of a session which sends a message.",
+ "$ref": "SessionID"
},
{
- "name": "scriptURL",
+ "name": "message",
"type": "string"
},
{
- "name": "runningStatus",
- "$ref": "ServiceWorkerVersionRunningStatus"
- },
- {
- "name": "status",
- "$ref": "ServiceWorkerVersionStatus"
- },
- {
- "name": "scriptLastModified",
- "description": "The Last-Modified header value of the main script.",
- "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": "targetId",
+ "description": "Deprecated.",
+ "deprecated": true,
"optional": true,
- "type": "number"
- },
+ "$ref": "TargetID"
+ }
+ ]
+ },
+ {
+ "name": "targetCreated",
+ "description": "Issued when a possible inspection target is created.",
+ "parameters": [
{
- "name": "controlledClients",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "Target.TargetID"
- }
- },
+ "name": "targetInfo",
+ "$ref": "TargetInfo"
+ }
+ ]
+ },
+ {
+ "name": "targetDestroyed",
+ "description": "Issued when a target is destroyed.",
+ "parameters": [
{
"name": "targetId",
- "optional": true,
- "$ref": "Target.TargetID"
+ "$ref": "TargetID"
}
]
},
{
- "id": "ServiceWorkerErrorMessage",
- "description": "ServiceWorker error message.",
- "type": "object",
- "properties": [
- {
- "name": "errorMessage",
- "type": "string"
- },
+ "name": "targetCrashed",
+ "description": "Issued when a target has crashed.",
+ "parameters": [
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "targetId",
+ "$ref": "TargetID"
},
{
- "name": "versionId",
+ "name": "status",
+ "description": "Termination status type.",
"type": "string"
},
{
- "name": "sourceURL",
- "type": "string"
- },
+ "name": "errorCode",
+ "description": "Termination error code.",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "targetInfoChanged",
+ "description": "Issued when some information about a target has changed. This only happens between\n`targetCreated` and `targetDestroyed`.",
+ "parameters": [
{
- "name": "lineNumber",
+ "name": "targetInfo",
+ "$ref": "TargetInfo"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Tethering",
+ "description": "The Tethering domain defines methods and events for browser port binding.",
+ "experimental": true,
+ "commands": [
+ {
+ "name": "bind",
+ "description": "Request browser port binding.",
+ "parameters": [
+ {
+ "name": "port",
+ "description": "Port number to bind.",
"type": "integer"
- },
+ }
+ ]
+ },
+ {
+ "name": "unbind",
+ "description": "Request browser port unbinding.",
+ "parameters": [
{
- "name": "columnNumber",
+ "name": "port",
+ "description": "Port number to unbind.",
"type": "integer"
}
]
}
],
- "commands": [
+ "events": [
{
- "name": "deliverPushMessage",
+ "name": "accepted",
+ "description": "Informs that port was successfully bound and got a specified connection id.",
"parameters": [
{
- "name": "origin",
- "type": "string"
- },
- {
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "port",
+ "description": "Port number that was successfully bound.",
+ "type": "integer"
},
{
- "name": "data",
+ "name": "connectionId",
+ "description": "Connection id to be used.",
"type": "string"
}
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "Tracing",
+ "dependencies": [
+ "IO"
+ ],
+ "types": [
{
- "name": "disable"
+ "id": "MemoryDumpConfig",
+ "description": "Configuration for memory dump. Used only when \"memory-infra\" category is enabled.",
+ "experimental": true,
+ "type": "object"
},
{
- "name": "dispatchSyncEvent",
- "parameters": [
+ "id": "TraceConfig",
+ "type": "object",
+ "properties": [
{
- "name": "origin",
- "type": "string"
+ "name": "recordMode",
+ "description": "Controls how the trace buffer stores data. The default is `recordUntilFull`.",
+ "experimental": true,
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "recordUntilFull",
+ "recordContinuously",
+ "recordAsMuchAsPossible",
+ "echoToConsole"
+ ]
},
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "traceBufferSizeInKb",
+ "description": "Size of the trace buffer in kilobytes. If not specified or zero is passed, a default value\nof 200 MB would be used.",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
},
{
- "name": "tag",
- "type": "string"
+ "name": "enableSampling",
+ "description": "Turns on JavaScript stack sampling.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "lastChance",
+ "name": "enableSystrace",
+ "description": "Turns on system tracing.",
+ "experimental": true,
+ "optional": true,
"type": "boolean"
- }
- ]
- },
- {
- "name": "dispatchPeriodicSyncEvent",
- "parameters": [
+ },
{
- "name": "origin",
- "type": "string"
+ "name": "enableArgumentFilter",
+ "description": "Turns on argument filter.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "registrationId",
- "$ref": "RegistrationID"
+ "name": "includedCategories",
+ "description": "Included category filters.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "tag",
- "type": "string"
+ "name": "excludedCategories",
+ "description": "Excluded category filters.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "syntheticDelays",
+ "description": "Configuration to synthesize the delays in tracing.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "memoryDumpConfig",
+ "description": "Configuration for memory dump triggers. Used only when \"memory-infra\" category is enabled.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "MemoryDumpConfig"
}
]
},
{
- "name": "enable"
+ "id": "StreamFormat",
+ "description": "Data format of a trace. Can be either the legacy JSON format or the\nprotocol buffer format. Note that the JSON format will be deprecated soon.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "json",
+ "proto"
+ ]
},
{
- "name": "inspectWorker",
- "parameters": [
- {
- "name": "versionId",
- "type": "string"
- }
+ "id": "StreamCompression",
+ "description": "Compression type to use for traces returned via streams.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "none",
+ "gzip"
]
},
{
- "name": "setForceUpdateOnPageLoad",
- "parameters": [
- {
- "name": "forceUpdateOnPageLoad",
- "type": "boolean"
- }
+ "id": "MemoryDumpLevelOfDetail",
+ "description": "Details exposed when memory request explicitly declared.\nKeep consistent with memory_dump_request_args.h and\nmemory_instrumentation.mojom",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "background",
+ "light",
+ "detailed"
]
},
{
- "name": "skipWaiting",
- "parameters": [
- {
- "name": "scopeURL",
- "type": "string"
- }
+ "id": "TracingBackend",
+ "description": "Backend type to use for tracing. `chrome` uses the Chrome-integrated\ntracing service and is supported on all platforms. `system` is only\nsupported on Chrome OS and uses the Perfetto system tracing service.\n`auto` chooses `system` when the perfettoConfig provided to Tracing.start\nspecifies at least one non-Chrome data source; otherwise uses `chrome`.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "auto",
+ "chrome",
+ "system"
]
+ }
+ ],
+ "commands": [
+ {
+ "name": "end",
+ "description": "Stop trace events collection."
},
{
- "name": "startWorker",
- "parameters": [
+ "name": "getCategories",
+ "description": "Gets supported tracing categories.",
+ "experimental": true,
+ "returns": [
{
- "name": "scopeURL",
- "type": "string"
+ "name": "categories",
+ "description": "A list of supported tracing categories.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "stopAllWorkers"
- },
- {
- "name": "stopWorker",
+ "name": "recordClockSyncMarker",
+ "description": "Record a clock sync marker in the trace.",
+ "experimental": true,
"parameters": [
{
- "name": "versionId",
+ "name": "syncId",
+ "description": "The ID of this clock sync marker",
"type": "string"
}
]
},
{
- "name": "unregister",
+ "name": "requestMemoryDump",
+ "description": "Request a global memory dump.",
+ "experimental": true,
"parameters": [
{
- "name": "scopeURL",
+ "name": "deterministic",
+ "description": "Enables more deterministic results by forcing garbage collection",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "levelOfDetail",
+ "description": "Specifies level of details in memory dump. Defaults to \"detailed\".",
+ "optional": true,
+ "$ref": "MemoryDumpLevelOfDetail"
+ }
+ ],
+ "returns": [
+ {
+ "name": "dumpGuid",
+ "description": "GUID of the resulting global memory dump.",
"type": "string"
+ },
+ {
+ "name": "success",
+ "description": "True iff the global memory dump succeeded.",
+ "type": "boolean"
}
]
},
{
- "name": "updateRegistration",
+ "name": "start",
+ "description": "Start trace events collection.",
"parameters": [
{
- "name": "scopeURL",
+ "name": "categories",
+ "description": "Category/tag filter",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "options",
+ "description": "Tracing options",
+ "experimental": true,
+ "deprecated": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "bufferUsageReportingInterval",
+ "description": "If set, the agent will issue bufferUsage events at this interval, specified in milliseconds",
+ "experimental": true,
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "transferMode",
+ "description": "Whether to report trace events as series of dataCollected events or to save trace to a\nstream (defaults to `ReportEvents`).",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "ReportEvents",
+ "ReturnAsStream"
+ ]
+ },
+ {
+ "name": "streamFormat",
+ "description": "Trace data format to use. This only applies when using `ReturnAsStream`\ntransfer mode (defaults to `json`).",
+ "optional": true,
+ "$ref": "StreamFormat"
+ },
+ {
+ "name": "streamCompression",
+ "description": "Compression format to use. This only applies when using `ReturnAsStream`\ntransfer mode (defaults to `none`)",
+ "experimental": true,
+ "optional": true,
+ "$ref": "StreamCompression"
+ },
+ {
+ "name": "traceConfig",
+ "optional": true,
+ "$ref": "TraceConfig"
+ },
+ {
+ "name": "perfettoConfig",
+ "description": "Base64-encoded serialized perfetto.protos.TraceConfig protobuf message\nWhen specified, the parameters `categories`, `options`, `traceConfig`\nare ignored. (Encoded as a base64 string when passed over JSON)",
+ "experimental": true,
+ "optional": true,
"type": "string"
+ },
+ {
+ "name": "tracingBackend",
+ "description": "Backend type (defaults to `auto`)",
+ "experimental": true,
+ "optional": true,
+ "$ref": "TracingBackend"
}
]
}
],
"events": [
{
- "name": "workerErrorReported",
+ "name": "bufferUsage",
+ "experimental": true,
"parameters": [
{
- "name": "errorMessage",
- "$ref": "ServiceWorkerErrorMessage"
+ "name": "percentFull",
+ "description": "A number in range [0..1] that indicates the used size of event buffer as a fraction of its\ntotal size.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "eventCount",
+ "description": "An approximate number of events in the trace log.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "value",
+ "description": "A number in range [0..1] that indicates the used size of event buffer as a fraction of its\ntotal size.",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "workerRegistrationUpdated",
+ "name": "dataCollected",
+ "description": "Contains a bucket of collected trace events. When tracing is stopped collected events will be\nsent as a sequence of dataCollected events followed by tracingComplete event.",
+ "experimental": true,
"parameters": [
{
- "name": "registrations",
+ "name": "value",
"type": "array",
"items": {
- "$ref": "ServiceWorkerRegistration"
+ "type": "object"
}
}
]
},
{
- "name": "workerVersionUpdated",
+ "name": "tracingComplete",
+ "description": "Signals that tracing is stopped and there is no trace buffers pending flush, all data were\ndelivered via dataCollected events.",
"parameters": [
{
- "name": "versions",
- "type": "array",
- "items": {
- "$ref": "ServiceWorkerVersion"
- }
+ "name": "dataLossOccurred",
+ "description": "Indicates whether some trace data is known to have been lost, e.g. because the trace ring\nbuffer wrapped around.",
+ "type": "boolean"
+ },
+ {
+ "name": "stream",
+ "description": "A handle of the stream that holds resulting trace data.",
+ "optional": true,
+ "$ref": "IO.StreamHandle"
+ },
+ {
+ "name": "traceFormat",
+ "description": "Trace data format of returned stream.",
+ "optional": true,
+ "$ref": "StreamFormat"
+ },
+ {
+ "name": "streamCompression",
+ "description": "Compression format of returned stream.",
+ "optional": true,
+ "$ref": "StreamCompression"
}
]
}
]
},
{
- "domain": "Storage",
- "experimental": true,
+ "domain": "Fetch",
+ "description": "A domain for letting clients substitute browser's network layer with client code.",
"dependencies": [
- "Browser",
- "Network"
+ "Network",
+ "IO",
+ "Page"
],
"types": [
{
- "id": "StorageType",
- "description": "Enum of possible storage types.",
+ "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": [
- "appcache",
- "cookies",
- "file_systems",
- "indexeddb",
- "local_storage",
- "shader_cache",
- "websql",
- "service_workers",
- "cache_storage",
- "all",
- "other"
+ "Request",
+ "Response"
]
},
{
- "id": "UsageForType",
- "description": "Usage for a storage type.",
+ "id": "RequestPattern",
"type": "object",
"properties": [
{
- "name": "storageType",
- "description": "Name of storage type.",
- "$ref": "StorageType"
+ "name": "urlPattern",
+ "description": "Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to `\"*\"`.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "usage",
- "description": "Storage usage (bytes).",
- "type": "number"
+ "name": "resourceType",
+ "description": "If set, only requests for matching resource types will be intercepted.",
+ "optional": true,
+ "$ref": "Network.ResourceType"
+ },
+ {
+ "name": "requestStage",
+ "description": "Stage at which to begin intercepting requests. Default is Request.",
+ "optional": true,
+ "$ref": "RequestStage"
}
]
},
{
- "id": "TrustTokens",
- "description": "Pair of issuer origin and number of available (signed, but not used) Trust\nTokens from that issuer.",
- "experimental": true,
+ "id": "HeaderEntry",
+ "description": "Response HTTP header entry",
"type": "object",
"properties": [
{
- "name": "issuerOrigin",
+ "name": "name",
"type": "string"
},
{
- "name": "count",
- "type": "number"
+ "name": "value",
+ "type": "string"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "clearDataForOrigin",
- "description": "Clears storage for origin.",
- "parameters": [
+ "id": "AuthChallenge",
+ "description": "Authorization challenge for HTTP status code 401 or 407.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "source",
+ "description": "Source of the authentication challenge.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "Server",
+ "Proxy"
+ ]
+ },
{
"name": "origin",
- "description": "Security origin.",
+ "description": "Origin of the challenger.",
"type": "string"
},
{
- "name": "storageTypes",
- "description": "Comma separated list of StorageType to clear.",
+ "name": "scheme",
+ "description": "The authentication scheme used, such as basic or digest",
+ "type": "string"
+ },
+ {
+ "name": "realm",
+ "description": "The realm of the challenge. May be empty.",
"type": "string"
}
]
},
{
- "name": "getCookies",
- "description": "Returns all browser cookies.",
- "parameters": [
+ "id": "AuthChallengeResponse",
+ "description": "Response to an AuthChallenge.",
+ "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": "browserContextId",
- "description": "Browser context to use when called on the browser endpoint.",
+ "name": "username",
+ "description": "The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
"optional": true,
- "$ref": "Browser.BrowserContextID"
- }
- ],
- "returns": [
+ "type": "string"
+ },
{
- "name": "cookies",
- "description": "Array of cookie objects.",
- "type": "array",
- "items": {
- "$ref": "Network.Cookie"
- }
+ "name": "password",
+ "description": "The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
+ "optional": true,
+ "type": "string"
}
]
+ }
+ ],
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disables the fetch domain."
},
{
- "name": "setCookies",
- "description": "Sets given cookies.",
+ "name": "enable",
+ "description": "Enables issuing of requestPaused events. A request will be paused until client\ncalls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.",
"parameters": [
{
- "name": "cookies",
- "description": "Cookies to be set.",
+ "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": "array",
"items": {
- "$ref": "Network.CookieParam"
+ "$ref": "RequestPattern"
}
},
{
- "name": "browserContextId",
- "description": "Browser context to use when called on the browser endpoint.",
+ "name": "handleAuthRequests",
+ "description": "If true, authRequired events will be issued and requests will be paused\nexpecting a call to continueWithAuth.",
"optional": true,
- "$ref": "Browser.BrowserContextID"
+ "type": "boolean"
}
]
},
{
- "name": "clearCookies",
- "description": "Clears cookies.",
+ "name": "failRequest",
+ "description": "Causes the request to fail with specified reason.",
"parameters": [
{
- "name": "browserContextId",
- "description": "Browser context to use when called on the browser endpoint.",
- "optional": true,
- "$ref": "Browser.BrowserContextID"
+ "name": "requestId",
+ "description": "An id the client received in requestPaused event.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "errorReason",
+ "description": "Causes the request to fail with the given reason.",
+ "$ref": "Network.ErrorReason"
}
]
},
{
- "name": "getUsageAndQuota",
- "description": "Returns usage and quota in bytes.",
+ "name": "fulfillRequest",
+ "description": "Provides response to the request.",
"parameters": [
{
- "name": "origin",
- "description": "Security origin.",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "usage",
- "description": "Storage usage (bytes).",
- "type": "number"
- },
- {
- "name": "quota",
- "description": "Storage quota (bytes).",
- "type": "number"
+ "name": "requestId",
+ "description": "An id the client received in requestPaused event.",
+ "$ref": "RequestId"
},
{
- "name": "overrideActive",
- "description": "Whether or not the origin has an active storage quota override",
- "type": "boolean"
+ "name": "responseCode",
+ "description": "An HTTP response code.",
+ "type": "integer"
},
{
- "name": "usageBreakdown",
- "description": "Storage usage per type (bytes).",
+ "name": "responseHeaders",
+ "description": "Response headers.",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "UsageForType"
+ "$ref": "HeaderEntry"
}
- }
- ]
- },
- {
- "name": "overrideQuotaForOrigin",
- "description": "Override quota for the specified origin",
- "experimental": true,
- "parameters": [
+ },
{
- "name": "origin",
- "description": "Security origin.",
+ "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": "quotaSize",
- "description": "The quota size (in bytes) to override the original quota with.\nIf this is called multiple times, the overriden quota will be equal to\nthe quotaSize provided in the final call. If this is called without\nspecifying a quotaSize, the quota will be reset to the default value for\nthe specified origin. If this is called multiple times with different\norigins, the override will be maintained for each origin until it is\ndisabled (called without a quotaSize).",
+ "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": "number"
- }
- ]
- },
- {
- "name": "trackCacheStorageForOrigin",
- "description": "Registers origin to be notified when an update occurs to its cache storage list.",
- "parameters": [
+ "type": "string"
+ },
{
- "name": "origin",
- "description": "Security origin.",
+ "name": "responsePhrase",
+ "description": "A textual representation of responseCode.\nIf absent, a standard phrase matching responseCode is used.",
+ "optional": true,
"type": "string"
}
]
},
{
- "name": "trackIndexedDBForOrigin",
- "description": "Registers origin to be notified when an update occurs to its IndexedDB.",
+ "name": "continueRequest",
+ "description": "Continues the request, optionally modifying some of its parameters.",
"parameters": [
{
- "name": "origin",
- "description": "Security 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": "untrackCacheStorageForOrigin",
- "description": "Unregisters origin from receiving notifications for cache storage.",
- "parameters": [
+ },
{
- "name": "origin",
- "description": "Security origin.",
+ "name": "method",
+ "description": "If set, the request method is overridden.",
+ "optional": true,
"type": "string"
- }
- ]
- },
- {
- "name": "untrackIndexedDBForOrigin",
- "description": "Unregisters origin from receiving notifications for IndexedDB.",
- "parameters": [
+ },
{
- "name": "origin",
- "description": "Security origin.",
+ "name": "postData",
+ "description": "If set, overrides the post data in the request. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
"type": "string"
- }
- ]
- },
- {
- "name": "getTrustTokens",
- "description": "Returns the number of stored Trust Tokens per issuer for the\ncurrent browsing context.",
- "experimental": true,
- "returns": [
+ },
{
- "name": "tokens",
+ "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": "TrustTokens"
+ "$ref": "HeaderEntry"
}
+ },
+ {
+ "name": "interceptResponse",
+ "description": "If set, overrides response interception behavior for this request.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "cacheStorageContentUpdated",
- "description": "A cache's contents have been modified.",
+ "name": "continueWithAuth",
+ "description": "Continues a request supplying authChallengeResponse following authRequired event.",
"parameters": [
{
- "name": "origin",
- "description": "Origin to update.",
- "type": "string"
+ "name": "requestId",
+ "description": "An id the client received in authRequired event.",
+ "$ref": "RequestId"
},
{
- "name": "cacheName",
- "description": "Name of cache in origin.",
- "type": "string"
+ "name": "authChallengeResponse",
+ "description": "Response to with an authChallenge.",
+ "$ref": "AuthChallengeResponse"
}
]
},
{
- "name": "cacheStorageListUpdated",
- "description": "A cache has been added/deleted.",
+ "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": "origin",
- "description": "Origin to update.",
+ "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": "integer"
+ },
+ {
+ "name": "responsePhrase",
+ "description": "A textual representation of responseCode.\nIf absent, a standard phrase matching responseCode is used.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "responseHeaders",
+ "description": "Response headers. If absent, original response headers will be used.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "HeaderEntry"
+ }
+ },
+ {
+ "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": "indexedDBContentUpdated",
- "description": "The origin's IndexedDB object store has been modified.",
+ "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": "origin",
- "description": "Origin to update.",
- "type": "string"
- },
+ "name": "requestId",
+ "description": "Identifier for the intercepted request to get body for.",
+ "$ref": "RequestId"
+ }
+ ],
+ "returns": [
{
- "name": "databaseName",
- "description": "Database to update.",
+ "name": "body",
+ "description": "Response body.",
"type": "string"
},
{
- "name": "objectStoreName",
- "description": "ObjectStore to update.",
- "type": "string"
+ "name": "base64Encoded",
+ "description": "True, if content was sent as base64.",
+ "type": "boolean"
}
]
},
{
- "name": "indexedDBListUpdated",
- "description": "The origin's IndexedDB database list has been modified.",
+ "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": "origin",
- "description": "Origin to update.",
- "type": "string"
+ "name": "requestId",
+ "$ref": "RequestId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "stream",
+ "$ref": "IO.StreamHandle"
}
]
}
- ]
- },
- {
- "domain": "SystemInfo",
- "description": "The SystemInfo domain defines methods and events for querying low-level system information.",
- "experimental": true,
- "types": [
+ ],
+ "events": [
{
- "id": "GPUDevice",
- "description": "Describes a single graphics processor (GPU).",
- "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": "vendorId",
- "description": "PCI ID of the GPU vendor, if available; 0 otherwise.",
- "type": "number"
+ "name": "requestId",
+ "description": "Each request the page makes will have a unique id.",
+ "$ref": "RequestId"
},
{
- "name": "deviceId",
- "description": "PCI ID of the GPU device, if available; 0 otherwise.",
- "type": "number"
+ "name": "request",
+ "description": "The details of the request.",
+ "$ref": "Network.Request"
},
{
- "name": "subSysId",
- "description": "Sub sys ID of the GPU, only available on Windows.",
+ "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": "responseErrorReason",
+ "description": "Response error if intercepted at response stage.",
"optional": true,
- "type": "number"
+ "$ref": "Network.ErrorReason"
},
{
- "name": "revision",
- "description": "Revision of the GPU, only available on Windows.",
+ "name": "responseStatusCode",
+ "description": "Response code if intercepted at response stage.",
"optional": true,
- "type": "number"
+ "type": "integer"
},
{
- "name": "vendorString",
- "description": "String description of the GPU vendor, if the PCI ID is not available.",
+ "name": "responseStatusText",
+ "description": "Response status text if intercepted at response stage.",
+ "optional": true,
"type": "string"
},
{
- "name": "deviceString",
- "description": "String description of the GPU device, if the PCI ID is not available.",
- "type": "string"
+ "name": "responseHeaders",
+ "description": "Response headers if intercepted at the response stage.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "HeaderEntry"
+ }
},
{
- "name": "driverVendor",
- "description": "String description of the GPU driver vendor.",
- "type": "string"
+ "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,
+ "$ref": "Network.RequestId"
},
{
- "name": "driverVersion",
- "description": "String description of the GPU driver version.",
- "type": "string"
+ "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,
+ "$ref": "RequestId"
}
]
},
{
- "id": "Size",
- "description": "Describes the width and height dimensions of an entity.",
- "type": "object",
- "properties": [
+ "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": "width",
- "description": "Width in pixels.",
- "type": "integer"
+ "name": "requestId",
+ "description": "Each request the page makes will have a unique id.",
+ "$ref": "RequestId"
},
{
- "name": "height",
- "description": "Height in pixels.",
- "type": "integer"
- }
- ]
- },
- {
- "id": "VideoDecodeAcceleratorCapability",
- "description": "Describes a supported video decoding profile with its associated minimum and\nmaximum resolutions.",
- "type": "object",
- "properties": [
+ "name": "request",
+ "description": "The details of the request.",
+ "$ref": "Network.Request"
+ },
{
- "name": "profile",
- "description": "Video codec profile that is supported, e.g. VP9 Profile 2.",
- "type": "string"
+ "name": "frameId",
+ "description": "The id of the frame that initiated the request.",
+ "$ref": "Page.FrameId"
},
{
- "name": "maxResolution",
- "description": "Maximum video dimensions in pixels supported for this |profile|.",
- "$ref": "Size"
+ "name": "resourceType",
+ "description": "How the requested resource will be used.",
+ "$ref": "Network.ResourceType"
},
{
- "name": "minResolution",
- "description": "Minimum video dimensions in pixels supported for this |profile|.",
- "$ref": "Size"
+ "name": "authChallenge",
+ "description": "Details of the Authorization Challenge encountered.\nIf this is set, client should respond with continueRequest that\ncontains AuthChallengeResponse.",
+ "$ref": "AuthChallenge"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "WebAudio",
+ "description": "This domain allows inspection of Web Audio API.\nhttps://webaudio.github.io/web-audio-api/",
+ "experimental": true,
+ "types": [
+ {
+ "id": "GraphObjectId",
+ "description": "An unique ID for a graph object (AudioContext, AudioNode, AudioParam) in Web Audio API",
+ "type": "string"
},
{
- "id": "VideoEncodeAcceleratorCapability",
- "description": "Describes a supported video encoding profile with its associated maximum\nresolution and maximum framerate.",
- "type": "object",
- "properties": [
- {
- "name": "profile",
- "description": "Video codec profile that is supported, e.g H264 Main.",
- "type": "string"
- },
- {
- "name": "maxResolution",
- "description": "Maximum video dimensions in pixels supported for this |profile|.",
- "$ref": "Size"
- },
- {
- "name": "maxFramerateNumerator",
- "description": "Maximum encoding framerate in frames per second supported for this\n|profile|, as fraction's numerator and denominator, e.g. 24/1 fps,\n24000/1001 fps, etc.",
- "type": "integer"
- },
- {
- "name": "maxFramerateDenominator",
- "type": "integer"
- }
+ "id": "ContextType",
+ "description": "Enum of BaseAudioContext types",
+ "type": "string",
+ "enum": [
+ "realtime",
+ "offline"
]
},
{
- "id": "SubsamplingFormat",
- "description": "YUV subsampling type of the pixels of a given image.",
+ "id": "ContextState",
+ "description": "Enum of AudioContextState from the spec",
"type": "string",
"enum": [
- "yuv420",
- "yuv422",
- "yuv444"
+ "suspended",
+ "running",
+ "closed",
+ "interrupted"
]
},
{
- "id": "ImageType",
- "description": "Image format of a given image.",
+ "id": "NodeType",
+ "description": "Enum of AudioNode types",
+ "type": "string"
+ },
+ {
+ "id": "ChannelCountMode",
+ "description": "Enum of AudioNode::ChannelCountMode from the spec",
"type": "string",
"enum": [
- "jpeg",
- "webp",
- "unknown"
+ "clamped-max",
+ "explicit",
+ "max"
]
},
{
- "id": "ImageDecodeAcceleratorCapability",
- "description": "Describes a supported image decoding profile with its associated minimum and\nmaximum resolutions and subsampling.",
+ "id": "ChannelInterpretation",
+ "description": "Enum of AudioNode::ChannelInterpretation from the spec",
+ "type": "string",
+ "enum": [
+ "discrete",
+ "speakers"
+ ]
+ },
+ {
+ "id": "ParamType",
+ "description": "Enum of AudioParam types",
+ "type": "string"
+ },
+ {
+ "id": "AutomationRate",
+ "description": "Enum of AudioParam::AutomationRate from the spec",
+ "type": "string",
+ "enum": [
+ "a-rate",
+ "k-rate"
+ ]
+ },
+ {
+ "id": "ContextRealtimeData",
+ "description": "Fields in AudioContext that change in real-time.",
"type": "object",
"properties": [
{
- "name": "imageType",
- "description": "Image coded, e.g. Jpeg.",
- "$ref": "ImageType"
+ "name": "currentTime",
+ "description": "The current context time in second in BaseAudioContext.",
+ "type": "number"
},
{
- "name": "maxDimensions",
- "description": "Maximum supported dimensions of the image in pixels.",
- "$ref": "Size"
+ "name": "renderCapacity",
+ "description": "The time spent on rendering graph divided by render quantum duration,\nand multiplied by 100. 100 means the audio renderer reached the full\ncapacity and glitch may occur.",
+ "type": "number"
},
{
- "name": "minDimensions",
- "description": "Minimum supported dimensions of the image in pixels.",
- "$ref": "Size"
+ "name": "callbackIntervalMean",
+ "description": "A running mean of callback interval.",
+ "type": "number"
},
- {
- "name": "subsamplings",
- "description": "Optional array of supported subsampling formats, e.g. 4:2:0, if known.",
- "type": "array",
- "items": {
- "$ref": "SubsamplingFormat"
- }
+ {
+ "name": "callbackIntervalVariance",
+ "description": "A running variance of callback interval.",
+ "type": "number"
}
]
},
{
- "id": "GPUInfo",
- "description": "Provides information about the GPU(s) on the system.",
+ "id": "BaseAudioContext",
+ "description": "Protocol object for BaseAudioContext",
"type": "object",
"properties": [
{
- "name": "devices",
- "description": "The graphics devices on the system. Element 0 is the primary GPU.",
- "type": "array",
- "items": {
- "$ref": "GPUDevice"
- }
+ "name": "contextId",
+ "$ref": "GraphObjectId"
},
{
- "name": "auxAttributes",
- "description": "An optional dictionary of additional GPU related attributes.",
- "optional": true,
- "type": "object"
+ "name": "contextType",
+ "$ref": "ContextType"
},
{
- "name": "featureStatus",
- "description": "An optional dictionary of graphics features and their status.",
- "optional": true,
- "type": "object"
+ "name": "contextState",
+ "$ref": "ContextState"
},
{
- "name": "driverBugWorkarounds",
- "description": "An optional array of GPU driver bug workarounds.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "realtimeData",
+ "optional": true,
+ "$ref": "ContextRealtimeData"
},
{
- "name": "videoDecoding",
- "description": "Supported accelerated video decoding capabilities.",
- "type": "array",
- "items": {
- "$ref": "VideoDecodeAcceleratorCapability"
- }
+ "name": "callbackBufferSize",
+ "description": "Platform-dependent callback buffer size.",
+ "type": "number"
},
{
- "name": "videoEncoding",
- "description": "Supported accelerated video encoding capabilities.",
- "type": "array",
- "items": {
- "$ref": "VideoEncodeAcceleratorCapability"
- }
+ "name": "maxOutputChannelCount",
+ "description": "Number of output channels supported by audio hardware in use.",
+ "type": "number"
},
{
- "name": "imageDecoding",
- "description": "Supported accelerated image decoding capabilities.",
- "type": "array",
- "items": {
- "$ref": "ImageDecodeAcceleratorCapability"
- }
+ "name": "sampleRate",
+ "description": "Context sample rate.",
+ "type": "number"
}
]
},
{
- "id": "ProcessInfo",
- "description": "Represents process info.",
+ "id": "AudioListener",
+ "description": "Protocol object for AudioListener",
"type": "object",
"properties": [
{
- "name": "type",
- "description": "Specifies process type.",
- "type": "string"
- },
- {
- "name": "id",
- "description": "Specifies process id.",
- "type": "integer"
+ "name": "listenerId",
+ "$ref": "GraphObjectId"
},
{
- "name": "cpuTime",
- "description": "Specifies cumulative CPU usage in seconds across all threads of the\nprocess since the process start.",
- "type": "number"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "getInfo",
- "description": "Returns information about the system.",
- "returns": [
+ "id": "AudioNode",
+ "description": "Protocol object for AudioNode",
+ "type": "object",
+ "properties": [
{
- "name": "gpu",
- "description": "Information about the GPUs on the system.",
- "$ref": "GPUInfo"
+ "name": "nodeId",
+ "$ref": "GraphObjectId"
},
{
- "name": "modelName",
- "description": "A platform-dependent description of the model of the machine. On Mac OS, this is, for\nexample, 'MacBookPro'. Will be the empty string if not supported.",
- "type": "string"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
},
{
- "name": "modelVersion",
- "description": "A platform-dependent description of the version of the machine. On Mac OS, this is, for\nexample, '10.1'. Will be the empty string if not supported.",
- "type": "string"
+ "name": "nodeType",
+ "$ref": "NodeType"
},
{
- "name": "commandLine",
- "description": "The command line string used to launch the browser. Will be the empty string if not\nsupported.",
- "type": "string"
- }
- ]
- },
- {
- "name": "getProcessInfo",
- "description": "Returns information about all running processes.",
- "returns": [
+ "name": "numberOfInputs",
+ "type": "number"
+ },
{
- "name": "processInfo",
- "description": "An array of process info blocks.",
- "type": "array",
- "items": {
- "$ref": "ProcessInfo"
- }
+ "name": "numberOfOutputs",
+ "type": "number"
+ },
+ {
+ "name": "channelCount",
+ "type": "number"
+ },
+ {
+ "name": "channelCountMode",
+ "$ref": "ChannelCountMode"
+ },
+ {
+ "name": "channelInterpretation",
+ "$ref": "ChannelInterpretation"
}
]
- }
- ]
- },
- {
- "domain": "Target",
- "description": "Supports additional targets discovery and allows to attach to them.",
- "types": [
- {
- "id": "TargetID",
- "type": "string"
},
{
- "id": "SessionID",
- "description": "Unique identifier of attached debugging session.",
- "type": "string"
- },
- {
- "id": "TargetInfo",
+ "id": "AudioParam",
+ "description": "Protocol object for AudioParam",
"type": "object",
"properties": [
{
- "name": "targetId",
- "$ref": "TargetID"
+ "name": "paramId",
+ "$ref": "GraphObjectId"
},
{
- "name": "type",
- "type": "string"
+ "name": "nodeId",
+ "$ref": "GraphObjectId"
},
{
- "name": "title",
- "type": "string"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
},
{
- "name": "url",
- "type": "string"
+ "name": "paramType",
+ "$ref": "ParamType"
},
{
- "name": "attached",
- "description": "Whether the target has an attached client.",
- "type": "boolean"
+ "name": "rate",
+ "$ref": "AutomationRate"
},
{
- "name": "openerId",
- "description": "Opener target Id",
- "optional": true,
- "$ref": "TargetID"
+ "name": "defaultValue",
+ "type": "number"
},
{
- "name": "canAccessOpener",
- "description": "Whether the target has access to the originating window.",
- "experimental": true,
- "type": "boolean"
+ "name": "minValue",
+ "type": "number"
},
{
- "name": "openerFrameId",
- "description": "Frame id of originating window (is only set if target has an opener).",
- "experimental": true,
- "optional": true,
- "$ref": "Page.FrameId"
- },
+ "name": "maxValue",
+ "type": "number"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "enable",
+ "description": "Enables the WebAudio domain and starts sending context lifetime events."
+ },
+ {
+ "name": "disable",
+ "description": "Disables the WebAudio domain."
+ },
+ {
+ "name": "getRealtimeData",
+ "description": "Fetch the realtime data from the registered contexts.",
+ "parameters": [
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "realtimeData",
+ "$ref": "ContextRealtimeData"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "contextCreated",
+ "description": "Notifies that a new BaseAudioContext has been created.",
+ "parameters": [
+ {
+ "name": "context",
+ "$ref": "BaseAudioContext"
+ }
+ ]
+ },
+ {
+ "name": "contextWillBeDestroyed",
+ "description": "Notifies that an existing BaseAudioContext will be destroyed.",
+ "parameters": [
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ }
+ ]
+ },
+ {
+ "name": "contextChanged",
+ "description": "Notifies that existing BaseAudioContext has changed some properties (id stays the same)..",
+ "parameters": [
{
- "name": "browserContextId",
- "experimental": true,
- "optional": true,
- "$ref": "Browser.BrowserContextID"
+ "name": "context",
+ "$ref": "BaseAudioContext"
}
]
},
{
- "id": "RemoteLocation",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "audioListenerCreated",
+ "description": "Notifies that the construction of an AudioListener has finished.",
+ "parameters": [
{
- "name": "host",
- "type": "string"
+ "name": "listener",
+ "$ref": "AudioListener"
+ }
+ ]
+ },
+ {
+ "name": "audioListenerWillBeDestroyed",
+ "description": "Notifies that a new AudioListener has been created.",
+ "parameters": [
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
},
{
- "name": "port",
- "type": "integer"
+ "name": "listenerId",
+ "$ref": "GraphObjectId"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "activateTarget",
- "description": "Activates (focuses) the target.",
+ "name": "audioNodeCreated",
+ "description": "Notifies that a new AudioNode has been created.",
"parameters": [
{
- "name": "targetId",
- "$ref": "TargetID"
+ "name": "node",
+ "$ref": "AudioNode"
}
]
},
{
- "name": "attachToTarget",
- "description": "Attaches to the target with given id.",
+ "name": "audioNodeWillBeDestroyed",
+ "description": "Notifies that an existing AudioNode has been destroyed.",
"parameters": [
{
- "name": "targetId",
- "$ref": "TargetID"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
},
{
- "name": "flatten",
- "description": "Enables \"flat\" access to the session via specifying sessionId attribute in the commands.\nWe plan to make this the default, deprecate non-flattened mode,\nand eventually retire it. See crbug.com/991325.",
- "optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "sessionId",
- "description": "Id assigned to the session.",
- "$ref": "SessionID"
+ "name": "nodeId",
+ "$ref": "GraphObjectId"
}
]
},
{
- "name": "attachToBrowserTarget",
- "description": "Attaches to the browser target, only uses flat sessionId mode.",
- "experimental": true,
- "returns": [
+ "name": "audioParamCreated",
+ "description": "Notifies that a new AudioParam has been created.",
+ "parameters": [
{
- "name": "sessionId",
- "description": "Id assigned to the session.",
- "$ref": "SessionID"
+ "name": "param",
+ "$ref": "AudioParam"
}
]
},
{
- "name": "closeTarget",
- "description": "Closes the target. If the target is a page that gets closed too.",
+ "name": "audioParamWillBeDestroyed",
+ "description": "Notifies that an existing AudioParam has been destroyed.",
"parameters": [
{
- "name": "targetId",
- "$ref": "TargetID"
- }
- ],
- "returns": [
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
{
- "name": "success",
- "description": "Always set to true. If an error occurs, the response indicates protocol error.",
- "deprecated": true,
- "type": "boolean"
+ "name": "nodeId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "paramId",
+ "$ref": "GraphObjectId"
}
]
},
{
- "name": "exposeDevToolsProtocol",
- "description": "Inject object to the target's main frame that provides a communication\nchannel with browser target.\n\nInjected object will be available as `window[bindingName]`.\n\nThe object has the follwing API:\n- `binding.send(json)` - a method to send messages over the remote debugging protocol\n- `binding.onmessage = json => handleMessage(json)` - a callback that will be called for the protocol notifications and command responses.",
- "experimental": true,
+ "name": "nodesConnected",
+ "description": "Notifies that two AudioNodes are connected.",
"parameters": [
{
- "name": "targetId",
- "$ref": "TargetID"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
},
{
- "name": "bindingName",
- "description": "Binding name, 'cdp' if not specified.",
+ "name": "sourceId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "destinationId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceOutputIndex",
"optional": true,
- "type": "string"
+ "type": "number"
+ },
+ {
+ "name": "destinationInputIndex",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "createBrowserContext",
- "description": "Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than\none.",
- "experimental": true,
+ "name": "nodesDisconnected",
+ "description": "Notifies that AudioNodes are disconnected. The destination can be null, and it means all the outgoing connections from the source are disconnected.",
"parameters": [
{
- "name": "disposeOnDetach",
- "description": "If specified, disposes this context when debugging session disconnects.",
- "optional": true,
- "type": "boolean"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
},
{
- "name": "proxyServer",
- "description": "Proxy server, similar to the one passed to --proxy-server",
- "optional": true,
- "type": "string"
+ "name": "sourceId",
+ "$ref": "GraphObjectId"
},
{
- "name": "proxyBypassList",
- "description": "Proxy bypass list, similar to the one passed to --proxy-bypass-list",
+ "name": "destinationId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceOutputIndex",
"optional": true,
- "type": "string"
- }
- ],
- "returns": [
+ "type": "number"
+ },
{
- "name": "browserContextId",
- "description": "The id of the context created.",
- "$ref": "Browser.BrowserContextID"
+ "name": "destinationInputIndex",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "getBrowserContexts",
- "description": "Returns all browser contexts created with `Target.createBrowserContext` method.",
- "experimental": true,
- "returns": [
+ "name": "nodeParamConnected",
+ "description": "Notifies that an AudioNode is connected to an AudioParam.",
+ "parameters": [
{
- "name": "browserContextIds",
- "description": "An array of browser context ids.",
- "type": "array",
- "items": {
- "$ref": "Browser.BrowserContextID"
- }
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "destinationId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceOutputIndex",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "createTarget",
- "description": "Creates a new page.",
+ "name": "nodeParamDisconnected",
+ "description": "Notifies that an AudioNode is disconnected to an AudioParam.",
"parameters": [
{
- "name": "url",
- "description": "The initial URL the page will be navigated to.",
- "type": "string"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
},
{
- "name": "width",
- "description": "Frame width in DIP (headless chrome only).",
+ "name": "sourceId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "destinationId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceOutputIndex",
"optional": true,
- "type": "integer"
+ "type": "number"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "WebAuthn",
+ "description": "This domain allows configuring virtual authenticators to test the WebAuthn\nAPI.",
+ "experimental": true,
+ "types": [
+ {
+ "id": "AuthenticatorId",
+ "type": "string"
+ },
+ {
+ "id": "AuthenticatorProtocol",
+ "type": "string",
+ "enum": [
+ "u2f",
+ "ctap2"
+ ]
+ },
+ {
+ "id": "Ctap2Version",
+ "type": "string",
+ "enum": [
+ "ctap2_0",
+ "ctap2_1"
+ ]
+ },
+ {
+ "id": "AuthenticatorTransport",
+ "type": "string",
+ "enum": [
+ "usb",
+ "nfc",
+ "ble",
+ "cable",
+ "internal"
+ ]
+ },
+ {
+ "id": "VirtualAuthenticatorOptions",
+ "type": "object",
+ "properties": [
+ {
+ "name": "protocol",
+ "$ref": "AuthenticatorProtocol"
},
{
- "name": "height",
- "description": "Frame height in DIP (headless chrome only).",
+ "name": "ctap2Version",
+ "description": "Defaults to ctap2_0. Ignored if |protocol| == u2f.",
"optional": true,
- "type": "integer"
+ "$ref": "Ctap2Version"
},
{
- "name": "browserContextId",
- "description": "The browser context to create the page in.",
- "optional": true,
- "$ref": "Browser.BrowserContextID"
+ "name": "transport",
+ "$ref": "AuthenticatorTransport"
},
{
- "name": "enableBeginFrameControl",
- "description": "Whether BeginFrames for this target will be controlled via DevTools (headless chrome only,\nnot supported on MacOS yet, false by default).",
- "experimental": true,
+ "name": "hasResidentKey",
+ "description": "Defaults to false.",
"optional": true,
"type": "boolean"
},
{
- "name": "newWindow",
- "description": "Whether to create a new Window or Tab (chrome-only, false by default).",
+ "name": "hasUserVerification",
+ "description": "Defaults to false.",
"optional": true,
"type": "boolean"
},
{
- "name": "background",
- "description": "Whether to create the target in background or foreground (chrome-only,\nfalse by default).",
+ "name": "hasLargeBlob",
+ "description": "If set to true, the authenticator will support the largeBlob extension.\nhttps://w3c.github.io/webauthn#largeBlob\nDefaults to false.",
"optional": true,
"type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "targetId",
- "description": "The id of the page opened.",
- "$ref": "TargetID"
- }
- ]
- },
- {
- "name": "detachFromTarget",
- "description": "Detaches session with given id.",
- "parameters": [
- {
- "name": "sessionId",
- "description": "Session to detach.",
- "optional": true,
- "$ref": "SessionID"
},
{
- "name": "targetId",
- "description": "Deprecated.",
- "deprecated": true,
+ "name": "hasCredBlob",
+ "description": "If set to true, the authenticator will support the credBlob extension.\nhttps://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-credBlob-extension\nDefaults to false.",
"optional": true,
- "$ref": "TargetID"
- }
- ]
- },
- {
- "name": "disposeBrowserContext",
- "description": "Deletes a BrowserContext. All the belonging pages will be closed without calling their\nbeforeunload hooks.",
- "experimental": true,
- "parameters": [
- {
- "name": "browserContextId",
- "$ref": "Browser.BrowserContextID"
- }
- ]
- },
- {
- "name": "getTargetInfo",
- "description": "Returns information about a target.",
- "experimental": true,
- "parameters": [
+ "type": "boolean"
+ },
{
- "name": "targetId",
+ "name": "hasMinPinLength",
+ "description": "If set to true, the authenticator will support the minPinLength extension.\nhttps://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-minpinlength-extension\nDefaults to false.",
"optional": true,
- "$ref": "TargetID"
- }
- ],
- "returns": [
- {
- "name": "targetInfo",
- "$ref": "TargetInfo"
- }
- ]
- },
- {
- "name": "getTargets",
- "description": "Retrieves a list of available targets.",
- "returns": [
- {
- "name": "targetInfos",
- "description": "The list of targets.",
- "type": "array",
- "items": {
- "$ref": "TargetInfo"
- }
- }
- ]
- },
- {
- "name": "sendMessageToTarget",
- "description": "Sends protocol message over session with given id.\nConsider using flat mode instead; see commands attachToTarget, setAutoAttach,\nand crbug.com/991325.",
- "deprecated": true,
- "parameters": [
- {
- "name": "message",
- "type": "string"
+ "type": "boolean"
},
{
- "name": "sessionId",
- "description": "Identifier of the session.",
+ "name": "hasPrf",
+ "description": "If set to true, the authenticator will support the prf extension.\nhttps://w3c.github.io/webauthn/#prf-extension\nDefaults to false.",
"optional": true,
- "$ref": "SessionID"
+ "type": "boolean"
},
{
- "name": "targetId",
- "description": "Deprecated.",
- "deprecated": true,
+ "name": "automaticPresenceSimulation",
+ "description": "If set to true, tests of user presence will succeed immediately.\nOtherwise, they will not be resolved. Defaults to true.",
"optional": true,
- "$ref": "TargetID"
- }
- ]
- },
- {
- "name": "setAutoAttach",
- "description": "Controls whether to automatically attach to new targets which are considered to be related to\nthis one. When turned on, attaches to all existing related targets as well. When turned off,\nautomatically detaches from all currently attached targets.",
- "experimental": true,
- "parameters": [
- {
- "name": "autoAttach",
- "description": "Whether to auto-attach to related targets.",
"type": "boolean"
},
{
- "name": "waitForDebuggerOnStart",
- "description": "Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger`\nto run paused targets.",
+ "name": "isUserVerified",
+ "description": "Sets whether User Verification succeeds or fails for an authenticator.\nDefaults to false.",
+ "optional": true,
"type": "boolean"
},
{
- "name": "flatten",
- "description": "Enables \"flat\" access to the session via specifying sessionId attribute in the commands.\nWe plan to make this the default, deprecate non-flattened mode,\nand eventually retire it. See crbug.com/991325.",
+ "name": "defaultBackupEligibility",
+ "description": "Credentials created by this authenticator will have the backup\neligibility (BE) flag set to this value. Defaults to false.\nhttps://w3c.github.io/webauthn/#sctn-credential-backup",
"optional": true,
"type": "boolean"
- }
- ]
- },
- {
- "name": "setDiscoverTargets",
- "description": "Controls whether to discover available targets and notify via\n`targetCreated/targetInfoChanged/targetDestroyed` events.",
- "parameters": [
+ },
{
- "name": "discover",
- "description": "Whether to discover available targets.",
+ "name": "defaultBackupState",
+ "description": "Credentials created by this authenticator will have the backup state\n(BS) flag set to this value. Defaults to false.\nhttps://w3c.github.io/webauthn/#sctn-credential-backup",
+ "optional": true,
"type": "boolean"
}
]
},
{
- "name": "setRemoteLocations",
- "description": "Enables target discovery for the specified locations, when `setDiscoverTargets` was set to\n`true`.",
- "experimental": true,
- "parameters": [
- {
- "name": "locations",
- "description": "List of remote locations.",
- "type": "array",
- "items": {
- "$ref": "RemoteLocation"
- }
- }
- ]
- }
- ],
- "events": [
- {
- "name": "attachedToTarget",
- "description": "Issued when attached to target because of auto-attach or `attachToTarget` command.",
- "experimental": true,
- "parameters": [
- {
- "name": "sessionId",
- "description": "Identifier assigned to the session used to send/receive messages.",
- "$ref": "SessionID"
- },
+ "id": "Credential",
+ "type": "object",
+ "properties": [
{
- "name": "targetInfo",
- "$ref": "TargetInfo"
+ "name": "credentialId",
+ "type": "string"
},
{
- "name": "waitingForDebugger",
+ "name": "isResidentCredential",
"type": "boolean"
- }
- ]
- },
- {
- "name": "detachedFromTarget",
- "description": "Issued when detached from target for any reason (including `detachFromTarget` command). Can be\nissued multiple times per target if multiple sessions have been attached to it.",
- "experimental": true,
- "parameters": [
- {
- "name": "sessionId",
- "description": "Detached session identifier.",
- "$ref": "SessionID"
},
{
- "name": "targetId",
- "description": "Deprecated.",
- "deprecated": true,
+ "name": "rpId",
+ "description": "Relying Party ID the credential is scoped to. Must be set when adding a\ncredential.",
"optional": true,
- "$ref": "TargetID"
- }
- ]
- },
- {
- "name": "receivedMessageFromTarget",
- "description": "Notifies about a new protocol message received from the session (as reported in\n`attachedToTarget` event).",
- "parameters": [
- {
- "name": "sessionId",
- "description": "Identifier of a session which sends a message.",
- "$ref": "SessionID"
+ "type": "string"
},
{
- "name": "message",
+ "name": "privateKey",
+ "description": "The ECDSA P-256 private key in PKCS#8 format. (Encoded as a base64 string when passed over JSON)",
"type": "string"
},
{
- "name": "targetId",
- "description": "Deprecated.",
- "deprecated": true,
+ "name": "userHandle",
+ "description": "An opaque byte sequence with a maximum size of 64 bytes mapping the\ncredential to a specific user. (Encoded as a base64 string when passed over JSON)",
"optional": true,
- "$ref": "TargetID"
- }
- ]
- },
- {
- "name": "targetCreated",
- "description": "Issued when a possible inspection target is created.",
- "parameters": [
+ "type": "string"
+ },
{
- "name": "targetInfo",
- "$ref": "TargetInfo"
- }
- ]
- },
- {
- "name": "targetDestroyed",
- "description": "Issued when a target is destroyed.",
- "parameters": [
+ "name": "signCount",
+ "description": "Signature counter. This is incremented by one for each successful\nassertion.\nSee https://w3c.github.io/webauthn/#signature-counter",
+ "type": "integer"
+ },
{
- "name": "targetId",
- "$ref": "TargetID"
- }
- ]
- },
- {
- "name": "targetCrashed",
- "description": "Issued when a target has crashed.",
- "parameters": [
+ "name": "largeBlob",
+ "description": "The large blob associated with the credential.\nSee https://w3c.github.io/webauthn/#sctn-large-blob-extension (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "targetId",
- "$ref": "TargetID"
+ "name": "backupEligibility",
+ "description": "Assertions returned by this credential will have the backup eligibility\n(BE) flag set to this value. Defaults to the authenticator's\ndefaultBackupEligibility value.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "status",
- "description": "Termination status type.",
- "type": "string"
+ "name": "backupState",
+ "description": "Assertions returned by this credential will have the backup state (BS)\nflag set to this value. Defaults to the authenticator's\ndefaultBackupState value.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "errorCode",
- "description": "Termination error code.",
- "type": "integer"
- }
- ]
- },
- {
- "name": "targetInfoChanged",
- "description": "Issued when some information about a target has changed. This only happens between\n`targetCreated` and `targetDestroyed`.",
- "parameters": [
+ "name": "userName",
+ "description": "The credential's user.name property. Equivalent to empty if not set.\nhttps://w3c.github.io/webauthn/#dom-publickeycredentialentity-name",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "targetInfo",
- "$ref": "TargetInfo"
+ "name": "userDisplayName",
+ "description": "The credential's user.displayName property. Equivalent to empty if\nnot set.\nhttps://w3c.github.io/webauthn/#dom-publickeycredentialuserentity-displayname",
+ "optional": true,
+ "type": "string"
}
]
}
- ]
- },
- {
- "domain": "Tethering",
- "description": "The Tethering domain defines methods and events for browser port binding.",
- "experimental": true,
+ ],
"commands": [
{
- "name": "bind",
- "description": "Request browser port binding.",
+ "name": "enable",
+ "description": "Enable the WebAuthn domain and start intercepting credential storage and\nretrieval with a virtual authenticator.",
"parameters": [
{
- "name": "port",
- "description": "Port number to bind.",
- "type": "integer"
+ "name": "enableUI",
+ "description": "Whether to enable the WebAuthn user interface. Enabling the UI is\nrecommended for debugging and demo purposes, as it is closer to the real\nexperience. Disabling the UI is recommended for automated testing.\nSupported at the embedder's discretion if UI is available.\nDefaults to false.",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "name": "unbind",
- "description": "Request browser port unbinding.",
- "parameters": [
- {
- "name": "port",
- "description": "Port number to unbind.",
- "type": "integer"
- }
- ]
- }
- ],
- "events": [
+ "name": "disable",
+ "description": "Disable the WebAuthn domain."
+ },
{
- "name": "accepted",
- "description": "Informs that port was successfully bound and got a specified connection id.",
+ "name": "addVirtualAuthenticator",
+ "description": "Creates and adds a virtual authenticator.",
"parameters": [
{
- "name": "port",
- "description": "Port number that was successfully bound.",
- "type": "integer"
- },
+ "name": "options",
+ "$ref": "VirtualAuthenticatorOptions"
+ }
+ ],
+ "returns": [
{
- "name": "connectionId",
- "description": "Connection id to be used.",
- "type": "string"
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
}
]
- }
- ]
- },
- {
- "domain": "Tracing",
- "experimental": true,
- "dependencies": [
- "IO"
- ],
- "types": [
- {
- "id": "MemoryDumpConfig",
- "description": "Configuration for memory dump. Used only when \"memory-infra\" category is enabled.",
- "type": "object"
},
{
- "id": "TraceConfig",
- "type": "object",
- "properties": [
+ "name": "setResponseOverrideBits",
+ "description": "Resets parameters isBogusSignature, isBadUV, isBadUP to false if they are not present.",
+ "parameters": [
{
- "name": "recordMode",
- "description": "Controls how the trace buffer stores data.",
- "optional": true,
- "type": "string",
- "enum": [
- "recordUntilFull",
- "recordContinuously",
- "recordAsMuchAsPossible",
- "echoToConsole"
- ]
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
},
{
- "name": "enableSampling",
- "description": "Turns on JavaScript stack sampling.",
+ "name": "isBogusSignature",
+ "description": "If isBogusSignature is set, overrides the signature in the authenticator response to be zero.\nDefaults to false.",
"optional": true,
"type": "boolean"
},
{
- "name": "enableSystrace",
- "description": "Turns on system tracing.",
+ "name": "isBadUV",
+ "description": "If isBadUV is set, overrides the UV bit in the flags in the authenticator response to\nbe zero. Defaults to false.",
"optional": true,
"type": "boolean"
},
{
- "name": "enableArgumentFilter",
- "description": "Turns on argument filter.",
+ "name": "isBadUP",
+ "description": "If isBadUP is set, overrides the UP bit in the flags in the authenticator response to\nbe zero. Defaults to false.",
"optional": true,
"type": "boolean"
- },
- {
- "name": "includedCategories",
- "description": "Included category filters.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "excludedCategories",
- "description": "Excluded category filters.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "syntheticDelays",
- "description": "Configuration to synthesize the delays in tracing.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "memoryDumpConfig",
- "description": "Configuration for memory dump triggers. Used only when \"memory-infra\" category is enabled.",
- "optional": true,
- "$ref": "MemoryDumpConfig"
}
]
},
{
- "id": "StreamFormat",
- "description": "Data format of a trace. Can be either the legacy JSON format or the\nprotocol buffer format. Note that the JSON format will be deprecated soon.",
- "type": "string",
- "enum": [
- "json",
- "proto"
+ "name": "removeVirtualAuthenticator",
+ "description": "Removes the given authenticator.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ }
]
},
{
- "id": "StreamCompression",
- "description": "Compression type to use for traces returned via streams.",
- "type": "string",
- "enum": [
- "none",
- "gzip"
+ "name": "addCredential",
+ "description": "Adds the credential to the specified authenticator.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ },
+ {
+ "name": "credential",
+ "$ref": "Credential"
+ }
]
},
{
- "id": "MemoryDumpLevelOfDetail",
- "description": "Details exposed when memory request explicitly declared.\nKeep consistent with memory_dump_request_args.h and\nmemory_instrumentation.mojom",
- "type": "string",
- "enum": [
- "background",
- "light",
- "detailed"
+ "name": "getCredential",
+ "description": "Returns a single credential stored in the given virtual authenticator that\nmatches the credential ID.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ },
+ {
+ "name": "credentialId",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "credential",
+ "$ref": "Credential"
+ }
]
- }
- ],
- "commands": [
- {
- "name": "end",
- "description": "Stop trace events collection."
},
{
- "name": "getCategories",
- "description": "Gets supported tracing categories.",
+ "name": "getCredentials",
+ "description": "Returns all the credentials stored in the given virtual authenticator.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ }
+ ],
"returns": [
{
- "name": "categories",
- "description": "A list of supported tracing categories.",
+ "name": "credentials",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "Credential"
}
}
]
},
{
- "name": "recordClockSyncMarker",
- "description": "Record a clock sync marker in the trace.",
+ "name": "removeCredential",
+ "description": "Removes a credential from the authenticator.",
"parameters": [
{
- "name": "syncId",
- "description": "The ID of this clock sync marker",
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ },
+ {
+ "name": "credentialId",
"type": "string"
}
]
},
{
- "name": "requestMemoryDump",
- "description": "Request a global memory dump.",
+ "name": "clearCredentials",
+ "description": "Clears all the credentials from the specified device.",
"parameters": [
{
- "name": "deterministic",
- "description": "Enables more deterministic results by forcing garbage collection",
- "optional": true,
- "type": "boolean"
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ }
+ ]
+ },
+ {
+ "name": "setUserVerified",
+ "description": "Sets whether User Verification succeeds or fails for an authenticator.\nThe default is true.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
},
{
- "name": "levelOfDetail",
- "description": "Specifies level of details in memory dump. Defaults to \"detailed\".",
- "optional": true,
- "$ref": "MemoryDumpLevelOfDetail"
+ "name": "isUserVerified",
+ "type": "boolean"
}
- ],
- "returns": [
- {
- "name": "dumpGuid",
- "description": "GUID of the resulting global memory dump.",
- "type": "string"
+ ]
+ },
+ {
+ "name": "setAutomaticPresenceSimulation",
+ "description": "Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator.\nThe default is true.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
},
{
- "name": "success",
- "description": "True iff the global memory dump succeeded.",
+ "name": "enabled",
"type": "boolean"
}
]
},
{
- "name": "start",
- "description": "Start trace events collection.",
+ "name": "setCredentialProperties",
+ "description": "Allows setting credential properties.\nhttps://w3c.github.io/webauthn/#sctn-automation-set-credential-properties",
"parameters": [
{
- "name": "categories",
- "description": "Category/tag filter",
- "deprecated": true,
- "optional": true,
- "type": "string"
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
},
{
- "name": "options",
- "description": "Tracing options",
- "deprecated": true,
- "optional": true,
+ "name": "credentialId",
"type": "string"
},
{
- "name": "bufferUsageReportingInterval",
- "description": "If set, the agent will issue bufferUsage events at this interval, specified in milliseconds",
- "optional": true,
- "type": "number"
- },
- {
- "name": "transferMode",
- "description": "Whether to report trace events as series of dataCollected events or to save trace to a\nstream (defaults to `ReportEvents`).",
- "optional": true,
- "type": "string",
- "enum": [
- "ReportEvents",
- "ReturnAsStream"
- ]
- },
- {
- "name": "streamFormat",
- "description": "Trace data format to use. This only applies when using `ReturnAsStream`\ntransfer mode (defaults to `json`).",
- "optional": true,
- "$ref": "StreamFormat"
- },
- {
- "name": "streamCompression",
- "description": "Compression format to use. This only applies when using `ReturnAsStream`\ntransfer mode (defaults to `none`)",
- "optional": true,
- "$ref": "StreamCompression"
- },
- {
- "name": "traceConfig",
+ "name": "backupEligibility",
"optional": true,
- "$ref": "TraceConfig"
+ "type": "boolean"
},
{
- "name": "perfettoConfig",
- "description": "Base64-encoded serialized perfetto.protos.TraceConfig protobuf message\nWhen specified, the parameters `categories`, `options`, `traceConfig`\nare ignored. (Encoded as a base64 string when passed over JSON)",
+ "name": "backupState",
"optional": true,
- "type": "string"
+ "type": "boolean"
}
]
}
],
"events": [
{
- "name": "bufferUsage",
+ "name": "credentialAdded",
+ "description": "Triggered when a credential is added to an authenticator.",
"parameters": [
{
- "name": "percentFull",
- "description": "A number in range [0..1] that indicates the used size of event buffer as a fraction of its\ntotal size.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "eventCount",
- "description": "An approximate number of events in the trace log.",
- "optional": true,
- "type": "number"
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
},
{
- "name": "value",
- "description": "A number in range [0..1] that indicates the used size of event buffer as a fraction of its\ntotal size.",
- "optional": true,
- "type": "number"
+ "name": "credential",
+ "$ref": "Credential"
}
]
},
{
- "name": "dataCollected",
- "description": "Contains an bucket of collected trace events. When tracing is stopped collected events will be\nsend as a sequence of dataCollected events followed by tracingComplete event.",
+ "name": "credentialDeleted",
+ "description": "Triggered when a credential is deleted, e.g. through\nPublicKeyCredential.signalUnknownCredential().",
"parameters": [
{
- "name": "value",
- "type": "array",
- "items": {
- "type": "object"
- }
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ },
+ {
+ "name": "credentialId",
+ "type": "string"
}
]
},
{
- "name": "tracingComplete",
- "description": "Signals that tracing is stopped and there is no trace buffers pending flush, all data were\ndelivered via dataCollected events.",
+ "name": "credentialUpdated",
+ "description": "Triggered when a credential is updated, e.g. through\nPublicKeyCredential.signalCurrentUserDetails().",
"parameters": [
{
- "name": "dataLossOccurred",
- "description": "Indicates whether some trace data is known to have been lost, e.g. because the trace ring\nbuffer wrapped around.",
- "type": "boolean"
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
},
{
- "name": "stream",
- "description": "A handle of the stream that holds resulting trace data.",
- "optional": true,
- "$ref": "IO.StreamHandle"
- },
+ "name": "credential",
+ "$ref": "Credential"
+ }
+ ]
+ },
+ {
+ "name": "credentialAsserted",
+ "description": "Triggered when a credential is used in a webauthn assertion.",
+ "parameters": [
{
- "name": "traceFormat",
- "description": "Trace data format of returned stream.",
- "optional": true,
- "$ref": "StreamFormat"
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
},
{
- "name": "streamCompression",
- "description": "Compression format of returned stream.",
- "optional": true,
- "$ref": "StreamCompression"
+ "name": "credential",
+ "$ref": "Credential"
}
]
}
]
},
{
- "domain": "Fetch",
- "description": "A domain for letting clients substitute browser's network layer with client code.",
- "dependencies": [
- "Network",
- "IO",
- "Page"
- ],
+ "domain": "Media",
+ "description": "This domain allows detailed inspection of media elements",
+ "experimental": true,
"types": [
{
- "id": "RequestId",
- "description": "Unique request identifier.",
+ "id": "PlayerId",
+ "description": "Players will get an ID that is unique within the agent context.",
"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": "Timestamp",
+ "type": "number"
},
{
- "id": "RequestPattern",
+ "id": "PlayerMessage",
+ "description": "Have one type per entry in MediaLogRecord::Type\nCorresponds to kMessage",
"type": "object",
"properties": [
{
- "name": "urlPattern",
- "description": "Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to \"*\".",
- "optional": true,
- "type": "string"
- },
- {
- "name": "resourceType",
- "description": "If set, only requests for matching resource types will be intercepted.",
- "optional": true,
- "$ref": "Network.ResourceType"
+ "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": "requestStage",
- "description": "Stage at wich to begin intercepting requests. Default is Request.",
- "optional": true,
- "$ref": "RequestStage"
+ "name": "message",
+ "type": "string"
}
]
},
{
- "id": "HeaderEntry",
- "description": "Response HTTP header entry",
+ "id": "PlayerProperty",
+ "description": "Corresponds to kMediaPropertyChange",
"type": "object",
"properties": [
{
@@ -17885,922 +27572,1272 @@
]
},
{
- "id": "AuthChallenge",
- "description": "Authorization challenge for HTTP status code 401 or 407.",
+ "id": "PlayerEvent",
+ "description": "Corresponds to kMediaEventTriggered",
"type": "object",
"properties": [
{
- "name": "source",
- "description": "Source of the authentication challenge.",
- "optional": true,
- "type": "string",
- "enum": [
- "Server",
- "Proxy"
- ]
+ "name": "timestamp",
+ "$ref": "Timestamp"
},
{
- "name": "origin",
- "description": "Origin of the challenger.",
+ "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": "scheme",
- "description": "The authentication scheme used, such as basic or digest",
+ "name": "file",
"type": "string"
},
{
- "name": "realm",
- "description": "The realm of the challenge. May be empty.",
- "type": "string"
+ "name": "line",
+ "type": "integer"
}
]
},
{
- "id": "AuthChallengeResponse",
- "description": "Response to an AuthChallenge.",
+ "id": "PlayerError",
+ "description": "Corresponds to kMediaError",
"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": "errorType",
+ "type": "string"
},
{
- "name": "username",
- "description": "The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
- "optional": true,
- "type": "string"
+ "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": "password",
- "description": "The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
- "optional": true,
- "type": "string"
+ "name": "stack",
+ "description": "A trace of where this error was caused / where it passed through.",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerErrorSourceLocation"
+ }
+ },
+ {
+ "name": "cause",
+ "description": "Errors potentially have a root cause error, ie, a DecoderError might be\ncaused by an WindowsError",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerError"
+ }
+ },
+ {
+ "name": "data",
+ "description": "Extra data attached to an error, such as an HRESULT, Video Codec, etc.",
+ "type": "object"
}
]
}
],
- "commands": [
- {
- "name": "disable",
- "description": "Disables the fetch domain."
- },
+ "events": [
{
- "name": "enable",
- "description": "Enables issuing of requestPaused events. A request will be paused until client\ncalls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.",
+ "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": "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,
+ "name": "playerId",
+ "$ref": "PlayerId"
+ },
+ {
+ "name": "properties",
"type": "array",
"items": {
- "$ref": "RequestPattern"
+ "$ref": "PlayerProperty"
}
- },
- {
- "name": "handleAuthRequests",
- "description": "If true, authRequired events will be issued and requests will be paused\nexpecting a call to continueWithAuth.",
- "optional": true,
- "type": "boolean"
}
]
},
{
- "name": "failRequest",
- "description": "Causes the request to fail with specified reason.",
+ "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": "requestId",
- "description": "An id the client received in requestPaused event.",
- "$ref": "RequestId"
+ "name": "playerId",
+ "$ref": "PlayerId"
},
{
- "name": "errorReason",
- "description": "Causes the request to fail with the given reason.",
- "$ref": "Network.ErrorReason"
+ "name": "events",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerEvent"
+ }
}
]
},
{
- "name": "fulfillRequest",
- "description": "Provides response to the request.",
+ "name": "playerMessagesLogged",
+ "description": "Send a list of any messages that need to be delivered.",
"parameters": [
{
- "name": "requestId",
- "description": "An id the client received in requestPaused event.",
- "$ref": "RequestId"
- },
- {
- "name": "responseCode",
- "description": "An HTTP response code.",
- "type": "integer"
+ "name": "playerId",
+ "$ref": "PlayerId"
},
{
- "name": "responseHeaders",
- "description": "Response headers.",
- "optional": true,
+ "name": "messages",
"type": "array",
"items": {
- "$ref": "HeaderEntry"
+ "$ref": "PlayerMessage"
}
- },
- {
- "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. (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": "continueRequest",
- "description": "Continues the request, optionally modifying some of its parameters.",
+ "name": "playerErrorsRaised",
+ "description": "Send a list of any errors that need to be delivered.",
"parameters": [
{
- "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": "method",
- "description": "If set, the request method is overridden.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "postData",
- "description": "If set, overrides the post data in the request. (Encoded as a base64 string when passed over JSON)",
- "optional": true,
- "type": "string"
+ "name": "playerId",
+ "$ref": "PlayerId"
},
{
- "name": "headers",
- "description": "If set, overrides the request headers.",
- "optional": true,
+ "name": "errors",
"type": "array",
"items": {
- "$ref": "HeaderEntry"
+ "$ref": "PlayerError"
}
}
]
},
{
- "name": "continueWithAuth",
- "description": "Continues a request supplying authChallengeResponse following authRequired event.",
+ "name": "playersCreated",
+ "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 the full\nlist of player ids and all events again.",
"parameters": [
{
- "name": "requestId",
- "description": "An id the client received in authRequired event.",
- "$ref": "RequestId"
+ "name": "players",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerId"
+ }
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "enable",
+ "description": "Enables the Media domain"
+ },
+ {
+ "name": "disable",
+ "description": "Disables the Media domain."
+ }
+ ]
+ },
+ {
+ "domain": "DeviceAccess",
+ "experimental": true,
+ "types": [
+ {
+ "id": "RequestId",
+ "description": "Device request id.",
+ "type": "string"
+ },
+ {
+ "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": "authChallengeResponse",
- "description": "Response to with an authChallenge.",
- "$ref": "AuthChallengeResponse"
+ "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": "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.",
+ "name": "disable",
+ "description": "Disable events in this domain."
+ },
+ {
+ "name": "selectPrompt",
+ "description": "Select a device in response to a DeviceAccess.deviceRequestPrompted event.",
"parameters": [
{
- "name": "requestId",
- "description": "Identifier for the intercepted request to get body for.",
+ "name": "id",
"$ref": "RequestId"
- }
- ],
- "returns": [
- {
- "name": "body",
- "description": "Response body.",
- "type": "string"
},
{
- "name": "base64Encoded",
- "description": "True, if content was sent as base64.",
- "type": "boolean"
+ "name": "deviceId",
+ "$ref": "DeviceId"
}
]
},
{
- "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.",
+ "name": "cancelPrompt",
+ "description": "Cancel a prompt in response to a DeviceAccess.deviceRequestPrompted event.",
"parameters": [
{
- "name": "requestId",
+ "name": "id",
"$ref": "RequestId"
}
- ],
- "returns": [
- {
- "name": "stream",
- "$ref": "IO.StreamHandle"
- }
]
}
],
"events": [
{
- "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.",
+ "name": "deviceRequestPrompted",
+ "description": "A device request opened a user prompt to select a device. Respond with the\nselectPrompt or cancelPrompt command.",
"parameters": [
{
- "name": "requestId",
- "description": "Each request the page makes will have a unique id.",
+ "name": "id",
"$ref": "RequestId"
},
{
- "name": "request",
- "description": "The details of the request.",
- "$ref": "Network.Request"
- },
+ "name": "devices",
+ "type": "array",
+ "items": {
+ "$ref": "PromptDevice"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Preload",
+ "experimental": true,
+ "types": [
+ {
+ "id": "RuleSetId",
+ "description": "Unique id",
+ "type": "string"
+ },
+ {
+ "id": "RuleSet",
+ "description": "Corresponds to SpeculationRuleSet",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "The id of the frame that initiated the request.",
- "$ref": "Page.FrameId"
+ "name": "id",
+ "$ref": "RuleSetId"
},
{
- "name": "resourceType",
- "description": "How the requested resource will be used.",
- "$ref": "Network.ResourceType"
+ "name": "loaderId",
+ "description": "Identifies a document which the rule set is associated with.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "responseErrorReason",
- "description": "Response error if intercepted at response stage.",
- "optional": true,
- "$ref": "Network.ErrorReason"
+ "name": "sourceText",
+ "description": "Source text of JSON representing the rule set. If it comes from\n`