hyperframes 0.8.176 → 0.8.178
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/bin/hyperframes.mjs +3 -0
- package/dist/{add-YZGUHLDP.js → add-C4GN5ZDP.js} +12 -12
- package/dist/{animatedGifPrep-6SPYXSHE.js → animatedGifPrep-S6XXOOXK.js} +7 -7
- package/dist/api.d.ts +2 -0
- package/dist/api.js +15 -15
- package/dist/{asset-YPC34MTV.js → asset-WTZ44Q7G.js} +2 -2
- package/dist/{assetCataloger-5GGNQC3Y.js → assetCataloger-MSAMR77T.js} +7 -7
- package/dist/{audio-33JHU37L.js → audio-ZSWOKO3D.js} +14 -14
- package/dist/{auth-UUIHOS2D.js → auth-EUSWPXME.js} +1 -1
- package/dist/{autoUpdate-F747BE3R.js → autoUpdate-WWXRJ2W7.js} +2 -2
- package/dist/{backgroundChecks-3YLO2CSC.js → backgroundChecks-B2IJHAP6.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-KXXTVNPB.js → batchRender-OOQYGH5A.js} +4 -4
- package/dist/{beats-DQDV2ZFS.js → beats-OJT75KQY.js} +5 -5
- package/dist/{benchmark-ZPPZEIHZ.js → benchmark-EZTB4ITW.js} +9 -9
- package/dist/{browser-ZFLEP3E6.js → browser-DNHBS5C7.js} +9 -8
- package/dist/{bundleWithLocalizedFonts-PMRGOQWD.js → bundleWithLocalizedFonts-GJAML42J.js} +2 -2
- package/dist/{capture-6XCCIPT4.js → capture-YRS6SZ6B.js} +11 -11
- package/dist/{capture-5OW6VNXU.js → capture-ZBGAJYVH.js} +2 -2
- package/dist/captureCompositionFrame-Z33NWUED.js +88 -0
- package/dist/{catalog-3A6KKCWF.js → catalog-YF23PXV2.js} +25 -17
- package/dist/{catch-up-KPGCLN4C.js → catch-up-YZZDUDRQ.js} +5 -5
- package/dist/{check-I3XLXS77.js → check-NVGQ5PMF.js} +60 -49
- package/dist/{checkBrowser-KX7LNAFA.js → checkBrowser-JX22QQDH.js} +79 -59
- package/dist/{chunk-42T7OP4O.js → chunk-32GKQ73S.js} +1 -1
- package/dist/{chunk-3Q4Y33FT.js → chunk-3EJYUZHW.js} +20 -18
- package/dist/{chunk-L6XT6GSV.js → chunk-52L2L46Q.js} +1 -1
- package/dist/chunk-537IYAEE.js +80 -0
- package/dist/{chunk-USEUH5VV.js → chunk-5PK3RLSB.js} +2 -2
- package/dist/{chunk-GVIH4ZQY.js → chunk-5RS2FIZU.js} +1 -1
- package/dist/{chunk-VER46LXI.js → chunk-62OXHKLS.js} +2 -2
- package/dist/{chunk-T76PLPD6.js → chunk-634HSJ3J.js} +2 -1
- package/dist/{chunk-HVMHVW5G.js → chunk-74Z2T3YM.js} +1 -1
- package/dist/{chunk-5TGVURKQ.js → chunk-7IAVKLNC.js} +1 -1
- package/dist/{chunk-L3LJVYXS.js → chunk-A2BB2XQU.js} +2 -2
- package/dist/{chunk-DQY6WTF7.js → chunk-A3RUVTGB.js} +1 -1
- package/dist/{chunk-OYEDHVSI.js → chunk-AFKVI7FJ.js} +1 -1
- package/dist/{chunk-VEQ7DKPG.js → chunk-AHS5QYKF.js} +1 -1
- package/dist/{chunk-FFDC5OWV.js → chunk-ALVXFXUG.js} +5 -3
- package/dist/{chunk-OMUKSCWE.js → chunk-AR5MS234.js} +13 -13
- package/dist/{chunk-R2TVJ4DW.js → chunk-AYEWZYYC.js} +1 -1
- package/dist/{chunk-TNDNFZOK.js → chunk-BGKZ37BC.js} +2 -2
- package/dist/{chunk-LY2GLSOS.js → chunk-BJJ3QF7T.js} +1 -1
- package/dist/{chunk-5EA4C6RA.js → chunk-BNGRVR3Y.js} +6 -6
- package/dist/{chunk-EEVCXPUA.js → chunk-C4FH67KI.js} +2 -2
- package/dist/{chunk-MG66UO4N.js → chunk-CJRGV2JW.js} +1 -1
- package/dist/{chunk-7LU4ZHYV.js → chunk-DKGZR7QA.js} +1 -1
- package/dist/{chunk-XRKMITSS.js → chunk-E24HSMZV.js} +12 -51
- package/dist/{chunk-44XBAKKT.js → chunk-EBKIF46T.js} +2 -2
- package/dist/{chunk-RBOVQRMR.js → chunk-EINNFZAW.js} +7 -13
- package/dist/{chunk-EOOEC32M.js → chunk-EVMY7IPL.js} +22 -0
- package/dist/{chunk-PL4WM5XE.js → chunk-FIAQ4J45.js} +2 -2
- package/dist/{chunk-J53AJK3Q.js → chunk-FTWOVWHR.js} +2 -2
- package/dist/{chunk-X6ZRZWPZ.js → chunk-G3M4BIFN.js} +1 -1
- package/dist/{chunk-VDUTZXIJ.js → chunk-HFUMZZ4T.js} +5 -5
- package/dist/{chunk-MDTMWUJI.js → chunk-HNMRB77F.js} +1 -1
- package/dist/{chunk-GMJ3ILLW.js → chunk-ICMXC3MI.js} +7 -24
- package/dist/{chunk-LZT3NUTE.js → chunk-IE6O2VXV.js} +1 -1
- package/dist/{chunk-HTC3VGU3.js → chunk-J4GE3BCG.js} +29 -10
- package/dist/{chunk-X4PK5ZXP.js → chunk-LO4DHZLH.js} +3 -3
- package/dist/{chunk-NGRNAF5X.js → chunk-N66NVE65.js} +1 -1
- package/dist/{chunk-7XX4QGQV.js → chunk-N6S6V2DY.js} +52 -16
- package/dist/{chunk-LEILKM2N.js → chunk-O7PFPCQF.js} +193 -65
- package/dist/{chunk-KUOUUG33.js → chunk-ORM7SJ7K.js} +85 -43
- package/dist/chunk-PLNQW2C6.js +3805 -0
- package/dist/{chunk-JNL3RMDG.js → chunk-PU33GPG4.js} +1 -1
- package/dist/{chunk-W47D3KOB.js → chunk-RHWJKSGH.js} +1 -1
- package/dist/{chunk-B7DJQFAC.js → chunk-RTABHL2G.js} +3 -3
- package/dist/{chunk-K535ASAM.js → chunk-TINAVSGR.js} +1 -1
- package/dist/{chunk-C6TPGUWD.js → chunk-TTVHYD5R.js} +2 -2
- package/dist/{chunk-GOOB64LO.js → chunk-U2AIXPAQ.js} +2 -2
- package/dist/{chunk-BVXZYFAL.js → chunk-UIXHQ4QG.js} +7 -7
- package/dist/{chunk-QWCXGTOH.js → chunk-UOHQV6AV.js} +24 -12
- package/dist/{chunk-SURF34CK.js → chunk-UQEBSY5U.js} +1 -1
- package/dist/{chunk-5ZSLJXQX.js → chunk-UWPUEI5U.js} +2 -2
- package/dist/{chunk-BTCHRQNV.js → chunk-V6WIQWUB.js} +3 -3
- package/dist/{chunk-OUMYTLPP.js → chunk-VCDWVVDV.js} +11 -7
- package/dist/{chunk-YWSXFFO3.js → chunk-VU4JLRNH.js} +156 -76
- package/dist/{chunk-MLRCTTSD.js → chunk-XBZOYP4D.js} +96 -11
- package/dist/{chunk-X6HYBA4A.js → chunk-XSQWXUK2.js} +1 -1
- package/dist/{chunk-SSE6NWZI.js → chunk-Y6JLEN3P.js} +14 -14
- package/dist/{chunk-KRKSY2AE.js → chunk-YAPJOCSH.js} +1 -1
- package/dist/{chunk-NWEER3QY.js → chunk-YH7VQAKX.js} +2 -2
- package/dist/{chunk-DZMWNCHM.js → chunk-ZAJO3YCQ.js} +2 -2
- package/dist/{chunk-T6NA6TR3.js → chunk-ZAO7FTQM.js} +2 -2
- package/dist/{clean-6REGQY3I.js → clean-ODNP4ELD.js} +23 -23
- package/dist/cli.js +53 -53
- package/dist/{cloud-RAQZPMNP.js → cloud-2DACBBEP.js} +4 -4
- package/dist/{cloudrun-P35BPQCO.js → cloudrun-QSVGI2TT.js} +5 -5
- package/dist/commands/contrast-audit.browser.js +166 -22
- package/dist/{compare-XYFSHHMQ.js → compare-HMMGOM4F.js} +34 -34
- package/dist/{compiler-5TFPJPQQ.js → compiler-CQ6OKYT5.js} +2 -2
- package/dist/{component-CRAO6Q2E.js → component-C6OLXSIK.js} +3 -3
- package/dist/{compositions-4SHILZZX.js → compositions-MOGZ4ASK.js} +11 -11
- package/dist/{delete-ZS4AHMTY.js → delete-MDAYHORQ.js} +2 -2
- package/dist/{dist-U2HCECNB.js → dist-MHJYD5IZ.js} +6 -4
- package/dist/{doctor-OL4FYABY.js → doctor-VEKKYMQT.js} +12 -12
- package/dist/{events-Z3XZCRFZ.js → events-CSKJXRJU.js} +4 -4
- package/dist/{events-LIJBGTTX.js → events-SKMTX6HF.js} +2 -2
- package/dist/{feedback-OE6SB2VE.js → feedback-64AKUFHZ.js} +7 -7
- package/dist/{ffmpeg-CSJLJAQ3.js → ffmpeg-64E4VH6W.js} +7 -7
- package/dist/{figma-DMUCMO67.js → figma-YEY76ZPG.js} +3 -3
- package/dist/fontLocalizeCli.js +10 -10
- package/dist/{get-NQOQVUI5.js → get-YJS76PGZ.js} +2 -2
- package/dist/{gpuPolicy-C6JWEX7F.js → gpuPolicy-IGZOHHMX.js} +7 -7
- package/dist/{grade-compare-HLTHHQGH.js → grade-compare-35UEA52Z.js} +35 -35
- package/dist/{help-ZAXWHAYF.js → help-I5TCDUVH.js} +1 -1
- package/dist/{history-CMY7ZEEW.js → history-7BKIWSP2.js} +11 -11
- package/dist/hyperframe-runtime.js +57 -55
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +57 -55
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-STR7EYI3.js → info-UEPOM2LV.js} +8 -8
- package/dist/{init-YSMKK5VG.js → init-HIB66K2S.js} +27 -27
- package/dist/{inspect-QV6DC6GO.js → inspect-634XIKDS.js} +33 -33
- package/dist/{installer-NY5E5HCO.js → installer-ADKWK4I4.js} +5 -5
- package/dist/{keyframes-HN3DW5FG.js → keyframes-7BJX3EVE.js} +7 -7
- package/dist/{lambda-PG3JKNWS.js → lambda-Q4TRSMHZ.js} +8 -8
- package/dist/{layout-O4QAR2XY.js → layout-6DUVSHEB.js} +33 -33
- package/dist/{lint-AY55R4UR.js → lint-UPFD4JQZ.js} +7 -7
- package/dist/{list-TH2KCVNN.js → list-M6OMQXJX.js} +2 -2
- package/dist/{login-TRCMRV4B.js → login-QH6JDXDP.js} +4 -4
- package/dist/{manager-2J4XGDZ3.js → manager-B4MSVFMK.js} +12 -10
- package/dist/{manager-HEUPD2YB.js → manager-V2QCCPOJ.js} +4 -3
- package/dist/{media-treatment-ET5QQSWP.js → media-treatment-SHFTIG4K.js} +14 -14
- package/dist/{models-RFUUSCG6.js → models-USEFHJFY.js} +11 -11
- package/dist/{motionShot-2ET565ZV.js → motionShot-HRM6NMT4.js} +15 -15
- package/dist/{normalize-audio-LUOJSD3W.js → normalize-audio-EP3HPQZB.js} +9 -9
- package/dist/{open-MVEOYQRQ.js → open-HXZEXQ4X.js} +12 -12
- package/dist/{parakeetRunner-3TG7EHWA.js → parakeetRunner-D5RSHQB2.js} +12 -12
- package/dist/{pipeline-JWGTH2BJ.js → pipeline-BDG52SPL.js} +8 -8
- package/dist/{play-I3WJPYXK.js → play-LSRQ6R66.js} +24 -24
- package/dist/{preflight-4WTT4D5X.js → preflight-GBPRLIM6.js} +9 -9
- package/dist/{present-DUZBKUYH.js → present-2VKAE63Q.js} +19 -19
- package/dist/{preview-7J5TBTRP.js → preview-MWH5CHTN.js} +18 -18
- package/dist/{producer-UZZQX6IJ.js → producer-W24FRIN7.js} +1 -1
- package/dist/{projectConfig-HDALEM6S.js → projectConfig-NQQDEDAK.js} +7 -7
- package/dist/{publication-NX4VC7UU.js → publication-7DW4IJPC.js} +3 -3
- package/dist/{publish-AZRRQUXM.js → publish-FJKJ74IF.js} +10 -10
- package/dist/{remove-background-OX5WZTXY.js → remove-background-JBOJAUIM.js} +9 -9
- package/dist/{render-HGT3EGIK.js → render-5TTZDI5N.js} +7 -14
- package/dist/{render-IYTGM6DE.js → render-BROS2AIU.js} +9 -9
- package/dist/{render-JUS2ROIN.js → render-JCYFNDWT.js} +42 -42
- package/dist/{render-batch-MUCDZ2WF.js → render-batch-FW56ZFGW.js} +8 -17
- package/dist/renderSetupWorker.js +2 -2
- package/dist/{resolver-FLQ42X2Y.js → resolver-UW6NYBJA.js} +5 -5
- package/dist/{sherpa-PRI3JLUP.js → sherpa-GWYCXYEP.js} +11 -11
- package/dist/skills/media-use/references/operations.md +3 -1
- package/dist/{skills-CZ6VW5SZ.js → skills-YNM5SIHQ.js} +6 -6
- package/dist/{skillsUpdateCheck-K4UKUAOC.js → skillsUpdateCheck-FNC6VALY.js} +3 -3
- package/dist/{snapshot-MPE4GIMJ.js → snapshot-6EMEL4O3.js} +44 -44
- package/dist/{src-SGPA7DM7.js → src-VUIKXEFU.js} +9 -9
- package/dist/{src-JGPFLYBL.js → src-XRFOS5LP.js} +6 -6
- package/dist/{staticProjectServer-DG4VZO4G.js → staticProjectServer-COEAKTGH.js} +17 -17
- package/dist/studio/assets/{hyperframes-player-DBHpVw8L.js → hyperframes-player-Dfw61RJK.js} +1 -1
- package/dist/studio/assets/{index-BkDF4Z-5.js → index-Bi6yVTq9.js} +118 -117
- package/dist/studio/assets/{index-DHRXpmtI.js → index-eTRj5rY2.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-RGNBVLLL.js → studio-api-455XWQPD.js} +12 -12
- package/dist/{studioServer-FWACRD3Y.js → studioServer-ZP2LJT7H.js} +57 -72
- package/dist/{telemetry-CHJA5JFQ.js → telemetry-HJQ7IO6R.js} +4 -4
- package/dist/{timeline-TZDMQBSM.js → timeline-CYW3YKMX.js} +23 -23
- package/dist/{tokens-B5KI7FBA.js → tokens-VOARLAAH.js} +2 -2
- package/dist/{transcribe-M7NO6XBP.js → transcribe-F6UOG57Z.js} +12 -12
- package/dist/{transcribe-VHUDXZET.js → transcribe-FJGNOR6R.js} +17 -16
- package/dist/{updateCheck-NMD6AFFG.js → updateCheck-IOLCO3XV.js} +2 -2
- package/dist/{upgrade-WGFMGJ5O.js → upgrade-BVW67SB7.js} +2 -2
- package/dist/{urlDownloader-FZ5ISJES.js → urlDownloader-QF7EBQC2.js} +6 -6
- package/dist/{validate-NM3GLUWX.js → validate-3NHIT4VT.js} +25 -25
- package/dist/{video-7CDAIWYC.js → video-2KGC3RIQ.js} +7 -7
- package/package.json +1 -2
- package/dist/chunk-EEXE43II.js +0 -3805
- package/dist/chunk-TWWSYAKJ.js +0 -24
- package/dist/{deploy-NKWMPAMH.js → deploy-3TTQZGTF.js} +4 -4
- package/dist/{destroy-UKP522AE.js → destroy-BEL232I5.js} +3 -3
|
@@ -12,25 +12,25 @@ import {
|
|
|
12
12
|
launchManagedBrowser,
|
|
13
13
|
resolveManagedGpuMode,
|
|
14
14
|
rethrowAfterBrowserCleanup
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-52L2L46Q.js";
|
|
16
16
|
import {
|
|
17
17
|
pageNavigationTimeoutMs,
|
|
18
18
|
windowsChromeCrashRemediation
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-LO4DHZLH.js";
|
|
20
20
|
import {
|
|
21
21
|
oneProcessOverPipe
|
|
22
22
|
} from "./chunk-BRHI7EIA.js";
|
|
23
23
|
import {
|
|
24
24
|
resolveLocalBrowserGpuMode,
|
|
25
25
|
resolveLocalWebGpu
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-A2BB2XQU.js";
|
|
27
27
|
import {
|
|
28
28
|
c
|
|
29
29
|
} from "./chunk-ZTZA4UWZ.js";
|
|
30
30
|
import {
|
|
31
31
|
assertWebGpuAdapterAvailable,
|
|
32
32
|
compositionRequiresWebGpu
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-VU4JLRNH.js";
|
|
34
34
|
import {
|
|
35
35
|
normalizeErrorMessage
|
|
36
36
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -59,6 +59,36 @@ var DENSE_GEOMETRY_SEEK_OPTIONS = {
|
|
|
59
59
|
waitForVideoFrames: false,
|
|
60
60
|
skipWebglDraws: true
|
|
61
61
|
};
|
|
62
|
+
function launchKey(html, noListen, options) {
|
|
63
|
+
const viewport = resolveCompositionViewportFromHtml(html);
|
|
64
|
+
const gpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
|
|
65
|
+
return JSON.stringify([viewport, compositionRequiresWebGpu(html), noListen, gpuMode]);
|
|
66
|
+
}
|
|
67
|
+
function prelaunchCompositionBrowser(html, browserGpuMode) {
|
|
68
|
+
const abort = new AbortController();
|
|
69
|
+
const options = { browserGpuMode, signal: abort.signal };
|
|
70
|
+
const key = launchKey(html, false, options);
|
|
71
|
+
const launched = launchCompositionBrowser(html, false, options).catch(() => void 0);
|
|
72
|
+
let taken = false;
|
|
73
|
+
const discard = async () => {
|
|
74
|
+
if (taken) return;
|
|
75
|
+
taken = true;
|
|
76
|
+
abort.abort();
|
|
77
|
+
await (await launched)?.browser.close().catch(() => void 0);
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
launched,
|
|
81
|
+
take: async (wanted) => {
|
|
82
|
+
if (wanted !== key) return discard().then(() => void 0);
|
|
83
|
+
taken = true;
|
|
84
|
+
const result = await launched;
|
|
85
|
+
if (result?.browser.connected) return result;
|
|
86
|
+
await result?.browser.close().catch(() => void 0);
|
|
87
|
+
return void 0;
|
|
88
|
+
},
|
|
89
|
+
discard
|
|
90
|
+
};
|
|
91
|
+
}
|
|
62
92
|
function resolveCliChromeGpuMode(envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
|
|
63
93
|
return resolveLocalBrowserGpuMode(void 0, envMode);
|
|
64
94
|
}
|
|
@@ -145,12 +175,36 @@ async function installPageFunctionGuard(page) {
|
|
|
145
175
|
}
|
|
146
176
|
async function openSettledCompositionPage(html, url, options) {
|
|
147
177
|
const viewport = resolveCompositionViewportFromHtml(html);
|
|
148
|
-
const
|
|
178
|
+
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
179
|
+
const answer = (await import("./staticProjectServer-COEAKTGH.js")).inProcessAnswer(url);
|
|
180
|
+
const noListen = answer !== void 0;
|
|
181
|
+
let chromeBrowser;
|
|
182
|
+
try {
|
|
183
|
+
const launched = await options.prelaunched?.take(launchKey(html, noListen, options)) ?? await launchCompositionBrowser(html, noListen, options);
|
|
184
|
+
chromeBrowser = launched.browser;
|
|
185
|
+
const softwareWebGpu = launched.softwareWebGpu;
|
|
186
|
+
options.onBrowser?.(chromeBrowser);
|
|
187
|
+
options.onBrowserReady?.();
|
|
188
|
+
const page = await chromeBrowser.newPage();
|
|
189
|
+
await installPageFunctionGuard(page);
|
|
190
|
+
await page.setViewport(viewport);
|
|
191
|
+
if (answer) await answerPageInProcess(page, url, answer);
|
|
192
|
+
await options.beforeNavigate?.(page);
|
|
193
|
+
await gotoWhenSent(page, url, pageNavigationTimeoutMs(options.navigationTimeoutMs));
|
|
194
|
+
await assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu);
|
|
195
|
+
const renderReadyTimedOut = !await waitForCompositionSettle(page, options);
|
|
196
|
+
return { browser: chromeBrowser, page, renderReadyTimedOut };
|
|
197
|
+
} catch (err) {
|
|
198
|
+
return rethrowAfterBrowserCleanup(chromeBrowser, err);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
async function launchCompositionBrowser(html, noListen, options) {
|
|
202
|
+
const viewport = resolveCompositionViewportFromHtml(html);
|
|
203
|
+
const { ensureBrowser, findSystemBrowser } = await import("./manager-V2QCCPOJ.js");
|
|
149
204
|
const browser = await ensureBrowser({ signal: options.signal });
|
|
150
205
|
const puppeteer = await import("puppeteer-core");
|
|
151
|
-
const { buildChromeArgs } = await import("./src-
|
|
206
|
+
const { buildChromeArgs } = await import("./src-XRFOS5LP.js");
|
|
152
207
|
const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
|
|
153
|
-
const answer = (await import("./staticProjectServer-DG4VZO4G.js")).inProcessAnswer(url);
|
|
154
208
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
155
209
|
let softwareWebGpu = false;
|
|
156
210
|
const launch = async (executablePath) => {
|
|
@@ -158,7 +212,7 @@ async function openSettledCompositionPage(html, url, options) {
|
|
|
158
212
|
const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, executablePath, {
|
|
159
213
|
signal: options.signal,
|
|
160
214
|
onBrowser: options.onBrowser,
|
|
161
|
-
noListen
|
|
215
|
+
noListen
|
|
162
216
|
});
|
|
163
217
|
options.signal?.throwIfAborted();
|
|
164
218
|
const webGpu = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
|
|
@@ -171,51 +225,37 @@ async function openSettledCompositionPage(html, url, options) {
|
|
|
171
225
|
headless: true,
|
|
172
226
|
signal: options.signal,
|
|
173
227
|
executablePath,
|
|
174
|
-
...
|
|
228
|
+
...noListen ? oneProcessOverPipe({ args }) : { args }
|
|
175
229
|
});
|
|
176
230
|
};
|
|
177
231
|
let chromeBrowser;
|
|
178
232
|
try {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
throw new Error(`${message}
|
|
233
|
+
chromeBrowser = await launch(browser.executablePath);
|
|
234
|
+
} catch (launchError) {
|
|
235
|
+
const message = normalizeErrorMessage(launchError);
|
|
236
|
+
const remediation = windowsChromeCrashRemediation(message);
|
|
237
|
+
if (!remediation) throw launchError;
|
|
238
|
+
const systemBrowser = browser.source === "cache" || browser.source === "download" ? findSystemBrowser() : void 0;
|
|
239
|
+
if (!systemBrowser || systemBrowser.executablePath === browser.executablePath) {
|
|
240
|
+
throw new Error(`${message}
|
|
188
241
|
|
|
189
242
|
${remediation}`, { cause: launchError });
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
243
|
+
}
|
|
244
|
+
console.warn(
|
|
245
|
+
`[hyperframes] Managed chrome-headless-shell crashed at launch; retrying once with system Chrome at ${systemBrowser.executablePath}.`
|
|
246
|
+
);
|
|
247
|
+
try {
|
|
248
|
+
chromeBrowser = await launch(systemBrowser.executablePath);
|
|
249
|
+
} catch (fallbackError) {
|
|
250
|
+
throw new Error(
|
|
251
|
+
`System Chrome fallback also failed: ${normalizeErrorMessage(fallbackError)}
|
|
199
252
|
|
|
200
253
|
${remediation}`,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
254
|
+
{ cause: fallbackError }
|
|
255
|
+
);
|
|
204
256
|
}
|
|
205
|
-
options.onBrowser?.(chromeBrowser);
|
|
206
|
-
options.onBrowserReady?.();
|
|
207
|
-
const page = await chromeBrowser.newPage();
|
|
208
|
-
await installPageFunctionGuard(page);
|
|
209
|
-
await page.setViewport(viewport);
|
|
210
|
-
if (answer) await answerPageInProcess(page, url, answer);
|
|
211
|
-
await options.beforeNavigate?.(page);
|
|
212
|
-
await gotoWhenSent(page, url, pageNavigationTimeoutMs(options.navigationTimeoutMs));
|
|
213
|
-
await assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu);
|
|
214
|
-
const renderReadyTimedOut = !await waitForCompositionSettle(page, options);
|
|
215
|
-
return { browser: chromeBrowser, page, renderReadyTimedOut };
|
|
216
|
-
} catch (err) {
|
|
217
|
-
return rethrowAfterBrowserCleanup(chromeBrowser, err);
|
|
218
257
|
}
|
|
258
|
+
return { browser: chromeBrowser, softwareWebGpu };
|
|
219
259
|
}
|
|
220
260
|
function seekInPage(t, fallbackToBridgeAndTimelines, exactTime, skipDraws) {
|
|
221
261
|
const getProperty = (target, key) => {
|
|
@@ -502,6 +542,7 @@ export {
|
|
|
502
542
|
AUDIT_SEEK_OPTIONS,
|
|
503
543
|
SCREENSHOT_SEEK_OPTIONS,
|
|
504
544
|
DENSE_GEOMETRY_SEEK_OPTIONS,
|
|
545
|
+
prelaunchCompositionBrowser,
|
|
505
546
|
resolveCliChromeGpuMode,
|
|
506
547
|
waitForRuntimeReady,
|
|
507
548
|
installPageFunctionGuard,
|
|
@@ -513,6 +554,7 @@ export {
|
|
|
513
554
|
DEFAULT_ZOOM_PADDING_PX,
|
|
514
555
|
DEFAULT_ZOOM_SCALE,
|
|
515
556
|
parseZoomTarget,
|
|
557
|
+
clampCropRegion,
|
|
516
558
|
padCropRegion,
|
|
517
559
|
resolveCropRegion,
|
|
518
560
|
captureRegionCrop,
|