chrome-devtools-frontend 1.0.1020516 → 1.0.1021582
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/config/gni/devtools_grd_files.gni +15 -10
 - package/docs/triage_guidelines.md +9 -7
 - package/front_end/.eslintrc.js +1 -0
 - package/front_end/core/i18n/locales/en-US.json +123 -9
 - package/front_end/core/i18n/locales/en-XL.json +123 -9
 - package/front_end/core/sdk/CSSModel.ts +5 -2
 - package/front_end/models/bindings/BreakpointManager.ts +14 -3
 - package/front_end/models/bindings/DebuggerLanguagePlugins.ts +8 -0
 - package/front_end/models/bindings/ResourceScriptMapping.ts +76 -53
 - package/front_end/panels/application/components/FrameDetailsView.ts +3 -2
 - package/front_end/panels/application/components/Prerender2.ts +188 -0
 - package/front_end/panels/application/components/protocolHandlersView.css +4 -0
 - package/front_end/panels/elements/CSSRuleValidator.ts +103 -13
 - package/front_end/panels/elements/ElementsPanel.ts +3 -0
 - package/front_end/panels/elements/ElementsTreeElement.ts +3 -1
 - package/front_end/panels/elements/LayoutSidebarPane.ts +1 -2
 - package/front_end/panels/elements/StylePropertyTreeElement.ts +10 -8
 - package/front_end/panels/elements/components/CSSHintDetailsView.ts +71 -0
 - package/front_end/panels/elements/components/components.ts +2 -0
 - package/front_end/panels/elements/components/cssHintDetailsView.css +36 -0
 - package/front_end/panels/elements/stylesSectionTree.css +1 -1
 - package/front_end/panels/network/components/RequestHeadersView.ts +2 -1
 - package/front_end/services/puppeteer/PuppeteerConnection.ts +3 -5
 - package/front_end/third_party/lit-html/directives.ts +1 -0
 - package/front_end/third_party/lit-html/lit-html-tsconfig.json +1 -0
 - package/front_end/third_party/puppeteer/package/README.md +136 -214
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Accessibility.d.ts +6 -6
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Accessibility.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Accessibility.js +149 -85
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Accessibility.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.js +34 -10
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts +17 -36
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js +217 -160
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts +5 -4
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +18 -13
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserWebSocketTransport.d.ts +4 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js +30 -11
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts +21 -20
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js +125 -82
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.d.ts +1 -4
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.js +27 -9
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.d.ts +6 -30
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js +167 -131
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts +36 -67
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js +359 -215
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts +8 -4
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +9 -6
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts +21 -2
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DeviceDescriptors.js +26 -6
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DeviceDescriptors.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.d.ts +2 -6
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.js +32 -15
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.d.ts +355 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.js +847 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EmulationManager.d.ts +4 -3
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EmulationManager.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EmulationManager.js +25 -8
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EmulationManager.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts +28 -6
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js +27 -7
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.d.ts +20 -19
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.js +146 -126
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.d.ts +4 -6
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.js +25 -10
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +53 -92
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +337 -320
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +16 -28
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +200 -147
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts +1 -18
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js +86 -60
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts +18 -22
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js +166 -117
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts +46 -395
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +80 -842
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts +4 -32
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js +136 -108
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkConditions.d.ts +25 -7
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkConditions.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkConditions.js +23 -2
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkConditions.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.d.ts +16 -11
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js +39 -32
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts +2 -42
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +315 -316
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts +5 -3
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.js +2 -2
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +246 -287
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +841 -700
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.d.ts +37 -74
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js +37 -89
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.d.ts +38 -13
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js +79 -29
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/SecurityDetails.d.ts +1 -6
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/SecurityDetails.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/SecurityDetails.js +31 -12
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/SecurityDetails.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts +6 -9
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js +80 -40
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.d.ts +4 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.js +24 -3
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TimeoutSettings.d.ts +1 -2
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TimeoutSettings.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TimeoutSettings.js +28 -10
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TimeoutSettings.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.d.ts +4 -5
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js +50 -23
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/USKeyboardLayout.d.ts +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/USKeyboardLayout.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/USKeyboardLayout.js +2 -2
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/USKeyboardLayout.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.d.ts +9 -11
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.js +41 -31
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.d.ts +4 -3
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.js +6 -8
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/fetch.d.ts +5 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/fetch.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/fetch.js +6 -3
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/fetch.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/types.d.ts +48 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/types.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/{EvalTypes.js → types.js} +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/types.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts +129 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/{helper.js → util.js} +168 -87
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.d.ts +3 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.js +3 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/compat.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.d.ts +3 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.js +3 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/constants.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts +3 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.js +3 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +4 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +4 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/{esm/puppeteer/initialize-node.d.ts → cjs/puppeteer/initializePuppeteer.d.ts} +5 -2
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initializePuppeteer.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/{initialize-node.js → initializePuppeteer.js} +18 -14
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initializePuppeteer.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts +4 -11
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +226 -158
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts +9 -11
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +116 -72
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts +27 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +176 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.d.ts +49 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js +361 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts +6 -3
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +44 -12
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts +4 -20
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js +60 -35
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ProductLauncher.d.ts +31 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ProductLauncher.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ProductLauncher.js +166 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ProductLauncher.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.d.ts +42 -41
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js +69 -47
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.d.ts +6 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js +55 -32
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/util.d.ts +10 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/util.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/util.js +40 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/util.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts +23 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js +41 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer.d.ts +26 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer.js +44 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +6 -5
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +6 -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/tsconfig.cjs.tsbuildinfo +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/tsconfig.tsbuildinfo +1 -0
 - package/front_end/third_party/puppeteer/package/lib/{esm/puppeteer/api-docs-entry.js → cjs/puppeteer/types.d.ts} +46 -63
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/{api-docs-entry.js → types.js} +50 -51
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/cjs/vendor/mitt/src/index.d.ts +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/vendor/mitt/src/index.js +11 -12
 - package/front_end/third_party/puppeteer/package/lib/cjs/vendor/tsconfig.cjs.tsbuildinfo +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts +6 -6
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js +149 -85
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +34 -10
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +17 -36
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +217 -160
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +5 -4
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +16 -11
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +4 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -11
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +21 -20
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +125 -82
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +1 -4
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +27 -9
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +6 -30
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +167 -131
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +36 -67
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +335 -214
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts +8 -4
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +9 -6
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +21 -2
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js +25 -5
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts +2 -6
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js +32 -15
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.d.ts +355 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.js +820 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts +4 -3
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.js +25 -8
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +28 -6
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +26 -6
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts +20 -19
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js +145 -125
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts +4 -6
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js +25 -10
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +53 -92
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +337 -320
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +16 -28
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +199 -146
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +1 -18
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +86 -60
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +18 -22
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +167 -118
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +46 -395
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +80 -817
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +4 -32
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +135 -107
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkConditions.d.ts +25 -7
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkConditions.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkConditions.js +23 -2
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkConditions.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.d.ts +16 -11
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js +39 -32
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +2 -42
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +312 -313
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +5 -3
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +246 -287
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +819 -701
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +37 -74
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js +39 -91
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts +38 -13
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +79 -29
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts +1 -6
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.js +31 -12
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +6 -9
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +80 -40
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.d.ts +4 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.js +24 -3
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts +1 -2
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.js +28 -10
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts +4 -5
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +50 -23
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.js +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts +9 -11
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js +41 -31
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts +4 -3
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js +5 -6
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts +5 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.js +6 -3
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/types.d.ts +48 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/types.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/{EvalTypes.js → types.js} +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/types.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts +129 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/{helper.js → util.js} +161 -100
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.d.ts +3 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js +3 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/compat.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.d.ts +3 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js +3 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/constants.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +3 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +3 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +4 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +4 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/{cjs/puppeteer/initialize-node.d.ts → esm/puppeteer/initializePuppeteer.d.ts} +5 -2
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initializePuppeteer.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/{initialize-node.js → initializePuppeteer.js} +16 -12
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initializePuppeteer.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +4 -11
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +226 -158
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts +9 -11
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +113 -69
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts +27 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +169 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.d.ts +49 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/{Launcher.js → FirefoxLauncher.js} +51 -345
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +6 -3
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +44 -12
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +4 -20
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +60 -35
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ProductLauncher.d.ts +31 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ProductLauncher.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ProductLauncher.js +157 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ProductLauncher.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +42 -41
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +70 -45
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts +6 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +53 -30
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/util.d.ts +10 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/util.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/util.js +13 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/util.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts +23 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/{node-puppeteer-core.d.ts → puppeteer-core.js} +8 -2
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer.d.ts +26 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/{cjs/puppeteer/node-puppeteer-core.d.ts → esm/puppeteer/puppeteer.js} +11 -2
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +6 -5
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts.map +1 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +6 -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/tsconfig.esm.tsbuildinfo +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/tsconfig.tsbuildinfo +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.d.ts +64 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.d.ts.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.js +68 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.js.map +1 -0
 - package/front_end/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js +9 -10
 - package/front_end/third_party/puppeteer/package/lib/esm/vendor/tsconfig.esm.tsbuildinfo +1 -0
 - package/front_end/third_party/puppeteer/package/lib/types.d.ts +846 -1670
 - package/front_end/third_party/puppeteer/package/package.json +65 -68
 - package/front_end/third_party/puppeteer/package/typescript-if-required.js +17 -8
 - package/front_end/third_party/puppeteer/puppeteer.ts +7 -14
 - package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspector.ts +2 -5
 - package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +22 -2
 - package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +40 -12
 - package/front_end/ui/components/linear_memory_inspector/LinearMemoryViewer.ts +5 -5
 - package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +13 -10
 - package/front_end/ui/legacy/components/object_ui/objectValue.css +4 -0
 - package/front_end/ui/legacy/components/utils/Linkifier.ts +3 -1
 - package/package.json +1 -1
 - package/scripts/eslint_rules/lib/inject_checkbox_styles.js +4 -2
 - package/scripts/eslint_rules/tests/inject_checkbox_styles_test.js +45 -5
 - package/front_end/third_party/puppeteer/package/cjs-entry-core.js +0 -29
 - package/front_end/third_party/puppeteer/package/cjs-entry.js +0 -29
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api-docs-entry.d.ts +0 -111
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api-docs-entry.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api-docs-entry.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EvalTypes.d.ts +0 -61
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EvalTypes.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EvalTypes.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Events.d.ts +0 -82
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Events.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Events.js +0 -87
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Events.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.d.ts +0 -85
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-node.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-node.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-web.d.ts +0 -18
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-web.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-web.js +0 -27
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initialize-web.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts +0 -18
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +0 -674
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node-puppeteer-core.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node-puppeteer-core.js +0 -25
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node-puppeteer-core.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node.d.ts +0 -18
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node.js +0 -24
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/web.d.ts +0 -18
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/web.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/web.js +0 -24
 - package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/web.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/vendor/mitt/src/index.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/cjs/vendor/mitt/src/index.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts +0 -111
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts +0 -61
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts +0 -82
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.js +0 -84
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts +0 -85
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts +0 -18
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.js +0 -23
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts +0 -18
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js +0 -23
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts +0 -18
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node.js +0 -22
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts +0 -18
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/web.js +0 -22
 - package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/web.js.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts.map +0 -1
 - package/front_end/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js.map +0 -1
 
