chrome-devtools-frontend 1.0.1615539 → 1.0.1616061
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/front_end/generated/InspectorBackendCommands.ts +2 -1
- package/front_end/generated/SupportedCSSProperties.js +4 -0
- package/front_end/generated/protocol-mapping.d.ts +7 -0
- package/front_end/generated/protocol-proxy-api.d.ts +5 -0
- package/front_end/generated/protocol.ts +11 -0
- package/front_end/models/ai_assistance/agents/AiAgent.ts +5 -4
- package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +3 -0
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +85 -47
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +32 -0
- package/front_end/models/bindings/SymbolizedError.ts +20 -0
- package/front_end/models/bindings/bindings.ts +2 -0
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +28 -23
- package/front_end/panels/ai_assistance/components/chatMessage.css +1 -1
- package/front_end/panels/elements/PropertiesWidget.ts +8 -8
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/README.md +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +12 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.d.ts +74 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.js +68 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts +8 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Issue.d.ts +22 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Issue.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Issue.js +8 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Issue.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +35 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Realm.d.ts +106 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Realm.js +29 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.d.ts +24 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.js +15 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +8 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +9 -47
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +8 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +14 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.js +21 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Target.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.js +18 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.d.ts +28 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js +67 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +9 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +56 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpIssue.d.ts +17 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpIssue.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpIssue.js +27 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpIssue.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.d.ts +16 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.js +79 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts +10 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js +26 -15
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js +38 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts +9 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js +31 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +6 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +49 -35
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Target.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Target.js +16 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +9 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts +218 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js +288 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.d.ts +4 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.js +28 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.d.ts +9 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.js +36 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/types.d.ts +0 -11
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/types.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +7851 -6616
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +1017 -305
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +12 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.d.ts +74 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.js +64 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts +8 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Issue.d.ts +22 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Issue.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Issue.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Issue.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +35 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Realm.d.ts +106 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Realm.js +29 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.d.ts +24 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.js +14 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +8 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +8 -46
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +8 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +14 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.js +22 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Target.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.js +18 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.d.ts +28 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.js +62 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +9 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +56 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpIssue.d.ts +17 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpIssue.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpIssue.js +23 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpIssue.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.d.ts +16 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.js +75 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts +10 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js +26 -15
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js +38 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts +9 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js +31 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +6 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +49 -35
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Target.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Target.js +16 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +9 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts +218 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js +282 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.d.ts +4 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.js +29 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.d.ts +9 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.js +34 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/types.d.ts +0 -11
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/types.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core-browser.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core-browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +7851 -6616
- package/front_end/third_party/puppeteer/package/package.json +5 -6
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +13 -0
- package/front_end/third_party/puppeteer/package/src/api/Extension.ts +98 -0
- package/front_end/third_party/puppeteer/package/src/api/Frame.ts +9 -0
- package/front_end/third_party/puppeteer/package/src/api/Issue.ts +24 -0
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +38 -0
- package/front_end/third_party/puppeteer/package/src/api/Realm.ts +111 -12
- package/front_end/third_party/puppeteer/package/src/api/WebWorker.ts +26 -4
- package/front_end/third_party/puppeteer/package/src/api/api.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +12 -0
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +7 -0
- package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +13 -67
- package/front_end/third_party/puppeteer/package/src/bidi/Input.ts +0 -1
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +21 -2
- package/front_end/third_party/puppeteer/package/src/bidi/Realm.ts +39 -1
- package/front_end/third_party/puppeteer/package/src/bidi/Target.ts +2 -5
- package/front_end/third_party/puppeteer/package/src/bidi/core/Realm.ts +23 -0
- package/front_end/third_party/puppeteer/package/src/bidi/util.ts +94 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +75 -2
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/cdp/CdpIssue.ts +30 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Extension.ts +101 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +32 -22
- package/front_end/third_party/puppeteer/package/src/cdp/FrameManager.ts +44 -3
- package/front_end/third_party/puppeteer/package/src/cdp/IsolatedWorld.ts +40 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +61 -47
- package/front_end/third_party/puppeteer/package/src/cdp/Target.ts +17 -7
- package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +14 -1
- package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +441 -0
- package/front_end/third_party/puppeteer/package/src/cdp/WebWorker.ts +38 -12
- package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/cdp/utils.ts +52 -0
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +7 -0
- package/front_end/third_party/puppeteer/package/src/common/types.ts +0 -14
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +7 -0
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +0 -1
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/Mutex.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +5 -0
- package/front_end/ui/legacy/Treeoutline.ts +13 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
- package/package.json +1 -1
|
@@ -29,12 +29,8 @@ import {
|
|
|
29
29
|
type WaitForOptions,
|
|
30
30
|
} from '../api/Frame.js';
|
|
31
31
|
import {PageEvent, type WaitTimeoutOptions} from '../api/Page.js';
|
|
32
|
+
import type {Realm} from '../api/Realm.js';
|
|
32
33
|
import {Accessibility} from '../cdp/Accessibility.js';
|
|
33
|
-
import type {ConsoleMessageType} from '../common/ConsoleMessage.js';
|
|
34
|
-
import {
|
|
35
|
-
ConsoleMessage,
|
|
36
|
-
type ConsoleMessageLocation,
|
|
37
|
-
} from '../common/ConsoleMessage.js';
|
|
38
34
|
import {TargetCloseError, UnsupportedOperation} from '../common/Errors.js';
|
|
39
35
|
import type {TimeoutSettings} from '../common/TimeoutSettings.js';
|
|
40
36
|
import type {Awaitable, HandleFor} from '../common/types.js';
|
|
@@ -50,34 +46,22 @@ import {BidiCdpSession} from './CDPSession.js';
|
|
|
50
46
|
import type {BrowsingContext} from './core/BrowsingContext.js';
|
|
51
47
|
import type {Navigation} from './core/Navigation.js';
|
|
52
48
|
import type {Request} from './core/Request.js';
|
|
53
|
-
import {BidiDeserializer} from './Deserializer.js';
|
|
54
49
|
import {BidiDialog} from './Dialog.js';
|
|
55
50
|
import {BidiElementHandle} from './ElementHandle.js';
|
|
56
51
|
import {ExposableFunction} from './ExposedFunction.js';
|
|
57
52
|
import {BidiHTTPRequest, requests} from './HTTPRequest.js';
|
|
58
53
|
import type {BidiHTTPResponse} from './HTTPResponse.js';
|
|
59
|
-
import {BidiJSHandle} from './JSHandle.js';
|
|
60
54
|
import type {BidiPage} from './Page.js';
|
|
61
55
|
import type {BidiRealm} from './Realm.js';
|
|
62
56
|
import {BidiFrameRealm} from './Realm.js';
|
|
63
|
-
import {
|
|
57
|
+
import {
|
|
58
|
+
getConsoleMessage,
|
|
59
|
+
isConsoleLogEntry,
|
|
60
|
+
isJavaScriptLogEntry,
|
|
61
|
+
rewriteNavigationError,
|
|
62
|
+
} from './util.js';
|
|
64
63
|
import {BidiWebWorker} from './WebWorker.js';
|
|
65
64
|
|
|
66
|
-
// TODO: Remove this and map CDP the correct method.
|
|
67
|
-
// Requires breaking change.
|
|
68
|
-
function convertConsoleMessageLevel(method: string): ConsoleMessageType {
|
|
69
|
-
switch (method) {
|
|
70
|
-
case 'group':
|
|
71
|
-
return 'startGroup';
|
|
72
|
-
case 'groupCollapsed':
|
|
73
|
-
return 'startGroupCollapsed';
|
|
74
|
-
case 'groupEnd':
|
|
75
|
-
return 'endGroup';
|
|
76
|
-
default:
|
|
77
|
-
return method as ConsoleMessageType;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
65
|
export class BidiFrame extends Frame {
|
|
82
66
|
static from(
|
|
83
67
|
parent: BidiPage | BidiFrame,
|
|
@@ -178,30 +162,16 @@ export class BidiFrame extends Frame {
|
|
|
178
162
|
return;
|
|
179
163
|
}
|
|
180
164
|
if (isConsoleLogEntry(entry)) {
|
|
165
|
+
if (!this.page().listenerCount(PageEvent.Console)) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
181
168
|
const args = entry.args.map(arg => {
|
|
182
169
|
return this.mainRealm().createHandle(arg);
|
|
183
170
|
});
|
|
184
171
|
|
|
185
|
-
const text = args
|
|
186
|
-
.reduce((value, arg) => {
|
|
187
|
-
const parsedValue =
|
|
188
|
-
arg instanceof BidiJSHandle && arg.isPrimitiveValue
|
|
189
|
-
? BidiDeserializer.deserialize(arg.remoteValue())
|
|
190
|
-
: arg.toString();
|
|
191
|
-
return `${value} ${parsedValue}`;
|
|
192
|
-
}, '')
|
|
193
|
-
.slice(1);
|
|
194
|
-
|
|
195
172
|
this.page().trustedEmitter.emit(
|
|
196
173
|
PageEvent.Console,
|
|
197
|
-
|
|
198
|
-
convertConsoleMessageLevel(entry.method),
|
|
199
|
-
text,
|
|
200
|
-
args,
|
|
201
|
-
getStackTraceLocations(entry.stackTrace),
|
|
202
|
-
this,
|
|
203
|
-
undefined,
|
|
204
|
-
),
|
|
174
|
+
getConsoleMessage(entry, args, this),
|
|
205
175
|
);
|
|
206
176
|
} else if (isJavaScriptLogEntry(entry)) {
|
|
207
177
|
const error = new Error(entry.text ?? '');
|
|
@@ -638,32 +608,8 @@ export class BidiFrame extends Frame {
|
|
|
638
608
|
[element.remoteValue() as Bidi.Script.SharedReference],
|
|
639
609
|
);
|
|
640
610
|
}
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
function isConsoleLogEntry(
|
|
644
|
-
event: Bidi.Log.Entry,
|
|
645
|
-
): event is Bidi.Log.ConsoleLogEntry {
|
|
646
|
-
return event.type === 'console';
|
|
647
|
-
}
|
|
648
611
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
): event is Bidi.Log.JavascriptLogEntry {
|
|
652
|
-
return event.type === 'javascript';
|
|
653
|
-
}
|
|
654
|
-
|
|
655
|
-
function getStackTraceLocations(
|
|
656
|
-
stackTrace?: Bidi.Script.StackTrace,
|
|
657
|
-
): ConsoleMessageLocation[] {
|
|
658
|
-
const stackTraceLocations: ConsoleMessageLocation[] = [];
|
|
659
|
-
if (stackTrace) {
|
|
660
|
-
for (const callFrame of stackTrace.callFrames) {
|
|
661
|
-
stackTraceLocations.push({
|
|
662
|
-
url: callFrame.url,
|
|
663
|
-
lineNumber: callFrame.lineNumber,
|
|
664
|
-
columnNumber: callFrame.columnNumber,
|
|
665
|
-
});
|
|
666
|
-
}
|
|
612
|
+
override extensionRealms(): Realm[] {
|
|
613
|
+
throw new UnsupportedOperation();
|
|
667
614
|
}
|
|
668
|
-
return stackTraceLocations;
|
|
669
615
|
}
|
|
@@ -732,7 +732,6 @@ export class BidiTouchscreen extends Touchscreen {
|
|
|
732
732
|
width: 0.5 * 2, // 2 times default touch radius.
|
|
733
733
|
height: 0.5 * 2, // 2 times default touch radius.
|
|
734
734
|
pressure: 0.5,
|
|
735
|
-
altitudeAngle: Math.PI / 2,
|
|
736
735
|
};
|
|
737
736
|
const touch = new BidiTouchHandle(this.#page, this, id, x, y, properties);
|
|
738
737
|
await touch.start(options);
|
|
@@ -13,6 +13,7 @@ import type {WindowId} from '../api/Browser.js';
|
|
|
13
13
|
import type {CDPSession} from '../api/CDPSession.js';
|
|
14
14
|
import type {DeviceRequestPrompt} from '../api/DeviceRequestPrompt.js';
|
|
15
15
|
import type {BoundingBox} from '../api/ElementHandle.js';
|
|
16
|
+
import type {Extension} from '../api/Extension.js';
|
|
16
17
|
import type {WaitForOptions} from '../api/Frame.js';
|
|
17
18
|
import type {HTTPResponse} from '../api/HTTPResponse.js';
|
|
18
19
|
import type {
|
|
@@ -30,6 +31,7 @@ import {
|
|
|
30
31
|
type NewDocumentScriptEvaluation,
|
|
31
32
|
type ScreenshotOptions,
|
|
32
33
|
} from '../api/Page.js';
|
|
34
|
+
import type {Target} from '../api/Target.js';
|
|
33
35
|
import {Coverage} from '../cdp/Coverage.js';
|
|
34
36
|
import {EmulationManager} from '../cdp/EmulationManager.js';
|
|
35
37
|
import type {
|
|
@@ -37,6 +39,7 @@ import type {
|
|
|
37
39
|
NetworkConditions,
|
|
38
40
|
} from '../cdp/NetworkManager.js';
|
|
39
41
|
import {Tracing} from '../cdp/Tracing.js';
|
|
42
|
+
import type {WebMCP} from '../cdp/WebMCP.js';
|
|
40
43
|
import type {
|
|
41
44
|
CookiePartitionKey,
|
|
42
45
|
Cookie,
|
|
@@ -51,6 +54,7 @@ import type {PDFOptions} from '../common/PDFOptions.js';
|
|
|
51
54
|
import type {Awaitable} from '../common/types.js';
|
|
52
55
|
import {evaluationString, parsePDFOptions, timeout} from '../common/util.js';
|
|
53
56
|
import type {Viewport} from '../common/Viewport.js';
|
|
57
|
+
import type {Realm} from '../puppeteer-core.js';
|
|
54
58
|
import {assert} from '../util/assert.js';
|
|
55
59
|
import {bubble} from '../util/decorators.js';
|
|
56
60
|
import {Deferred} from '../util/Deferred.js';
|
|
@@ -95,6 +99,9 @@ export class BidiPage extends Page {
|
|
|
95
99
|
readonly mouse: BidiMouse;
|
|
96
100
|
readonly touchscreen: BidiTouchscreen;
|
|
97
101
|
readonly tracing: Tracing;
|
|
102
|
+
override get webmcp(): WebMCP {
|
|
103
|
+
throw new UnsupportedOperation();
|
|
104
|
+
}
|
|
98
105
|
readonly coverage: Coverage;
|
|
99
106
|
readonly #cdpEmulationManager: EmulationManager;
|
|
100
107
|
|
|
@@ -217,6 +224,10 @@ export class BidiPage extends Page {
|
|
|
217
224
|
return this.#frame;
|
|
218
225
|
}
|
|
219
226
|
|
|
227
|
+
override async triggerExtensionAction(_extension: Extension): Promise<void> {
|
|
228
|
+
throw new UnsupportedOperation();
|
|
229
|
+
}
|
|
230
|
+
|
|
220
231
|
override async emulateFocusedPage(enabled: boolean): Promise<void> {
|
|
221
232
|
return await this.#cdpEmulationManager.emulateFocus(enabled);
|
|
222
233
|
}
|
|
@@ -661,8 +672,12 @@ export class BidiPage extends Page {
|
|
|
661
672
|
throw new UnsupportedOperation();
|
|
662
673
|
}
|
|
663
674
|
|
|
664
|
-
override target():
|
|
665
|
-
|
|
675
|
+
override target(): Target {
|
|
676
|
+
const target = this.browserContext().getTargetForPage(this);
|
|
677
|
+
if (!target) {
|
|
678
|
+
throw new Error('Target not found for page');
|
|
679
|
+
}
|
|
680
|
+
return target;
|
|
666
681
|
}
|
|
667
682
|
|
|
668
683
|
override async waitForFileChooser(
|
|
@@ -1005,6 +1020,10 @@ export class BidiPage extends Page {
|
|
|
1005
1020
|
override get bluetooth(): BluetoothEmulation {
|
|
1006
1021
|
return this.mainFrame().browsingContext.bluetooth;
|
|
1007
1022
|
}
|
|
1023
|
+
|
|
1024
|
+
override extensionRealms(): Realm[] {
|
|
1025
|
+
throw new UnsupportedOperation();
|
|
1026
|
+
}
|
|
1008
1027
|
}
|
|
1009
1028
|
|
|
1010
1029
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as Bidi from 'webdriver-bidi-protocol';
|
|
7
7
|
|
|
8
|
+
import type {Extension} from '../api/Extension.js';
|
|
8
9
|
import type {JSHandle} from '../api/JSHandle.js';
|
|
9
10
|
import {Realm} from '../api/Realm.js';
|
|
11
|
+
import {WebWorkerEvent} from '../api/WebWorker.js';
|
|
10
12
|
import {ARIAQueryHandler} from '../common/AriaQueryHandler.js';
|
|
11
13
|
import {LazyArg} from '../common/LazyArg.js';
|
|
12
14
|
import {scriptInjector} from '../common/ScriptInjector.js';
|
|
@@ -20,6 +22,7 @@ import {
|
|
|
20
22
|
PuppeteerURL,
|
|
21
23
|
SOURCE_URL_REGEX,
|
|
22
24
|
} from '../common/util.js';
|
|
25
|
+
import {UnsupportedOperation} from '../index-browser.js';
|
|
23
26
|
import type {PuppeteerInjectedUtil} from '../injected/injected.js';
|
|
24
27
|
import {AsyncIterableUtil} from '../util/AsyncIterableUtil.js';
|
|
25
28
|
import {stringifyFunction} from '../util/Function.js';
|
|
@@ -36,7 +39,12 @@ import {ExposableFunction} from './ExposedFunction.js';
|
|
|
36
39
|
import type {BidiFrame} from './Frame.js';
|
|
37
40
|
import {BidiJSHandle} from './JSHandle.js';
|
|
38
41
|
import {BidiSerializer} from './Serializer.js';
|
|
39
|
-
import {
|
|
42
|
+
import {
|
|
43
|
+
createEvaluationError,
|
|
44
|
+
getConsoleMessage,
|
|
45
|
+
isConsoleLogEntry,
|
|
46
|
+
rewriteEvaluationError,
|
|
47
|
+
} from './util.js';
|
|
40
48
|
import type {BidiWebWorker} from './WebWorker.js';
|
|
41
49
|
|
|
42
50
|
/**
|
|
@@ -281,6 +289,14 @@ export abstract class BidiRealm extends Realm {
|
|
|
281
289
|
await handle.dispose();
|
|
282
290
|
return await transferredHandle;
|
|
283
291
|
}
|
|
292
|
+
|
|
293
|
+
extension(): Promise<Extension | null> {
|
|
294
|
+
throw new UnsupportedOperation();
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
override get origin(): string {
|
|
298
|
+
throw new UnsupportedOperation();
|
|
299
|
+
}
|
|
284
300
|
}
|
|
285
301
|
|
|
286
302
|
/**
|
|
@@ -400,6 +416,28 @@ export class BidiWorkerRealm extends BidiRealm {
|
|
|
400
416
|
this.#worker = frame;
|
|
401
417
|
}
|
|
402
418
|
|
|
419
|
+
override initialize(): void {
|
|
420
|
+
super.initialize();
|
|
421
|
+
this.realm.on('log', entry => {
|
|
422
|
+
if (
|
|
423
|
+
isConsoleLogEntry(entry) &&
|
|
424
|
+
this.#worker.listenerCount(WebWorkerEvent.Console)
|
|
425
|
+
) {
|
|
426
|
+
const args = entry.args.map(arg => {
|
|
427
|
+
return this.createHandle(arg);
|
|
428
|
+
});
|
|
429
|
+
|
|
430
|
+
const message = getConsoleMessage(
|
|
431
|
+
entry,
|
|
432
|
+
args,
|
|
433
|
+
undefined,
|
|
434
|
+
this.realm.id,
|
|
435
|
+
);
|
|
436
|
+
this.#worker.emit(WebWorkerEvent.Console, message);
|
|
437
|
+
}
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
|
|
403
441
|
override get environment(): BidiWebWorker {
|
|
404
442
|
return this.#worker;
|
|
405
443
|
}
|
|
@@ -63,10 +63,7 @@ export class BidiPageTarget extends Target {
|
|
|
63
63
|
return this.#page;
|
|
64
64
|
}
|
|
65
65
|
override async asPage(): Promise<BidiPage> {
|
|
66
|
-
return
|
|
67
|
-
this.browserContext(),
|
|
68
|
-
this.#page.mainFrame().browsingContext,
|
|
69
|
-
);
|
|
66
|
+
return await this.page();
|
|
70
67
|
}
|
|
71
68
|
override url(): string {
|
|
72
69
|
return this.#page.url();
|
|
@@ -110,7 +107,7 @@ export class BidiFrameTarget extends Target {
|
|
|
110
107
|
return this.#page;
|
|
111
108
|
}
|
|
112
109
|
override async asPage(): Promise<BidiPage> {
|
|
113
|
-
return
|
|
110
|
+
return await this.page();
|
|
114
111
|
}
|
|
115
112
|
override url(): string {
|
|
116
113
|
return this.#frame.url();
|
|
@@ -43,6 +43,8 @@ export abstract class Realm extends EventEmitter<{
|
|
|
43
43
|
worker: DedicatedWorkerRealm;
|
|
44
44
|
/** Emitted when a shared worker is created in the realm. */
|
|
45
45
|
sharedworker: SharedWorkerRealm;
|
|
46
|
+
/** Emitted whenever a log entry is added to the realm. */
|
|
47
|
+
log: Bidi.Log.Entry;
|
|
46
48
|
}> {
|
|
47
49
|
#reason?: string;
|
|
48
50
|
protected readonly disposables = new DisposableStack();
|
|
@@ -207,6 +209,13 @@ export class WindowRealm extends Realm {
|
|
|
207
209
|
|
|
208
210
|
this.emit('worker', realm);
|
|
209
211
|
});
|
|
212
|
+
|
|
213
|
+
sessionEmitter.on('log.entryAdded', entry => {
|
|
214
|
+
if (entry.source.realm !== this.id) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
this.emit('log', entry);
|
|
218
|
+
});
|
|
210
219
|
}
|
|
211
220
|
|
|
212
221
|
override get session(): Session {
|
|
@@ -278,6 +287,13 @@ export class DedicatedWorkerRealm extends Realm {
|
|
|
278
287
|
|
|
279
288
|
this.emit('worker', realm);
|
|
280
289
|
});
|
|
290
|
+
|
|
291
|
+
sessionEmitter.on('log.entryAdded', entry => {
|
|
292
|
+
if (entry.source.realm !== this.id) {
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
this.emit('log', entry);
|
|
296
|
+
});
|
|
281
297
|
}
|
|
282
298
|
|
|
283
299
|
override get session(): Session {
|
|
@@ -330,6 +346,13 @@ export class SharedWorkerRealm extends Realm {
|
|
|
330
346
|
|
|
331
347
|
this.emit('worker', realm);
|
|
332
348
|
});
|
|
349
|
+
|
|
350
|
+
sessionEmitter.on('log.entryAdded', entry => {
|
|
351
|
+
if (entry.source.realm !== this.id) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
this.emit('log', entry);
|
|
355
|
+
});
|
|
333
356
|
}
|
|
334
357
|
|
|
335
358
|
override get session(): Session {
|
|
@@ -6,10 +6,104 @@
|
|
|
6
6
|
|
|
7
7
|
import type * as Bidi from 'webdriver-bidi-protocol';
|
|
8
8
|
|
|
9
|
+
import type {Frame} from '../api/Frame.js';
|
|
10
|
+
import {ConsoleMessage} from '../common/ConsoleMessage.js';
|
|
11
|
+
import type {
|
|
12
|
+
ConsoleMessageLocation,
|
|
13
|
+
ConsoleMessageType,
|
|
14
|
+
} from '../common/ConsoleMessage.js';
|
|
9
15
|
import {ProtocolError, TimeoutError} from '../common/Errors.js';
|
|
10
16
|
import {PuppeteerURL} from '../common/util.js';
|
|
11
17
|
|
|
18
|
+
import type {BidiElementHandle} from './bidi.js';
|
|
12
19
|
import {BidiDeserializer} from './Deserializer.js';
|
|
20
|
+
import {BidiJSHandle} from './JSHandle.js';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @internal
|
|
24
|
+
*
|
|
25
|
+
* TODO: Remove this and map CDP the correct method.
|
|
26
|
+
* Requires breaking change.
|
|
27
|
+
*/
|
|
28
|
+
export function convertConsoleMessageLevel(method: string): ConsoleMessageType {
|
|
29
|
+
switch (method) {
|
|
30
|
+
case 'group':
|
|
31
|
+
return 'startGroup';
|
|
32
|
+
case 'groupCollapsed':
|
|
33
|
+
return 'startGroupCollapsed';
|
|
34
|
+
case 'groupEnd':
|
|
35
|
+
return 'endGroup';
|
|
36
|
+
default:
|
|
37
|
+
return method as ConsoleMessageType;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
export function getStackTraceLocations(
|
|
45
|
+
stackTrace?: Bidi.Script.StackTrace,
|
|
46
|
+
): ConsoleMessageLocation[] {
|
|
47
|
+
const stackTraceLocations: ConsoleMessageLocation[] = [];
|
|
48
|
+
if (stackTrace) {
|
|
49
|
+
for (const callFrame of stackTrace.callFrames) {
|
|
50
|
+
stackTraceLocations.push({
|
|
51
|
+
url: callFrame.url,
|
|
52
|
+
lineNumber: callFrame.lineNumber,
|
|
53
|
+
columnNumber: callFrame.columnNumber,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return stackTraceLocations;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
export function getConsoleMessage(
|
|
64
|
+
entry: Bidi.Log.ConsoleLogEntry,
|
|
65
|
+
args: Array<BidiJSHandle<unknown> | BidiElementHandle<Node>>,
|
|
66
|
+
frame?: Frame,
|
|
67
|
+
targetId?: string,
|
|
68
|
+
): ConsoleMessage {
|
|
69
|
+
const text = args
|
|
70
|
+
.reduce((value, arg) => {
|
|
71
|
+
const parsedValue =
|
|
72
|
+
arg instanceof BidiJSHandle && arg.isPrimitiveValue
|
|
73
|
+
? BidiDeserializer.deserialize(arg.remoteValue())
|
|
74
|
+
: arg.toString();
|
|
75
|
+
return `${value} ${parsedValue}`;
|
|
76
|
+
}, '')
|
|
77
|
+
.slice(1);
|
|
78
|
+
|
|
79
|
+
return new ConsoleMessage(
|
|
80
|
+
convertConsoleMessageLevel(entry.method),
|
|
81
|
+
text,
|
|
82
|
+
args,
|
|
83
|
+
getStackTraceLocations(entry.stackTrace),
|
|
84
|
+
frame,
|
|
85
|
+
undefined,
|
|
86
|
+
targetId,
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
export function isConsoleLogEntry(
|
|
94
|
+
event: Bidi.Log.Entry,
|
|
95
|
+
): event is Bidi.Log.ConsoleLogEntry {
|
|
96
|
+
return event.type === 'console';
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
102
|
+
export function isJavaScriptLogEntry(
|
|
103
|
+
event: Bidi.Log.Entry,
|
|
104
|
+
): event is Bidi.Log.JavascriptLogEntry {
|
|
105
|
+
return event.type === 'javascript';
|
|
106
|
+
}
|
|
13
107
|
|
|
14
108
|
/**
|
|
15
109
|
* @internal
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
} from '../api/Browser.js';
|
|
24
24
|
import {BrowserContextEvent} from '../api/BrowserContext.js';
|
|
25
25
|
import {CDPSessionEvent} from '../api/CDPSession.js';
|
|
26
|
+
import type {Extension} from '../api/Extension.js';
|
|
26
27
|
import type {Page} from '../api/Page.js';
|
|
27
28
|
import type {Target} from '../api/Target.js';
|
|
28
29
|
import type {DownloadBehavior} from '../common/DownloadBehavior.js';
|
|
@@ -31,6 +32,7 @@ import type {Viewport} from '../common/Viewport.js';
|
|
|
31
32
|
import {CdpBrowserContext} from './BrowserContext.js';
|
|
32
33
|
import type {CdpCDPSession} from './CdpSession.js';
|
|
33
34
|
import type {Connection} from './Connection.js';
|
|
35
|
+
import {CdpExtension} from './Extension.js';
|
|
34
36
|
import {
|
|
35
37
|
DevToolsTarget,
|
|
36
38
|
InitializationStatus,
|
|
@@ -67,6 +69,7 @@ export class CdpBrowser extends BrowserBase {
|
|
|
67
69
|
isPageTargetCallback?: IsPageTargetCallback,
|
|
68
70
|
waitForInitiallyDiscoveredTargets = true,
|
|
69
71
|
networkEnabled = true,
|
|
72
|
+
issuesEnabled = true,
|
|
70
73
|
handleDevToolsAsPage = false,
|
|
71
74
|
): Promise<CdpBrowser> {
|
|
72
75
|
const browser = new CdpBrowser(
|
|
@@ -79,6 +82,7 @@ export class CdpBrowser extends BrowserBase {
|
|
|
79
82
|
isPageTargetCallback,
|
|
80
83
|
waitForInitiallyDiscoveredTargets,
|
|
81
84
|
networkEnabled,
|
|
85
|
+
issuesEnabled,
|
|
82
86
|
handleDevToolsAsPage,
|
|
83
87
|
);
|
|
84
88
|
if (acceptInsecureCerts) {
|
|
@@ -98,8 +102,10 @@ export class CdpBrowser extends BrowserBase {
|
|
|
98
102
|
#defaultContext: CdpBrowserContext;
|
|
99
103
|
#contexts = new Map<string, CdpBrowserContext>();
|
|
100
104
|
#networkEnabled = true;
|
|
105
|
+
#issuesEnabled = true;
|
|
101
106
|
#targetManager: TargetManager;
|
|
102
107
|
#handleDevToolsAsPage = false;
|
|
108
|
+
#extensions = new Map<string, Extension>();
|
|
103
109
|
|
|
104
110
|
constructor(
|
|
105
111
|
connection: Connection,
|
|
@@ -111,10 +117,12 @@ export class CdpBrowser extends BrowserBase {
|
|
|
111
117
|
isPageTargetCallback?: IsPageTargetCallback,
|
|
112
118
|
waitForInitiallyDiscoveredTargets = true,
|
|
113
119
|
networkEnabled = true,
|
|
120
|
+
issuesEnabled = true,
|
|
114
121
|
handleDevToolsAsPage = false,
|
|
115
122
|
) {
|
|
116
123
|
super();
|
|
117
124
|
this.#networkEnabled = networkEnabled;
|
|
125
|
+
this.#issuesEnabled = issuesEnabled;
|
|
118
126
|
this.#defaultViewport = defaultViewport;
|
|
119
127
|
this.#process = process;
|
|
120
128
|
this.#connection = connection;
|
|
@@ -442,11 +450,38 @@ export class CdpBrowser extends BrowserBase {
|
|
|
442
450
|
|
|
443
451
|
override async installExtension(path: string): Promise<string> {
|
|
444
452
|
const {id} = await this.#connection.send('Extensions.loadUnpacked', {path});
|
|
453
|
+
this.#extensions.delete(id);
|
|
445
454
|
return id;
|
|
446
455
|
}
|
|
447
456
|
|
|
448
|
-
override uninstallExtension(id: string): Promise<void> {
|
|
449
|
-
|
|
457
|
+
override async uninstallExtension(id: string): Promise<void> {
|
|
458
|
+
await this.#connection.send('Extensions.uninstall', {id});
|
|
459
|
+
|
|
460
|
+
// Currently sending the Extensions.uninstall command does not trigger
|
|
461
|
+
// the Target.targetDestroyed event for service workers. This causes
|
|
462
|
+
// flakiness in the extension tests.
|
|
463
|
+
// TODO(nroscino): Remove this once the event is correctly emitted.
|
|
464
|
+
const targetDestroyedPromises = [];
|
|
465
|
+
for (const [targetId, targetInfo] of this._targetManager()
|
|
466
|
+
.getDiscoveredTargetInfos()
|
|
467
|
+
.entries()) {
|
|
468
|
+
if (targetInfo.url.includes(id) && targetInfo.type === 'service_worker') {
|
|
469
|
+
this._targetManager().addToIgnoreTarget(targetId);
|
|
470
|
+
targetDestroyedPromises.push(
|
|
471
|
+
new Promise(resolve => {
|
|
472
|
+
return setTimeout(() => {
|
|
473
|
+
this.#connection.emit('Target.targetDestroyed', {
|
|
474
|
+
targetId: targetId,
|
|
475
|
+
});
|
|
476
|
+
resolve(null);
|
|
477
|
+
}, 0);
|
|
478
|
+
}),
|
|
479
|
+
);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
await Promise.all(targetDestroyedPromises);
|
|
483
|
+
|
|
484
|
+
this.#extensions.delete(id);
|
|
450
485
|
}
|
|
451
486
|
|
|
452
487
|
override async screens(): Promise<ScreenInfo[]> {
|
|
@@ -528,6 +563,13 @@ export class CdpBrowser extends BrowserBase {
|
|
|
528
563
|
return Promise.resolve();
|
|
529
564
|
}
|
|
530
565
|
|
|
566
|
+
/**
|
|
567
|
+
* @internal
|
|
568
|
+
*/
|
|
569
|
+
get _connection(): Connection {
|
|
570
|
+
return this.#connection;
|
|
571
|
+
}
|
|
572
|
+
|
|
531
573
|
override get connected(): boolean {
|
|
532
574
|
return !this.#connection._closed;
|
|
533
575
|
}
|
|
@@ -545,4 +587,35 @@ export class CdpBrowser extends BrowserBase {
|
|
|
545
587
|
override isNetworkEnabled(): boolean {
|
|
546
588
|
return this.#networkEnabled;
|
|
547
589
|
}
|
|
590
|
+
|
|
591
|
+
override async extensions(): Promise<Map<string, Extension>> {
|
|
592
|
+
const response = await this.#connection.send('Extensions.getExtensions');
|
|
593
|
+
|
|
594
|
+
const extensionsMap = new Map<string, Extension>();
|
|
595
|
+
|
|
596
|
+
for (const currExtension of response.extensions) {
|
|
597
|
+
if (this.#extensions.has(currExtension.id)) {
|
|
598
|
+
extensionsMap.set(
|
|
599
|
+
currExtension.id,
|
|
600
|
+
this.#extensions.get(currExtension.id)!,
|
|
601
|
+
);
|
|
602
|
+
} else {
|
|
603
|
+
const newExtension = new CdpExtension(
|
|
604
|
+
currExtension.id,
|
|
605
|
+
currExtension.version,
|
|
606
|
+
currExtension.name,
|
|
607
|
+
this,
|
|
608
|
+
);
|
|
609
|
+
|
|
610
|
+
extensionsMap.set(currExtension.id, newExtension);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
this.#extensions = extensionsMap;
|
|
615
|
+
return this.#extensions;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
override isIssuesEnabled(): boolean {
|
|
619
|
+
return this.#issuesEnabled;
|
|
620
|
+
}
|
|
548
621
|
}
|
|
@@ -26,6 +26,7 @@ export async function _connectToCdpBrowser(
|
|
|
26
26
|
const {
|
|
27
27
|
acceptInsecureCerts = false,
|
|
28
28
|
networkEnabled = true,
|
|
29
|
+
issuesEnabled = true,
|
|
29
30
|
defaultViewport = DEFAULT_VIEWPORT,
|
|
30
31
|
downloadBehavior,
|
|
31
32
|
targetFilter,
|
|
@@ -62,6 +63,7 @@ export async function _connectToCdpBrowser(
|
|
|
62
63
|
isPageTarget,
|
|
63
64
|
undefined,
|
|
64
65
|
networkEnabled,
|
|
66
|
+
issuesEnabled,
|
|
65
67
|
handleDevToolsAsPage,
|
|
66
68
|
);
|
|
67
69
|
return browser;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google Inc.
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type {Protocol} from 'devtools-protocol';
|
|
8
|
+
|
|
9
|
+
import type {Issue} from '../api/Issue.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export class CdpIssue implements Issue {
|
|
15
|
+
#code: Protocol.Audits.InspectorIssueCode;
|
|
16
|
+
#details: Protocol.Audits.InspectorIssueDetails;
|
|
17
|
+
|
|
18
|
+
constructor(issue: Protocol.Audits.InspectorIssue) {
|
|
19
|
+
this.#code = issue.code;
|
|
20
|
+
this.#details = issue.details;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
get code(): Protocol.Audits.InspectorIssueCode {
|
|
24
|
+
return this.#code;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
get details(): Protocol.Audits.InspectorIssueDetails {
|
|
28
|
+
return this.#details;
|
|
29
|
+
}
|
|
30
|
+
}
|