chrome-devtools-mcp 1.3.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 +37 -2
- package/build/src/bin/check-latest-version.js +1 -0
- package/build/src/bin/chrome-devtools-mcp-cli-options.js +2 -2
- package/build/src/formatters/NetworkFormatter.js +3 -1
- package/build/src/third_party/THIRD_PARTY_NOTICES +3 -3
- package/build/src/third_party/bundled-packages.json +3 -3
- package/build/src/third_party/devtools-heap-snapshot-worker.js +13 -0
- package/build/src/third_party/index.js +1522 -230
- 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';
|
|
@@ -11512,6 +11513,10 @@ function requireRange () {
|
|
|
11512
11513
|
return comp
|
|
11513
11514
|
};
|
|
11514
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
|
+
);
|
|
11515
11520
|
const replaceTildes = (comp, options) => {
|
|
11516
11521
|
return comp
|
|
11517
11522
|
.trim()
|
|
@@ -11521,15 +11526,16 @@ function requireRange () {
|
|
|
11521
11526
|
};
|
|
11522
11527
|
const replaceTilde = (comp, options) => {
|
|
11523
11528
|
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
11529
|
+
const z = options.includePrerelease ? '-0' : '';
|
|
11524
11530
|
return comp.replace(r, (_, M, m, p, pr) => {
|
|
11525
11531
|
debug('tilde', comp, _, M, m, p, pr);
|
|
11526
11532
|
let ret;
|
|
11527
11533
|
if (isX(M)) {
|
|
11528
11534
|
ret = '';
|
|
11529
11535
|
} else if (isX(m)) {
|
|
11530
|
-
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
|
|
11536
|
+
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
|
|
11531
11537
|
} else if (isX(p)) {
|
|
11532
|
-
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
|
|
11538
|
+
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
|
|
11533
11539
|
} else if (pr) {
|
|
11534
11540
|
debug('replaceTilde pr', pr);
|
|
11535
11541
|
ret = `>=${M}.${m}.${p}-${pr
|
|
@@ -11611,6 +11617,9 @@ function requireRange () {
|
|
|
11611
11617
|
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
11612
11618
|
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
|
11613
11619
|
debug('xRange', comp, ret, gtlt, M, m, p, pr);
|
|
11620
|
+
if (invalidXRangeOrder(M, m, p)) {
|
|
11621
|
+
return comp
|
|
11622
|
+
}
|
|
11614
11623
|
const xM = isX(M);
|
|
11615
11624
|
const xm = xM || isX(m);
|
|
11616
11625
|
const xp = xm || isX(p);
|
|
@@ -48133,6 +48142,37 @@ function requireAjv () {
|
|
|
48133
48142
|
var ajvExports = requireAjv();
|
|
48134
48143
|
var ajv = /*@__PURE__*/getDefaultExportFromCjs(ajvExports);
|
|
48135
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
|
+
|
|
48136
48176
|
/**
|
|
48137
48177
|
Apache License
|
|
48138
48178
|
Version 2.0, January 2004
|
|
@@ -50620,23 +50660,6 @@ class SuppressedErrorPolyfill extends Error {
|
|
|
50620
50660
|
}
|
|
50621
50661
|
}
|
|
50622
50662
|
|
|
50623
|
-
/**
|
|
50624
|
-
* @license
|
|
50625
|
-
* Copyright 2020 Google Inc.
|
|
50626
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
50627
|
-
*/
|
|
50628
|
-
const isNode = !!(typeof process !== 'undefined' && process.version);
|
|
50629
|
-
const environment = {
|
|
50630
|
-
value: {
|
|
50631
|
-
get fs() {
|
|
50632
|
-
throw new Error('fs is not available in this environment');
|
|
50633
|
-
},
|
|
50634
|
-
get ScreenRecorder() {
|
|
50635
|
-
throw new Error('ScreenRecorder is not available in this environment');
|
|
50636
|
-
},
|
|
50637
|
-
},
|
|
50638
|
-
};
|
|
50639
|
-
|
|
50640
50663
|
/**
|
|
50641
50664
|
* @license
|
|
50642
50665
|
* Copyright 2020 Google Inc.
|
|
@@ -50699,39 +50722,36 @@ function mergeUint8Arrays(items) {
|
|
|
50699
50722
|
* Copyright 2025 Google Inc.
|
|
50700
50723
|
* SPDX-License-Identifier: Apache-2.0
|
|
50701
50724
|
*/
|
|
50702
|
-
const packageVersion = '25.
|
|
50725
|
+
const packageVersion = '25.2.0';
|
|
50703
50726
|
|
|
50704
50727
|
/**
|
|
50705
50728
|
* @license
|
|
50706
50729
|
* Copyright 2020 Google Inc.
|
|
50707
50730
|
* SPDX-License-Identifier: Apache-2.0
|
|
50708
50731
|
*/
|
|
50709
|
-
let debugModule = null;
|
|
50710
|
-
async function importDebug() {
|
|
50711
|
-
if (!debugModule) {
|
|
50712
|
-
debugModule = (await import('node:util')).debuglog;
|
|
50713
|
-
}
|
|
50714
|
-
return debugModule;
|
|
50715
|
-
}
|
|
50716
50732
|
const debug$1 = (prefix) => {
|
|
50717
50733
|
if (isNode) {
|
|
50718
|
-
|
|
50719
|
-
|
|
50734
|
+
const nodeDebug = environment.value.debuglog?.(prefix);
|
|
50735
|
+
if (!nodeDebug || !nodeDebug.enabled) {
|
|
50736
|
+
return;
|
|
50737
|
+
}
|
|
50738
|
+
return (...logArgs) => {
|
|
50739
|
+
nodeDebug(...logArgs);
|
|
50720
50740
|
};
|
|
50721
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
|
+
}
|
|
50722
50754
|
return (...logArgs) => {
|
|
50723
|
-
const debugLevel = globalThis.__PUPPETEER_DEBUG;
|
|
50724
|
-
if (!debugLevel) {
|
|
50725
|
-
return;
|
|
50726
|
-
}
|
|
50727
|
-
const everythingShouldBeLogged = debugLevel === '*';
|
|
50728
|
-
const prefixMatchesDebugLevel = everythingShouldBeLogged ||
|
|
50729
|
-
(debugLevel.endsWith('*')
|
|
50730
|
-
? prefix.startsWith(debugLevel)
|
|
50731
|
-
: prefix === debugLevel);
|
|
50732
|
-
if (!prefixMatchesDebugLevel) {
|
|
50733
|
-
return;
|
|
50734
|
-
}
|
|
50735
50755
|
console.log(`${prefix}:`, ...logArgs);
|
|
50736
50756
|
};
|
|
50737
50757
|
};
|
|
@@ -50835,6 +50855,7 @@ const paperFormats = {
|
|
|
50835
50855
|
* SPDX-License-Identifier: Apache-2.0
|
|
50836
50856
|
*/
|
|
50837
50857
|
const debugError = debug$1('puppeteer:error');
|
|
50858
|
+
const debugCatchError = debugError ?? (() => { });
|
|
50838
50859
|
const DEFAULT_VIEWPORT = Object.freeze({ width: 800, height: 600 });
|
|
50839
50860
|
const SOURCE_URL = Symbol('Source URL for Puppeteer evaluation scripts');
|
|
50840
50861
|
class PuppeteerURL {
|
|
@@ -50947,7 +50968,7 @@ async function getReadableAsTypedArray(readable, path) {
|
|
|
50947
50968
|
return concat;
|
|
50948
50969
|
}
|
|
50949
50970
|
catch (error) {
|
|
50950
|
-
debugError(error);
|
|
50971
|
+
debugError?.(error);
|
|
50951
50972
|
return null;
|
|
50952
50973
|
}
|
|
50953
50974
|
}
|
|
@@ -51162,7 +51183,7 @@ class EventEmitter {
|
|
|
51162
51183
|
return this;
|
|
51163
51184
|
}
|
|
51164
51185
|
[disposeSymbol]() {
|
|
51165
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
51186
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
51166
51187
|
}
|
|
51167
51188
|
async [asyncDisposeSymbol]() {
|
|
51168
51189
|
for (const [type, handlers] of this.#handlers) {
|
|
@@ -51227,7 +51248,7 @@ let Browser$1 = class Browser extends EventEmitter {
|
|
|
51227
51248
|
return await this.defaultBrowserContext().setPermission(origin, ...permissions);
|
|
51228
51249
|
}
|
|
51229
51250
|
[disposeSymbol]() {
|
|
51230
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
51251
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
51231
51252
|
}
|
|
51232
51253
|
async [asyncDisposeSymbol]() {
|
|
51233
51254
|
if (this.process()) {
|
|
@@ -51456,7 +51477,7 @@ class BrowserContext extends EventEmitter {
|
|
|
51456
51477
|
return undefined;
|
|
51457
51478
|
}
|
|
51458
51479
|
[disposeSymbol]() {
|
|
51459
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
51480
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
51460
51481
|
}
|
|
51461
51482
|
async [asyncDisposeSymbol]() {
|
|
51462
51483
|
await this.close();
|
|
@@ -52024,7 +52045,7 @@ class CSSQueryHandler extends QueryHandler {
|
|
|
52024
52045
|
};
|
|
52025
52046
|
}
|
|
52026
52047
|
|
|
52027
|
-
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";
|
|
52028
52049
|
|
|
52029
52050
|
/**
|
|
52030
52051
|
* @license
|
|
@@ -52817,14 +52838,7 @@ let JSHandle = (() => {
|
|
|
52817
52838
|
}
|
|
52818
52839
|
async getProperties() {
|
|
52819
52840
|
const propertyNames = await this.evaluate(object => {
|
|
52820
|
-
|
|
52821
|
-
const descriptors = Object.getOwnPropertyDescriptors(object);
|
|
52822
|
-
for (const propertyName in descriptors) {
|
|
52823
|
-
if (descriptors[propertyName]?.enumerable) {
|
|
52824
|
-
enumerableProperties.push(propertyName);
|
|
52825
|
-
}
|
|
52826
|
-
}
|
|
52827
|
-
return enumerableProperties;
|
|
52841
|
+
return Object.keys(object ?? {});
|
|
52828
52842
|
});
|
|
52829
52843
|
const map = new Map();
|
|
52830
52844
|
const results = await Promise.all(propertyNames.map(key => {
|
|
@@ -52849,7 +52863,7 @@ let JSHandle = (() => {
|
|
|
52849
52863
|
return map;
|
|
52850
52864
|
}
|
|
52851
52865
|
[(_getProperty_decorators = [throwIfDisposed()], _getProperties_decorators = [throwIfDisposed()], disposeSymbol)]() {
|
|
52852
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
52866
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
52853
52867
|
}
|
|
52854
52868
|
[asyncDisposeSymbol]() {
|
|
52855
52869
|
return this.dispose();
|
|
@@ -53059,7 +53073,7 @@ class Locator extends EventEmitter {
|
|
|
53059
53073
|
return this.emit(LocatorEvent.Action, undefined);
|
|
53060
53074
|
}), mergeMap(handle => {
|
|
53061
53075
|
return from(handle.click(options)).pipe(catchError(err => {
|
|
53062
|
-
void handle.dispose().catch(
|
|
53076
|
+
void handle.dispose().catch(debugCatchError);
|
|
53063
53077
|
throw err;
|
|
53064
53078
|
}));
|
|
53065
53079
|
}), this.operators.retryAndRaceWithSignalAndTimer(signal, cause));
|
|
@@ -53200,7 +53214,7 @@ class Locator extends EventEmitter {
|
|
|
53200
53214
|
}
|
|
53201
53215
|
}))
|
|
53202
53216
|
.pipe(catchError(err => {
|
|
53203
|
-
void handle.dispose().catch(
|
|
53217
|
+
void handle.dispose().catch(debugCatchError);
|
|
53204
53218
|
throw err;
|
|
53205
53219
|
}));
|
|
53206
53220
|
}), this.operators.retryAndRaceWithSignalAndTimer(signal, cause));
|
|
@@ -53215,7 +53229,7 @@ class Locator extends EventEmitter {
|
|
|
53215
53229
|
return this.emit(LocatorEvent.Action, undefined);
|
|
53216
53230
|
}), mergeMap(handle => {
|
|
53217
53231
|
return from(handle.hover()).pipe(catchError(err => {
|
|
53218
|
-
void handle.dispose().catch(
|
|
53232
|
+
void handle.dispose().catch(debugCatchError);
|
|
53219
53233
|
throw err;
|
|
53220
53234
|
}));
|
|
53221
53235
|
}), this.operators.retryAndRaceWithSignalAndTimer(signal, cause));
|
|
@@ -53237,7 +53251,7 @@ class Locator extends EventEmitter {
|
|
|
53237
53251
|
el.scrollLeft = scrollLeft;
|
|
53238
53252
|
}
|
|
53239
53253
|
}, options?.scrollTop, options?.scrollLeft)).pipe(catchError(err => {
|
|
53240
|
-
void handle.dispose().catch(
|
|
53254
|
+
void handle.dispose().catch(debugCatchError);
|
|
53241
53255
|
throw err;
|
|
53242
53256
|
}));
|
|
53243
53257
|
}), this.operators.retryAndRaceWithSignalAndTimer(signal, cause));
|
|
@@ -55079,13 +55093,17 @@ var InterceptResolutionAction;
|
|
|
55079
55093
|
})(InterceptResolutionAction || (InterceptResolutionAction = {}));
|
|
55080
55094
|
function headersArray(headers) {
|
|
55081
55095
|
const result = [];
|
|
55082
|
-
for (const name
|
|
55096
|
+
for (const name of Object.keys(headers)) {
|
|
55083
55097
|
const value = headers[name];
|
|
55084
|
-
if (
|
|
55085
|
-
|
|
55086
|
-
|
|
55087
|
-
|
|
55088
|
-
|
|
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
|
+
}
|
|
55089
55107
|
}
|
|
55090
55108
|
}
|
|
55091
55109
|
return result;
|
|
@@ -55178,7 +55196,7 @@ function handleError(error) {
|
|
|
55178
55196
|
error.originalMessage.includes('invalid argument')) {
|
|
55179
55197
|
throw error;
|
|
55180
55198
|
}
|
|
55181
|
-
debugError(error);
|
|
55199
|
+
debugError?.(error);
|
|
55182
55200
|
}
|
|
55183
55201
|
|
|
55184
55202
|
/**
|
|
@@ -55667,7 +55685,7 @@ let Page = (() => {
|
|
|
55667
55685
|
if (viewport && viewport.deviceScaleFactor !== 0) {
|
|
55668
55686
|
await this.setViewport({ ...viewport, deviceScaleFactor: 0 });
|
|
55669
55687
|
stack.defer(() => {
|
|
55670
|
-
void this.setViewport(viewport).catch(
|
|
55688
|
+
void this.setViewport(viewport).catch(debugCatchError);
|
|
55671
55689
|
});
|
|
55672
55690
|
}
|
|
55673
55691
|
return await this.mainFrame()
|
|
@@ -55761,7 +55779,7 @@ let Page = (() => {
|
|
|
55761
55779
|
...scrollDimensions,
|
|
55762
55780
|
});
|
|
55763
55781
|
stack.defer(async () => {
|
|
55764
|
-
await this.setViewport(viewport).catch(
|
|
55782
|
+
await this.setViewport(viewport).catch(debugCatchError);
|
|
55765
55783
|
});
|
|
55766
55784
|
}
|
|
55767
55785
|
}
|
|
@@ -55817,7 +55835,7 @@ let Page = (() => {
|
|
|
55817
55835
|
[(_screenshot_decorators = [guarded(function () {
|
|
55818
55836
|
return this.browser();
|
|
55819
55837
|
})], disposeSymbol)]() {
|
|
55820
|
-
return void this[asyncDisposeSymbol]().catch(
|
|
55838
|
+
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
55821
55839
|
}
|
|
55822
55840
|
async [asyncDisposeSymbol]() {
|
|
55823
55841
|
await this.close();
|
|
@@ -56120,6 +56138,12 @@ let WebWorker$1 = class WebWorker extends EventEmitter {
|
|
|
56120
56138
|
func = withSourcePuppeteerURLIfNone(this.evaluateHandle.name, func);
|
|
56121
56139
|
return await this.mainRealm().evaluateHandle(func, ...args);
|
|
56122
56140
|
}
|
|
56141
|
+
waitForFunction(workerFunction, options = {}, ...args) {
|
|
56142
|
+
return this.mainRealm().waitForFunction(workerFunction, {
|
|
56143
|
+
polling: 100,
|
|
56144
|
+
...options,
|
|
56145
|
+
}, ...args);
|
|
56146
|
+
}
|
|
56123
56147
|
async close() {
|
|
56124
56148
|
throw new UnsupportedOperation('WebWorker.close() is not supported');
|
|
56125
56149
|
}
|
|
@@ -56222,7 +56246,7 @@ class Accessibility {
|
|
|
56222
56246
|
root.iframeSnapshot = iframeSnapshot ?? undefined;
|
|
56223
56247
|
}
|
|
56224
56248
|
catch (error) {
|
|
56225
|
-
debugError(error);
|
|
56249
|
+
debugError?.(error);
|
|
56226
56250
|
}
|
|
56227
56251
|
}
|
|
56228
56252
|
catch (e_1) {
|
|
@@ -56233,9 +56257,9 @@ class Accessibility {
|
|
|
56233
56257
|
__disposeResources$4(env_1);
|
|
56234
56258
|
}
|
|
56235
56259
|
}
|
|
56236
|
-
|
|
56237
|
-
|
|
56238
|
-
}
|
|
56260
|
+
await Promise.all(root.children.map(child => {
|
|
56261
|
+
return populateIframes(child);
|
|
56262
|
+
}));
|
|
56239
56263
|
};
|
|
56240
56264
|
let needle = defaultRoot;
|
|
56241
56265
|
if (!defaultRoot) {
|
|
@@ -56752,7 +56776,7 @@ let Binding$2 = class Binding {
|
|
|
56752
56776
|
callbacks.get(seq).reject(error);
|
|
56753
56777
|
callbacks.delete(seq);
|
|
56754
56778
|
}, this.#name, id, error.message, error.stack)
|
|
56755
|
-
.catch(
|
|
56779
|
+
.catch(debugCatchError);
|
|
56756
56780
|
}
|
|
56757
56781
|
else {
|
|
56758
56782
|
await context
|
|
@@ -56761,7 +56785,7 @@ let Binding$2 = class Binding {
|
|
|
56761
56785
|
callbacks.get(seq).reject(error);
|
|
56762
56786
|
callbacks.delete(seq);
|
|
56763
56787
|
}, this.#name, id, error)
|
|
56764
|
-
.catch(
|
|
56788
|
+
.catch(debugCatchError);
|
|
56765
56789
|
}
|
|
56766
56790
|
}
|
|
56767
56791
|
}
|
|
@@ -56898,7 +56922,7 @@ class CallbackRegistry {
|
|
|
56898
56922
|
request(callback.id);
|
|
56899
56923
|
}
|
|
56900
56924
|
catch (error) {
|
|
56901
|
-
callback.promise.catch(
|
|
56925
|
+
void callback.promise.catch(debugCatchError).finally(() => {
|
|
56902
56926
|
this.#callbacks.delete(callback.id);
|
|
56903
56927
|
});
|
|
56904
56928
|
callback.reject(error);
|
|
@@ -57178,7 +57202,7 @@ class Connection extends EventEmitter {
|
|
|
57178
57202
|
id,
|
|
57179
57203
|
sessionId,
|
|
57180
57204
|
});
|
|
57181
|
-
debugProtocolSend(stringifiedMessage);
|
|
57205
|
+
debugProtocolSend?.(stringifiedMessage);
|
|
57182
57206
|
this.#transport.send(stringifiedMessage);
|
|
57183
57207
|
});
|
|
57184
57208
|
}
|
|
@@ -57191,7 +57215,7 @@ class Connection extends EventEmitter {
|
|
|
57191
57215
|
return setTimeout(r, this.#delay);
|
|
57192
57216
|
});
|
|
57193
57217
|
}
|
|
57194
|
-
debugProtocolReceive(message);
|
|
57218
|
+
debugProtocolReceive?.(message);
|
|
57195
57219
|
const object = JSON.parse(message);
|
|
57196
57220
|
if (object.method === 'Target.attachedToTarget') {
|
|
57197
57221
|
const sessionId = object.params.sessionId;
|
|
@@ -57389,7 +57413,7 @@ class JSCoverage {
|
|
|
57389
57413
|
this.#scriptSources.set(event.scriptId, response.scriptSource);
|
|
57390
57414
|
}
|
|
57391
57415
|
catch (error) {
|
|
57392
|
-
debugError(error);
|
|
57416
|
+
debugError?.(error);
|
|
57393
57417
|
}
|
|
57394
57418
|
}
|
|
57395
57419
|
async stop() {
|
|
@@ -57478,7 +57502,7 @@ class CSSCoverage {
|
|
|
57478
57502
|
this.#stylesheetSources.set(header.styleSheetId, response.text);
|
|
57479
57503
|
}
|
|
57480
57504
|
catch (error) {
|
|
57481
|
-
debugError(error);
|
|
57505
|
+
debugError?.(error);
|
|
57482
57506
|
}
|
|
57483
57507
|
}
|
|
57484
57508
|
async stop() {
|
|
@@ -57651,6 +57675,8 @@ let EmulationManager = (() => {
|
|
|
57651
57675
|
let _private_emulateIdleState_descriptor;
|
|
57652
57676
|
let _private_emulateTimezone_decorators;
|
|
57653
57677
|
let _private_emulateTimezone_descriptor;
|
|
57678
|
+
let _private_emulateLocale_decorators;
|
|
57679
|
+
let _private_emulateLocale_descriptor;
|
|
57654
57680
|
let _private_emulateVisionDeficiency_decorators;
|
|
57655
57681
|
let _private_emulateVisionDeficiency_descriptor;
|
|
57656
57682
|
let _private_emulateCpuThrottling_decorators;
|
|
@@ -57673,6 +57699,7 @@ let EmulationManager = (() => {
|
|
|
57673
57699
|
_private_applyViewport_decorators = [invokeAtMostOnceForArguments];
|
|
57674
57700
|
_private_emulateIdleState_decorators = [invokeAtMostOnceForArguments];
|
|
57675
57701
|
_private_emulateTimezone_decorators = [invokeAtMostOnceForArguments];
|
|
57702
|
+
_private_emulateLocale_decorators = [invokeAtMostOnceForArguments];
|
|
57676
57703
|
_private_emulateVisionDeficiency_decorators = [invokeAtMostOnceForArguments];
|
|
57677
57704
|
_private_emulateCpuThrottling_decorators = [invokeAtMostOnceForArguments];
|
|
57678
57705
|
_private_emulateMediaFeatures_decorators = [invokeAtMostOnceForArguments];
|
|
@@ -57688,7 +57715,7 @@ let EmulationManager = (() => {
|
|
|
57688
57715
|
client.send('Emulation.setTouchEmulationEnabled', {
|
|
57689
57716
|
enabled: false,
|
|
57690
57717
|
}),
|
|
57691
|
-
]).catch(
|
|
57718
|
+
]).catch(debugCatchError);
|
|
57692
57719
|
return;
|
|
57693
57720
|
}
|
|
57694
57721
|
const { viewport } = viewportState;
|
|
@@ -57711,7 +57738,7 @@ let EmulationManager = (() => {
|
|
|
57711
57738
|
})
|
|
57712
57739
|
.catch(err => {
|
|
57713
57740
|
if (err.message.includes('Target does not support metrics override')) {
|
|
57714
|
-
debugError(err);
|
|
57741
|
+
debugError?.(err);
|
|
57715
57742
|
return;
|
|
57716
57743
|
}
|
|
57717
57744
|
throw err;
|
|
@@ -57751,6 +57778,14 @@ let EmulationManager = (() => {
|
|
|
57751
57778
|
throw error;
|
|
57752
57779
|
}
|
|
57753
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);
|
|
57754
57789
|
__esDecorate$3(this, _private_emulateVisionDeficiency_descriptor = { value: __setFunctionName$1(async function (client, visionDeficiency) {
|
|
57755
57790
|
if (!visionDeficiency.active) {
|
|
57756
57791
|
return;
|
|
@@ -57834,6 +57869,9 @@ let EmulationManager = (() => {
|
|
|
57834
57869
|
#timezoneState = new EmulatedState({
|
|
57835
57870
|
active: false,
|
|
57836
57871
|
}, this, this.#emulateTimezone);
|
|
57872
|
+
#localeState = new EmulatedState({
|
|
57873
|
+
active: false,
|
|
57874
|
+
}, this, this.#emulateLocale);
|
|
57837
57875
|
#visionDeficiencyState = new EmulatedState({
|
|
57838
57876
|
active: false,
|
|
57839
57877
|
}, this, this.#emulateVisionDeficiency);
|
|
@@ -57880,7 +57918,7 @@ let EmulationManager = (() => {
|
|
|
57880
57918
|
this.#secondaryClients.delete(client);
|
|
57881
57919
|
});
|
|
57882
57920
|
void Promise.all(this.#states.map(s => {
|
|
57883
|
-
return s.sync().catch(
|
|
57921
|
+
return s.sync().catch(debugCatchError);
|
|
57884
57922
|
}));
|
|
57885
57923
|
}
|
|
57886
57924
|
get javascriptEnabled() {
|
|
@@ -57921,6 +57959,13 @@ let EmulationManager = (() => {
|
|
|
57921
57959
|
active: true,
|
|
57922
57960
|
});
|
|
57923
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
|
+
}
|
|
57924
57969
|
get #emulateVisionDeficiency() { return _private_emulateVisionDeficiency_descriptor.value; }
|
|
57925
57970
|
async emulateVisionDeficiency(type) {
|
|
57926
57971
|
const visionDeficiencies = new Set([
|
|
@@ -58494,7 +58539,7 @@ async function releaseObject(client, remoteObject) {
|
|
|
58494
58539
|
await client
|
|
58495
58540
|
.send('Runtime.releaseObject', { objectId: remoteObject.objectId })
|
|
58496
58541
|
.catch(error => {
|
|
58497
|
-
debugError(error);
|
|
58542
|
+
debugError?.(error);
|
|
58498
58543
|
});
|
|
58499
58544
|
}
|
|
58500
58545
|
|
|
@@ -58594,7 +58639,7 @@ let CdpElementHandle = (() => {
|
|
|
58594
58639
|
});
|
|
58595
58640
|
}
|
|
58596
58641
|
catch (error) {
|
|
58597
|
-
debugError(error);
|
|
58642
|
+
debugError?.(error);
|
|
58598
58643
|
await super.scrollIntoView();
|
|
58599
58644
|
}
|
|
58600
58645
|
}
|
|
@@ -58804,7 +58849,7 @@ let ExecutionContext$1 = class ExecutionContext extends EventEmitter {
|
|
|
58804
58849
|
return;
|
|
58805
58850
|
}
|
|
58806
58851
|
}
|
|
58807
|
-
debugError(error);
|
|
58852
|
+
debugError?.(error);
|
|
58808
58853
|
}
|
|
58809
58854
|
}
|
|
58810
58855
|
catch (e_1) {
|
|
@@ -58840,7 +58885,7 @@ let ExecutionContext$1 = class ExecutionContext extends EventEmitter {
|
|
|
58840
58885
|
await binding?.run(this, seq, args, isTrivial);
|
|
58841
58886
|
}
|
|
58842
58887
|
catch (err) {
|
|
58843
|
-
debugError(err);
|
|
58888
|
+
debugError?.(err);
|
|
58844
58889
|
}
|
|
58845
58890
|
}
|
|
58846
58891
|
get id() {
|
|
@@ -58880,7 +58925,7 @@ let ExecutionContext$1 = class ExecutionContext extends EventEmitter {
|
|
|
58880
58925
|
await this.#addBinding(binding);
|
|
58881
58926
|
}
|
|
58882
58927
|
catch (err) {
|
|
58883
|
-
debugError(err);
|
|
58928
|
+
debugError?.(err);
|
|
58884
58929
|
}
|
|
58885
58930
|
}
|
|
58886
58931
|
async evaluate(pageFunction, ...args) {
|
|
@@ -59049,6 +59094,7 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59049
59094
|
#id;
|
|
59050
59095
|
#targetType;
|
|
59051
59096
|
#emitter;
|
|
59097
|
+
#workerLoaded = new Deferred();
|
|
59052
59098
|
get internalEmitter() {
|
|
59053
59099
|
return this.#emitter;
|
|
59054
59100
|
}
|
|
@@ -59062,6 +59108,9 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59062
59108
|
this.#client.once('Runtime.executionContextCreated', async (event) => {
|
|
59063
59109
|
this.#world.setContext(new ExecutionContext$1(client, event.context, this.#world));
|
|
59064
59110
|
});
|
|
59111
|
+
this.#client.once('Inspector.workerScriptLoaded', () => {
|
|
59112
|
+
this.#workerLoaded.resolve();
|
|
59113
|
+
});
|
|
59065
59114
|
this.#world.emitter.on('consoleapicalled', async (event) => {
|
|
59066
59115
|
try {
|
|
59067
59116
|
const values = event.args.map(arg => {
|
|
@@ -59071,7 +59120,7 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59071
59120
|
const noWorkerListeners = this.listenerCount(WebWorkerEvent.Console) === 0;
|
|
59072
59121
|
if (noInternalListeners && noWorkerListeners) {
|
|
59073
59122
|
for (const value of values) {
|
|
59074
|
-
void value.dispose().catch(
|
|
59123
|
+
void value.dispose().catch(debugCatchError);
|
|
59075
59124
|
}
|
|
59076
59125
|
return;
|
|
59077
59126
|
}
|
|
@@ -59082,15 +59131,17 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59082
59131
|
}
|
|
59083
59132
|
}
|
|
59084
59133
|
catch (err) {
|
|
59085
|
-
debugError(err);
|
|
59134
|
+
debugError?.(err);
|
|
59086
59135
|
}
|
|
59087
59136
|
});
|
|
59088
59137
|
this.#client.on('Runtime.exceptionThrown', exceptionThrown);
|
|
59089
59138
|
this.#client.once(CDPSessionEvent.Disconnected, () => {
|
|
59090
59139
|
this.#world.dispose();
|
|
59091
59140
|
});
|
|
59092
|
-
networkManager
|
|
59093
|
-
|
|
59141
|
+
networkManager
|
|
59142
|
+
?.addClient(this.#client)
|
|
59143
|
+
.catch(debugCatchError ?? (() => { }));
|
|
59144
|
+
this.#client.send('Runtime.enable').catch(debugCatchError ?? (() => { }));
|
|
59094
59145
|
}
|
|
59095
59146
|
mainRealm() {
|
|
59096
59147
|
return this.#world;
|
|
@@ -59121,6 +59172,14 @@ class CdpWebWorker extends WebWorker$1 {
|
|
|
59121
59172
|
});
|
|
59122
59173
|
}
|
|
59123
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
|
+
}
|
|
59124
59183
|
}
|
|
59125
59184
|
|
|
59126
59185
|
/**
|
|
@@ -59684,7 +59743,7 @@ let CdpFrame = (() => {
|
|
|
59684
59743
|
this.#client.send('Runtime.addBinding', {
|
|
59685
59744
|
name: CDP_BINDING_PREFIX + binding.name,
|
|
59686
59745
|
}),
|
|
59687
|
-
this.evaluate(binding.initSource).catch(
|
|
59746
|
+
this.evaluate(binding.initSource).catch(debugCatchError),
|
|
59688
59747
|
]);
|
|
59689
59748
|
}
|
|
59690
59749
|
async removeExposedFunctionBinding(binding) {
|
|
@@ -59697,7 +59756,7 @@ let CdpFrame = (() => {
|
|
|
59697
59756
|
}),
|
|
59698
59757
|
this.evaluate(name => {
|
|
59699
59758
|
globalThis[name] = undefined;
|
|
59700
|
-
}, binding.name).catch(
|
|
59759
|
+
}, binding.name).catch(debugCatchError),
|
|
59701
59760
|
]);
|
|
59702
59761
|
}
|
|
59703
59762
|
async waitForDevicePrompt(options = {}) {
|
|
@@ -59918,7 +59977,7 @@ class CdpHTTPRequest extends HTTPRequest {
|
|
|
59918
59977
|
return result.postData;
|
|
59919
59978
|
}
|
|
59920
59979
|
catch (err) {
|
|
59921
|
-
debugError(err);
|
|
59980
|
+
debugError?.(err);
|
|
59922
59981
|
return;
|
|
59923
59982
|
}
|
|
59924
59983
|
}
|
|
@@ -60332,8 +60391,10 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60332
60391
|
#userCacheDisabled;
|
|
60333
60392
|
#emulatedNetworkConditions;
|
|
60334
60393
|
#userAgent;
|
|
60394
|
+
#defaultUserAgent;
|
|
60335
60395
|
#userAgentMetadata;
|
|
60336
60396
|
#platform;
|
|
60397
|
+
#acceptLanguage;
|
|
60337
60398
|
#handlers = [
|
|
60338
60399
|
['Fetch.requestPaused', this.#onRequestPaused],
|
|
60339
60400
|
['Fetch.authRequired', this.#onAuthRequired],
|
|
@@ -60348,10 +60409,11 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60348
60409
|
];
|
|
60349
60410
|
#clients = new Map();
|
|
60350
60411
|
#networkEnabled = true;
|
|
60351
|
-
constructor(frameManager, networkEnabled) {
|
|
60412
|
+
constructor(frameManager, networkEnabled, defaultUserAgent) {
|
|
60352
60413
|
super();
|
|
60353
60414
|
this.#frameManager = frameManager;
|
|
60354
60415
|
this.#networkEnabled = networkEnabled ?? true;
|
|
60416
|
+
this.#defaultUserAgent = defaultUserAgent;
|
|
60355
60417
|
}
|
|
60356
60418
|
#canIgnoreError(error) {
|
|
60357
60419
|
return (isErrorLike$2(error) &&
|
|
@@ -60496,13 +60558,19 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60496
60558
|
this.#platform = platform;
|
|
60497
60559
|
await this.#applyToAllClients(this.#applyUserAgent.bind(this));
|
|
60498
60560
|
}
|
|
60561
|
+
async setAcceptLanguage(acceptLanguage) {
|
|
60562
|
+
this.#acceptLanguage = acceptLanguage;
|
|
60563
|
+
await this.#applyToAllClients(this.#applyUserAgent.bind(this));
|
|
60564
|
+
}
|
|
60499
60565
|
async #applyUserAgent(client) {
|
|
60500
|
-
|
|
60566
|
+
const userAgent = this.#userAgent ?? this.#defaultUserAgent;
|
|
60567
|
+
if (userAgent === undefined) {
|
|
60501
60568
|
return;
|
|
60502
60569
|
}
|
|
60503
60570
|
try {
|
|
60504
60571
|
await client.send('Network.setUserAgentOverride', {
|
|
60505
|
-
userAgent
|
|
60572
|
+
userAgent,
|
|
60573
|
+
acceptLanguage: this.#acceptLanguage,
|
|
60506
60574
|
userAgentMetadata: this.#userAgentMetadata,
|
|
60507
60575
|
platform: this.#platform,
|
|
60508
60576
|
});
|
|
@@ -60603,21 +60671,21 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60603
60671
|
username: undefined,
|
|
60604
60672
|
password: undefined,
|
|
60605
60673
|
};
|
|
60606
|
-
client
|
|
60674
|
+
void client
|
|
60607
60675
|
.send('Fetch.continueWithAuth', {
|
|
60608
60676
|
requestId: event.requestId,
|
|
60609
60677
|
authChallengeResponse: { response, username, password },
|
|
60610
60678
|
})
|
|
60611
|
-
.catch(
|
|
60679
|
+
.catch(debugCatchError);
|
|
60612
60680
|
}
|
|
60613
60681
|
#onRequestPaused(client, event) {
|
|
60614
60682
|
if (!this.#userRequestInterceptionEnabled &&
|
|
60615
60683
|
this.#protocolRequestInterceptionEnabled) {
|
|
60616
|
-
client
|
|
60684
|
+
void client
|
|
60617
60685
|
.send('Fetch.continueRequest', {
|
|
60618
60686
|
requestId: event.requestId,
|
|
60619
60687
|
})
|
|
60620
|
-
.catch(
|
|
60688
|
+
.catch(debugCatchError);
|
|
60621
60689
|
}
|
|
60622
60690
|
const { networkId: networkRequestId, requestId: fetchRequestId } = event;
|
|
60623
60691
|
if (!networkRequestId) {
|
|
@@ -60719,7 +60787,7 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60719
60787
|
request = this.#networkEventManager.getRequest(event.requestId);
|
|
60720
60788
|
}
|
|
60721
60789
|
if (!request) {
|
|
60722
|
-
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`));
|
|
60723
60791
|
return;
|
|
60724
60792
|
}
|
|
60725
60793
|
this.emit(NetworkManagerEvent.RequestServedFromCache, request);
|
|
@@ -60740,7 +60808,7 @@ let NetworkManager$2 = class NetworkManager extends EventEmitter {
|
|
|
60740
60808
|
}
|
|
60741
60809
|
const extraInfos = this.#networkEventManager.responseExtraInfo(responseReceived.requestId);
|
|
60742
60810
|
if (extraInfos.length) {
|
|
60743
|
-
debugError(new Error('Unexpected extraInfo events for request ' +
|
|
60811
|
+
debugError?.(new Error('Unexpected extraInfo events for request ' +
|
|
60744
60812
|
responseReceived.requestId));
|
|
60745
60813
|
}
|
|
60746
60814
|
if (responseReceived.response.fromDiskCache) {
|
|
@@ -60877,15 +60945,15 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
60877
60945
|
get client() {
|
|
60878
60946
|
return this.#client;
|
|
60879
60947
|
}
|
|
60880
|
-
constructor(client, page, timeoutSettings) {
|
|
60948
|
+
constructor(client, page, timeoutSettings, defaultUserAgent) {
|
|
60881
60949
|
super();
|
|
60882
60950
|
this.#client = client;
|
|
60883
60951
|
this.#page = page;
|
|
60884
|
-
this.#networkManager = new NetworkManager$2(this, page.browser().isNetworkEnabled());
|
|
60952
|
+
this.#networkManager = new NetworkManager$2(this, page.browser().isNetworkEnabled(), defaultUserAgent);
|
|
60885
60953
|
this.#timeoutSettings = timeoutSettings;
|
|
60886
60954
|
this.setupEventListeners(this.#client);
|
|
60887
60955
|
client.once(CDPSessionEvent.Disconnected, () => {
|
|
60888
|
-
this.#onClientDisconnect().catch(
|
|
60956
|
+
void this.#onClientDisconnect().catch(debugCatchError);
|
|
60889
60957
|
});
|
|
60890
60958
|
}
|
|
60891
60959
|
async #onClientDisconnect() {
|
|
@@ -60926,7 +60994,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
60926
60994
|
}
|
|
60927
60995
|
this.setupEventListeners(client);
|
|
60928
60996
|
client.once(CDPSessionEvent.Disconnected, () => {
|
|
60929
|
-
this.#onClientDisconnect().catch(
|
|
60997
|
+
void this.#onClientDisconnect().catch(debugCatchError);
|
|
60930
60998
|
});
|
|
60931
60999
|
await this.initialize(client, frame);
|
|
60932
61000
|
await this.#networkManager.addClient(client);
|
|
@@ -61064,7 +61132,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
61064
61132
|
.send('Page.removeScriptToEvaluateOnNewDocument', {
|
|
61065
61133
|
identifier,
|
|
61066
61134
|
})
|
|
61067
|
-
.catch(
|
|
61135
|
+
.catch(debugCatchError);
|
|
61068
61136
|
}));
|
|
61069
61137
|
}
|
|
61070
61138
|
onAttachedToTarget(target) {
|
|
@@ -61076,7 +61144,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
61076
61144
|
frame.updateClient(target._session());
|
|
61077
61145
|
}
|
|
61078
61146
|
this.setupEventListeners(target._session());
|
|
61079
|
-
void this.initialize(target._session(), frame).catch(
|
|
61147
|
+
void this.initialize(target._session(), frame).catch(debugCatchError);
|
|
61080
61148
|
}
|
|
61081
61149
|
_deviceRequestPromptManager(client) {
|
|
61082
61150
|
let manager = this.#deviceRequestPromptManagerMap.get(client);
|
|
@@ -61185,7 +61253,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
61185
61253
|
worldName: name,
|
|
61186
61254
|
grantUniveralAccess: true,
|
|
61187
61255
|
})
|
|
61188
|
-
.catch(
|
|
61256
|
+
.catch(debugCatchError);
|
|
61189
61257
|
}));
|
|
61190
61258
|
this.#isolatedWorlds.add(key);
|
|
61191
61259
|
}
|
|
@@ -61245,7 +61313,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
61245
61313
|
else if (this.#isExtensionOrigin(origin)) {
|
|
61246
61314
|
const extId = this.#extractExtensionId(origin);
|
|
61247
61315
|
if (!extId) {
|
|
61248
|
-
debugError('Error while parsing extension id');
|
|
61316
|
+
debugError?.('Error while parsing extension id');
|
|
61249
61317
|
return;
|
|
61250
61318
|
}
|
|
61251
61319
|
if (frame.extensionWorlds[extId]) {
|
|
@@ -62283,7 +62351,7 @@ class WebMCPToolCall {
|
|
|
62283
62351
|
}
|
|
62284
62352
|
catch (error) {
|
|
62285
62353
|
this.input = {};
|
|
62286
|
-
debugError(error);
|
|
62354
|
+
debugError?.(error);
|
|
62287
62355
|
}
|
|
62288
62356
|
}
|
|
62289
62357
|
}
|
|
@@ -62302,6 +62370,7 @@ class WebMCP extends EventEmitter {
|
|
|
62302
62370
|
const frameTools = this.#tools.get(tool.frameId) ?? new Map();
|
|
62303
62371
|
if (!this.#tools.has(tool.frameId)) {
|
|
62304
62372
|
this.#tools.set(tool.frameId, frameTools);
|
|
62373
|
+
this.#listenToContextDestroyed(frame);
|
|
62305
62374
|
}
|
|
62306
62375
|
const addedTool = new WebMCPTool(this, tool, frame);
|
|
62307
62376
|
frameTools.set(tool.name, addedTool);
|
|
@@ -62345,7 +62414,7 @@ class WebMCP extends EventEmitter {
|
|
|
62345
62414
|
};
|
|
62346
62415
|
this.emit('toolresponded', response);
|
|
62347
62416
|
};
|
|
62348
|
-
#
|
|
62417
|
+
#onContextDisposed = (frame) => {
|
|
62349
62418
|
this.#pendingCalls.clear();
|
|
62350
62419
|
const frameTools = this.#tools.get(frame._id);
|
|
62351
62420
|
if (!frameTools) {
|
|
@@ -62357,15 +62426,19 @@ class WebMCP extends EventEmitter {
|
|
|
62357
62426
|
this.emit('toolsremoved', { tools });
|
|
62358
62427
|
}
|
|
62359
62428
|
};
|
|
62429
|
+
#listenToContextDestroyed(frame) {
|
|
62430
|
+
frame.mainRealm().context?.once('disposed', () => {
|
|
62431
|
+
this.#onContextDisposed(frame);
|
|
62432
|
+
});
|
|
62433
|
+
}
|
|
62360
62434
|
constructor(client, frameManager) {
|
|
62361
62435
|
super();
|
|
62362
62436
|
this.#client = client;
|
|
62363
62437
|
this.#frameManager = frameManager;
|
|
62364
|
-
this.#frameManager.on(FrameManagerEvent.FrameNavigated, this.#onFrameNavigated);
|
|
62365
62438
|
this.#bindListeners();
|
|
62366
62439
|
}
|
|
62367
62440
|
async initialize() {
|
|
62368
|
-
return await this.#client.send('WebMCP.enable').catch(
|
|
62441
|
+
return await this.#client.send('WebMCP.enable').catch(debugCatchError);
|
|
62369
62442
|
}
|
|
62370
62443
|
async invokeTool(tool, input) {
|
|
62371
62444
|
return await this.#client.send('WebMCP.invokeTool', {
|
|
@@ -62464,7 +62537,7 @@ function convertSameSiteFromPuppeteerToCdp(sameSite) {
|
|
|
62464
62537
|
}
|
|
62465
62538
|
class CdpPage extends Page {
|
|
62466
62539
|
static async _create(client, target, defaultViewport) {
|
|
62467
|
-
const page = new CdpPage(client, target);
|
|
62540
|
+
const page = new CdpPage(client, target, await target.browser().userAgent());
|
|
62468
62541
|
await page.#initialize();
|
|
62469
62542
|
if (defaultViewport) {
|
|
62470
62543
|
try {
|
|
@@ -62472,7 +62545,7 @@ class CdpPage extends Page {
|
|
|
62472
62545
|
}
|
|
62473
62546
|
catch (err) {
|
|
62474
62547
|
if (isErrorLike$2(err) && isTargetClosedError(err)) {
|
|
62475
|
-
debugError(err);
|
|
62548
|
+
debugError?.(err);
|
|
62476
62549
|
}
|
|
62477
62550
|
else {
|
|
62478
62551
|
throw err;
|
|
@@ -62504,7 +62577,7 @@ class CdpPage extends Page {
|
|
|
62504
62577
|
#sessionCloseDeferred = Deferred.create();
|
|
62505
62578
|
#serviceWorkerBypassed = false;
|
|
62506
62579
|
#userDragInterceptionEnabled = false;
|
|
62507
|
-
constructor(client, target) {
|
|
62580
|
+
constructor(client, target, defaultUserAgent) {
|
|
62508
62581
|
super();
|
|
62509
62582
|
this.#primaryTargetClient = client;
|
|
62510
62583
|
this.#tabTargetClient = client.parentSession();
|
|
@@ -62517,7 +62590,7 @@ class CdpPage extends Page {
|
|
|
62517
62590
|
this.#keyboard = new CdpKeyboard(client);
|
|
62518
62591
|
this.#mouse = new CdpMouse(client, this.#keyboard);
|
|
62519
62592
|
this.#touchscreen = new CdpTouchscreen(client, this.#keyboard);
|
|
62520
|
-
this.#frameManager = new FrameManager$1(client, this, this._timeoutSettings);
|
|
62593
|
+
this.#frameManager = new FrameManager$1(client, this, this._timeoutSettings, defaultUserAgent);
|
|
62521
62594
|
this.#emulationManager = new EmulationManager(client);
|
|
62522
62595
|
this.#tracing = new Tracing(client);
|
|
62523
62596
|
this.#webmcp = new WebMCP(client, this.#frameManager);
|
|
@@ -62559,14 +62632,14 @@ class CdpPage extends Page {
|
|
|
62559
62632
|
this.#tabTargetClient.on(CDPSessionEvent.Swapped, this.#onActivation.bind(this));
|
|
62560
62633
|
this.#tabTargetClient.on(CDPSessionEvent.Ready, this.#onSecondaryTarget.bind(this));
|
|
62561
62634
|
this.#targetManager.on("targetGone" , this.#onDetachedFromTarget);
|
|
62562
|
-
this.#tabTarget._isClosedDeferred
|
|
62635
|
+
void this.#tabTarget._isClosedDeferred
|
|
62563
62636
|
.valueOrThrow()
|
|
62564
62637
|
.then(() => {
|
|
62565
62638
|
this.#targetManager.off("targetGone" , this.#onDetachedFromTarget);
|
|
62566
62639
|
this.emit("close" , undefined);
|
|
62567
62640
|
this.#closed = true;
|
|
62568
62641
|
})
|
|
62569
|
-
.catch(
|
|
62642
|
+
.catch(debugCatchError);
|
|
62570
62643
|
this.#setupPrimaryTargetListeners();
|
|
62571
62644
|
this.#attachExistingTargets();
|
|
62572
62645
|
}
|
|
@@ -62608,10 +62681,12 @@ class CdpPage extends Page {
|
|
|
62608
62681
|
if (session.target()._subtype() !== 'prerender') {
|
|
62609
62682
|
return;
|
|
62610
62683
|
}
|
|
62611
|
-
this.#frameManager
|
|
62612
|
-
this.#emulationManager
|
|
62684
|
+
void this.#frameManager
|
|
62613
62685
|
.registerSpeculativeSession(session)
|
|
62614
|
-
.catch(
|
|
62686
|
+
.catch(debugCatchError);
|
|
62687
|
+
void this.#emulationManager
|
|
62688
|
+
.registerSpeculativeSession(session)
|
|
62689
|
+
.catch(debugCatchError);
|
|
62615
62690
|
}
|
|
62616
62691
|
#setupPrimaryTargetListeners() {
|
|
62617
62692
|
const clientEmitter = new EventEmitter(this.#primaryTargetClient);
|
|
@@ -62652,7 +62727,7 @@ class CdpPage extends Page {
|
|
|
62652
62727
|
const noListenersForConsoleOnWorker = worker.listenerCount(WebWorkerEvent.Console) === 0;
|
|
62653
62728
|
if (noListenersForConsoleOnPage && noListenersForConsoleOnWorker) {
|
|
62654
62729
|
for (const arg of message.args()) {
|
|
62655
|
-
void arg.dispose().catch(
|
|
62730
|
+
void arg.dispose().catch(debugCatchError);
|
|
62656
62731
|
}
|
|
62657
62732
|
return;
|
|
62658
62733
|
}
|
|
@@ -62675,7 +62750,7 @@ class CdpPage extends Page {
|
|
|
62675
62750
|
}
|
|
62676
62751
|
catch (err) {
|
|
62677
62752
|
if (isErrorLike$2(err) && isTargetClosedError(err)) {
|
|
62678
|
-
debugError(err);
|
|
62753
|
+
debugError?.(err);
|
|
62679
62754
|
}
|
|
62680
62755
|
else {
|
|
62681
62756
|
throw err;
|
|
@@ -63050,7 +63125,7 @@ class CdpPage extends Page {
|
|
|
63050
63125
|
if (!hasPageConsoleListeners) {
|
|
63051
63126
|
if (!hasWorkerConsoleListeners) {
|
|
63052
63127
|
for (const value of values) {
|
|
63053
|
-
void value.dispose().catch(
|
|
63128
|
+
void value.dispose().catch(debugCatchError);
|
|
63054
63129
|
}
|
|
63055
63130
|
}
|
|
63056
63131
|
return;
|
|
@@ -63144,6 +63219,10 @@ class CdpPage extends Page {
|
|
|
63144
63219
|
async emulateTimezone(timezoneId) {
|
|
63145
63220
|
return await this.#emulationManager.emulateTimezone(timezoneId);
|
|
63146
63221
|
}
|
|
63222
|
+
async emulateLocale(locale) {
|
|
63223
|
+
await this.#emulationManager.emulateLocale(locale);
|
|
63224
|
+
await this.#frameManager.networkManager.setAcceptLanguage(locale);
|
|
63225
|
+
}
|
|
63147
63226
|
async emulateIdleState(overrides) {
|
|
63148
63227
|
return await this.#emulationManager.emulateIdleState(overrides);
|
|
63149
63228
|
}
|
|
@@ -63180,7 +63259,7 @@ class CdpPage extends Page {
|
|
|
63180
63259
|
stack.defer(async () => {
|
|
63181
63260
|
await this.#emulationManager
|
|
63182
63261
|
.resetDefaultBackgroundColor()
|
|
63183
|
-
.catch(
|
|
63262
|
+
.catch(debugCatchError);
|
|
63184
63263
|
});
|
|
63185
63264
|
}
|
|
63186
63265
|
let clip = userClip;
|
|
@@ -63537,23 +63616,21 @@ class CdpExtension extends Extension {
|
|
|
63537
63616
|
return (target.type() === 'service_worker' &&
|
|
63538
63617
|
targetUrl.startsWith('chrome-extension://' + this.id));
|
|
63539
63618
|
});
|
|
63540
|
-
const workers =
|
|
63541
|
-
for (const target of extensionWorkers) {
|
|
63619
|
+
const workers = await Promise.all(extensionWorkers.map(async (target) => {
|
|
63542
63620
|
try {
|
|
63543
|
-
|
|
63544
|
-
if (worker) {
|
|
63545
|
-
workers.push(worker);
|
|
63546
|
-
}
|
|
63621
|
+
return await target.worker();
|
|
63547
63622
|
}
|
|
63548
63623
|
catch (err) {
|
|
63549
63624
|
if (this.#canIgnoreError(err)) {
|
|
63550
|
-
debugError(err);
|
|
63551
|
-
|
|
63625
|
+
debugError?.(err);
|
|
63626
|
+
return null;
|
|
63552
63627
|
}
|
|
63553
63628
|
throw err;
|
|
63554
63629
|
}
|
|
63555
|
-
}
|
|
63556
|
-
return workers
|
|
63630
|
+
}));
|
|
63631
|
+
return workers.filter((worker) => {
|
|
63632
|
+
return worker !== null;
|
|
63633
|
+
});
|
|
63557
63634
|
}
|
|
63558
63635
|
async pages() {
|
|
63559
63636
|
const targets = this.#browser.targets();
|
|
@@ -63568,7 +63645,7 @@ class CdpExtension extends Extension {
|
|
|
63568
63645
|
}
|
|
63569
63646
|
catch (err) {
|
|
63570
63647
|
if (this.#canIgnoreError(err)) {
|
|
63571
|
-
debugError(err);
|
|
63648
|
+
debugError?.(err);
|
|
63572
63649
|
return null;
|
|
63573
63650
|
}
|
|
63574
63651
|
throw err;
|
|
@@ -63751,7 +63828,7 @@ class PageTarget extends CdpTarget {
|
|
|
63751
63828
|
this.#defaultViewport = defaultViewport ?? undefined;
|
|
63752
63829
|
}
|
|
63753
63830
|
_initialize() {
|
|
63754
|
-
this._initializedDeferred
|
|
63831
|
+
void this._initializedDeferred
|
|
63755
63832
|
.valueOrThrow()
|
|
63756
63833
|
.then(async (result) => {
|
|
63757
63834
|
if (result === InitializationStatus.ABORTED) {
|
|
@@ -63772,7 +63849,7 @@ class PageTarget extends CdpTarget {
|
|
|
63772
63849
|
openerPage.emit("popup" , popupPage);
|
|
63773
63850
|
return true;
|
|
63774
63851
|
})
|
|
63775
|
-
.catch(
|
|
63852
|
+
.catch(debugCatchError);
|
|
63776
63853
|
this._checkIfInitialized();
|
|
63777
63854
|
}
|
|
63778
63855
|
async page() {
|
|
@@ -64714,12 +64791,14 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64714
64791
|
}
|
|
64715
64792
|
}
|
|
64716
64793
|
#silentDetach = async (session, parentSession) => {
|
|
64717
|
-
await session
|
|
64794
|
+
await session
|
|
64795
|
+
.send('Runtime.runIfWaitingForDebugger')
|
|
64796
|
+
.catch(debugCatchError);
|
|
64718
64797
|
await parentSession
|
|
64719
64798
|
.send('Target.detachFromTarget', {
|
|
64720
64799
|
sessionId: session.id(),
|
|
64721
64800
|
})
|
|
64722
|
-
.catch(
|
|
64801
|
+
.catch(debugCatchError);
|
|
64723
64802
|
};
|
|
64724
64803
|
#getParentTarget = (parentSession) => {
|
|
64725
64804
|
return parentSession instanceof CdpCDPSession
|
|
@@ -64786,6 +64865,7 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64786
64865
|
throw new Error(`Session ${event.sessionId} was not created.`);
|
|
64787
64866
|
}
|
|
64788
64867
|
if (!this.#connection.isAutoAttached(targetInfo.targetId)) {
|
|
64868
|
+
await this.#maybeSetupNetworkConditions(session, targetInfo);
|
|
64789
64869
|
return;
|
|
64790
64870
|
}
|
|
64791
64871
|
if (!this.#initialAttachDone && !this.isUrlAllowed(targetInfo.url)) {
|
|
@@ -64793,6 +64873,13 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64793
64873
|
return;
|
|
64794
64874
|
}
|
|
64795
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
|
+
}
|
|
64796
64883
|
await this.#silentDetach(session, parentSession);
|
|
64797
64884
|
if (this.#attachedTargetsByTargetId.has(targetInfo.targetId) ||
|
|
64798
64885
|
this.#ignoredTargets.has(targetInfo.targetId) ||
|
|
@@ -64849,9 +64936,9 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64849
64936
|
autoAttach: true,
|
|
64850
64937
|
filter: this.#discoveryFilter,
|
|
64851
64938
|
}),
|
|
64852
|
-
this.#maybeSetupNetworkConditions(session),
|
|
64939
|
+
this.#maybeSetupNetworkConditions(session, targetInfo),
|
|
64853
64940
|
session.send('Runtime.runIfWaitingForDebugger'),
|
|
64854
|
-
]).catch(
|
|
64941
|
+
]).catch(debugCatchError);
|
|
64855
64942
|
};
|
|
64856
64943
|
#finishInitializationIfReady(targetId) {
|
|
64857
64944
|
if (targetId !== undefined) {
|
|
@@ -64905,7 +64992,7 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64905
64992
|
}
|
|
64906
64993
|
return result;
|
|
64907
64994
|
}
|
|
64908
|
-
#maybeSetupNetworkConditions = async (session) => {
|
|
64995
|
+
#maybeSetupNetworkConditions = async (session, targetInfo) => {
|
|
64909
64996
|
if (this.#blocklist.length === 0 && this.#allowlist.length === 0) {
|
|
64910
64997
|
return;
|
|
64911
64998
|
}
|
|
@@ -64937,10 +65024,18 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64937
65024
|
uploadThroughput: -1,
|
|
64938
65025
|
});
|
|
64939
65026
|
}
|
|
64940
|
-
|
|
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', {
|
|
64941
65035
|
offline: this.#blocklist.length > 0 ? true : undefined,
|
|
64942
65036
|
matchedNetworkConditions,
|
|
64943
|
-
});
|
|
65037
|
+
}));
|
|
65038
|
+
await Promise.all(promises).catch(debugCatchError);
|
|
64944
65039
|
};
|
|
64945
65040
|
};
|
|
64946
65041
|
|
|
@@ -65325,7 +65420,7 @@ async function _connectToCdpBrowser(connectionTransport, url, options) {
|
|
|
65325
65420
|
false, idGenerator);
|
|
65326
65421
|
const { browserContextIds } = await connection.send('Target.getBrowserContexts');
|
|
65327
65422
|
const browser = await CdpBrowser._create(connection, browserContextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, undefined, () => {
|
|
65328
|
-
return connection.send('Browser.close').catch(
|
|
65423
|
+
return connection.send('Browser.close').catch(debugCatchError);
|
|
65329
65424
|
}, targetFilter, isPageTarget, undefined, networkEnabled, issuesEnabled, handleDevToolsAsPage, blocklist, allowlist);
|
|
65330
65425
|
return browser;
|
|
65331
65426
|
}
|
|
@@ -65383,7 +65478,7 @@ class BrowserWebSocketTransport {
|
|
|
65383
65478
|
this.onclose.call(null);
|
|
65384
65479
|
}
|
|
65385
65480
|
});
|
|
65386
|
-
this.#ws.addEventListener('error',
|
|
65481
|
+
this.#ws.addEventListener('error', debugCatchError);
|
|
65387
65482
|
}
|
|
65388
65483
|
send(message) {
|
|
65389
65484
|
this.#ws.send(message);
|
|
@@ -67015,7 +67110,9 @@ async function getBiDiConnection(connectionTransport, url, options) {
|
|
|
67015
67110
|
return {
|
|
67016
67111
|
bidiConnection: pureBidiConnection,
|
|
67017
67112
|
closeCallback: async () => {
|
|
67018
|
-
await pureBidiConnection
|
|
67113
|
+
await pureBidiConnection
|
|
67114
|
+
.send('browser.close', {})
|
|
67115
|
+
.catch(debugCatchError);
|
|
67019
67116
|
},
|
|
67020
67117
|
};
|
|
67021
67118
|
}
|
|
@@ -67037,7 +67134,7 @@ async function getBiDiConnection(connectionTransport, url, options) {
|
|
|
67037
67134
|
cdpConnection,
|
|
67038
67135
|
bidiConnection: bidiOverCdpConnection,
|
|
67039
67136
|
closeCallback: async () => {
|
|
67040
|
-
await cdpConnection.send('Browser.close').catch(
|
|
67137
|
+
await cdpConnection.send('Browser.close').catch(debugCatchError);
|
|
67041
67138
|
},
|
|
67042
67139
|
};
|
|
67043
67140
|
}
|
|
@@ -67061,6 +67158,16 @@ function assertSupportedUrlRestrictions(options) {
|
|
|
67061
67158
|
(options.blocklist || options.allowlist)) {
|
|
67062
67159
|
throw new Error('blocklist and allowlist are only supported with the CDP protocol');
|
|
67063
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
|
+
}
|
|
67064
67171
|
}
|
|
67065
67172
|
async function _connectToBrowser(options) {
|
|
67066
67173
|
assertSupportedUrlRestrictions(options);
|
|
@@ -67202,9 +67309,9 @@ class Puppeteer {
|
|
|
67202
67309
|
* SPDX-License-Identifier: Apache-2.0
|
|
67203
67310
|
*/
|
|
67204
67311
|
const PUPPETEER_REVISIONS = Object.freeze({
|
|
67205
|
-
chrome: '
|
|
67206
|
-
'chrome-headless-shell': '
|
|
67207
|
-
firefox: '
|
|
67312
|
+
chrome: '150.0.7871.24',
|
|
67313
|
+
'chrome-headless-shell': '150.0.7871.24',
|
|
67314
|
+
firefox: 'stable_152.0.1',
|
|
67208
67315
|
});
|
|
67209
67316
|
|
|
67210
67317
|
/**
|
|
@@ -72002,7 +72109,7 @@ class NodeWebSocketTransport {
|
|
|
72002
72109
|
this.onclose.call(null);
|
|
72003
72110
|
}
|
|
72004
72111
|
});
|
|
72005
|
-
this.#ws.addEventListener('error',
|
|
72112
|
+
this.#ws.addEventListener('error', debugCatchError);
|
|
72006
72113
|
}
|
|
72007
72114
|
send(message) {
|
|
72008
72115
|
this.#ws.send(message);
|
|
@@ -72036,10 +72143,10 @@ class PipeTransport {
|
|
|
72036
72143
|
this.onclose.call(null);
|
|
72037
72144
|
}
|
|
72038
72145
|
});
|
|
72039
|
-
pipeReadEmitter.on('error',
|
|
72146
|
+
pipeReadEmitter.on('error', debugCatchError);
|
|
72040
72147
|
const pipeWriteEmitter = this.#subscriptions.use(
|
|
72041
72148
|
new EventEmitter(pipeWrite));
|
|
72042
|
-
pipeWriteEmitter.on('error',
|
|
72149
|
+
pipeWriteEmitter.on('error', debugCatchError);
|
|
72043
72150
|
}
|
|
72044
72151
|
send(message) {
|
|
72045
72152
|
assert(!this.#isClosed, '`PipeTransport` is closed.');
|
|
@@ -72083,6 +72190,15 @@ class PipeTransport {
|
|
|
72083
72190
|
* Copyright 2017 Google Inc.
|
|
72084
72191
|
* SPDX-License-Identifier: Apache-2.0
|
|
72085
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
|
+
}
|
|
72086
72202
|
class BrowserLauncher {
|
|
72087
72203
|
#browser;
|
|
72088
72204
|
puppeteer;
|
|
@@ -72206,9 +72322,6 @@ class BrowserLauncher {
|
|
|
72206
72322
|
throw error;
|
|
72207
72323
|
}
|
|
72208
72324
|
if (Array.isArray(enableExtensions)) {
|
|
72209
|
-
if (this.#browser === 'chrome' && !usePipe) {
|
|
72210
|
-
throw new Error('To use `enableExtensions` with a list of paths in Chrome, you must be connected with `--remote-debugging-pipe` (`pipe: true`).');
|
|
72211
|
-
}
|
|
72212
72325
|
await Promise.all([
|
|
72213
72326
|
enableExtensions.map(path => {
|
|
72214
72327
|
return browser.installExtension(path);
|
|
@@ -72227,7 +72340,7 @@ class BrowserLauncher {
|
|
|
72227
72340
|
await browserProcess.hasClosed();
|
|
72228
72341
|
}
|
|
72229
72342
|
catch (error) {
|
|
72230
|
-
debugError(error);
|
|
72343
|
+
debugError?.(error);
|
|
72231
72344
|
await browserProcess.close();
|
|
72232
72345
|
}
|
|
72233
72346
|
}
|
|
@@ -72328,18 +72441,10 @@ class BrowserLauncher {
|
|
|
72328
72441
|
if (configVersion) {
|
|
72329
72442
|
throw new Error(`Tried to find the browser at the configured path (${executablePath}) for version ${configVersion}, but no executable was found.`);
|
|
72330
72443
|
}
|
|
72331
|
-
|
|
72332
|
-
|
|
72333
|
-
|
|
72334
|
-
|
|
72335
|
-
` 2. your cache path is incorrectly configured (which is: ${config.cacheDirectory}).\n` +
|
|
72336
|
-
'For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.');
|
|
72337
|
-
case 'firefox':
|
|
72338
|
-
throw new Error(`Could not find Firefox (rev. ${browserVersion}). This can occur if either\n` +
|
|
72339
|
-
' 1. you did not perform an installation for Firefox before running the script (e.g. `npx puppeteer browsers install firefox`) or\n' +
|
|
72340
|
-
` 2. your cache path is incorrectly configured (which is: ${config.cacheDirectory}).\n` +
|
|
72341
|
-
'For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.');
|
|
72342
|
-
}
|
|
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.');
|
|
72343
72448
|
}
|
|
72344
72449
|
return executablePath;
|
|
72345
72450
|
}
|
|
@@ -72436,16 +72541,21 @@ class ChromeLauncher extends BrowserLauncher {
|
|
|
72436
72541
|
}
|
|
72437
72542
|
}
|
|
72438
72543
|
let isTempUserDataDir = false;
|
|
72439
|
-
|
|
72544
|
+
const userDataDirIndex = chromeArguments.findIndex(arg => {
|
|
72440
72545
|
return arg.startsWith('--user-data-dir');
|
|
72441
72546
|
});
|
|
72547
|
+
let userDataDir;
|
|
72442
72548
|
if (userDataDirIndex < 0) {
|
|
72443
72549
|
isTempUserDataDir = true;
|
|
72444
|
-
|
|
72445
|
-
|
|
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;
|
|
72446
72558
|
}
|
|
72447
|
-
const userDataDir = chromeArguments[userDataDirIndex].split('=', 2)[1];
|
|
72448
|
-
assert(typeof userDataDir === 'string', '`--user-data-dir` is malformed');
|
|
72449
72559
|
let chromeExecutable = executablePath;
|
|
72450
72560
|
if (!chromeExecutable) {
|
|
72451
72561
|
assert(channel || !this.puppeteer._isPuppeteerCore, `An \`executablePath\` or \`channel\` must be specified for \`puppeteer-core\``);
|
|
@@ -72466,7 +72576,7 @@ class ChromeLauncher extends BrowserLauncher {
|
|
|
72466
72576
|
await rm(path);
|
|
72467
72577
|
}
|
|
72468
72578
|
catch (error) {
|
|
72469
|
-
debugError(error);
|
|
72579
|
+
debugError?.(error);
|
|
72470
72580
|
throw error;
|
|
72471
72581
|
}
|
|
72472
72582
|
}
|
|
@@ -72553,9 +72663,9 @@ class ChromeLauncher extends BrowserLauncher {
|
|
|
72553
72663
|
if (headless) {
|
|
72554
72664
|
chromeArguments.push(headless === 'shell' ? '--headless' : '--headless=new', '--hide-scrollbars', '--mute-audio');
|
|
72555
72665
|
}
|
|
72556
|
-
|
|
72557
|
-
|
|
72558
|
-
|
|
72666
|
+
if (!enableExtensions) {
|
|
72667
|
+
chromeArguments.push('--disable-extensions');
|
|
72668
|
+
}
|
|
72559
72669
|
if (args.every(arg => {
|
|
72560
72670
|
return arg.startsWith('-');
|
|
72561
72671
|
})) {
|
|
@@ -72689,7 +72799,7 @@ class FirefoxLauncher extends BrowserLauncher {
|
|
|
72689
72799
|
await rm(userDataDir);
|
|
72690
72800
|
}
|
|
72691
72801
|
catch (error) {
|
|
72692
|
-
debugError(error);
|
|
72802
|
+
debugError?.(error);
|
|
72693
72803
|
throw error;
|
|
72694
72804
|
}
|
|
72695
72805
|
}
|
|
@@ -72712,7 +72822,7 @@ class FirefoxLauncher extends BrowserLauncher {
|
|
|
72712
72822
|
}
|
|
72713
72823
|
}
|
|
72714
72824
|
catch (error) {
|
|
72715
|
-
debugError(error);
|
|
72825
|
+
debugError?.(error);
|
|
72716
72826
|
}
|
|
72717
72827
|
}
|
|
72718
72828
|
}
|
|
@@ -72926,6 +73036,11 @@ var __setFunctionName = (undefined && undefined.__setFunctionName) || function (
|
|
|
72926
73036
|
const CRF_VALUE = 30;
|
|
72927
73037
|
const DEFAULT_FPS = 30;
|
|
72928
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
|
+
}
|
|
72929
73044
|
let ScreenRecorder = (() => {
|
|
72930
73045
|
let _classSuper = PassThrough;
|
|
72931
73046
|
let _instanceExtraInitializers = [];
|
|
@@ -73001,10 +73116,9 @@ let ScreenRecorder = (() => {
|
|
|
73001
73116
|
'-fflags',
|
|
73002
73117
|
'nobuffer',
|
|
73003
73118
|
],
|
|
73004
|
-
['-f', 'image2pipe', '-vcodec', 'png', '-i', 'pipe:0'],
|
|
73119
|
+
['-framerate', `${fps}`, '-f', 'image2pipe', '-vcodec', 'png', '-i', 'pipe:0'],
|
|
73005
73120
|
['-an'],
|
|
73006
73121
|
['-threads', '1'],
|
|
73007
|
-
['-framerate', `${fps}`],
|
|
73008
73122
|
['-b:v', '0'],
|
|
73009
73123
|
formatArgs,
|
|
73010
73124
|
['-vf', filters.join()],
|
|
@@ -73013,13 +73127,14 @@ let ScreenRecorder = (() => {
|
|
|
73013
73127
|
].flat(), { stdio: ['pipe', 'pipe', 'pipe'] });
|
|
73014
73128
|
this.#process.stdout.pipe(this);
|
|
73015
73129
|
this.#process.stderr.on('data', (data) => {
|
|
73016
|
-
debugFfmpeg(data.toString('utf8'));
|
|
73130
|
+
debugFfmpeg?.(data.toString('utf8'));
|
|
73017
73131
|
});
|
|
73018
73132
|
this.#page = page;
|
|
73019
73133
|
const { client } = this.#page.mainFrame();
|
|
73020
73134
|
client.once(CDPSessionEvent.Disconnected, () => {
|
|
73021
|
-
void this.stop().catch(
|
|
73135
|
+
void this.stop().catch(debugCatchError);
|
|
73022
73136
|
});
|
|
73137
|
+
let startTimestamp;
|
|
73023
73138
|
this.#lastFrame = lastValueFrom(fromEmitterEvent(client, 'Page.screencastFrame').pipe(tap(event => {
|
|
73024
73139
|
void client.send('Page.screencastFrameAck', {
|
|
73025
73140
|
sessionId: event.sessionId,
|
|
@@ -73032,7 +73147,8 @@ let ScreenRecorder = (() => {
|
|
|
73032
73147
|
timestamp: event.metadata.timestamp,
|
|
73033
73148
|
};
|
|
73034
73149
|
}), bufferCount(2, 1), concatMap(([{ timestamp: previousTimestamp, buffer }, { timestamp }]) => {
|
|
73035
|
-
|
|
73150
|
+
startTimestamp ??= previousTimestamp;
|
|
73151
|
+
return from(Array(countFrames(startTimestamp, previousTimestamp, timestamp, fps)).fill(buffer));
|
|
73036
73152
|
}), map(buffer => {
|
|
73037
73153
|
void this.#writeFrame(buffer);
|
|
73038
73154
|
return [buffer, performance.now()];
|
|
@@ -73085,7 +73201,7 @@ let ScreenRecorder = (() => {
|
|
|
73085
73201
|
if (this.#controller.signal.aborted) {
|
|
73086
73202
|
return;
|
|
73087
73203
|
}
|
|
73088
|
-
await this.#page._stopScreencast().catch(
|
|
73204
|
+
await this.#page._stopScreencast().catch(debugCatchError);
|
|
73089
73205
|
this.#controller.abort();
|
|
73090
73206
|
const [buffer, timestamp] = await this.#lastFrame;
|
|
73091
73207
|
await Promise.all(Array(Math.max(1, Math.round((this.#fps * (performance.now() - timestamp)) / 1000)))
|
|
@@ -73108,11 +73224,7 @@ let ScreenRecorder = (() => {
|
|
|
73108
73224
|
* Copyright 2017 Google Inc.
|
|
73109
73225
|
* SPDX-License-Identifier: Apache-2.0
|
|
73110
73226
|
*/
|
|
73111
|
-
environment.value =
|
|
73112
|
-
fs,
|
|
73113
|
-
path,
|
|
73114
|
-
ScreenRecorder: ScreenRecorder,
|
|
73115
|
-
};
|
|
73227
|
+
environment.value.ScreenRecorder = ScreenRecorder;
|
|
73116
73228
|
const puppeteer = new PuppeteerNode({
|
|
73117
73229
|
isPuppeteerCore: true,
|
|
73118
73230
|
});
|
|
@@ -79341,6 +79453,9 @@ const debounce = function (func, delay) {
|
|
|
79341
79453
|
clearTimeout(timer);
|
|
79342
79454
|
timer = setTimeout(() => func(...args), testDebounceOverride ? 0 : delay);
|
|
79343
79455
|
};
|
|
79456
|
+
debounced.cancel = () => {
|
|
79457
|
+
clearTimeout(timer);
|
|
79458
|
+
};
|
|
79344
79459
|
return debounced;
|
|
79345
79460
|
};
|
|
79346
79461
|
let testDebounceOverride = false;
|
|
@@ -86811,7 +86926,8 @@ function registerCommands(inspectorBackend) {
|
|
|
86811
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" }]);
|
|
86812
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" }]);
|
|
86813
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" }]);
|
|
86814
|
-
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" }]);
|
|
86815
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 }]);
|
|
86816
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 }]);
|
|
86817
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" }]);
|
|
@@ -90290,7 +90406,21 @@ const generatedProperties = [
|
|
|
90290
90406
|
"block-ellipsis",
|
|
90291
90407
|
"continue"
|
|
90292
90408
|
],
|
|
90293
|
-
"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"
|
|
90294
90424
|
},
|
|
90295
90425
|
{
|
|
90296
90426
|
"inherited": true,
|
|
@@ -90372,6 +90502,12 @@ const generatedProperties = [
|
|
|
90372
90502
|
},
|
|
90373
90503
|
{
|
|
90374
90504
|
"inherited": true,
|
|
90505
|
+
"keywords": [
|
|
90506
|
+
"auto",
|
|
90507
|
+
"none",
|
|
90508
|
+
"antialiased",
|
|
90509
|
+
"subpixel-antialiased"
|
|
90510
|
+
],
|
|
90375
90511
|
"name": "-webkit-font-smoothing"
|
|
90376
90512
|
},
|
|
90377
90513
|
{
|
|
@@ -90392,6 +90528,9 @@ const generatedProperties = [
|
|
|
90392
90528
|
},
|
|
90393
90529
|
{
|
|
90394
90530
|
"inherited": true,
|
|
90531
|
+
"keywords": [
|
|
90532
|
+
"auto"
|
|
90533
|
+
],
|
|
90395
90534
|
"name": "-webkit-locale"
|
|
90396
90535
|
},
|
|
90397
90536
|
{
|
|
@@ -90408,15 +90547,27 @@ const generatedProperties = [
|
|
|
90408
90547
|
"name": "-webkit-mask-box-image-outset"
|
|
90409
90548
|
},
|
|
90410
90549
|
{
|
|
90550
|
+
"keywords": [
|
|
90551
|
+
"repeat",
|
|
90552
|
+
"stretch",
|
|
90553
|
+
"space",
|
|
90554
|
+
"round"
|
|
90555
|
+
],
|
|
90411
90556
|
"name": "-webkit-mask-box-image-repeat"
|
|
90412
90557
|
},
|
|
90413
90558
|
{
|
|
90414
90559
|
"name": "-webkit-mask-box-image-slice"
|
|
90415
90560
|
},
|
|
90416
90561
|
{
|
|
90562
|
+
"keywords": [
|
|
90563
|
+
"none"
|
|
90564
|
+
],
|
|
90417
90565
|
"name": "-webkit-mask-box-image-source"
|
|
90418
90566
|
},
|
|
90419
90567
|
{
|
|
90568
|
+
"keywords": [
|
|
90569
|
+
"auto"
|
|
90570
|
+
],
|
|
90420
90571
|
"name": "-webkit-mask-box-image-width"
|
|
90421
90572
|
},
|
|
90422
90573
|
{
|
|
@@ -90449,10 +90600,23 @@ const generatedProperties = [
|
|
|
90449
90600
|
},
|
|
90450
90601
|
{
|
|
90451
90602
|
"inherited": true,
|
|
90603
|
+
"keywords": [
|
|
90604
|
+
"none",
|
|
90605
|
+
"horizontal"
|
|
90606
|
+
],
|
|
90452
90607
|
"name": "-webkit-text-combine"
|
|
90453
90608
|
},
|
|
90454
90609
|
{
|
|
90455
90610
|
"inherited": true,
|
|
90611
|
+
"keywords": [
|
|
90612
|
+
"none",
|
|
90613
|
+
"blink",
|
|
90614
|
+
"line-through",
|
|
90615
|
+
"overline",
|
|
90616
|
+
"underline",
|
|
90617
|
+
"spelling-error",
|
|
90618
|
+
"grammar-error"
|
|
90619
|
+
],
|
|
90456
90620
|
"name": "-webkit-text-decorations-in-effect"
|
|
90457
90621
|
},
|
|
90458
90622
|
{
|
|
@@ -90539,6 +90703,20 @@ const generatedProperties = [
|
|
|
90539
90703
|
"name": "align-items"
|
|
90540
90704
|
},
|
|
90541
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
|
+
],
|
|
90542
90720
|
"name": "align-self"
|
|
90543
90721
|
},
|
|
90544
90722
|
{
|
|
@@ -90560,6 +90738,7 @@ const generatedProperties = [
|
|
|
90560
90738
|
},
|
|
90561
90739
|
{
|
|
90562
90740
|
"longhands": [
|
|
90741
|
+
"-alternative-webkit-line-clamp-longhand",
|
|
90563
90742
|
"-webkit-border-horizontal-spacing",
|
|
90564
90743
|
"-webkit-border-vertical-spacing",
|
|
90565
90744
|
"-webkit-box-align",
|
|
@@ -90825,6 +91004,7 @@ const generatedProperties = [
|
|
|
90825
91004
|
"letter-spacing",
|
|
90826
91005
|
"lighting-color",
|
|
90827
91006
|
"line-break",
|
|
91007
|
+
"line-clamp",
|
|
90828
91008
|
"line-gap-override",
|
|
90829
91009
|
"line-height",
|
|
90830
91010
|
"list-style-image",
|
|
@@ -91131,6 +91311,9 @@ const generatedProperties = [
|
|
|
91131
91311
|
"name": "animation-direction"
|
|
91132
91312
|
},
|
|
91133
91313
|
{
|
|
91314
|
+
"keywords": [
|
|
91315
|
+
"auto"
|
|
91316
|
+
],
|
|
91134
91317
|
"name": "animation-duration"
|
|
91135
91318
|
},
|
|
91136
91319
|
{
|
|
@@ -91212,6 +91395,22 @@ const generatedProperties = [
|
|
|
91212
91395
|
"name": "app-region"
|
|
91213
91396
|
},
|
|
91214
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
|
+
],
|
|
91215
91414
|
"name": "appearance"
|
|
91216
91415
|
},
|
|
91217
91416
|
{
|
|
@@ -91299,7 +91498,6 @@ const generatedProperties = [
|
|
|
91299
91498
|
},
|
|
91300
91499
|
{
|
|
91301
91500
|
"keywords": [
|
|
91302
|
-
"auto",
|
|
91303
91501
|
"none"
|
|
91304
91502
|
],
|
|
91305
91503
|
"name": "background-image"
|
|
@@ -91428,9 +91626,26 @@ const generatedProperties = [
|
|
|
91428
91626
|
"name": "border-block-end-color"
|
|
91429
91627
|
},
|
|
91430
91628
|
{
|
|
91629
|
+
"keywords": [
|
|
91630
|
+
"none",
|
|
91631
|
+
"hidden",
|
|
91632
|
+
"inset",
|
|
91633
|
+
"groove",
|
|
91634
|
+
"outset",
|
|
91635
|
+
"ridge",
|
|
91636
|
+
"dotted",
|
|
91637
|
+
"dashed",
|
|
91638
|
+
"solid",
|
|
91639
|
+
"double"
|
|
91640
|
+
],
|
|
91431
91641
|
"name": "border-block-end-style"
|
|
91432
91642
|
},
|
|
91433
91643
|
{
|
|
91644
|
+
"keywords": [
|
|
91645
|
+
"medium",
|
|
91646
|
+
"thick",
|
|
91647
|
+
"thin"
|
|
91648
|
+
],
|
|
91434
91649
|
"name": "border-block-end-width"
|
|
91435
91650
|
},
|
|
91436
91651
|
{
|
|
@@ -91445,9 +91660,26 @@ const generatedProperties = [
|
|
|
91445
91660
|
"name": "border-block-start-color"
|
|
91446
91661
|
},
|
|
91447
91662
|
{
|
|
91663
|
+
"keywords": [
|
|
91664
|
+
"none",
|
|
91665
|
+
"hidden",
|
|
91666
|
+
"inset",
|
|
91667
|
+
"groove",
|
|
91668
|
+
"outset",
|
|
91669
|
+
"ridge",
|
|
91670
|
+
"dotted",
|
|
91671
|
+
"dashed",
|
|
91672
|
+
"solid",
|
|
91673
|
+
"double"
|
|
91674
|
+
],
|
|
91448
91675
|
"name": "border-block-start-style"
|
|
91449
91676
|
},
|
|
91450
91677
|
{
|
|
91678
|
+
"keywords": [
|
|
91679
|
+
"medium",
|
|
91680
|
+
"thick",
|
|
91681
|
+
"thin"
|
|
91682
|
+
],
|
|
91451
91683
|
"name": "border-block-start-width"
|
|
91452
91684
|
},
|
|
91453
91685
|
{
|
|
@@ -91531,6 +91763,13 @@ const generatedProperties = [
|
|
|
91531
91763
|
"name": "border-end-start-radius"
|
|
91532
91764
|
},
|
|
91533
91765
|
{
|
|
91766
|
+
"keywords": [
|
|
91767
|
+
"none",
|
|
91768
|
+
"repeat",
|
|
91769
|
+
"stretch",
|
|
91770
|
+
"space",
|
|
91771
|
+
"round"
|
|
91772
|
+
],
|
|
91534
91773
|
"longhands": [
|
|
91535
91774
|
"border-image-source",
|
|
91536
91775
|
"border-image-slice",
|
|
@@ -91597,9 +91836,26 @@ const generatedProperties = [
|
|
|
91597
91836
|
"name": "border-inline-end-color"
|
|
91598
91837
|
},
|
|
91599
91838
|
{
|
|
91839
|
+
"keywords": [
|
|
91840
|
+
"none",
|
|
91841
|
+
"hidden",
|
|
91842
|
+
"inset",
|
|
91843
|
+
"groove",
|
|
91844
|
+
"outset",
|
|
91845
|
+
"ridge",
|
|
91846
|
+
"dotted",
|
|
91847
|
+
"dashed",
|
|
91848
|
+
"solid",
|
|
91849
|
+
"double"
|
|
91850
|
+
],
|
|
91600
91851
|
"name": "border-inline-end-style"
|
|
91601
91852
|
},
|
|
91602
91853
|
{
|
|
91854
|
+
"keywords": [
|
|
91855
|
+
"medium",
|
|
91856
|
+
"thick",
|
|
91857
|
+
"thin"
|
|
91858
|
+
],
|
|
91603
91859
|
"name": "border-inline-end-width"
|
|
91604
91860
|
},
|
|
91605
91861
|
{
|
|
@@ -91614,9 +91870,26 @@ const generatedProperties = [
|
|
|
91614
91870
|
"name": "border-inline-start-color"
|
|
91615
91871
|
},
|
|
91616
91872
|
{
|
|
91873
|
+
"keywords": [
|
|
91874
|
+
"none",
|
|
91875
|
+
"hidden",
|
|
91876
|
+
"inset",
|
|
91877
|
+
"groove",
|
|
91878
|
+
"outset",
|
|
91879
|
+
"ridge",
|
|
91880
|
+
"dotted",
|
|
91881
|
+
"dashed",
|
|
91882
|
+
"solid",
|
|
91883
|
+
"double"
|
|
91884
|
+
],
|
|
91617
91885
|
"name": "border-inline-start-style"
|
|
91618
91886
|
},
|
|
91619
91887
|
{
|
|
91888
|
+
"keywords": [
|
|
91889
|
+
"medium",
|
|
91890
|
+
"thick",
|
|
91891
|
+
"thin"
|
|
91892
|
+
],
|
|
91620
91893
|
"name": "border-inline-start-width"
|
|
91621
91894
|
},
|
|
91622
91895
|
{
|
|
@@ -92174,6 +92447,9 @@ const generatedProperties = [
|
|
|
92174
92447
|
"name": "contain"
|
|
92175
92448
|
},
|
|
92176
92449
|
{
|
|
92450
|
+
"keywords": [
|
|
92451
|
+
"none"
|
|
92452
|
+
],
|
|
92177
92453
|
"name": "contain-intrinsic-block-size"
|
|
92178
92454
|
},
|
|
92179
92455
|
{
|
|
@@ -92183,6 +92459,9 @@ const generatedProperties = [
|
|
|
92183
92459
|
"name": "contain-intrinsic-height"
|
|
92184
92460
|
},
|
|
92185
92461
|
{
|
|
92462
|
+
"keywords": [
|
|
92463
|
+
"none"
|
|
92464
|
+
],
|
|
92186
92465
|
"name": "contain-intrinsic-inline-size"
|
|
92187
92466
|
},
|
|
92188
92467
|
{
|
|
@@ -92222,6 +92501,14 @@ const generatedProperties = [
|
|
|
92222
92501
|
"name": "container-type"
|
|
92223
92502
|
},
|
|
92224
92503
|
{
|
|
92504
|
+
"keywords": [
|
|
92505
|
+
"none",
|
|
92506
|
+
"normal",
|
|
92507
|
+
"close-quote",
|
|
92508
|
+
"no-close-quote",
|
|
92509
|
+
"no-open-quote",
|
|
92510
|
+
"open-quote"
|
|
92511
|
+
],
|
|
92225
92512
|
"name": "content"
|
|
92226
92513
|
},
|
|
92227
92514
|
{
|
|
@@ -93252,13 +93539,19 @@ const generatedProperties = [
|
|
|
93252
93539
|
},
|
|
93253
93540
|
{
|
|
93254
93541
|
"keywords": [
|
|
93255
|
-
"
|
|
93542
|
+
"auto",
|
|
93543
|
+
"none",
|
|
93544
|
+
"min-content",
|
|
93545
|
+
"max-content"
|
|
93256
93546
|
],
|
|
93257
93547
|
"name": "grid-template-columns"
|
|
93258
93548
|
},
|
|
93259
93549
|
{
|
|
93260
93550
|
"keywords": [
|
|
93261
|
-
"
|
|
93551
|
+
"auto",
|
|
93552
|
+
"none",
|
|
93553
|
+
"min-content",
|
|
93554
|
+
"max-content"
|
|
93262
93555
|
],
|
|
93263
93556
|
"name": "grid-template-rows"
|
|
93264
93557
|
},
|
|
@@ -93293,6 +93586,9 @@ const generatedProperties = [
|
|
|
93293
93586
|
},
|
|
93294
93587
|
{
|
|
93295
93588
|
"inherited": true,
|
|
93589
|
+
"keywords": [
|
|
93590
|
+
"auto"
|
|
93591
|
+
],
|
|
93296
93592
|
"name": "hyphenate-character"
|
|
93297
93593
|
},
|
|
93298
93594
|
{
|
|
@@ -93323,6 +93619,10 @@ const generatedProperties = [
|
|
|
93323
93619
|
},
|
|
93324
93620
|
{
|
|
93325
93621
|
"inherited": true,
|
|
93622
|
+
"keywords": [
|
|
93623
|
+
"none",
|
|
93624
|
+
"from-image"
|
|
93625
|
+
],
|
|
93326
93626
|
"name": "image-orientation"
|
|
93327
93627
|
},
|
|
93328
93628
|
{
|
|
@@ -93379,9 +93679,15 @@ const generatedProperties = [
|
|
|
93379
93679
|
"name": "inset-block"
|
|
93380
93680
|
},
|
|
93381
93681
|
{
|
|
93682
|
+
"keywords": [
|
|
93683
|
+
"auto"
|
|
93684
|
+
],
|
|
93382
93685
|
"name": "inset-block-end"
|
|
93383
93686
|
},
|
|
93384
93687
|
{
|
|
93688
|
+
"keywords": [
|
|
93689
|
+
"auto"
|
|
93690
|
+
],
|
|
93385
93691
|
"name": "inset-block-start"
|
|
93386
93692
|
},
|
|
93387
93693
|
{
|
|
@@ -93392,9 +93698,15 @@ const generatedProperties = [
|
|
|
93392
93698
|
"name": "inset-inline"
|
|
93393
93699
|
},
|
|
93394
93700
|
{
|
|
93701
|
+
"keywords": [
|
|
93702
|
+
"auto"
|
|
93703
|
+
],
|
|
93395
93704
|
"name": "inset-inline-end"
|
|
93396
93705
|
},
|
|
93397
93706
|
{
|
|
93707
|
+
"keywords": [
|
|
93708
|
+
"auto"
|
|
93709
|
+
],
|
|
93398
93710
|
"name": "inset-inline-start"
|
|
93399
93711
|
},
|
|
93400
93712
|
{
|
|
@@ -93440,6 +93752,22 @@ const generatedProperties = [
|
|
|
93440
93752
|
"name": "justify-items"
|
|
93441
93753
|
},
|
|
93442
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
|
+
],
|
|
93443
93771
|
"name": "justify-self"
|
|
93444
93772
|
},
|
|
93445
93773
|
{
|
|
@@ -93474,10 +93802,12 @@ const generatedProperties = [
|
|
|
93474
93802
|
"name": "line-break"
|
|
93475
93803
|
},
|
|
93476
93804
|
{
|
|
93477
|
-
"
|
|
93478
|
-
"
|
|
93479
|
-
"
|
|
93480
|
-
"
|
|
93805
|
+
"keywords": [
|
|
93806
|
+
"none",
|
|
93807
|
+
"auto",
|
|
93808
|
+
"ellipsis",
|
|
93809
|
+
"no-ellipsis",
|
|
93810
|
+
"-webkit-legacy"
|
|
93481
93811
|
],
|
|
93482
93812
|
"name": "line-clamp"
|
|
93483
93813
|
},
|
|
@@ -93661,6 +93991,9 @@ const generatedProperties = [
|
|
|
93661
93991
|
"name": "mask-composite"
|
|
93662
93992
|
},
|
|
93663
93993
|
{
|
|
93994
|
+
"keywords": [
|
|
93995
|
+
"none"
|
|
93996
|
+
],
|
|
93664
93997
|
"name": "mask-image"
|
|
93665
93998
|
},
|
|
93666
93999
|
{
|
|
@@ -93685,6 +94018,11 @@ const generatedProperties = [
|
|
|
93685
94018
|
"name": "mask-repeat"
|
|
93686
94019
|
},
|
|
93687
94020
|
{
|
|
94021
|
+
"keywords": [
|
|
94022
|
+
"auto",
|
|
94023
|
+
"contain",
|
|
94024
|
+
"cover"
|
|
94025
|
+
],
|
|
93688
94026
|
"name": "mask-size"
|
|
93689
94027
|
},
|
|
93690
94028
|
{
|
|
@@ -93745,15 +94083,43 @@ const generatedProperties = [
|
|
|
93745
94083
|
"name": "max-width"
|
|
93746
94084
|
},
|
|
93747
94085
|
{
|
|
94086
|
+
"keywords": [
|
|
94087
|
+
"auto",
|
|
94088
|
+
"min-content",
|
|
94089
|
+
"max-content",
|
|
94090
|
+
"fit-content",
|
|
94091
|
+
"stretch"
|
|
94092
|
+
],
|
|
93748
94093
|
"name": "min-block-size"
|
|
93749
94094
|
},
|
|
93750
94095
|
{
|
|
94096
|
+
"keywords": [
|
|
94097
|
+
"auto",
|
|
94098
|
+
"min-content",
|
|
94099
|
+
"max-content",
|
|
94100
|
+
"fit-content",
|
|
94101
|
+
"stretch"
|
|
94102
|
+
],
|
|
93751
94103
|
"name": "min-height"
|
|
93752
94104
|
},
|
|
93753
94105
|
{
|
|
94106
|
+
"keywords": [
|
|
94107
|
+
"auto",
|
|
94108
|
+
"min-content",
|
|
94109
|
+
"max-content",
|
|
94110
|
+
"fit-content",
|
|
94111
|
+
"stretch"
|
|
94112
|
+
],
|
|
93754
94113
|
"name": "min-inline-size"
|
|
93755
94114
|
},
|
|
93756
94115
|
{
|
|
94116
|
+
"keywords": [
|
|
94117
|
+
"auto",
|
|
94118
|
+
"min-content",
|
|
94119
|
+
"max-content",
|
|
94120
|
+
"fit-content",
|
|
94121
|
+
"stretch"
|
|
94122
|
+
],
|
|
93757
94123
|
"name": "min-width"
|
|
93758
94124
|
},
|
|
93759
94125
|
{
|
|
@@ -93864,6 +94230,21 @@ const generatedProperties = [
|
|
|
93864
94230
|
"name": "orphans"
|
|
93865
94231
|
},
|
|
93866
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
|
+
],
|
|
93867
94248
|
"longhands": [
|
|
93868
94249
|
"outline-color",
|
|
93869
94250
|
"outline-style",
|
|
@@ -93977,6 +94358,11 @@ const generatedProperties = [
|
|
|
93977
94358
|
"name": "override-colors"
|
|
93978
94359
|
},
|
|
93979
94360
|
{
|
|
94361
|
+
"keywords": [
|
|
94362
|
+
"auto",
|
|
94363
|
+
"none",
|
|
94364
|
+
"contain"
|
|
94365
|
+
],
|
|
93980
94366
|
"longhands": [
|
|
93981
94367
|
"overscroll-behavior-x",
|
|
93982
94368
|
"overscroll-behavior-y"
|
|
@@ -94072,6 +94458,13 @@ const generatedProperties = [
|
|
|
94072
94458
|
"name": "page-break-after"
|
|
94073
94459
|
},
|
|
94074
94460
|
{
|
|
94461
|
+
"keywords": [
|
|
94462
|
+
"auto",
|
|
94463
|
+
"left",
|
|
94464
|
+
"right",
|
|
94465
|
+
"always",
|
|
94466
|
+
"avoid"
|
|
94467
|
+
],
|
|
94075
94468
|
"longhands": [
|
|
94076
94469
|
"break-before"
|
|
94077
94470
|
],
|
|
@@ -94662,6 +95055,11 @@ const generatedProperties = [
|
|
|
94662
95055
|
"name": "scroll-margin-top"
|
|
94663
95056
|
},
|
|
94664
95057
|
{
|
|
95058
|
+
"keywords": [
|
|
95059
|
+
"none",
|
|
95060
|
+
"after",
|
|
95061
|
+
"before"
|
|
95062
|
+
],
|
|
94665
95063
|
"name": "scroll-marker-group"
|
|
94666
95064
|
},
|
|
94667
95065
|
{
|
|
@@ -94782,6 +95180,9 @@ const generatedProperties = [
|
|
|
94782
95180
|
"name": "scroll-timeline-axis"
|
|
94783
95181
|
},
|
|
94784
95182
|
{
|
|
95183
|
+
"keywords": [
|
|
95184
|
+
"none"
|
|
95185
|
+
],
|
|
94785
95186
|
"name": "scroll-timeline-name"
|
|
94786
95187
|
},
|
|
94787
95188
|
{
|
|
@@ -94818,9 +95219,6 @@ const generatedProperties = [
|
|
|
94818
95219
|
"name": "shape-image-threshold"
|
|
94819
95220
|
},
|
|
94820
95221
|
{
|
|
94821
|
-
"keywords": [
|
|
94822
|
-
"none"
|
|
94823
|
-
],
|
|
94824
95222
|
"name": "shape-margin"
|
|
94825
95223
|
},
|
|
94826
95224
|
{
|
|
@@ -94840,6 +95238,11 @@ const generatedProperties = [
|
|
|
94840
95238
|
"name": "shape-rendering"
|
|
94841
95239
|
},
|
|
94842
95240
|
{
|
|
95241
|
+
"keywords": [
|
|
95242
|
+
"auto",
|
|
95243
|
+
"portrait",
|
|
95244
|
+
"landscape"
|
|
95245
|
+
],
|
|
94843
95246
|
"name": "size"
|
|
94844
95247
|
},
|
|
94845
95248
|
{
|
|
@@ -95010,6 +95413,12 @@ const generatedProperties = [
|
|
|
95010
95413
|
},
|
|
95011
95414
|
{
|
|
95012
95415
|
"inherited": true,
|
|
95416
|
+
"keywords": [
|
|
95417
|
+
"auto",
|
|
95418
|
+
"text",
|
|
95419
|
+
"cap",
|
|
95420
|
+
"ex"
|
|
95421
|
+
],
|
|
95013
95422
|
"name": "text-box-edge"
|
|
95014
95423
|
},
|
|
95015
95424
|
{
|
|
@@ -95251,6 +95660,10 @@ const generatedProperties = [
|
|
|
95251
95660
|
"name": "text-wrap-style"
|
|
95252
95661
|
},
|
|
95253
95662
|
{
|
|
95663
|
+
"keywords": [
|
|
95664
|
+
"none",
|
|
95665
|
+
"all"
|
|
95666
|
+
],
|
|
95254
95667
|
"name": "timeline-scope"
|
|
95255
95668
|
},
|
|
95256
95669
|
{
|
|
@@ -95285,12 +95698,23 @@ const generatedProperties = [
|
|
|
95285
95698
|
"name": "timeline-trigger-active-range"
|
|
95286
95699
|
},
|
|
95287
95700
|
{
|
|
95701
|
+
"keywords": [
|
|
95702
|
+
"auto",
|
|
95703
|
+
"normal"
|
|
95704
|
+
],
|
|
95288
95705
|
"name": "timeline-trigger-active-range-end"
|
|
95289
95706
|
},
|
|
95290
95707
|
{
|
|
95708
|
+
"keywords": [
|
|
95709
|
+
"auto",
|
|
95710
|
+
"normal"
|
|
95711
|
+
],
|
|
95291
95712
|
"name": "timeline-trigger-active-range-start"
|
|
95292
95713
|
},
|
|
95293
95714
|
{
|
|
95715
|
+
"keywords": [
|
|
95716
|
+
"none"
|
|
95717
|
+
],
|
|
95294
95718
|
"name": "timeline-trigger-name"
|
|
95295
95719
|
},
|
|
95296
95720
|
{
|
|
@@ -95464,9 +95888,15 @@ const generatedProperties = [
|
|
|
95464
95888
|
"name": "view-timeline-axis"
|
|
95465
95889
|
},
|
|
95466
95890
|
{
|
|
95891
|
+
"keywords": [
|
|
95892
|
+
"auto"
|
|
95893
|
+
],
|
|
95467
95894
|
"name": "view-timeline-inset"
|
|
95468
95895
|
},
|
|
95469
95896
|
{
|
|
95897
|
+
"keywords": [
|
|
95898
|
+
"none"
|
|
95899
|
+
],
|
|
95470
95900
|
"name": "view-timeline-name"
|
|
95471
95901
|
},
|
|
95472
95902
|
{
|
|
@@ -95590,6 +96020,11 @@ const generatedProperties = [
|
|
|
95590
96020
|
}
|
|
95591
96021
|
];
|
|
95592
96022
|
const generatedPropertyValues = {
|
|
96023
|
+
"-alternative-webkit-line-clamp-longhand": {
|
|
96024
|
+
"values": [
|
|
96025
|
+
"none"
|
|
96026
|
+
]
|
|
96027
|
+
},
|
|
95593
96028
|
"-webkit-box-align": {
|
|
95594
96029
|
"values": [
|
|
95595
96030
|
"stretch",
|
|
@@ -95625,6 +96060,14 @@ const generatedPropertyValues = {
|
|
|
95625
96060
|
"justify"
|
|
95626
96061
|
]
|
|
95627
96062
|
},
|
|
96063
|
+
"-webkit-font-smoothing": {
|
|
96064
|
+
"values": [
|
|
96065
|
+
"auto",
|
|
96066
|
+
"none",
|
|
96067
|
+
"antialiased",
|
|
96068
|
+
"subpixel-antialiased"
|
|
96069
|
+
]
|
|
96070
|
+
},
|
|
95628
96071
|
"-webkit-line-break": {
|
|
95629
96072
|
"values": [
|
|
95630
96073
|
"auto",
|
|
@@ -95639,12 +96082,52 @@ const generatedPropertyValues = {
|
|
|
95639
96082
|
"none"
|
|
95640
96083
|
]
|
|
95641
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
|
+
},
|
|
95642
96108
|
"-webkit-rtl-ordering": {
|
|
95643
96109
|
"values": [
|
|
95644
96110
|
"logical",
|
|
95645
96111
|
"visual"
|
|
95646
96112
|
]
|
|
95647
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
|
+
},
|
|
95648
96131
|
"-webkit-text-security": {
|
|
95649
96132
|
"values": [
|
|
95650
96133
|
"none",
|
|
@@ -95673,6 +96156,22 @@ const generatedPropertyValues = {
|
|
|
95673
96156
|
"currentcolor"
|
|
95674
96157
|
]
|
|
95675
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
|
+
},
|
|
95676
96175
|
"alignment-baseline": {
|
|
95677
96176
|
"values": [
|
|
95678
96177
|
"auto",
|
|
@@ -95715,6 +96214,11 @@ const generatedPropertyValues = {
|
|
|
95715
96214
|
"alternate-reverse"
|
|
95716
96215
|
]
|
|
95717
96216
|
},
|
|
96217
|
+
"animation-duration": {
|
|
96218
|
+
"values": [
|
|
96219
|
+
"auto"
|
|
96220
|
+
]
|
|
96221
|
+
},
|
|
95718
96222
|
"animation-fill-mode": {
|
|
95719
96223
|
"values": [
|
|
95720
96224
|
"none",
|
|
@@ -95772,6 +96276,24 @@ const generatedPropertyValues = {
|
|
|
95772
96276
|
"no-drag"
|
|
95773
96277
|
]
|
|
95774
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
|
+
},
|
|
95775
96297
|
"aspect-ratio": {
|
|
95776
96298
|
"values": [
|
|
95777
96299
|
"auto"
|
|
@@ -95831,7 +96353,6 @@ const generatedPropertyValues = {
|
|
|
95831
96353
|
},
|
|
95832
96354
|
"background-image": {
|
|
95833
96355
|
"values": [
|
|
95834
|
-
"auto",
|
|
95835
96356
|
"none"
|
|
95836
96357
|
]
|
|
95837
96358
|
},
|
|
@@ -95874,6 +96395,48 @@ const generatedPropertyValues = {
|
|
|
95874
96395
|
"auto"
|
|
95875
96396
|
]
|
|
95876
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
|
+
},
|
|
95877
96440
|
"border-bottom-color": {
|
|
95878
96441
|
"values": [
|
|
95879
96442
|
"currentcolor"
|
|
@@ -95906,6 +96469,15 @@ const generatedPropertyValues = {
|
|
|
95906
96469
|
"collapse"
|
|
95907
96470
|
]
|
|
95908
96471
|
},
|
|
96472
|
+
"border-image": {
|
|
96473
|
+
"values": [
|
|
96474
|
+
"none",
|
|
96475
|
+
"repeat",
|
|
96476
|
+
"stretch",
|
|
96477
|
+
"space",
|
|
96478
|
+
"round"
|
|
96479
|
+
]
|
|
96480
|
+
},
|
|
95909
96481
|
"border-image-repeat": {
|
|
95910
96482
|
"values": [
|
|
95911
96483
|
"stretch",
|
|
@@ -95924,6 +96496,48 @@ const generatedPropertyValues = {
|
|
|
95924
96496
|
"auto"
|
|
95925
96497
|
]
|
|
95926
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
|
+
},
|
|
95927
96541
|
"border-left-color": {
|
|
95928
96542
|
"values": [
|
|
95929
96543
|
"currentcolor"
|
|
@@ -96275,11 +96889,21 @@ const generatedPropertyValues = {
|
|
|
96275
96889
|
"block-size"
|
|
96276
96890
|
]
|
|
96277
96891
|
},
|
|
96892
|
+
"contain-intrinsic-block-size": {
|
|
96893
|
+
"values": [
|
|
96894
|
+
"none"
|
|
96895
|
+
]
|
|
96896
|
+
},
|
|
96278
96897
|
"contain-intrinsic-height": {
|
|
96279
96898
|
"values": [
|
|
96280
96899
|
"none"
|
|
96281
96900
|
]
|
|
96282
96901
|
},
|
|
96902
|
+
"contain-intrinsic-inline-size": {
|
|
96903
|
+
"values": [
|
|
96904
|
+
"none"
|
|
96905
|
+
]
|
|
96906
|
+
},
|
|
96283
96907
|
"contain-intrinsic-width": {
|
|
96284
96908
|
"values": [
|
|
96285
96909
|
"none"
|
|
@@ -96299,6 +96923,16 @@ const generatedPropertyValues = {
|
|
|
96299
96923
|
"anchored"
|
|
96300
96924
|
]
|
|
96301
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
|
+
},
|
|
96302
96936
|
"content-visibility": {
|
|
96303
96937
|
"values": [
|
|
96304
96938
|
"visible",
|
|
@@ -96885,12 +97519,18 @@ const generatedPropertyValues = {
|
|
|
96885
97519
|
},
|
|
96886
97520
|
"grid-template-columns": {
|
|
96887
97521
|
"values": [
|
|
96888
|
-
"
|
|
97522
|
+
"auto",
|
|
97523
|
+
"none",
|
|
97524
|
+
"min-content",
|
|
97525
|
+
"max-content"
|
|
96889
97526
|
]
|
|
96890
97527
|
},
|
|
96891
97528
|
"grid-template-rows": {
|
|
96892
97529
|
"values": [
|
|
96893
|
-
"
|
|
97530
|
+
"auto",
|
|
97531
|
+
"none",
|
|
97532
|
+
"min-content",
|
|
97533
|
+
"max-content"
|
|
96894
97534
|
]
|
|
96895
97535
|
},
|
|
96896
97536
|
"hanging-punctuation": {
|
|
@@ -96909,6 +97549,11 @@ const generatedPropertyValues = {
|
|
|
96909
97549
|
"max-content"
|
|
96910
97550
|
]
|
|
96911
97551
|
},
|
|
97552
|
+
"hyphenate-character": {
|
|
97553
|
+
"values": [
|
|
97554
|
+
"auto"
|
|
97555
|
+
]
|
|
97556
|
+
},
|
|
96912
97557
|
"hyphenate-limit-chars": {
|
|
96913
97558
|
"values": [
|
|
96914
97559
|
"auto"
|
|
@@ -96929,6 +97574,12 @@ const generatedPropertyValues = {
|
|
|
96929
97574
|
"stopped"
|
|
96930
97575
|
]
|
|
96931
97576
|
},
|
|
97577
|
+
"image-orientation": {
|
|
97578
|
+
"values": [
|
|
97579
|
+
"none",
|
|
97580
|
+
"from-image"
|
|
97581
|
+
]
|
|
97582
|
+
},
|
|
96932
97583
|
"image-rendering": {
|
|
96933
97584
|
"values": [
|
|
96934
97585
|
"auto",
|
|
@@ -96951,6 +97602,26 @@ const generatedPropertyValues = {
|
|
|
96951
97602
|
"auto"
|
|
96952
97603
|
]
|
|
96953
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
|
+
},
|
|
96954
97625
|
"interactivity": {
|
|
96955
97626
|
"values": [
|
|
96956
97627
|
"auto",
|
|
@@ -96969,6 +97640,24 @@ const generatedPropertyValues = {
|
|
|
96969
97640
|
"isolate"
|
|
96970
97641
|
]
|
|
96971
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
|
+
},
|
|
96972
97661
|
"left": {
|
|
96973
97662
|
"values": [
|
|
96974
97663
|
"auto"
|
|
@@ -96994,6 +97683,15 @@ const generatedPropertyValues = {
|
|
|
96994
97683
|
"after-white-space"
|
|
96995
97684
|
]
|
|
96996
97685
|
},
|
|
97686
|
+
"line-clamp": {
|
|
97687
|
+
"values": [
|
|
97688
|
+
"none",
|
|
97689
|
+
"auto",
|
|
97690
|
+
"ellipsis",
|
|
97691
|
+
"no-ellipsis",
|
|
97692
|
+
"-webkit-legacy"
|
|
97693
|
+
]
|
|
97694
|
+
},
|
|
96997
97695
|
"line-height": {
|
|
96998
97696
|
"values": [
|
|
96999
97697
|
"normal"
|
|
@@ -97084,6 +97782,11 @@ const generatedPropertyValues = {
|
|
|
97084
97782
|
"exclude"
|
|
97085
97783
|
]
|
|
97086
97784
|
},
|
|
97785
|
+
"mask-image": {
|
|
97786
|
+
"values": [
|
|
97787
|
+
"none"
|
|
97788
|
+
]
|
|
97789
|
+
},
|
|
97087
97790
|
"mask-mode": {
|
|
97088
97791
|
"values": [
|
|
97089
97792
|
"alpha",
|
|
@@ -97091,6 +97794,13 @@ const generatedPropertyValues = {
|
|
|
97091
97794
|
"match-source"
|
|
97092
97795
|
]
|
|
97093
97796
|
},
|
|
97797
|
+
"mask-size": {
|
|
97798
|
+
"values": [
|
|
97799
|
+
"auto",
|
|
97800
|
+
"contain",
|
|
97801
|
+
"cover"
|
|
97802
|
+
]
|
|
97803
|
+
},
|
|
97094
97804
|
"mask-type": {
|
|
97095
97805
|
"values": [
|
|
97096
97806
|
"luminance",
|
|
@@ -97134,6 +97844,42 @@ const generatedPropertyValues = {
|
|
|
97134
97844
|
"none"
|
|
97135
97845
|
]
|
|
97136
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
|
+
},
|
|
97137
97883
|
"mix-blend-mode": {
|
|
97138
97884
|
"values": [
|
|
97139
97885
|
"normal",
|
|
@@ -97197,6 +97943,23 @@ const generatedPropertyValues = {
|
|
|
97197
97943
|
"none"
|
|
97198
97944
|
]
|
|
97199
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
|
+
},
|
|
97200
97963
|
"outline-color": {
|
|
97201
97964
|
"values": [
|
|
97202
97965
|
"currentcolor"
|
|
@@ -97270,6 +98033,13 @@ const generatedPropertyValues = {
|
|
|
97270
98033
|
"auto"
|
|
97271
98034
|
]
|
|
97272
98035
|
},
|
|
98036
|
+
"overscroll-behavior": {
|
|
98037
|
+
"values": [
|
|
98038
|
+
"auto",
|
|
98039
|
+
"none",
|
|
98040
|
+
"contain"
|
|
98041
|
+
]
|
|
98042
|
+
},
|
|
97273
98043
|
"overscroll-behavior-x": {
|
|
97274
98044
|
"values": [
|
|
97275
98045
|
"auto",
|
|
@@ -97291,6 +98061,15 @@ const generatedPropertyValues = {
|
|
|
97291
98061
|
"auto"
|
|
97292
98062
|
]
|
|
97293
98063
|
},
|
|
98064
|
+
"page-break-before": {
|
|
98065
|
+
"values": [
|
|
98066
|
+
"auto",
|
|
98067
|
+
"left",
|
|
98068
|
+
"right",
|
|
98069
|
+
"always",
|
|
98070
|
+
"avoid"
|
|
98071
|
+
]
|
|
98072
|
+
},
|
|
97294
98073
|
"page-margin-safety": {
|
|
97295
98074
|
"values": [
|
|
97296
98075
|
"none",
|
|
@@ -97550,6 +98329,13 @@ const generatedPropertyValues = {
|
|
|
97550
98329
|
"nearest"
|
|
97551
98330
|
]
|
|
97552
98331
|
},
|
|
98332
|
+
"scroll-marker-group": {
|
|
98333
|
+
"values": [
|
|
98334
|
+
"none",
|
|
98335
|
+
"after",
|
|
98336
|
+
"before"
|
|
98337
|
+
]
|
|
98338
|
+
},
|
|
97553
98339
|
"scroll-padding-block-end": {
|
|
97554
98340
|
"values": [
|
|
97555
98341
|
"auto"
|
|
@@ -97622,6 +98408,11 @@ const generatedPropertyValues = {
|
|
|
97622
98408
|
"auto"
|
|
97623
98409
|
]
|
|
97624
98410
|
},
|
|
98411
|
+
"scroll-timeline-name": {
|
|
98412
|
+
"values": [
|
|
98413
|
+
"none"
|
|
98414
|
+
]
|
|
98415
|
+
},
|
|
97625
98416
|
"scrollbar-color": {
|
|
97626
98417
|
"values": [
|
|
97627
98418
|
"auto"
|
|
@@ -97641,11 +98432,6 @@ const generatedPropertyValues = {
|
|
|
97641
98432
|
"none"
|
|
97642
98433
|
]
|
|
97643
98434
|
},
|
|
97644
|
-
"shape-margin": {
|
|
97645
|
-
"values": [
|
|
97646
|
-
"none"
|
|
97647
|
-
]
|
|
97648
|
-
},
|
|
97649
98435
|
"shape-outside": {
|
|
97650
98436
|
"values": [
|
|
97651
98437
|
"none"
|
|
@@ -97659,6 +98445,13 @@ const generatedPropertyValues = {
|
|
|
97659
98445
|
"geometricprecision"
|
|
97660
98446
|
]
|
|
97661
98447
|
},
|
|
98448
|
+
"size": {
|
|
98449
|
+
"values": [
|
|
98450
|
+
"auto",
|
|
98451
|
+
"portrait",
|
|
98452
|
+
"landscape"
|
|
98453
|
+
]
|
|
98454
|
+
},
|
|
97662
98455
|
"speak": {
|
|
97663
98456
|
"values": [
|
|
97664
98457
|
"none",
|
|
@@ -97738,6 +98531,14 @@ const generatedPropertyValues = {
|
|
|
97738
98531
|
"normal"
|
|
97739
98532
|
]
|
|
97740
98533
|
},
|
|
98534
|
+
"text-box-edge": {
|
|
98535
|
+
"values": [
|
|
98536
|
+
"auto",
|
|
98537
|
+
"text",
|
|
98538
|
+
"cap",
|
|
98539
|
+
"ex"
|
|
98540
|
+
]
|
|
98541
|
+
},
|
|
97741
98542
|
"text-box-trim": {
|
|
97742
98543
|
"values": [
|
|
97743
98544
|
"none",
|
|
@@ -97890,6 +98691,29 @@ const generatedPropertyValues = {
|
|
|
97890
98691
|
"stable"
|
|
97891
98692
|
]
|
|
97892
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
|
+
},
|
|
97893
98717
|
"timeline-trigger-source": {
|
|
97894
98718
|
"values": [
|
|
97895
98719
|
"none",
|
|
@@ -98002,6 +98826,16 @@ const generatedPropertyValues = {
|
|
|
98002
98826
|
"middle"
|
|
98003
98827
|
]
|
|
98004
98828
|
},
|
|
98829
|
+
"view-timeline-inset": {
|
|
98830
|
+
"values": [
|
|
98831
|
+
"auto"
|
|
98832
|
+
]
|
|
98833
|
+
},
|
|
98834
|
+
"view-timeline-name": {
|
|
98835
|
+
"values": [
|
|
98836
|
+
"none"
|
|
98837
|
+
]
|
|
98838
|
+
},
|
|
98005
98839
|
"view-transition-class": {
|
|
98006
98840
|
"values": [
|
|
98007
98841
|
"none"
|
|
@@ -98579,6 +99413,11 @@ class CSSMetadata {
|
|
|
98579
99413
|
for (let i = 0; i < properties.length; ++i) {
|
|
98580
99414
|
const property = properties[i];
|
|
98581
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
|
+
}
|
|
98582
99421
|
if (!CSS.supports(propertyName, 'initial')) {
|
|
98583
99422
|
continue;
|
|
98584
99423
|
}
|
|
@@ -98619,6 +99458,15 @@ class CSSMetadata {
|
|
|
98619
99458
|
}
|
|
98620
99459
|
}
|
|
98621
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
|
+
}
|
|
98622
99470
|
for (const commonKeyword of CommonKeywords) {
|
|
98623
99471
|
if (!values.has(commonKeyword) && CSS.supports(propertyName, commonKeyword)) {
|
|
98624
99472
|
values.add(commonKeyword);
|
|
@@ -99806,6 +100654,7 @@ const extraPropertyValues = new Map([
|
|
|
99806
100654
|
'superellipse(infinity)',
|
|
99807
100655
|
]),
|
|
99808
100656
|
],
|
|
100657
|
+
['outline-style', new Set(['auto'])],
|
|
99809
100658
|
]);
|
|
99810
100659
|
const Weight = new Map([
|
|
99811
100660
|
['align-content', 57],
|
|
@@ -100148,6 +100997,63 @@ class VariableMatcher extends matcherBase(VariableMatch) {
|
|
|
100148
100997
|
null;
|
|
100149
100998
|
}
|
|
100150
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
|
+
}
|
|
100151
101057
|
class AttributeMatch extends BaseVariableMatch {
|
|
100152
101058
|
type;
|
|
100153
101059
|
isCSSTokens;
|
|
@@ -103707,6 +104613,7 @@ class CSSMatchedStyles {
|
|
|
103707
104613
|
propertyMatchers(style, computedStyles) {
|
|
103708
104614
|
return [
|
|
103709
104615
|
new VariableMatcher(this, style),
|
|
104616
|
+
new VariableNameMatcher(this, style),
|
|
103710
104617
|
new ColorMatcher(() => computedStyles?.get('color') ?? null),
|
|
103711
104618
|
new ColorMixMatcher(),
|
|
103712
104619
|
new ContrastColorMatcher(),
|
|
@@ -148980,6 +149887,66 @@ var Show;
|
|
|
148980
149887
|
},
|
|
148981
149888
|
{
|
|
148982
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,
|
|
148983
149950
|
'show-by-default': true,
|
|
148984
149951
|
'title': 'iPhone 14 Pro Max',
|
|
148985
149952
|
'screen': {
|
|
@@ -148999,7 +149966,187 @@ var Show;
|
|
|
148999
149966
|
'type': 'phone',
|
|
149000
149967
|
},
|
|
149001
149968
|
{
|
|
149002
|
-
'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,
|
|
149003
150150
|
'show-by-default': false,
|
|
149004
150151
|
'title': 'Pixel 3 XL',
|
|
149005
150152
|
'screen': {
|
|
@@ -149019,7 +150166,7 @@ var Show;
|
|
|
149019
150166
|
'type': 'phone',
|
|
149020
150167
|
},
|
|
149021
150168
|
{
|
|
149022
|
-
'order':
|
|
150169
|
+
'order': 30,
|
|
149023
150170
|
'show-by-default': true,
|
|
149024
150171
|
'title': 'Pixel 7',
|
|
149025
150172
|
'screen': {
|
|
@@ -149039,7 +150186,147 @@ var Show;
|
|
|
149039
150186
|
'type': 'phone',
|
|
149040
150187
|
},
|
|
149041
150188
|
{
|
|
149042
|
-
'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,
|
|
149043
150330
|
'show-by-default': true,
|
|
149044
150331
|
'title': 'Samsung Galaxy S8+',
|
|
149045
150332
|
'screen': {
|
|
@@ -149059,7 +150346,7 @@ var Show;
|
|
|
149059
150346
|
'type': 'phone',
|
|
149060
150347
|
},
|
|
149061
150348
|
{
|
|
149062
|
-
'order':
|
|
150349
|
+
'order': 39,
|
|
149063
150350
|
'show-by-default': true,
|
|
149064
150351
|
'title': 'Samsung Galaxy S20 Ultra',
|
|
149065
150352
|
'screen': {
|
|
@@ -149079,7 +150366,7 @@ var Show;
|
|
|
149079
150366
|
'type': 'phone',
|
|
149080
150367
|
},
|
|
149081
150368
|
{
|
|
149082
|
-
'order':
|
|
150369
|
+
'order': 40,
|
|
149083
150370
|
'show-by-default': true,
|
|
149084
150371
|
'title': 'iPad Mini',
|
|
149085
150372
|
'screen': {
|
|
@@ -149099,7 +150386,7 @@ var Show;
|
|
|
149099
150386
|
'type': 'tablet',
|
|
149100
150387
|
},
|
|
149101
150388
|
{
|
|
149102
|
-
'order':
|
|
150389
|
+
'order': 41,
|
|
149103
150390
|
'show-by-default': true,
|
|
149104
150391
|
'title': 'iPad Air',
|
|
149105
150392
|
'screen': {
|
|
@@ -149119,7 +150406,7 @@ var Show;
|
|
|
149119
150406
|
'type': 'tablet',
|
|
149120
150407
|
},
|
|
149121
150408
|
{
|
|
149122
|
-
'order':
|
|
150409
|
+
'order': 42,
|
|
149123
150410
|
'show-by-default': true,
|
|
149124
150411
|
'title': 'iPad Pro',
|
|
149125
150412
|
'screen': {
|
|
@@ -149139,7 +150426,7 @@ var Show;
|
|
|
149139
150426
|
'type': 'tablet',
|
|
149140
150427
|
},
|
|
149141
150428
|
{
|
|
149142
|
-
'order':
|
|
150429
|
+
'order': 43,
|
|
149143
150430
|
'show-by-default': true,
|
|
149144
150431
|
'title': 'Surface Pro 7',
|
|
149145
150432
|
'screen': {
|
|
@@ -149158,7 +150445,7 @@ var Show;
|
|
|
149158
150445
|
'type': 'tablet',
|
|
149159
150446
|
},
|
|
149160
150447
|
{
|
|
149161
|
-
'order':
|
|
150448
|
+
'order': 44,
|
|
149162
150449
|
'show-by-default': true,
|
|
149163
150450
|
'dual-screen': true,
|
|
149164
150451
|
'title': 'Surface Duo',
|
|
@@ -149193,7 +150480,7 @@ var Show;
|
|
|
149193
150480
|
],
|
|
149194
150481
|
},
|
|
149195
150482
|
{
|
|
149196
|
-
'order':
|
|
150483
|
+
'order': 46,
|
|
149197
150484
|
'show-by-default': true,
|
|
149198
150485
|
'foldable-screen': true,
|
|
149199
150486
|
'title': 'Galaxy Z Fold 5',
|
|
@@ -149242,7 +150529,7 @@ var Show;
|
|
|
149242
150529
|
],
|
|
149243
150530
|
},
|
|
149244
150531
|
{
|
|
149245
|
-
'order':
|
|
150532
|
+
'order': 47,
|
|
149246
150533
|
'show-by-default': true,
|
|
149247
150534
|
'foldable-screen': true,
|
|
149248
150535
|
'title': 'Asus Zenbook Fold',
|
|
@@ -149295,7 +150582,7 @@ var Show;
|
|
|
149295
150582
|
],
|
|
149296
150583
|
},
|
|
149297
150584
|
{
|
|
149298
|
-
'order':
|
|
150585
|
+
'order': 48,
|
|
149299
150586
|
'show-by-default': true,
|
|
149300
150587
|
'title': 'Samsung Galaxy A51/71',
|
|
149301
150588
|
'screen': {
|
|
@@ -156095,6 +157382,7 @@ const UIStrings$h = {
|
|
|
156095
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.",
|
|
156096
157383
|
CSSValueAppearanceSliderVertical: "CSS appearance value `slider-vertical` is not standardized and will be removed.",
|
|
156097
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.",
|
|
156098
157386
|
DocumentCreateEventKeyboardEvents: "document.createEvent('KeyboardEvents') is deprecated and will be removed. Use `new KeyboardEvent()` instead.",
|
|
156099
157387
|
DocumentCreateEventTransitionEvent: "document.createEvent('TransitionEvent') is deprecated and will be removed. Use `new TransitionEvent()` instead.",
|
|
156100
157388
|
ExampleBrowserProcessDeprecation: "This is an example for showing the code required for a browser process reported deprecation.",
|
|
@@ -156188,6 +157476,10 @@ const DEPRECATIONS_METADATA = {
|
|
|
156188
157476
|
"chromeStatusFeature": 5128825141198848,
|
|
156189
157477
|
"milestone": 119
|
|
156190
157478
|
},
|
|
157479
|
+
"DigitalCredentialsUnknownProtocol": {
|
|
157480
|
+
"chromeStatusFeature": 6492906882990080,
|
|
157481
|
+
"milestone": 160
|
|
157482
|
+
},
|
|
156191
157483
|
"DocumentCreateEventKeyboardEvents": {
|
|
156192
157484
|
"chromeStatusFeature": 5095987863486464,
|
|
156193
157485
|
"milestone": 151
|