| 
         @@ -1,674 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            "use strict";
         
     | 
| 
       2 
     | 
    
         
            -
            var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
         
     | 
| 
       3 
     | 
    
         
            -
                if (k2 === undefined) k2 = k;
         
     | 
| 
       4 
     | 
    
         
            -
                var desc = Object.getOwnPropertyDescriptor(m, k);
         
     | 
| 
       5 
     | 
    
         
            -
                if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
         
     | 
| 
       6 
     | 
    
         
            -
                  desc = { enumerable: true, get: function() { return m[k]; } };
         
     | 
| 
       7 
     | 
    
         
            -
                }
         
     | 
| 
       8 
     | 
    
         
            -
                Object.defineProperty(o, k2, desc);
         
     | 
| 
       9 
     | 
    
         
            -
            }) : (function(o, m, k, k2) {
         
     | 
| 
       10 
     | 
    
         
            -
                if (k2 === undefined) k2 = k;
         
     | 
| 
       11 
     | 
    
         
            -
                o[k2] = m[k];
         
     | 
| 
       12 
     | 
    
         
            -
            }));
         
     | 
| 
       13 
     | 
    
         
            -
            var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
         
     | 
| 
       14 
     | 
    
         
            -
                Object.defineProperty(o, "default", { enumerable: true, value: v });
         
     | 
| 
       15 
     | 
    
         
            -
            }) : function(o, v) {
         
     | 
| 
       16 
     | 
    
         
            -
                o["default"] = v;
         
     | 
| 
       17 
     | 
    
         
            -
            });
         
     | 
| 
       18 
     | 
    
         
            -
            var __importStar = (this && this.__importStar) || function (mod) {
         
     | 
| 
       19 
     | 
    
         
            -
                if (mod && mod.__esModule) return mod;
         
     | 
| 
       20 
     | 
    
         
            -
                var result = {};
         
     | 
| 
       21 
     | 
    
         
            -
                if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
         
     | 
| 
       22 
     | 
    
         
            -
                __setModuleDefault(result, mod);
         
     | 
| 
       23 
     | 
    
         
            -
                return result;
         
     | 
| 
       24 
     | 
    
         
            -
            };
         
     | 
| 
       25 
     | 
    
         
            -
            Object.defineProperty(exports, "__esModule", { value: true });
         
     | 
| 
       26 
     | 
    
         
            -
            /**
         
     | 
| 
       27 
     | 
    
         
            -
             * Copyright 2017 Google Inc. All rights reserved.
         
     | 
| 
       28 
     | 
    
         
            -
             *
         
     | 
| 
       29 
     | 
    
         
            -
             * Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
       30 
     | 
    
         
            -
             * you may not use this file except in compliance with the License.
         
     | 
| 
       31 
     | 
    
         
            -
             * You may obtain a copy of the License at
         
     | 
| 
       32 
     | 
    
         
            -
             *
         
     | 
| 
       33 
     | 
    
         
            -
             *     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
       34 
     | 
    
         
            -
             *
         
     | 
| 
       35 
     | 
    
         
            -
             * Unless required by applicable law or agreed to in writing, software
         
     | 
| 
       36 
     | 
    
         
            -
             * distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
       37 
     | 
    
         
            -
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       38 
     | 
    
         
            -
             * See the License for the specific language governing permissions and
         
     | 
| 
       39 
     | 
    
         
            -
             * limitations under the License.
         
     | 
| 
       40 
     | 
    
         
            -
             */
         
     | 
| 
       41 
     | 
    
         
            -
            const os = __importStar(require("os"));
         
     | 
| 
       42 
     | 
    
         
            -
            const path = __importStar(require("path"));
         
     | 
| 
       43 
     | 
    
         
            -
            const fs = __importStar(require("fs"));
         
     | 
| 
       44 
     | 
    
         
            -
            const assert_js_1 = require("../common/assert.js");
         
     | 
| 
       45 
     | 
    
         
            -
            const BrowserFetcher_js_1 = require("./BrowserFetcher.js");
         
     | 
| 
       46 
     | 
    
         
            -
            const Browser_js_1 = require("../common/Browser.js");
         
     | 
| 
       47 
     | 
    
         
            -
            const BrowserRunner_js_1 = require("./BrowserRunner.js");
         
     | 
| 
       48 
     | 
    
         
            -
            const util_1 = require("util");
         
     | 
| 
       49 
     | 
    
         
            -
            const copyFileAsync = (0, util_1.promisify)(fs.copyFile);
         
     | 
| 
       50 
     | 
    
         
            -
            const mkdtempAsync = (0, util_1.promisify)(fs.mkdtemp);
         
     | 
| 
       51 
     | 
    
         
            -
            const writeFileAsync = (0, util_1.promisify)(fs.writeFile);
         
     | 
| 
       52 
     | 
    
         
            -
            const tmpDir = () => process.env.PUPPETEER_TMP_DIR || os.tmpdir();
         
     | 
| 
       53 
     | 
    
         
            -
            /**
         
     | 
| 
       54 
     | 
    
         
            -
             * @internal
         
     | 
| 
       55 
     | 
    
         
            -
             */
         
     | 
