@roxybrowser/playwright 2.0.2-beta.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 +115 -0
- package/dist/apiRequestContext.d.ts +52 -0
- package/dist/apiRequestContext.d.ts.map +1 -0
- package/dist/apiRequestContext.js +632 -0
- package/dist/apiRequestContext.js.map +1 -0
- package/dist/ariaSnapshot.d.ts +38 -0
- package/dist/ariaSnapshot.d.ts.map +1 -0
- package/dist/ariaSnapshot.js +1137 -0
- package/dist/ariaSnapshot.js.map +1 -0
- package/dist/assertions.d.ts +2 -0
- package/dist/assertions.d.ts.map +1 -0
- package/dist/assertions.js +6 -0
- package/dist/assertions.js.map +1 -0
- package/dist/bin/roxybrowser-mcp.d.ts +3 -0
- package/dist/bin/roxybrowser-mcp.d.ts.map +1 -0
- package/dist/bin/roxybrowser-mcp.js +7 -0
- package/dist/bin/roxybrowser-mcp.js.map +1 -0
- package/dist/browser.d.ts +15 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +67 -0
- package/dist/browser.js.map +1 -0
- package/dist/browserContext.d.ts +156 -0
- package/dist/browserContext.d.ts.map +1 -0
- package/dist/browserContext.js +1129 -0
- package/dist/browserContext.js.map +1 -0
- package/dist/browserContextClock.d.ts +54 -0
- package/dist/browserContextClock.d.ts.map +1 -0
- package/dist/browserContextClock.js +147 -0
- package/dist/browserContextClock.js.map +1 -0
- package/dist/browserType.d.ts +16 -0
- package/dist/browserType.d.ts.map +1 -0
- package/dist/browserType.js +68 -0
- package/dist/browserType.js.map +1 -0
- package/dist/bundle.d.ts +20 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +20 -0
- package/dist/bundle.js.map +1 -0
- package/dist/clock.d.ts +43 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +70 -0
- package/dist/clock.js.map +1 -0
- package/dist/elementHandle.d.ts +100 -0
- package/dist/elementHandle.d.ts.map +1 -0
- package/dist/elementHandle.js +423 -0
- package/dist/elementHandle.js.map +1 -0
- package/dist/errors.d.ts +10 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +19 -0
- package/dist/errors.js.map +1 -0
- package/dist/evaluation.d.ts +4 -0
- package/dist/evaluation.d.ts.map +1 -0
- package/dist/evaluation.js +9 -0
- package/dist/evaluation.js.map +1 -0
- package/dist/frame.d.ts +139 -0
- package/dist/frame.d.ts.map +1 -0
- package/dist/frame.js +451 -0
- package/dist/frame.js.map +1 -0
- package/dist/httpHeaders.d.ts +6 -0
- package/dist/httpHeaders.d.ts.map +1 -0
- package/dist/httpHeaders.js +23 -0
- package/dist/httpHeaders.js.map +1 -0
- package/dist/human/controller.d.ts +15 -0
- package/dist/human/controller.d.ts.map +1 -0
- package/dist/human/controller.js +67 -0
- package/dist/human/controller.js.map +1 -0
- package/dist/human/profile.d.ts +5 -0
- package/dist/human/profile.d.ts.map +1 -0
- package/dist/human/profile.js +50 -0
- package/dist/human/profile.js.map +1 -0
- package/dist/human/types.d.ts +28 -0
- package/dist/human/types.d.ts.map +1 -0
- package/dist/human/types.js +2 -0
- package/dist/human/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/inputFiles.d.ts +18 -0
- package/dist/inputFiles.d.ts.map +1 -0
- package/dist/inputFiles.js +192 -0
- package/dist/inputFiles.js.map +1 -0
- package/dist/jsHandle.d.ts +32 -0
- package/dist/jsHandle.d.ts.map +1 -0
- package/dist/jsHandle.js +148 -0
- package/dist/jsHandle.js.map +1 -0
- package/dist/locator.d.ts +190 -0
- package/dist/locator.d.ts.map +1 -0
- package/dist/locator.js +883 -0
- package/dist/locator.js.map +1 -0
- package/dist/locatorSelectors.d.ts +11 -0
- package/dist/locatorSelectors.d.ts.map +1 -0
- package/dist/locatorSelectors.js +50 -0
- package/dist/locatorSelectors.js.map +1 -0
- package/dist/mcp/backend/common.d.ts +4 -0
- package/dist/mcp/backend/common.d.ts.map +1 -0
- package/dist/mcp/backend/common.js +40 -0
- package/dist/mcp/backend/common.js.map +1 -0
- package/dist/mcp/backend/connect.d.ts +10 -0
- package/dist/mcp/backend/connect.d.ts.map +1 -0
- package/dist/mcp/backend/connect.js +30 -0
- package/dist/mcp/backend/connect.js.map +1 -0
- package/dist/mcp/backend/console.d.ts +13 -0
- package/dist/mcp/backend/console.d.ts.map +1 -0
- package/dist/mcp/backend/console.js +36 -0
- package/dist/mcp/backend/console.js.map +1 -0
- package/dist/mcp/backend/context.d.ts +27 -0
- package/dist/mcp/backend/context.d.ts.map +1 -0
- package/dist/mcp/backend/context.js +33 -0
- package/dist/mcp/backend/context.js.map +1 -0
- package/dist/mcp/backend/dialogs.d.ts +7 -0
- package/dist/mcp/backend/dialogs.d.ts.map +1 -0
- package/dist/mcp/backend/dialogs.js +24 -0
- package/dist/mcp/backend/dialogs.js.map +1 -0
- package/dist/mcp/backend/evaluate.d.ts +9 -0
- package/dist/mcp/backend/evaluate.d.ts.map +1 -0
- package/dist/mcp/backend/evaluate.js +31 -0
- package/dist/mcp/backend/evaluate.js.map +1 -0
- package/dist/mcp/backend/files.d.ts +9 -0
- package/dist/mcp/backend/files.d.ts.map +1 -0
- package/dist/mcp/backend/files.js +39 -0
- package/dist/mcp/backend/files.js.map +1 -0
- package/dist/mcp/backend/keyboard.d.ts +22 -0
- package/dist/mcp/backend/keyboard.d.ts.map +1 -0
- package/dist/mcp/backend/keyboard.js +67 -0
- package/dist/mcp/backend/keyboard.js.map +1 -0
- package/dist/mcp/backend/navigate.d.ts +4 -0
- package/dist/mcp/backend/navigate.d.ts.map +1 -0
- package/dist/mcp/backend/navigate.js +82 -0
- package/dist/mcp/backend/navigate.js.map +1 -0
- package/dist/mcp/backend/network.d.ts +17 -0
- package/dist/mcp/backend/network.d.ts.map +1 -0
- package/dist/mcp/backend/network.js +144 -0
- package/dist/mcp/backend/network.js.map +1 -0
- package/dist/mcp/backend/response.d.ts +26 -0
- package/dist/mcp/backend/response.d.ts.map +1 -0
- package/dist/mcp/backend/response.js +109 -0
- package/dist/mcp/backend/response.js.map +1 -0
- package/dist/mcp/backend/runCode.d.ts +6 -0
- package/dist/mcp/backend/runCode.d.ts.map +1 -0
- package/dist/mcp/backend/runCode.js +20 -0
- package/dist/mcp/backend/runCode.js.map +1 -0
- package/dist/mcp/backend/screenshot.d.ts +13 -0
- package/dist/mcp/backend/screenshot.d.ts.map +1 -0
- package/dist/mcp/backend/screenshot.js +37 -0
- package/dist/mcp/backend/screenshot.js.map +1 -0
- package/dist/mcp/backend/snapshot.d.ts +70 -0
- package/dist/mcp/backend/snapshot.d.ts.map +1 -0
- package/dist/mcp/backend/snapshot.js +185 -0
- package/dist/mcp/backend/snapshot.js.map +1 -0
- package/dist/mcp/backend/tab.d.ts +72 -0
- package/dist/mcp/backend/tab.d.ts.map +1 -0
- package/dist/mcp/backend/tab.js +99 -0
- package/dist/mcp/backend/tab.js.map +1 -0
- package/dist/mcp/backend/tabs.d.ts +13 -0
- package/dist/mcp/backend/tabs.d.ts.map +1 -0
- package/dist/mcp/backend/tabs.js +44 -0
- package/dist/mcp/backend/tabs.js.map +1 -0
- package/dist/mcp/backend/tool.d.ts +52 -0
- package/dist/mcp/backend/tool.d.ts.map +1 -0
- package/dist/mcp/backend/tool.js +28 -0
- package/dist/mcp/backend/tool.js.map +1 -0
- package/dist/mcp/backend/tools.d.ts +4 -0
- package/dist/mcp/backend/tools.d.ts.map +1 -0
- package/dist/mcp/backend/tools.js +30 -0
- package/dist/mcp/backend/tools.js.map +1 -0
- package/dist/mcp/connectedBrowser.d.ts +3 -0
- package/dist/mcp/connectedBrowser.d.ts.map +1 -0
- package/dist/mcp/connectedBrowser.js +2153 -0
- package/dist/mcp/connectedBrowser.js.map +1 -0
- package/dist/mcp/errors.d.ts +6 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +12 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/format.d.ts +12 -0
- package/dist/mcp/format.d.ts.map +1 -0
- package/dist/mcp/format.js +48 -0
- package/dist/mcp/format.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +5 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/output.d.ts +7 -0
- package/dist/mcp/output.d.ts.map +1 -0
- package/dist/mcp/output.js +39 -0
- package/dist/mcp/output.js.map +1 -0
- package/dist/mcp/runtime.d.ts +122 -0
- package/dist/mcp/runtime.d.ts.map +1 -0
- package/dist/mcp/runtime.js +524 -0
- package/dist/mcp/runtime.js.map +1 -0
- package/dist/mcp/schemas.d.ts +61 -0
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +41 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +117 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/snapshot.d.ts +3 -0
- package/dist/mcp/snapshot.d.ts.map +1 -0
- package/dist/mcp/snapshot.js +3 -0
- package/dist/mcp/snapshot.js.map +1 -0
- package/dist/mcp/tool.d.ts +19 -0
- package/dist/mcp/tool.d.ts.map +1 -0
- package/dist/mcp/tool.js +10 -0
- package/dist/mcp/tool.js.map +1 -0
- package/dist/mcp/tools/common.d.ts +6 -0
- package/dist/mcp/tools/common.d.ts.map +1 -0
- package/dist/mcp/tools/common.js +34 -0
- package/dist/mcp/tools/common.js.map +1 -0
- package/dist/mcp/tools/connect.d.ts +6 -0
- package/dist/mcp/tools/connect.d.ts.map +1 -0
- package/dist/mcp/tools/connect.js +28 -0
- package/dist/mcp/tools/connect.js.map +1 -0
- package/dist/mcp/tools/console.d.ts +6 -0
- package/dist/mcp/tools/console.d.ts.map +1 -0
- package/dist/mcp/tools/console.js +36 -0
- package/dist/mcp/tools/console.js.map +1 -0
- package/dist/mcp/tools/dialog.d.ts +6 -0
- package/dist/mcp/tools/dialog.d.ts.map +1 -0
- package/dist/mcp/tools/dialog.js +22 -0
- package/dist/mcp/tools/dialog.js.map +1 -0
- package/dist/mcp/tools/evaluate.d.ts +6 -0
- package/dist/mcp/tools/evaluate.d.ts.map +1 -0
- package/dist/mcp/tools/evaluate.js +31 -0
- package/dist/mcp/tools/evaluate.js.map +1 -0
- package/dist/mcp/tools/form.d.ts +6 -0
- package/dist/mcp/tools/form.d.ts.map +1 -0
- package/dist/mcp/tools/form.js +129 -0
- package/dist/mcp/tools/form.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +7 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/keyboard.d.ts +3 -0
- package/dist/mcp/tools/keyboard.d.ts.map +1 -0
- package/dist/mcp/tools/keyboard.js +44 -0
- package/dist/mcp/tools/keyboard.js.map +1 -0
- package/dist/mcp/tools/mouse.d.ts +3 -0
- package/dist/mcp/tools/mouse.d.ts.map +1 -0
- package/dist/mcp/tools/mouse.js +89 -0
- package/dist/mcp/tools/mouse.js.map +1 -0
- package/dist/mcp/tools/navigate.d.ts +6 -0
- package/dist/mcp/tools/navigate.d.ts.map +1 -0
- package/dist/mcp/tools/navigate.js +74 -0
- package/dist/mcp/tools/navigate.js.map +1 -0
- package/dist/mcp/tools/network.d.ts +6 -0
- package/dist/mcp/tools/network.d.ts.map +1 -0
- package/dist/mcp/tools/network.js +142 -0
- package/dist/mcp/tools/network.js.map +1 -0
- package/dist/mcp/tools/runCode.d.ts +6 -0
- package/dist/mcp/tools/runCode.d.ts.map +1 -0
- package/dist/mcp/tools/runCode.js +24 -0
- package/dist/mcp/tools/runCode.js.map +1 -0
- package/dist/mcp/tools/screenshot.d.ts +6 -0
- package/dist/mcp/tools/screenshot.d.ts.map +1 -0
- package/dist/mcp/tools/screenshot.js +46 -0
- package/dist/mcp/tools/screenshot.js.map +1 -0
- package/dist/mcp/tools/snapshot.d.ts +6 -0
- package/dist/mcp/tools/snapshot.d.ts.map +1 -0
- package/dist/mcp/tools/snapshot.js +56 -0
- package/dist/mcp/tools/snapshot.js.map +1 -0
- package/dist/mcp/tools/tabs.d.ts +6 -0
- package/dist/mcp/tools/tabs.d.ts.map +1 -0
- package/dist/mcp/tools/tabs.js +34 -0
- package/dist/mcp/tools/tabs.js.map +1 -0
- package/dist/mcp/transports/http.d.ts +3 -0
- package/dist/mcp/transports/http.d.ts.map +1 -0
- package/dist/mcp/transports/http.js +134 -0
- package/dist/mcp/transports/http.js.map +1 -0
- package/dist/mcp/transports/inMemory.d.ts +3 -0
- package/dist/mcp/transports/inMemory.d.ts.map +1 -0
- package/dist/mcp/transports/inMemory.js +18 -0
- package/dist/mcp/transports/inMemory.js.map +1 -0
- package/dist/mcp/transports/stdio.d.ts +3 -0
- package/dist/mcp/transports/stdio.d.ts.map +1 -0
- package/dist/mcp/transports/stdio.js +16 -0
- package/dist/mcp/transports/stdio.js.map +1 -0
- package/dist/mcp/types.d.ts +193 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/navigationResult.d.ts +10 -0
- package/dist/navigationResult.d.ts.map +1 -0
- package/dist/navigationResult.js +15 -0
- package/dist/navigationResult.js.map +1 -0
- package/dist/page.d.ts +907 -0
- package/dist/page.d.ts.map +1 -0
- package/dist/page.js +6385 -0
- package/dist/page.js.map +1 -0
- package/dist/pageApiReport.d.ts +31 -0
- package/dist/pageApiReport.d.ts.map +1 -0
- package/dist/pageApiReport.js +218 -0
- package/dist/pageApiReport.js.map +1 -0
- package/dist/pageResponse.d.ts +18 -0
- package/dist/pageResponse.d.ts.map +1 -0
- package/dist/pageResponse.js +23 -0
- package/dist/pageResponse.js.map +1 -0
- package/dist/processCleanup.d.ts +8 -0
- package/dist/processCleanup.d.ts.map +1 -0
- package/dist/processCleanup.js +413 -0
- package/dist/processCleanup.js.map +1 -0
- package/dist/protocol/adapter.d.ts +406 -0
- package/dist/protocol/adapter.d.ts.map +1 -0
- package/dist/protocol/adapter.js +8 -0
- package/dist/protocol/adapter.js.map +1 -0
- package/dist/protocol/bidi/backend.d.ts +8 -0
- package/dist/protocol/bidi/backend.d.ts.map +1 -0
- package/dist/protocol/bidi/backend.js +3616 -0
- package/dist/protocol/bidi/backend.js.map +1 -0
- package/dist/protocol/bidi/client.d.ts +104 -0
- package/dist/protocol/bidi/client.d.ts.map +1 -0
- package/dist/protocol/bidi/client.js +228 -0
- package/dist/protocol/bidi/client.js.map +1 -0
- package/dist/protocol/capabilities.d.ts +11 -0
- package/dist/protocol/capabilities.d.ts.map +1 -0
- package/dist/protocol/capabilities.js +2 -0
- package/dist/protocol/capabilities.js.map +1 -0
- package/dist/protocol/cdp/backend.d.ts +24 -0
- package/dist/protocol/cdp/backend.d.ts.map +1 -0
- package/dist/protocol/cdp/backend.js +8428 -0
- package/dist/protocol/cdp/backend.js.map +1 -0
- package/dist/protocol/evaluate.d.ts +2 -0
- package/dist/protocol/evaluate.d.ts.map +1 -0
- package/dist/protocol/evaluate.js +14 -0
- package/dist/protocol/evaluate.js.map +1 -0
- package/dist/protocol/evaluationSerializer.d.ts +6 -0
- package/dist/protocol/evaluationSerializer.d.ts.map +1 -0
- package/dist/protocol/evaluationSerializer.js +234 -0
- package/dist/protocol/evaluationSerializer.js.map +1 -0
- package/dist/protocol/keyboardInput.d.ts +34 -0
- package/dist/protocol/keyboardInput.d.ts.map +1 -0
- package/dist/protocol/keyboardInput.js +246 -0
- package/dist/protocol/keyboardInput.js.map +1 -0
- package/dist/protocol/routing.d.ts +40 -0
- package/dist/protocol/routing.d.ts.map +1 -0
- package/dist/protocol/routing.js +2 -0
- package/dist/protocol/routing.js.map +1 -0
- package/dist/protocol/selectorRuntime.d.ts +30 -0
- package/dist/protocol/selectorRuntime.d.ts.map +1 -0
- package/dist/protocol/selectorRuntime.js +1814 -0
- package/dist/protocol/selectorRuntime.js.map +1 -0
- package/dist/protocol/webdriver-classic/backend.d.ts +6 -0
- package/dist/protocol/webdriver-classic/backend.d.ts.map +1 -0
- package/dist/protocol/webdriver-classic/backend.js +158 -0
- package/dist/protocol/webdriver-classic/backend.js.map +1 -0
- package/dist/routeHandler.d.ts +15 -0
- package/dist/routeHandler.d.ts.map +1 -0
- package/dist/routeHandler.js +2 -0
- package/dist/routeHandler.js.map +1 -0
- package/dist/roxybrowser.bundle.js +78236 -0
- package/dist/roxybrowser.bundle.js.map +1 -0
- package/dist/screencast.d.ts +57 -0
- package/dist/screencast.d.ts.map +1 -0
- package/dist/screencast.js +155 -0
- package/dist/screencast.js.map +1 -0
- package/dist/screencastActions.d.ts +2 -0
- package/dist/screencastActions.d.ts.map +1 -0
- package/dist/screencastActions.js +183 -0
- package/dist/screencastActions.js.map +1 -0
- package/dist/screencastOverlay.d.ts +3 -0
- package/dist/screencastOverlay.d.ts.map +1 -0
- package/dist/screencastOverlay.js +119 -0
- package/dist/screencastOverlay.js.map +1 -0
- package/dist/screenshotOptions.d.ts +26 -0
- package/dist/screenshotOptions.d.ts.map +1 -0
- package/dist/screenshotOptions.js +171 -0
- package/dist/screenshotOptions.js.map +1 -0
- package/dist/screenshotPreparation.d.ts +21 -0
- package/dist/screenshotPreparation.d.ts.map +1 -0
- package/dist/screenshotPreparation.js +199 -0
- package/dist/screenshotPreparation.js.map +1 -0
- package/dist/selectOptionValues.d.ts +10 -0
- package/dist/selectOptionValues.d.ts.map +1 -0
- package/dist/selectOptionValues.js +60 -0
- package/dist/selectOptionValues.js.map +1 -0
- package/dist/selectors.d.ts +3 -0
- package/dist/selectors.d.ts.map +1 -0
- package/dist/selectors.js +287 -0
- package/dist/selectors.js.map +1 -0
- package/dist/types/api.d.ts +2164 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +2 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/events.d.ts +158 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +2 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/options.d.ts +263 -0
- package/dist/types/options.d.ts.map +1 -0
- package/dist/types/options.js +2 -0
- package/dist/types/options.js.map +1 -0
- package/dist/urlMatch.d.ts +19 -0
- package/dist/urlMatch.d.ts.map +1 -0
- package/dist/urlMatch.js +183 -0
- package/dist/urlMatch.js.map +1 -0
- package/dist/utilityScriptSerializers.d.ts +61 -0
- package/dist/utilityScriptSerializers.d.ts.map +1 -0
- package/dist/utilityScriptSerializers.js +297 -0
- package/dist/utilityScriptSerializers.js.map +1 -0
- package/dist/vendor/playwright/ariaSnapshotEvaluate.d.ts +2 -0
- package/dist/vendor/playwright/ariaSnapshotEvaluate.d.ts.map +1 -0
- package/dist/vendor/playwright/ariaSnapshotEvaluate.js +207 -0
- package/dist/vendor/playwright/ariaSnapshotEvaluate.js.map +1 -0
- package/dist/vendor/playwright/generated/clockSource.d.ts +9 -0
- package/dist/vendor/playwright/generated/clockSource.d.ts.map +1 -0
- package/dist/vendor/playwright/generated/clockSource.js +9 -0
- package/dist/vendor/playwright/generated/clockSource.js.map +1 -0
- package/dist/vendor/playwright/generated/injectedScriptSource.d.ts +9 -0
- package/dist/vendor/playwright/generated/injectedScriptSource.d.ts.map +1 -0
- package/dist/vendor/playwright/generated/injectedScriptSource.js +9 -0
- package/dist/vendor/playwright/generated/injectedScriptSource.js.map +1 -0
- package/dist/video.d.ts +39 -0
- package/dist/video.d.ts.map +1 -0
- package/dist/video.js +235 -0
- package/dist/video.js.map +1 -0
- package/dist/waitForSelector.d.ts +7 -0
- package/dist/waitForSelector.d.ts.map +1 -0
- package/dist/waitForSelector.js +23 -0
- package/dist/waitForSelector.js.map +1 -0
- package/dist/worker.d.ts +45 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +192 -0
- package/dist/worker.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ProtocolPageAdapter } from "./protocol/adapter.js";
|
|
2
|
+
import type { ScreencastFrame } from "./types/events.js";
|
|
3
|
+
import type { Disposable, Screencast as ScreencastApi } from "./types/api.js";
|
|
4
|
+
export declare class RoxyScreencast implements ScreencastApi {
|
|
5
|
+
private readonly adapter;
|
|
6
|
+
private started;
|
|
7
|
+
private onFrame;
|
|
8
|
+
private manualRecorder;
|
|
9
|
+
private readonly activeRecorders;
|
|
10
|
+
constructor(adapter: ProtocolPageAdapter);
|
|
11
|
+
start(options?: {
|
|
12
|
+
onFrame?: (frame: ScreencastFrame) => Promise<any> | any;
|
|
13
|
+
path?: string;
|
|
14
|
+
size?: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
};
|
|
18
|
+
quality?: number;
|
|
19
|
+
annotate?: {
|
|
20
|
+
duration?: number;
|
|
21
|
+
position?: "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right";
|
|
22
|
+
fontSize?: number;
|
|
23
|
+
};
|
|
24
|
+
}): Promise<Disposable>;
|
|
25
|
+
startBackgroundRecording(options: {
|
|
26
|
+
path: string;
|
|
27
|
+
size?: {
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
};
|
|
31
|
+
quality?: number;
|
|
32
|
+
showActions?: {
|
|
33
|
+
duration?: number;
|
|
34
|
+
position?: "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right";
|
|
35
|
+
fontSize?: number;
|
|
36
|
+
};
|
|
37
|
+
}): Promise<Disposable>;
|
|
38
|
+
stop(): Promise<void>;
|
|
39
|
+
showActions(options?: {
|
|
40
|
+
duration?: number;
|
|
41
|
+
position?: "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right";
|
|
42
|
+
fontSize?: number;
|
|
43
|
+
cursor?: "none" | "pointer";
|
|
44
|
+
}): Promise<Disposable>;
|
|
45
|
+
hideActions(): Promise<void>;
|
|
46
|
+
showOverlay(html: string, options?: {
|
|
47
|
+
duration?: number;
|
|
48
|
+
}): Promise<Disposable>;
|
|
49
|
+
showChapter(title: string, options?: {
|
|
50
|
+
description?: string;
|
|
51
|
+
duration?: number;
|
|
52
|
+
}): Promise<void>;
|
|
53
|
+
showOverlays(): Promise<void>;
|
|
54
|
+
hideOverlays(): Promise<void>;
|
|
55
|
+
private createRecorder;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=screencast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screencast.d.ts","sourceRoot":"","sources":["../src/screencast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAyB9E,qBAAa,cAAe,YAAW,aAAa;IAMtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAiE;IAChF,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;gBAEzC,OAAO,EAAE,mBAAmB;IASnD,KAAK,CAAC,OAAO,GAAE;QACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACzD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE;YACT,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,QAAQ,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,cAAc,CAAC;YACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACE,GAAG,OAAO,CAAC,UAAU,CAAC;IA8BtB,wBAAwB,CAAC,OAAO,EAAE;QACtC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE;YACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,QAAQ,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,cAAc,CAAC;YACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,GAAG,OAAO,CAAC,UAAU,CAAC;IA2BjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrB,WAAW,CAAC,OAAO,CAAC,EAAE;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,cAAc,CAAC;QACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GAAG,OAAO,CAAC,UAAU,CAAC;IAKjB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GACA,OAAO,CAAC,UAAU,CAAC;IAQhB,WAAW,CACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GACA,OAAO,CAAC,IAAI,CAAC;IAQV,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,OAAO,CAAC,cAAc;CAmBvB"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { ScreencastFrameRecorder } from "./video.js";
|
|
2
|
+
class DisposableStub {
|
|
3
|
+
disposeCallback;
|
|
4
|
+
constructor(dispose) {
|
|
5
|
+
this.disposeCallback = dispose;
|
|
6
|
+
}
|
|
7
|
+
async [Symbol.asyncDispose]() {
|
|
8
|
+
await this.dispose();
|
|
9
|
+
}
|
|
10
|
+
async dispose() {
|
|
11
|
+
if (!this.disposeCallback) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const dispose = this.disposeCallback;
|
|
15
|
+
this.disposeCallback = undefined;
|
|
16
|
+
await dispose();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class RoxyScreencast {
|
|
20
|
+
adapter;
|
|
21
|
+
started = false;
|
|
22
|
+
onFrame = null;
|
|
23
|
+
manualRecorder = null;
|
|
24
|
+
activeRecorders = new Set();
|
|
25
|
+
constructor(adapter) {
|
|
26
|
+
this.adapter = adapter;
|
|
27
|
+
this.adapter.on("screencastFrame", (frame) => {
|
|
28
|
+
for (const recorder of this.activeRecorders) {
|
|
29
|
+
recorder.writeFrame(frame.data, frame.timestamp);
|
|
30
|
+
}
|
|
31
|
+
void this.onFrame?.(frame);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async start(options = {}) {
|
|
35
|
+
if (this.started) {
|
|
36
|
+
throw new Error("Screencast is already started");
|
|
37
|
+
}
|
|
38
|
+
this.started = true;
|
|
39
|
+
this.onFrame = options.onFrame ?? null;
|
|
40
|
+
const recorder = options.path ? this.createRecorder(options.path, options.size, options.quality) : null;
|
|
41
|
+
this.manualRecorder = recorder;
|
|
42
|
+
try {
|
|
43
|
+
await recorder?.ready();
|
|
44
|
+
await this.adapter.screencastStart({
|
|
45
|
+
sendFrames: Boolean(options.onFrame || recorder),
|
|
46
|
+
...(options.size ? { size: options.size } : {}),
|
|
47
|
+
...(options.quality !== undefined ? { quality: options.quality } : {}),
|
|
48
|
+
...(options.annotate ? { annotate: options.annotate } : {})
|
|
49
|
+
});
|
|
50
|
+
if (recorder) {
|
|
51
|
+
this.activeRecorders.add(recorder);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
this.started = false;
|
|
56
|
+
this.onFrame = null;
|
|
57
|
+
this.manualRecorder = null;
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
return new DisposableStub(() => this.stop());
|
|
61
|
+
}
|
|
62
|
+
async startBackgroundRecording(options) {
|
|
63
|
+
const recorder = this.createRecorder(options.path, options.size, options.quality);
|
|
64
|
+
await recorder.ready();
|
|
65
|
+
await this.adapter.screencastStart({
|
|
66
|
+
sendFrames: true,
|
|
67
|
+
...(options.size ? { size: options.size } : {}),
|
|
68
|
+
...(options.quality !== undefined ? { quality: options.quality } : {})
|
|
69
|
+
});
|
|
70
|
+
this.activeRecorders.add(recorder);
|
|
71
|
+
const actions = options.showActions
|
|
72
|
+
? await this.showActions(options.showActions)
|
|
73
|
+
: null;
|
|
74
|
+
return new DisposableStub(async () => {
|
|
75
|
+
this.activeRecorders.delete(recorder);
|
|
76
|
+
try {
|
|
77
|
+
if (actions) {
|
|
78
|
+
await actions.dispose();
|
|
79
|
+
}
|
|
80
|
+
await this.adapter.screencastStop();
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
await recorder.stop();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
async stop() {
|
|
88
|
+
if (!this.started) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const recorder = this.manualRecorder;
|
|
92
|
+
this.started = false;
|
|
93
|
+
this.onFrame = null;
|
|
94
|
+
this.manualRecorder = null;
|
|
95
|
+
if (recorder) {
|
|
96
|
+
this.activeRecorders.delete(recorder);
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
await this.adapter.screencastStop();
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
await recorder?.stop();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async showActions(options) {
|
|
106
|
+
await this.adapter.screencastShowActions(options);
|
|
107
|
+
return new DisposableStub(() => this.adapter.screencastHideActions());
|
|
108
|
+
}
|
|
109
|
+
async hideActions() {
|
|
110
|
+
await this.adapter.screencastHideActions();
|
|
111
|
+
}
|
|
112
|
+
async showOverlay(html, options) {
|
|
113
|
+
const result = await this.adapter.screencastShowOverlay({
|
|
114
|
+
html,
|
|
115
|
+
...(options?.duration !== undefined ? { duration: options.duration } : {})
|
|
116
|
+
});
|
|
117
|
+
return new DisposableStub(() => this.adapter.screencastRemoveOverlay(result.id));
|
|
118
|
+
}
|
|
119
|
+
async showChapter(title, options) {
|
|
120
|
+
await this.adapter.screencastChapter({
|
|
121
|
+
title,
|
|
122
|
+
...(options?.description !== undefined ? { description: options.description } : {}),
|
|
123
|
+
...(options?.duration !== undefined ? { duration: options.duration } : {})
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
async showOverlays() {
|
|
127
|
+
await this.adapter.screencastSetOverlayVisible(true);
|
|
128
|
+
}
|
|
129
|
+
async hideOverlays() {
|
|
130
|
+
await this.adapter.screencastSetOverlayVisible(false);
|
|
131
|
+
}
|
|
132
|
+
createRecorder(path, size, quality) {
|
|
133
|
+
const recordingSize = size ?? deriveDefaultVideoSize(this.adapter.viewportSize());
|
|
134
|
+
return new ScreencastFrameRecorder({
|
|
135
|
+
path,
|
|
136
|
+
size: recordingSize,
|
|
137
|
+
captureFallbackFrame: async () => this.adapter.screenshot({
|
|
138
|
+
type: "jpeg",
|
|
139
|
+
...(quality !== undefined ? { quality } : {})
|
|
140
|
+
})
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function deriveDefaultVideoSize(viewport) {
|
|
145
|
+
const resolvedViewport = viewport ?? {
|
|
146
|
+
width: 800,
|
|
147
|
+
height: 600
|
|
148
|
+
};
|
|
149
|
+
const scale = Math.min(1, 800 / Math.max(resolvedViewport.width, resolvedViewport.height));
|
|
150
|
+
return {
|
|
151
|
+
width: Math.max(2, Math.floor(resolvedViewport.width * scale)) & ~1,
|
|
152
|
+
height: Math.max(2, Math.floor(resolvedViewport.height * scale)) & ~1
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=screencast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screencast.js","sourceRoot":"","sources":["../src/screencast.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screencastActions.d.ts","sourceRoot":"","sources":["../src/screencastActions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC,QAqL3C,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
export const RENDER_SCREENCAST_ACTIONS_SOURCE = String.raw `(payload) => {
|
|
2
|
+
const styleId = "__roxy_screencast_actions_style__";
|
|
3
|
+
const containerTag = "x-pw-action-overlays";
|
|
4
|
+
const highlightTag = "x-pw-highlight";
|
|
5
|
+
const pointTag = "x-pw-action-point";
|
|
6
|
+
const titleTag = "x-pw-title";
|
|
7
|
+
const cursorTag = "x-pw-action-cursor";
|
|
8
|
+
|
|
9
|
+
const ensureStyle = () => {
|
|
10
|
+
if (document.getElementById(styleId))
|
|
11
|
+
return;
|
|
12
|
+
const style = document.createElement("style");
|
|
13
|
+
style.id = styleId;
|
|
14
|
+
style.textContent = [
|
|
15
|
+
containerTag + " {",
|
|
16
|
+
" position: fixed;",
|
|
17
|
+
" inset: 0;",
|
|
18
|
+
" pointer-events: none;",
|
|
19
|
+
" z-index: 2147483647;",
|
|
20
|
+
"}",
|
|
21
|
+
highlightTag + ", " + pointTag + ", " + titleTag + ", " + cursorTag + " {",
|
|
22
|
+
" position: fixed;",
|
|
23
|
+
" pointer-events: none;",
|
|
24
|
+
" box-sizing: border-box;",
|
|
25
|
+
"}",
|
|
26
|
+
highlightTag + " {",
|
|
27
|
+
" background: rgba(0, 128, 255, 0.15);",
|
|
28
|
+
" border: 2px solid rgba(0, 128, 255, 0.6);",
|
|
29
|
+
" border-radius: 8px;",
|
|
30
|
+
"}",
|
|
31
|
+
pointTag + " {",
|
|
32
|
+
" width: 20px;",
|
|
33
|
+
" height: 20px;",
|
|
34
|
+
" margin-left: -10px;",
|
|
35
|
+
" margin-top: -10px;",
|
|
36
|
+
" background: rgb(255, 0, 0);",
|
|
37
|
+
" border-radius: 10px;",
|
|
38
|
+
"}",
|
|
39
|
+
titleTag + " {",
|
|
40
|
+
" color: rgb(255, 255, 255);",
|
|
41
|
+
" background: rgba(0, 0, 0, 0.8);",
|
|
42
|
+
" border-radius: 6px;",
|
|
43
|
+
" padding: 6px;",
|
|
44
|
+
" font: 14px/1.4 sans-serif;",
|
|
45
|
+
"}",
|
|
46
|
+
cursorTag + " {",
|
|
47
|
+
" width: 18px;",
|
|
48
|
+
" height: 22px;",
|
|
49
|
+
" margin-left: 2px;",
|
|
50
|
+
" margin-top: 2px;",
|
|
51
|
+
" transition: top 160ms ease, left 160ms ease;",
|
|
52
|
+
"}",
|
|
53
|
+
cursorTag + " svg {",
|
|
54
|
+
" display: block;",
|
|
55
|
+
" width: 18px;",
|
|
56
|
+
" height: 22px;",
|
|
57
|
+
"}"
|
|
58
|
+
].join("\n");
|
|
59
|
+
document.head.appendChild(style);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const ensureContainer = () => {
|
|
63
|
+
let container = document.querySelector(containerTag);
|
|
64
|
+
if (container instanceof HTMLElement)
|
|
65
|
+
return container;
|
|
66
|
+
container = document.createElement(containerTag);
|
|
67
|
+
container.setAttribute("aria-hidden", "true");
|
|
68
|
+
const highlight = document.createElement(highlightTag);
|
|
69
|
+
highlight.hidden = true;
|
|
70
|
+
container.appendChild(highlight);
|
|
71
|
+
const point = document.createElement(pointTag);
|
|
72
|
+
point.hidden = true;
|
|
73
|
+
container.appendChild(point);
|
|
74
|
+
const title = document.createElement(titleTag);
|
|
75
|
+
title.hidden = true;
|
|
76
|
+
container.appendChild(title);
|
|
77
|
+
const cursor = document.createElement(cursorTag);
|
|
78
|
+
cursor.hidden = true;
|
|
79
|
+
cursor.innerHTML = [
|
|
80
|
+
'<svg viewBox="0 0 18 22" xmlns="http://www.w3.org/2000/svg">',
|
|
81
|
+
'<path d="M1 1 L1 17 L5.5 13 L8 20.5 L11 19.5 L8.5 12 L15 12 Z" fill="white" stroke="black" stroke-width="1.5" stroke-linejoin="round"></path>',
|
|
82
|
+
"</svg>"
|
|
83
|
+
].join("");
|
|
84
|
+
container.appendChild(cursor);
|
|
85
|
+
document.documentElement.appendChild(container);
|
|
86
|
+
return container;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const applyTitlePosition = (element, position) => {
|
|
90
|
+
element.style.top = "";
|
|
91
|
+
element.style.bottom = "";
|
|
92
|
+
element.style.left = "";
|
|
93
|
+
element.style.right = "";
|
|
94
|
+
element.style.transform = "";
|
|
95
|
+
switch (position) {
|
|
96
|
+
case "top-left":
|
|
97
|
+
element.style.top = "6px";
|
|
98
|
+
element.style.left = "6px";
|
|
99
|
+
return;
|
|
100
|
+
case "top":
|
|
101
|
+
element.style.top = "6px";
|
|
102
|
+
element.style.left = "50%";
|
|
103
|
+
element.style.transform = "translateX(-50%)";
|
|
104
|
+
return;
|
|
105
|
+
case "bottom-left":
|
|
106
|
+
element.style.bottom = "6px";
|
|
107
|
+
element.style.left = "6px";
|
|
108
|
+
return;
|
|
109
|
+
case "bottom":
|
|
110
|
+
element.style.bottom = "6px";
|
|
111
|
+
element.style.left = "50%";
|
|
112
|
+
element.style.transform = "translateX(-50%)";
|
|
113
|
+
return;
|
|
114
|
+
case "bottom-right":
|
|
115
|
+
element.style.bottom = "6px";
|
|
116
|
+
element.style.right = "6px";
|
|
117
|
+
return;
|
|
118
|
+
case "top-right":
|
|
119
|
+
default:
|
|
120
|
+
element.style.top = "6px";
|
|
121
|
+
element.style.right = "6px";
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
ensureStyle();
|
|
126
|
+
const container = ensureContainer();
|
|
127
|
+
const highlight = container.querySelector(highlightTag);
|
|
128
|
+
const point = container.querySelector(pointTag);
|
|
129
|
+
const title = container.querySelector(titleTag);
|
|
130
|
+
const cursor = container.querySelector(cursorTag);
|
|
131
|
+
|
|
132
|
+
if (!(highlight instanceof HTMLElement) || !(point instanceof HTMLElement) || !(title instanceof HTMLElement) || !(cursor instanceof HTMLElement))
|
|
133
|
+
return;
|
|
134
|
+
|
|
135
|
+
const hasAnnotation = !!payload.enabled && !!payload.annotation;
|
|
136
|
+
container.hidden = !hasAnnotation;
|
|
137
|
+
|
|
138
|
+
if (!hasAnnotation) {
|
|
139
|
+
highlight.hidden = true;
|
|
140
|
+
point.hidden = true;
|
|
141
|
+
title.hidden = true;
|
|
142
|
+
cursor.hidden = true;
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const annotation = payload.annotation;
|
|
147
|
+
|
|
148
|
+
if (annotation.highlightBox) {
|
|
149
|
+
highlight.hidden = false;
|
|
150
|
+
highlight.style.left = annotation.highlightBox.left + "px";
|
|
151
|
+
highlight.style.top = annotation.highlightBox.top + "px";
|
|
152
|
+
highlight.style.width = annotation.highlightBox.width + "px";
|
|
153
|
+
highlight.style.height = annotation.highlightBox.height + "px";
|
|
154
|
+
} else {
|
|
155
|
+
highlight.hidden = true;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
if (annotation.point) {
|
|
159
|
+
point.hidden = false;
|
|
160
|
+
point.style.left = annotation.point.x + "px";
|
|
161
|
+
point.style.top = annotation.point.y + "px";
|
|
162
|
+
} else {
|
|
163
|
+
point.hidden = true;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (annotation.title) {
|
|
167
|
+
title.hidden = false;
|
|
168
|
+
title.textContent = annotation.title;
|
|
169
|
+
title.style.fontSize = annotation.fontSize ? annotation.fontSize + "px" : "";
|
|
170
|
+
applyTitlePosition(title, annotation.position);
|
|
171
|
+
} else {
|
|
172
|
+
title.hidden = true;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (annotation.cursorPoint && annotation.cursor !== "none") {
|
|
176
|
+
cursor.hidden = false;
|
|
177
|
+
cursor.style.left = annotation.cursorPoint.x + "px";
|
|
178
|
+
cursor.style.top = annotation.cursorPoint.y + "px";
|
|
179
|
+
} else {
|
|
180
|
+
cursor.hidden = true;
|
|
181
|
+
}
|
|
182
|
+
}`;
|
|
183
|
+
//# sourceMappingURL=screencastActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screencastActions.js","sourceRoot":"","sources":["../src/screencastActions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqLxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screencastOverlay.d.ts","sourceRoot":"","sources":["../src/screencastOverlay.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,QAwG5C,CAAC;AAEH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAIpF"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export const RENDER_SCREencast_OVERLAYS_SOURCE = String.raw `(payload) => {
|
|
2
|
+
const styleId = "__roxy_screencast_overlay_style__";
|
|
3
|
+
const containerTag = "x-pw-user-overlays";
|
|
4
|
+
const overlayClassName = "x-pw-user-overlay";
|
|
5
|
+
|
|
6
|
+
const ensureStyle = () => {
|
|
7
|
+
if (document.getElementById(styleId))
|
|
8
|
+
return;
|
|
9
|
+
const style = document.createElement("style");
|
|
10
|
+
style.id = styleId;
|
|
11
|
+
style.textContent = [
|
|
12
|
+
containerTag + ", ." + overlayClassName + " {",
|
|
13
|
+
" position: fixed;",
|
|
14
|
+
" inset: 0;",
|
|
15
|
+
"}",
|
|
16
|
+
containerTag + " {",
|
|
17
|
+
" pointer-events: none;",
|
|
18
|
+
" z-index: 2147483647;",
|
|
19
|
+
"}",
|
|
20
|
+
"." + overlayClassName + " {",
|
|
21
|
+
" pointer-events: none;",
|
|
22
|
+
"}",
|
|
23
|
+
"." + overlayClassName + "[data-roxy-kind=\"chapter\"] {",
|
|
24
|
+
" display: flex;",
|
|
25
|
+
" align-items: center;",
|
|
26
|
+
" justify-content: center;",
|
|
27
|
+
" background: rgba(0, 0, 0, 0.24);",
|
|
28
|
+
" backdrop-filter: blur(8px);",
|
|
29
|
+
"}",
|
|
30
|
+
"." + overlayClassName + "[data-roxy-kind=\"chapter\"] > div {",
|
|
31
|
+
" background: rgba(0, 0, 0, 0.62);",
|
|
32
|
+
" color: white;",
|
|
33
|
+
" padding: 24px 28px;",
|
|
34
|
+
" border-radius: 16px;",
|
|
35
|
+
" max-width: min(720px, calc(100vw - 48px));",
|
|
36
|
+
" text-align: center;",
|
|
37
|
+
" box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);",
|
|
38
|
+
"}",
|
|
39
|
+
"." + overlayClassName + "[data-roxy-kind=\"chapter\"] h1 {",
|
|
40
|
+
" margin: 0;",
|
|
41
|
+
" font-size: 32px;",
|
|
42
|
+
" line-height: 1.2;",
|
|
43
|
+
"}",
|
|
44
|
+
"." + overlayClassName + "[data-roxy-kind=\"chapter\"] p {",
|
|
45
|
+
" margin: 12px 0 0;",
|
|
46
|
+
" font-size: 18px;",
|
|
47
|
+
" line-height: 1.4;",
|
|
48
|
+
" opacity: 0.92;",
|
|
49
|
+
"}"
|
|
50
|
+
].join("\n");
|
|
51
|
+
document.head.appendChild(style);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const ensureContainer = () => {
|
|
55
|
+
let container = document.querySelector(containerTag);
|
|
56
|
+
if (container instanceof HTMLElement)
|
|
57
|
+
return container;
|
|
58
|
+
container = document.createElement(containerTag);
|
|
59
|
+
container.setAttribute("aria-hidden", "true");
|
|
60
|
+
document.documentElement.appendChild(container);
|
|
61
|
+
return container;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const sanitizeOverlay = (element) => {
|
|
65
|
+
for (const script of element.querySelectorAll("script"))
|
|
66
|
+
script.remove();
|
|
67
|
+
for (const child of element.querySelectorAll("*")) {
|
|
68
|
+
for (const attribute of [...child.attributes]) {
|
|
69
|
+
if (attribute.name.toLowerCase().startsWith("on"))
|
|
70
|
+
child.removeAttribute(attribute.name);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
ensureStyle();
|
|
76
|
+
const container = ensureContainer();
|
|
77
|
+
const desiredIds = new Set(payload.overlays.map((entry) => entry.id));
|
|
78
|
+
const existingSelector = "." + overlayClassName + "[data-roxy-overlay-id]";
|
|
79
|
+
|
|
80
|
+
for (const existing of [...container.querySelectorAll(existingSelector)]) {
|
|
81
|
+
const id = existing.getAttribute("data-roxy-overlay-id");
|
|
82
|
+
if (!id || !desiredIds.has(id))
|
|
83
|
+
existing.remove();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
for (const entry of payload.overlays) {
|
|
87
|
+
const overlaySelector = "." + overlayClassName + "[data-roxy-overlay-id=\"" + entry.id + "\"]";
|
|
88
|
+
let element = container.querySelector(overlaySelector);
|
|
89
|
+
if (!(element instanceof HTMLElement)) {
|
|
90
|
+
element = document.createElement("div");
|
|
91
|
+
element.className = overlayClassName;
|
|
92
|
+
element.setAttribute("data-roxy-overlay-id", entry.id);
|
|
93
|
+
container.appendChild(element);
|
|
94
|
+
}
|
|
95
|
+
if (entry.kind)
|
|
96
|
+
element.setAttribute("data-roxy-kind", entry.kind);
|
|
97
|
+
else
|
|
98
|
+
element.removeAttribute("data-roxy-kind");
|
|
99
|
+
|
|
100
|
+
element.innerHTML = entry.html;
|
|
101
|
+
sanitizeOverlay(element);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
container.hidden = !payload.visible || payload.overlays.length === 0;
|
|
105
|
+
}`;
|
|
106
|
+
export function createChapterOverlayHtml(title, description) {
|
|
107
|
+
const escapedTitle = escapeHtml(title);
|
|
108
|
+
const descriptionHtml = description ? `<p>${escapeHtml(description)}</p>` : "";
|
|
109
|
+
return `<div><h1>${escapedTitle}</h1>${descriptionHtml}</div>`;
|
|
110
|
+
}
|
|
111
|
+
function escapeHtml(value) {
|
|
112
|
+
return value
|
|
113
|
+
.replaceAll("&", "&")
|
|
114
|
+
.replaceAll("<", "<")
|
|
115
|
+
.replaceAll(">", ">")
|
|
116
|
+
.replaceAll('"', """)
|
|
117
|
+
.replaceAll("'", "'");
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=screencastOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screencastOverlay.js","sourceRoot":"","sources":["../src/screencastOverlay.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwGzD,CAAC;AAEH,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,WAAoB;IAC1E,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,YAAY,YAAY,QAAQ,eAAe,QAAQ,CAAC;AACjE,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ScreenshotClipOrigin } from "./protocol/adapter.js";
|
|
2
|
+
import type { Rect, ScreenshotOptions, ScreenshotType, ViewportSize } from "./types/options.js";
|
|
3
|
+
export type InternalScreenshotOptions = ScreenshotOptions & {
|
|
4
|
+
__fitsViewport?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export interface NormalizedScreenshot {
|
|
7
|
+
fitsViewport: boolean;
|
|
8
|
+
options: InternalScreenshotOptions;
|
|
9
|
+
}
|
|
10
|
+
export declare function determineScreenshotType(options: {
|
|
11
|
+
path?: string;
|
|
12
|
+
type?: ScreenshotType;
|
|
13
|
+
}): ScreenshotType | undefined;
|
|
14
|
+
export declare function validateScreenshotOptions(options: ScreenshotOptions): "jpeg" | "png";
|
|
15
|
+
export declare function trimClipToSize(clip: Rect, size: ViewportSize): Rect;
|
|
16
|
+
export declare function normalizePageScreenshotOptions(options: ScreenshotOptions, page: {
|
|
17
|
+
evaluate<R, Arg>(pageFunction: (arg: Arg) => R | Promise<R>, arg: Arg): Promise<R>;
|
|
18
|
+
evaluate<R>(pageFunction: () => R | Promise<R>, arg?: any): Promise<R>;
|
|
19
|
+
viewportSize(): ViewportSize | null;
|
|
20
|
+
}, clipOrigin?: ScreenshotClipOrigin): Promise<NormalizedScreenshot>;
|
|
21
|
+
export declare function screenshotOptionsWithFitsViewport(options: ScreenshotOptions, fitsViewport: boolean): InternalScreenshotOptions;
|
|
22
|
+
export declare function normalizeElementScreenshotClip(box: Rect, element: {
|
|
23
|
+
evaluate<R>(pageFunction: () => R | Promise<R>, arg?: any): Promise<R>;
|
|
24
|
+
}, clipOrigin?: ScreenshotClipOrigin): Promise<Rect>;
|
|
25
|
+
export declare function enclosingIntRect(rect: Rect): Rect;
|
|
26
|
+
//# sourceMappingURL=screenshotOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshotOptions.d.ts","sourceRoot":"","sources":["../src/screenshotOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhG,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,GAAG,cAAc,GAAG,SAAS,CAgBrH;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,KAAK,CAyBpF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAcnE;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE;IACJ,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,YAAY,IAAI,YAAY,GAAG,IAAI,CAAC;CACrC,EACD,UAAU,GAAE,oBAAiC,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CAqD/B;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,iBAAiB,EAC1B,YAAY,EAAE,OAAO,GACpB,yBAAyB,CAK3B;AAED,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,IAAI,EACT,OAAO,EAAE;IACP,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACxE,EACD,UAAU,GAAE,oBAAiC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAWjD"}
|