chrome-devtools-mcp 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -4
- package/build/src/HeapSnapshotManager.js +25 -16
- package/build/src/McpContext.js +35 -1
- package/build/src/McpResponse.js +77 -7
- package/build/src/PageCollector.js +1 -1
- package/build/src/bin/check-latest-version.js +1 -0
- package/build/src/bin/chrome-devtools-cli-options.js +84 -0
- package/build/src/bin/chrome-devtools-mcp-cli-options.js +47 -3
- package/build/src/{DevToolsConnectionAdapter.js → devtools/DevToolsConnectionAdapter.js} +1 -1
- package/build/src/{DevtoolsUtils.js → devtools/DevtoolsUtils.js} +75 -71
- package/build/src/devtools/McpHostBindingAdapter.js +165 -0
- package/build/src/formatters/ConsoleFormatter.js +1 -1
- package/build/src/formatters/HeapSnapshotFormatter.js +22 -0
- package/build/src/formatters/NetworkFormatter.js +3 -1
- package/build/src/third_party/THIRD_PARTY_NOTICES +4 -4
- package/build/src/third_party/bundled-packages.json +3 -3
- package/build/src/third_party/devtools-formatter-worker.js +0 -1
- package/build/src/third_party/devtools-heap-snapshot-worker.js +67 -3
- package/build/src/third_party/index.js +1971 -426
- package/build/src/tools/memory.js +76 -0
- package/build/src/tools/screencast.js +30 -9
- package/build/src/tools/screenshot.js +158 -76
- package/build/src/utils/check-for-updates.js +1 -0
- package/build/src/version.js +1 -1
- package/package.json +7 -6
- package/skills/a11y-debugging/SKILL.md +89 -0
- package/skills/a11y-debugging/references/a11y-snippets.md +92 -0
- package/skills/chrome-devtools/SKILL.md +72 -0
- package/skills/chrome-devtools-cli/SKILL.md +153 -0
- package/skills/chrome-devtools-cli/references/installation.md +14 -0
- package/skills/debug-optimize-lcp/SKILL.md +121 -0
- package/skills/debug-optimize-lcp/references/elements-and-size.md +27 -0
- package/skills/debug-optimize-lcp/references/lcp-breakdown.md +23 -0
- package/skills/debug-optimize-lcp/references/lcp-snippets.md +79 -0
- package/skills/debug-optimize-lcp/references/optimization-strategies.md +38 -0
- package/skills/memory-leak-debugging/SKILL.md +50 -0
- package/skills/memory-leak-debugging/references/common-leaks.md +33 -0
- package/skills/memory-leak-debugging/references/compare_snapshots.js +109 -0
- package/skills/memory-leak-debugging/references/memlab.md +29 -0
- package/skills/troubleshooting/SKILL.md +98 -0
|
@@ -15,12 +15,13 @@ import require$$1 from 'tty';
|
|
|
15
15
|
import require$$0 from 'os';
|
|
16
16
|
import require$$0$3 from 'child_process';
|
|
17
17
|
import { PassThrough } from 'node:stream';
|
|
18
|
+
import { debuglog, promisify } from 'node:util';
|
|
18
19
|
import { mkdtemp, unlink, rename } from 'node:fs/promises';
|
|
19
20
|
import { EventEmitter as EventEmitter$1 } from 'node:events';
|
|
21
|
+
import 'node:crypto';
|
|
20
22
|
import * as http from 'node:http';
|
|
21
23
|
import * as https from 'node:https';
|
|
22
24
|
import { urlToHttpOptions, URL as URL$1 } from 'node:url';
|
|
23
|
-
import { debuglog, promisify } from 'node:util';
|
|
24
25
|
import 'node:assert';
|
|
25
26
|
import require$$0$7 from 'events';
|
|
26
27
|
import require$$1$3 from 'https';
|
|
@@ -10507,6 +10508,18 @@ function requireSemver$1 () {
|
|
|
10507
10508
|
const { safeRe: re, t } = requireRe();
|
|
10508
10509
|
const parseOptions = requireParseOptions();
|
|
10509
10510
|
const { compareIdentifiers } = requireIdentifiers();
|
|
10511
|
+
const isPrereleaseIdentifier = (prerelease, identifier) => {
|
|
10512
|
+
const identifiers = identifier.split('.');
|
|
10513
|
+
if (identifiers.length > prerelease.length) {
|
|
10514
|
+
return false
|
|
10515
|
+
}
|
|
10516
|
+
for (let i = 0; i < identifiers.length; i++) {
|
|
10517
|
+
if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) {
|
|
10518
|
+
return false
|
|
10519
|
+
}
|
|
10520
|
+
}
|
|
10521
|
+
return true
|
|
10522
|
+
};
|
|
10510
10523
|
class SemVer {
|
|
10511
10524
|
constructor (version, options) {
|
|
10512
10525
|
options = parseOptions(options);
|
|
@@ -10752,8 +10765,9 @@ function requireSemver$1 () {
|
|
|
10752
10765
|
if (identifierBase === false) {
|
|
10753
10766
|
prerelease = [identifier];
|
|
10754
10767
|
}
|
|
10755
|
-
if (
|
|
10756
|
-
|
|
10768
|
+
if (isPrereleaseIdentifier(this.prerelease, identifier)) {
|
|
10769
|
+
const prereleaseBase = this.prerelease[identifier.split('.').length];
|
|
10770
|
+
if (isNaN(prereleaseBase)) {
|
|
10757
10771
|
this.prerelease = prerelease;
|
|
10758
10772
|
}
|
|
10759
10773
|
} else {
|
|
@@ -11499,6 +11513,10 @@ function requireRange () {
|
|
|
11499
11513
|
return comp
|
|
11500
11514
|
};
|
|
11501
11515
|
const isX = id => !id || id.toLowerCase() === 'x' || id === '*';
|
|
11516
|
+
const invalidXRangeOrder = (M, m, p) => (
|
|
11517
|
+
(isX(M) && !isX(m)) ||
|
|
11518
|
+
(isX(m) && p && !isX(p))
|
|
11519
|
+
);
|
|
11502
11520
|
const replaceTildes = (comp, options) => {
|
|
11503
11521
|
return comp
|
|
11504
11522
|
.trim()
|
|
@@ -11508,15 +11526,16 @@ function requireRange () {
|
|
|
11508
11526
|
};
|
|
11509
11527
|
const replaceTilde = (comp, options) => {
|
|
11510
11528
|
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
11529
|
+
const z = options.includePrerelease ? '-0' : '';
|
|
11511
11530
|
return comp.replace(r, (_, M, m, p, pr) => {
|
|
11512
11531
|
debug('tilde', comp, _, M, m, p, pr);
|
|
11513
11532
|
let ret;
|
|
11514
11533
|
if (isX(M)) {
|
|
11515
11534
|
ret = '';
|
|
11516
11535
|
} else if (isX(m)) {
|
|
11517
|
-
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
|
|
11536
|
+
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
|
|
11518
11537
|
} else if (isX(p)) {
|
|
11519
|
-
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
|
|
11538
|
+
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
|
|
11520
11539
|
} else if (pr) {
|
|
11521
11540
|
debug('replaceTilde pr', pr);
|
|
11522
11541
|
ret = `>=${M}.${m}.${p}-${pr
|
|
@@ -11572,10 +11591,10 @@ function requireRange () {
|
|
|
11572
11591
|
if (M === '0') {
|
|
11573
11592
|
if (m === '0') {
|
|
11574
11593
|
ret = `>=${M}.${m}.${p
|
|
11575
|
-
}
|
|
11594
|
+
} <${M}.${m}.${+p + 1}-0`;
|
|
11576
11595
|
} else {
|
|
11577
11596
|
ret = `>=${M}.${m}.${p
|
|
11578
|
-
}
|
|
11597
|
+
} <${M}.${+m + 1}.0-0`;
|
|
11579
11598
|
}
|
|
11580
11599
|
} else {
|
|
11581
11600
|
ret = `>=${M}.${m}.${p
|
|
@@ -11598,6 +11617,9 @@ function requireRange () {
|
|
|
11598
11617
|
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
11599
11618
|
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
|
11600
11619
|
debug('xRange', comp, ret, gtlt, M, m, p, pr);
|
|
11620
|
+
if (invalidXRangeOrder(M, m, p)) {
|
|
11621
|
+
return comp
|
|
11622
|
+
}
|
|
11601
11623
|
const xM = isX(M);
|
|
11602
11624
|
const xm = xM || isX(m);
|
|
11603
11625
|
const xp = xm || isX(p);
|
|
@@ -48120,6 +48142,37 @@ function requireAjv () {
|
|
|
48120
48142
|
var ajvExports = requireAjv();
|
|
48121
48143
|
var ajv = /*@__PURE__*/getDefaultExportFromCjs(ajvExports);
|
|
48122
48144
|
|
|
48145
|
+
/**
|
|
48146
|
+
* @license
|
|
48147
|
+
* Copyright 2020 Google Inc.
|
|
48148
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
48149
|
+
*/
|
|
48150
|
+
const isNode = !!(typeof process !== 'undefined' && process.version);
|
|
48151
|
+
const environment = {
|
|
48152
|
+
value: {
|
|
48153
|
+
get fs() {
|
|
48154
|
+
throw new Error('fs is not available in this environment');
|
|
48155
|
+
},
|
|
48156
|
+
ScreenRecorder: class {
|
|
48157
|
+
constructor() {
|
|
48158
|
+
throw new Error('ScreenRecorder is not available in this environment');
|
|
48159
|
+
}
|
|
48160
|
+
},
|
|
48161
|
+
},
|
|
48162
|
+
};
|
|
48163
|
+
|
|
48164
|
+
/**
|
|
48165
|
+
* @license
|
|
48166
|
+
* Copyright 2026 Google Inc.
|
|
48167
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
48168
|
+
*/
|
|
48169
|
+
environment.value = {
|
|
48170
|
+
fs,
|
|
48171
|
+
path,
|
|
48172
|
+
debuglog,
|
|
48173
|
+
ScreenRecorder: environment.value.ScreenRecorder,
|
|
48174
|
+
};
|
|
48175
|
+
|
|
48123
48176
|
/**
|
|
48124
48177
|
Apache License
|
|
48125
48178
|
Version 2.0, January 2004
|
|
@@ -50607,23 +50660,6 @@ class SuppressedErrorPolyfill extends Error {
|
|
|
50607
50660
|
}
|
|
50608
50661
|
}
|
|
50609
50662
|
|
|
50610
|
-
/**
|
|
50611
|
-
* @license
|
|
50612
|
-
* Copyright 2020 Google Inc.
|
|
50613
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
50614
|
-
*/
|
|
50615
|
-
const isNode = !!(typeof process !== 'undefined' && process.version);
|
|
50616
|
-
const environment = {
|
|
50617
|
-
value: {
|
|
50618
|
-
get fs() {
|
|
50619
|
-
throw new Error('fs is not available in this environment');
|
|
50620
|
-
},
|
|
50621
|
-
get ScreenRecorder() {
|
|
50622
|
-
throw new Error('ScreenRecorder is not available in this environment');
|
|
50623
|
-
},
|
|
50624
|
-
},
|
|
50625
|
-
};
|
|
50626
|
-
|
|
50627
50663
|
/**
|
|
50628
50664
|
* @license
|
|
50629
50665
|
* Copyright 2020 Google Inc.
|
|
@@ -50686,39 +50722,36 @@ function mergeUint8Arrays(items) {
|
|
|
50686
50722
|
* Copyright 2025 Google Inc.
|
|
50687
50723
|
* SPDX-License-Identifier: Apache-2.0
|
|
50688
50724
|
*/
|
|
50689
|
-
const packageVersion = '25.
|
|
50725
|
+
const packageVersion = '25.2.0';
|
|
50690
50726
|
|
|
50691
50727
|
/**
|
|
50692
50728
|
* @license
|
|
50693
50729
|
* Copyright 2020 Google Inc.
|
|
50694
50730
|
* SPDX-License-Identifier: Apache-2.0
|
|
50695
50731
|
*/
|
|
50696
|
-
let debugModule = null;
|
|
50697
|
-
async function importDebug() {
|
|
50698
|
-
if (!debugModule) {
|
|
50699
|
-
debugModule = (await import('node:util')).debuglog;
|
|
50700
|
-
}
|
|
50701
|
-
return debugModule;
|
|
50702
|
-
}
|
|
50703
50732
|
const debug$1 = (prefix) => {
|
|
50704
50733
|
if (isNode) {
|
|
50705
|
-
|
|
50706
|
-
|
|
50734
|
+
const nodeDebug = environment.value.debuglog?.(prefix);
|
|
50735
|
+
if (!nodeDebug || !nodeDebug.enabled) {
|
|
50736
|
+
return;
|
|
50737
|
+
}
|
|
50738
|
+
return (...logArgs) => {
|
|
50739
|
+
nodeDebug(...logArgs);
|
|
50707
50740
|
};
|
|
50708
50741
|
}
|
|
50742
|
+
const debugLevel = globalThis.__PUPPETEER_DEBUG;
|
|
50743
|
+
if (!debugLevel) {
|
|
50744
|
+
return;
|
|
50745
|
+
}
|
|
50746
|
+
const everythingShouldBeLogged = debugLevel === '*';
|
|
50747
|
+
const prefixMatchesDebugLevel = everythingShouldBeLogged ||
|
|
50748
|
+
(debugLevel.endsWith('*')
|
|
50749
|
+
? prefix.startsWith(debugLevel.slice(0, -1))
|
|
50750
|
+
: prefix === debugLevel);
|
|
50751
|
+
if (!prefixMatchesDebugLevel) {
|
|
50752
|
+
return;
|
|
50753
|
+
}
|
|
50709
50754
|
return (...logArgs) => {
|
|
50710
|
-
const debugLevel = globalThis.__PUPPETEER_DEBUG;
|
|
50711
|
-
if (!debugLevel) {
|
|
50712
|
-
return;
|
|
50713
|
-
}
|
|
50714
|
-
const everythingShouldBeLogged = debugLevel === '*';
|
|
50715
|
-
const prefixMatchesDebugLevel = everythingShouldBeLogged ||
|
|
50716
|
-
(debugLevel.endsWith('*')
|
|
50717
|
-
? prefix.startsWith(debugLevel)
|
|
50718
|
-
: prefix === debugLevel);
|
|
50719
|
-
if (!prefixMatchesDebugLevel) {
|
|
50720
|
-
return;
|
|
50721
|
-
}
|
|
50722
50755
|
console.log(`${prefix}:`, ...logArgs);
|
|
50723
50756
|
};
|
|
50724
50757
|
};
|
|
@@ -50822,6 +50855,7 @@ const paperFormats = {
|
|
|
50822
50855
|
* SPDX-License-Identifier: Apache-2.0
|
|
50823
50856
|
*/
|
|
50824
50857
|
const debugError = debug$1('puppeteer:error');
|
|
50858
|
+
const debugCatchError = debugError ?? (() => { });
|
|
50825
50859
|
const DEFAULT_VIEWPORT = Object.freeze({ width: 800, height: 600 });
|
|
50826
50860
|
const SOURCE_URL = Symbol('Source URL for Puppeteer evaluation scripts');
|
|
50827
50861
|
class PuppeteerURL {
|
|
@@ -50934,7 +50968,7 @@ async function getReadableAsTypedArray(readable, path) {
|
|
|
50934
50968
|
return concat;
|
|
50935
50969
|
}
|
|
50936
50970
|
catch (error) {
|
|
50937
|
-
debugError(error);
|
|
50971
|
+
debugError?.(error);
|
|
50938
50972
|
return null;
|
|
50939
50973
|
}
|
|
50940
50974
|
}
|
|
@@ -51149,7 +51183,7 @@ class EventEmitter {
|
|
|
51149
51183
|
return this;
|
|
51150
51184
|
}
|
|
51151
51185
|
[disposeSymbol]() {
|
|
51152
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
51186
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
51153
51187
|
}
|
|
51154
51188
|
async [asyncDisposeSymbol]() {
|
|
51155
51189
|
for (const [type, handlers] of this.#handlers) {
|
|
@@ -51214,7 +51248,7 @@ let Browser$1 = class Browser extends EventEmitter {
|
|
|
51214
51248
|
return await this.defaultBrowserContext().setPermission(origin, ...permissions);
|
|
51215
51249
|
}
|
|
51216
51250
|
[disposeSymbol]() {
|
|
51217
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
51251
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
51218
51252
|
}
|
|
51219
51253
|
async [asyncDisposeSymbol]() {
|
|
51220
51254
|
if (this.process()) {
|
|
@@ -51443,7 +51477,7 @@ class BrowserContext extends EventEmitter {
|
|
|
51443
51477
|
return undefined;
|
|
51444
51478
|
}
|
|
51445
51479
|
[disposeSymbol]() {
|
|
51446
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
51480
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
51447
51481
|
}
|
|
51448
51482
|
async [asyncDisposeSymbol]() {
|
|
51449
51483
|
await this.close();
|
|
@@ -52011,7 +52045,7 @@ class CSSQueryHandler extends QueryHandler {
|
|
|
52011
52045
|
};
|
|
52012
52046
|
}
|
|
52013
52047
|
|
|
52014
|
-
const source = "\"use strict\";var N=Object.defineProperty;var
|
|
52048
|
+
const source = "\"use strict\";var N=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)N(t,r,{get:e[r],enumerable:!0})},J=(t,e,r,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of Y(e))!G.call(t,n)&&n!==r&&N(t,n,{get:()=>e[n],enumerable:!(o=B(e,n))||o.enumerable});return t};var z=t=>J(N({},\"__esModule\",{value:!0}),t);var ye={};l(ye,{default:()=>pe});module.exports=z(ye);var b=class extends Error{constructor(e,r){super(e,r),this.name=this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},p=class extends b{};var c=class t{static create(e){return new t(e)}static async race(e){let r=new Set;try{let o=e.map(n=>n instanceof t?(n.#n&&r.add(n),n.valueOrThrow()):n);return await Promise.race(o)}finally{for(let o of r)o.reject(new Error(\"Timeout cleared\"))}}#e=!1;#r=!1;#o;#t;#a=new Promise(e=>{this.#t=e});#n;#i;constructor(e){e&&e.timeout>0&&(this.#i=new p(e.message),this.#n=setTimeout(()=>{this.reject(this.#i)},e.timeout))}#l(e){clearTimeout(this.#n),this.#o=e,this.#t()}resolve(e){this.#r||this.#e||(this.#e=!0,this.#l(e))}reject(e){this.#r||this.#e||(this.#r=!0,this.#l(e))}resolved(){return this.#e}finished(){return this.#e||this.#r}value(){return this.#o}#s;valueOrThrow(){return this.#s||(this.#s=(async()=>{if(await this.#a,this.#r)throw this.#o;return this.#o})()),this.#s}};var W=new Map,j=t=>{let e=W.get(t);return e||(e=new Function(`return ${t}`)(),W.set(t,e),e)};var v={};l(v,{ariaQuerySelector:()=>K,ariaQuerySelectorAll:()=>x});var K=(t,e)=>globalThis.__ariaQuerySelector(t,e),x=async function*(t,e){yield*await globalThis.__ariaQuerySelectorAll(t,e)};var E={};l(E,{cssQuerySelector:()=>Z,cssQuerySelectorAll:()=>ee});var Z=(t,e)=>t.querySelector(e),ee=function(t,e){return t.querySelectorAll(e)};var A={};l(A,{CustomQuerySelectorRegistry:()=>y,customQuerySelectors:()=>P});var y=class{#e=new Map;register(e,r){if(!r.queryOne&&r.queryAll){let o=r.queryAll;r.queryOne=(n,i)=>{for(let s of o(n,i))return s;return null}}else if(r.queryOne&&!r.queryAll){let o=r.queryOne;r.queryAll=(n,i)=>{let s=o(n,i);return s?[s]:[]}}else if(!r.queryOne||!r.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:r.queryOne,querySelectorAll:r.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},P=new y;var R={};l(R,{pierceQuerySelector:()=>te,pierceQuerySelectorAll:()=>re});var te=(t,e)=>{let r=null,o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&!r&&s.matches(e)&&(r=s)}while(!r&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r},re=(t,e)=>{let r=[],o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&s.matches(e)&&r.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r};var u=(t,e)=>{if(!t)throw new Error(e)};var w=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=new MutationObserver(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())}),this.#o.observe(this.#r,{childList:!0,subtree:!0,attributes:!0})}async stop(){u(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\")),this.#o&&(this.#o.disconnect(),this.#o=void 0)}result(){return u(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},T=class{#e;#r;constructor(e){this.#e=e}async start(){let e=this.#r=c.create(),r=await this.#e();if(r){e.resolve(r);return}let o=async()=>{if(e.finished())return;let n=await this.#e();if(!n){window.requestAnimationFrame(o);return}e.resolve(n),await this.stop()};window.requestAnimationFrame(o)}async stop(){u(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\"))}result(){return u(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},S=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=setInterval(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())},this.#r)}async stop(){u(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\")),this.#o&&(clearInterval(this.#o),this.#o=void 0)}result(){return u(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}};var L={};l(L,{PCombinator:()=>U,pQuerySelector:()=>me,pQuerySelectorAll:()=>X});var a=class{static async*map(e,r){for await(let o of e)yield await r(o)}static async*flatMap(e,r){for await(let o of e)yield*r(o)}static async collect(e){let r=[];for await(let o of e)r.push(o);return r}static async first(e){for await(let r of e)return r}};var O={};l(O,{textQuerySelectorAll:()=>m});var oe=new Set([\"checkbox\",\"image\",\"radio\"]),ne=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!oe.has(t.type),se=new Set([\"SCRIPT\",\"STYLE\"]),f=t=>!se.has(t.nodeName)&&!document.head?.contains(t),C=new WeakMap,V=t=>{for(;t;)C.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},F=new WeakSet,I,ie=()=>{let t=globalThis.MutationObserver;if(!t)throw new Error(\"MutationObserver is not available in this environment.\");return I||(I=new t(e=>{for(let r of e)V(r.target)})),I},d=t=>{let e=C.get(t);if(e||(e={full:\"\",immediate:[]},!f(t)))return e;let r=\"\";if(ne(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",o=>{V(o.target)},{once:!0,capture:!0});else{for(let o=t.firstChild;o;o=o.nextSibling){if(o.nodeType===Node.TEXT_NODE){e.full+=o.nodeValue??\"\",r+=o.nodeValue??\"\";continue}r&&e.immediate.push(r),r=\"\",o.nodeType===Node.ELEMENT_NODE&&(e.full+=d(o).full)}r&&e.immediate.push(r),t instanceof Element&&t.shadowRoot&&(e.full+=d(t.shadowRoot).full),F.has(t)||(ie().observe(t,{childList:!0,characterData:!0,subtree:!0}),F.add(t))}return C.set(t,e),e};var m=function*(t,e){let r=!1;for(let o of t.childNodes)if(o instanceof Element&&f(o)){let n;o.shadowRoot?n=m(o.shadowRoot,e):n=m(o,e);for(let i of n)yield i,r=!0}r||t instanceof Element&&f(t)&&d(t).full.includes(e)&&(yield t)};var M={};l(M,{checkVisibility:()=>ae,pierce:()=>g,pierceAll:()=>k});var le=[\"hidden\",\"collapse\"],ae=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let r=t.nodeType===Node.TEXT_NODE?t.parentElement:t,o=window.getComputedStyle(r),n=o&&!le.includes(o.visibility)&&!ce(r);return e===n?t:!1};function ce(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var ue=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*g(t){ue(t)?yield t.shadowRoot:yield t}function*k(t){t=g(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let r of e){let o;for(;o=r.nextNode();)o.shadowRoot&&(yield o.shadowRoot,e.push(document.createTreeWalker(o.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var D={};l(D,{xpathQuerySelectorAll:()=>q});var q=function*(t,e,r=-1){let n=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),i=[],s;for(;(s=n.iterateNext())&&(i.push(s),!(r&&i.length===r)););for(let h=0;h<i.length;h++)s=i[h],yield s,i[h]=null};var de=/[-\\w\\P{ASCII}*]/u,U=(r=>(r.Descendent=\">>>\",r.Child=\">>>>\",r))(U||{}),H=t=>\"querySelectorAll\"in t,Q=class{#e;#r=[];#o=void 0;elements;constructor(e,r){this.elements=[e],this.#e=r,this.#t()}async run(){for(typeof this.#o==\"string\"&&this.#o.trimStart()===\":scope\"&&this.#t();this.#o!==void 0;this.#t()){let e=this.#o;typeof e==\"string\"?e[0]&&de.test(e[0])?this.elements=a.flatMap(this.elements,async function*(r){H(r)&&(yield*r.querySelectorAll(e))}):this.elements=a.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!H(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let n of r.parentElement.children)if(++o,n===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=a.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*m(r,e.value);break;case\"xpath\":yield*q(r,e.value);break;case\"aria\":yield*x(r,e.value);break;default:let o=P.get(e.name);if(!o)throw new Error(`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#t(){if(this.#r.length!==0){this.#o=this.#r.shift();return}if(this.#e.length===0){this.#o=void 0;return}let e=this.#e.shift();switch(e){case\">>>>\":{this.elements=a.flatMap(this.elements,g),this.#t();break}case\">>>\":{this.elements=a.flatMap(this.elements,k),this.#t();break}default:this.#r=e,this.#t();break}}},_=class{#e=new WeakMap;calculate(e,r=[]){if(e===null)return r;e instanceof ShadowRoot&&(e=e.host);let o=this.#e.get(e);if(o)return[...o,...r];let n=0;for(let s=e.previousSibling;s;s=s.previousSibling)++n;let i=this.calculate(e.parentNode,[n]);return this.#e.set(e,i),[...i,...r]}},$=(t,e)=>{if(t.length+e.length===0)return 0;let[r=-1,...o]=t,[n=-1,...i]=e;return r===n?$(o,i):r<n?-1:1},fe=async function*(t){let e=new Set;for await(let o of t)e.add(o);let r=new _;yield*[...e.values()].map(o=>[o,r.calculate(o)]).sort(([,o],[,n])=>$(o,n)).map(([o])=>o)},X=function(t,e){let r=JSON.parse(e);if(r.some(o=>{let n=0;return o.some(i=>(typeof i==\"string\"?++n:n=0,n>1))}))throw new Error(\"Multiple deep combinators found in sequence.\");return fe(a.flatMap(r,o=>{let n=new Q(t,o);return n.run(),n.elements}))},me=async function(t,e){for await(let r of X(t,e))return r;return null};var he=Object.freeze({...v,...A,...R,...L,...O,...M,...D,...E,Deferred:c,createFunction:j,createTextContent:d,IntervalPoller:S,isSuitableNodeForTextMatching:f,MutationPoller:w,RAFPoller:T}),pe=he;\n";
|
|
52015
52049
|
|
|
52016
52050
|
/**
|
|
52017
52051
|
* @license
|
|
@@ -52804,14 +52838,7 @@ let JSHandle = (() => {
|
|
|
52804
52838
|
}
|
|
52805
52839
|
async getProperties() {
|
|
52806
52840
|
const propertyNames = await this.evaluate(object => {
|
|
52807
|
-
|
|
52808
|
-
const descriptors = Object.getOwnPropertyDescriptors(object);
|
|
52809
|
-
for (const propertyName in descriptors) {
|
|
52810
|
-
if (descriptors[propertyName]?.enumerable) {
|
|
52811
|
-
enumerableProperties.push(propertyName);
|
|
52812
|
-
}
|
|
52813
|
-
}
|
|
52814
|
-
return enumerableProperties;
|
|
52841
|
+
return Object.keys(object ?? {});
|
|
52815
52842
|
});
|
|
52816
52843
|
const map = new Map();
|
|
52817
52844
|
const results = await Promise.all(propertyNames.map(key => {
|
|
@@ -52836,7 +52863,7 @@ let JSHandle = (() => {
|
|
|
52836
52863
|
return map;
|
|
52837
52864
|
}
|
|
52838
52865
|
[(_getProperty_decorators = [throwIfDisposed()], _getProperties_decorators = [throwIfDisposed()], disposeSymbol)]() {
|
|
52839
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
52866
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
52840
52867
|
}
|
|
52841
52868
|
[asyncDisposeSymbol]() {
|
|
52842
52869
|
return this.dispose();
|
|
@@ -53046,7 +53073,7 @@ class Locator extends EventEmitter {
|
|
|
53046
53073
|
return this.emit(LocatorEvent.Action, undefined);
|
|
53047
53074
|
}), mergeMap(handle => {
|
|
53048
53075
|
return from(handle.click(options)).pipe(catchError(err => {
|
|
53049
|
-
void handle.dispose().catch(
|
|
53076
|
+
void handle.dispose().catch(debugCatchError);
|
|
53050
53077
|
throw err;
|
|
53051
53078
|
}));
|
|
53052
53079
|
}), this.operators.retryAndRaceWithSignalAndTimer(signal, cause));
|
|
@@ -53187,7 +53214,7 @@ class Locator extends EventEmitter {
|
|
|
53187
53214
|
}
|
|
53188
53215
|
}))
|
|
53189
53216
|
.pipe(catchError(err => {
|
|
53190
|
-
void handle.dispose().catch(
|
|
53217
|
+
void handle.dispose().catch(debugCatchError);
|
|
53191
53218
|
throw err;
|
|
53192
53219
|
}));
|
|
53193
53220
|
}), this.operators.retryAndRaceWithSignalAndTimer(signal, cause));
|
|
@@ -53202,7 +53229,7 @@ class Locator extends EventEmitter {
|
|
|
53202
53229
|
return this.emit(LocatorEvent.Action, undefined);
|
|
53203
53230
|
}), mergeMap(handle => {
|
|
53204
53231
|
return from(handle.hover()).pipe(catchError(err => {
|
|
53205
|
-
void handle.dispose().catch(
|
|
53232
|
+
void handle.dispose().catch(debugCatchError);
|
|
53206
53233
|
throw err;
|
|
53207
53234
|
}));
|
|
53208
53235
|
}), this.operators.retryAndRaceWithSignalAndTimer(signal, cause));
|
|
@@ -53224,7 +53251,7 @@ class Locator extends EventEmitter {
|
|
|
53224
53251
|
el.scrollLeft = scrollLeft;
|
|
53225
53252
|
}
|
|
53226
53253
|
}, options?.scrollTop, options?.scrollLeft)).pipe(catchError(err => {
|
|
53227
|
-
void handle.dispose().catch(
|
|
53254
|
+
void handle.dispose().catch(debugCatchError);
|
|
53228
53255
|
throw err;
|
|
53229
53256
|
}));
|
|
53230
53257
|
}), this.operators.retryAndRaceWithSignalAndTimer(signal, cause));
|
|
@@ -55066,13 +55093,17 @@ var InterceptResolutionAction;
|
|
|
55066
55093
|
})(InterceptResolutionAction || (InterceptResolutionAction = {}));
|
|
55067
55094
|
function headersArray(headers) {
|
|
55068
55095
|
const result = [];
|
|
55069
|
-
for (const name
|
|
55096
|
+
for (const name of Object.keys(headers)) {
|
|
55070
55097
|
const value = headers[name];
|
|
55071
|
-
if (
|
|
55072
|
-
|
|
55073
|
-
|
|
55074
|
-
|
|
55075
|
-
|
|
55098
|
+
if (value !== undefined) {
|
|
55099
|
+
if (Array.isArray(value)) {
|
|
55100
|
+
for (const v of value) {
|
|
55101
|
+
result.push({ name, value: v + '' });
|
|
55102
|
+
}
|
|
55103
|
+
}
|
|
55104
|
+
else {
|
|
55105
|
+
result.push({ name, value: value + '' });
|
|
55106
|
+
}
|
|
55076
55107
|
}
|
|
55077
55108
|
}
|
|
55078
55109
|
return result;
|
|
@@ -55165,7 +55196,7 @@ function handleError(error) {
|
|
|
55165
55196
|
error.originalMessage.includes('invalid argument')) {
|
|
55166
55197
|
throw error;
|
|
55167
55198
|
}
|
|
55168
|
-
debugError(error);
|
|
55199
|
+
debugError?.(error);
|
|
55169
55200
|
}
|
|
55170
55201
|
|
|
55171
55202
|
/**
|
|
@@ -55654,7 +55685,7 @@ let Page = (() => {
|
|
|
55654
55685
|
if (viewport && viewport.deviceScaleFactor !== 0) {
|
|
55655
55686
|
await this.setViewport({ ...viewport, deviceScaleFactor: 0 });
|
|
55656
55687
|
stack.defer(() => {
|
|
55657
|
-
void this.setViewport(viewport).catch(
|
|
55688
|
+
void this.setViewport(viewport).catch(debugCatchError);
|
|
55658
55689
|
});
|
|
55659
55690
|
}
|
|
55660
55691
|
return await this.mainFrame()
|
|
@@ -55748,7 +55779,7 @@ let Page = (() => {
|
|
|
55748
55779
|
...scrollDimensions,
|
|
55749
55780
|
});
|
|
55750
55781
|
stack.defer(async () => {
|
|
55751
|
-
await this.setViewport(viewport).catch(
|
|
55782
|
+
await this.setViewport(viewport).catch(debugCatchError);
|
|
55752
55783
|
});
|
|
55753
55784
|
}
|
|
55754
55785
|
}
|
|
@@ -55804,7 +55835,7 @@ let Page = (() => {
|
|
|
55804
55835
|
[(_screenshot_decorators = [guarded(function () {
|
|
55805
55836
|
return this.browser();
|
|
55806
55837
|
})], disposeSymbol)]() {
|
|
55807
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
55838
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
55808
55839
|
}
|
|
55809
55840
|
async [asyncDisposeSymbol]() {
|
|
55810
55841
|
await this.close();
|
|
@@ -56107,6 +56138,12 @@ let WebWorker$1 = class WebWorker extends EventEmitter {
|
|
|
56107
56138
|
func = withSourcePuppeteerURLIfNone(this.evaluateHandle.name, func);
|
|
56108
56139
|
return await this.mainRealm().evaluateHandle(func, ...args);
|
|
56109
56140
|
}
|
|
56141
|
+
waitForFunction(workerFunction, options = {}, ...args) {
|
|
56142
|
+
return this.mainRealm().waitForFunction(workerFunction, {
|
|
56143
|
+
polling: 100,
|
|
56144
|
+
...options,
|
|
56145
|
+
}, ...args);
|
|
56146
|
+
}
|
|
56110
56147
|
async close() {
|
|
56111
56148
|
throw new UnsupportedOperation('WebWorker.close() is not supported');
|
|
56112
56149
|
}
|
|
@@ -56209,7 +56246,7 @@ class Accessibility {
|
|
|
56209
56246
|
root.iframeSnapshot = iframeSnapshot ?? undefined;
|
|
56210
56247
|
}
|
|
56211
56248
|
catch (error) {
|
|
56212
|
-
debugError(error);
|
|
56249
|
+
debugError?.(error);
|
|
56213
56250
|
}
|
|
56214
56251
|
}
|
|
56215
56252
|
catch (e_1) {
|
|
@@ -56220,9 +56257,9 @@ class Accessibility {
|
|
|
56220
56257
|
__disposeResources$4(env_1);
|
|
56221
56258
|
}
|
|
56222
56259
|
}
|
|
56223
|
-
|
|
56224
|
-
|
|
56225
|
-
}
|
|
56260
|
+
await Promise.all(root.children.map(child => {
|
|
56261
|
+
return populateIframes(child);
|
|
56262
|
+
}));
|
|
56226
56263
|
};
|
|
56227
56264
|
let needle = defaultRoot;
|
|
56228
56265
|
if (!defaultRoot) {
|
|
@@ -56739,7 +56776,7 @@ let Binding$2 = class Binding {
|
|
|
56739
56776
|
callbacks.get(seq).reject(error);
|
|
56740
56777
|
callbacks.delete(seq);
|
|
56741
56778
|
}, this.#name, id, error.message, error.stack)
|
|
56742
|
-
.catch(
|
|
56779
|
+
.catch(debugCatchError);
|
|
56743
56780
|
}
|
|
56744
56781
|
else {
|
|
56745
56782
|
await context
|
|
@@ -56748,7 +56785,7 @@ let Binding$2 = class Binding {
|
|
|
56748
56785
|
callbacks.get(seq).reject(error);
|
|
56749
56786
|
callbacks.delete(seq);
|
|
56750
56787
|
}, this.#name, id, error)
|
|
56751
|
-
.catch(
|
|
56788
|
+
.catch(debugCatchError);
|
|
56752
56789
|
}
|
|
56753
56790
|
}
|
|
56754
56791
|
}
|
|
@@ -56885,7 +56922,7 @@ class CallbackRegistry {
|
|
|
56885
56922
|
request(callback.id);
|
|
56886
56923
|
}
|
|
56887
56924
|
catch (error) {
|
|
56888
|
-
callback.promise.catch(
|
|
56925
|
+
void callback.promise.catch(debugCatchError).finally(() => {
|
|
56889
56926
|
this.#callbacks.delete(callback.id);
|
|
56890
56927
|
});
|
|
56891
56928
|
callback.reject(error);
|
|
@@ -57165,7 +57202,7 @@ class Connection extends EventEmitter {
|
|
|
57165
57202
|
id,
|
|
57166
57203
|
sessionId,
|
|
57167
57204
|
});
|
|
57168
|
-
debugProtocolSend(stringifiedMessage);
|
|
57205
|
+
debugProtocolSend?.(stringifiedMessage);
|
|
57169
57206
|
this.#transport.send(stringifiedMessage);
|
|
57170
57207
|
});
|
|
57171
57208
|
}
|
|
@@ -57178,7 +57215,7 @@ class Connection extends EventEmitter {
|
|
|
57178
57215
|
return setTimeout(r, this.#delay);
|
|
57179
57216
|
});
|
|
57180
57217
|
}
|
|
57181
|
-
debugProtocolReceive(message);
|
|
57218
|
+
debugProtocolReceive?.(message);
|
|
57182
57219
|
const object = JSON.parse(message);
|
|
57183
57220
|
if (object.method === 'Target.attachedToTarget') {
|
|
57184
57221
|
const sessionId = object.params.sessionId;
|
|
@@ -57376,7 +57413,7 @@ class JSCoverage {
|
|
|
57376
57413
|
this.#scriptSources.set(event.scriptId, response.scriptSource);
|
|
57377
57414
|
}
|
|
57378
57415
|
catch (error) {
|
|
57379
|
-
debugError(error);
|
|
57416
|
+
debugError?.(error);
|
|
57380
57417
|
}
|
|
57381
57418
|
}
|
|
57382
57419
|
async stop() {
|
|
@@ -57465,7 +57502,7 @@ class CSSCoverage {
|
|
|
57465
57502
|
this.#stylesheetSources.set(header.styleSheetId, response.text);
|
|
57466
57503
|
}
|
|
57467
57504
|
catch (error) {
|
|
57468
|
-
debugError(error);
|
|
57505
|
+
debugError?.(error);
|
|
57469
57506
|
}
|
|
57470
57507
|
}
|
|
57471
57508
|
async stop() {
|
|
@@ -57638,6 +57675,8 @@ let EmulationManager = (() => {
|
|
|
57638
57675
|
let _private_emulateIdleState_descriptor;
|
|
57639
57676
|
let _private_emulateTimezone_decorators;
|
|
57640
57677
|
let _private_emulateTimezone_descriptor;
|
|
57678
|
+
let _private_emulateLocale_decorators;
|
|
57679
|
+
let _private_emulateLocale_descriptor;
|
|
57641
57680
|
let _private_emulateVisionDeficiency_decorators;
|
|
57642
57681
|
let _private_emulateVisionDeficiency_descriptor;
|
|
57643
57682
|
let _private_emulateCpuThrottling_decorators;
|
|
@@ -57660,6 +57699,7 @@ let EmulationManager = (() => {
|
|
|
57660
57699
|
_private_applyViewport_decorators = [invokeAtMostOnceForArguments];
|
|
57661
57700
|
_private_emulateIdleState_decorators = [invokeAtMostOnceForArguments];
|
|
57662
57701
|
_private_emulateTimezone_decorators = [invokeAtMostOnceForArguments];
|
|
57702
|
+
_private_emulateLocale_decorators = [invokeAtMostOnceForArguments];
|
|
57663
57703
|
_private_emulateVisionDeficiency_decorators = [invokeAtMostOnceForArguments];
|
|
57664
57704
|
_private_emulateCpuThrottling_decorators = [invokeAtMostOnceForArguments];
|
|
57665
57705
|
_private_emulateMediaFeatures_decorators = [invokeAtMostOnceForArguments];
|
|
@@ -57675,7 +57715,7 @@ let EmulationManager = (() => {
|
|
|
57675
57715
|
client.send('Emulation.setTouchEmulationEnabled', {
|
|
57676
57716
|
enabled: false,
|
|
57677
57717
|
}),
|
|
57678
|
-
]).catch(
|
|
57718
|
+
]).catch(debugCatchError);
|
|
57679
57719
|
return;
|
|
57680
57720
|
}
|
|
57681
57721
|
const { viewport } = viewportState;
|
|
@@ -57698,7 +57738,7 @@ let EmulationManager = (() => {
|
|
|
57698
57738
|
})
|
|
57699
57739
|
.catch(err => {
|
|
57700
57740
|
if (err.message.includes('Target does not support metrics override')) {
|
|
57701
|
-
debugError(err);
|
|
57741
|
+
debugError?.(err);
|
|
57702
57742
|
return;
|
|
57703
57743
|
}
|
|
57704
57744
|
throw err;
|
|
@@ -57738,6 +57778,14 @@ let EmulationManager = (() => {
|
|
|
57738
57778
|
throw error;
|
|
57739
57779
|
}
|
|
57740
57780
|
}, "#emulateTimezone") }, _private_emulateTimezone_decorators, { kind: "method", name: "#emulateTimezone", static: false, private: true, access: { has: obj => #emulateTimezone in obj, get: obj => obj.#emulateTimezone }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
57781
|
+
__esDecorate$3(this, _private_emulateLocale_descriptor = { value: __setFunctionName$1(async function (client, localeState) {
|
|
57782
|
+
if (!localeState.active) {
|
|
57783
|
+
return;
|
|
57784
|
+
}
|
|
57785
|
+
await client.send('Emulation.setLocaleOverride', {
|
|
57786
|
+
locale: localeState.locale,
|
|
57787
|
+
});
|
|
57788
|
+
}, "#emulateLocale") }, _private_emulateLocale_decorators, { kind: "method", name: "#emulateLocale", static: false, private: true, access: { has: obj => #emulateLocale in obj, get: obj => obj.#emulateLocale }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
57741
57789
|
__esDecorate$3(this, _private_emulateVisionDeficiency_descriptor = { value: __setFunctionName$1(async function (client, visionDeficiency) {
|
|
57742
57790
|
if (!visionDeficiency.active) {
|
|
57743
57791
|
return;
|
|
@@ -57821,6 +57869,9 @@ let EmulationManager = (() => {
|
|
|
57821
57869
|
#timezoneState = new EmulatedState({
|
|
57822
57870
|
active: false,
|
|
57823
57871
|
}, this, this.#emulateTimezone);
|
|
57872
|
+
#localeState = new EmulatedState({
|
|
57873
|
+
active: false,
|
|
57874
|
+
}, this, this.#emulateLocale);
|
|
57824
57875
|
#visionDeficiencyState = new EmulatedState({
|
|
57825
57876
|
active: false,
|
|
57826
57877
|
}, this, this.#emulateVisionDeficiency);
|
|
@@ -57867,7 +57918,7 @@ let EmulationManager = (() => {
|
|
|
57867
57918
|
this.#secondaryClients.delete(client);
|
|
57868
57919
|
});
|
|
57869
57920
|
void Promise.all(this.#states.map(s => {
|
|
57870
|
-
return s.sync().catch(
|
|
57921
|
+
return s.sync().catch(debugCatchError);
|
|
57871
57922
|
}));
|
|
57872
57923
|
}
|
|
57873
57924
|
get javascriptEnabled() {
|
|
@@ -57908,6 +57959,13 @@ let EmulationManager = (() => {
|
|
|
57908
57959
|
active: true,
|
|
57909
57960
|
});
|
|
57910
57961
|
}
|
|
57962
|
+
get #emulateLocale() { return _private_emulateLocale_descriptor.value; }
|
|
57963
|
+
async emulateLocale(locale) {
|
|
57964
|
+
await this.#localeState.setState({
|
|
57965
|
+
locale,
|
|
57966
|
+
active: true,
|
|
57967
|
+
});
|
|
57968
|
+
}
|
|
57911
57969
|
get #emulateVisionDeficiency() { return _private_emulateVisionDeficiency_descriptor.value; }
|
|
57912
57970
|
async emulateVisionDeficiency(type) {
|
|
57913
57971
|
const visionDeficiencies = new Set([
|
|
@@ -58481,7 +58539,7 @@ async function releaseObject(client, remoteObject) {
|
|
|
58481
58539
|
await client
|
|
58482
58540
|
.send('Runtime.releaseObject', { objectId: remoteObject.objectId })
|
|
58483
58541
|
.catch(error => {
|
|
58484
|
-
debugError(error);
|
|
58542
|
+
debugError?.(error);
|
|
58485
58543
|
});
|
|
58486
58544
|
}
|
|
58487
58545
|
|
|
@@ -58581,7 +58639,7 @@ let CdpElementHandle = (() => {
|
|
|
58581
58639
|
});
|
|
58582
58640
|
}
|
|
58583
58641
|
catch (error) {
|
|
58584
|
-
debugError(error);
|
|
58642
|
+
debugError?.(error);
|
|
58585
58643
|
await super.scrollIntoView();
|
|
58586
58644
|
}
|
|
58587
58645
|
}
|
|
@@ -58791,7 +58849,7 @@ let ExecutionContext$1 = class ExecutionContext extends EventEmitter {
|
|
|
58791
58849
|
return;
|
|
58792
58850
|
}
|
|
58793
58851
|
}
|
|
58794
|
-
debugError(error);
|
|
58852
|
+
debugError?.(error);
|
|
58795
58853
|
}
|
|
58796
58854
|
}
|
|
58797
58855
|
catch (e_1) {
|
|
@@ -58827,7 +58885,7 @@ let ExecutionContext$1 = class ExecutionContext extends EventEmitter {
|
|
|
58827
58885
|
await binding?.run(this, seq, args, isTrivial);
|
|
58828
58886
|
}
|
|
58829
58887
|
catch (err) {
|
|
58830
|
-
debugError(err);
|
|
58888
|
+
debugError?.(err);
|
|
58831
58889
|
}
|
|
58832
58890
|
}
|
|
58833
58891
|
get id() {
|
|
@@ -58867,7 +58925,7 @@ let ExecutionContext$1 = class ExecutionContext extends EventEmitter {
|
|
|
58867
58925
|
await this.#addBinding(binding);
|
|
58868
58926
|
}
|
|
58869
58927
|
catch (err) {
|
|
58870
|
-
debugError(err);
|
|
58928
|
+
debugError?.(err);
|
|
58871
58929
|
}
|
|
58872
58930
|
}
|
|
58873
58931
|
async evaluate(pageFunction, ...args) {
|
|
@@ -59036,6 +59094,7 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59036
59094
|
#id;
|
|
59037
59095
|
#targetType;
|
|
59038
59096
|
#emitter;
|
|
59097
|
+
#workerLoaded = new Deferred();
|
|
59039
59098
|
get internalEmitter() {
|
|
59040
59099
|
return this.#emitter;
|
|
59041
59100
|
}
|
|
@@ -59049,6 +59108,9 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59049
59108
|
this.#client.once('Runtime.executionContextCreated', async (event) => {
|
|
59050
59109
|
this.#world.setContext(new ExecutionContext$1(client, event.context, this.#world));
|
|
59051
59110
|
});
|
|
59111
|
+
this.#client.once('Inspector.workerScriptLoaded', () => {
|
|
59112
|
+
this.#workerLoaded.resolve();
|
|
59113
|
+
});
|
|
59052
59114
|
this.#world.emitter.on('consoleapicalled', async (event) => {
|
|
59053
59115
|
try {
|
|
59054
59116
|
const values = event.args.map(arg => {
|
|
@@ -59058,7 +59120,7 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59058
59120
|
const noWorkerListeners = this.listenerCount(WebWorkerEvent.Console) === 0;
|
|
59059
59121
|
if (noInternalListeners && noWorkerListeners) {
|
|
59060
59122
|
for (const value of values) {
|
|
59061
|
-
void value.dispose().catch(
|
|
59123
|
+
void value.dispose().catch(debugCatchError);
|
|
59062
59124
|
}
|
|
59063
59125
|
return;
|
|
59064
59126
|
}
|
|
@@ -59069,15 +59131,17 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59069
59131
|
}
|
|
59070
59132
|
}
|
|
59071
59133
|
catch (err) {
|
|
59072
|
-
debugError(err);
|
|
59134
|
+
debugError?.(err);
|
|
59073
59135
|
}
|
|
59074
59136
|
});
|
|
59075
59137
|
this.#client.on('Runtime.exceptionThrown', exceptionThrown);
|
|
59076
59138
|
this.#client.once(CDPSessionEvent.Disconnected, () => {
|
|
59077
59139
|
this.#world.dispose();
|
|
59078
59140
|
});
|
|
59079
|
-
networkManager
|
|
59080
|
-
|
|
59141
|
+
networkManager
|
|
59142
|
+
?.addClient(this.#client)
|
|
59143
|
+
.catch(debugCatchError ?? (() => { }));
|
|
59144
|
+
this.#client.send('Runtime.enable').catch(debugCatchError ?? (() => { }));
|
|
59081
59145
|
}
|
|
59082
59146
|
mainRealm() {
|
|
59083
59147
|
return this.#world;
|
|
@@ -59108,6 +59172,14 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59108
59172
|
});
|
|
59109
59173
|
}
|
|
59110
59174
|
}
|
|
59175
|
+
async evaluate(func, ...args) {
|
|
59176
|
+
await this.#workerLoaded.valueOrThrow();
|
|
59177
|
+
return await super.evaluate(func, ...args);
|
|
59178
|
+
}
|
|
59179
|
+
async evaluateHandle(func, ...args) {
|
|
59180
|
+
await this.#workerLoaded.valueOrThrow();
|
|
59181
|
+
return await super.evaluateHandle(func, ...args);
|
|
59182
|
+
}
|
|
59111
59183
|
}
|
|
59112
59184
|
|
|
59113
59185
|
/**
|
|
@@ -59671,7 +59743,7 @@ let CdpFrame = (() => {
|
|
|
59671
59743
|
this.#client.send('Runtime.addBinding', {
|
|
59672
59744
|
name: CDP_BINDING_PREFIX + binding.name,
|
|
59673
59745
|
}),
|
|
59674
|
-
this.evaluate(binding.initSource).catch(
|
|
59746
|
+
this.evaluate(binding.initSource).catch(debugCatchError),
|
|
59675
59747
|
]);
|
|
59676
59748
|
}
|
|
59677
59749
|
async removeExposedFunctionBinding(binding) {
|
|
@@ -59684,7 +59756,7 @@ let CdpFrame = (() => {
|
|
|
59684
59756
|
}),
|
|
59685
59757
|
this.evaluate(name => {
|
|
59686
59758
|
globalThis[name] = undefined;
|
|
59687
|
-
}, binding.name).catch(
|
|
59759
|
+
}, binding.name).catch(debugCatchError),
|
|
59688
59760
|
]);
|
|
59689
59761
|
}
|
|
59690
59762
|
async waitForDevicePrompt(options = {}) {
|
|
@@ -59905,7 +59977,7 @@ class CdpHTTPRequest extends HTTPRequest {
|
|
|
59905
59977
|
return result.postData;
|
|
59906
59978
|
}
|
|
59907
59979
|
catch (err) {
|
|
59908
|
-
debugError(err);
|
|
59980
|
+
debugError?.(err);
|
|
59909
59981
|
return;
|
|
59910
59982
|
}
|
|
59911
59983
|
}
|
|
@@ -60319,8 +60391,10 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60319
60391
|
#userCacheDisabled;
|
|
60320
60392
|
#emulatedNetworkConditions;
|
|
60321
60393
|
#userAgent;
|
|
60394
|
+
#defaultUserAgent;
|
|
60322
60395
|
#userAgentMetadata;
|
|
60323
60396
|
#platform;
|
|
60397
|
+
#acceptLanguage;
|
|
60324
60398
|
#handlers = [
|
|
60325
60399
|
['Fetch.requestPaused', this.#onRequestPaused],
|
|
60326
60400
|
['Fetch.authRequired', this.#onAuthRequired],
|
|
@@ -60335,10 +60409,11 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60335
60409
|
];
|
|
60336
60410
|
#clients = new Map();
|
|
60337
60411
|
#networkEnabled = true;
|
|
60338
|
-
constructor(frameManager, networkEnabled) {
|
|
60412
|
+
constructor(frameManager, networkEnabled, defaultUserAgent) {
|
|
60339
60413
|
super();
|
|
60340
60414
|
this.#frameManager = frameManager;
|
|
60341
60415
|
this.#networkEnabled = networkEnabled ?? true;
|
|
60416
|
+
this.#defaultUserAgent = defaultUserAgent;
|
|
60342
60417
|
}
|
|
60343
60418
|
#canIgnoreError(error) {
|
|
60344
60419
|
return (isErrorLike$2(error) &&
|
|
@@ -60483,13 +60558,19 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60483
60558
|
this.#platform = platform;
|
|
60484
60559
|
await this.#applyToAllClients(this.#applyUserAgent.bind(this));
|
|
60485
60560
|
}
|
|
60561
|
+
async setAcceptLanguage(acceptLanguage) {
|
|
60562
|
+
this.#acceptLanguage = acceptLanguage;
|
|
60563
|
+
await this.#applyToAllClients(this.#applyUserAgent.bind(this));
|
|
60564
|
+
}
|
|
60486
60565
|
async #applyUserAgent(client) {
|
|
60487
|
-
|
|
60566
|
+
const userAgent = this.#userAgent ?? this.#defaultUserAgent;
|
|
60567
|
+
if (userAgent === undefined) {
|
|
60488
60568
|
return;
|
|
60489
60569
|
}
|
|
60490
60570
|
try {
|
|
60491
60571
|
await client.send('Network.setUserAgentOverride', {
|
|
60492
|
-
userAgent
|
|
60572
|
+
userAgent,
|
|
60573
|
+
acceptLanguage: this.#acceptLanguage,
|
|
60493
60574
|
userAgentMetadata: this.#userAgentMetadata,
|
|
60494
60575
|
platform: this.#platform,
|
|
60495
60576
|
});
|
|
@@ -60590,21 +60671,21 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60590
60671
|
username: undefined,
|
|
60591
60672
|
password: undefined,
|
|
60592
60673
|
};
|
|
60593
|
-
client
|
|
60674
|
+
void client
|
|
60594
60675
|
.send('Fetch.continueWithAuth', {
|
|
60595
60676
|
requestId: event.requestId,
|
|
60596
60677
|
authChallengeResponse: { response, username, password },
|
|
60597
60678
|
})
|
|
60598
|
-
.catch(
|
|
60679
|
+
.catch(debugCatchError);
|
|
60599
60680
|
}
|
|
60600
60681
|
#onRequestPaused(client, event) {
|
|
60601
60682
|
if (!this.#userRequestInterceptionEnabled &&
|
|
60602
60683
|
this.#protocolRequestInterceptionEnabled) {
|
|
60603
|
-
client
|
|
60684
|
+
void client
|
|
60604
60685
|
.send('Fetch.continueRequest', {
|
|
60605
60686
|
requestId: event.requestId,
|
|
60606
60687
|
})
|
|
60607
|
-
.catch(
|
|
60688
|
+
.catch(debugCatchError);
|
|
60608
60689
|
}
|
|
60609
60690
|
const { networkId: networkRequestId, requestId: fetchRequestId } = event;
|
|
60610
60691
|
if (!networkRequestId) {
|
|
@@ -60706,7 +60787,7 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60706
60787
|
request = this.#networkEventManager.getRequest(event.requestId);
|
|
60707
60788
|
}
|
|
60708
60789
|
if (!request) {
|
|
60709
|
-
debugError(new Error(`Request ${event.requestId} was served from cache but we could not find the corresponding request object`));
|
|
60790
|
+
debugError?.(new Error(`Request ${event.requestId} was served from cache but we could not find the corresponding request object`));
|
|
60710
60791
|
return;
|
|
60711
60792
|
}
|
|
60712
60793
|
this.emit(NetworkManagerEvent.RequestServedFromCache, request);
|
|
@@ -60727,7 +60808,7 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60727
60808
|
}
|
|
60728
60809
|
const extraInfos = this.#networkEventManager.responseExtraInfo(responseReceived.requestId);
|
|
60729
60810
|
if (extraInfos.length) {
|
|
60730
|
-
debugError(new Error('Unexpected extraInfo events for request ' +
|
|
60811
|
+
debugError?.(new Error('Unexpected extraInfo events for request ' +
|
|
60731
60812
|
responseReceived.requestId));
|
|
60732
60813
|
}
|
|
60733
60814
|
if (responseReceived.response.fromDiskCache) {
|
|
@@ -60864,15 +60945,15 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
60864
60945
|
get client() {
|
|
60865
60946
|
return this.#client;
|
|
60866
60947
|
}
|
|
60867
|
-
constructor(client, page, timeoutSettings) {
|
|
60948
|
+
constructor(client, page, timeoutSettings, defaultUserAgent) {
|
|
60868
60949
|
super();
|
|
60869
60950
|
this.#client = client;
|
|
60870
60951
|
this.#page = page;
|
|
60871
|
-
this.#networkManager = new NetworkManager$2(this, page.browser().isNetworkEnabled());
|
|
60952
|
+
this.#networkManager = new NetworkManager$2(this, page.browser().isNetworkEnabled(), defaultUserAgent);
|
|
60872
60953
|
this.#timeoutSettings = timeoutSettings;
|
|
60873
60954
|
this.setupEventListeners(this.#client);
|
|
60874
60955
|
client.once(CDPSessionEvent.Disconnected, () => {
|
|
60875
|
-
this.#onClientDisconnect().catch(
|
|
60956
|
+
void this.#onClientDisconnect().catch(debugCatchError);
|
|
60876
60957
|
});
|
|
60877
60958
|
}
|
|
60878
60959
|
async #onClientDisconnect() {
|
|
@@ -60913,7 +60994,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
60913
60994
|
}
|
|
60914
60995
|
this.setupEventListeners(client);
|
|
60915
60996
|
client.once(CDPSessionEvent.Disconnected, () => {
|
|
60916
|
-
this.#onClientDisconnect().catch(
|
|
60997
|
+
void this.#onClientDisconnect().catch(debugCatchError);
|
|
60917
60998
|
});
|
|
60918
60999
|
await this.initialize(client, frame);
|
|
60919
61000
|
await this.#networkManager.addClient(client);
|
|
@@ -61051,7 +61132,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
61051
61132
|
.send('Page.removeScriptToEvaluateOnNewDocument', {
|
|
61052
61133
|
identifier,
|
|
61053
61134
|
})
|
|
61054
|
-
.catch(
|
|
61135
|
+
.catch(debugCatchError);
|
|
61055
61136
|
}));
|
|
61056
61137
|
}
|
|
61057
61138
|
onAttachedToTarget(target) {
|
|
@@ -61063,7 +61144,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
61063
61144
|
frame.updateClient(target._session());
|
|
61064
61145
|
}
|
|
61065
61146
|
this.setupEventListeners(target._session());
|
|
61066
|
-
void this.initialize(target._session(), frame).catch(
|
|
61147
|
+
void this.initialize(target._session(), frame).catch(debugCatchError);
|
|
61067
61148
|
}
|
|
61068
61149
|
_deviceRequestPromptManager(client) {
|
|
61069
61150
|
let manager = this.#deviceRequestPromptManagerMap.get(client);
|
|
@@ -61172,7 +61253,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
61172
61253
|
worldName: name,
|
|
61173
61254
|
grantUniveralAccess: true,
|
|
61174
61255
|
})
|
|
61175
|
-
.catch(
|
|
61256
|
+
.catch(debugCatchError);
|
|
61176
61257
|
}));
|
|
61177
61258
|
this.#isolatedWorlds.add(key);
|
|
61178
61259
|
}
|
|
@@ -61232,7 +61313,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
61232
61313
|
else if (this.#isExtensionOrigin(origin)) {
|
|
61233
61314
|
const extId = this.#extractExtensionId(origin);
|
|
61234
61315
|
if (!extId) {
|
|
61235
|
-
debugError('Error while parsing extension id');
|
|
61316
|
+
debugError?.('Error while parsing extension id');
|
|
61236
61317
|
return;
|
|
61237
61318
|
}
|
|
61238
61319
|
if (frame.extensionWorlds[extId]) {
|
|
@@ -62270,7 +62351,7 @@ class WebMCPToolCall {
|
|
|
62270
62351
|
}
|
|
62271
62352
|
catch (error) {
|
|
62272
62353
|
this.input = {};
|
|
62273
|
-
debugError(error);
|
|
62354
|
+
debugError?.(error);
|
|
62274
62355
|
}
|
|
62275
62356
|
}
|
|
62276
62357
|
}
|
|
@@ -62289,6 +62370,7 @@ class WebMCP extends EventEmitter {
|
|
|
62289
62370
|
const frameTools = this.#tools.get(tool.frameId) ?? new Map();
|
|
62290
62371
|
if (!this.#tools.has(tool.frameId)) {
|
|
62291
62372
|
this.#tools.set(tool.frameId, frameTools);
|
|
62373
|
+
this.#listenToContextDestroyed(frame);
|
|
62292
62374
|
}
|
|
62293
62375
|
const addedTool = new WebMCPTool(this, tool, frame);
|
|
62294
62376
|
frameTools.set(tool.name, addedTool);
|
|
@@ -62332,7 +62414,7 @@ class WebMCP extends EventEmitter {
|
|
|
62332
62414
|
};
|
|
62333
62415
|
this.emit('toolresponded', response);
|
|
62334
62416
|
};
|
|
62335
|
-
#
|
|
62417
|
+
#onContextDisposed = (frame) => {
|
|
62336
62418
|
this.#pendingCalls.clear();
|
|
62337
62419
|
const frameTools = this.#tools.get(frame._id);
|
|
62338
62420
|
if (!frameTools) {
|
|
@@ -62344,15 +62426,19 @@ class WebMCP extends EventEmitter {
|
|
|
62344
62426
|
this.emit('toolsremoved', { tools });
|
|
62345
62427
|
}
|
|
62346
62428
|
};
|
|
62429
|
+
#listenToContextDestroyed(frame) {
|
|
62430
|
+
frame.mainRealm().context?.once('disposed', () => {
|
|
62431
|
+
this.#onContextDisposed(frame);
|
|
62432
|
+
});
|
|
62433
|
+
}
|
|
62347
62434
|
constructor(client, frameManager) {
|
|
62348
62435
|
super();
|
|
62349
62436
|
this.#client = client;
|
|
62350
62437
|
this.#frameManager = frameManager;
|
|
62351
|
-
this.#frameManager.on(FrameManagerEvent.FrameNavigated, this.#onFrameNavigated);
|
|
62352
62438
|
this.#bindListeners();
|
|
62353
62439
|
}
|
|
62354
62440
|
async initialize() {
|
|
62355
|
-
return await this.#client.send('WebMCP.enable').catch(
|
|
62441
|
+
return await this.#client.send('WebMCP.enable').catch(debugCatchError);
|
|
62356
62442
|
}
|
|
62357
62443
|
async invokeTool(tool, input) {
|
|
62358
62444
|
return await this.#client.send('WebMCP.invokeTool', {
|
|
@@ -62451,7 +62537,7 @@ function convertSameSiteFromPuppeteerToCdp(sameSite) {
|
|
|
62451
62537
|
}
|
|
62452
62538
|
class CdpPage extends Page {
|
|
62453
62539
|
static async _create(client, target, defaultViewport) {
|
|
62454
|
-
const page = new CdpPage(client, target);
|
|
62540
|
+
const page = new CdpPage(client, target, await target.browser().userAgent());
|
|
62455
62541
|
await page.#initialize();
|
|
62456
62542
|
if (defaultViewport) {
|
|
62457
62543
|
try {
|
|
@@ -62459,7 +62545,7 @@ class CdpPage extends Page {
|
|
|
62459
62545
|
}
|
|
62460
62546
|
catch (err) {
|
|
62461
62547
|
if (isErrorLike$2(err) && isTargetClosedError(err)) {
|
|
62462
|
-
debugError(err);
|
|
62548
|
+
debugError?.(err);
|
|
62463
62549
|
}
|
|
62464
62550
|
else {
|
|
62465
62551
|
throw err;
|
|
@@ -62491,7 +62577,7 @@ class CdpPage extends Page {
|
|
|
62491
62577
|
#sessionCloseDeferred = Deferred.create();
|
|
62492
62578
|
#serviceWorkerBypassed = false;
|
|
62493
62579
|
#userDragInterceptionEnabled = false;
|
|
62494
|
-
constructor(client, target) {
|
|
62580
|
+
constructor(client, target, defaultUserAgent) {
|
|
62495
62581
|
super();
|
|
62496
62582
|
this.#primaryTargetClient = client;
|
|
62497
62583
|
this.#tabTargetClient = client.parentSession();
|
|
@@ -62504,7 +62590,7 @@ class CdpPage extends Page {
|
|
|
62504
62590
|
this.#keyboard = new CdpKeyboard(client);
|
|
62505
62591
|
this.#mouse = new CdpMouse(client, this.#keyboard);
|
|
62506
62592
|
this.#touchscreen = new CdpTouchscreen(client, this.#keyboard);
|
|
62507
|
-
this.#frameManager = new FrameManager$1(client, this, this._timeoutSettings);
|
|
62593
|
+
this.#frameManager = new FrameManager$1(client, this, this._timeoutSettings, defaultUserAgent);
|
|
62508
62594
|
this.#emulationManager = new EmulationManager(client);
|
|
62509
62595
|
this.#tracing = new Tracing(client);
|
|
62510
62596
|
this.#webmcp = new WebMCP(client, this.#frameManager);
|
|
@@ -62546,14 +62632,14 @@ class CdpPage extends Page {
|
|
|
62546
62632
|
this.#tabTargetClient.on(CDPSessionEvent.Swapped, this.#onActivation.bind(this));
|
|
62547
62633
|
this.#tabTargetClient.on(CDPSessionEvent.Ready, this.#onSecondaryTarget.bind(this));
|
|
62548
62634
|
this.#targetManager.on("targetGone" , this.#onDetachedFromTarget);
|
|
62549
|
-
this.#tabTarget._isClosedDeferred
|
|
62635
|
+
void this.#tabTarget._isClosedDeferred
|
|
62550
62636
|
.valueOrThrow()
|
|
62551
62637
|
.then(() => {
|
|
62552
62638
|
this.#targetManager.off("targetGone" , this.#onDetachedFromTarget);
|
|
62553
62639
|
this.emit("close" , undefined);
|
|
62554
62640
|
this.#closed = true;
|
|
62555
62641
|
})
|
|
62556
|
-
.catch(
|
|
62642
|
+
.catch(debugCatchError);
|
|
62557
62643
|
this.#setupPrimaryTargetListeners();
|
|
62558
62644
|
this.#attachExistingTargets();
|
|
62559
62645
|
}
|
|
@@ -62595,10 +62681,12 @@ class CdpPage extends Page {
|
|
|
62595
62681
|
if (session.target()._subtype() !== 'prerender') {
|
|
62596
62682
|
return;
|
|
62597
62683
|
}
|
|
62598
|
-
this.#frameManager
|
|
62599
|
-
this.#emulationManager
|
|
62684
|
+
void this.#frameManager
|
|
62600
62685
|
.registerSpeculativeSession(session)
|
|
62601
|
-
.catch(
|
|
62686
|
+
.catch(debugCatchError);
|
|
62687
|
+
void this.#emulationManager
|
|
62688
|
+
.registerSpeculativeSession(session)
|
|
62689
|
+
.catch(debugCatchError);
|
|
62602
62690
|
}
|
|
62603
62691
|
#setupPrimaryTargetListeners() {
|
|
62604
62692
|
const clientEmitter = new EventEmitter(this.#primaryTargetClient);
|
|
@@ -62639,7 +62727,7 @@ class CdpPage extends Page {
|
|
|
62639
62727
|
const noListenersForConsoleOnWorker = worker.listenerCount(WebWorkerEvent.Console) === 0;
|
|
62640
62728
|
if (noListenersForConsoleOnPage && noListenersForConsoleOnWorker) {
|
|
62641
62729
|
for (const arg of message.args()) {
|
|
62642
|
-
void arg.dispose().catch(
|
|
62730
|
+
void arg.dispose().catch(debugCatchError);
|
|
62643
62731
|
}
|
|
62644
62732
|
return;
|
|
62645
62733
|
}
|
|
@@ -62662,7 +62750,7 @@ class CdpPage extends Page {
|
|
|
62662
62750
|
}
|
|
62663
62751
|
catch (err) {
|
|
62664
62752
|
if (isErrorLike$2(err) && isTargetClosedError(err)) {
|
|
62665
|
-
debugError(err);
|
|
62753
|
+
debugError?.(err);
|
|
62666
62754
|
}
|
|
62667
62755
|
else {
|
|
62668
62756
|
throw err;
|
|
@@ -63037,7 +63125,7 @@ class CdpPage extends Page {
|
|
|
63037
63125
|
if (!hasPageConsoleListeners) {
|
|
63038
63126
|
if (!hasWorkerConsoleListeners) {
|
|
63039
63127
|
for (const value of values) {
|
|
63040
|
-
void value.dispose().catch(
|
|
63128
|
+
void value.dispose().catch(debugCatchError);
|
|
63041
63129
|
}
|
|
63042
63130
|
}
|
|
63043
63131
|
return;
|
|
@@ -63131,6 +63219,10 @@ class CdpPage extends Page {
|
|
|
63131
63219
|
async emulateTimezone(timezoneId) {
|
|
63132
63220
|
return await this.#emulationManager.emulateTimezone(timezoneId);
|
|
63133
63221
|
}
|
|
63222
|
+
async emulateLocale(locale) {
|
|
63223
|
+
await this.#emulationManager.emulateLocale(locale);
|
|
63224
|
+
await this.#frameManager.networkManager.setAcceptLanguage(locale);
|
|
63225
|
+
}
|
|
63134
63226
|
async emulateIdleState(overrides) {
|
|
63135
63227
|
return await this.#emulationManager.emulateIdleState(overrides);
|
|
63136
63228
|
}
|
|
@@ -63167,7 +63259,7 @@ class CdpPage extends Page {
|
|
|
63167
63259
|
stack.defer(async () => {
|
|
63168
63260
|
await this.#emulationManager
|
|
63169
63261
|
.resetDefaultBackgroundColor()
|
|
63170
|
-
.catch(
|
|
63262
|
+
.catch(debugCatchError);
|
|
63171
63263
|
});
|
|
63172
63264
|
}
|
|
63173
63265
|
let clip = userClip;
|
|
@@ -63524,23 +63616,21 @@ class CdpExtension extends Extension {
|
|
|
63524
63616
|
return (target.type() === 'service_worker' &&
|
|
63525
63617
|
targetUrl.startsWith('chrome-extension://' + this.id));
|
|
63526
63618
|
});
|
|
63527
|
-
const workers =
|
|
63528
|
-
for (const target of extensionWorkers) {
|
|
63619
|
+
const workers = await Promise.all(extensionWorkers.map(async (target) => {
|
|
63529
63620
|
try {
|
|
63530
|
-
|
|
63531
|
-
if (worker) {
|
|
63532
|
-
workers.push(worker);
|
|
63533
|
-
}
|
|
63621
|
+
return await target.worker();
|
|
63534
63622
|
}
|
|
63535
63623
|
catch (err) {
|
|
63536
63624
|
if (this.#canIgnoreError(err)) {
|
|
63537
|
-
debugError(err);
|
|
63538
|
-
|
|
63625
|
+
debugError?.(err);
|
|
63626
|
+
return null;
|
|
63539
63627
|
}
|
|
63540
63628
|
throw err;
|
|
63541
63629
|
}
|
|
63542
|
-
}
|
|
63543
|
-
return workers
|
|
63630
|
+
}));
|
|
63631
|
+
return workers.filter((worker) => {
|
|
63632
|
+
return worker !== null;
|
|
63633
|
+
});
|
|
63544
63634
|
}
|
|
63545
63635
|
async pages() {
|
|
63546
63636
|
const targets = this.#browser.targets();
|
|
@@ -63555,7 +63645,7 @@ class CdpExtension extends Extension {
|
|
|
63555
63645
|
}
|
|
63556
63646
|
catch (err) {
|
|
63557
63647
|
if (this.#canIgnoreError(err)) {
|
|
63558
|
-
debugError(err);
|
|
63648
|
+
debugError?.(err);
|
|
63559
63649
|
return null;
|
|
63560
63650
|
}
|
|
63561
63651
|
throw err;
|
|
@@ -63738,7 +63828,7 @@ class PageTarget extends CdpTarget {
|
|
|
63738
63828
|
this.#defaultViewport = defaultViewport ?? undefined;
|
|
63739
63829
|
}
|
|
63740
63830
|
_initialize() {
|
|
63741
|
-
this._initializedDeferred
|
|
63831
|
+
void this._initializedDeferred
|
|
63742
63832
|
.valueOrThrow()
|
|
63743
63833
|
.then(async (result) => {
|
|
63744
63834
|
if (result === InitializationStatus.ABORTED) {
|
|
@@ -63759,7 +63849,7 @@ class PageTarget extends CdpTarget {
|
|
|
63759
63849
|
openerPage.emit("popup" , popupPage);
|
|
63760
63850
|
return true;
|
|
63761
63851
|
})
|
|
63762
|
-
.catch(
|
|
63852
|
+
.catch(debugCatchError);
|
|
63763
63853
|
this._checkIfInitialized();
|
|
63764
63854
|
}
|
|
63765
63855
|
async page() {
|
|
@@ -64701,12 +64791,14 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64701
64791
|
}
|
|
64702
64792
|
}
|
|
64703
64793
|
#silentDetach = async (session, parentSession) => {
|
|
64704
|
-
await session
|
|
64794
|
+
await session
|
|
64795
|
+
.send('Runtime.runIfWaitingForDebugger')
|
|
64796
|
+
.catch(debugCatchError);
|
|
64705
64797
|
await parentSession
|
|
64706
64798
|
.send('Target.detachFromTarget', {
|
|
64707
64799
|
sessionId: session.id(),
|
|
64708
64800
|
})
|
|
64709
|
-
.catch(
|
|
64801
|
+
.catch(debugCatchError);
|
|
64710
64802
|
};
|
|
64711
64803
|
#getParentTarget = (parentSession) => {
|
|
64712
64804
|
return parentSession instanceof CdpCDPSession
|
|
@@ -64773,6 +64865,7 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64773
64865
|
throw new Error(`Session ${event.sessionId} was not created.`);
|
|
64774
64866
|
}
|
|
64775
64867
|
if (!this.#connection.isAutoAttached(targetInfo.targetId)) {
|
|
64868
|
+
await this.#maybeSetupNetworkConditions(session, targetInfo);
|
|
64776
64869
|
return;
|
|
64777
64870
|
}
|
|
64778
64871
|
if (!this.#initialAttachDone && !this.isUrlAllowed(targetInfo.url)) {
|
|
@@ -64780,6 +64873,13 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64780
64873
|
return;
|
|
64781
64874
|
}
|
|
64782
64875
|
if (targetInfo.type === 'service_worker') {
|
|
64876
|
+
if (!this.isUrlAllowed(targetInfo.url)) {
|
|
64877
|
+
await Promise.all([
|
|
64878
|
+
this.#maybeSetupNetworkConditions(session, targetInfo),
|
|
64879
|
+
session.send('Runtime.runIfWaitingForDebugger'),
|
|
64880
|
+
]).catch(debugCatchError);
|
|
64881
|
+
return;
|
|
64882
|
+
}
|
|
64783
64883
|
await this.#silentDetach(session, parentSession);
|
|
64784
64884
|
if (this.#attachedTargetsByTargetId.has(targetInfo.targetId) ||
|
|
64785
64885
|
this.#ignoredTargets.has(targetInfo.targetId) ||
|
|
@@ -64836,9 +64936,9 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64836
64936
|
autoAttach: true,
|
|
64837
64937
|
filter: this.#discoveryFilter,
|
|
64838
64938
|
}),
|
|
64839
|
-
this.#maybeSetupNetworkConditions(session),
|
|
64939
|
+
this.#maybeSetupNetworkConditions(session, targetInfo),
|
|
64840
64940
|
session.send('Runtime.runIfWaitingForDebugger'),
|
|
64841
|
-
]).catch(
|
|
64941
|
+
]).catch(debugCatchError);
|
|
64842
64942
|
};
|
|
64843
64943
|
#finishInitializationIfReady(targetId) {
|
|
64844
64944
|
if (targetId !== undefined) {
|
|
@@ -64892,7 +64992,7 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64892
64992
|
}
|
|
64893
64993
|
return result;
|
|
64894
64994
|
}
|
|
64895
|
-
#maybeSetupNetworkConditions = async (session) => {
|
|
64995
|
+
#maybeSetupNetworkConditions = async (session, targetInfo) => {
|
|
64896
64996
|
if (this.#blocklist.length === 0 && this.#allowlist.length === 0) {
|
|
64897
64997
|
return;
|
|
64898
64998
|
}
|
|
@@ -64924,10 +65024,18 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64924
65024
|
uploadThroughput: -1,
|
|
64925
65025
|
});
|
|
64926
65026
|
}
|
|
64927
|
-
|
|
65027
|
+
const needsNetwork = targetInfo.type === 'worker' ||
|
|
65028
|
+
targetInfo.type === 'service_worker' ||
|
|
65029
|
+
targetInfo.type === 'shared_worker';
|
|
65030
|
+
const promises = [];
|
|
65031
|
+
if (needsNetwork) {
|
|
65032
|
+
promises.push(session.send('Network.enable'));
|
|
65033
|
+
}
|
|
65034
|
+
promises.push(session.send('Network.emulateNetworkConditionsByRule', {
|
|
64928
65035
|
offline: this.#blocklist.length > 0 ? true : undefined,
|
|
64929
65036
|
matchedNetworkConditions,
|
|
64930
|
-
});
|
|
65037
|
+
}));
|
|
65038
|
+
await Promise.all(promises).catch(debugCatchError);
|
|
64931
65039
|
};
|
|
64932
65040
|
};
|
|
64933
65041
|
|
|
@@ -65312,7 +65420,7 @@ async function _connectToCdpBrowser(connectionTransport, url, options) {
|
|
|
65312
65420
|
false, idGenerator);
|
|
65313
65421
|
const { browserContextIds } = await connection.send('Target.getBrowserContexts');
|
|
65314
65422
|
const browser = await CdpBrowser._create(connection, browserContextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, undefined, () => {
|
|
65315
|
-
return connection.send('Browser.close').catch(
|
|
65423
|
+
return connection.send('Browser.close').catch(debugCatchError);
|
|
65316
65424
|
}, targetFilter, isPageTarget, undefined, networkEnabled, issuesEnabled, handleDevToolsAsPage, blocklist, allowlist);
|
|
65317
65425
|
return browser;
|
|
65318
65426
|
}
|
|
@@ -65370,7 +65478,7 @@ class BrowserWebSocketTransport {
|
|
|
65370
65478
|
this.onclose.call(null);
|
|
65371
65479
|
}
|
|
65372
65480
|
});
|
|
65373
|
-
this.#ws.addEventListener('error',
|
|
65481
|
+
this.#ws.addEventListener('error', debugCatchError);
|
|
65374
65482
|
}
|
|
65375
65483
|
send(message) {
|
|
65376
65484
|
this.#ws.send(message);
|
|
@@ -67002,7 +67110,9 @@ async function getBiDiConnection(connectionTransport, url, options) {
|
|
|
67002
67110
|
return {
|
|
67003
67111
|
bidiConnection: pureBidiConnection,
|
|
67004
67112
|
closeCallback: async () => {
|
|
67005
|
-
await pureBidiConnection
|
|
67113
|
+
await pureBidiConnection
|
|
67114
|
+
.send('browser.close', {})
|
|
67115
|
+
.catch(debugCatchError);
|
|
67006
67116
|
},
|
|
67007
67117
|
};
|
|
67008
67118
|
}
|
|
@@ -67024,7 +67134,7 @@ async function getBiDiConnection(connectionTransport, url, options) {
|
|
|
67024
67134
|
cdpConnection,
|
|
67025
67135
|
bidiConnection: bidiOverCdpConnection,
|
|
67026
67136
|
closeCallback: async () => {
|
|
67027
|
-
await cdpConnection.send('Browser.close').catch(
|
|
67137
|
+
await cdpConnection.send('Browser.close').catch(debugCatchError);
|
|
67028
67138
|
},
|
|
67029
67139
|
};
|
|
67030
67140
|
}
|
|
@@ -67048,6 +67158,16 @@ function assertSupportedUrlRestrictions(options) {
|
|
|
67048
67158
|
(options.blocklist || options.allowlist)) {
|
|
67049
67159
|
throw new Error('blocklist and allowlist are only supported with the CDP protocol');
|
|
67050
67160
|
}
|
|
67161
|
+
if (options.blocklist) {
|
|
67162
|
+
for (const rule of options.blocklist) {
|
|
67163
|
+
new Y$1(rule);
|
|
67164
|
+
}
|
|
67165
|
+
}
|
|
67166
|
+
if (options.allowlist) {
|
|
67167
|
+
for (const rule of options.allowlist) {
|
|
67168
|
+
new Y$1(rule);
|
|
67169
|
+
}
|
|
67170
|
+
}
|
|
67051
67171
|
}
|
|
67052
67172
|
async function _connectToBrowser(options) {
|
|
67053
67173
|
assertSupportedUrlRestrictions(options);
|
|
@@ -67189,9 +67309,9 @@ class Puppeteer {
|
|
|
67189
67309
|
* SPDX-License-Identifier: Apache-2.0
|
|
67190
67310
|
*/
|
|
67191
67311
|
const PUPPETEER_REVISIONS = Object.freeze({
|
|
67192
|
-
chrome: '
|
|
67193
|
-
'chrome-headless-shell': '
|
|
67194
|
-
firefox: '
|
|
67312
|
+
chrome: '150.0.7871.24',
|
|
67313
|
+
'chrome-headless-shell': '150.0.7871.24',
|
|
67314
|
+
firefox: 'stable_152.0.1',
|
|
67195
67315
|
});
|
|
67196
67316
|
|
|
67197
67317
|
/**
|
|
@@ -71989,7 +72109,7 @@ class NodeWebSocketTransport {
|
|
|
71989
72109
|
this.onclose.call(null);
|
|
71990
72110
|
}
|
|
71991
72111
|
});
|
|
71992
|
-
this.#ws.addEventListener('error',
|
|
72112
|
+
this.#ws.addEventListener('error', debugCatchError);
|
|
71993
72113
|
}
|
|
71994
72114
|
send(message) {
|
|
71995
72115
|
this.#ws.send(message);
|
|
@@ -72023,10 +72143,10 @@ class PipeTransport {
|
|
|
72023
72143
|
this.onclose.call(null);
|
|
72024
72144
|
}
|
|
72025
72145
|
});
|
|
72026
|
-
pipeReadEmitter.on('error',
|
|
72146
|
+
pipeReadEmitter.on('error', debugCatchError);
|
|
72027
72147
|
const pipeWriteEmitter = this.#subscriptions.use(
|
|
72028
72148
|
new EventEmitter(pipeWrite));
|
|
72029
|
-
pipeWriteEmitter.on('error',
|
|
72149
|
+
pipeWriteEmitter.on('error', debugCatchError);
|
|
72030
72150
|
}
|
|
72031
72151
|
send(message) {
|
|
72032
72152
|
assert(!this.#isClosed, '`PipeTransport` is closed.');
|
|
@@ -72070,6 +72190,15 @@ class PipeTransport {
|
|
|
72070
72190
|
* Copyright 2017 Google Inc.
|
|
72071
72191
|
* SPDX-License-Identifier: Apache-2.0
|
|
72072
72192
|
*/
|
|
72193
|
+
function getBrowserTypeDisplayName(browserType) {
|
|
72194
|
+
switch (browserType) {
|
|
72195
|
+
case Browser.FIREFOX:
|
|
72196
|
+
case Browser.CHROME:
|
|
72197
|
+
return browserType.charAt(0).toUpperCase() + browserType.slice(1);
|
|
72198
|
+
default:
|
|
72199
|
+
return browserType;
|
|
72200
|
+
}
|
|
72201
|
+
}
|
|
72073
72202
|
class BrowserLauncher {
|
|
72074
72203
|
#browser;
|
|
72075
72204
|
puppeteer;
|
|
@@ -72193,9 +72322,6 @@ class BrowserLauncher {
|
|
|
72193
72322
|
throw error;
|
|
72194
72323
|
}
|
|
72195
72324
|
if (Array.isArray(enableExtensions)) {
|
|
72196
|
-
if (this.#browser === 'chrome' && !usePipe) {
|
|
72197
|
-
throw new Error('To use `enableExtensions` with a list of paths in Chrome, you must be connected with `--remote-debugging-pipe` (`pipe: true`).');
|
|
72198
|
-
}
|
|
72199
72325
|
await Promise.all([
|
|
72200
72326
|
enableExtensions.map(path => {
|
|
72201
72327
|
return browser.installExtension(path);
|
|
@@ -72214,7 +72340,7 @@ class BrowserLauncher {
|
|
|
72214
72340
|
await browserProcess.hasClosed();
|
|
72215
72341
|
}
|
|
72216
72342
|
catch (error) {
|
|
72217
|
-
debugError(error);
|
|
72343
|
+
debugError?.(error);
|
|
72218
72344
|
await browserProcess.close();
|
|
72219
72345
|
}
|
|
72220
72346
|
}
|
|
@@ -72315,18 +72441,10 @@ class BrowserLauncher {
|
|
|
72315
72441
|
if (configVersion) {
|
|
72316
72442
|
throw new Error(`Tried to find the browser at the configured path (${executablePath}) for version ${configVersion}, but no executable was found.`);
|
|
72317
72443
|
}
|
|
72318
|
-
|
|
72319
|
-
|
|
72320
|
-
|
|
72321
|
-
|
|
72322
|
-
` 2. your cache path is incorrectly configured (which is: ${config.cacheDirectory}).\n` +
|
|
72323
|
-
'For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.');
|
|
72324
|
-
case 'firefox':
|
|
72325
|
-
throw new Error(`Could not find Firefox (rev. ${browserVersion}). This can occur if either\n` +
|
|
72326
|
-
' 1. you did not perform an installation for Firefox before running the script (e.g. `npx puppeteer browsers install firefox`) or\n' +
|
|
72327
|
-
` 2. your cache path is incorrectly configured (which is: ${config.cacheDirectory}).\n` +
|
|
72328
|
-
'For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.');
|
|
72329
|
-
}
|
|
72444
|
+
throw new Error(`Could not find ${getBrowserTypeDisplayName(browserType)} (ver. ${browserVersion}). This can occur if either\n` +
|
|
72445
|
+
` 1. you did not perform an installation before running the script (e.g. \`npx puppeteer browsers install ${browserType}\`) or\n` +
|
|
72446
|
+
` 2. your cache path is incorrectly configured (which is: ${config.cacheDirectory}).\n` +
|
|
72447
|
+
'For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.');
|
|
72330
72448
|
}
|
|
72331
72449
|
return executablePath;
|
|
72332
72450
|
}
|
|
@@ -72423,16 +72541,21 @@ class ChromeLauncher extends BrowserLauncher {
|
|
|
72423
72541
|
}
|
|
72424
72542
|
}
|
|
72425
72543
|
let isTempUserDataDir = false;
|
|
72426
|
-
|
|
72544
|
+
const userDataDirIndex = chromeArguments.findIndex(arg => {
|
|
72427
72545
|
return arg.startsWith('--user-data-dir');
|
|
72428
72546
|
});
|
|
72547
|
+
let userDataDir;
|
|
72429
72548
|
if (userDataDirIndex < 0) {
|
|
72430
72549
|
isTempUserDataDir = true;
|
|
72431
|
-
|
|
72432
|
-
|
|
72550
|
+
const profilePath = await this.getProfilePath();
|
|
72551
|
+
userDataDir = await mkdtemp(profilePath);
|
|
72552
|
+
chromeArguments.push(`--user-data-dir=${userDataDir}`);
|
|
72553
|
+
}
|
|
72554
|
+
else {
|
|
72555
|
+
const parsedUserDataDir = chromeArguments[userDataDirIndex].split('=', 2)[1];
|
|
72556
|
+
assert(typeof parsedUserDataDir === 'string', '`--user-data-dir` is malformed');
|
|
72557
|
+
userDataDir = parsedUserDataDir;
|
|
72433
72558
|
}
|
|
72434
|
-
const userDataDir = chromeArguments[userDataDirIndex].split('=', 2)[1];
|
|
72435
|
-
assert(typeof userDataDir === 'string', '`--user-data-dir` is malformed');
|
|
72436
72559
|
let chromeExecutable = executablePath;
|
|
72437
72560
|
if (!chromeExecutable) {
|
|
72438
72561
|
assert(channel || !this.puppeteer._isPuppeteerCore, `An \`executablePath\` or \`channel\` must be specified for \`puppeteer-core\``);
|
|
@@ -72453,7 +72576,7 @@ class ChromeLauncher extends BrowserLauncher {
|
|
|
72453
72576
|
await rm(path);
|
|
72454
72577
|
}
|
|
72455
72578
|
catch (error) {
|
|
72456
|
-
debugError(error);
|
|
72579
|
+
debugError?.(error);
|
|
72457
72580
|
throw error;
|
|
72458
72581
|
}
|
|
72459
72582
|
}
|
|
@@ -72540,9 +72663,9 @@ class ChromeLauncher extends BrowserLauncher {
|
|
|
72540
72663
|
if (headless) {
|
|
72541
72664
|
chromeArguments.push(headless === 'shell' ? '--headless' : '--headless=new', '--hide-scrollbars', '--mute-audio');
|
|
72542
72665
|
}
|
|
72543
|
-
|
|
72544
|
-
|
|
72545
|
-
|
|
72666
|
+
if (!enableExtensions) {
|
|
72667
|
+
chromeArguments.push('--disable-extensions');
|
|
72668
|
+
}
|
|
72546
72669
|
if (args.every(arg => {
|
|
72547
72670
|
return arg.startsWith('-');
|
|
72548
72671
|
})) {
|
|
@@ -72676,7 +72799,7 @@ class FirefoxLauncher extends BrowserLauncher {
|
|
|
72676
72799
|
await rm(userDataDir);
|
|
72677
72800
|
}
|
|
72678
72801
|
catch (error) {
|
|
72679
|
-
debugError(error);
|
|
72802
|
+
debugError?.(error);
|
|
72680
72803
|
throw error;
|
|
72681
72804
|
}
|
|
72682
72805
|
}
|
|
@@ -72699,7 +72822,7 @@ class FirefoxLauncher extends BrowserLauncher {
|
|
|
72699
72822
|
}
|
|
72700
72823
|
}
|
|
72701
72824
|
catch (error) {
|
|
72702
|
-
debugError(error);
|
|
72825
|
+
debugError?.(error);
|
|
72703
72826
|
}
|
|
72704
72827
|
}
|
|
72705
72828
|
}
|
|
@@ -72913,6 +73036,11 @@ var __setFunctionName = (undefined && undefined.__setFunctionName) || function (
|
|
|
72913
73036
|
const CRF_VALUE = 30;
|
|
72914
73037
|
const DEFAULT_FPS = 30;
|
|
72915
73038
|
const debugFfmpeg = debug$1('puppeteer:ffmpeg');
|
|
73039
|
+
function countFrames(startTimestamp, previousTimestamp, timestamp, fps) {
|
|
73040
|
+
const end = Math.round((timestamp - startTimestamp) * fps);
|
|
73041
|
+
const start = Math.round((previousTimestamp - startTimestamp) * fps);
|
|
73042
|
+
return Math.max(0, end - start);
|
|
73043
|
+
}
|
|
72916
73044
|
let ScreenRecorder = (() => {
|
|
72917
73045
|
let _classSuper = PassThrough;
|
|
72918
73046
|
let _instanceExtraInitializers = [];
|
|
@@ -72988,10 +73116,9 @@ let ScreenRecorder = (() => {
|
|
|
72988
73116
|
'-fflags',
|
|
72989
73117
|
'nobuffer',
|
|
72990
73118
|
],
|
|
72991
|
-
['-f', 'image2pipe', '-vcodec', 'png', '-i', 'pipe:0'],
|
|
73119
|
+
['-framerate', `${fps}`, '-f', 'image2pipe', '-vcodec', 'png', '-i', 'pipe:0'],
|
|
72992
73120
|
['-an'],
|
|
72993
73121
|
['-threads', '1'],
|
|
72994
|
-
['-framerate', `${fps}`],
|
|
72995
73122
|
['-b:v', '0'],
|
|
72996
73123
|
formatArgs,
|
|
72997
73124
|
['-vf', filters.join()],
|
|
@@ -73000,13 +73127,14 @@ let ScreenRecorder = (() => {
|
|
|
73000
73127
|
].flat(), { stdio: ['pipe', 'pipe', 'pipe'] });
|
|
73001
73128
|
this.#process.stdout.pipe(this);
|
|
73002
73129
|
this.#process.stderr.on('data', (data) => {
|
|
73003
|
-
debugFfmpeg(data.toString('utf8'));
|
|
73130
|
+
debugFfmpeg?.(data.toString('utf8'));
|
|
73004
73131
|
});
|
|
73005
73132
|
this.#page = page;
|
|
73006
73133
|
const { client } = this.#page.mainFrame();
|
|
73007
73134
|
client.once(CDPSessionEvent.Disconnected, () => {
|
|
73008
|
-
void this.stop().catch(
|
|
73135
|
+
void this.stop().catch(debugCatchError);
|
|
73009
73136
|
});
|
|
73137
|
+
let startTimestamp;
|
|
73010
73138
|
this.#lastFrame = lastValueFrom(fromEmitterEvent(client, 'Page.screencastFrame').pipe(tap(event => {
|
|
73011
73139
|
void client.send('Page.screencastFrameAck', {
|
|
73012
73140
|
sessionId: event.sessionId,
|
|
@@ -73019,7 +73147,8 @@ let ScreenRecorder = (() => {
|
|
|
73019
73147
|
timestamp: event.metadata.timestamp,
|
|
73020
73148
|
};
|
|
73021
73149
|
}), bufferCount(2, 1), concatMap(([{ timestamp: previousTimestamp, buffer }, { timestamp }]) => {
|
|
73022
|
-
|
|
73150
|
+
startTimestamp ??= previousTimestamp;
|
|
73151
|
+
return from(Array(countFrames(startTimestamp, previousTimestamp, timestamp, fps)).fill(buffer));
|
|
73023
73152
|
}), map(buffer => {
|
|
73024
73153
|
void this.#writeFrame(buffer);
|
|
73025
73154
|
return [buffer, performance.now()];
|
|
@@ -73072,7 +73201,7 @@ let ScreenRecorder = (() => {
|
|
|
73072
73201
|
if (this.#controller.signal.aborted) {
|
|
73073
73202
|
return;
|
|
73074
73203
|
}
|
|
73075
|
-
await this.#page._stopScreencast().catch(
|
|
73204
|
+
await this.#page._stopScreencast().catch(debugCatchError);
|
|
73076
73205
|
this.#controller.abort();
|
|
73077
73206
|
const [buffer, timestamp] = await this.#lastFrame;
|
|
73078
73207
|
await Promise.all(Array(Math.max(1, Math.round((this.#fps * (performance.now() - timestamp)) / 1000)))
|
|
@@ -73095,11 +73224,7 @@ let ScreenRecorder = (() => {
|
|
|
73095
73224
|
* Copyright 2017 Google Inc.
|
|
73096
73225
|
* SPDX-License-Identifier: Apache-2.0
|
|
73097
73226
|
*/
|
|
73098
|
-
environment.value =
|
|
73099
|
-
fs,
|
|
73100
|
-
path,
|
|
73101
|
-
ScreenRecorder: ScreenRecorder,
|
|
73102
|
-
};
|
|
73227
|
+
environment.value.ScreenRecorder = ScreenRecorder;
|
|
73103
73228
|
const puppeteer = new PuppeteerNode({
|
|
73104
73229
|
isPuppeteerCore: true,
|
|
73105
73230
|
});
|
|
@@ -73114,7 +73239,7 @@ const DELIMITERS = {
|
|
|
73114
73239
|
comma: ","};
|
|
73115
73240
|
const DEFAULT_DELIMITER = DELIMITERS.comma;
|
|
73116
73241
|
function escapeString(value) {
|
|
73117
|
-
return value.replace(/\\/g, `\\\\`).replace(/"/g, `\\"`).replace(/\n/g, `\\n`).replace(/\r/g, `\\r`).replace(/\t/g, `\\t`);
|
|
73242
|
+
return value.replace(/\\/g, `\\\\`).replace(/"/g, `\\"`).replace(/\n/g, `\\n`).replace(/\r/g, `\\r`).replace(/\t/g, `\\t`).replace(/[\u0000-\u001F]/g, (c) => `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`);
|
|
73118
73243
|
}
|
|
73119
73244
|
function isBooleanOrNullLiteral(token) {
|
|
73120
73245
|
return token === "true" || token === "false" || token === "null";
|
|
@@ -73187,7 +73312,7 @@ function isSafeUnquoted(value, delimiter = DEFAULT_DELIMITER) {
|
|
|
73187
73312
|
if (value.includes(":")) return false;
|
|
73188
73313
|
if (value.includes("\"") || value.includes("\\")) return false;
|
|
73189
73314
|
if (/[[\]{}]/.test(value)) return false;
|
|
73190
|
-
if (/[\
|
|
73315
|
+
if (/[\u0000-\u001F]/.test(value)) return false;
|
|
73191
73316
|
if (value.includes(delimiter)) return false;
|
|
73192
73317
|
if (value.startsWith("-")) return false;
|
|
73193
73318
|
return true;
|
|
@@ -73323,10 +73448,7 @@ function* encodeKeyValuePairLines(key, value, depth, options, siblings, rootLite
|
|
|
73323
73448
|
}
|
|
73324
73449
|
function* encodeArrayLines(key, value, depth, options) {
|
|
73325
73450
|
if (value.length === 0) {
|
|
73326
|
-
yield indentedLine(depth,
|
|
73327
|
-
key,
|
|
73328
|
-
delimiter: options.delimiter
|
|
73329
|
-
}), options.indent);
|
|
73451
|
+
yield indentedLine(depth, key != null ? `${encodeKey(key)}: []` : "[]", options.indent);
|
|
73330
73452
|
return;
|
|
73331
73453
|
}
|
|
73332
73454
|
if (isArrayOfPrimitives(value)) {
|
|
@@ -73424,7 +73546,7 @@ function* encodeObjectAsListItemLines(obj, depth, options) {
|
|
|
73424
73546
|
}
|
|
73425
73547
|
const encodedKey = encodeKey(firstKey);
|
|
73426
73548
|
if (isJsonPrimitive(firstValue)) yield indentedListItem(depth, `${encodedKey}: ${encodePrimitive(firstValue, options.delimiter)}`, options.indent);
|
|
73427
|
-
else if (isJsonArray(firstValue)) if (firstValue.length === 0) yield indentedListItem(depth, `${encodedKey}
|
|
73549
|
+
else if (isJsonArray(firstValue)) if (firstValue.length === 0) yield indentedListItem(depth, `${encodedKey}: []`, options.indent);
|
|
73428
73550
|
else if (isArrayOfPrimitives(firstValue)) yield indentedListItem(depth, `${encodedKey}${encodeInlineArrayLine(firstValue, options.delimiter)}`, options.indent);
|
|
73429
73551
|
else {
|
|
73430
73552
|
yield indentedListItem(depth, `${encodedKey}${formatHeader(firstValue.length, { delimiter: options.delimiter })}`, options.indent);
|
|
@@ -76810,7 +76932,6 @@ var ExperimentName;
|
|
|
76810
76932
|
ExperimentName["ALL"] = "*";
|
|
76811
76933
|
ExperimentName["PROTOCOL_MONITOR"] = "protocol-monitor";
|
|
76812
76934
|
ExperimentName["INSTRUMENTATION_BREAKPOINTS"] = "instrumentation-breakpoints";
|
|
76813
|
-
ExperimentName["USE_SOURCE_MAP_SCOPES"] = "use-source-map-scopes";
|
|
76814
76935
|
ExperimentName["DURABLE_MESSAGES"] = "durable-messages";
|
|
76815
76936
|
ExperimentName["JPEG_XL"] = "jpeg-xl";
|
|
76816
76937
|
ExperimentName["PLUS_BUTTON"] = "plus-button";
|
|
@@ -79332,6 +79453,9 @@ const debounce = function (func, delay) {
|
|
|
79332
79453
|
clearTimeout(timer);
|
|
79333
79454
|
timer = setTimeout(() => func(...args), testDebounceOverride ? 0 : delay);
|
|
79334
79455
|
};
|
|
79456
|
+
debounced.cancel = () => {
|
|
79457
|
+
clearTimeout(timer);
|
|
79458
|
+
};
|
|
79335
79459
|
return debounced;
|
|
79336
79460
|
};
|
|
79337
79461
|
let testDebounceOverride = false;
|
|
@@ -83483,6 +83607,7 @@ var ClientFeature;
|
|
|
83483
83607
|
ClientFeature[ClientFeature["CHROME_ACCESSIBILITY_AGENT"] = 26] = "CHROME_ACCESSIBILITY_AGENT";
|
|
83484
83608
|
ClientFeature[ClientFeature["CHROME_CONVERSATION_SUMMARY_AGENT"] = 27] = "CHROME_CONVERSATION_SUMMARY_AGENT";
|
|
83485
83609
|
ClientFeature[ClientFeature["CHROME_STORAGE_AGENT"] = 28] = "CHROME_STORAGE_AGENT";
|
|
83610
|
+
ClientFeature[ClientFeature["CHROME_DEVTOOLS_V2_AGENT"] = 29] = "CHROME_DEVTOOLS_V2_AGENT";
|
|
83486
83611
|
})(ClientFeature || (ClientFeature = {}));
|
|
83487
83612
|
var UserTier;
|
|
83488
83613
|
(function (UserTier) {
|
|
@@ -85996,7 +86121,9 @@ var Action;
|
|
|
85996
86121
|
Action[Action["AiCodeGenerationRequestTriggeredFromSources"] = 205] = "AiCodeGenerationRequestTriggeredFromSources";
|
|
85997
86122
|
Action[Action["AiCodeCompletionFreCompletedFromConsole"] = 206] = "AiCodeCompletionFreCompletedFromConsole";
|
|
85998
86123
|
Action[Action["AiCodeCompletionFreCompletedFromSources"] = 207] = "AiCodeCompletionFreCompletedFromSources";
|
|
85999
|
-
Action[Action["
|
|
86124
|
+
Action[Action["AiAssistanceOpenedFromApplicationPanelFloatingButton"] = 208] = "AiAssistanceOpenedFromApplicationPanelFloatingButton";
|
|
86125
|
+
Action[Action["AiAssistanceOpenedFromApplicationPanel"] = 209] = "AiAssistanceOpenedFromApplicationPanel";
|
|
86126
|
+
Action[Action["MAX_VALUE"] = 210] = "MAX_VALUE";
|
|
86000
86127
|
})(Action || (Action = {}));
|
|
86001
86128
|
var PanelCodes;
|
|
86002
86129
|
(function (PanelCodes) {
|
|
@@ -86066,7 +86193,8 @@ var PanelCodes;
|
|
|
86066
86193
|
PanelCodes[PanelCodes["developer-resources"] = 66] = "developer-resources";
|
|
86067
86194
|
PanelCodes[PanelCodes["autofill-view"] = 67] = "autofill-view";
|
|
86068
86195
|
PanelCodes[PanelCodes["freestyler"] = 68] = "freestyler";
|
|
86069
|
-
PanelCodes[PanelCodes["
|
|
86196
|
+
PanelCodes[PanelCodes["ads"] = 69] = "ads";
|
|
86197
|
+
PanelCodes[PanelCodes["MAX_VALUE"] = 70] = "MAX_VALUE";
|
|
86070
86198
|
})(PanelCodes || (PanelCodes = {}));
|
|
86071
86199
|
var MediaTypes;
|
|
86072
86200
|
(function (MediaTypes) {
|
|
@@ -86239,7 +86367,6 @@ var DevtoolsExperiments;
|
|
|
86239
86367
|
(function (DevtoolsExperiments) {
|
|
86240
86368
|
DevtoolsExperiments[DevtoolsExperiments["protocol-monitor"] = 13] = "protocol-monitor";
|
|
86241
86369
|
DevtoolsExperiments[DevtoolsExperiments["instrumentation-breakpoints"] = 61] = "instrumentation-breakpoints";
|
|
86242
|
-
DevtoolsExperiments[DevtoolsExperiments["use-source-map-scopes"] = 76] = "use-source-map-scopes";
|
|
86243
86370
|
DevtoolsExperiments[DevtoolsExperiments["durable-messages"] = 110] = "durable-messages";
|
|
86244
86371
|
DevtoolsExperiments[DevtoolsExperiments["jpeg-xl"] = 111] = "jpeg-xl";
|
|
86245
86372
|
DevtoolsExperiments[DevtoolsExperiments["plus-button"] = 112] = "plus-button";
|
|
@@ -86799,7 +86926,8 @@ function registerCommands(inspectorBackend) {
|
|
|
86799
86926
|
inspectorBackend.registerType("CSS.InheritedPseudoElementMatches", [{ "name": "pseudoElements", "type": "array", "optional": false, "description": "Matches of pseudo styles from the pseudos of an ancestor node.", "typeRef": "CSS.PseudoElementMatches" }]);
|
|
86800
86927
|
inspectorBackend.registerType("CSS.RuleMatch", [{ "name": "rule", "type": "object", "optional": false, "description": "CSS rule in the match.", "typeRef": "CSS.CSSRule" }, { "name": "matchingSelectors", "type": "array", "optional": false, "description": "Matching selector indices in the rule's selectorList selectors (0-based).", "typeRef": "integer" }]);
|
|
86801
86928
|
inspectorBackend.registerType("CSS.Value", [{ "name": "text", "type": "string", "optional": false, "description": "Value text.", "typeRef": null }, { "name": "range", "type": "object", "optional": true, "description": "Value range in the underlying resource (if available).", "typeRef": "CSS.SourceRange" }, { "name": "specificity", "type": "object", "optional": true, "description": "Specificity of the selector.", "typeRef": "CSS.Specificity" }]);
|
|
86802
|
-
inspectorBackend.registerType("CSS.
|
|
86929
|
+
inspectorBackend.registerType("CSS.SpecificityComponent", [{ "name": "text", "type": "string", "optional": false, "description": "The simple selector text that contributes to specificity.", "typeRef": null }, { "name": "a", "type": "number", "optional": false, "description": "The a component contribution.", "typeRef": null }, { "name": "b", "type": "number", "optional": false, "description": "The b component contribution.", "typeRef": null }, { "name": "c", "type": "number", "optional": false, "description": "The c component contribution.", "typeRef": null }]);
|
|
86930
|
+
inspectorBackend.registerType("CSS.Specificity", [{ "name": "a", "type": "number", "optional": false, "description": "The a component, which represents the number of ID selectors.", "typeRef": null }, { "name": "b", "type": "number", "optional": false, "description": "The b component, which represents the number of class selectors, attributes selectors, and pseudo-classes.", "typeRef": null }, { "name": "c", "type": "number", "optional": false, "description": "The c component, which represents the number of type selectors and pseudo-elements.", "typeRef": null }, { "name": "components", "type": "array", "optional": true, "description": "Per-simple-selector contributions used to explain this specificity.", "typeRef": "CSS.SpecificityComponent" }]);
|
|
86803
86931
|
inspectorBackend.registerType("CSS.SelectorList", [{ "name": "selectors", "type": "array", "optional": false, "description": "Selectors in the list.", "typeRef": "CSS.Value" }, { "name": "text", "type": "string", "optional": false, "description": "Rule selector text.", "typeRef": null }]);
|
|
86804
86932
|
inspectorBackend.registerType("CSS.CSSStyleSheetHeader", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "The stylesheet identifier.", "typeRef": "DOM.StyleSheetId" }, { "name": "frameId", "type": "string", "optional": false, "description": "Owner frame identifier.", "typeRef": "Page.FrameId" }, { "name": "sourceURL", "type": "string", "optional": false, "description": "Stylesheet resource URL. Empty if this is a constructed stylesheet created using new CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported as a CSS module script).", "typeRef": null }, { "name": "sourceMapURL", "type": "string", "optional": true, "description": "URL of source map associated with the stylesheet (if any).", "typeRef": null }, { "name": "origin", "type": "string", "optional": false, "description": "Stylesheet origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "title", "type": "string", "optional": false, "description": "Stylesheet title.", "typeRef": null }, { "name": "ownerNode", "type": "number", "optional": true, "description": "The backend id for the owner node of the stylesheet.", "typeRef": "DOM.BackendNodeId" }, { "name": "disabled", "type": "boolean", "optional": false, "description": "Denotes whether the stylesheet is disabled.", "typeRef": null }, { "name": "hasSourceURL", "type": "boolean", "optional": true, "description": "Whether the sourceURL field value comes from the sourceURL comment.", "typeRef": null }, { "name": "isInline", "type": "boolean", "optional": false, "description": "Whether this stylesheet is created for STYLE tag by parser. This flag is not set for document.written STYLE tags.", "typeRef": null }, { "name": "isMutable", "type": "boolean", "optional": false, "description": "Whether this stylesheet is mutable. Inline stylesheets become mutable after they have been modified via CSSOM API. `<link>` element's stylesheets become mutable only if DevTools modifies them. Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation.", "typeRef": null }, { "name": "isConstructed", "type": "boolean", "optional": false, "description": "True if this stylesheet is created through new CSSStyleSheet() or imported as a CSS module script.", "typeRef": null }, { "name": "startLine", "type": "number", "optional": false, "description": "Line offset of the stylesheet within the resource (zero based).", "typeRef": null }, { "name": "startColumn", "type": "number", "optional": false, "description": "Column offset of the stylesheet within the resource (zero based).", "typeRef": null }, { "name": "length", "type": "number", "optional": false, "description": "Size of the content (in characters).", "typeRef": null }, { "name": "endLine", "type": "number", "optional": false, "description": "Line offset of the end of the stylesheet within the resource (zero based).", "typeRef": null }, { "name": "endColumn", "type": "number", "optional": false, "description": "Column offset of the end of the stylesheet within the resource (zero based).", "typeRef": null }, { "name": "loadingFailed", "type": "boolean", "optional": true, "description": "If the style sheet was loaded from a network resource, this indicates when the resource failed to load", "typeRef": null }]);
|
|
86805
86933
|
inspectorBackend.registerType("CSS.CSSRule", [{ "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "DOM.StyleSheetId" }, { "name": "selectorList", "type": "object", "optional": false, "description": "Rule selector data.", "typeRef": "CSS.SelectorList" }, { "name": "nestingSelectors", "type": "array", "optional": true, "description": "Array of selectors from ancestor style rules, sorted by distance from the current rule.", "typeRef": "string" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }, { "name": "originTreeScopeNodeId", "type": "number", "optional": true, "description": "The BackendNodeId of the DOM node that constitutes the origin tree scope of this rule.", "typeRef": "DOM.BackendNodeId" }, { "name": "media", "type": "array", "optional": true, "description": "Media list array (for rules involving media queries). The array enumerates media queries starting with the innermost one, going outwards.", "typeRef": "CSS.CSSMedia" }, { "name": "containerQueries", "type": "array", "optional": true, "description": "Container query list array (for rules involving container queries). The array enumerates container queries starting with the innermost one, going outwards.", "typeRef": "CSS.CSSContainerQuery" }, { "name": "supports", "type": "array", "optional": true, "description": "@supports CSS at-rule array. The array enumerates @supports at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSSupports" }, { "name": "layers", "type": "array", "optional": true, "description": "Cascade layer array. Contains the layer hierarchy that this rule belongs to starting with the innermost layer and going outwards.", "typeRef": "CSS.CSSLayer" }, { "name": "scopes", "type": "array", "optional": true, "description": "@scope CSS at-rule array. The array enumerates @scope at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSScope" }, { "name": "ruleTypes", "type": "array", "optional": true, "description": "The array keeps the types of ancestor CSSRules from the innermost going outwards.", "typeRef": "CSS.CSSRuleType" }, { "name": "startingStyles", "type": "array", "optional": true, "description": "@starting-style CSS at-rule array. The array enumerates @starting-style at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSStartingStyle" }, { "name": "navigations", "type": "array", "optional": true, "description": "@navigation CSS at-rule array. The array enumerates @navigation at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSNavigation" }]);
|
|
@@ -86935,7 +87063,7 @@ function registerCommands(inspectorBackend) {
|
|
|
86935
87063
|
inspectorBackend.registerCommand("DOM.getContainerForNode", [{ "name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId" }, { "name": "containerName", "type": "string", "optional": true, "description": "", "typeRef": null }, { "name": "physicalAxes", "type": "string", "optional": true, "description": "", "typeRef": "DOM.PhysicalAxes" }, { "name": "logicalAxes", "type": "string", "optional": true, "description": "", "typeRef": "DOM.LogicalAxes" }, { "name": "queriesScrollState", "type": "boolean", "optional": true, "description": "", "typeRef": null }, { "name": "queriesAnchored", "type": "boolean", "optional": true, "description": "", "typeRef": null }], ["nodeId"], "Returns the query container of the given node based on container query conditions: containerName, physical and logical axes, and whether it queries scroll-state or anchored elements. If no axes are provided and queriesScrollState is false, the style container is returned, which is the direct parent or the closest element with a matching container-name.");
|
|
86936
87064
|
inspectorBackend.registerCommand("DOM.getQueryingDescendantsForContainer", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Id of the container node to find querying descendants from.", "typeRef": "DOM.NodeId" }], ["nodeIds"], "Returns the descendants of a container query container that have container queries against this container.");
|
|
86937
87065
|
inspectorBackend.registerCommand("DOM.getAnchorElement", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Id of the positioned element from which to find the anchor.", "typeRef": "DOM.NodeId" }, { "name": "anchorSpecifier", "type": "string", "optional": true, "description": "An optional anchor specifier, as defined in https://www.w3.org/TR/css-anchor-position-1/#anchor-specifier. If not provided, it will return the implicit anchor element for the given positioned element.", "typeRef": null }], ["nodeId"], "Returns the target anchor element of the given anchor query according to https://www.w3.org/TR/css-anchor-position-1/#target.");
|
|
86938
|
-
inspectorBackend.registerCommand("DOM.forceShowPopover", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Id of the popover HTMLElement", "typeRef": "DOM.NodeId" }, { "name": "enable", "type": "boolean", "optional": false, "description": "If true, opens the popover and keeps it open. If false, closes the popover if it was previously force-opened.", "typeRef": null }], ["nodeIds"], "When enabling, this API force-opens the popover identified by nodeId and keeps it open until disabled.");
|
|
87066
|
+
inspectorBackend.registerCommand("DOM.forceShowPopover", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Id of the popover HTMLElement", "typeRef": "DOM.NodeId" }, { "name": "enable", "type": "boolean", "optional": false, "description": "If true, opens the popover and keeps it open. If false, closes the popover if it was previously force-opened.", "typeRef": null }, { "name": "invokerNodeId", "type": "number", "optional": true, "description": "Optional ID of the element invoking this popover, used to establish the implicit anchor. If not provided, it will fall back to the first invoker in the document, preferring elements with a popovertarget attribute over those with a commandfor attribute. Note that if there are multiple invokers, this is just an estimate.", "typeRef": "DOM.BackendNodeId" }], ["nodeIds"], "When enabling, this API force-opens the popover identified by nodeId and keeps it open until disabled.");
|
|
86939
87067
|
inspectorBackend.registerType("DOM.BackendNode", [{ "name": "nodeType", "type": "number", "optional": false, "description": "`Node`'s nodeType.", "typeRef": null }, { "name": "nodeName", "type": "string", "optional": false, "description": "`Node`'s nodeName.", "typeRef": null }, { "name": "backendNodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.BackendNodeId" }]);
|
|
86940
87068
|
inspectorBackend.registerType("DOM.Node", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend will only push node with given `id` once. It is aware of all requested nodes and will only fire DOM events for nodes known to the client.", "typeRef": "DOM.NodeId" }, { "name": "parentId", "type": "number", "optional": true, "description": "The id of the parent node if any.", "typeRef": "DOM.NodeId" }, { "name": "backendNodeId", "type": "number", "optional": false, "description": "The BackendNodeId for this node.", "typeRef": "DOM.BackendNodeId" }, { "name": "nodeType", "type": "number", "optional": false, "description": "`Node`'s nodeType.", "typeRef": null }, { "name": "nodeName", "type": "string", "optional": false, "description": "`Node`'s nodeName.", "typeRef": null }, { "name": "localName", "type": "string", "optional": false, "description": "`Node`'s localName.", "typeRef": null }, { "name": "nodeValue", "type": "string", "optional": false, "description": "`Node`'s nodeValue.", "typeRef": null }, { "name": "childNodeCount", "type": "number", "optional": true, "description": "Child count for `Container` nodes.", "typeRef": null }, { "name": "children", "type": "array", "optional": true, "description": "Child nodes of this node when requested with children.", "typeRef": "DOM.Node" }, { "name": "attributes", "type": "array", "optional": true, "description": "Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.", "typeRef": "string" }, { "name": "documentURL", "type": "string", "optional": true, "description": "Document URL that `Document` or `FrameOwner` node points to.", "typeRef": null }, { "name": "baseURL", "type": "string", "optional": true, "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.", "typeRef": null }, { "name": "publicId", "type": "string", "optional": true, "description": "`DocumentType`'s publicId.", "typeRef": null }, { "name": "systemId", "type": "string", "optional": true, "description": "`DocumentType`'s systemId.", "typeRef": null }, { "name": "internalSubset", "type": "string", "optional": true, "description": "`DocumentType`'s internalSubset.", "typeRef": null }, { "name": "xmlVersion", "type": "string", "optional": true, "description": "`Document`'s XML version in case of XML documents.", "typeRef": null }, { "name": "name", "type": "string", "optional": true, "description": "`Attr`'s name.", "typeRef": null }, { "name": "value", "type": "string", "optional": true, "description": "`Attr`'s value.", "typeRef": null }, { "name": "pseudoType", "type": "string", "optional": true, "description": "Pseudo element type for this node.", "typeRef": "DOM.PseudoType" }, { "name": "pseudoIdentifier", "type": "string", "optional": true, "description": "Pseudo element identifier for this node. Only present if there is a valid pseudoType.", "typeRef": null }, { "name": "shadowRootType", "type": "string", "optional": true, "description": "Shadow root type.", "typeRef": "DOM.ShadowRootType" }, { "name": "frameId", "type": "string", "optional": true, "description": "Frame ID for frame owner elements.", "typeRef": "Page.FrameId" }, { "name": "contentDocument", "type": "object", "optional": true, "description": "Content document for frame owner elements.", "typeRef": "DOM.Node" }, { "name": "shadowRoots", "type": "array", "optional": true, "description": "Shadow root list for given element host.", "typeRef": "DOM.Node" }, { "name": "templateContent", "type": "object", "optional": true, "description": "Content document fragment for template elements.", "typeRef": "DOM.Node" }, { "name": "pseudoElements", "type": "array", "optional": true, "description": "Pseudo elements associated with this node.", "typeRef": "DOM.Node" }, { "name": "importedDocument", "type": "object", "optional": true, "description": "Deprecated, as the HTML Imports API has been removed (crbug.com/937746). This property used to return the imported document for the HTMLImport links. The property is always undefined now.", "typeRef": "DOM.Node" }, { "name": "distributedNodes", "type": "array", "optional": true, "description": "Distributed nodes for given insertion point.", "typeRef": "DOM.BackendNode" }, { "name": "isSVG", "type": "boolean", "optional": true, "description": "Whether the node is SVG.", "typeRef": null }, { "name": "compatibilityMode", "type": "string", "optional": true, "description": "", "typeRef": "DOM.CompatibilityMode" }, { "name": "assignedSlot", "type": "object", "optional": true, "description": "", "typeRef": "DOM.BackendNode" }, { "name": "isScrollable", "type": "boolean", "optional": true, "description": "", "typeRef": null }, { "name": "affectedByStartingStyles", "type": "boolean", "optional": true, "description": "", "typeRef": null }, { "name": "adoptedStyleSheets", "type": "array", "optional": true, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "adProvenance", "type": "object", "optional": true, "description": "", "typeRef": "Network.AdProvenance" }]);
|
|
86941
87069
|
inspectorBackend.registerType("DOM.DetachedElementInfo", [{ "name": "treeNode", "type": "object", "optional": false, "description": "", "typeRef": "DOM.Node" }, { "name": "retainedNodeIds", "type": "array", "optional": false, "description": "", "typeRef": "DOM.NodeId" }]);
|
|
@@ -87256,7 +87384,7 @@ function registerCommands(inspectorBackend) {
|
|
|
87256
87384
|
inspectorBackend.registerEnum("Network.InitiatorType", { Parser: "parser", Script: "script", Preload: "preload", SignedExchange: "SignedExchange", Preflight: "preflight", FedCM: "FedCM", Other: "other" });
|
|
87257
87385
|
inspectorBackend.registerEnum("Network.SetCookieBlockedReason", { SecureOnly: "SecureOnly", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", SyntaxError: "SyntaxError", SchemeNotSupported: "SchemeNotSupported", OverwriteSecure: "OverwriteSecure", InvalidDomain: "InvalidDomain", InvalidPrefix: "InvalidPrefix", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax", NameValuePairExceedsMaxSize: "NameValuePairExceedsMaxSize", DisallowedCharacter: "DisallowedCharacter", NoCookieContent: "NoCookieContent" });
|
|
87258
87386
|
inspectorBackend.registerEnum("Network.CookieBlockedReason", { SecureOnly: "SecureOnly", NotOnPath: "NotOnPath", DomainMismatch: "DomainMismatch", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax", NameValuePairExceedsMaxSize: "NameValuePairExceedsMaxSize", PortMismatch: "PortMismatch", SchemeMismatch: "SchemeMismatch", AnonymousContext: "AnonymousContext" });
|
|
87259
|
-
inspectorBackend.registerEnum("Network.CookieExemptionReason", { None: "None", UserSetting: "UserSetting",
|
|
87387
|
+
inspectorBackend.registerEnum("Network.CookieExemptionReason", { None: "None", UserSetting: "UserSetting", EnterprisePolicy: "EnterprisePolicy", StorageAccess: "StorageAccess", TopLevelStorageAccess: "TopLevelStorageAccess", Scheme: "Scheme", SameSiteNoneCookiesInSandbox: "SameSiteNoneCookiesInSandbox" });
|
|
87260
87388
|
inspectorBackend.registerEnum("Network.AuthChallengeSource", { Server: "Server", Proxy: "Proxy" });
|
|
87261
87389
|
inspectorBackend.registerEnum("Network.AuthChallengeResponseResponse", { Default: "Default", CancelAuth: "CancelAuth", ProvideCredentials: "ProvideCredentials" });
|
|
87262
87390
|
inspectorBackend.registerEnum("Network.InterceptionStage", { Request: "Request", HeadersReceived: "HeadersReceived" });
|
|
@@ -87490,7 +87618,7 @@ function registerCommands(inspectorBackend) {
|
|
|
87490
87618
|
inspectorBackend.registerEnum("Page.SecureContextType", { Secure: "Secure", SecureLocalhost: "SecureLocalhost", InsecureScheme: "InsecureScheme", InsecureAncestor: "InsecureAncestor" });
|
|
87491
87619
|
inspectorBackend.registerEnum("Page.CrossOriginIsolatedContextType", { Isolated: "Isolated", NotIsolated: "NotIsolated", NotIsolatedFeatureDisabled: "NotIsolatedFeatureDisabled" });
|
|
87492
87620
|
inspectorBackend.registerEnum("Page.GatedAPIFeatures", { SharedArrayBuffers: "SharedArrayBuffers", SharedArrayBuffersTransferAllowed: "SharedArrayBuffersTransferAllowed", PerformanceMeasureMemory: "PerformanceMeasureMemory", PerformanceProfile: "PerformanceProfile" });
|
|
87493
|
-
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", { Accelerometer: "accelerometer", AllScreensCapture: "all-screens-capture", AmbientLightSensor: "ambient-light-sensor", AriaNotify: "aria-notify", AttributionReporting: "attribution-reporting", Autofill: "autofill", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", CapturedSurfaceControl: "captured-surface-control", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChPrefersReducedMotion: "ch-prefers-reduced-motion", ChPrefersReducedTransparency: "ch-prefers-reduced-transparency", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaHighEntropyValues: "ch-ua-high-entropy-values", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFormFactors: "ch-ua-form-factors", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", ComputePressure: "compute-pressure", ControlledFrame: "controlled-frame", CrossOriginIsolated: "cross-origin-isolated", DeferredFetch: "deferred-fetch", DeferredFetchMinimal: "deferred-fetch-minimal", DeviceAttributes: "device-attributes", DigitalCredentialsCreate: "digital-credentials-create", DigitalCredentialsGet: "digital-credentials-get", DirectSockets: "direct-sockets", DirectSocketsMulticast: "direct-sockets-multicast",
|
|
87621
|
+
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", { Accelerometer: "accelerometer", AllScreensCapture: "all-screens-capture", AmbientLightSensor: "ambient-light-sensor", AriaNotify: "aria-notify", AttributionReporting: "attribution-reporting", Autofill: "autofill", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", CapturedSurfaceControl: "captured-surface-control", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChPrefersReducedMotion: "ch-prefers-reduced-motion", ChPrefersReducedTransparency: "ch-prefers-reduced-transparency", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaHighEntropyValues: "ch-ua-high-entropy-values", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFormFactors: "ch-ua-form-factors", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", ComputePressure: "compute-pressure", ControlledFrame: "controlled-frame", CrossOriginIsolated: "cross-origin-isolated", DeferredFetch: "deferred-fetch", DeferredFetchMinimal: "deferred-fetch-minimal", DeviceAttributes: "device-attributes", DigitalCredentialsCreate: "digital-credentials-create", DigitalCredentialsGet: "digital-credentials-get", DirectSockets: "direct-sockets", DirectSocketsMulticast: "direct-sockets-multicast", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdentityCredentialsGet: "identity-credentials-get", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LanguageDetector: "language-detector", LanguageModel: "language-model", LocalFonts: "local-fonts", LocalNetwork: "local-network", LocalNetworkAccess: "local-network-access", LoopbackNetwork: "loopback-network", Magnetometer: "magnetometer", ManualText: "manual-text", MediaPlaybackWhileNotVisible: "media-playback-while-not-visible", Microphone: "microphone", Midi: "midi", OnDeviceSpeechRecognition: "on-device-speech-recognition", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PrivateAggregation: "private-aggregation", PrivateStateTokenIssuance: "private-state-token-issuance", PrivateStateTokenRedemption: "private-state-token-redemption", PublickeyCredentialsCreate: "publickey-credentials-create", PublickeyCredentialsGet: "publickey-credentials-get", RecordAdAuctionEvents: "record-ad-auction-events", Rewriter: "rewriter", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedStorage: "shared-storage", SharedStorageSelectUrl: "shared-storage-select-url", SmartCard: "smart-card", SpeakerSelection: "speaker-selection", StorageAccess: "storage-access", SubApps: "sub-apps", Summarizer: "summarizer", SyncXhr: "sync-xhr", Tools: "tools", Translator: "translator", Unload: "unload", Usb: "usb", UsbUnrestricted: "usb-unrestricted", VerticalScroll: "vertical-scroll", WebAppInstallation: "web-app-installation", Webnn: "webnn", WebPrinting: "web-printing", WebShare: "web-share", WindowManagement: "window-management", Writer: "writer", XrSpatialTracking: "xr-spatial-tracking" });
|
|
87494
87622
|
inspectorBackend.registerEnum("Page.PermissionsPolicyBlockReason", { Header: "Header", IframeAttribute: "IframeAttribute", InFencedFrameTree: "InFencedFrameTree", InIsolatedApp: "InIsolatedApp" });
|
|
87495
87623
|
inspectorBackend.registerEnum("Page.OriginTrialTokenStatus", { Success: "Success", NotSupported: "NotSupported", Insecure: "Insecure", Expired: "Expired", WrongOrigin: "WrongOrigin", InvalidSignature: "InvalidSignature", Malformed: "Malformed", WrongVersion: "WrongVersion", FeatureDisabled: "FeatureDisabled", TokenDisabled: "TokenDisabled", FeatureDisabledForUser: "FeatureDisabledForUser", UnknownTrial: "UnknownTrial" });
|
|
87496
87624
|
inspectorBackend.registerEnum("Page.OriginTrialStatus", { Enabled: "Enabled", ValidTokenNotProvided: "ValidTokenNotProvided", OSNotSupported: "OSNotSupported", TrialNotAllowed: "TrialNotAllowed" });
|
|
@@ -88268,6 +88396,9 @@ class TargetBase {
|
|
|
88268
88396
|
autofillAgent() {
|
|
88269
88397
|
return this.getAgent('Autofill');
|
|
88270
88398
|
}
|
|
88399
|
+
adsAgent() {
|
|
88400
|
+
return this.getAgent('Ads');
|
|
88401
|
+
}
|
|
88271
88402
|
browserAgent() {
|
|
88272
88403
|
return this.getAgent('Browser');
|
|
88273
88404
|
}
|
|
@@ -90275,7 +90406,21 @@ const generatedProperties = [
|
|
|
90275
90406
|
"block-ellipsis",
|
|
90276
90407
|
"continue"
|
|
90277
90408
|
],
|
|
90278
|
-
"name": "-alternative-
|
|
90409
|
+
"name": "-alternative-line-clamp-shorthand"
|
|
90410
|
+
},
|
|
90411
|
+
{
|
|
90412
|
+
"keywords": [
|
|
90413
|
+
"none"
|
|
90414
|
+
],
|
|
90415
|
+
"name": "-alternative-webkit-line-clamp-longhand"
|
|
90416
|
+
},
|
|
90417
|
+
{
|
|
90418
|
+
"longhands": [
|
|
90419
|
+
"max-lines",
|
|
90420
|
+
"block-ellipsis",
|
|
90421
|
+
"continue"
|
|
90422
|
+
],
|
|
90423
|
+
"name": "-alternative-webkit-line-clamp-shorthand"
|
|
90279
90424
|
},
|
|
90280
90425
|
{
|
|
90281
90426
|
"inherited": true,
|
|
@@ -90357,6 +90502,12 @@ const generatedProperties = [
|
|
|
90357
90502
|
},
|
|
90358
90503
|
{
|
|
90359
90504
|
"inherited": true,
|
|
90505
|
+
"keywords": [
|
|
90506
|
+
"auto",
|
|
90507
|
+
"none",
|
|
90508
|
+
"antialiased",
|
|
90509
|
+
"subpixel-antialiased"
|
|
90510
|
+
],
|
|
90360
90511
|
"name": "-webkit-font-smoothing"
|
|
90361
90512
|
},
|
|
90362
90513
|
{
|
|
@@ -90377,6 +90528,9 @@ const generatedProperties = [
|
|
|
90377
90528
|
},
|
|
90378
90529
|
{
|
|
90379
90530
|
"inherited": true,
|
|
90531
|
+
"keywords": [
|
|
90532
|
+
"auto"
|
|
90533
|
+
],
|
|
90380
90534
|
"name": "-webkit-locale"
|
|
90381
90535
|
},
|
|
90382
90536
|
{
|
|
@@ -90393,15 +90547,27 @@ const generatedProperties = [
|
|
|
90393
90547
|
"name": "-webkit-mask-box-image-outset"
|
|
90394
90548
|
},
|
|
90395
90549
|
{
|
|
90550
|
+
"keywords": [
|
|
90551
|
+
"repeat",
|
|
90552
|
+
"stretch",
|
|
90553
|
+
"space",
|
|
90554
|
+
"round"
|
|
90555
|
+
],
|
|
90396
90556
|
"name": "-webkit-mask-box-image-repeat"
|
|
90397
90557
|
},
|
|
90398
90558
|
{
|
|
90399
90559
|
"name": "-webkit-mask-box-image-slice"
|
|
90400
90560
|
},
|
|
90401
90561
|
{
|
|
90562
|
+
"keywords": [
|
|
90563
|
+
"none"
|
|
90564
|
+
],
|
|
90402
90565
|
"name": "-webkit-mask-box-image-source"
|
|
90403
90566
|
},
|
|
90404
90567
|
{
|
|
90568
|
+
"keywords": [
|
|
90569
|
+
"auto"
|
|
90570
|
+
],
|
|
90405
90571
|
"name": "-webkit-mask-box-image-width"
|
|
90406
90572
|
},
|
|
90407
90573
|
{
|
|
@@ -90434,10 +90600,23 @@ const generatedProperties = [
|
|
|
90434
90600
|
},
|
|
90435
90601
|
{
|
|
90436
90602
|
"inherited": true,
|
|
90603
|
+
"keywords": [
|
|
90604
|
+
"none",
|
|
90605
|
+
"horizontal"
|
|
90606
|
+
],
|
|
90437
90607
|
"name": "-webkit-text-combine"
|
|
90438
90608
|
},
|
|
90439
90609
|
{
|
|
90440
90610
|
"inherited": true,
|
|
90611
|
+
"keywords": [
|
|
90612
|
+
"none",
|
|
90613
|
+
"blink",
|
|
90614
|
+
"line-through",
|
|
90615
|
+
"overline",
|
|
90616
|
+
"underline",
|
|
90617
|
+
"spelling-error",
|
|
90618
|
+
"grammar-error"
|
|
90619
|
+
],
|
|
90441
90620
|
"name": "-webkit-text-decorations-in-effect"
|
|
90442
90621
|
},
|
|
90443
90622
|
{
|
|
@@ -90513,6 +90692,8 @@ const generatedProperties = [
|
|
|
90513
90692
|
"name": "accent-color"
|
|
90514
90693
|
},
|
|
90515
90694
|
{
|
|
90695
|
+
"is_descriptor": true,
|
|
90696
|
+
"is_property": false,
|
|
90516
90697
|
"name": "additive-symbols"
|
|
90517
90698
|
},
|
|
90518
90699
|
{
|
|
@@ -90522,6 +90703,20 @@ const generatedProperties = [
|
|
|
90522
90703
|
"name": "align-items"
|
|
90523
90704
|
},
|
|
90524
90705
|
{
|
|
90706
|
+
"keywords": [
|
|
90707
|
+
"auto",
|
|
90708
|
+
"normal",
|
|
90709
|
+
"stretch",
|
|
90710
|
+
"baseline",
|
|
90711
|
+
"center",
|
|
90712
|
+
"start",
|
|
90713
|
+
"end",
|
|
90714
|
+
"self-start",
|
|
90715
|
+
"self-end",
|
|
90716
|
+
"flex-start",
|
|
90717
|
+
"flex-end",
|
|
90718
|
+
"anchor-center"
|
|
90719
|
+
],
|
|
90525
90720
|
"name": "align-self"
|
|
90526
90721
|
},
|
|
90527
90722
|
{
|
|
@@ -90543,6 +90738,7 @@ const generatedProperties = [
|
|
|
90543
90738
|
},
|
|
90544
90739
|
{
|
|
90545
90740
|
"longhands": [
|
|
90741
|
+
"-alternative-webkit-line-clamp-longhand",
|
|
90546
90742
|
"-webkit-border-horizontal-spacing",
|
|
90547
90743
|
"-webkit-border-vertical-spacing",
|
|
90548
90744
|
"-webkit-box-align",
|
|
@@ -90808,6 +91004,7 @@ const generatedProperties = [
|
|
|
90808
91004
|
"letter-spacing",
|
|
90809
91005
|
"lighting-color",
|
|
90810
91006
|
"line-break",
|
|
91007
|
+
"line-clamp",
|
|
90811
91008
|
"line-gap-override",
|
|
90812
91009
|
"line-height",
|
|
90813
91010
|
"list-style-image",
|
|
@@ -91114,6 +91311,9 @@ const generatedProperties = [
|
|
|
91114
91311
|
"name": "animation-direction"
|
|
91115
91312
|
},
|
|
91116
91313
|
{
|
|
91314
|
+
"keywords": [
|
|
91315
|
+
"auto"
|
|
91316
|
+
],
|
|
91117
91317
|
"name": "animation-duration"
|
|
91118
91318
|
},
|
|
91119
91319
|
{
|
|
@@ -91195,9 +91395,27 @@ const generatedProperties = [
|
|
|
91195
91395
|
"name": "app-region"
|
|
91196
91396
|
},
|
|
91197
91397
|
{
|
|
91398
|
+
"keywords": [
|
|
91399
|
+
"auto",
|
|
91400
|
+
"none",
|
|
91401
|
+
"checkbox",
|
|
91402
|
+
"radio",
|
|
91403
|
+
"button",
|
|
91404
|
+
"listbox",
|
|
91405
|
+
"menulist",
|
|
91406
|
+
"menulist-button",
|
|
91407
|
+
"meter",
|
|
91408
|
+
"progress-bar",
|
|
91409
|
+
"searchfield",
|
|
91410
|
+
"textfield",
|
|
91411
|
+
"textarea",
|
|
91412
|
+
"base-select"
|
|
91413
|
+
],
|
|
91198
91414
|
"name": "appearance"
|
|
91199
91415
|
},
|
|
91200
91416
|
{
|
|
91417
|
+
"is_descriptor": true,
|
|
91418
|
+
"is_property": false,
|
|
91201
91419
|
"name": "ascent-override"
|
|
91202
91420
|
},
|
|
91203
91421
|
{
|
|
@@ -91280,7 +91498,6 @@ const generatedProperties = [
|
|
|
91280
91498
|
},
|
|
91281
91499
|
{
|
|
91282
91500
|
"keywords": [
|
|
91283
|
-
"auto",
|
|
91284
91501
|
"none"
|
|
91285
91502
|
],
|
|
91286
91503
|
"name": "background-image"
|
|
@@ -91318,9 +91535,13 @@ const generatedProperties = [
|
|
|
91318
91535
|
"name": "background-size"
|
|
91319
91536
|
},
|
|
91320
91537
|
{
|
|
91538
|
+
"is_descriptor": true,
|
|
91539
|
+
"is_property": false,
|
|
91321
91540
|
"name": "base-palette"
|
|
91322
91541
|
},
|
|
91323
91542
|
{
|
|
91543
|
+
"is_descriptor": true,
|
|
91544
|
+
"is_property": false,
|
|
91324
91545
|
"name": "base-url"
|
|
91325
91546
|
},
|
|
91326
91547
|
{
|
|
@@ -91405,9 +91626,26 @@ const generatedProperties = [
|
|
|
91405
91626
|
"name": "border-block-end-color"
|
|
91406
91627
|
},
|
|
91407
91628
|
{
|
|
91629
|
+
"keywords": [
|
|
91630
|
+
"none",
|
|
91631
|
+
"hidden",
|
|
91632
|
+
"inset",
|
|
91633
|
+
"groove",
|
|
91634
|
+
"outset",
|
|
91635
|
+
"ridge",
|
|
91636
|
+
"dotted",
|
|
91637
|
+
"dashed",
|
|
91638
|
+
"solid",
|
|
91639
|
+
"double"
|
|
91640
|
+
],
|
|
91408
91641
|
"name": "border-block-end-style"
|
|
91409
91642
|
},
|
|
91410
91643
|
{
|
|
91644
|
+
"keywords": [
|
|
91645
|
+
"medium",
|
|
91646
|
+
"thick",
|
|
91647
|
+
"thin"
|
|
91648
|
+
],
|
|
91411
91649
|
"name": "border-block-end-width"
|
|
91412
91650
|
},
|
|
91413
91651
|
{
|
|
@@ -91422,9 +91660,26 @@ const generatedProperties = [
|
|
|
91422
91660
|
"name": "border-block-start-color"
|
|
91423
91661
|
},
|
|
91424
91662
|
{
|
|
91663
|
+
"keywords": [
|
|
91664
|
+
"none",
|
|
91665
|
+
"hidden",
|
|
91666
|
+
"inset",
|
|
91667
|
+
"groove",
|
|
91668
|
+
"outset",
|
|
91669
|
+
"ridge",
|
|
91670
|
+
"dotted",
|
|
91671
|
+
"dashed",
|
|
91672
|
+
"solid",
|
|
91673
|
+
"double"
|
|
91674
|
+
],
|
|
91425
91675
|
"name": "border-block-start-style"
|
|
91426
91676
|
},
|
|
91427
91677
|
{
|
|
91678
|
+
"keywords": [
|
|
91679
|
+
"medium",
|
|
91680
|
+
"thick",
|
|
91681
|
+
"thin"
|
|
91682
|
+
],
|
|
91428
91683
|
"name": "border-block-start-width"
|
|
91429
91684
|
},
|
|
91430
91685
|
{
|
|
@@ -91508,6 +91763,13 @@ const generatedProperties = [
|
|
|
91508
91763
|
"name": "border-end-start-radius"
|
|
91509
91764
|
},
|
|
91510
91765
|
{
|
|
91766
|
+
"keywords": [
|
|
91767
|
+
"none",
|
|
91768
|
+
"repeat",
|
|
91769
|
+
"stretch",
|
|
91770
|
+
"space",
|
|
91771
|
+
"round"
|
|
91772
|
+
],
|
|
91511
91773
|
"longhands": [
|
|
91512
91774
|
"border-image-source",
|
|
91513
91775
|
"border-image-slice",
|
|
@@ -91574,9 +91836,26 @@ const generatedProperties = [
|
|
|
91574
91836
|
"name": "border-inline-end-color"
|
|
91575
91837
|
},
|
|
91576
91838
|
{
|
|
91839
|
+
"keywords": [
|
|
91840
|
+
"none",
|
|
91841
|
+
"hidden",
|
|
91842
|
+
"inset",
|
|
91843
|
+
"groove",
|
|
91844
|
+
"outset",
|
|
91845
|
+
"ridge",
|
|
91846
|
+
"dotted",
|
|
91847
|
+
"dashed",
|
|
91848
|
+
"solid",
|
|
91849
|
+
"double"
|
|
91850
|
+
],
|
|
91577
91851
|
"name": "border-inline-end-style"
|
|
91578
91852
|
},
|
|
91579
91853
|
{
|
|
91854
|
+
"keywords": [
|
|
91855
|
+
"medium",
|
|
91856
|
+
"thick",
|
|
91857
|
+
"thin"
|
|
91858
|
+
],
|
|
91580
91859
|
"name": "border-inline-end-width"
|
|
91581
91860
|
},
|
|
91582
91861
|
{
|
|
@@ -91591,9 +91870,26 @@ const generatedProperties = [
|
|
|
91591
91870
|
"name": "border-inline-start-color"
|
|
91592
91871
|
},
|
|
91593
91872
|
{
|
|
91873
|
+
"keywords": [
|
|
91874
|
+
"none",
|
|
91875
|
+
"hidden",
|
|
91876
|
+
"inset",
|
|
91877
|
+
"groove",
|
|
91878
|
+
"outset",
|
|
91879
|
+
"ridge",
|
|
91880
|
+
"dotted",
|
|
91881
|
+
"dashed",
|
|
91882
|
+
"solid",
|
|
91883
|
+
"double"
|
|
91884
|
+
],
|
|
91594
91885
|
"name": "border-inline-start-style"
|
|
91595
91886
|
},
|
|
91596
91887
|
{
|
|
91888
|
+
"keywords": [
|
|
91889
|
+
"medium",
|
|
91890
|
+
"thick",
|
|
91891
|
+
"thin"
|
|
91892
|
+
],
|
|
91597
91893
|
"name": "border-inline-start-width"
|
|
91598
91894
|
},
|
|
91599
91895
|
{
|
|
@@ -92151,6 +92447,9 @@ const generatedProperties = [
|
|
|
92151
92447
|
"name": "contain"
|
|
92152
92448
|
},
|
|
92153
92449
|
{
|
|
92450
|
+
"keywords": [
|
|
92451
|
+
"none"
|
|
92452
|
+
],
|
|
92154
92453
|
"name": "contain-intrinsic-block-size"
|
|
92155
92454
|
},
|
|
92156
92455
|
{
|
|
@@ -92160,6 +92459,9 @@ const generatedProperties = [
|
|
|
92160
92459
|
"name": "contain-intrinsic-height"
|
|
92161
92460
|
},
|
|
92162
92461
|
{
|
|
92462
|
+
"keywords": [
|
|
92463
|
+
"none"
|
|
92464
|
+
],
|
|
92163
92465
|
"name": "contain-intrinsic-inline-size"
|
|
92164
92466
|
},
|
|
92165
92467
|
{
|
|
@@ -92199,6 +92501,14 @@ const generatedProperties = [
|
|
|
92199
92501
|
"name": "container-type"
|
|
92200
92502
|
},
|
|
92201
92503
|
{
|
|
92504
|
+
"keywords": [
|
|
92505
|
+
"none",
|
|
92506
|
+
"normal",
|
|
92507
|
+
"close-quote",
|
|
92508
|
+
"no-close-quote",
|
|
92509
|
+
"no-open-quote",
|
|
92510
|
+
"open-quote"
|
|
92511
|
+
],
|
|
92202
92512
|
"name": "content"
|
|
92203
92513
|
},
|
|
92204
92514
|
{
|
|
@@ -92603,6 +92913,8 @@ const generatedProperties = [
|
|
|
92603
92913
|
"name": "d"
|
|
92604
92914
|
},
|
|
92605
92915
|
{
|
|
92916
|
+
"is_descriptor": true,
|
|
92917
|
+
"is_property": false,
|
|
92606
92918
|
"name": "descent-override"
|
|
92607
92919
|
},
|
|
92608
92920
|
{
|
|
@@ -92683,6 +92995,8 @@ const generatedProperties = [
|
|
|
92683
92995
|
"name": "empty-cells"
|
|
92684
92996
|
},
|
|
92685
92997
|
{
|
|
92998
|
+
"is_descriptor": true,
|
|
92999
|
+
"is_property": false,
|
|
92686
93000
|
"name": "fallback"
|
|
92687
93001
|
},
|
|
92688
93002
|
{
|
|
@@ -92818,14 +93132,18 @@ const generatedProperties = [
|
|
|
92818
93132
|
"name": "font"
|
|
92819
93133
|
},
|
|
92820
93134
|
{
|
|
93135
|
+
"is_descriptor": true,
|
|
93136
|
+
"is_property": false,
|
|
92821
93137
|
"name": "font-display"
|
|
92822
93138
|
},
|
|
92823
93139
|
{
|
|
92824
93140
|
"inherited": true,
|
|
93141
|
+
"is_descriptor": true,
|
|
92825
93142
|
"name": "font-family"
|
|
92826
93143
|
},
|
|
92827
93144
|
{
|
|
92828
93145
|
"inherited": true,
|
|
93146
|
+
"is_descriptor": true,
|
|
92829
93147
|
"keywords": [
|
|
92830
93148
|
"normal"
|
|
92831
93149
|
],
|
|
@@ -92896,6 +93214,7 @@ const generatedProperties = [
|
|
|
92896
93214
|
},
|
|
92897
93215
|
{
|
|
92898
93216
|
"inherited": true,
|
|
93217
|
+
"is_descriptor": true,
|
|
92899
93218
|
"keywords": [
|
|
92900
93219
|
"normal",
|
|
92901
93220
|
"ultra-condensed",
|
|
@@ -92911,6 +93230,7 @@ const generatedProperties = [
|
|
|
92911
93230
|
},
|
|
92912
93231
|
{
|
|
92913
93232
|
"inherited": true,
|
|
93233
|
+
"is_descriptor": true,
|
|
92914
93234
|
"keywords": [
|
|
92915
93235
|
"normal",
|
|
92916
93236
|
"italic",
|
|
@@ -92953,6 +93273,7 @@ const generatedProperties = [
|
|
|
92953
93273
|
},
|
|
92954
93274
|
{
|
|
92955
93275
|
"inherited": true,
|
|
93276
|
+
"is_descriptor": true,
|
|
92956
93277
|
"longhands": [
|
|
92957
93278
|
"font-variant-ligatures",
|
|
92958
93279
|
"font-variant-caps",
|
|
@@ -93052,6 +93373,7 @@ const generatedProperties = [
|
|
|
93052
93373
|
},
|
|
93053
93374
|
{
|
|
93054
93375
|
"inherited": true,
|
|
93376
|
+
"is_descriptor": true,
|
|
93055
93377
|
"keywords": [
|
|
93056
93378
|
"normal"
|
|
93057
93379
|
],
|
|
@@ -93059,6 +93381,7 @@ const generatedProperties = [
|
|
|
93059
93381
|
},
|
|
93060
93382
|
{
|
|
93061
93383
|
"inherited": true,
|
|
93384
|
+
"is_descriptor": true,
|
|
93062
93385
|
"keywords": [
|
|
93063
93386
|
"normal",
|
|
93064
93387
|
"bold",
|
|
@@ -93216,13 +93539,19 @@ const generatedProperties = [
|
|
|
93216
93539
|
},
|
|
93217
93540
|
{
|
|
93218
93541
|
"keywords": [
|
|
93219
|
-
"
|
|
93542
|
+
"auto",
|
|
93543
|
+
"none",
|
|
93544
|
+
"min-content",
|
|
93545
|
+
"max-content"
|
|
93220
93546
|
],
|
|
93221
93547
|
"name": "grid-template-columns"
|
|
93222
93548
|
},
|
|
93223
93549
|
{
|
|
93224
93550
|
"keywords": [
|
|
93225
|
-
"
|
|
93551
|
+
"auto",
|
|
93552
|
+
"none",
|
|
93553
|
+
"min-content",
|
|
93554
|
+
"max-content"
|
|
93226
93555
|
],
|
|
93227
93556
|
"name": "grid-template-rows"
|
|
93228
93557
|
},
|
|
@@ -93237,6 +93566,8 @@ const generatedProperties = [
|
|
|
93237
93566
|
"name": "hanging-punctuation"
|
|
93238
93567
|
},
|
|
93239
93568
|
{
|
|
93569
|
+
"is_descriptor": true,
|
|
93570
|
+
"is_property": false,
|
|
93240
93571
|
"name": "hash"
|
|
93241
93572
|
},
|
|
93242
93573
|
{
|
|
@@ -93249,10 +93580,15 @@ const generatedProperties = [
|
|
|
93249
93580
|
"name": "height"
|
|
93250
93581
|
},
|
|
93251
93582
|
{
|
|
93583
|
+
"is_descriptor": true,
|
|
93584
|
+
"is_property": false,
|
|
93252
93585
|
"name": "hostname"
|
|
93253
93586
|
},
|
|
93254
93587
|
{
|
|
93255
93588
|
"inherited": true,
|
|
93589
|
+
"keywords": [
|
|
93590
|
+
"auto"
|
|
93591
|
+
],
|
|
93256
93592
|
"name": "hyphenate-character"
|
|
93257
93593
|
},
|
|
93258
93594
|
{
|
|
@@ -93283,6 +93619,10 @@ const generatedProperties = [
|
|
|
93283
93619
|
},
|
|
93284
93620
|
{
|
|
93285
93621
|
"inherited": true,
|
|
93622
|
+
"keywords": [
|
|
93623
|
+
"none",
|
|
93624
|
+
"from-image"
|
|
93625
|
+
],
|
|
93286
93626
|
"name": "image-orientation"
|
|
93287
93627
|
},
|
|
93288
93628
|
{
|
|
@@ -93298,6 +93638,8 @@ const generatedProperties = [
|
|
|
93298
93638
|
"name": "image-rendering"
|
|
93299
93639
|
},
|
|
93300
93640
|
{
|
|
93641
|
+
"is_descriptor": true,
|
|
93642
|
+
"is_property": false,
|
|
93301
93643
|
"name": "inherits"
|
|
93302
93644
|
},
|
|
93303
93645
|
{
|
|
@@ -93310,6 +93652,8 @@ const generatedProperties = [
|
|
|
93310
93652
|
"name": "initial-letter"
|
|
93311
93653
|
},
|
|
93312
93654
|
{
|
|
93655
|
+
"is_descriptor": true,
|
|
93656
|
+
"is_property": false,
|
|
93313
93657
|
"name": "initial-value"
|
|
93314
93658
|
},
|
|
93315
93659
|
{
|
|
@@ -93335,9 +93679,15 @@ const generatedProperties = [
|
|
|
93335
93679
|
"name": "inset-block"
|
|
93336
93680
|
},
|
|
93337
93681
|
{
|
|
93682
|
+
"keywords": [
|
|
93683
|
+
"auto"
|
|
93684
|
+
],
|
|
93338
93685
|
"name": "inset-block-end"
|
|
93339
93686
|
},
|
|
93340
93687
|
{
|
|
93688
|
+
"keywords": [
|
|
93689
|
+
"auto"
|
|
93690
|
+
],
|
|
93341
93691
|
"name": "inset-block-start"
|
|
93342
93692
|
},
|
|
93343
93693
|
{
|
|
@@ -93348,9 +93698,15 @@ const generatedProperties = [
|
|
|
93348
93698
|
"name": "inset-inline"
|
|
93349
93699
|
},
|
|
93350
93700
|
{
|
|
93701
|
+
"keywords": [
|
|
93702
|
+
"auto"
|
|
93703
|
+
],
|
|
93351
93704
|
"name": "inset-inline-end"
|
|
93352
93705
|
},
|
|
93353
93706
|
{
|
|
93707
|
+
"keywords": [
|
|
93708
|
+
"auto"
|
|
93709
|
+
],
|
|
93354
93710
|
"name": "inset-inline-start"
|
|
93355
93711
|
},
|
|
93356
93712
|
{
|
|
@@ -93396,6 +93752,22 @@ const generatedProperties = [
|
|
|
93396
93752
|
"name": "justify-items"
|
|
93397
93753
|
},
|
|
93398
93754
|
{
|
|
93755
|
+
"keywords": [
|
|
93756
|
+
"auto",
|
|
93757
|
+
"normal",
|
|
93758
|
+
"stretch",
|
|
93759
|
+
"baseline",
|
|
93760
|
+
"center",
|
|
93761
|
+
"start",
|
|
93762
|
+
"end",
|
|
93763
|
+
"self-start",
|
|
93764
|
+
"self-end",
|
|
93765
|
+
"flex-start",
|
|
93766
|
+
"flex-end",
|
|
93767
|
+
"left",
|
|
93768
|
+
"right",
|
|
93769
|
+
"anchor-center"
|
|
93770
|
+
],
|
|
93399
93771
|
"name": "justify-self"
|
|
93400
93772
|
},
|
|
93401
93773
|
{
|
|
@@ -93430,14 +93802,18 @@ const generatedProperties = [
|
|
|
93430
93802
|
"name": "line-break"
|
|
93431
93803
|
},
|
|
93432
93804
|
{
|
|
93433
|
-
"
|
|
93434
|
-
"
|
|
93435
|
-
"
|
|
93436
|
-
"
|
|
93805
|
+
"keywords": [
|
|
93806
|
+
"none",
|
|
93807
|
+
"auto",
|
|
93808
|
+
"ellipsis",
|
|
93809
|
+
"no-ellipsis",
|
|
93810
|
+
"-webkit-legacy"
|
|
93437
93811
|
],
|
|
93438
93812
|
"name": "line-clamp"
|
|
93439
93813
|
},
|
|
93440
93814
|
{
|
|
93815
|
+
"is_descriptor": true,
|
|
93816
|
+
"is_property": false,
|
|
93441
93817
|
"name": "line-gap-override"
|
|
93442
93818
|
},
|
|
93443
93819
|
{
|
|
@@ -93615,6 +93991,9 @@ const generatedProperties = [
|
|
|
93615
93991
|
"name": "mask-composite"
|
|
93616
93992
|
},
|
|
93617
93993
|
{
|
|
93994
|
+
"keywords": [
|
|
93995
|
+
"none"
|
|
93996
|
+
],
|
|
93618
93997
|
"name": "mask-image"
|
|
93619
93998
|
},
|
|
93620
93999
|
{
|
|
@@ -93639,6 +94018,11 @@ const generatedProperties = [
|
|
|
93639
94018
|
"name": "mask-repeat"
|
|
93640
94019
|
},
|
|
93641
94020
|
{
|
|
94021
|
+
"keywords": [
|
|
94022
|
+
"auto",
|
|
94023
|
+
"contain",
|
|
94024
|
+
"cover"
|
|
94025
|
+
],
|
|
93642
94026
|
"name": "mask-size"
|
|
93643
94027
|
},
|
|
93644
94028
|
{
|
|
@@ -93699,15 +94083,43 @@ const generatedProperties = [
|
|
|
93699
94083
|
"name": "max-width"
|
|
93700
94084
|
},
|
|
93701
94085
|
{
|
|
94086
|
+
"keywords": [
|
|
94087
|
+
"auto",
|
|
94088
|
+
"min-content",
|
|
94089
|
+
"max-content",
|
|
94090
|
+
"fit-content",
|
|
94091
|
+
"stretch"
|
|
94092
|
+
],
|
|
93702
94093
|
"name": "min-block-size"
|
|
93703
94094
|
},
|
|
93704
94095
|
{
|
|
94096
|
+
"keywords": [
|
|
94097
|
+
"auto",
|
|
94098
|
+
"min-content",
|
|
94099
|
+
"max-content",
|
|
94100
|
+
"fit-content",
|
|
94101
|
+
"stretch"
|
|
94102
|
+
],
|
|
93705
94103
|
"name": "min-height"
|
|
93706
94104
|
},
|
|
93707
94105
|
{
|
|
94106
|
+
"keywords": [
|
|
94107
|
+
"auto",
|
|
94108
|
+
"min-content",
|
|
94109
|
+
"max-content",
|
|
94110
|
+
"fit-content",
|
|
94111
|
+
"stretch"
|
|
94112
|
+
],
|
|
93708
94113
|
"name": "min-inline-size"
|
|
93709
94114
|
},
|
|
93710
94115
|
{
|
|
94116
|
+
"keywords": [
|
|
94117
|
+
"auto",
|
|
94118
|
+
"min-content",
|
|
94119
|
+
"max-content",
|
|
94120
|
+
"fit-content",
|
|
94121
|
+
"stretch"
|
|
94122
|
+
],
|
|
93711
94123
|
"name": "min-width"
|
|
93712
94124
|
},
|
|
93713
94125
|
{
|
|
@@ -93733,9 +94145,13 @@ const generatedProperties = [
|
|
|
93733
94145
|
"name": "mix-blend-mode"
|
|
93734
94146
|
},
|
|
93735
94147
|
{
|
|
94148
|
+
"is_descriptor": true,
|
|
94149
|
+
"is_property": false,
|
|
93736
94150
|
"name": "navigation"
|
|
93737
94151
|
},
|
|
93738
94152
|
{
|
|
94153
|
+
"is_descriptor": true,
|
|
94154
|
+
"is_property": false,
|
|
93739
94155
|
"name": "negative"
|
|
93740
94156
|
},
|
|
93741
94157
|
{
|
|
@@ -93814,6 +94230,21 @@ const generatedProperties = [
|
|
|
93814
94230
|
"name": "orphans"
|
|
93815
94231
|
},
|
|
93816
94232
|
{
|
|
94233
|
+
"keywords": [
|
|
94234
|
+
"auto",
|
|
94235
|
+
"none",
|
|
94236
|
+
"inset",
|
|
94237
|
+
"groove",
|
|
94238
|
+
"ridge",
|
|
94239
|
+
"outset",
|
|
94240
|
+
"dotted",
|
|
94241
|
+
"dashed",
|
|
94242
|
+
"solid",
|
|
94243
|
+
"double",
|
|
94244
|
+
"medium",
|
|
94245
|
+
"thick",
|
|
94246
|
+
"thin"
|
|
94247
|
+
],
|
|
93817
94248
|
"longhands": [
|
|
93818
94249
|
"outline-color",
|
|
93819
94250
|
"outline-style",
|
|
@@ -93922,9 +94353,16 @@ const generatedProperties = [
|
|
|
93922
94353
|
"name": "overlay"
|
|
93923
94354
|
},
|
|
93924
94355
|
{
|
|
94356
|
+
"is_descriptor": true,
|
|
94357
|
+
"is_property": false,
|
|
93925
94358
|
"name": "override-colors"
|
|
93926
94359
|
},
|
|
93927
94360
|
{
|
|
94361
|
+
"keywords": [
|
|
94362
|
+
"auto",
|
|
94363
|
+
"none",
|
|
94364
|
+
"contain"
|
|
94365
|
+
],
|
|
93928
94366
|
"longhands": [
|
|
93929
94367
|
"overscroll-behavior-x",
|
|
93930
94368
|
"overscroll-behavior-y"
|
|
@@ -93956,6 +94394,8 @@ const generatedProperties = [
|
|
|
93956
94394
|
"name": "overscroll-behavior-y"
|
|
93957
94395
|
},
|
|
93958
94396
|
{
|
|
94397
|
+
"is_descriptor": true,
|
|
94398
|
+
"is_property": false,
|
|
93959
94399
|
"name": "pad"
|
|
93960
94400
|
},
|
|
93961
94401
|
{
|
|
@@ -94018,6 +94458,13 @@ const generatedProperties = [
|
|
|
94018
94458
|
"name": "page-break-after"
|
|
94019
94459
|
},
|
|
94020
94460
|
{
|
|
94461
|
+
"keywords": [
|
|
94462
|
+
"auto",
|
|
94463
|
+
"left",
|
|
94464
|
+
"right",
|
|
94465
|
+
"always",
|
|
94466
|
+
"avoid"
|
|
94467
|
+
],
|
|
94021
94468
|
"longhands": [
|
|
94022
94469
|
"break-before"
|
|
94023
94470
|
],
|
|
@@ -94030,6 +94477,7 @@ const generatedProperties = [
|
|
|
94030
94477
|
"name": "page-break-inside"
|
|
94031
94478
|
},
|
|
94032
94479
|
{
|
|
94480
|
+
"is_descriptor": true,
|
|
94033
94481
|
"keywords": [
|
|
94034
94482
|
"none",
|
|
94035
94483
|
"clamp",
|
|
@@ -94038,6 +94486,7 @@ const generatedProperties = [
|
|
|
94038
94486
|
"name": "page-margin-safety"
|
|
94039
94487
|
},
|
|
94040
94488
|
{
|
|
94489
|
+
"is_descriptor": true,
|
|
94041
94490
|
"name": "page-orientation"
|
|
94042
94491
|
},
|
|
94043
94492
|
{
|
|
@@ -94057,9 +94506,13 @@ const generatedProperties = [
|
|
|
94057
94506
|
"name": "path-length"
|
|
94058
94507
|
},
|
|
94059
94508
|
{
|
|
94509
|
+
"is_descriptor": true,
|
|
94510
|
+
"is_property": false,
|
|
94060
94511
|
"name": "pathname"
|
|
94061
94512
|
},
|
|
94062
94513
|
{
|
|
94514
|
+
"is_descriptor": true,
|
|
94515
|
+
"is_property": false,
|
|
94063
94516
|
"name": "pattern"
|
|
94064
94517
|
},
|
|
94065
94518
|
{
|
|
@@ -94110,6 +94563,8 @@ const generatedProperties = [
|
|
|
94110
94563
|
"name": "pointer-events"
|
|
94111
94564
|
},
|
|
94112
94565
|
{
|
|
94566
|
+
"is_descriptor": true,
|
|
94567
|
+
"is_property": false,
|
|
94113
94568
|
"name": "port"
|
|
94114
94569
|
},
|
|
94115
94570
|
{
|
|
@@ -94125,7 +94580,8 @@ const generatedProperties = [
|
|
|
94125
94580
|
{
|
|
94126
94581
|
"keywords": [
|
|
94127
94582
|
"auto",
|
|
94128
|
-
"none"
|
|
94583
|
+
"none",
|
|
94584
|
+
"normal"
|
|
94129
94585
|
],
|
|
94130
94586
|
"name": "position-anchor"
|
|
94131
94587
|
},
|
|
@@ -94186,6 +94642,8 @@ const generatedProperties = [
|
|
|
94186
94642
|
"name": "position-visibility"
|
|
94187
94643
|
},
|
|
94188
94644
|
{
|
|
94645
|
+
"is_descriptor": true,
|
|
94646
|
+
"is_property": false,
|
|
94189
94647
|
"name": "prefix"
|
|
94190
94648
|
},
|
|
94191
94649
|
{
|
|
@@ -94197,6 +94655,8 @@ const generatedProperties = [
|
|
|
94197
94655
|
"name": "print-color-adjust"
|
|
94198
94656
|
},
|
|
94199
94657
|
{
|
|
94658
|
+
"is_descriptor": true,
|
|
94659
|
+
"is_property": false,
|
|
94200
94660
|
"name": "protocol"
|
|
94201
94661
|
},
|
|
94202
94662
|
{
|
|
@@ -94211,6 +94671,8 @@ const generatedProperties = [
|
|
|
94211
94671
|
"name": "r"
|
|
94212
94672
|
},
|
|
94213
94673
|
{
|
|
94674
|
+
"is_descriptor": true,
|
|
94675
|
+
"is_property": false,
|
|
94214
94676
|
"name": "range"
|
|
94215
94677
|
},
|
|
94216
94678
|
{
|
|
@@ -94240,6 +94702,8 @@ const generatedProperties = [
|
|
|
94240
94702
|
"name": "resize"
|
|
94241
94703
|
},
|
|
94242
94704
|
{
|
|
94705
|
+
"is_descriptor": true,
|
|
94706
|
+
"is_property": false,
|
|
94243
94707
|
"name": "result"
|
|
94244
94708
|
},
|
|
94245
94709
|
{
|
|
@@ -94591,6 +95055,11 @@ const generatedProperties = [
|
|
|
94591
95055
|
"name": "scroll-margin-top"
|
|
94592
95056
|
},
|
|
94593
95057
|
{
|
|
95058
|
+
"keywords": [
|
|
95059
|
+
"none",
|
|
95060
|
+
"after",
|
|
95061
|
+
"before"
|
|
95062
|
+
],
|
|
94594
95063
|
"name": "scroll-marker-group"
|
|
94595
95064
|
},
|
|
94596
95065
|
{
|
|
@@ -94711,6 +95180,9 @@ const generatedProperties = [
|
|
|
94711
95180
|
"name": "scroll-timeline-axis"
|
|
94712
95181
|
},
|
|
94713
95182
|
{
|
|
95183
|
+
"keywords": [
|
|
95184
|
+
"none"
|
|
95185
|
+
],
|
|
94714
95186
|
"name": "scroll-timeline-name"
|
|
94715
95187
|
},
|
|
94716
95188
|
{
|
|
@@ -94739,15 +95211,14 @@ const generatedProperties = [
|
|
|
94739
95211
|
"name": "scrollbar-width"
|
|
94740
95212
|
},
|
|
94741
95213
|
{
|
|
95214
|
+
"is_descriptor": true,
|
|
95215
|
+
"is_property": false,
|
|
94742
95216
|
"name": "search"
|
|
94743
95217
|
},
|
|
94744
95218
|
{
|
|
94745
95219
|
"name": "shape-image-threshold"
|
|
94746
95220
|
},
|
|
94747
95221
|
{
|
|
94748
|
-
"keywords": [
|
|
94749
|
-
"none"
|
|
94750
|
-
],
|
|
94751
95222
|
"name": "shape-margin"
|
|
94752
95223
|
},
|
|
94753
95224
|
{
|
|
@@ -94767,9 +95238,16 @@ const generatedProperties = [
|
|
|
94767
95238
|
"name": "shape-rendering"
|
|
94768
95239
|
},
|
|
94769
95240
|
{
|
|
95241
|
+
"keywords": [
|
|
95242
|
+
"auto",
|
|
95243
|
+
"portrait",
|
|
95244
|
+
"landscape"
|
|
95245
|
+
],
|
|
94770
95246
|
"name": "size"
|
|
94771
95247
|
},
|
|
94772
95248
|
{
|
|
95249
|
+
"is_descriptor": true,
|
|
95250
|
+
"is_property": false,
|
|
94773
95251
|
"name": "size-adjust"
|
|
94774
95252
|
},
|
|
94775
95253
|
{
|
|
@@ -94785,9 +95263,13 @@ const generatedProperties = [
|
|
|
94785
95263
|
"name": "speak"
|
|
94786
95264
|
},
|
|
94787
95265
|
{
|
|
95266
|
+
"is_descriptor": true,
|
|
95267
|
+
"is_property": false,
|
|
94788
95268
|
"name": "speak-as"
|
|
94789
95269
|
},
|
|
94790
95270
|
{
|
|
95271
|
+
"is_descriptor": true,
|
|
95272
|
+
"is_property": false,
|
|
94791
95273
|
"name": "src"
|
|
94792
95274
|
},
|
|
94793
95275
|
{
|
|
@@ -94845,15 +95327,23 @@ const generatedProperties = [
|
|
|
94845
95327
|
"name": "stroke-width"
|
|
94846
95328
|
},
|
|
94847
95329
|
{
|
|
95330
|
+
"is_descriptor": true,
|
|
95331
|
+
"is_property": false,
|
|
94848
95332
|
"name": "suffix"
|
|
94849
95333
|
},
|
|
94850
95334
|
{
|
|
95335
|
+
"is_descriptor": true,
|
|
95336
|
+
"is_property": false,
|
|
94851
95337
|
"name": "symbols"
|
|
94852
95338
|
},
|
|
94853
95339
|
{
|
|
95340
|
+
"is_descriptor": true,
|
|
95341
|
+
"is_property": false,
|
|
94854
95342
|
"name": "syntax"
|
|
94855
95343
|
},
|
|
94856
95344
|
{
|
|
95345
|
+
"is_descriptor": true,
|
|
95346
|
+
"is_property": false,
|
|
94857
95347
|
"name": "system"
|
|
94858
95348
|
},
|
|
94859
95349
|
{
|
|
@@ -94923,6 +95413,12 @@ const generatedProperties = [
|
|
|
94923
95413
|
},
|
|
94924
95414
|
{
|
|
94925
95415
|
"inherited": true,
|
|
95416
|
+
"keywords": [
|
|
95417
|
+
"auto",
|
|
95418
|
+
"text",
|
|
95419
|
+
"cap",
|
|
95420
|
+
"ex"
|
|
95421
|
+
],
|
|
94926
95422
|
"name": "text-box-edge"
|
|
94927
95423
|
},
|
|
94928
95424
|
{
|
|
@@ -95164,6 +95660,10 @@ const generatedProperties = [
|
|
|
95164
95660
|
"name": "text-wrap-style"
|
|
95165
95661
|
},
|
|
95166
95662
|
{
|
|
95663
|
+
"keywords": [
|
|
95664
|
+
"none",
|
|
95665
|
+
"all"
|
|
95666
|
+
],
|
|
95167
95667
|
"name": "timeline-scope"
|
|
95168
95668
|
},
|
|
95169
95669
|
{
|
|
@@ -95198,12 +95698,23 @@ const generatedProperties = [
|
|
|
95198
95698
|
"name": "timeline-trigger-active-range"
|
|
95199
95699
|
},
|
|
95200
95700
|
{
|
|
95701
|
+
"keywords": [
|
|
95702
|
+
"auto",
|
|
95703
|
+
"normal"
|
|
95704
|
+
],
|
|
95201
95705
|
"name": "timeline-trigger-active-range-end"
|
|
95202
95706
|
},
|
|
95203
95707
|
{
|
|
95708
|
+
"keywords": [
|
|
95709
|
+
"auto",
|
|
95710
|
+
"normal"
|
|
95711
|
+
],
|
|
95204
95712
|
"name": "timeline-trigger-active-range-start"
|
|
95205
95713
|
},
|
|
95206
95714
|
{
|
|
95715
|
+
"keywords": [
|
|
95716
|
+
"none"
|
|
95717
|
+
],
|
|
95207
95718
|
"name": "timeline-trigger-name"
|
|
95208
95719
|
},
|
|
95209
95720
|
{
|
|
@@ -95316,6 +95827,8 @@ const generatedProperties = [
|
|
|
95316
95827
|
"name": "trigger-scope"
|
|
95317
95828
|
},
|
|
95318
95829
|
{
|
|
95830
|
+
"is_descriptor": true,
|
|
95831
|
+
"is_property": false,
|
|
95319
95832
|
"name": "types"
|
|
95320
95833
|
},
|
|
95321
95834
|
{
|
|
@@ -95330,6 +95843,8 @@ const generatedProperties = [
|
|
|
95330
95843
|
"name": "unicode-bidi"
|
|
95331
95844
|
},
|
|
95332
95845
|
{
|
|
95846
|
+
"is_descriptor": true,
|
|
95847
|
+
"is_property": false,
|
|
95333
95848
|
"name": "unicode-range"
|
|
95334
95849
|
},
|
|
95335
95850
|
{
|
|
@@ -95373,9 +95888,15 @@ const generatedProperties = [
|
|
|
95373
95888
|
"name": "view-timeline-axis"
|
|
95374
95889
|
},
|
|
95375
95890
|
{
|
|
95891
|
+
"keywords": [
|
|
95892
|
+
"auto"
|
|
95893
|
+
],
|
|
95376
95894
|
"name": "view-timeline-inset"
|
|
95377
95895
|
},
|
|
95378
95896
|
{
|
|
95897
|
+
"keywords": [
|
|
95898
|
+
"none"
|
|
95899
|
+
],
|
|
95379
95900
|
"name": "view-timeline-name"
|
|
95380
95901
|
},
|
|
95381
95902
|
{
|
|
@@ -95499,6 +96020,11 @@ const generatedProperties = [
|
|
|
95499
96020
|
}
|
|
95500
96021
|
];
|
|
95501
96022
|
const generatedPropertyValues = {
|
|
96023
|
+
"-alternative-webkit-line-clamp-longhand": {
|
|
96024
|
+
"values": [
|
|
96025
|
+
"none"
|
|
96026
|
+
]
|
|
96027
|
+
},
|
|
95502
96028
|
"-webkit-box-align": {
|
|
95503
96029
|
"values": [
|
|
95504
96030
|
"stretch",
|
|
@@ -95534,6 +96060,14 @@ const generatedPropertyValues = {
|
|
|
95534
96060
|
"justify"
|
|
95535
96061
|
]
|
|
95536
96062
|
},
|
|
96063
|
+
"-webkit-font-smoothing": {
|
|
96064
|
+
"values": [
|
|
96065
|
+
"auto",
|
|
96066
|
+
"none",
|
|
96067
|
+
"antialiased",
|
|
96068
|
+
"subpixel-antialiased"
|
|
96069
|
+
]
|
|
96070
|
+
},
|
|
95537
96071
|
"-webkit-line-break": {
|
|
95538
96072
|
"values": [
|
|
95539
96073
|
"auto",
|
|
@@ -95548,12 +96082,52 @@ const generatedPropertyValues = {
|
|
|
95548
96082
|
"none"
|
|
95549
96083
|
]
|
|
95550
96084
|
},
|
|
96085
|
+
"-webkit-locale": {
|
|
96086
|
+
"values": [
|
|
96087
|
+
"auto"
|
|
96088
|
+
]
|
|
96089
|
+
},
|
|
96090
|
+
"-webkit-mask-box-image-repeat": {
|
|
96091
|
+
"values": [
|
|
96092
|
+
"repeat",
|
|
96093
|
+
"stretch",
|
|
96094
|
+
"space",
|
|
96095
|
+
"round"
|
|
96096
|
+
]
|
|
96097
|
+
},
|
|
96098
|
+
"-webkit-mask-box-image-source": {
|
|
96099
|
+
"values": [
|
|
96100
|
+
"none"
|
|
96101
|
+
]
|
|
96102
|
+
},
|
|
96103
|
+
"-webkit-mask-box-image-width": {
|
|
96104
|
+
"values": [
|
|
96105
|
+
"auto"
|
|
96106
|
+
]
|
|
96107
|
+
},
|
|
95551
96108
|
"-webkit-rtl-ordering": {
|
|
95552
96109
|
"values": [
|
|
95553
96110
|
"logical",
|
|
95554
96111
|
"visual"
|
|
95555
96112
|
]
|
|
95556
96113
|
},
|
|
96114
|
+
"-webkit-text-combine": {
|
|
96115
|
+
"values": [
|
|
96116
|
+
"none",
|
|
96117
|
+
"horizontal"
|
|
96118
|
+
]
|
|
96119
|
+
},
|
|
96120
|
+
"-webkit-text-decorations-in-effect": {
|
|
96121
|
+
"values": [
|
|
96122
|
+
"none",
|
|
96123
|
+
"blink",
|
|
96124
|
+
"line-through",
|
|
96125
|
+
"overline",
|
|
96126
|
+
"underline",
|
|
96127
|
+
"spelling-error",
|
|
96128
|
+
"grammar-error"
|
|
96129
|
+
]
|
|
96130
|
+
},
|
|
95557
96131
|
"-webkit-text-security": {
|
|
95558
96132
|
"values": [
|
|
95559
96133
|
"none",
|
|
@@ -95582,6 +96156,22 @@ const generatedPropertyValues = {
|
|
|
95582
96156
|
"currentcolor"
|
|
95583
96157
|
]
|
|
95584
96158
|
},
|
|
96159
|
+
"align-self": {
|
|
96160
|
+
"values": [
|
|
96161
|
+
"auto",
|
|
96162
|
+
"normal",
|
|
96163
|
+
"stretch",
|
|
96164
|
+
"baseline",
|
|
96165
|
+
"center",
|
|
96166
|
+
"start",
|
|
96167
|
+
"end",
|
|
96168
|
+
"self-start",
|
|
96169
|
+
"self-end",
|
|
96170
|
+
"flex-start",
|
|
96171
|
+
"flex-end",
|
|
96172
|
+
"anchor-center"
|
|
96173
|
+
]
|
|
96174
|
+
},
|
|
95585
96175
|
"alignment-baseline": {
|
|
95586
96176
|
"values": [
|
|
95587
96177
|
"auto",
|
|
@@ -95624,6 +96214,11 @@ const generatedPropertyValues = {
|
|
|
95624
96214
|
"alternate-reverse"
|
|
95625
96215
|
]
|
|
95626
96216
|
},
|
|
96217
|
+
"animation-duration": {
|
|
96218
|
+
"values": [
|
|
96219
|
+
"auto"
|
|
96220
|
+
]
|
|
96221
|
+
},
|
|
95627
96222
|
"animation-fill-mode": {
|
|
95628
96223
|
"values": [
|
|
95629
96224
|
"none",
|
|
@@ -95681,6 +96276,24 @@ const generatedPropertyValues = {
|
|
|
95681
96276
|
"no-drag"
|
|
95682
96277
|
]
|
|
95683
96278
|
},
|
|
96279
|
+
"appearance": {
|
|
96280
|
+
"values": [
|
|
96281
|
+
"auto",
|
|
96282
|
+
"none",
|
|
96283
|
+
"checkbox",
|
|
96284
|
+
"radio",
|
|
96285
|
+
"button",
|
|
96286
|
+
"listbox",
|
|
96287
|
+
"menulist",
|
|
96288
|
+
"menulist-button",
|
|
96289
|
+
"meter",
|
|
96290
|
+
"progress-bar",
|
|
96291
|
+
"searchfield",
|
|
96292
|
+
"textfield",
|
|
96293
|
+
"textarea",
|
|
96294
|
+
"base-select"
|
|
96295
|
+
]
|
|
96296
|
+
},
|
|
95684
96297
|
"aspect-ratio": {
|
|
95685
96298
|
"values": [
|
|
95686
96299
|
"auto"
|
|
@@ -95740,7 +96353,6 @@ const generatedPropertyValues = {
|
|
|
95740
96353
|
},
|
|
95741
96354
|
"background-image": {
|
|
95742
96355
|
"values": [
|
|
95743
|
-
"auto",
|
|
95744
96356
|
"none"
|
|
95745
96357
|
]
|
|
95746
96358
|
},
|
|
@@ -95783,6 +96395,48 @@ const generatedPropertyValues = {
|
|
|
95783
96395
|
"auto"
|
|
95784
96396
|
]
|
|
95785
96397
|
},
|
|
96398
|
+
"border-block-end-style": {
|
|
96399
|
+
"values": [
|
|
96400
|
+
"none",
|
|
96401
|
+
"hidden",
|
|
96402
|
+
"inset",
|
|
96403
|
+
"groove",
|
|
96404
|
+
"outset",
|
|
96405
|
+
"ridge",
|
|
96406
|
+
"dotted",
|
|
96407
|
+
"dashed",
|
|
96408
|
+
"solid",
|
|
96409
|
+
"double"
|
|
96410
|
+
]
|
|
96411
|
+
},
|
|
96412
|
+
"border-block-end-width": {
|
|
96413
|
+
"values": [
|
|
96414
|
+
"medium",
|
|
96415
|
+
"thick",
|
|
96416
|
+
"thin"
|
|
96417
|
+
]
|
|
96418
|
+
},
|
|
96419
|
+
"border-block-start-style": {
|
|
96420
|
+
"values": [
|
|
96421
|
+
"none",
|
|
96422
|
+
"hidden",
|
|
96423
|
+
"inset",
|
|
96424
|
+
"groove",
|
|
96425
|
+
"outset",
|
|
96426
|
+
"ridge",
|
|
96427
|
+
"dotted",
|
|
96428
|
+
"dashed",
|
|
96429
|
+
"solid",
|
|
96430
|
+
"double"
|
|
96431
|
+
]
|
|
96432
|
+
},
|
|
96433
|
+
"border-block-start-width": {
|
|
96434
|
+
"values": [
|
|
96435
|
+
"medium",
|
|
96436
|
+
"thick",
|
|
96437
|
+
"thin"
|
|
96438
|
+
]
|
|
96439
|
+
},
|
|
95786
96440
|
"border-bottom-color": {
|
|
95787
96441
|
"values": [
|
|
95788
96442
|
"currentcolor"
|
|
@@ -95815,6 +96469,15 @@ const generatedPropertyValues = {
|
|
|
95815
96469
|
"collapse"
|
|
95816
96470
|
]
|
|
95817
96471
|
},
|
|
96472
|
+
"border-image": {
|
|
96473
|
+
"values": [
|
|
96474
|
+
"none",
|
|
96475
|
+
"repeat",
|
|
96476
|
+
"stretch",
|
|
96477
|
+
"space",
|
|
96478
|
+
"round"
|
|
96479
|
+
]
|
|
96480
|
+
},
|
|
95818
96481
|
"border-image-repeat": {
|
|
95819
96482
|
"values": [
|
|
95820
96483
|
"stretch",
|
|
@@ -95833,6 +96496,48 @@ const generatedPropertyValues = {
|
|
|
95833
96496
|
"auto"
|
|
95834
96497
|
]
|
|
95835
96498
|
},
|
|
96499
|
+
"border-inline-end-style": {
|
|
96500
|
+
"values": [
|
|
96501
|
+
"none",
|
|
96502
|
+
"hidden",
|
|
96503
|
+
"inset",
|
|
96504
|
+
"groove",
|
|
96505
|
+
"outset",
|
|
96506
|
+
"ridge",
|
|
96507
|
+
"dotted",
|
|
96508
|
+
"dashed",
|
|
96509
|
+
"solid",
|
|
96510
|
+
"double"
|
|
96511
|
+
]
|
|
96512
|
+
},
|
|
96513
|
+
"border-inline-end-width": {
|
|
96514
|
+
"values": [
|
|
96515
|
+
"medium",
|
|
96516
|
+
"thick",
|
|
96517
|
+
"thin"
|
|
96518
|
+
]
|
|
96519
|
+
},
|
|
96520
|
+
"border-inline-start-style": {
|
|
96521
|
+
"values": [
|
|
96522
|
+
"none",
|
|
96523
|
+
"hidden",
|
|
96524
|
+
"inset",
|
|
96525
|
+
"groove",
|
|
96526
|
+
"outset",
|
|
96527
|
+
"ridge",
|
|
96528
|
+
"dotted",
|
|
96529
|
+
"dashed",
|
|
96530
|
+
"solid",
|
|
96531
|
+
"double"
|
|
96532
|
+
]
|
|
96533
|
+
},
|
|
96534
|
+
"border-inline-start-width": {
|
|
96535
|
+
"values": [
|
|
96536
|
+
"medium",
|
|
96537
|
+
"thick",
|
|
96538
|
+
"thin"
|
|
96539
|
+
]
|
|
96540
|
+
},
|
|
95836
96541
|
"border-left-color": {
|
|
95837
96542
|
"values": [
|
|
95838
96543
|
"currentcolor"
|
|
@@ -96184,11 +96889,21 @@ const generatedPropertyValues = {
|
|
|
96184
96889
|
"block-size"
|
|
96185
96890
|
]
|
|
96186
96891
|
},
|
|
96892
|
+
"contain-intrinsic-block-size": {
|
|
96893
|
+
"values": [
|
|
96894
|
+
"none"
|
|
96895
|
+
]
|
|
96896
|
+
},
|
|
96187
96897
|
"contain-intrinsic-height": {
|
|
96188
96898
|
"values": [
|
|
96189
96899
|
"none"
|
|
96190
96900
|
]
|
|
96191
96901
|
},
|
|
96902
|
+
"contain-intrinsic-inline-size": {
|
|
96903
|
+
"values": [
|
|
96904
|
+
"none"
|
|
96905
|
+
]
|
|
96906
|
+
},
|
|
96192
96907
|
"contain-intrinsic-width": {
|
|
96193
96908
|
"values": [
|
|
96194
96909
|
"none"
|
|
@@ -96208,6 +96923,16 @@ const generatedPropertyValues = {
|
|
|
96208
96923
|
"anchored"
|
|
96209
96924
|
]
|
|
96210
96925
|
},
|
|
96926
|
+
"content": {
|
|
96927
|
+
"values": [
|
|
96928
|
+
"none",
|
|
96929
|
+
"normal",
|
|
96930
|
+
"close-quote",
|
|
96931
|
+
"no-close-quote",
|
|
96932
|
+
"no-open-quote",
|
|
96933
|
+
"open-quote"
|
|
96934
|
+
]
|
|
96935
|
+
},
|
|
96211
96936
|
"content-visibility": {
|
|
96212
96937
|
"values": [
|
|
96213
96938
|
"visible",
|
|
@@ -96794,12 +97519,18 @@ const generatedPropertyValues = {
|
|
|
96794
97519
|
},
|
|
96795
97520
|
"grid-template-columns": {
|
|
96796
97521
|
"values": [
|
|
96797
|
-
"
|
|
97522
|
+
"auto",
|
|
97523
|
+
"none",
|
|
97524
|
+
"min-content",
|
|
97525
|
+
"max-content"
|
|
96798
97526
|
]
|
|
96799
97527
|
},
|
|
96800
97528
|
"grid-template-rows": {
|
|
96801
97529
|
"values": [
|
|
96802
|
-
"
|
|
97530
|
+
"auto",
|
|
97531
|
+
"none",
|
|
97532
|
+
"min-content",
|
|
97533
|
+
"max-content"
|
|
96803
97534
|
]
|
|
96804
97535
|
},
|
|
96805
97536
|
"hanging-punctuation": {
|
|
@@ -96818,6 +97549,11 @@ const generatedPropertyValues = {
|
|
|
96818
97549
|
"max-content"
|
|
96819
97550
|
]
|
|
96820
97551
|
},
|
|
97552
|
+
"hyphenate-character": {
|
|
97553
|
+
"values": [
|
|
97554
|
+
"auto"
|
|
97555
|
+
]
|
|
97556
|
+
},
|
|
96821
97557
|
"hyphenate-limit-chars": {
|
|
96822
97558
|
"values": [
|
|
96823
97559
|
"auto"
|
|
@@ -96838,6 +97574,12 @@ const generatedPropertyValues = {
|
|
|
96838
97574
|
"stopped"
|
|
96839
97575
|
]
|
|
96840
97576
|
},
|
|
97577
|
+
"image-orientation": {
|
|
97578
|
+
"values": [
|
|
97579
|
+
"none",
|
|
97580
|
+
"from-image"
|
|
97581
|
+
]
|
|
97582
|
+
},
|
|
96841
97583
|
"image-rendering": {
|
|
96842
97584
|
"values": [
|
|
96843
97585
|
"auto",
|
|
@@ -96860,6 +97602,26 @@ const generatedPropertyValues = {
|
|
|
96860
97602
|
"auto"
|
|
96861
97603
|
]
|
|
96862
97604
|
},
|
|
97605
|
+
"inset-block-end": {
|
|
97606
|
+
"values": [
|
|
97607
|
+
"auto"
|
|
97608
|
+
]
|
|
97609
|
+
},
|
|
97610
|
+
"inset-block-start": {
|
|
97611
|
+
"values": [
|
|
97612
|
+
"auto"
|
|
97613
|
+
]
|
|
97614
|
+
},
|
|
97615
|
+
"inset-inline-end": {
|
|
97616
|
+
"values": [
|
|
97617
|
+
"auto"
|
|
97618
|
+
]
|
|
97619
|
+
},
|
|
97620
|
+
"inset-inline-start": {
|
|
97621
|
+
"values": [
|
|
97622
|
+
"auto"
|
|
97623
|
+
]
|
|
97624
|
+
},
|
|
96863
97625
|
"interactivity": {
|
|
96864
97626
|
"values": [
|
|
96865
97627
|
"auto",
|
|
@@ -96878,6 +97640,24 @@ const generatedPropertyValues = {
|
|
|
96878
97640
|
"isolate"
|
|
96879
97641
|
]
|
|
96880
97642
|
},
|
|
97643
|
+
"justify-self": {
|
|
97644
|
+
"values": [
|
|
97645
|
+
"auto",
|
|
97646
|
+
"normal",
|
|
97647
|
+
"stretch",
|
|
97648
|
+
"baseline",
|
|
97649
|
+
"center",
|
|
97650
|
+
"start",
|
|
97651
|
+
"end",
|
|
97652
|
+
"self-start",
|
|
97653
|
+
"self-end",
|
|
97654
|
+
"flex-start",
|
|
97655
|
+
"flex-end",
|
|
97656
|
+
"left",
|
|
97657
|
+
"right",
|
|
97658
|
+
"anchor-center"
|
|
97659
|
+
]
|
|
97660
|
+
},
|
|
96881
97661
|
"left": {
|
|
96882
97662
|
"values": [
|
|
96883
97663
|
"auto"
|
|
@@ -96903,6 +97683,15 @@ const generatedPropertyValues = {
|
|
|
96903
97683
|
"after-white-space"
|
|
96904
97684
|
]
|
|
96905
97685
|
},
|
|
97686
|
+
"line-clamp": {
|
|
97687
|
+
"values": [
|
|
97688
|
+
"none",
|
|
97689
|
+
"auto",
|
|
97690
|
+
"ellipsis",
|
|
97691
|
+
"no-ellipsis",
|
|
97692
|
+
"-webkit-legacy"
|
|
97693
|
+
]
|
|
97694
|
+
},
|
|
96906
97695
|
"line-height": {
|
|
96907
97696
|
"values": [
|
|
96908
97697
|
"normal"
|
|
@@ -96993,6 +97782,11 @@ const generatedPropertyValues = {
|
|
|
96993
97782
|
"exclude"
|
|
96994
97783
|
]
|
|
96995
97784
|
},
|
|
97785
|
+
"mask-image": {
|
|
97786
|
+
"values": [
|
|
97787
|
+
"none"
|
|
97788
|
+
]
|
|
97789
|
+
},
|
|
96996
97790
|
"mask-mode": {
|
|
96997
97791
|
"values": [
|
|
96998
97792
|
"alpha",
|
|
@@ -97000,6 +97794,13 @@ const generatedPropertyValues = {
|
|
|
97000
97794
|
"match-source"
|
|
97001
97795
|
]
|
|
97002
97796
|
},
|
|
97797
|
+
"mask-size": {
|
|
97798
|
+
"values": [
|
|
97799
|
+
"auto",
|
|
97800
|
+
"contain",
|
|
97801
|
+
"cover"
|
|
97802
|
+
]
|
|
97803
|
+
},
|
|
97003
97804
|
"mask-type": {
|
|
97004
97805
|
"values": [
|
|
97005
97806
|
"luminance",
|
|
@@ -97043,6 +97844,42 @@ const generatedPropertyValues = {
|
|
|
97043
97844
|
"none"
|
|
97044
97845
|
]
|
|
97045
97846
|
},
|
|
97847
|
+
"min-block-size": {
|
|
97848
|
+
"values": [
|
|
97849
|
+
"auto",
|
|
97850
|
+
"min-content",
|
|
97851
|
+
"max-content",
|
|
97852
|
+
"fit-content",
|
|
97853
|
+
"stretch"
|
|
97854
|
+
]
|
|
97855
|
+
},
|
|
97856
|
+
"min-height": {
|
|
97857
|
+
"values": [
|
|
97858
|
+
"auto",
|
|
97859
|
+
"min-content",
|
|
97860
|
+
"max-content",
|
|
97861
|
+
"fit-content",
|
|
97862
|
+
"stretch"
|
|
97863
|
+
]
|
|
97864
|
+
},
|
|
97865
|
+
"min-inline-size": {
|
|
97866
|
+
"values": [
|
|
97867
|
+
"auto",
|
|
97868
|
+
"min-content",
|
|
97869
|
+
"max-content",
|
|
97870
|
+
"fit-content",
|
|
97871
|
+
"stretch"
|
|
97872
|
+
]
|
|
97873
|
+
},
|
|
97874
|
+
"min-width": {
|
|
97875
|
+
"values": [
|
|
97876
|
+
"auto",
|
|
97877
|
+
"min-content",
|
|
97878
|
+
"max-content",
|
|
97879
|
+
"fit-content",
|
|
97880
|
+
"stretch"
|
|
97881
|
+
]
|
|
97882
|
+
},
|
|
97046
97883
|
"mix-blend-mode": {
|
|
97047
97884
|
"values": [
|
|
97048
97885
|
"normal",
|
|
@@ -97106,6 +97943,23 @@ const generatedPropertyValues = {
|
|
|
97106
97943
|
"none"
|
|
97107
97944
|
]
|
|
97108
97945
|
},
|
|
97946
|
+
"outline": {
|
|
97947
|
+
"values": [
|
|
97948
|
+
"auto",
|
|
97949
|
+
"none",
|
|
97950
|
+
"inset",
|
|
97951
|
+
"groove",
|
|
97952
|
+
"ridge",
|
|
97953
|
+
"outset",
|
|
97954
|
+
"dotted",
|
|
97955
|
+
"dashed",
|
|
97956
|
+
"solid",
|
|
97957
|
+
"double",
|
|
97958
|
+
"medium",
|
|
97959
|
+
"thick",
|
|
97960
|
+
"thin"
|
|
97961
|
+
]
|
|
97962
|
+
},
|
|
97109
97963
|
"outline-color": {
|
|
97110
97964
|
"values": [
|
|
97111
97965
|
"currentcolor"
|
|
@@ -97179,6 +98033,13 @@ const generatedPropertyValues = {
|
|
|
97179
98033
|
"auto"
|
|
97180
98034
|
]
|
|
97181
98035
|
},
|
|
98036
|
+
"overscroll-behavior": {
|
|
98037
|
+
"values": [
|
|
98038
|
+
"auto",
|
|
98039
|
+
"none",
|
|
98040
|
+
"contain"
|
|
98041
|
+
]
|
|
98042
|
+
},
|
|
97182
98043
|
"overscroll-behavior-x": {
|
|
97183
98044
|
"values": [
|
|
97184
98045
|
"auto",
|
|
@@ -97200,6 +98061,15 @@ const generatedPropertyValues = {
|
|
|
97200
98061
|
"auto"
|
|
97201
98062
|
]
|
|
97202
98063
|
},
|
|
98064
|
+
"page-break-before": {
|
|
98065
|
+
"values": [
|
|
98066
|
+
"auto",
|
|
98067
|
+
"left",
|
|
98068
|
+
"right",
|
|
98069
|
+
"always",
|
|
98070
|
+
"avoid"
|
|
98071
|
+
]
|
|
98072
|
+
},
|
|
97203
98073
|
"page-margin-safety": {
|
|
97204
98074
|
"values": [
|
|
97205
98075
|
"none",
|
|
@@ -97252,7 +98122,8 @@ const generatedPropertyValues = {
|
|
|
97252
98122
|
"position-anchor": {
|
|
97253
98123
|
"values": [
|
|
97254
98124
|
"auto",
|
|
97255
|
-
"none"
|
|
98125
|
+
"none",
|
|
98126
|
+
"normal"
|
|
97256
98127
|
]
|
|
97257
98128
|
},
|
|
97258
98129
|
"position-area": {
|
|
@@ -97458,6 +98329,13 @@ const generatedPropertyValues = {
|
|
|
97458
98329
|
"nearest"
|
|
97459
98330
|
]
|
|
97460
98331
|
},
|
|
98332
|
+
"scroll-marker-group": {
|
|
98333
|
+
"values": [
|
|
98334
|
+
"none",
|
|
98335
|
+
"after",
|
|
98336
|
+
"before"
|
|
98337
|
+
]
|
|
98338
|
+
},
|
|
97461
98339
|
"scroll-padding-block-end": {
|
|
97462
98340
|
"values": [
|
|
97463
98341
|
"auto"
|
|
@@ -97530,6 +98408,11 @@ const generatedPropertyValues = {
|
|
|
97530
98408
|
"auto"
|
|
97531
98409
|
]
|
|
97532
98410
|
},
|
|
98411
|
+
"scroll-timeline-name": {
|
|
98412
|
+
"values": [
|
|
98413
|
+
"none"
|
|
98414
|
+
]
|
|
98415
|
+
},
|
|
97533
98416
|
"scrollbar-color": {
|
|
97534
98417
|
"values": [
|
|
97535
98418
|
"auto"
|
|
@@ -97549,11 +98432,6 @@ const generatedPropertyValues = {
|
|
|
97549
98432
|
"none"
|
|
97550
98433
|
]
|
|
97551
98434
|
},
|
|
97552
|
-
"shape-margin": {
|
|
97553
|
-
"values": [
|
|
97554
|
-
"none"
|
|
97555
|
-
]
|
|
97556
|
-
},
|
|
97557
98435
|
"shape-outside": {
|
|
97558
98436
|
"values": [
|
|
97559
98437
|
"none"
|
|
@@ -97567,6 +98445,13 @@ const generatedPropertyValues = {
|
|
|
97567
98445
|
"geometricprecision"
|
|
97568
98446
|
]
|
|
97569
98447
|
},
|
|
98448
|
+
"size": {
|
|
98449
|
+
"values": [
|
|
98450
|
+
"auto",
|
|
98451
|
+
"portrait",
|
|
98452
|
+
"landscape"
|
|
98453
|
+
]
|
|
98454
|
+
},
|
|
97570
98455
|
"speak": {
|
|
97571
98456
|
"values": [
|
|
97572
98457
|
"none",
|
|
@@ -97646,6 +98531,14 @@ const generatedPropertyValues = {
|
|
|
97646
98531
|
"normal"
|
|
97647
98532
|
]
|
|
97648
98533
|
},
|
|
98534
|
+
"text-box-edge": {
|
|
98535
|
+
"values": [
|
|
98536
|
+
"auto",
|
|
98537
|
+
"text",
|
|
98538
|
+
"cap",
|
|
98539
|
+
"ex"
|
|
98540
|
+
]
|
|
98541
|
+
},
|
|
97649
98542
|
"text-box-trim": {
|
|
97650
98543
|
"values": [
|
|
97651
98544
|
"none",
|
|
@@ -97798,6 +98691,29 @@ const generatedPropertyValues = {
|
|
|
97798
98691
|
"stable"
|
|
97799
98692
|
]
|
|
97800
98693
|
},
|
|
98694
|
+
"timeline-scope": {
|
|
98695
|
+
"values": [
|
|
98696
|
+
"none",
|
|
98697
|
+
"all"
|
|
98698
|
+
]
|
|
98699
|
+
},
|
|
98700
|
+
"timeline-trigger-active-range-end": {
|
|
98701
|
+
"values": [
|
|
98702
|
+
"auto",
|
|
98703
|
+
"normal"
|
|
98704
|
+
]
|
|
98705
|
+
},
|
|
98706
|
+
"timeline-trigger-active-range-start": {
|
|
98707
|
+
"values": [
|
|
98708
|
+
"auto",
|
|
98709
|
+
"normal"
|
|
98710
|
+
]
|
|
98711
|
+
},
|
|
98712
|
+
"timeline-trigger-name": {
|
|
98713
|
+
"values": [
|
|
98714
|
+
"none"
|
|
98715
|
+
]
|
|
98716
|
+
},
|
|
97801
98717
|
"timeline-trigger-source": {
|
|
97802
98718
|
"values": [
|
|
97803
98719
|
"none",
|
|
@@ -97910,6 +98826,16 @@ const generatedPropertyValues = {
|
|
|
97910
98826
|
"middle"
|
|
97911
98827
|
]
|
|
97912
98828
|
},
|
|
98829
|
+
"view-timeline-inset": {
|
|
98830
|
+
"values": [
|
|
98831
|
+
"auto"
|
|
98832
|
+
]
|
|
98833
|
+
},
|
|
98834
|
+
"view-timeline-name": {
|
|
98835
|
+
"values": [
|
|
98836
|
+
"none"
|
|
98837
|
+
]
|
|
98838
|
+
},
|
|
97913
98839
|
"view-transition-class": {
|
|
97914
98840
|
"values": [
|
|
97915
98841
|
"none"
|
|
@@ -98487,6 +99413,11 @@ class CSSMetadata {
|
|
|
98487
99413
|
for (let i = 0; i < properties.length; ++i) {
|
|
98488
99414
|
const property = properties[i];
|
|
98489
99415
|
const propertyName = property.name;
|
|
99416
|
+
if ('is_descriptor' in property && 'is_property' in property) {
|
|
99417
|
+
if (property.is_descriptor && !property.is_property) {
|
|
99418
|
+
continue;
|
|
99419
|
+
}
|
|
99420
|
+
}
|
|
98490
99421
|
if (!CSS.supports(propertyName, 'initial')) {
|
|
98491
99422
|
continue;
|
|
98492
99423
|
}
|
|
@@ -98527,6 +99458,15 @@ class CSSMetadata {
|
|
|
98527
99458
|
}
|
|
98528
99459
|
}
|
|
98529
99460
|
for (const [propertyName, values] of propertyValueSets) {
|
|
99461
|
+
const aliasFor = this.#aliasesFor.get(propertyName);
|
|
99462
|
+
if (aliasFor) {
|
|
99463
|
+
const aliasForValues = propertyValueSets.get(aliasFor);
|
|
99464
|
+
if (aliasForValues) {
|
|
99465
|
+
for (const val of aliasForValues) {
|
|
99466
|
+
values.add(val);
|
|
99467
|
+
}
|
|
99468
|
+
}
|
|
99469
|
+
}
|
|
98530
99470
|
for (const commonKeyword of CommonKeywords) {
|
|
98531
99471
|
if (!values.has(commonKeyword) && CSS.supports(propertyName, commonKeyword)) {
|
|
98532
99472
|
values.add(commonKeyword);
|
|
@@ -99714,6 +100654,7 @@ const extraPropertyValues = new Map([
|
|
|
99714
100654
|
'superellipse(infinity)',
|
|
99715
100655
|
]),
|
|
99716
100656
|
],
|
|
100657
|
+
['outline-style', new Set(['auto'])],
|
|
99717
100658
|
]);
|
|
99718
100659
|
const Weight = new Map([
|
|
99719
100660
|
['align-content', 57],
|
|
@@ -100056,6 +100997,63 @@ class VariableMatcher extends matcherBase(VariableMatch) {
|
|
|
100056
100997
|
null;
|
|
100057
100998
|
}
|
|
100058
100999
|
}
|
|
101000
|
+
class VariableNameMatch {
|
|
101001
|
+
node;
|
|
101002
|
+
text;
|
|
101003
|
+
matchedStyles;
|
|
101004
|
+
style;
|
|
101005
|
+
constructor(node, text, matchedStyles, style) {
|
|
101006
|
+
this.node = node;
|
|
101007
|
+
this.text = text;
|
|
101008
|
+
this.matchedStyles = matchedStyles;
|
|
101009
|
+
this.style = style;
|
|
101010
|
+
}
|
|
101011
|
+
resolveVariable() {
|
|
101012
|
+
return this.matchedStyles.computeCSSVariable(this.style, this.text);
|
|
101013
|
+
}
|
|
101014
|
+
}
|
|
101015
|
+
class VariableNameMatcher extends matcherBase(VariableNameMatch) {
|
|
101016
|
+
matchedStyles;
|
|
101017
|
+
style;
|
|
101018
|
+
constructor(matchedStyles, style) {
|
|
101019
|
+
super();
|
|
101020
|
+
this.matchedStyles = matchedStyles;
|
|
101021
|
+
this.style = style;
|
|
101022
|
+
}
|
|
101023
|
+
accepts() {
|
|
101024
|
+
return true;
|
|
101025
|
+
}
|
|
101026
|
+
matches(node, matching) {
|
|
101027
|
+
if (node.name !== 'VariableName' && node.name !== 'FeatureName' && node.name !== 'KeywordQuery') {
|
|
101028
|
+
return null;
|
|
101029
|
+
}
|
|
101030
|
+
const rawText = matching.ast.text(node);
|
|
101031
|
+
if (!rawText.startsWith('--')) {
|
|
101032
|
+
return null;
|
|
101033
|
+
}
|
|
101034
|
+
let cur = node.parent;
|
|
101035
|
+
let foundStyleCall = null;
|
|
101036
|
+
while (cur) {
|
|
101037
|
+
if (cur.name === 'CallExpression') {
|
|
101038
|
+
return null;
|
|
101039
|
+
}
|
|
101040
|
+
if (cur.name === 'CallQuery') {
|
|
101041
|
+
const callee = cur.getChild('QueryCallee');
|
|
101042
|
+
if (callee && matching.ast.text(callee) === 'style') {
|
|
101043
|
+
foundStyleCall = cur;
|
|
101044
|
+
break;
|
|
101045
|
+
}
|
|
101046
|
+
return null;
|
|
101047
|
+
}
|
|
101048
|
+
cur = cur.parent;
|
|
101049
|
+
}
|
|
101050
|
+
if (!foundStyleCall) {
|
|
101051
|
+
return null;
|
|
101052
|
+
}
|
|
101053
|
+
const text = node.name === 'KeywordQuery' ? rawText.split(/\s|[>!=<:]/)[0] : rawText;
|
|
101054
|
+
return new VariableNameMatch(node, text, this.matchedStyles, this.style);
|
|
101055
|
+
}
|
|
101056
|
+
}
|
|
100059
101057
|
class AttributeMatch extends BaseVariableMatch {
|
|
100060
101058
|
type;
|
|
100061
101059
|
isCSSTokens;
|
|
@@ -100428,8 +101426,7 @@ class ColorMatcher extends matcherBase(ColorMatch) {
|
|
|
100428
101426
|
if (callee && colorFunc.match(/^(rgba?|hsla?|hwba?|lab|lch|oklab|oklch|color)$/)) {
|
|
100429
101427
|
const args = ASTUtils.children(node.getChild('ArgList'));
|
|
100430
101428
|
const colorText = args.length >= 2 ? matching.getComputedTextRange(args[0], args[args.length - 1]) : '';
|
|
100431
|
-
const isRelativeColorSyntax = Boolean(colorText.match(/^[^)]*\(\W*from\W+/) && !matching.hasUnresolvedSubstitutions(node)
|
|
100432
|
-
CSS.supports('color', colorFunc + colorText));
|
|
101429
|
+
const isRelativeColorSyntax = Boolean(colorText.match(/^[^)]*\(\W*from\W+/) && !matching.hasUnresolvedSubstitutions(node));
|
|
100433
101430
|
if (!isRelativeColorSyntax) {
|
|
100434
101431
|
return new ColorMatch(text, node);
|
|
100435
101432
|
}
|
|
@@ -102809,6 +103806,7 @@ class CSSFunctionRule extends CSSRule {
|
|
|
102809
103806
|
styleSheetId: payload.styleSheetId
|
|
102810
103807
|
},
|
|
102811
103808
|
header: styleSheetHeaderForRule(cssModel, payload),
|
|
103809
|
+
originTreeScopeNodeId: payload.originTreeScopeNodeId
|
|
102812
103810
|
});
|
|
102813
103811
|
this.#name = new CSSValue(payload.name);
|
|
102814
103812
|
this.#parameters = payload.parameters.map(({ name }) => name);
|
|
@@ -103038,6 +104036,27 @@ function queryMatches(style) {
|
|
|
103038
104036
|
}
|
|
103039
104037
|
return true;
|
|
103040
104038
|
}
|
|
104039
|
+
function treeScopeDistance(node, property) {
|
|
104040
|
+
if (!property.ownerStyle.parentRule && property.ownerStyle.type !== Type$3.Inline) {
|
|
104041
|
+
return -1;
|
|
104042
|
+
}
|
|
104043
|
+
const root = node.getTreeRoot();
|
|
104044
|
+
const nodeId = property.ownerStyle.parentRule?.treeScope ?? root?.backendNodeId();
|
|
104045
|
+
if (nodeId === undefined) {
|
|
104046
|
+
return -1;
|
|
104047
|
+
}
|
|
104048
|
+
return distanceToTreeScope(node, nodeId);
|
|
104049
|
+
}
|
|
104050
|
+
function distanceToTreeScope(node, treeScope) {
|
|
104051
|
+
let distance = 0;
|
|
104052
|
+
for (let ancestor = node; ancestor; ancestor = ancestor.parentNode) {
|
|
104053
|
+
if (ancestor.backendNodeId() === treeScope) {
|
|
104054
|
+
return distance;
|
|
104055
|
+
}
|
|
104056
|
+
distance++;
|
|
104057
|
+
}
|
|
104058
|
+
return -1;
|
|
104059
|
+
}
|
|
103041
104060
|
class CSSRegisteredProperty {
|
|
103042
104061
|
#registration;
|
|
103043
104062
|
#cssModel;
|
|
@@ -103153,7 +104172,9 @@ class CSSMatchedStyles {
|
|
|
103153
104172
|
this.#registeredPropertyMap.set(prop.propertyName(), prop);
|
|
103154
104173
|
}
|
|
103155
104174
|
for (const rule of this.#functionRules) {
|
|
103156
|
-
this.#functionRuleMap.
|
|
104175
|
+
const rules = this.#functionRuleMap.get(rule.functionName().text) ?? [];
|
|
104176
|
+
rules.push(rule);
|
|
104177
|
+
this.#functionRuleMap.set(rule.functionName().text, rules);
|
|
103157
104178
|
}
|
|
103158
104179
|
}
|
|
103159
104180
|
async buildMainCascade(inlinePayload, attributesPayload, matchedPayload, inheritedPayload, animationStylesPayload, transitionsStylePayload, inheritedAnimatedPayload) {
|
|
@@ -103468,9 +104489,23 @@ class CSSMatchedStyles {
|
|
|
103468
104489
|
getRegisteredProperty(name) {
|
|
103469
104490
|
return this.#registeredPropertyMap.get(name);
|
|
103470
104491
|
}
|
|
103471
|
-
getRegisteredFunction(name) {
|
|
103472
|
-
const
|
|
103473
|
-
|
|
104492
|
+
getRegisteredFunction(name, sourceProperty) {
|
|
104493
|
+
const minTreeScopeDistance = treeScopeDistance(this.#node, sourceProperty);
|
|
104494
|
+
const functionRules = this.#functionRuleMap.get(name) ?? [];
|
|
104495
|
+
let result = { treeScopeDistance: -1 };
|
|
104496
|
+
for (const functionRule of functionRules) {
|
|
104497
|
+
if (!functionRule.treeScope) {
|
|
104498
|
+
continue;
|
|
104499
|
+
}
|
|
104500
|
+
const distance = distanceToTreeScope(this.#node, functionRule.treeScope);
|
|
104501
|
+
if (distance === -1 || distance < minTreeScopeDistance) {
|
|
104502
|
+
continue;
|
|
104503
|
+
}
|
|
104504
|
+
if (result.treeScopeDistance === -1 || distance < result.treeScopeDistance) {
|
|
104505
|
+
result = { registeredFunction: functionRule.nameWithParameters(), treeScopeDistance: distance };
|
|
104506
|
+
}
|
|
104507
|
+
}
|
|
104508
|
+
return result;
|
|
103474
104509
|
}
|
|
103475
104510
|
functionRules() {
|
|
103476
104511
|
return this.#functionRules;
|
|
@@ -103578,6 +104613,7 @@ class CSSMatchedStyles {
|
|
|
103578
104613
|
propertyMatchers(style, computedStyles) {
|
|
103579
104614
|
return [
|
|
103580
104615
|
new VariableMatcher(this, style),
|
|
104616
|
+
new VariableNameMatcher(this, style),
|
|
103581
104617
|
new ColorMatcher(() => computedStyles?.get('color') ?? null),
|
|
103582
104618
|
new ColorMixMatcher(),
|
|
103583
104619
|
new ContrastColorMatcher(),
|
|
@@ -103673,24 +104709,6 @@ class NodeCascade {
|
|
|
103673
104709
|
}
|
|
103674
104710
|
}
|
|
103675
104711
|
}
|
|
103676
|
-
#treeScopeDistance(property) {
|
|
103677
|
-
if (!property.ownerStyle.parentRule && property.ownerStyle.type !== Type$3.Inline) {
|
|
103678
|
-
return -1;
|
|
103679
|
-
}
|
|
103680
|
-
const root = this.#node.getTreeRoot();
|
|
103681
|
-
const nodeId = property.ownerStyle.parentRule?.treeScope ?? root?.backendNodeId();
|
|
103682
|
-
if (nodeId === undefined) {
|
|
103683
|
-
return -1;
|
|
103684
|
-
}
|
|
103685
|
-
let distance = 0;
|
|
103686
|
-
for (let ancestor = this.#node; ancestor; ancestor = ancestor.parentNode) {
|
|
103687
|
-
if (ancestor.backendNodeId() === nodeId) {
|
|
103688
|
-
return distance;
|
|
103689
|
-
}
|
|
103690
|
-
distance++;
|
|
103691
|
-
}
|
|
103692
|
-
return -1;
|
|
103693
|
-
}
|
|
103694
104712
|
#needsCascadeContextStep() {
|
|
103695
104713
|
if (!this.#node.isInShadowTree()) {
|
|
103696
104714
|
return false;
|
|
@@ -103705,7 +104723,8 @@ class NodeCascade {
|
|
|
103705
104723
|
const activeProperty = this.activeProperties.get(canonicalName);
|
|
103706
104724
|
if (activeProperty?.important && !propertyWithHigherSpecificity.important ||
|
|
103707
104725
|
activeProperty && this.#needsCascadeContextStep() &&
|
|
103708
|
-
this.#
|
|
104726
|
+
treeScopeDistance(this.#node, activeProperty) >
|
|
104727
|
+
treeScopeDistance(this.#node, propertyWithHigherSpecificity)) {
|
|
103709
104728
|
this.propertiesState.set(propertyWithHigherSpecificity, "Overloaded" );
|
|
103710
104729
|
return;
|
|
103711
104730
|
}
|
|
@@ -105664,10 +106683,6 @@ const UIStrings$15 = {
|
|
|
105664
106683
|
thisSetcookieWasBlockedBecauseTheNameValuePairExceedsMaxSize: 'This attempt to set a cookie via a `Set-Cookie` header was blocked because the cookie was too large. The combined size of the name and value must be less than or equal to 4096 characters.',
|
|
105665
106684
|
setcookieHeaderIsIgnoredIn: 'Set-Cookie header is ignored in response from url: {PH1}. The combined size of the name and value must be less than or equal to 4096 characters.',
|
|
105666
106685
|
exemptionReasonUserSetting: 'This cookie is allowed by user preference.',
|
|
105667
|
-
exemptionReasonTPCDMetadata: 'This cookie is allowed by a third-party cookie deprecation trial grace period. Learn more: goo.gle/dt-grace.',
|
|
105668
|
-
exemptionReasonTPCDDeprecationTrial: 'This cookie is allowed by third-party cookie deprecation trial. Learn more: goo.gle/ps-dt.',
|
|
105669
|
-
exemptionReasonTopLevelTPCDDeprecationTrial: 'This cookie is allowed by top-level third-party cookie deprecation trial. Learn more: goo.gle/ps-dt.',
|
|
105670
|
-
exemptionReasonTPCDHeuristics: 'This cookie is allowed by third-party cookie heuristics. Learn more: goo.gle/hbe',
|
|
105671
106686
|
exemptionReasonEnterprisePolicy: 'This cookie is allowed by Chrome Enterprise policy. Learn more: goo.gle/ce-3pc',
|
|
105672
106687
|
exemptionReasonStorageAccessAPI: 'This cookie is allowed by the Storage Access API. Learn more: goo.gle/saa',
|
|
105673
106688
|
exemptionReasonTopLevelStorageAccessAPI: 'This cookie is allowed by the top-level Storage Access API. Learn more: goo.gle/saa-top',
|
|
@@ -105774,6 +106789,7 @@ class NetworkRequest extends ObjectWrapper {
|
|
|
105774
106789
|
#contentDataProvider;
|
|
105775
106790
|
#isSameSite = null;
|
|
105776
106791
|
#wasIntercepted = false;
|
|
106792
|
+
#isImportedHar = false;
|
|
105777
106793
|
#associatedData = new Map();
|
|
105778
106794
|
#hasOverriddenContent = false;
|
|
105779
106795
|
#hasThirdPartyCookiePhaseoutIssue = false;
|
|
@@ -106370,6 +107386,12 @@ class NetworkRequest extends ObjectWrapper {
|
|
|
106370
107386
|
setWasIntercepted(wasIntercepted) {
|
|
106371
107387
|
this.#wasIntercepted = wasIntercepted;
|
|
106372
107388
|
}
|
|
107389
|
+
isImportedHar() {
|
|
107390
|
+
return this.#isImportedHar;
|
|
107391
|
+
}
|
|
107392
|
+
setIsImportedHar(isImportedHar) {
|
|
107393
|
+
this.#isImportedHar = isImportedHar;
|
|
107394
|
+
}
|
|
106373
107395
|
setEarlyHintsHeaders(headers) {
|
|
106374
107396
|
this.earlyHintsHeaders = headers;
|
|
106375
107397
|
}
|
|
@@ -111416,22 +112438,20 @@ class SourceMap {
|
|
|
111416
112438
|
nameIndex += tokenIter.nextVLQ();
|
|
111417
112439
|
this.mappings().push(new SourceMapEntry(lineNumber, columnNumber, sourceIndex, sourceURL, sourceLineNumber, sourceColumnNumber, names[nameIndex]));
|
|
111418
112440
|
}
|
|
111419
|
-
if (
|
|
111420
|
-
|
|
111421
|
-
|
|
111422
|
-
|
|
111423
|
-
|
|
111424
|
-
|
|
111425
|
-
|
|
111426
|
-
|
|
111427
|
-
|
|
111428
|
-
|
|
111429
|
-
|
|
111430
|
-
|
|
111431
|
-
|
|
111432
|
-
|
|
111433
|
-
this.#scopesInfo.addOriginalScopes(new Array(map.sources.length).fill(null));
|
|
111434
|
-
}
|
|
112441
|
+
if (!this.#scopesInfo) {
|
|
112442
|
+
this.#scopesInfo = new SourceMapScopesInfo(this, { scopes: [], ranges: [] });
|
|
112443
|
+
}
|
|
112444
|
+
if (map.scopes) {
|
|
112445
|
+
const { scopes, ranges } = decode(map, { mode: 2 , generatedOffset: { line: baseLineNumber, column: baseColumnNumber } });
|
|
112446
|
+
this.#scopesInfo.addOriginalScopes(scopes);
|
|
112447
|
+
this.#scopesInfo.addGeneratedRanges(ranges);
|
|
112448
|
+
}
|
|
112449
|
+
else if (map.x_com_bloomberg_sourcesFunctionMappings) {
|
|
112450
|
+
const originalScopes = this.parseBloombergScopes(map);
|
|
112451
|
+
this.#scopesInfo.addOriginalScopes(originalScopes);
|
|
112452
|
+
}
|
|
112453
|
+
else {
|
|
112454
|
+
this.#scopesInfo.addOriginalScopes(new Array(map.sources.length).fill(null));
|
|
111435
112455
|
}
|
|
111436
112456
|
}
|
|
111437
112457
|
parseBloombergScopes(map) {
|
|
@@ -118460,6 +119480,10 @@ class DebuggerModel extends SDKModel {
|
|
|
118460
119480
|
scriptForId(scriptId) {
|
|
118461
119481
|
return this.#scripts.get(scriptId) || null;
|
|
118462
119482
|
}
|
|
119483
|
+
isWasm(scriptId) {
|
|
119484
|
+
const script = this.scriptForId(scriptId);
|
|
119485
|
+
return script ? script.isWasm() : false;
|
|
119486
|
+
}
|
|
118463
119487
|
scriptsForSourceURL(sourceURL) {
|
|
118464
119488
|
return this.#scriptsBySourceURL.get(sourceURL) || [];
|
|
118465
119489
|
}
|
|
@@ -118604,10 +119628,10 @@ class DebuggerModel extends SDKModel {
|
|
|
118604
119628
|
this.dispatchEventToListeners(Events$5.DiscardedAnonymousScriptSource, script);
|
|
118605
119629
|
}
|
|
118606
119630
|
}
|
|
118607
|
-
createRawLocation(script, lineNumber, columnNumber
|
|
118608
|
-
return this.createRawLocationByScriptId(script.scriptId, lineNumber, columnNumber
|
|
119631
|
+
createRawLocation(script, lineNumber, columnNumber) {
|
|
119632
|
+
return this.createRawLocationByScriptId(script.scriptId, lineNumber, columnNumber);
|
|
118609
119633
|
}
|
|
118610
|
-
createRawLocationByURL(sourceURL, lineNumber, columnNumber
|
|
119634
|
+
createRawLocationByURL(sourceURL, lineNumber, columnNumber) {
|
|
118611
119635
|
for (const script of this.#scriptsBySourceURL.get(sourceURL) || []) {
|
|
118612
119636
|
if (script.lineOffset > lineNumber ||
|
|
118613
119637
|
(script.lineOffset === lineNumber && columnNumber !== undefined && script.columnOffset > columnNumber)) {
|
|
@@ -118617,12 +119641,12 @@ class DebuggerModel extends SDKModel {
|
|
|
118617
119641
|
(script.endLine === lineNumber && columnNumber !== undefined && script.endColumn <= columnNumber)) {
|
|
118618
119642
|
continue;
|
|
118619
119643
|
}
|
|
118620
|
-
return new Location$2(this, script.scriptId, lineNumber, columnNumber
|
|
119644
|
+
return new Location$2(this, script.scriptId, lineNumber, columnNumber);
|
|
118621
119645
|
}
|
|
118622
119646
|
return null;
|
|
118623
119647
|
}
|
|
118624
|
-
createRawLocationByScriptId(scriptId, lineNumber, columnNumber
|
|
118625
|
-
return new Location$2(this, scriptId, lineNumber, columnNumber
|
|
119648
|
+
createRawLocationByScriptId(scriptId, lineNumber, columnNumber) {
|
|
119649
|
+
return new Location$2(this, scriptId, lineNumber, columnNumber);
|
|
118626
119650
|
}
|
|
118627
119651
|
createRawLocationsByStackTrace(stackTrace) {
|
|
118628
119652
|
const rawLocations = [];
|
|
@@ -120921,6 +121945,7 @@ class ConsoleMessage {
|
|
|
120921
121945
|
#exceptionId = undefined;
|
|
120922
121946
|
#affectedResources;
|
|
120923
121947
|
category;
|
|
121948
|
+
exceptionDetails;
|
|
120924
121949
|
stackFrameWithBreakpoint = null;
|
|
120925
121950
|
#originatingBreakpointType = null;
|
|
120926
121951
|
constructor(runtimeModel, source, level, messageText, details) {
|
|
@@ -120940,6 +121965,7 @@ class ConsoleMessage {
|
|
|
120940
121965
|
this.workerId = details?.workerId;
|
|
120941
121966
|
this.#affectedResources = details?.affectedResources;
|
|
120942
121967
|
this.category = details?.category;
|
|
121968
|
+
this.exceptionDetails = details?.exceptionDetails;
|
|
120943
121969
|
if (!this.#executionContextId && this.#runtimeModel) {
|
|
120944
121970
|
if (this.scriptId) {
|
|
120945
121971
|
this.#executionContextId = this.#runtimeModel.executionContextIdForScriptId(this.scriptId);
|
|
@@ -120978,6 +122004,7 @@ class ConsoleMessage {
|
|
|
120978
122004
|
executionContextId: exceptionDetails.executionContextId,
|
|
120979
122005
|
scriptId: exceptionDetails.scriptId,
|
|
120980
122006
|
affectedResources,
|
|
122007
|
+
exceptionDetails,
|
|
120981
122008
|
};
|
|
120982
122009
|
return new ConsoleMessage(runtimeModel, "javascript" , "error" , RuntimeModel.simpleTextFromException(exceptionDetails), details);
|
|
120983
122010
|
}
|
|
@@ -123837,7 +124864,7 @@ SDKModel.register(WebAuthnModel, { capabilities: 65536 , autostart: false });
|
|
|
123837
124864
|
|
|
123838
124865
|
// Copyright 2026 The Chromium Authors
|
|
123839
124866
|
const CALL_FRAME_REGEX = /^\s*at\s+/;
|
|
123840
|
-
function parseRawFramesFromErrorStack(stack) {
|
|
124867
|
+
function parseRawFramesFromErrorStack(stack, resolveURL) {
|
|
123841
124868
|
const lines = stack.split('\n');
|
|
123842
124869
|
const firstAtLineIndex = findFramesStartLine(lines);
|
|
123843
124870
|
const rawFrames = [];
|
|
@@ -123877,63 +124904,74 @@ function parseRawFramesFromErrorStack(stack) {
|
|
|
123877
124904
|
let promiseIndex;
|
|
123878
124905
|
let evalOrigin;
|
|
123879
124906
|
const openParenIndex = lineContent.indexOf(' (');
|
|
124907
|
+
let location = '';
|
|
123880
124908
|
if (lineContent.endsWith(')') && openParenIndex !== -1) {
|
|
123881
124909
|
functionName = lineContent.substring(0, openParenIndex).trim();
|
|
123882
|
-
|
|
123883
|
-
|
|
123884
|
-
|
|
123885
|
-
|
|
123886
|
-
|
|
123887
|
-
|
|
123888
|
-
|
|
123889
|
-
|
|
123890
|
-
|
|
123891
|
-
|
|
123892
|
-
|
|
123893
|
-
|
|
123894
|
-
|
|
123895
|
-
|
|
123896
|
-
|
|
123897
|
-
const innerOpenParen = evalOriginStr.indexOf(' (');
|
|
123898
|
-
let evalFunctionName = evalOriginStr;
|
|
123899
|
-
let evalLocation = '';
|
|
123900
|
-
if (innerOpenParen !== -1) {
|
|
123901
|
-
evalFunctionName = evalOriginStr.substring(0, innerOpenParen).trim();
|
|
123902
|
-
evalLocation = evalOriginStr.substring(innerOpenParen + 2, evalOriginStr.length - 1);
|
|
123903
|
-
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName} (${evalLocation})`)?.[0];
|
|
123904
|
-
}
|
|
123905
|
-
else {
|
|
123906
|
-
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName}`)?.[0];
|
|
123907
|
-
}
|
|
124910
|
+
location = lineContent.substring(openParenIndex + 2, lineContent.length - 1);
|
|
124911
|
+
}
|
|
124912
|
+
else if (lineContent.startsWith('(') && lineContent.endsWith(')')) {
|
|
124913
|
+
location = lineContent.substring(1, lineContent.length - 1);
|
|
124914
|
+
}
|
|
124915
|
+
else {
|
|
124916
|
+
location = lineContent;
|
|
124917
|
+
}
|
|
124918
|
+
if (location.startsWith('eval at ')) {
|
|
124919
|
+
isEval = true;
|
|
124920
|
+
const commaIndex = location.lastIndexOf(', ');
|
|
124921
|
+
let evalOriginStr = location;
|
|
124922
|
+
if (commaIndex !== -1) {
|
|
124923
|
+
evalOriginStr = location.substring(0, commaIndex);
|
|
124924
|
+
location = location.substring(commaIndex + 2);
|
|
123908
124925
|
}
|
|
123909
|
-
|
|
123910
|
-
|
|
123911
|
-
url = '';
|
|
124926
|
+
else {
|
|
124927
|
+
location = '';
|
|
123912
124928
|
}
|
|
123913
|
-
|
|
123914
|
-
|
|
124929
|
+
if (evalOriginStr.startsWith('eval at ')) {
|
|
124930
|
+
evalOriginStr = evalOriginStr.substring(8);
|
|
123915
124931
|
}
|
|
123916
|
-
|
|
123917
|
-
|
|
123918
|
-
|
|
123919
|
-
|
|
123920
|
-
|
|
123921
|
-
|
|
123922
|
-
|
|
123923
|
-
}
|
|
124932
|
+
const innerOpenParen = evalOriginStr.indexOf(' (');
|
|
124933
|
+
let evalFunctionName = evalOriginStr;
|
|
124934
|
+
let evalLocation = '';
|
|
124935
|
+
if (innerOpenParen !== -1) {
|
|
124936
|
+
evalFunctionName = evalOriginStr.substring(0, innerOpenParen).trim();
|
|
124937
|
+
evalLocation = evalOriginStr.substring(innerOpenParen + 2, evalOriginStr.length - 1);
|
|
124938
|
+
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName} (${evalLocation})`, resolveURL)?.[0];
|
|
123924
124939
|
}
|
|
123925
124940
|
else {
|
|
123926
|
-
|
|
123927
|
-
url = splitResult.url;
|
|
123928
|
-
lineNumber = splitResult.lineNumber ?? -1;
|
|
123929
|
-
columnNumber = splitResult.columnNumber ?? -1;
|
|
124941
|
+
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName}`, resolveURL)?.[0];
|
|
123930
124942
|
}
|
|
123931
124943
|
}
|
|
123932
|
-
|
|
123933
|
-
|
|
123934
|
-
url =
|
|
124944
|
+
if (location.startsWith('index ')) {
|
|
124945
|
+
promiseIndex = parseInt(location.substring(6), 10);
|
|
124946
|
+
url = '';
|
|
124947
|
+
}
|
|
124948
|
+
else if (location === '<anonymous>' || location === 'native') {
|
|
124949
|
+
url = '';
|
|
124950
|
+
}
|
|
124951
|
+
else if (location.includes(':wasm-function[')) {
|
|
124952
|
+
isWasm = true;
|
|
124953
|
+
const wasmMatch = /^(.*):wasm-function\[(\d+)\]:(0x[0-9a-fA-F]+)$/.exec(location);
|
|
124954
|
+
if (wasmMatch) {
|
|
124955
|
+
url = wasmMatch[1];
|
|
124956
|
+
wasmFunctionIndex = parseInt(wasmMatch[2], 10);
|
|
124957
|
+
columnNumber = parseInt(wasmMatch[3], 16);
|
|
124958
|
+
lineNumber = 0;
|
|
124959
|
+
}
|
|
124960
|
+
}
|
|
124961
|
+
else if (location) {
|
|
124962
|
+
const splitResult = ParsedURL.splitLineAndColumn(location);
|
|
123935
124963
|
lineNumber = splitResult.lineNumber ?? -1;
|
|
123936
124964
|
columnNumber = splitResult.columnNumber ?? -1;
|
|
124965
|
+
if (resolveURL && splitResult.url !== '<anonymous>' && splitResult.url !== 'native') {
|
|
124966
|
+
const resolved = resolveURL(splitResult.url);
|
|
124967
|
+
if (!resolved) {
|
|
124968
|
+
return null;
|
|
124969
|
+
}
|
|
124970
|
+
url = resolved;
|
|
124971
|
+
}
|
|
124972
|
+
else {
|
|
124973
|
+
url = splitResult.url;
|
|
124974
|
+
}
|
|
123937
124975
|
}
|
|
123938
124976
|
if (functionName) {
|
|
123939
124977
|
const aliasMatch = /(.*)\s+\[as\s+(.*)\]/.exec(functionName);
|
|
@@ -123955,12 +124993,12 @@ function parseRawFramesFromErrorStack(stack) {
|
|
|
123955
124993
|
functionName,
|
|
123956
124994
|
lineNumber,
|
|
123957
124995
|
columnNumber,
|
|
124996
|
+
isWasm,
|
|
123958
124997
|
parsedFrameInfo: {
|
|
123959
124998
|
isAsync,
|
|
123960
124999
|
isConstructor,
|
|
123961
125000
|
isEval,
|
|
123962
125001
|
evalOrigin,
|
|
123963
|
-
isWasm,
|
|
123964
125002
|
wasmModuleName,
|
|
123965
125003
|
wasmFunctionIndex,
|
|
123966
125004
|
typeName,
|
|
@@ -123984,11 +125022,7 @@ function parseMessage(stack) {
|
|
|
123984
125022
|
}
|
|
123985
125023
|
function augmentRawFramesWithScriptIds(rawFrames, protocolStackTrace) {
|
|
123986
125024
|
function augmentFrame(rawFrame) {
|
|
123987
|
-
const isWasm = rawFrame.parsedFrameInfo?.isWasm;
|
|
123988
125025
|
const protocolFrame = protocolStackTrace.callFrames.find(frame => {
|
|
123989
|
-
if (isWasm) {
|
|
123990
|
-
return rawFrame.url === frame.url && rawFrame.columnNumber === frame.columnNumber;
|
|
123991
|
-
}
|
|
123992
125026
|
return rawFrame.url === frame.url && rawFrame.lineNumber === frame.lineNumber &&
|
|
123993
125027
|
rawFrame.columnNumber === frame.columnNumber;
|
|
123994
125028
|
});
|
|
@@ -124062,7 +125096,9 @@ class FrameImpl {
|
|
|
124062
125096
|
column;
|
|
124063
125097
|
missingDebugInfo;
|
|
124064
125098
|
rawName;
|
|
124065
|
-
|
|
125099
|
+
isWasm;
|
|
125100
|
+
isInline;
|
|
125101
|
+
constructor(url, uiSourceCode, name, line, column, missingDebugInfo, rawName, isWasm, isInline) {
|
|
124066
125102
|
this.url = url;
|
|
124067
125103
|
this.uiSourceCode = uiSourceCode;
|
|
124068
125104
|
this.name = name;
|
|
@@ -124070,6 +125106,8 @@ class FrameImpl {
|
|
|
124070
125106
|
this.column = column;
|
|
124071
125107
|
this.missingDebugInfo = missingDebugInfo;
|
|
124072
125108
|
this.rawName = rawName;
|
|
125109
|
+
this.isWasm = isWasm;
|
|
125110
|
+
this.isInline = isInline;
|
|
124073
125111
|
}
|
|
124074
125112
|
}
|
|
124075
125113
|
function createParsedErrorStackFrameImplFromEvalOrigin(evalOrigin, parsedFrameInfo) {
|
|
@@ -124142,7 +125180,10 @@ class ParsedErrorStackFrameImpl {
|
|
|
124142
125180
|
return this.#evalOrigin;
|
|
124143
125181
|
}
|
|
124144
125182
|
get isWasm() {
|
|
124145
|
-
return this.#
|
|
125183
|
+
return this.#frame.isWasm;
|
|
125184
|
+
}
|
|
125185
|
+
get isInline() {
|
|
125186
|
+
return this.#frame.isInline;
|
|
124146
125187
|
}
|
|
124147
125188
|
get wasmModuleName() {
|
|
124148
125189
|
return this.#parsedFrameInfo?.wasmModuleName;
|
|
@@ -124212,6 +125253,12 @@ class DebuggableFrameImpl {
|
|
|
124212
125253
|
get rawName() {
|
|
124213
125254
|
return this.#frame.rawName;
|
|
124214
125255
|
}
|
|
125256
|
+
get isWasm() {
|
|
125257
|
+
return this.#frame.isWasm;
|
|
125258
|
+
}
|
|
125259
|
+
get isInline() {
|
|
125260
|
+
return this.#frame.isInline;
|
|
125261
|
+
}
|
|
124215
125262
|
get sdkFrame() {
|
|
124216
125263
|
return this.#sdkFrame;
|
|
124217
125264
|
}
|
|
@@ -124270,9 +125317,9 @@ function parseSourcePositionsFromErrorStack(runtimeModel, stack) {
|
|
|
124270
125317
|
}
|
|
124271
125318
|
continue;
|
|
124272
125319
|
}
|
|
124273
|
-
let url = parseOrScriptMatch(debuggerModel, splitResult.url);
|
|
125320
|
+
let url = parseOrScriptMatch$1(debuggerModel, splitResult.url);
|
|
124274
125321
|
if (!url && ParsedURL.isRelativeURL(splitResult.url)) {
|
|
124275
|
-
url = parseOrScriptMatch(debuggerModel, ParsedURL.completeURL(baseURL, splitResult.url));
|
|
125322
|
+
url = parseOrScriptMatch$1(debuggerModel, ParsedURL.completeURL(baseURL, splitResult.url));
|
|
124276
125323
|
}
|
|
124277
125324
|
if (!url) {
|
|
124278
125325
|
return null;
|
|
@@ -124292,7 +125339,7 @@ function parseSourcePositionsFromErrorStack(runtimeModel, stack) {
|
|
|
124292
125339
|
}
|
|
124293
125340
|
return linkInfos;
|
|
124294
125341
|
}
|
|
124295
|
-
function parseOrScriptMatch(debuggerModel, url) {
|
|
125342
|
+
function parseOrScriptMatch$1(debuggerModel, url) {
|
|
124296
125343
|
if (!url) {
|
|
124297
125344
|
return null;
|
|
124298
125345
|
}
|
|
@@ -124484,14 +125531,28 @@ class StackTraceModel extends SDKModel {
|
|
|
124484
125531
|
return model;
|
|
124485
125532
|
}
|
|
124486
125533
|
async createFromProtocolRuntime(stackTrace, rawFramesToUIFrames) {
|
|
125534
|
+
const debuggerModel = this.target().model(DebuggerModel);
|
|
125535
|
+
const syncFrames = stackTrace.callFrames.map((frame) => {
|
|
125536
|
+
const isWasm = debuggerModel?.isWasm(frame.scriptId) ?? false;
|
|
125537
|
+
return { ...frame, isWasm };
|
|
125538
|
+
});
|
|
124487
125539
|
const [syncFragment, asyncFragments] = await Promise.all([
|
|
124488
|
-
this.#createFragment(
|
|
125540
|
+
this.#createFragment(syncFrames, rawFramesToUIFrames),
|
|
124489
125541
|
this.#createAsyncFragments(stackTrace, rawFramesToUIFrames),
|
|
124490
125542
|
]);
|
|
124491
125543
|
return new StackTraceImpl(syncFragment, asyncFragments);
|
|
124492
125544
|
}
|
|
124493
125545
|
async createFromErrorStackLikeString(stack, rawFramesToUIFrames, exceptionDetails) {
|
|
124494
|
-
const
|
|
125546
|
+
const debuggerModel = this.target().model(DebuggerModel);
|
|
125547
|
+
const baseURL = this.target().inspectedURL();
|
|
125548
|
+
const resolveURL = (url) => {
|
|
125549
|
+
let urlWithScheme = parseOrScriptMatch(debuggerModel, url);
|
|
125550
|
+
if (!urlWithScheme && ParsedURL.isRelativeURL(url)) {
|
|
125551
|
+
urlWithScheme = parseOrScriptMatch(debuggerModel, ParsedURL.completeURL(baseURL, url));
|
|
125552
|
+
}
|
|
125553
|
+
return urlWithScheme;
|
|
125554
|
+
};
|
|
125555
|
+
const rawFrames = parseRawFramesFromErrorStack(stack, resolveURL);
|
|
124495
125556
|
if (!rawFrames) {
|
|
124496
125557
|
return null;
|
|
124497
125558
|
}
|
|
@@ -124539,6 +125600,7 @@ class StackTraceModel extends SDKModel {
|
|
|
124539
125600
|
functionName: frame.functionName,
|
|
124540
125601
|
lineNumber: frame.location().lineNumber,
|
|
124541
125602
|
columnNumber: frame.location().columnNumber,
|
|
125603
|
+
isWasm: frame.script.isWasm(),
|
|
124542
125604
|
})), rawFramesToUIFrames);
|
|
124543
125605
|
return new DebuggableFragmentImpl(fragment, pausedDetails.callFrames);
|
|
124544
125606
|
}
|
|
@@ -124551,7 +125613,12 @@ class StackTraceModel extends SDKModel {
|
|
|
124551
125613
|
continue;
|
|
124552
125614
|
}
|
|
124553
125615
|
const model = _a$4.#modelForTarget(target);
|
|
124554
|
-
const
|
|
125616
|
+
const targetDebuggerModel = target.model(DebuggerModel);
|
|
125617
|
+
const asyncFrames = asyncStackTrace.callFrames.map((frame) => {
|
|
125618
|
+
const isWasm = targetDebuggerModel?.isWasm(frame.scriptId) ?? false;
|
|
125619
|
+
return { ...frame, isWasm };
|
|
125620
|
+
});
|
|
125621
|
+
const asyncFragmentPromise = model.#createFragment(asyncFrames, rawFramesToUIFrames)
|
|
124555
125622
|
.then(fragment => new AsyncFragmentImpl(asyncStackTrace.description ?? '', fragment));
|
|
124556
125623
|
asyncFragments.push(asyncFragmentPromise);
|
|
124557
125624
|
}
|
|
@@ -124593,7 +125660,9 @@ class StackTraceModel extends SDKModel {
|
|
|
124593
125660
|
let i = 0;
|
|
124594
125661
|
let evalI = 0;
|
|
124595
125662
|
for (const node of fragment.node.getCallStack()) {
|
|
124596
|
-
|
|
125663
|
+
const group = uiFrames[i++];
|
|
125664
|
+
node.frames =
|
|
125665
|
+
group.map((frame, index) => new FrameImpl(frame.url, frame.uiSourceCode, frame.name, frame.line, frame.column, frame.missingDebugInfo, node.rawFrame.functionName, node.rawFrame.isWasm, index < group.length - 1));
|
|
124597
125666
|
if (node.parsedFrameInfo?.evalOrigin) {
|
|
124598
125667
|
node.evalOrigin = evalOrigins[evalI++];
|
|
124599
125668
|
}
|
|
@@ -124624,13 +125693,34 @@ class StackTraceModel extends SDKModel {
|
|
|
124624
125693
|
_a$4 = StackTraceModel;
|
|
124625
125694
|
async function translateEvalOrigin(rawFrame, rawFramesToUIFrames, target) {
|
|
124626
125695
|
const uiFrames = await rawFramesToUIFrames([rawFrame], target);
|
|
124627
|
-
const
|
|
125696
|
+
const group = uiFrames[0];
|
|
125697
|
+
const frames = group.map((frame, index) => new FrameImpl(frame.url, frame.uiSourceCode, frame.name, frame.line, frame.column, frame.missingDebugInfo, rawFrame.functionName, rawFrame.isWasm, index < group.length - 1));
|
|
124628
125698
|
let parentEvalOrigin;
|
|
124629
125699
|
if (rawFrame.parsedFrameInfo?.evalOrigin) {
|
|
124630
125700
|
parentEvalOrigin = await translateEvalOrigin(rawFrame.parsedFrameInfo.evalOrigin, rawFramesToUIFrames, target);
|
|
124631
125701
|
}
|
|
124632
125702
|
return new EvalOrigin(frames, parentEvalOrigin);
|
|
124633
125703
|
}
|
|
125704
|
+
function parseOrScriptMatch(debuggerModel, url) {
|
|
125705
|
+
if (!url) {
|
|
125706
|
+
return null;
|
|
125707
|
+
}
|
|
125708
|
+
if (ParsedURL.isValidUrlString(url)) {
|
|
125709
|
+
return url;
|
|
125710
|
+
}
|
|
125711
|
+
if (debuggerModel.scriptsForSourceURL(url).length) {
|
|
125712
|
+
return url;
|
|
125713
|
+
}
|
|
125714
|
+
try {
|
|
125715
|
+
const fileUrl = new URL(url, 'file://');
|
|
125716
|
+
if (debuggerModel.scriptsForSourceURL(fileUrl.href).length) {
|
|
125717
|
+
return fileUrl.href;
|
|
125718
|
+
}
|
|
125719
|
+
}
|
|
125720
|
+
catch {
|
|
125721
|
+
}
|
|
125722
|
+
return null;
|
|
125723
|
+
}
|
|
124634
125724
|
SDKModel.register(StackTraceModel, { capabilities: 0 , autostart: false });
|
|
124635
125725
|
|
|
124636
125726
|
// Copyright 2011 The Chromium Authors
|
|
@@ -128106,7 +129196,8 @@ class DefaultScriptMapping {
|
|
|
128106
129196
|
}
|
|
128107
129197
|
this.#uiSourceCodeToScript.set(uiSourceCode, script);
|
|
128108
129198
|
this.#scriptToUISourceCode.set(script, uiSourceCode);
|
|
128109
|
-
|
|
129199
|
+
const mimeType = script.isWasm() ? 'application/wasm' : 'text/javascript';
|
|
129200
|
+
this.#project.addUISourceCodeWithProvider(uiSourceCode, script, null, mimeType);
|
|
128110
129201
|
void this.#debuggerWorkspaceBinding.updateLocations(script);
|
|
128111
129202
|
}
|
|
128112
129203
|
discardedScriptSource(event) {
|
|
@@ -128555,6 +129646,7 @@ class SymbolizedErrorObject extends ObjectWrapper {
|
|
|
128555
129646
|
message;
|
|
128556
129647
|
stackTrace;
|
|
128557
129648
|
cause;
|
|
129649
|
+
#syntaxErrorLocation = null;
|
|
128558
129650
|
constructor(message, stackTrace, cause) {
|
|
128559
129651
|
super();
|
|
128560
129652
|
this.message = message;
|
|
@@ -128570,39 +129662,35 @@ class SymbolizedErrorObject extends ObjectWrapper {
|
|
|
128570
129662
|
this.cause.dispose();
|
|
128571
129663
|
}
|
|
128572
129664
|
}
|
|
128573
|
-
|
|
128574
|
-
this
|
|
128575
|
-
}
|
|
128576
|
-
}
|
|
128577
|
-
class SymbolizedSyntaxError extends ObjectWrapper {
|
|
128578
|
-
message;
|
|
128579
|
-
#uiLocation = null;
|
|
128580
|
-
constructor(message) {
|
|
128581
|
-
super();
|
|
128582
|
-
this.message = message;
|
|
128583
|
-
}
|
|
128584
|
-
get uiLocation() {
|
|
128585
|
-
return this.#uiLocation;
|
|
129665
|
+
get syntaxErrorLocation() {
|
|
129666
|
+
return this.#syntaxErrorLocation;
|
|
128586
129667
|
}
|
|
128587
|
-
static async
|
|
129668
|
+
static async createForSyntaxError(target, debuggerWorkspaceBinding, message, exceptionDetails, stackTrace, cause) {
|
|
128588
129669
|
const { exception, scriptId, lineNumber, columnNumber } = exceptionDetails;
|
|
128589
129670
|
if (!exception || exception.subtype !== 'error' || exception.className !== 'SyntaxError') {
|
|
128590
|
-
throw new Error('
|
|
129671
|
+
throw new Error('SymbolizedErrorObject.createForSyntaxError expects a SyntaxError');
|
|
128591
129672
|
}
|
|
129673
|
+
const symbolizedError = new SymbolizedErrorObject(message, stackTrace, cause);
|
|
128592
129674
|
if (!scriptId) {
|
|
128593
|
-
return
|
|
129675
|
+
return symbolizedError;
|
|
128594
129676
|
}
|
|
128595
|
-
const
|
|
128596
|
-
|
|
128597
|
-
|
|
129677
|
+
const topFrame = exceptionDetails.stackTrace?.callFrames[0];
|
|
129678
|
+
const isProgrammaticThrow = topFrame && topFrame.scriptId === scriptId && topFrame.lineNumber === lineNumber &&
|
|
129679
|
+
topFrame.columnNumber === columnNumber;
|
|
129680
|
+
if (!isProgrammaticThrow) {
|
|
129681
|
+
const debuggerModel = target.model(DebuggerModel);
|
|
129682
|
+
if (debuggerModel) {
|
|
129683
|
+
const rawLocation = debuggerModel.createRawLocationByScriptId(scriptId, lineNumber, columnNumber);
|
|
129684
|
+
await debuggerWorkspaceBinding.createLiveLocation(rawLocation, symbolizedError.#updateSyntaxErrorLocation.bind(symbolizedError), new LiveLocationPool());
|
|
129685
|
+
}
|
|
128598
129686
|
}
|
|
128599
|
-
|
|
128600
|
-
const symbolizedSyntaxError = new SymbolizedSyntaxError(exception.description || '');
|
|
128601
|
-
await debuggerWorkspaceBinding.createLiveLocation(rawLocation, symbolizedSyntaxError.#update.bind(symbolizedSyntaxError), new LiveLocationPool());
|
|
128602
|
-
return symbolizedSyntaxError;
|
|
129687
|
+
return symbolizedError;
|
|
128603
129688
|
}
|
|
128604
|
-
async #
|
|
128605
|
-
this.#
|
|
129689
|
+
async #updateSyntaxErrorLocation(liveLocation) {
|
|
129690
|
+
this.#syntaxErrorLocation = await liveLocation.uiLocation();
|
|
129691
|
+
this.dispatchEventToListeners("UPDATED" );
|
|
129692
|
+
}
|
|
129693
|
+
#fireUpdated() {
|
|
128606
129694
|
this.dispatchEventToListeners("UPDATED" );
|
|
128607
129695
|
}
|
|
128608
129696
|
}
|
|
@@ -128757,12 +129845,6 @@ class DebuggerWorkspaceBinding {
|
|
|
128757
129845
|
]);
|
|
128758
129846
|
fetchedExceptionDetails = details;
|
|
128759
129847
|
causeRemoteObject = causeRemote;
|
|
128760
|
-
if (remoteObject.className === 'SyntaxError' && fetchedExceptionDetails) {
|
|
128761
|
-
const syntaxError = await SymbolizedSyntaxError.fromExceptionDetails(remoteObject.runtimeModel().target(), this, fetchedExceptionDetails);
|
|
128762
|
-
if (syntaxError) {
|
|
128763
|
-
return syntaxError;
|
|
128764
|
-
}
|
|
128765
|
-
}
|
|
128766
129848
|
}
|
|
128767
129849
|
else if (remoteObject.type === 'string') {
|
|
128768
129850
|
errorStack = remoteObject.description || '';
|
|
@@ -128785,6 +129867,9 @@ class DebuggerWorkspaceBinding {
|
|
|
128785
129867
|
return new UnparsableError(errorStack, cause);
|
|
128786
129868
|
}
|
|
128787
129869
|
const message = parseMessage(errorStack);
|
|
129870
|
+
if (remoteObject.subtype === 'error' && remoteObject.className === 'SyntaxError' && fetchedExceptionDetails) {
|
|
129871
|
+
return await SymbolizedErrorObject.createForSyntaxError(remoteObject.runtimeModel().target(), this, message, fetchedExceptionDetails, stackTrace, cause);
|
|
129872
|
+
}
|
|
128788
129873
|
return new SymbolizedErrorObject(message, stackTrace, cause);
|
|
128789
129874
|
}
|
|
128790
129875
|
async createLiveLocation(rawLocation, updateDelegate, locationPool) {
|
|
@@ -130924,21 +132009,17 @@ class NetworkRequestFormatter {
|
|
|
130924
132009
|
return `${title}\n<binary data>`;
|
|
130925
132010
|
}
|
|
130926
132011
|
static formatInitiatorUrl(initiatorUrl, allowedOrigin) {
|
|
130927
|
-
|
|
130928
|
-
|
|
130929
|
-
|
|
130930
|
-
return initiatorUrl;
|
|
130931
|
-
}
|
|
130932
|
-
return '<redacted cross-origin initiator URL>';
|
|
130933
|
-
}
|
|
130934
|
-
catch {
|
|
130935
|
-
return '<redacted cross-origin initiator URL>';
|
|
132012
|
+
const initiatorOrigin = ParsedURL.extractOrigin(initiatorUrl);
|
|
132013
|
+
if (initiatorOrigin && initiatorOrigin === allowedOrigin) {
|
|
132014
|
+
return initiatorUrl;
|
|
130936
132015
|
}
|
|
132016
|
+
return '<redacted cross-origin initiator URL>';
|
|
130937
132017
|
}
|
|
130938
132018
|
static formatStatus(status) {
|
|
130939
132019
|
let responseStatus = '';
|
|
130940
132020
|
if (status.statusCode) {
|
|
130941
|
-
|
|
132021
|
+
const statusText = status.statusText ? ` ${status.statusText}` : '';
|
|
132022
|
+
responseStatus = `Response status: ${status.statusCode}${statusText}\n`;
|
|
130942
132023
|
}
|
|
130943
132024
|
const flags = [];
|
|
130944
132025
|
flags.push(status.finished ? 'finished' : 'pending');
|
|
@@ -131019,7 +132100,7 @@ Request initiator chain:\n${this.formatRequestInitiatorChain()}`;
|
|
|
131019
132100
|
});
|
|
131020
132101
|
}
|
|
131021
132102
|
formatRequestInitiatorChain() {
|
|
131022
|
-
const allowedOrigin =
|
|
132103
|
+
const allowedOrigin = ParsedURL.extractOrigin(this.#request.url());
|
|
131023
132104
|
let initiatorChain = '';
|
|
131024
132105
|
let lineStart = '- URL: ';
|
|
131025
132106
|
const graph = NetworkLog.instance().initiatorGraphForRequest(this.#request);
|
|
@@ -131553,7 +132634,7 @@ const markerTypeGuards = [
|
|
|
131553
132634
|
isMarkDOMContent,
|
|
131554
132635
|
isMarkLoad,
|
|
131555
132636
|
isFirstPaint,
|
|
131556
|
-
|
|
132637
|
+
isAnyFirstContentfulPaint,
|
|
131557
132638
|
isAnyLargestContentfulPaintCandidate,
|
|
131558
132639
|
isNavigationStart,
|
|
131559
132640
|
isSoftNavigationStart,
|
|
@@ -131563,6 +132644,7 @@ const MarkerName = [
|
|
|
131563
132644
|
"MarkLoad" ,
|
|
131564
132645
|
"firstPaint" ,
|
|
131565
132646
|
"firstContentfulPaint" ,
|
|
132647
|
+
"SyntheticSoftFirstContentfulPaint" ,
|
|
131566
132648
|
"largestContentfulPaint::Candidate" ,
|
|
131567
132649
|
"largestContentfulPaint::CandidateForSoftNavigation" ,
|
|
131568
132650
|
"navigationStart" ,
|
|
@@ -131806,6 +132888,12 @@ function isLayoutInvalidationTracking(event) {
|
|
|
131806
132888
|
function isFirstContentfulPaint(event) {
|
|
131807
132889
|
return event.name === "firstContentfulPaint" ;
|
|
131808
132890
|
}
|
|
132891
|
+
function isSoftFirstContentfulPaint(event) {
|
|
132892
|
+
return event.name === "SyntheticSoftFirstContentfulPaint" ;
|
|
132893
|
+
}
|
|
132894
|
+
function isAnyFirstContentfulPaint(event) {
|
|
132895
|
+
return event.name === "firstContentfulPaint" || event.name === "SyntheticSoftFirstContentfulPaint" ;
|
|
132896
|
+
}
|
|
131809
132897
|
function isAnyLargestContentfulPaintCandidate(event) {
|
|
131810
132898
|
return event.name === "largestContentfulPaint::Candidate" || event.name === "largestContentfulPaint::CandidateForSoftNavigation" ;
|
|
131811
132899
|
}
|
|
@@ -132107,6 +133195,7 @@ var TraceEvents = /*#__PURE__*/Object.freeze({
|
|
|
132107
133195
|
isAnimationFrameAsyncEnd: isAnimationFrameAsyncEnd,
|
|
132108
133196
|
isAnimationFrameAsyncStart: isAnimationFrameAsyncStart,
|
|
132109
133197
|
isAnimationFramePresentation: isAnimationFramePresentation,
|
|
133198
|
+
isAnyFirstContentfulPaint: isAnyFirstContentfulPaint,
|
|
132110
133199
|
isAnyLargestContentfulPaintCandidate: isAnyLargestContentfulPaintCandidate,
|
|
132111
133200
|
isAnyScriptSourceEvent: isAnyScriptSourceEvent,
|
|
132112
133201
|
isAuctionWorkletDoneWithProcess: isAuctionWorkletDoneWithProcess,
|
|
@@ -132223,6 +133312,7 @@ var TraceEvents = /*#__PURE__*/Object.freeze({
|
|
|
132223
133312
|
isScrollLayer: isScrollLayer,
|
|
132224
133313
|
isSelectorStats: isSelectorStats,
|
|
132225
133314
|
isSetLayerId: isSetLayerId,
|
|
133315
|
+
isSoftFirstContentfulPaint: isSoftFirstContentfulPaint,
|
|
132226
133316
|
isSoftLargestContentfulPaintCandidate: isSoftLargestContentfulPaintCandidate,
|
|
132227
133317
|
isSoftNavigationStart: isSoftNavigationStart,
|
|
132228
133318
|
isStyleInvalidatorInvalidationTracking: isStyleInvalidatorInvalidationTracking,
|
|
@@ -132504,6 +133594,18 @@ function timeStampForEventAdjustedByClosestNavigation(event, traceBounds, naviga
|
|
|
132504
133594
|
eventTimeStamp = event.ts - navigationForEvent.ts;
|
|
132505
133595
|
}
|
|
132506
133596
|
}
|
|
133597
|
+
else if (isSoftFirstContentfulPaint(event) && event.args?.context?.performanceTimelineNavigationId) {
|
|
133598
|
+
const navigationForEvent = softNavigationsById.get(event.args.context.performanceTimelineNavigationId);
|
|
133599
|
+
if (navigationForEvent) {
|
|
133600
|
+
eventTimeStamp = event.ts - navigationForEvent.ts;
|
|
133601
|
+
}
|
|
133602
|
+
}
|
|
133603
|
+
else if (isSoftNavigationStart(event)) {
|
|
133604
|
+
const navigationForEvent = getNavigationForTraceEvent(event, event.args.frame, navigationsByFrameId);
|
|
133605
|
+
if (navigationForEvent) {
|
|
133606
|
+
eventTimeStamp = event.ts - navigationForEvent.ts;
|
|
133607
|
+
}
|
|
133608
|
+
}
|
|
132507
133609
|
else if (event.args?.data?.navigationId) {
|
|
132508
133610
|
const navigationForEvent = navigationsByNavigationId.get(event.args.data.navigationId);
|
|
132509
133611
|
if (navigationForEvent) {
|
|
@@ -134660,6 +135762,13 @@ function handleEvent$o(event) {
|
|
|
134660
135762
|
}
|
|
134661
135763
|
async function finalize$H() {
|
|
134662
135764
|
const { rendererProcessesByFrame } = data$p();
|
|
135765
|
+
const allowedProtocols = [
|
|
135766
|
+
'blob:',
|
|
135767
|
+
'file:',
|
|
135768
|
+
'filesystem:',
|
|
135769
|
+
'http:',
|
|
135770
|
+
'https:',
|
|
135771
|
+
];
|
|
134663
135772
|
for (const [requestId, request] of requestMap.entries()) {
|
|
134664
135773
|
if (!request.sendRequests) {
|
|
134665
135774
|
continue;
|
|
@@ -134677,7 +135786,7 @@ async function finalize$H() {
|
|
|
134677
135786
|
dur = Micro(nextWillSendRequest.ts - willSendRequest.ts);
|
|
134678
135787
|
}
|
|
134679
135788
|
redirects.push({
|
|
134680
|
-
url: sendRequest.args.data.url,
|
|
135789
|
+
url: allowedProtocols.some(p => sendRequest.args.data.url.startsWith(p)) ? sendRequest.args.data.url : '',
|
|
134681
135790
|
priority: sendRequest.args.data.priority,
|
|
134682
135791
|
requestMethod: sendRequest.args.data.requestMethod,
|
|
134683
135792
|
ts,
|
|
@@ -134743,14 +135852,7 @@ async function finalize$H() {
|
|
|
134743
135852
|
lrServerResponseTime = Math.max(0, parseInt(ResponseMsHeader.value, 10));
|
|
134744
135853
|
}
|
|
134745
135854
|
}
|
|
134746
|
-
|
|
134747
|
-
'blob:',
|
|
134748
|
-
'file:',
|
|
134749
|
-
'filesystem:',
|
|
134750
|
-
'http:',
|
|
134751
|
-
'https:',
|
|
134752
|
-
];
|
|
134753
|
-
if (!allowedProtocols.some(p => firstSendRequest.args.data.url.startsWith(p))) {
|
|
135855
|
+
if (!allowedProtocols.some(p => finalSendRequest.args.data.url.startsWith(p))) {
|
|
134754
135856
|
continue;
|
|
134755
135857
|
}
|
|
134756
135858
|
const initialPriority = finalSendRequest.args.data.priority;
|
|
@@ -134863,7 +135965,10 @@ async function finalize$H() {
|
|
|
134863
135965
|
responseHeaders: request.receiveResponse?.args.data.headers ?? null,
|
|
134864
135966
|
fetchPriorityHint: finalSendRequest.args.data.fetchPriorityHint ?? 'auto',
|
|
134865
135967
|
initiator: finalSendRequest.args.data.initiator,
|
|
134866
|
-
stackTrace: finalSendRequest.args.data.stackTrace
|
|
135968
|
+
stackTrace: finalSendRequest.args.data.stackTrace?.map(frame => ({
|
|
135969
|
+
...frame,
|
|
135970
|
+
url: allowedProtocols.some(p => frame.url.startsWith(p)) ? frame.url : '',
|
|
135971
|
+
})),
|
|
134867
135972
|
timing,
|
|
134868
135973
|
lrServerResponseTime,
|
|
134869
135974
|
url,
|
|
@@ -137398,6 +138503,25 @@ function handleEvent$b(event) {
|
|
|
137398
138503
|
return;
|
|
137399
138504
|
}
|
|
137400
138505
|
pageLoadEventsArray.push(event);
|
|
138506
|
+
if (isSoftNavigationStart(event) && event.args?.context?.firstContentfulPaint) {
|
|
138507
|
+
const syntheticSoftFcpEvent = SyntheticEventsManager
|
|
138508
|
+
.registerSyntheticEvent({
|
|
138509
|
+
name: "SyntheticSoftFirstContentfulPaint" ,
|
|
138510
|
+
ph: "R" ,
|
|
138511
|
+
rawSourceEvent: event,
|
|
138512
|
+
pid: event.pid,
|
|
138513
|
+
tid: event.tid,
|
|
138514
|
+
ts: Micro(event.args.context.firstContentfulPaint),
|
|
138515
|
+
cat: event.cat,
|
|
138516
|
+
args: {
|
|
138517
|
+
frame: event.args.frame,
|
|
138518
|
+
context: {
|
|
138519
|
+
...event.args.context,
|
|
138520
|
+
},
|
|
138521
|
+
},
|
|
138522
|
+
});
|
|
138523
|
+
pageLoadEventsArray.push(syntheticSoftFcpEvent);
|
|
138524
|
+
}
|
|
137401
138525
|
}
|
|
137402
138526
|
function storePageLoadMetricAgainstNavigationId(navigation, event) {
|
|
137403
138527
|
const frameId = getFrameIdForPageLoadEvent(event);
|
|
@@ -137413,7 +138537,7 @@ function storePageLoadMetricAgainstNavigationId(navigation, event) {
|
|
|
137413
138537
|
if (isNavigationStart(event)) {
|
|
137414
138538
|
return;
|
|
137415
138539
|
}
|
|
137416
|
-
if (
|
|
138540
|
+
if (isAnyFirstContentfulPaint(event)) {
|
|
137417
138541
|
const fcpTime = Micro(event.ts - navigation.ts);
|
|
137418
138542
|
const classification = scoreClassificationForFirstContentfulPaint(fcpTime);
|
|
137419
138543
|
const metricScore = { event, metricName: "FCP" , classification, navigation, timing: fcpTime };
|
|
@@ -137523,7 +138647,7 @@ function storeMetricScore(frameId, navigation, metricScore) {
|
|
|
137523
138647
|
metrics.set(metricScore.metricName, metricScore);
|
|
137524
138648
|
}
|
|
137525
138649
|
function getFrameIdForPageLoadEvent(event) {
|
|
137526
|
-
if (
|
|
138650
|
+
if (isAnyFirstContentfulPaint(event) || isInteractiveTime(event) ||
|
|
137527
138651
|
isAnyLargestContentfulPaintCandidate(event) || isNavigationStart(event) ||
|
|
137528
138652
|
isSoftNavigationStart(event) || isLayoutShift(event) ||
|
|
137529
138653
|
isFirstPaint(event)) {
|
|
@@ -137539,7 +138663,7 @@ function getFrameIdForPageLoadEvent(event) {
|
|
|
137539
138663
|
assertNever(event, `Unexpected event type: ${event}`);
|
|
137540
138664
|
}
|
|
137541
138665
|
function getNavigationForPageLoadEvent(event) {
|
|
137542
|
-
if (
|
|
138666
|
+
if (isAnyFirstContentfulPaint(event) || isAnyLargestContentfulPaintCandidate(event) ||
|
|
137543
138667
|
isFirstPaint(event)) {
|
|
137544
138668
|
const { navigationsByNavigationId, softNavigationsById } = data$p();
|
|
137545
138669
|
let navigation;
|
|
@@ -137550,6 +138674,12 @@ function getNavigationForPageLoadEvent(event) {
|
|
|
137550
138674
|
return null;
|
|
137551
138675
|
}
|
|
137552
138676
|
}
|
|
138677
|
+
else if (isSoftFirstContentfulPaint(event) && event.args.context?.performanceTimelineNavigationId) {
|
|
138678
|
+
navigation = softNavigationsById.get(event.args.context.performanceTimelineNavigationId);
|
|
138679
|
+
if (!navigation) {
|
|
138680
|
+
return null;
|
|
138681
|
+
}
|
|
138682
|
+
}
|
|
137553
138683
|
else {
|
|
137554
138684
|
const navigationId = event.args.data?.navigationId;
|
|
137555
138685
|
if (!navigationId) {
|
|
@@ -137667,7 +138797,7 @@ async function finalize$u() {
|
|
|
137667
138797
|
const allFinalLCPEvents = gatherFinalLCPEvents();
|
|
137668
138798
|
const mainFrame = data$p().mainFrameId;
|
|
137669
138799
|
const allEventsButLCP = pageLoadEventsArray.filter(event => !isAnyLargestContentfulPaintCandidate(event));
|
|
137670
|
-
const markerEvents = [...
|
|
138800
|
+
const markerEvents = [...allEventsButLCP, ...allFinalLCPEvents].filter(isMarkerEvent);
|
|
137671
138801
|
allMarkerEvents =
|
|
137672
138802
|
markerEvents.filter(event => getFrameIdForPageLoadEvent(event) === mainFrame).sort((a, b) => a.ts - b.ts);
|
|
137673
138803
|
}
|
|
@@ -148184,10 +149314,12 @@ const UIStrings$r = {
|
|
|
148184
149314
|
wasmModuleCacheHit: 'Wasm module cache hit',
|
|
148185
149315
|
wasmModuleCacheInvalid: 'Wasm module cache invalid',
|
|
148186
149316
|
frameStartedLoading: 'Frame started loading',
|
|
149317
|
+
softNavigationStart: 'Soft navigation start',
|
|
148187
149318
|
onloadEvent: 'Onload event',
|
|
148188
149319
|
domcontentloadedEvent: 'DOMContentLoaded event',
|
|
148189
149320
|
firstPaint: 'First Paint',
|
|
148190
149321
|
firstContentfulPaint: 'First Contentful Paint',
|
|
149322
|
+
softFirstContentfulPaint: 'Soft First Contentful Paint',
|
|
148191
149323
|
largestContentfulPaint: 'Largest Contentful Paint',
|
|
148192
149324
|
softLargestContentfulPaint: 'Soft Largest Contentful Paint',
|
|
148193
149325
|
timestamp: 'Timestamp',
|
|
@@ -148386,8 +149518,10 @@ function maybeInitSylesMap() {
|
|
|
148386
149518
|
["FrameStartedLoading" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.frameStartedLoading), defaultCategoryStyles.loading, true),
|
|
148387
149519
|
["MarkLoad" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.onloadEvent), defaultCategoryStyles.scripting, true),
|
|
148388
149520
|
["MarkDOMContent" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.domcontentloadedEvent), defaultCategoryStyles.scripting, true),
|
|
149521
|
+
["SoftNavigationStart" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.softNavigationStart), defaultCategoryStyles.loading, true),
|
|
148389
149522
|
["firstPaint" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.firstPaint), defaultCategoryStyles.painting, true),
|
|
148390
149523
|
["firstContentfulPaint" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.firstContentfulPaint), defaultCategoryStyles.rendering, true),
|
|
149524
|
+
["SyntheticSoftFirstContentfulPaint" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.softFirstContentfulPaint), defaultCategoryStyles.rendering, true),
|
|
148391
149525
|
["largestContentfulPaint::Candidate" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.largestContentfulPaint), defaultCategoryStyles.rendering, true),
|
|
148392
149526
|
["largestContentfulPaint::CandidateForSoftNavigation" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.softLargestContentfulPaint), defaultCategoryStyles.rendering, true),
|
|
148393
149527
|
["TimeStamp" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.timestamp), defaultCategoryStyles.scripting),
|
|
@@ -148493,9 +149627,11 @@ function setTimelineMainEventCategories(categories) {
|
|
|
148493
149627
|
function markerDetailsForEvent(event) {
|
|
148494
149628
|
let title = '';
|
|
148495
149629
|
let color = 'var(--color-text-primary)';
|
|
148496
|
-
if (
|
|
149630
|
+
if (isAnyFirstContentfulPaint(event)) {
|
|
148497
149631
|
color = 'var(--sys-color-green-bright)';
|
|
148498
|
-
title =
|
|
149632
|
+
title = (isSoftFirstContentfulPaint(event)) ?
|
|
149633
|
+
"FCP*" :
|
|
149634
|
+
"FCP" ;
|
|
148499
149635
|
}
|
|
148500
149636
|
if (isAnyLargestContentfulPaintCandidate(event)) {
|
|
148501
149637
|
color = 'var(--sys-color-green)';
|
|
@@ -148751,6 +149887,66 @@ var Show;
|
|
|
148751
149887
|
},
|
|
148752
149888
|
{
|
|
148753
149889
|
'order': 15,
|
|
149890
|
+
'show-by-default': false,
|
|
149891
|
+
'title': 'iPhone 14',
|
|
149892
|
+
'screen': {
|
|
149893
|
+
'horizontal': {
|
|
149894
|
+
'width': 844,
|
|
149895
|
+
'height': 390,
|
|
149896
|
+
},
|
|
149897
|
+
'device-pixel-ratio': 3,
|
|
149898
|
+
'vertical': {
|
|
149899
|
+
'width': 390,
|
|
149900
|
+
'height': 844,
|
|
149901
|
+
},
|
|
149902
|
+
},
|
|
149903
|
+
'capabilities': ['touch', 'mobile'],
|
|
149904
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
149905
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
149906
|
+
'type': 'phone',
|
|
149907
|
+
},
|
|
149908
|
+
{
|
|
149909
|
+
'order': 16,
|
|
149910
|
+
'show-by-default': false,
|
|
149911
|
+
'title': 'iPhone 14 Plus',
|
|
149912
|
+
'screen': {
|
|
149913
|
+
'horizontal': {
|
|
149914
|
+
'width': 926,
|
|
149915
|
+
'height': 428,
|
|
149916
|
+
},
|
|
149917
|
+
'device-pixel-ratio': 3,
|
|
149918
|
+
'vertical': {
|
|
149919
|
+
'width': 428,
|
|
149920
|
+
'height': 926,
|
|
149921
|
+
},
|
|
149922
|
+
},
|
|
149923
|
+
'capabilities': ['touch', 'mobile'],
|
|
149924
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
149925
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
149926
|
+
'type': 'phone',
|
|
149927
|
+
},
|
|
149928
|
+
{
|
|
149929
|
+
'order': 17,
|
|
149930
|
+
'show-by-default': false,
|
|
149931
|
+
'title': 'iPhone 14 Pro',
|
|
149932
|
+
'screen': {
|
|
149933
|
+
'horizontal': {
|
|
149934
|
+
'width': 852,
|
|
149935
|
+
'height': 393,
|
|
149936
|
+
},
|
|
149937
|
+
'device-pixel-ratio': 3,
|
|
149938
|
+
'vertical': {
|
|
149939
|
+
'width': 393,
|
|
149940
|
+
'height': 852,
|
|
149941
|
+
},
|
|
149942
|
+
},
|
|
149943
|
+
'capabilities': ['touch', 'mobile'],
|
|
149944
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
149945
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
149946
|
+
'type': 'phone',
|
|
149947
|
+
},
|
|
149948
|
+
{
|
|
149949
|
+
'order': 18,
|
|
148754
149950
|
'show-by-default': true,
|
|
148755
149951
|
'title': 'iPhone 14 Pro Max',
|
|
148756
149952
|
'screen': {
|
|
@@ -148770,7 +149966,187 @@ var Show;
|
|
|
148770
149966
|
'type': 'phone',
|
|
148771
149967
|
},
|
|
148772
149968
|
{
|
|
148773
|
-
'order':
|
|
149969
|
+
'order': 19,
|
|
149970
|
+
'show-by-default': false,
|
|
149971
|
+
'title': 'iPhone 15',
|
|
149972
|
+
'screen': {
|
|
149973
|
+
'horizontal': {
|
|
149974
|
+
'width': 852,
|
|
149975
|
+
'height': 393,
|
|
149976
|
+
},
|
|
149977
|
+
'device-pixel-ratio': 3,
|
|
149978
|
+
'vertical': {
|
|
149979
|
+
'width': 393,
|
|
149980
|
+
'height': 852,
|
|
149981
|
+
},
|
|
149982
|
+
},
|
|
149983
|
+
'capabilities': ['touch', 'mobile'],
|
|
149984
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
149985
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
149986
|
+
'type': 'phone',
|
|
149987
|
+
},
|
|
149988
|
+
{
|
|
149989
|
+
'order': 20,
|
|
149990
|
+
'show-by-default': false,
|
|
149991
|
+
'title': 'iPhone 15 Plus',
|
|
149992
|
+
'screen': {
|
|
149993
|
+
'horizontal': {
|
|
149994
|
+
'width': 932,
|
|
149995
|
+
'height': 430,
|
|
149996
|
+
},
|
|
149997
|
+
'device-pixel-ratio': 3,
|
|
149998
|
+
'vertical': {
|
|
149999
|
+
'width': 430,
|
|
150000
|
+
'height': 932,
|
|
150001
|
+
},
|
|
150002
|
+
},
|
|
150003
|
+
'capabilities': ['touch', 'mobile'],
|
|
150004
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
150005
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
150006
|
+
'type': 'phone',
|
|
150007
|
+
},
|
|
150008
|
+
{
|
|
150009
|
+
'order': 21,
|
|
150010
|
+
'show-by-default': false,
|
|
150011
|
+
'title': 'iPhone 15 Pro',
|
|
150012
|
+
'screen': {
|
|
150013
|
+
'horizontal': {
|
|
150014
|
+
'width': 852,
|
|
150015
|
+
'height': 393,
|
|
150016
|
+
},
|
|
150017
|
+
'device-pixel-ratio': 3,
|
|
150018
|
+
'vertical': {
|
|
150019
|
+
'width': 393,
|
|
150020
|
+
'height': 852,
|
|
150021
|
+
},
|
|
150022
|
+
},
|
|
150023
|
+
'capabilities': ['touch', 'mobile'],
|
|
150024
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
150025
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
150026
|
+
'type': 'phone',
|
|
150027
|
+
},
|
|
150028
|
+
{
|
|
150029
|
+
'order': 22,
|
|
150030
|
+
'show-by-default': true,
|
|
150031
|
+
'title': 'iPhone 15 Pro Max',
|
|
150032
|
+
'screen': {
|
|
150033
|
+
'horizontal': {
|
|
150034
|
+
'width': 932,
|
|
150035
|
+
'height': 430,
|
|
150036
|
+
},
|
|
150037
|
+
'device-pixel-ratio': 3,
|
|
150038
|
+
'vertical': {
|
|
150039
|
+
'width': 430,
|
|
150040
|
+
'height': 932,
|
|
150041
|
+
},
|
|
150042
|
+
},
|
|
150043
|
+
'capabilities': ['touch', 'mobile'],
|
|
150044
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
150045
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
150046
|
+
'type': 'phone',
|
|
150047
|
+
},
|
|
150048
|
+
{
|
|
150049
|
+
'order': 23,
|
|
150050
|
+
'show-by-default': false,
|
|
150051
|
+
'title': 'iPhone 16e',
|
|
150052
|
+
'screen': {
|
|
150053
|
+
'horizontal': {
|
|
150054
|
+
'width': 844,
|
|
150055
|
+
'height': 390,
|
|
150056
|
+
},
|
|
150057
|
+
'device-pixel-ratio': 3,
|
|
150058
|
+
'vertical': {
|
|
150059
|
+
'width': 390,
|
|
150060
|
+
'height': 844,
|
|
150061
|
+
},
|
|
150062
|
+
},
|
|
150063
|
+
'capabilities': ['touch', 'mobile'],
|
|
150064
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
150065
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
150066
|
+
'type': 'phone',
|
|
150067
|
+
},
|
|
150068
|
+
{
|
|
150069
|
+
'order': 24,
|
|
150070
|
+
'show-by-default': false,
|
|
150071
|
+
'title': 'iPhone 16',
|
|
150072
|
+
'screen': {
|
|
150073
|
+
'horizontal': {
|
|
150074
|
+
'width': 852,
|
|
150075
|
+
'height': 393,
|
|
150076
|
+
},
|
|
150077
|
+
'device-pixel-ratio': 3,
|
|
150078
|
+
'vertical': {
|
|
150079
|
+
'width': 393,
|
|
150080
|
+
'height': 852,
|
|
150081
|
+
},
|
|
150082
|
+
},
|
|
150083
|
+
'capabilities': ['touch', 'mobile'],
|
|
150084
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
150085
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
150086
|
+
'type': 'phone',
|
|
150087
|
+
},
|
|
150088
|
+
{
|
|
150089
|
+
'order': 25,
|
|
150090
|
+
'show-by-default': false,
|
|
150091
|
+
'title': 'iPhone 16 Plus',
|
|
150092
|
+
'screen': {
|
|
150093
|
+
'horizontal': {
|
|
150094
|
+
'width': 932,
|
|
150095
|
+
'height': 430,
|
|
150096
|
+
},
|
|
150097
|
+
'device-pixel-ratio': 3,
|
|
150098
|
+
'vertical': {
|
|
150099
|
+
'width': 430,
|
|
150100
|
+
'height': 932,
|
|
150101
|
+
},
|
|
150102
|
+
},
|
|
150103
|
+
'capabilities': ['touch', 'mobile'],
|
|
150104
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
150105
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
150106
|
+
'type': 'phone',
|
|
150107
|
+
},
|
|
150108
|
+
{
|
|
150109
|
+
'order': 26,
|
|
150110
|
+
'show-by-default': false,
|
|
150111
|
+
'title': 'iPhone 16 Pro',
|
|
150112
|
+
'screen': {
|
|
150113
|
+
'horizontal': {
|
|
150114
|
+
'width': 874,
|
|
150115
|
+
'height': 402,
|
|
150116
|
+
},
|
|
150117
|
+
'device-pixel-ratio': 3,
|
|
150118
|
+
'vertical': {
|
|
150119
|
+
'width': 402,
|
|
150120
|
+
'height': 874,
|
|
150121
|
+
},
|
|
150122
|
+
},
|
|
150123
|
+
'capabilities': ['touch', 'mobile'],
|
|
150124
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
150125
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
150126
|
+
'type': 'phone',
|
|
150127
|
+
},
|
|
150128
|
+
{
|
|
150129
|
+
'order': 27,
|
|
150130
|
+
'show-by-default': true,
|
|
150131
|
+
'title': 'iPhone 16 Pro Max',
|
|
150132
|
+
'screen': {
|
|
150133
|
+
'horizontal': {
|
|
150134
|
+
'width': 956,
|
|
150135
|
+
'height': 440,
|
|
150136
|
+
},
|
|
150137
|
+
'device-pixel-ratio': 3,
|
|
150138
|
+
'vertical': {
|
|
150139
|
+
'width': 440,
|
|
150140
|
+
'height': 956,
|
|
150141
|
+
},
|
|
150142
|
+
},
|
|
150143
|
+
'capabilities': ['touch', 'mobile'],
|
|
150144
|
+
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1',
|
|
150145
|
+
'user-agent-metadata': { 'platform': 'iOS', 'platformVersion': '18.5', 'architecture': '', 'model': 'iPhone', 'mobile': true },
|
|
150146
|
+
'type': 'phone',
|
|
150147
|
+
},
|
|
150148
|
+
{
|
|
150149
|
+
'order': 28,
|
|
148774
150150
|
'show-by-default': false,
|
|
148775
150151
|
'title': 'Pixel 3 XL',
|
|
148776
150152
|
'screen': {
|
|
@@ -148790,7 +150166,7 @@ var Show;
|
|
|
148790
150166
|
'type': 'phone',
|
|
148791
150167
|
},
|
|
148792
150168
|
{
|
|
148793
|
-
'order':
|
|
150169
|
+
'order': 30,
|
|
148794
150170
|
'show-by-default': true,
|
|
148795
150171
|
'title': 'Pixel 7',
|
|
148796
150172
|
'screen': {
|
|
@@ -148810,7 +150186,147 @@ var Show;
|
|
|
148810
150186
|
'type': 'phone',
|
|
148811
150187
|
},
|
|
148812
150188
|
{
|
|
148813
|
-
'order':
|
|
150189
|
+
'order': 31,
|
|
150190
|
+
'show-by-default': true,
|
|
150191
|
+
'title': 'Pixel 8',
|
|
150192
|
+
'screen': {
|
|
150193
|
+
'horizontal': {
|
|
150194
|
+
'width': 915,
|
|
150195
|
+
'height': 412,
|
|
150196
|
+
},
|
|
150197
|
+
'device-pixel-ratio': 2.625,
|
|
150198
|
+
'vertical': {
|
|
150199
|
+
'width': 412,
|
|
150200
|
+
'height': 915,
|
|
150201
|
+
},
|
|
150202
|
+
},
|
|
150203
|
+
'capabilities': ['touch', 'mobile'],
|
|
150204
|
+
'user-agent': 'Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
150205
|
+
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '14', 'architecture': '', 'model': 'Pixel 8', 'mobile': true },
|
|
150206
|
+
'type': 'phone',
|
|
150207
|
+
},
|
|
150208
|
+
{
|
|
150209
|
+
'order': 32,
|
|
150210
|
+
'show-by-default': false,
|
|
150211
|
+
'title': 'Pixel 8 Pro',
|
|
150212
|
+
'screen': {
|
|
150213
|
+
'horizontal': {
|
|
150214
|
+
'width': 997,
|
|
150215
|
+
'height': 448,
|
|
150216
|
+
},
|
|
150217
|
+
'device-pixel-ratio': 3,
|
|
150218
|
+
'vertical': {
|
|
150219
|
+
'width': 448,
|
|
150220
|
+
'height': 997,
|
|
150221
|
+
},
|
|
150222
|
+
},
|
|
150223
|
+
'capabilities': ['touch', 'mobile'],
|
|
150224
|
+
'user-agent': 'Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
150225
|
+
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '14', 'architecture': '', 'model': 'Pixel 8 Pro', 'mobile': true },
|
|
150226
|
+
'type': 'phone',
|
|
150227
|
+
},
|
|
150228
|
+
{
|
|
150229
|
+
'order': 33,
|
|
150230
|
+
'show-by-default': false,
|
|
150231
|
+
'title': 'Pixel 8a',
|
|
150232
|
+
'screen': {
|
|
150233
|
+
'horizontal': {
|
|
150234
|
+
'width': 915,
|
|
150235
|
+
'height': 412,
|
|
150236
|
+
},
|
|
150237
|
+
'device-pixel-ratio': 2.625,
|
|
150238
|
+
'vertical': {
|
|
150239
|
+
'width': 412,
|
|
150240
|
+
'height': 915,
|
|
150241
|
+
},
|
|
150242
|
+
},
|
|
150243
|
+
'capabilities': ['touch', 'mobile'],
|
|
150244
|
+
'user-agent': 'Mozilla/5.0 (Linux; Android 14; Pixel 8a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
150245
|
+
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '14', 'architecture': '', 'model': 'Pixel 8a', 'mobile': true },
|
|
150246
|
+
'type': 'phone',
|
|
150247
|
+
},
|
|
150248
|
+
{
|
|
150249
|
+
'order': 34,
|
|
150250
|
+
'show-by-default': true,
|
|
150251
|
+
'title': 'Pixel 9',
|
|
150252
|
+
'screen': {
|
|
150253
|
+
'horizontal': {
|
|
150254
|
+
'width': 924,
|
|
150255
|
+
'height': 412,
|
|
150256
|
+
},
|
|
150257
|
+
'device-pixel-ratio': 2.625,
|
|
150258
|
+
'vertical': {
|
|
150259
|
+
'width': 412,
|
|
150260
|
+
'height': 924,
|
|
150261
|
+
},
|
|
150262
|
+
},
|
|
150263
|
+
'capabilities': ['touch', 'mobile'],
|
|
150264
|
+
'user-agent': 'Mozilla/5.0 (Linux; Android 14; Pixel 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
150265
|
+
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '14', 'architecture': '', 'model': 'Pixel 9', 'mobile': true },
|
|
150266
|
+
'type': 'phone',
|
|
150267
|
+
},
|
|
150268
|
+
{
|
|
150269
|
+
'order': 35,
|
|
150270
|
+
'show-by-default': false,
|
|
150271
|
+
'title': 'Pixel 9 Pro',
|
|
150272
|
+
'screen': {
|
|
150273
|
+
'horizontal': {
|
|
150274
|
+
'width': 952,
|
|
150275
|
+
'height': 427,
|
|
150276
|
+
},
|
|
150277
|
+
'device-pixel-ratio': 3,
|
|
150278
|
+
'vertical': {
|
|
150279
|
+
'width': 427,
|
|
150280
|
+
'height': 952,
|
|
150281
|
+
},
|
|
150282
|
+
},
|
|
150283
|
+
'capabilities': ['touch', 'mobile'],
|
|
150284
|
+
'user-agent': 'Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
150285
|
+
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '14', 'architecture': '', 'model': 'Pixel 9 Pro', 'mobile': true },
|
|
150286
|
+
'type': 'phone',
|
|
150287
|
+
},
|
|
150288
|
+
{
|
|
150289
|
+
'order': 36,
|
|
150290
|
+
'show-by-default': false,
|
|
150291
|
+
'title': 'Pixel 9 Pro XL',
|
|
150292
|
+
'screen': {
|
|
150293
|
+
'horizontal': {
|
|
150294
|
+
'width': 997,
|
|
150295
|
+
'height': 448,
|
|
150296
|
+
},
|
|
150297
|
+
'device-pixel-ratio': 3,
|
|
150298
|
+
'vertical': {
|
|
150299
|
+
'width': 448,
|
|
150300
|
+
'height': 997,
|
|
150301
|
+
},
|
|
150302
|
+
},
|
|
150303
|
+
'capabilities': ['touch', 'mobile'],
|
|
150304
|
+
'user-agent': 'Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
150305
|
+
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '14', 'architecture': '', 'model': 'Pixel 9 Pro XL', 'mobile': true },
|
|
150306
|
+
'type': 'phone',
|
|
150307
|
+
},
|
|
150308
|
+
{
|
|
150309
|
+
'order': 37,
|
|
150310
|
+
'show-by-default': true,
|
|
150311
|
+
'title': 'Pixel 10',
|
|
150312
|
+
'screen': {
|
|
150313
|
+
'horizontal': {
|
|
150314
|
+
'width': 924,
|
|
150315
|
+
'height': 412,
|
|
150316
|
+
},
|
|
150317
|
+
'device-pixel-ratio': 2.625,
|
|
150318
|
+
'vertical': {
|
|
150319
|
+
'width': 412,
|
|
150320
|
+
'height': 924,
|
|
150321
|
+
},
|
|
150322
|
+
},
|
|
150323
|
+
'capabilities': ['touch', 'mobile'],
|
|
150324
|
+
'user-agent': 'Mozilla/5.0 (Linux; Android 16; Pixel 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
150325
|
+
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '16', 'architecture': '', 'model': 'Pixel 10', 'mobile': true },
|
|
150326
|
+
'type': 'phone',
|
|
150327
|
+
},
|
|
150328
|
+
{
|
|
150329
|
+
'order': 38,
|
|
148814
150330
|
'show-by-default': true,
|
|
148815
150331
|
'title': 'Samsung Galaxy S8+',
|
|
148816
150332
|
'screen': {
|
|
@@ -148830,7 +150346,7 @@ var Show;
|
|
|
148830
150346
|
'type': 'phone',
|
|
148831
150347
|
},
|
|
148832
150348
|
{
|
|
148833
|
-
'order':
|
|
150349
|
+
'order': 39,
|
|
148834
150350
|
'show-by-default': true,
|
|
148835
150351
|
'title': 'Samsung Galaxy S20 Ultra',
|
|
148836
150352
|
'screen': {
|
|
@@ -148850,7 +150366,7 @@ var Show;
|
|
|
148850
150366
|
'type': 'phone',
|
|
148851
150367
|
},
|
|
148852
150368
|
{
|
|
148853
|
-
'order':
|
|
150369
|
+
'order': 40,
|
|
148854
150370
|
'show-by-default': true,
|
|
148855
150371
|
'title': 'iPad Mini',
|
|
148856
150372
|
'screen': {
|
|
@@ -148870,7 +150386,7 @@ var Show;
|
|
|
148870
150386
|
'type': 'tablet',
|
|
148871
150387
|
},
|
|
148872
150388
|
{
|
|
148873
|
-
'order':
|
|
150389
|
+
'order': 41,
|
|
148874
150390
|
'show-by-default': true,
|
|
148875
150391
|
'title': 'iPad Air',
|
|
148876
150392
|
'screen': {
|
|
@@ -148890,7 +150406,7 @@ var Show;
|
|
|
148890
150406
|
'type': 'tablet',
|
|
148891
150407
|
},
|
|
148892
150408
|
{
|
|
148893
|
-
'order':
|
|
150409
|
+
'order': 42,
|
|
148894
150410
|
'show-by-default': true,
|
|
148895
150411
|
'title': 'iPad Pro',
|
|
148896
150412
|
'screen': {
|
|
@@ -148910,7 +150426,7 @@ var Show;
|
|
|
148910
150426
|
'type': 'tablet',
|
|
148911
150427
|
},
|
|
148912
150428
|
{
|
|
148913
|
-
'order':
|
|
150429
|
+
'order': 43,
|
|
148914
150430
|
'show-by-default': true,
|
|
148915
150431
|
'title': 'Surface Pro 7',
|
|
148916
150432
|
'screen': {
|
|
@@ -148929,7 +150445,7 @@ var Show;
|
|
|
148929
150445
|
'type': 'tablet',
|
|
148930
150446
|
},
|
|
148931
150447
|
{
|
|
148932
|
-
'order':
|
|
150448
|
+
'order': 44,
|
|
148933
150449
|
'show-by-default': true,
|
|
148934
150450
|
'dual-screen': true,
|
|
148935
150451
|
'title': 'Surface Duo',
|
|
@@ -148964,7 +150480,7 @@ var Show;
|
|
|
148964
150480
|
],
|
|
148965
150481
|
},
|
|
148966
150482
|
{
|
|
148967
|
-
'order':
|
|
150483
|
+
'order': 46,
|
|
148968
150484
|
'show-by-default': true,
|
|
148969
150485
|
'foldable-screen': true,
|
|
148970
150486
|
'title': 'Galaxy Z Fold 5',
|
|
@@ -149013,7 +150529,7 @@ var Show;
|
|
|
149013
150529
|
],
|
|
149014
150530
|
},
|
|
149015
150531
|
{
|
|
149016
|
-
'order':
|
|
150532
|
+
'order': 47,
|
|
149017
150533
|
'show-by-default': true,
|
|
149018
150534
|
'foldable-screen': true,
|
|
149019
150535
|
'title': 'Asus Zenbook Fold',
|
|
@@ -149066,7 +150582,7 @@ var Show;
|
|
|
149066
150582
|
],
|
|
149067
150583
|
},
|
|
149068
150584
|
{
|
|
149069
|
-
'order':
|
|
150585
|
+
'order': 48,
|
|
149070
150586
|
'show-by-default': true,
|
|
149071
150587
|
'title': 'Samsung Galaxy A51/71',
|
|
149072
150588
|
'screen': {
|
|
@@ -153261,10 +154777,14 @@ class Diff {
|
|
|
153261
154777
|
removedCount = 0;
|
|
153262
154778
|
addedSize = 0;
|
|
153263
154779
|
removedSize = 0;
|
|
153264
|
-
deletedIndexes = [];
|
|
153265
|
-
addedIndexes = [];
|
|
153266
154780
|
countDelta;
|
|
153267
154781
|
sizeDelta;
|
|
154782
|
+
addedIndexes = [];
|
|
154783
|
+
addedIds = [];
|
|
154784
|
+
addedSelfSizes = [];
|
|
154785
|
+
deletedIndexes = [];
|
|
154786
|
+
deletedIds = [];
|
|
154787
|
+
deletedSelfSizes = [];
|
|
153268
154788
|
constructor(name) {
|
|
153269
154789
|
this.name = name;
|
|
153270
154790
|
}
|
|
@@ -153584,6 +155104,9 @@ class HeapSnapshotProxy extends HeapSnapshotProxyObject {
|
|
|
153584
155104
|
nodeClassKey(snapshotObjectId) {
|
|
153585
155105
|
return this.callMethodPromise('nodeClassKey', snapshotObjectId);
|
|
153586
155106
|
}
|
|
155107
|
+
nodeIndexForId(nodeId) {
|
|
155108
|
+
return this.callMethodPromise('nodeIndexForId', nodeId);
|
|
155109
|
+
}
|
|
153587
155110
|
createEdgesProvider(nodeIndex) {
|
|
153588
155111
|
return this.callFactoryMethod('createEdgesProvider', HeapSnapshotProviderProxy, nodeIndex);
|
|
153589
155112
|
}
|
|
@@ -153644,6 +155167,9 @@ class HeapSnapshotProxy extends HeapSnapshotProxyObject {
|
|
|
153644
155167
|
getRetainingPaths(nodeIndex, maxDepth, maxNodes, maxSiblings) {
|
|
153645
155168
|
return this.callMethodPromise('getRetainingPaths', nodeIndex, maxDepth, maxNodes, maxSiblings);
|
|
153646
155169
|
}
|
|
155170
|
+
getDominatorsOf(nodeIndex) {
|
|
155171
|
+
return this.callMethodPromise('getDominatorsOf', nodeIndex);
|
|
155172
|
+
}
|
|
153647
155173
|
unignoreNodeInRetainersView(nodeIndex) {
|
|
153648
155174
|
return this.callMethodPromise('unignoreNodeInRetainersView', nodeIndex);
|
|
153649
155175
|
}
|
|
@@ -155856,6 +157382,7 @@ const UIStrings$h = {
|
|
|
155856
157382
|
CSSSelectorInternalMediaControlsOverlayCastButton: "The `disableRemotePlayback` attribute should be used in order to disable the default Cast integration instead of using `-internal-media-controls-overlay-cast-button` selector.",
|
|
155857
157383
|
CSSValueAppearanceSliderVertical: "CSS appearance value `slider-vertical` is not standardized and will be removed.",
|
|
155858
157384
|
DataUrlInSvgUse: "Support for data: URLs in SVGUseElement is deprecated and it will be removed in the future.",
|
|
157385
|
+
DigitalCredentialsUnknownProtocol: "An unknown Digital Credentials protocol was requested in navigator.credentials.get() or create(). In a future release, unrecognized protocols will be blocked.",
|
|
155859
157386
|
DocumentCreateEventKeyboardEvents: "document.createEvent('KeyboardEvents') is deprecated and will be removed. Use `new KeyboardEvent()` instead.",
|
|
155860
157387
|
DocumentCreateEventTransitionEvent: "document.createEvent('TransitionEvent') is deprecated and will be removed. Use `new TransitionEvent()` instead.",
|
|
155861
157388
|
ExampleBrowserProcessDeprecation: "This is an example for showing the code required for a browser process reported deprecation.",
|
|
@@ -155911,6 +157438,8 @@ const UIStrings$h = {
|
|
|
155911
157438
|
UnloadHandler: "Unload event listeners are deprecated and will be removed.",
|
|
155912
157439
|
V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.",
|
|
155913
157440
|
WebBluetoothRemoteCharacteristicWriteValue: "`BluetoothRemoteGATTCharacteristic.writeValue()` is deprecated. Use `writeValueWithResponse()` or `writeValueWithoutResponse()` instead.",
|
|
157441
|
+
WebTransportDatagramDuplexStreamIncomingHighWaterMark: "WebTransportDatagramDuplexStream.incomingHighWaterMark has been renamed to incomingMaxBufferedDatagrams. incomingHighWaterMark will be removed in a future version of Chrome.",
|
|
157442
|
+
WebTransportDatagramDuplexStreamOutgoingHighWaterMark: "WebTransportDatagramDuplexStream.outgoingHighWaterMark has been renamed to outgoingMaxBufferedDatagrams. outgoingHighWaterMark will be removed in a future version of Chrome.",
|
|
155914
157443
|
XHRJSONEncodingDetection: "UTF-16 is not supported by response json in `XMLHttpRequest`",
|
|
155915
157444
|
XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.",
|
|
155916
157445
|
XSLT: "XSLTProcessor and XSLT Processing Instructions have been deprecated by all browsers. These features will be removed from this browser soon.",
|
|
@@ -155947,6 +157476,10 @@ const DEPRECATIONS_METADATA = {
|
|
|
155947
157476
|
"chromeStatusFeature": 5128825141198848,
|
|
155948
157477
|
"milestone": 119
|
|
155949
157478
|
},
|
|
157479
|
+
"DigitalCredentialsUnknownProtocol": {
|
|
157480
|
+
"chromeStatusFeature": 6492906882990080,
|
|
157481
|
+
"milestone": 160
|
|
157482
|
+
},
|
|
155950
157483
|
"DocumentCreateEventKeyboardEvents": {
|
|
155951
157484
|
"chromeStatusFeature": 5095987863486464,
|
|
155952
157485
|
"milestone": 151
|
|
@@ -156061,6 +157594,14 @@ const DEPRECATIONS_METADATA = {
|
|
|
156061
157594
|
"WebBluetoothRemoteCharacteristicWriteValue": {
|
|
156062
157595
|
"chromeStatusFeature": 5088568590598144
|
|
156063
157596
|
},
|
|
157597
|
+
"WebTransportDatagramDuplexStreamIncomingHighWaterMark": {
|
|
157598
|
+
"chromeStatusFeature": 5143839699501056,
|
|
157599
|
+
"milestone": 156
|
|
157600
|
+
},
|
|
157601
|
+
"WebTransportDatagramDuplexStreamOutgoingHighWaterMark": {
|
|
157602
|
+
"chromeStatusFeature": 5143839699501056,
|
|
157603
|
+
"milestone": 156
|
|
157604
|
+
},
|
|
156064
157605
|
"XHRJSONEncodingDetection": {
|
|
156065
157606
|
"milestone": 93
|
|
156066
157607
|
},
|
|
@@ -159048,6 +160589,9 @@ const issueCodeHandlers = new Map([
|
|
|
159048
160589
|
SelectivePermissionsInterventionIssue.fromInspectorIssue,
|
|
159049
160590
|
],
|
|
159050
160591
|
]);
|
|
160592
|
+
function isIssueCodeSupported(code) {
|
|
160593
|
+
return issueCodeHandlers.has(code);
|
|
160594
|
+
}
|
|
159051
160595
|
function createIssuesFromProtocolIssue(issuesModel, inspectorIssue) {
|
|
159052
160596
|
const handler = issueCodeHandlers.get(inspectorIssue.code);
|
|
159053
160597
|
if (handler) {
|
|
@@ -159321,7 +160865,8 @@ var mcp = /*#__PURE__*/Object.freeze({
|
|
|
159321
160865
|
Target: Target,
|
|
159322
160866
|
TargetManager: TargetManager,
|
|
159323
160867
|
TraceEngine: trace,
|
|
159324
|
-
createIssuesFromProtocolIssue: createIssuesFromProtocolIssue
|
|
160868
|
+
createIssuesFromProtocolIssue: createIssuesFromProtocolIssue,
|
|
160869
|
+
isIssueCodeSupported: isIssueCodeSupported
|
|
159325
160870
|
});
|
|
159326
160871
|
|
|
159327
160872
|
/**
|