| 
       56 
     | 
    
         
            -
            class ChromeLauncher {
         
     | 
| 
       57 
     | 
    
         
            -
                constructor(projectRoot, preferredRevision, isPuppeteerCore) {
         
     | 
| 
       58 
     | 
    
         
            -
                    this._projectRoot = projectRoot;
         
     | 
| 
       59 
     | 
    
         
            -
                    this._preferredRevision = preferredRevision;
         
     | 
| 
       60 
     | 
    
         
            -
                    this._isPuppeteerCore = isPuppeteerCore;
         
     | 
| 
       61 
     | 
    
         
            -
                }
         
     | 
| 
       62 
     | 
    
         
            -
                async launch(options = {}) {
         
     | 
| 
       63 
     | 
    
         
            -
                    var _a;
         
     | 
| 
       64 
     | 
    
         
            -
                    const { ignoreDefaultArgs = false, args = [], dumpio = false, channel = null, executablePath = null, pipe = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, ignoreHTTPSErrors = false, defaultViewport = { width: 800, height: 600 }, slowMo = 0, timeout = 30000, waitForInitialPage = true, debuggingPort = null, } = options;
         
     | 
| 
       65 
     | 
    
         
            -
                    const chromeArguments = [];
         
     | 
| 
       66 
     | 
    
         
            -
                    if (!ignoreDefaultArgs)
         
     | 
| 
       67 
     | 
    
         
            -
                        chromeArguments.push(...this.defaultArgs(options));
         
     | 
| 
       68 
     | 
    
         
            -
                    else if (Array.isArray(ignoreDefaultArgs))
         
     | 
| 
       69 
     | 
    
         
            -
                        chromeArguments.push(...this.defaultArgs(options).filter((arg) => !ignoreDefaultArgs.includes(arg)));
         
     | 
| 
       70 
     | 
    
         
            -
                    else
         
     | 
| 
       71 
     | 
    
         
            -
                        chromeArguments.push(...args);
         
     | 
| 
       72 
     | 
    
         
            -
                    if (!chromeArguments.some((argument) => argument.startsWith('--remote-debugging-'))) {
         
     | 
| 
       73 
     | 
    
         
            -
                        if (pipe) {
         
     | 
| 
       74 
     | 
    
         
            -
                            (0, assert_js_1.assert)(debuggingPort === null, 'Browser should be launched with either pipe or debugging port - not both.');
         
     | 
| 
       75 
     | 
    
         
            -
                            chromeArguments.push('--remote-debugging-pipe');
         
     | 
| 
       76 
     | 
    
         
            -
                        }
         
     | 
| 
       77 
     | 
    
         
            -
                        else {
         
     | 
| 
       78 
     | 
    
         
            -
                            chromeArguments.push(`--remote-debugging-port=${debuggingPort || 0}`);
         
     | 
| 
       79 
     | 
    
         
            -
                        }
         
     | 
| 
       80 
     | 
    
         
            -
                    }
         
     | 
| 
       81 
     | 
    
         
            -
                    let userDataDir;
         
     | 
| 
       82 
     | 
    
         
            -
                    let isTempUserDataDir = true;
         
     | 
| 
       83 
     | 
    
         
            -
                    // Check for the user data dir argument, which will always be set even
         
     | 
| 
       84 
     | 
    
         
            -
                    // with a custom directory specified via the userDataDir option.
         
     | 
| 
       85 
     | 
    
         
            -
                    const userDataDirIndex = chromeArguments.findIndex((arg) => {
         
     | 
| 
       86 
     | 
    
         
            -
                        return arg.startsWith('--user-data-dir');
         
     | 
| 
       87 
     | 
    
         
            -
                    });
         
     | 
| 
       88 
     | 
    
         
            -
                    if (userDataDirIndex !== -1) {
         
     | 
| 
       89 
     | 
    
         
            -
                        userDataDir = chromeArguments[userDataDirIndex].split('=')[1];
         
     | 
| 
       90 
     | 
    
         
            -
                        isTempUserDataDir = false;
         
     | 
| 
       91 
     | 
    
         
            -
                    }
         
     | 
| 
       92 
     | 
    
         
            -
                    else {
         
     | 
| 
       93 
     | 
    
         
            -
                        userDataDir = await mkdtempAsync(path.join(tmpDir(), 'puppeteer_dev_chrome_profile-'));
         
     | 
| 
       94 
     | 
    
         
            -
                        chromeArguments.push(`--user-data-dir=${userDataDir}`);
         
     | 
| 
       95 
     | 
    
         
            -
                    }
         
     | 
| 
       96 
     | 
    
         
            -
                    let chromeExecutable = executablePath;
         
     | 
| 
       97 
     | 
    
         
            -
                    if (channel) {
         
     | 
| 
       98 
     | 
    
         
            -
                        // executablePath is detected by channel, so it should not be specified by user.
         
     | 
| 
       99 
     | 
    
         
            -
                        (0, assert_js_1.assert)(!executablePath, '`executablePath` must not be specified when `channel` is given.');
         
     | 
| 
       100 
     | 
    
         
            -
                        chromeExecutable = executablePathForChannel(channel);
         
     | 
| 
       101 
     | 
    
         
            -
                    }
         
     | 
| 
       102 
     | 
    
         
            -
                    else if (!executablePath) {
         
     | 
| 
       103 
     | 
    
         
            -
                        const { missingText, executablePath } = resolveExecutablePath(this);
         
     | 
| 
       104 
     | 
    
         
            -
                        if (missingText)
         
     | 
| 
       105 
     | 
    
         
            -
                            throw new Error(missingText);
         
     | 
| 
       106 
     | 
    
         
            -
                        chromeExecutable = executablePath;
         
     | 
| 
       107 
     | 
    
         
            -
                    }
         
     | 
| 
       108 
     | 
    
         
            -
                    if (!chromeExecutable) {
         
     | 
| 
       109 
     | 
    
         
            -
                        throw new Error('chromeExecutable is not found.');
         
     | 
| 
       110 
     | 
    
         
            -
                    }
         
     | 
| 
       111 
     | 
    
         
            -
                    const usePipe = chromeArguments.includes('--remote-debugging-pipe');
         
     | 
| 
       112 
     | 
    
         
            -
                    const runner = new BrowserRunner_js_1.BrowserRunner(this.product, chromeExecutable, chromeArguments, userDataDir, isTempUserDataDir);
         
     | 
| 
       113 
     | 
    
         
            -
                    runner.start({
         
     | 
| 
       114 
     | 
    
         
            -
                        handleSIGHUP,
         
     | 
| 
       115 
     | 
    
         
            -
                        handleSIGTERM,
         
     | 
| 
       116 
     | 
    
         
            -
                        handleSIGINT,
         
     | 
| 
       117 
     | 
    
         
            -
                        dumpio,
         
     | 
| 
       118 
     | 
    
         
            -
                        env,
         
     | 
| 
       119 
     | 
    
         
            -
                        pipe: usePipe,
         
     | 
| 
       120 
     | 
    
         
            -
                    });
         
     | 
| 
       121 
     | 
    
         
            -
                    let browser;
         
     | 
| 
       122 
     | 
    
         
            -
                    try {
         
     | 
| 
       123 
     | 
    
         
            -
                        const connection = await runner.setupConnection({
         
     | 
| 
       124 
     | 
    
         
            -
                            usePipe,
         
     | 
| 
       125 
     | 
    
         
            -
                            timeout,
         
     | 
| 
       126 
     | 
    
         
            -
                            slowMo,
         
     | 
| 
       127 
     | 
    
         
            -
                            preferredRevision: this._preferredRevision,
         
     | 
| 
       128 
     | 
    
         
            -
                        });
         
     | 
| 
       129 
     | 
    
         
            -
                        browser = await Browser_js_1.Browser.create(connection, [], ignoreHTTPSErrors, defaultViewport, (_a = runner.proc) !== null && _a !== void 0 ? _a : undefined, runner.close.bind(runner));
         
     | 
| 
       130 
     | 
    
         
            -
                    }
         
     | 
| 
       131 
     | 
    
         
            -
                    catch (error) {
         
     | 
| 
       132 
     | 
    
         
            -
                        runner.kill();
         
     | 
| 
       133 
     | 
    
         
            -
                        throw error;
         
     | 
| 
       134 
     | 
    
         
            -
                    }
         
     | 
| 
       135 
     | 
    
         
            -
                    if (waitForInitialPage) {
         
     | 
| 
       136 
     | 
    
         
            -
                        try {
         
     | 
| 
       137 
     | 
    
         
            -
                            await browser.waitForTarget((t) => t.type() === 'page', { timeout });
         
     | 
| 
       138 
     | 
    
         
            -
                        }
         
     | 
| 
       139 
     | 
    
         
            -
                        catch (error) {
         
     | 
| 
       140 
     | 
    
         
            -
                            await browser.close();
         
     | 
| 
       141 
     | 
    
         
            -
                            throw error;
         
     | 
| 
       142 
     | 
    
         
            -
                        }
         
     | 
| 
       143 
     | 
    
         
            -
                    }
         
     | 
| 
       144 
     | 
    
         
            -
                    return browser;
         
     | 
| 
       145 
     | 
    
         
            -
                }
         
     | 
| 
       146 
     | 
    
         
            -
                defaultArgs(options = {}) {
         
     | 
| 
       147 
     | 
    
         
            -
                    const chromeArguments = [
         
     | 
| 
       148 
     | 
    
         
            -
                        '--allow-pre-commit-input',
         
     | 
| 
       149 
     | 
    
         
            -
                        '--disable-background-networking',
         
     | 
| 
       150 
     | 
    
         
            -
                        '--enable-features=NetworkService,NetworkServiceInProcess',
         
     | 
| 
       151 
     | 
    
         
            -
                        '--disable-background-timer-throttling',
         
     | 
| 
       152 
     | 
    
         
            -
                        '--disable-backgrounding-occluded-windows',
         
     | 
| 
       153 
     | 
    
         
            -
                        '--disable-breakpad',
         
     | 
| 
       154 
     | 
    
         
            -
                        '--disable-client-side-phishing-detection',
         
     | 
| 
       155 
     | 
    
         
            -
                        '--disable-component-extensions-with-background-pages',
         
     | 
| 
       156 
     | 
    
         
            -
                        '--disable-default-apps',
         
     | 
| 
       157 
     | 
    
         
            -
                        '--disable-dev-shm-usage',
         
     | 
| 
       158 
     | 
    
         
            -
                        '--disable-extensions',
         
     | 
| 
       159 
     | 
    
         
            -
                        // TODO: remove AvoidUnnecessaryBeforeUnloadCheckSync below
         
     | 
| 
       160 
     | 
    
         
            -
                        // once crbug.com/1324138 is fixed and released.
         
     | 
| 
       161 
     | 
    
         
            -
                        '--disable-features=Translate,BackForwardCache,AvoidUnnecessaryBeforeUnloadCheckSync',
         
     | 
| 
       162 
     | 
    
         
            -
                        '--disable-hang-monitor',
         
     | 
| 
       163 
     | 
    
         
            -
                        '--disable-ipc-flooding-protection',
         
     | 
| 
       164 
     | 
    
         
            -
                        '--disable-popup-blocking',
         
     | 
| 
       165 
     | 
    
         
            -
                        '--disable-prompt-on-repost',
         
     | 
| 
       166 
     | 
    
         
            -
                        '--disable-renderer-backgrounding',
         
     | 
| 
       167 
     | 
    
         
            -
                        '--disable-sync',
         
     | 
| 
       168 
     | 
    
         
            -
                        '--force-color-profile=srgb',
         
     | 
| 
       169 
     | 
    
         
            -
                        '--metrics-recording-only',
         
     | 
| 
       170 
     | 
    
         
            -
                        '--no-first-run',
         
     | 
| 
       171 
     | 
    
         
            -
                        '--enable-automation',
         
     | 
| 
       172 
     | 
    
         
            -
                        '--password-store=basic',
         
     | 
| 
       173 
     | 
    
         
            -
                        '--use-mock-keychain',
         
     | 
| 
       174 
     | 
    
         
            -
                        // TODO(sadym): remove '--enable-blink-features=IdleDetection'
         
     | 
| 
       175 
     | 
    
         
            -
                        // once IdleDetection is turned on by default.
         
     | 
| 
       176 
     | 
    
         
            -
                        '--enable-blink-features=IdleDetection',
         
     | 
| 
       177 
     | 
    
         
            -
                        '--export-tagged-pdf',
         
     | 
| 
       178 
     | 
    
         
            -
                    ];
         
     | 
| 
       179 
     | 
    
         
            -
                    const { devtools = false, headless = !devtools, args = [], userDataDir = null, } = options;
         
     | 
| 
       180 
     | 
    
         
            -
                    if (userDataDir)
         
     | 
| 
       181 
     | 
    
         
            -
                        chromeArguments.push(`--user-data-dir=${path.resolve(userDataDir)}`);
         
     | 
| 
       182 
     | 
    
         
            -
                    if (devtools)
         
     | 
| 
       183 
     | 
    
         
            -
                        chromeArguments.push('--auto-open-devtools-for-tabs');
         
     | 
| 
       184 
     | 
    
         
            -
                    if (headless) {
         
     | 
| 
       185 
     | 
    
         
            -
                        chromeArguments.push(headless === 'chrome' ? '--headless=chrome' : '--headless', '--hide-scrollbars', '--mute-audio');
         
     | 
| 
       186 
     | 
    
         
            -
                    }
         
     | 
| 
       187 
     | 
    
         
            -
                    if (args.every((arg) => arg.startsWith('-')))
         
     | 
| 
       188 
     | 
    
         
            -
                        chromeArguments.push('about:blank');
         
     | 
| 
       189 
     | 
    
         
            -
                    chromeArguments.push(...args);
         
     | 
| 
       190 
     | 
    
         
            -
                    return chromeArguments;
         
     | 
| 
       191 
     | 
    
         
            -
                }
         
     | 
| 
       192 
     | 
    
         
            -
                executablePath(channel) {
         
     | 
| 
       193 
     | 
    
         
            -
                    if (channel) {
         
     | 
| 
       194 
     | 
    
         
            -
                        return executablePathForChannel(channel);
         
     | 
| 
       195 
     | 
    
         
            -
                    }
         
     | 
| 
       196 
     | 
    
         
            -
                    else {
         
     | 
| 
       197 
     | 
    
         
            -
                        return resolveExecutablePath(this).executablePath;
         
     | 
| 
       198 
     | 
    
         
            -
                    }
         
     | 
| 
       199 
     | 
    
         
            -
                }
         
     | 
| 
       200 
     | 
    
         
            -
                get product() {
         
     | 
| 
       201 
     | 
    
         
            -
                    return 'chrome';
         
     | 
| 
       202 
     | 
    
         
            -
                }
         
     | 
| 
       203 
     | 
    
         
            -
            }
         
     | 
| 
       204 
     | 
    
         
            -
            /**
         
     | 
| 
       205 
     | 
    
         
            -
             * @internal
         
     | 
| 
       206 
     | 
    
         
            -
             */
         
     | 
| 
       207 
     | 
    
         
            -
            class FirefoxLauncher {
         
     | 
| 
       208 
     | 
    
         
            -
                constructor(projectRoot, preferredRevision, isPuppeteerCore) {
         
     | 
| 
       209 
     | 
    
         
            -
                    this._projectRoot = projectRoot;
         
     | 
| 
       210 
     | 
    
         
            -
                    this._preferredRevision = preferredRevision;
         
     | 
| 
       211 
     | 
    
         
            -
                    this._isPuppeteerCore = isPuppeteerCore;
         
     | 
| 
       212 
     | 
    
         
            -
                }
         
     | 
| 
       213 
     | 
    
         
            -
                async launch(options = {}) {
         
     | 
| 
       214 
     | 
    
         
            -
                    const { ignoreDefaultArgs = false, args = [], dumpio = false, executablePath = null, pipe = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, ignoreHTTPSErrors = false, defaultViewport = { width: 800, height: 600 }, slowMo = 0, timeout = 30000, extraPrefsFirefox = {}, waitForInitialPage = true, debuggingPort = null, } = options;
         
     | 
| 
       215 
     | 
    
         
            -
                    const firefoxArguments = [];
         
     | 
| 
       216 
     | 
    
         
            -
                    if (!ignoreDefaultArgs)
         
     | 
| 
       217 
     | 
    
         
            -
                        firefoxArguments.push(...this.defaultArgs(options));
         
     | 
| 
       218 
     | 
    
         
            -
                    else if (Array.isArray(ignoreDefaultArgs))
         
     | 
| 
       219 
     | 
    
         
            -
                        firefoxArguments.push(...this.defaultArgs(options).filter((arg) => !ignoreDefaultArgs.includes(arg)));
         
     | 
| 
       220 
     | 
    
         
            -
                    else
         
     | 
| 
       221 
     | 
    
         
            -
                        firefoxArguments.push(...args);
         
     | 
| 
       222 
     | 
    
         
            -
                    if (!firefoxArguments.some((argument) => argument.startsWith('--remote-debugging-'))) {
         
     | 
| 
       223 
     | 
    
         
            -
                        if (pipe) {
         
     | 
| 
       224 
     | 
    
         
            -
                            (0, assert_js_1.assert)(debuggingPort === null, 'Browser should be launched with either pipe or debugging port - not both.');
         
     | 
| 
       225 
     | 
    
         
            -
                        }
         
     | 
| 
       226 
     | 
    
         
            -
                        firefoxArguments.push(`--remote-debugging-port=${debuggingPort || 0}`);
         
     | 
| 
       227 
     | 
    
         
            -
                    }
         
     | 
| 
       228 
     | 
    
         
            -
                    let userDataDir = null;
         
     | 
| 
       229 
     | 
    
         
            -
                    let isTempUserDataDir = true;
         
     | 
| 
       230 
     | 
    
         
            -
                    // Check for the profile argument, which will always be set even
         
     | 
| 
       231 
     | 
    
         
            -
                    // with a custom directory specified via the userDataDir option.
         
     | 
| 
       232 
     | 
    
         
            -
                    const profileArgIndex = firefoxArguments.findIndex((arg) => {
         
     | 
| 
       233 
     | 
    
         
            -
                        return ['-profile', '--profile'].includes(arg);
         
     | 
| 
       234 
     | 
    
         
            -
                    });
         
     | 
| 
       235 
     | 
    
         
            -
                    if (profileArgIndex !== -1) {
         
     | 
| 
       236 
     | 
    
         
            -
                        userDataDir = firefoxArguments[profileArgIndex + 1];
         
     | 
| 
       237 
     | 
    
         
            -
                        if (!fs.existsSync(userDataDir)) {
         
     | 
| 
       238 
     | 
    
         
            -
                            throw new Error(`Firefox profile not found at '${userDataDir}'`);
         
     | 
| 
       239 
     | 
    
         
            -
                        }
         
     | 
| 
       240 
     | 
    
         
            -
                        // When using a custom Firefox profile it needs to be populated
         
     | 
| 
       241 
     | 
    
         
            -
                        // with required preferences.
         
     | 
| 
       242 
     | 
    
         
            -
                        isTempUserDataDir = false;
         
     | 
| 
       243 
     | 
    
         
            -
                        const prefs = this.defaultPreferences(extraPrefsFirefox);
         
     | 
| 
       244 
     | 
    
         
            -
                        this.writePreferences(prefs, userDataDir);
         
     | 
| 
       245 
     | 
    
         
            -
                    }
         
     | 
| 
       246 
     | 
    
         
            -
                    else {
         
     | 
| 
       247 
     | 
    
         
            -
                        userDataDir = await this._createProfile(extraPrefsFirefox);
         
     | 
| 
       248 
     | 
    
         
            -
                        firefoxArguments.push('--profile');
         
     | 
| 
       249 
     | 
    
         
            -
                        firefoxArguments.push(userDataDir);
         
     | 
| 
       250 
     | 
    
         
            -
                    }
         
     | 
| 
       251 
     | 
    
         
            -
                    await this._updateRevision();
         
     | 
| 
       252 
     | 
    
         
            -
                    let firefoxExecutable = executablePath;
         
     | 
| 
       253 
     | 
    
         
            -
                    if (!executablePath) {
         
     | 
| 
       254 
     | 
    
         
            -
                        const { missingText, executablePath } = resolveExecutablePath(this);
         
     | 
| 
       255 
     | 
    
         
            -
                        if (missingText)
         
     | 
| 
       256 
     | 
    
         
            -
                            throw new Error(missingText);
         
     | 
| 
       257 
     | 
    
         
            -
                        firefoxExecutable = executablePath;
         
     | 
| 
       258 
     | 
    
         
            -
                    }
         
     | 
| 
       259 
     | 
    
         
            -
                    if (!firefoxExecutable) {
         
     | 
| 
       260 
     | 
    
         
            -
                        throw new Error('firefoxExecutable is not found.');
         
     | 
| 
       261 
     | 
    
         
            -
                    }
         
     | 
| 
       262 
     | 
    
         
            -
                    const runner = new BrowserRunner_js_1.BrowserRunner(this.product, firefoxExecutable, firefoxArguments, userDataDir, isTempUserDataDir);
         
     | 
| 
       263 
     | 
    
         
            -
                    runner.start({
         
     | 
| 
       264 
     | 
    
         
            -
                        handleSIGHUP,
         
     | 
| 
       265 
     | 
    
         
            -
                        handleSIGTERM,
         
     | 
| 
       266 
     | 
    
         
            -
                        handleSIGINT,
         
     | 
| 
       267 
     | 
    
         
            -
                        dumpio,
         
     | 
| 
       268 
     | 
    
         
            -
                        env,
         
     | 
| 
       269 
     | 
    
         
            -
                        pipe,
         
     | 
| 
       270 
     | 
    
         
            -
                    });
         
     | 
| 
       271 
     | 
    
         
            -
                    let browser;
         
     | 
| 
       272 
     | 
    
         
            -
                    try {
         
     | 
| 
       273 
     | 
    
         
            -
                        const connection = await runner.setupConnection({
         
     | 
| 
       274 
     | 
    
         
            -
                            usePipe: pipe,
         
     | 
| 
       275 
     | 
    
         
            -
                            timeout,
         
     | 
| 
       276 
     | 
    
         
            -
                            slowMo,
         
     | 
| 
       277 
     | 
    
         
            -
                            preferredRevision: this._preferredRevision,
         
     | 
| 
       278 
     | 
    
         
            -
                        });
         
     | 
| 
       279 
     | 
    
         
            -
                        browser = await Browser_js_1.Browser.create(connection, [], ignoreHTTPSErrors, defaultViewport, runner.proc, runner.close.bind(runner));
         
     | 
| 
       280 
     | 
    
         
            -
                    }
         
     | 
| 
       281 
     | 
    
         
            -
                    catch (error) {
         
     | 
| 
       282 
     | 
    
         
            -
                        runner.kill();
         
     | 
| 
       283 
     | 
    
         
            -
                        throw error;
         
     | 
| 
       284 
     | 
    
         
            -
                    }
         
     | 
| 
       285 
     | 
    
         
            -
                    if (waitForInitialPage) {
         
     | 
| 
       286 
     | 
    
         
            -
                        try {
         
     | 
| 
       287 
     | 
    
         
            -
                            await browser.waitForTarget((t) => t.type() === 'page', { timeout });
         
     | 
| 
       288 
     | 
    
         
            -
                        }
         
     | 
| 
       289 
     | 
    
         
            -
                        catch (error) {
         
     | 
| 
       290 
     | 
    
         
            -
                            await browser.close();
         
     | 
| 
       291 
     | 
    
         
            -
                            throw error;
         
     | 
| 
       292 
     | 
    
         
            -
                        }
         
     | 
| 
       293 
     | 
    
         
            -
                    }
         
     | 
| 
       294 
     | 
    
         
            -
                    return browser;
         
     | 
| 
       295 
     | 
    
         
            -
                }
         
     | 
| 
       296 
     | 
    
         
            -
                executablePath() {
         
     | 
| 
       297 
     | 
    
         
            -
                    return resolveExecutablePath(this).executablePath;
         
     | 
| 
       298 
     | 
    
         
            -
                }
         
     | 
| 
       299 
     | 
    
         
            -
                async _updateRevision() {
         
     | 
| 
       300 
     | 
    
         
            -
                    // replace 'latest' placeholder with actual downloaded revision
         
     | 
| 
       301 
     | 
    
         
            -
                    if (this._preferredRevision === 'latest') {
         
     | 
| 
       302 
     | 
    
         
            -
                        if (!this._projectRoot) {
         
     | 
| 
       303 
     | 
    
         
            -
                            throw new Error('_projectRoot is undefined. Unable to create a BrowserFetcher.');
         
     | 
| 
       304 
     | 
    
         
            -
                        }
         
     | 
| 
       305 
     | 
    
         
            -
                        const browserFetcher = new BrowserFetcher_js_1.BrowserFetcher(this._projectRoot, {
         
     | 
| 
       306 
     | 
    
         
            -
                            product: this.product,
         
     | 
| 
       307 
     | 
    
         
            -
                        });
         
     | 
| 
       308 
     | 
    
         
            -
                        const localRevisions = await browserFetcher.localRevisions();
         
     | 
| 
       309 
     | 
    
         
            -
                        if (localRevisions[0])
         
     | 
| 
       310 
     | 
    
         
            -
                            this._preferredRevision = localRevisions[0];
         
     | 
| 
       311 
     | 
    
         
            -
                    }
         
     | 
| 
       312 
     | 
    
         
            -
                }
         
     | 
| 
       313 
     | 
    
         
            -
                get product() {
         
     | 
| 
       314 
     | 
    
         
            -
                    return 'firefox';
         
     | 
| 
       315 
     | 
    
         
            -
                }
         
     | 
| 
       316 
     | 
    
         
            -
                defaultArgs(options = {}) {
         
     | 
| 
       317 
     | 
    
         
            -
                    const { devtools = false, headless = !devtools, args = [], userDataDir = null, } = options;
         
     | 
| 
       318 
     | 
    
         
            -
                    const firefoxArguments = ['--no-remote'];
         
     | 
| 
       319 
     | 
    
         
            -
                    if (os.platform() === 'darwin')
         
     | 
| 
       320 
     | 
    
         
            -
                        firefoxArguments.push('--foreground');
         
     | 
| 
       321 
     | 
    
         
            -
                    else if (os.platform().startsWith('win')) {
         
     | 
| 
       322 
     | 
    
         
            -
                        firefoxArguments.push('--wait-for-browser');
         
     | 
| 
       323 
     | 
    
         
            -
                    }
         
     | 
| 
       324 
     | 
    
         
            -
                    if (userDataDir) {
         
     | 
| 
       325 
     | 
    
         
            -
                        firefoxArguments.push('--profile');
         
     | 
| 
       326 
     | 
    
         
            -
                        firefoxArguments.push(userDataDir);
         
     | 
| 
       327 
     | 
    
         
            -
                    }
         
     | 
| 
       328 
     | 
    
         
            -
                    if (headless)
         
     | 
| 
       329 
     | 
    
         
            -
                        firefoxArguments.push('--headless');
         
     | 
| 
       330 
     | 
    
         
            -
                    if (devtools)
         
     | 
| 
       331 
     | 
    
         
            -
                        firefoxArguments.push('--devtools');
         
     | 
| 
       332 
     | 
    
         
            -
                    if (args.every((arg) => arg.startsWith('-')))
         
     | 
| 
       333 
     | 
    
         
            -
                        firefoxArguments.push('about:blank');
         
     | 
| 
       334 
     | 
    
         
            -
                    firefoxArguments.push(...args);
         
     | 
| 
       335 
     | 
    
         
            -
                    return firefoxArguments;
         
     | 
| 
       336 
     | 
    
         
            -
                }
         
     | 
| 
       337 
     | 
    
         
            -
                defaultPreferences(extraPrefs) {
         
     | 
| 
       338 
     | 
    
         
            -
                    const server = 'dummy.test';
         
     | 
| 
       339 
     | 
    
         
            -
                    const defaultPrefs = {
         
     | 
| 
       340 
     | 
    
         
            -
                        // Make sure Shield doesn't hit the network.
         
     | 
| 
       341 
     | 
    
         
            -
                        'app.normandy.api_url': '',
         
     | 
| 
       342 
     | 
    
         
            -
                        // Disable Firefox old build background check
         
     | 
| 
       343 
     | 
    
         
            -
                        'app.update.checkInstallTime': false,
         
     | 
| 
       344 
     | 
    
         
            -
                        // Disable automatically upgrading Firefox
         
     | 
| 
       345 
     | 
    
         
            -
                        'app.update.disabledForTesting': true,
         
     | 
| 
       346 
     | 
    
         
            -
                        // Increase the APZ content response timeout to 1 minute
         
     | 
| 
       347 
     | 
    
         
            -
                        'apz.content_response_timeout': 60000,
         
     | 
| 
       348 
     | 
    
         
            -
                        // Prevent various error message on the console
         
     | 
| 
       349 
     | 
    
         
            -
                        // jest-puppeteer asserts that no error message is emitted by the console
         
     | 
| 
       350 
     | 
    
         
            -
                        'browser.contentblocking.features.standard': '-tp,tpPrivate,cookieBehavior0,-cm,-fp',
         
     | 
| 
       351 
     | 
    
         
            -
                        // Enable the dump function: which sends messages to the system
         
     | 
| 
       352 
     | 
    
         
            -
                        // console
         
     | 
| 
       353 
     | 
    
         
            -
                        // https://bugzilla.mozilla.org/show_bug.cgi?id=1543115
         
     | 
| 
       354 
     | 
    
         
            -
                        'browser.dom.window.dump.enabled': true,
         
     | 
| 
       355 
     | 
    
         
            -
                        // Disable topstories
         
     | 
| 
       356 
     | 
    
         
            -
                        'browser.newtabpage.activity-stream.feeds.system.topstories': false,
         
     | 
| 
       357 
     | 
    
         
            -
                        // Always display a blank page
         
     | 
| 
       358 
     | 
    
         
            -
                        'browser.newtabpage.enabled': false,
         
     | 
| 
       359 
     | 
    
         
            -
                        // Background thumbnails in particular cause grief: and disabling
         
     | 
| 
       360 
     | 
    
         
            -
                        // thumbnails in general cannot hurt
         
     | 
| 
       361 
     | 
    
         
            -
                        'browser.pagethumbnails.capturing_disabled': true,
         
     | 
| 
       362 
     | 
    
         
            -
                        // Disable safebrowsing components.
         
     | 
| 
       363 
     | 
    
         
            -
                        'browser.safebrowsing.blockedURIs.enabled': false,
         
     | 
| 
       364 
     | 
    
         
            -
                        'browser.safebrowsing.downloads.enabled': false,
         
     | 
| 
       365 
     | 
    
         
            -
                        'browser.safebrowsing.malware.enabled': false,
         
     | 
| 
       366 
     | 
    
         
            -
                        'browser.safebrowsing.passwords.enabled': false,
         
     | 
| 
       367 
     | 
    
         
            -
                        'browser.safebrowsing.phishing.enabled': false,
         
     | 
| 
       368 
     | 
    
         
            -
                        // Disable updates to search engines.
         
     | 
| 
       369 
     | 
    
         
            -
                        'browser.search.update': false,
         
     | 
| 
       370 
     | 
    
         
            -
                        // Do not restore the last open set of tabs if the browser has crashed
         
     | 
| 
       371 
     | 
    
         
            -
                        'browser.sessionstore.resume_from_crash': false,
         
     | 
| 
       372 
     | 
    
         
            -
                        // Skip check for default browser on startup
         
     | 
| 
       373 
     | 
    
         
            -
                        'browser.shell.checkDefaultBrowser': false,
         
     | 
| 
       374 
     | 
    
         
            -
                        // Disable newtabpage
         
     | 
| 
       375 
     | 
    
         
            -
                        'browser.startup.homepage': 'about:blank',
         
     | 
| 
       376 
     | 
    
         
            -
                        // Do not redirect user when a milstone upgrade of Firefox is detected
         
     | 
| 
       377 
     | 
    
         
            -
                        'browser.startup.homepage_override.mstone': 'ignore',
         
     | 
| 
       378 
     | 
    
         
            -
                        // Start with a blank page about:blank
         
     | 
| 
       379 
     | 
    
         
            -
                        'browser.startup.page': 0,
         
     | 
| 
       380 
     | 
    
         
            -
                        // Do not allow background tabs to be zombified on Android: otherwise for
         
     | 
| 
       381 
     | 
    
         
            -
                        // tests that open additional tabs: the test harness tab itself might get
         
     | 
| 
       382 
     | 
    
         
            -
                        // unloaded
         
     | 
| 
       383 
     | 
    
         
            -
                        'browser.tabs.disableBackgroundZombification': false,
         
     | 
| 
       384 
     | 
    
         
            -
                        // Do not warn when closing all other open tabs
         
     | 
| 
       385 
     | 
    
         
            -
                        'browser.tabs.warnOnCloseOtherTabs': false,
         
     | 
| 
       386 
     | 
    
         
            -
                        // Do not warn when multiple tabs will be opened
         
     | 
| 
       387 
     | 
    
         
            -
                        'browser.tabs.warnOnOpen': false,
         
     | 
| 
       388 
     | 
    
         
            -
                        // Disable the UI tour.
         
     | 
| 
       389 
     | 
    
         
            -
                        'browser.uitour.enabled': false,
         
     | 
| 
       390 
     | 
    
         
            -
                        // Turn off search suggestions in the location bar so as not to trigger
         
     | 
| 
       391 
     | 
    
         
            -
                        // network connections.
         
     | 
| 
       392 
     | 
    
         
            -
                        'browser.urlbar.suggest.searches': false,
         
     | 
| 
       393 
     | 
    
         
            -
                        // Disable first run splash page on Windows 10
         
     | 
| 
       394 
     | 
    
         
            -
                        'browser.usedOnWindows10.introURL': '',
         
     | 
| 
       395 
     | 
    
         
            -
                        // Do not warn on quitting Firefox
         
     | 
| 
       396 
     | 
    
         
            -
                        'browser.warnOnQuit': false,
         
     | 
| 
       397 
     | 
    
         
            -
                        // Defensively disable data reporting systems
         
     | 
| 
       398 
     | 
    
         
            -
                        'datareporting.healthreport.documentServerURI': `http://${server}/dummy/healthreport/`,
         
     | 
| 
       399 
     | 
    
         
            -
                        'datareporting.healthreport.logging.consoleEnabled': false,
         
     | 
| 
       400 
     | 
    
         
            -
                        'datareporting.healthreport.service.enabled': false,
         
     | 
| 
       401 
     | 
    
         
            -
                        'datareporting.healthreport.service.firstRun': false,
         
     | 
| 
       402 
     | 
    
         
            -
                        'datareporting.healthreport.uploadEnabled': false,
         
     | 
| 
       403 
     | 
    
         
            -
                        // Do not show datareporting policy notifications which can interfere with tests
         
     | 
| 
       404 
     | 
    
         
            -
                        'datareporting.policy.dataSubmissionEnabled': false,
         
     | 
| 
       405 
     | 
    
         
            -
                        'datareporting.policy.dataSubmissionPolicyBypassNotification': true,
         
     | 
| 
       406 
     | 
    
         
            -
                        // DevTools JSONViewer sometimes fails to load dependencies with its require.js.
         
     | 
| 
       407 
     | 
    
         
            -
                        // This doesn't affect Puppeteer but spams console (Bug 1424372)
         
     | 
| 
       408 
     | 
    
         
            -
                        'devtools.jsonview.enabled': false,
         
     | 
| 
       409 
     | 
    
         
            -
                        // Disable popup-blocker
         
     | 
| 
       410 
     | 
    
         
            -
                        'dom.disable_open_during_load': false,
         
     | 
| 
       411 
     | 
    
         
            -
                        // Enable the support for File object creation in the content process
         
     | 
| 
       412 
     | 
    
         
            -
                        // Required for |Page.setFileInputFiles| protocol method.
         
     | 
| 
       413 
     | 
    
         
            -
                        'dom.file.createInChild': true,
         
     | 
| 
       414 
     | 
    
         
            -
                        // Disable the ProcessHangMonitor
         
     | 
| 
       415 
     | 
    
         
            -
                        'dom.ipc.reportProcessHangs': false,
         
     | 
| 
       416 
     | 
    
         
            -
                        // Disable slow script dialogues
         
     | 
| 
       417 
     | 
    
         
            -
                        'dom.max_chrome_script_run_time': 0,
         
     | 
| 
       418 
     | 
    
         
            -
                        'dom.max_script_run_time': 0,
         
     | 
| 
       419 
     | 
    
         
            -
                        // Only load extensions from the application and user profile
         
     | 
| 
       420 
     | 
    
         
            -
                        // AddonManager.SCOPE_PROFILE + AddonManager.SCOPE_APPLICATION
         
     | 
| 
       421 
     | 
    
         
            -
                        'extensions.autoDisableScopes': 0,
         
     | 
| 
       422 
     | 
    
         
            -
                        'extensions.enabledScopes': 5,
         
     | 
| 
       423 
     | 
    
         
            -
                        // Disable metadata caching for installed add-ons by default
         
     | 
| 
       424 
     | 
    
         
            -
                        'extensions.getAddons.cache.enabled': false,
         
     | 
| 
       425 
     | 
    
         
            -
                        // Disable installing any distribution extensions or add-ons.
         
     | 
| 
       426 
     | 
    
         
            -
                        'extensions.installDistroAddons': false,
         
     | 
| 
       427 
     | 
    
         
            -
                        // Disabled screenshots extension
         
     | 
| 
       428 
     | 
    
         
            -
                        'extensions.screenshots.disabled': true,
         
     | 
| 
       429 
     | 
    
         
            -
                        // Turn off extension updates so they do not bother tests
         
     | 
| 
       430 
     | 
    
         
            -
                        'extensions.update.enabled': false,
         
     | 
| 
       431 
     | 
    
         
            -
                        // Turn off extension updates so they do not bother tests
         
     | 
| 
       432 
     | 
    
         
            -
                        'extensions.update.notifyUser': false,
         
     | 
| 
       433 
     | 
    
         
            -
                        // Make sure opening about:addons will not hit the network
         
     | 
| 
       434 
     | 
    
         
            -
                        'extensions.webservice.discoverURL': `http://${server}/dummy/discoveryURL`,
         
     | 
| 
       435 
     | 
    
         
            -
                        // Temporarily force disable BFCache in parent (https://bit.ly/bug-1732263)
         
     | 
| 
       436 
     | 
    
         
            -
                        'fission.bfcacheInParent': false,
         
     | 
| 
       437 
     | 
    
         
            -
                        // Force all web content to use a single content process
         
     | 
| 
       438 
     | 
    
         
            -
                        'fission.webContentIsolationStrategy': 0,
         
     | 
| 
       439 
     | 
    
         
            -
                        // Allow the application to have focus even it runs in the background
         
     | 
| 
       440 
     | 
    
         
            -
                        'focusmanager.testmode': true,
         
     | 
| 
       441 
     | 
    
         
            -
                        // Disable useragent updates
         
     | 
| 
       442 
     | 
    
         
            -
                        'general.useragent.updates.enabled': false,
         
     | 
| 
       443 
     | 
    
         
            -
                        // Always use network provider for geolocation tests so we bypass the
         
     | 
| 
       444 
     | 
    
         
            -
                        // macOS dialog raised by the corelocation provider
         
     | 
| 
       445 
     | 
    
         
            -
                        'geo.provider.testing': true,
         
     | 
| 
       446 
     | 
    
         
            -
                        // Do not scan Wifi
         
     | 
| 
       447 
     | 
    
         
            -
                        'geo.wifi.scan': false,
         
     | 
| 
       448 
     | 
    
         
            -
                        // No hang monitor
         
     | 
| 
       449 
     | 
    
         
            -
                        'hangmonitor.timeout': 0,
         
     | 
| 
       450 
     | 
    
         
            -
                        // Show chrome errors and warnings in the error console
         
     | 
| 
       451 
     | 
    
         
            -
                        'javascript.options.showInConsole': true,
         
     | 
| 
       452 
     | 
    
         
            -
                        // Disable download and usage of OpenH264: and Widevine plugins
         
     | 
| 
       453 
     | 
    
         
            -
                        'media.gmp-manager.updateEnabled': false,
         
     | 
| 
       454 
     | 
    
         
            -
                        // Prevent various error message on the console
         
     | 
| 
       455 
     | 
    
         
            -
                        // jest-puppeteer asserts that no error message is emitted by the console
         
     | 
| 
       456 
     | 
    
         
            -
                        'network.cookie.cookieBehavior': 0,
         
     | 
| 
       457 
     | 
    
         
            -
                        // Disable experimental feature that is only available in Nightly
         
     | 
| 
       458 
     | 
    
         
            -
                        'network.cookie.sameSite.laxByDefault': false,
         
     | 
| 
       459 
     | 
    
         
            -
                        // Do not prompt for temporary redirects
         
     | 
| 
       460 
     | 
    
         
            -
                        'network.http.prompt-temp-redirect': false,
         
     | 
| 
       461 
     | 
    
         
            -
                        // Disable speculative connections so they are not reported as leaking
         
     | 
| 
       462 
     | 
    
         
            -
                        // when they are hanging around
         
     | 
| 
       463 
     | 
    
         
            -
                        'network.http.speculative-parallel-limit': 0,
         
     | 
| 
       464 
     | 
    
         
            -
                        // Do not automatically switch between offline and online
         
     | 
| 
       465 
     | 
    
         
            -
                        'network.manage-offline-status': false,
         
     | 
| 
       466 
     | 
    
         
            -
                        // Make sure SNTP requests do not hit the network
         
     | 
| 
       467 
     | 
    
         
            -
                        'network.sntp.pools': server,
         
     | 
| 
       468 
     | 
    
         
            -
                        // Disable Flash.
         
     | 
| 
       469 
     | 
    
         
            -
                        'plugin.state.flash': 0,
         
     | 
| 
       470 
     | 
    
         
            -
                        'privacy.trackingprotection.enabled': false,
         
     | 
| 
       471 
     | 
    
         
            -
                        // Can be removed once Firefox 89 is no longer supported
         
     | 
| 
       472 
     | 
    
         
            -
                        // https://bugzilla.mozilla.org/show_bug.cgi?id=1710839
         
     | 
| 
       473 
     | 
    
         
            -
                        'remote.enabled': true,
         
     | 
| 
       474 
     | 
    
         
            -
                        // Don't do network connections for mitm priming
         
     | 
| 
       475 
     | 
    
         
            -
                        'security.certerrors.mitm.priming.enabled': false,
         
     | 
| 
       476 
     | 
    
         
            -
                        // Local documents have access to all other local documents,
         
     | 
| 
       477 
     | 
    
         
            -
                        // including directory listings
         
     | 
| 
       478 
     | 
    
         
            -
                        'security.fileuri.strict_origin_policy': false,
         
     | 
| 
       479 
     | 
    
         
            -
                        // Do not wait for the notification button security delay
         
     | 
| 
       480 
     | 
    
         
            -
                        'security.notification_enable_delay': 0,
         
     | 
| 
       481 
     | 
    
         
            -
                        // Ensure blocklist updates do not hit the network
         
     | 
| 
       482 
     | 
    
         
            -
                        'services.settings.server': `http://${server}/dummy/blocklist/`,
         
     | 
| 
       483 
     | 
    
         
            -
                        // Do not automatically fill sign-in forms with known usernames and
         
     | 
| 
       484 
     | 
    
         
            -
                        // passwords
         
     | 
| 
       485 
     | 
    
         
            -
                        'signon.autofillForms': false,
         
     | 
| 
       486 
     | 
    
         
            -
                        // Disable password capture, so that tests that include forms are not
         
     | 
| 
       487 
     | 
    
         
            -
                        // influenced by the presence of the persistent doorhanger notification
         
     | 
| 
       488 
     | 
    
         
            -
                        'signon.rememberSignons': false,
         
     | 
| 
       489 
     | 
    
         
            -
                        // Disable first-run welcome page
         
     | 
| 
       490 
     | 
    
         
            -
                        'startup.homepage_welcome_url': 'about:blank',
         
     | 
| 
       491 
     | 
    
         
            -
                        // Disable first-run welcome page
         
     | 
| 
       492 
     | 
    
         
            -
                        'startup.homepage_welcome_url.additional': '',
         
     | 
| 
       493 
     | 
    
         
            -
                        // Disable browser animations (tabs, fullscreen, sliding alerts)
         
     | 
| 
       494 
     | 
    
         
            -
                        'toolkit.cosmeticAnimations.enabled': false,
         
     | 
| 
       495 
     | 
    
         
            -
                        // Prevent starting into safe mode after application crashes
         
     | 
| 
       496 
     | 
    
         
            -
                        'toolkit.startup.max_resumed_crashes': -1,
         
     | 
| 
       497 
     | 
    
         
            -
                    };
         
     | 
| 
       498 
     | 
    
         
            -
                    return Object.assign(defaultPrefs, extraPrefs);
         
     | 
| 
       499 
     | 
    
         
            -
                }
         
     | 
| 
       500 
     | 
    
         
            -
                /**
         
     | 
| 
       501 
     | 
    
         
            -
                 * Populates the user.js file with custom preferences as needed to allow
         
     | 
| 
       502 
     | 
    
         
            -
                 * Firefox's CDP support to properly function. These preferences will be
         
     | 
| 
       503 
     | 
    
         
            -
                 * automatically copied over to prefs.js during startup of Firefox. To be
         
     | 
| 
       504 
     | 
    
         
            -
                 * able to restore the original values of preferences a backup of prefs.js
         
     | 
| 
       505 
     | 
    
         
            -
                 * will be created.
         
     | 
| 
       506 
     | 
    
         
            -
                 *
         
     | 
| 
       507 
     | 
    
         
            -
                 * @param prefs List of preferences to add.
         
     | 
| 
       508 
     | 
    
         
            -
                 * @param profilePath Firefox profile to write the preferences to.
         
     | 
| 
       509 
     | 
    
         
            -
                 */
         
     | 
| 
       510 
     | 
    
         
            -
                async writePreferences(prefs, profilePath) {
         
     | 
| 
       511 
     | 
    
         
            -
                    const lines = Object.entries(prefs).map(([key, value]) => {
         
     | 
| 
       512 
     | 
    
         
            -
                        return `user_pref(${JSON.stringify(key)}, ${JSON.stringify(value)});`;
         
     | 
| 
       513 
     | 
    
         
            -
                    });
         
     | 
| 
       514 
     | 
    
         
            -
                    await writeFileAsync(path.join(profilePath, 'user.js'), lines.join('\n'));
         
     | 
| 
       515 
     | 
    
         
            -
                    // Create a backup of the preferences file if it already exitsts.
         
     | 
| 
       516 
     | 
    
         
            -
                    const prefsPath = path.join(profilePath, 'prefs.js');
         
     | 
| 
       517 
     | 
    
         
            -
                    if (fs.existsSync(prefsPath)) {
         
     | 
| 
       518 
     | 
    
         
            -
                        const prefsBackupPath = path.join(profilePath, 'prefs.js.puppeteer');
         
     | 
| 
       519 
     | 
    
         
            -
                        await copyFileAsync(prefsPath, prefsBackupPath);
         
     | 
| 
       520 
     | 
    
         
            -
                    }
         
     | 
| 
       521 
     | 
    
         
            -
                }
         
     | 
| 
       522 
     | 
    
         
            -
                async _createProfile(extraPrefs) {
         
     | 
| 
       523 
     | 
    
         
            -
                    const temporaryProfilePath = await mkdtempAsync(path.join(tmpDir(), 'puppeteer_dev_firefox_profile-'));
         
     | 
| 
       524 
     | 
    
         
            -
                    const prefs = this.defaultPreferences(extraPrefs);
         
     | 
| 
       525 
     | 
    
         
            -
                    await this.writePreferences(prefs, temporaryProfilePath);
         
     | 
| 
       526 
     | 
    
         
            -
                    return temporaryProfilePath;
         
     | 
| 
       527 
     | 
    
         
            -
                }
         
     | 
| 
       528 
     | 
    
         
            -
            }
         
     | 
| 
       529 
     | 
    
         
            -
            function executablePathForChannel(channel) {
         
     | 
| 
       530 
     | 
    
         
            -
                const platform = os.platform();
         
     | 
| 
       531 
     | 
    
         
            -
                let chromePath;
         
     | 
| 
       532 
     | 
    
         
            -
                switch (platform) {
         
     | 
| 
       533 
     | 
    
         
            -
                    case 'win32':
         
     | 
| 
       534 
     | 
    
         
            -
                        switch (channel) {
         
     | 
| 
       535 
     | 
    
         
            -
                            case 'chrome':
         
     | 
| 
       536 
     | 
    
         
            -
                                chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome\\Application\\chrome.exe`;
         
     | 
| 
       537 
     | 
    
         
            -
                                break;
         
     | 
| 
       538 
     | 
    
         
            -
                            case 'chrome-beta':
         
     | 
| 
       539 
     | 
    
         
            -
                                chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome Beta\\Application\\chrome.exe`;
         
     | 
| 
       540 
     | 
    
         
            -
                                break;
         
     | 
| 
       541 
     | 
    
         
            -
                            case 'chrome-canary':
         
     | 
| 
       542 
     | 
    
         
            -
                                chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome SxS\\Application\\chrome.exe`;
         
     | 
| 
       543 
     | 
    
         
            -
                                break;
         
     | 
| 
       544 
     | 
    
         
            -
                            case 'chrome-dev':
         
     | 
| 
       545 
     | 
    
         
            -
                                chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome Dev\\Application\\chrome.exe`;
         
     | 
| 
       546 
     | 
    
         
            -
                                break;
         
     | 
| 
       547 
     | 
    
         
            -
                        }
         
     | 
| 
       548 
     | 
    
         
            -
                        break;
         
     | 
| 
       549 
     | 
    
         
            -
                    case 'darwin':
         
     | 
| 
       550 
     | 
    
         
            -
                        switch (channel) {
         
     | 
| 
       551 
     | 
    
         
            -
                            case 'chrome':
         
     | 
| 
       552 
     | 
    
         
            -
                                chromePath =
         
     | 
| 
       553 
     | 
    
         
            -
                                    '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
         
     | 
| 
       554 
     | 
    
         
            -
                                break;
         
     | 
| 
       555 
     | 
    
         
            -
                            case 'chrome-beta':
         
     | 
| 
       556 
     | 
    
         
            -
                                chromePath =
         
     | 
| 
       557 
     | 
    
         
            -
                                    '/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta';
         
     | 
| 
       558 
     | 
    
         
            -
                                break;
         
     | 
| 
       559 
     | 
    
         
            -
                            case 'chrome-canary':
         
     | 
| 
       560 
     | 
    
         
            -
                                chromePath =
         
     | 
| 
       561 
     | 
    
         
            -
                                    '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary';
         
     | 
| 
       562 
     | 
    
         
            -
                                break;
         
     | 
| 
       563 
     | 
    
         
            -
                            case 'chrome-dev':
         
     | 
| 
       564 
     | 
    
         
            -
                                chromePath =
         
     | 
| 
       565 
     | 
    
         
            -
                                    '/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev';
         
     | 
| 
       566 
     | 
    
         
            -
                                break;
         
     | 
| 
       567 
     | 
    
         
            -
                        }
         
     | 
| 
       568 
     | 
    
         
            -
                        break;
         
     | 
| 
       569 
     | 
    
         
            -
                    case 'linux':
         
     | 
| 
       570 
     | 
    
         
            -
                        switch (channel) {
         
     | 
| 
       571 
     | 
    
         
            -
                            case 'chrome':
         
     | 
| 
       572 
     | 
    
         
            -
                                chromePath = '/opt/google/chrome/chrome';
         
     | 
| 
       573 
     | 
    
         
            -
                                break;
         
     | 
| 
       574 
     | 
    
         
            -
                            case 'chrome-beta':
         
     | 
| 
       575 
     | 
    
         
            -
                                chromePath = '/opt/google/chrome-beta/chrome';
         
     | 
| 
       576 
     | 
    
         
            -
                                break;
         
     | 
| 
       577 
     | 
    
         
            -
                            case 'chrome-dev':
         
     | 
| 
       578 
     | 
    
         
            -
                                chromePath = '/opt/google/chrome-unstable/chrome';
         
     | 
| 
       579 
     | 
    
         
            -
                                break;
         
     | 
| 
       580 
     | 
    
         
            -
                        }
         
     | 
| 
       581 
     | 
    
         
            -
                        break;
         
     | 
| 
       582 
     | 
    
         
            -
                }
         
     | 
| 
       583 
     | 
    
         
            -
                if (!chromePath) {
         
     | 
| 
       584 
     | 
    
         
            -
                    throw new Error(`Unable to detect browser executable path for '${channel}' on ${platform}.`);
         
     | 
| 
       585 
     | 
    
         
            -
                }
         
     | 
| 
       586 
     | 
    
         
            -
                // Check if Chrome exists and is accessible.
         
     | 
| 
       587 
     | 
    
         
            -
                try {
         
     | 
| 
       588 
     | 
    
         
            -
                    fs.accessSync(chromePath);
         
     | 
| 
       589 
     | 
    
         
            -
                }
         
     | 
| 
       590 
     | 
    
         
            -
                catch (error) {
         
     | 
| 
       591 
     | 
    
         
            -
                    throw new Error(`Could not find Google Chrome executable for channel '${channel}' at '${chromePath}'.`);
         
     | 
| 
       592 
     | 
    
         
            -
                }
         
     | 
| 
       593 
     | 
    
         
            -
                return chromePath;
         
     | 
| 
       594 
     | 
    
         
            -
            }
         
     | 
| 
       595 
     | 
    
         
            -
            function resolveExecutablePath(launcher) {
         
     | 
| 
       596 
     | 
    
         
            -
                const { product, _isPuppeteerCore, _projectRoot, _preferredRevision } = launcher;
         
     | 
| 
       597 
     | 
    
         
            -
                let downloadPath;
         
     | 
| 
       598 
     | 
    
         
            -
                // puppeteer-core doesn't take into account PUPPETEER_* env variables.
         
     | 
| 
       599 
     | 
    
         
            -
                if (!_isPuppeteerCore) {
         
     | 
| 
       600 
     | 
    
         
            -
                    const executablePath = process.env.PUPPETEER_EXECUTABLE_PATH ||
         
     | 
| 
       601 
     | 
    
         
            -
                        process.env.npm_config_puppeteer_executable_path ||
         
     | 
| 
       602 
     | 
    
         
            -
                        process.env.npm_package_config_puppeteer_executable_path;
         
     | 
| 
       603 
     | 
    
         
            -
                    if (executablePath) {
         
     | 
| 
       604 
     | 
    
         
            -
                        const missingText = !fs.existsSync(executablePath)
         
     | 
| 
       605 
     | 
    
         
            -
                            ? 'Tried to use PUPPETEER_EXECUTABLE_PATH env variable to launch browser but did not find any executable at: ' +
         
     | 
| 
       606 
     | 
    
         
            -
                                executablePath
         
     | 
| 
       607 
     | 
    
         
            -
                            : undefined;
         
     | 
| 
       608 
     | 
    
         
            -
                        return { executablePath, missingText };
         
     | 
| 
       609 
     | 
    
         
            -
                    }
         
     | 
| 
       610 
     | 
    
         
            -
                    const ubuntuChromiumPath = '/usr/bin/chromium-browser';
         
     | 
| 
       611 
     | 
    
         
            -
                    if (product === 'chrome' &&
         
     | 
| 
       612 
     | 
    
         
            -
                        os.platform() !== 'darwin' &&
         
     | 
| 
       613 
     | 
    
         
            -
                        os.arch() === 'arm64' &&
         
     | 
| 
       614 
     | 
    
         
            -
                        fs.existsSync(ubuntuChromiumPath)) {
         
     | 
| 
       615 
     | 
    
         
            -
                        return { executablePath: ubuntuChromiumPath, missingText: undefined };
         
     | 
| 
       616 
     | 
    
         
            -
                    }
         
     | 
| 
       617 
     | 
    
         
            -
                    downloadPath =
         
     | 
| 
       618 
     | 
    
         
            -
                        process.env.PUPPETEER_DOWNLOAD_PATH ||
         
     | 
| 
       619 
     | 
    
         
            -
                            process.env.npm_config_puppeteer_download_path ||
         
     | 
| 
       620 
     | 
    
         
            -
                            process.env.npm_package_config_puppeteer_download_path;
         
     | 
| 
       621 
     | 
    
         
            -
                }
         
     | 
| 
       622 
     | 
    
         
            -
                if (!_projectRoot) {
         
     | 
| 
       623 
     | 
    
         
            -
                    throw new Error('_projectRoot is undefined. Unable to create a BrowserFetcher.');
         
     | 
| 
       624 
     | 
    
         
            -
                }
         
     | 
| 
       625 
     | 
    
         
            -
                const browserFetcher = new BrowserFetcher_js_1.BrowserFetcher(_projectRoot, {
         
     | 
| 
       626 
     | 
    
         
            -
                    product: product,
         
     | 
| 
       627 
     | 
    
         
            -
                    path: downloadPath,
         
     | 
| 
       628 
     | 
    
         
            -
                });
         
     | 
| 
       629 
     | 
    
         
            -
                if (!_isPuppeteerCore && product === 'chrome') {
         
     | 
| 
       630 
     | 
    
         
            -
                    const revision = process.env['PUPPETEER_CHROMIUM_REVISION'];
         
     | 
| 
       631 
     | 
    
         
            -
                    if (revision) {
         
     | 
| 
       632 
     | 
    
         
            -
                        const revisionInfo = browserFetcher.revisionInfo(revision);
         
     | 
| 
       633 
     | 
    
         
            -
                        const missingText = !revisionInfo.local
         
     | 
| 
       634 
     | 
    
         
            -
                            ? 'Tried to use PUPPETEER_CHROMIUM_REVISION env variable to launch browser but did not find executable at: ' +
         
     | 
| 
       635 
     | 
    
         
            -
                                revisionInfo.executablePath
         
     | 
| 
       636 
     | 
    
         
            -
                            : undefined;
         
     | 
| 
       637 
     | 
    
         
            -
                        return { executablePath: revisionInfo.executablePath, missingText };
         
     | 
| 
       638 
     | 
    
         
            -
                    }
         
     | 
| 
       639 
     | 
    
         
            -
                }
         
     | 
| 
       640 
     | 
    
         
            -
                const revisionInfo = browserFetcher.revisionInfo(_preferredRevision);
         
     | 
| 
       641 
     | 
    
         
            -
                const firefoxHelp = `Run \`PUPPETEER_PRODUCT=firefox npm install\` to download a supported Firefox browser binary.`;
         
     | 
| 
       642 
     | 
    
         
            -
                const chromeHelp = `Run \`npm install\` to download the correct Chromium revision (${launcher._preferredRevision}).`;
         
     | 
| 
       643 
     | 
    
         
            -
                const missingText = !revisionInfo.local
         
     | 
| 
       644 
     | 
    
         
            -
                    ? `Could not find expected browser (${product}) locally. ${product === 'chrome' ? chromeHelp : firefoxHelp}`
         
     | 
| 
       645 
     | 
    
         
            -
                    : undefined;
         
     | 
| 
       646 
     | 
    
         
            -
                return { executablePath: revisionInfo.executablePath, missingText };
         
     | 
| 
       647 
     | 
    
         
            -
            }
         
     | 
| 
       648 
     | 
    
         
            -
            /**
         
     | 
| 
       649 
     | 
    
         
            -
             * @internal
         
     | 
| 
       650 
     | 
    
         
            -
             */
         
     | 
| 
       651 
     | 
    
         
            -
            function Launcher(projectRoot, preferredRevision, isPuppeteerCore, product) {
         
     | 
| 
       652 
     | 
    
         
            -
                // puppeteer-core doesn't take into account PUPPETEER_* env variables.
         
     | 
| 
       653 
     | 
    
         
            -
                if (!product && !isPuppeteerCore)
         
     | 
| 
       654 
     | 
    
         
            -
                    product =
         
     | 
| 
       655 
     | 
    
         
            -
                        process.env.PUPPETEER_PRODUCT ||
         
     | 
| 
       656 
     | 
    
         
            -
                            process.env.npm_config_puppeteer_product ||
         
     | 
| 
       657 
     | 
    
         
            -
                            process.env.npm_package_config_puppeteer_product;
         
     | 
| 
       658 
     | 
    
         
            -
                switch (product) {
         
     | 
| 
       659 
     | 
    
         
            -
                    case 'firefox':
         
     | 
| 
       660 
     | 
    
         
            -
                        return new FirefoxLauncher(projectRoot, preferredRevision, isPuppeteerCore);
         
     | 
| 
       661 
     | 
    
         
            -
                    case 'chrome':
         
     | 
| 
       662 
     | 
    
         
            -
                    default:
         
     | 
| 
       663 
     | 
    
         
            -
                        if (typeof product !== 'undefined' && product !== 'chrome') {
         
     | 
| 
       664 
     | 
    
         
            -
                            /* The user gave us an incorrect product name
         
     | 
| 
       665 
     | 
    
         
            -
                             * we'll default to launching Chrome, but log to the console
         
     | 
| 
       666 
     | 
    
         
            -
                             * to let the user know (they've probably typoed).
         
     | 
| 
       667 
     | 
    
         
            -
                             */
         
     | 
| 
       668 
     | 
    
         
            -
                            console.warn(`Warning: unknown product name ${product}. Falling back to chrome.`);
         
     | 
| 
       669 
     | 
    
         
            -
                        }
         
     | 
| 
       670 
     | 
    
         
            -
                        return new ChromeLauncher(projectRoot, preferredRevision, isPuppeteerCore);
         
     | 
| 
       671 
     | 
    
         
            -
                }
         
     | 
| 
       672 
     | 
    
         
            -
            }
         
     | 
| 
       673 
     | 
    
         
            -
            exports.default = Launcher;
         
     | 
| 
       674 
     | 
    
         
            -
            //# sourceMappingURL=Launcher.js.map
         
     |