chrome-devtools-frontend 1.0.923319 → 1.0.923788
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/front_end/core/common/EventTarget.ts +7 -13
- package/front_end/core/common/Object.ts +5 -9
- package/front_end/core/common/Settings.ts +12 -9
- package/front_end/core/sdk/RuntimeModel.ts +1 -1
- package/front_end/core/sdk/SourceMap.ts +74 -31
- package/front_end/core/sdk/TargetManager.ts +7 -7
- package/front_end/models/bindings/CompilerScriptMapping.ts +24 -6
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +30 -30
- package/front_end/models/extensions/ExtensionServer.ts +10 -13
- package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +24 -20
- package/front_end/panels/application/ApplicationPanelSidebar.ts +14 -19
- package/front_end/panels/application/DatabaseModel.ts +6 -1
- package/front_end/panels/application/IndexedDBModel.ts +9 -1
- package/front_end/panels/console/ConsolePinPane.ts +1 -2
- package/front_end/panels/coverage/CoverageModel.ts +9 -3
- package/front_end/panels/media/PlayerMessagesView.ts +2 -4
- package/front_end/panels/profiler/HeapProfileView.ts +12 -2
- package/front_end/panels/profiler/HeapSnapshotView.ts +52 -20
- package/front_end/panels/profiler/ProfileHeader.ts +11 -2
- package/front_end/panels/profiler/ProfilesPanel.ts +7 -6
- package/front_end/panels/timeline/TimelineUIUtils.ts +1 -2
- package/front_end/panels/web_audio/WebAudioModel.ts +19 -1
- package/front_end/panels/web_audio/WebAudioView.ts +25 -19
- package/front_end/third_party/puppeteer/README.chromium +1 -1
- package/front_end/third_party/puppeteer/package/CHANGELOG.md +66 -0
- package/front_end/third_party/puppeteer/package/README.md +34 -13
- 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 +5 -5
- 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 +18 -2
- 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 +8 -3
- 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/Connection.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.d.ts +22 -6
- 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 +14 -7
- 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 +1 -0
- 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 +10 -6
- 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/DeviceDescriptors.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DeviceDescriptors.js +120 -0
- 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/EvalTypes.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EvalTypes.d.ts.map +1 -1
- 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 +2 -2
- 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 +62 -3
- 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 +131 -3
- 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/Input.d.ts +40 -0
- 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 +76 -0
- 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 +53 -2
- 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 +82 -13
- 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/NetworkManager.d.ts +2 -1
- 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 +14 -2
- 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 -0
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +1053 -29
- 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 +1114 -22
- 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/Tracing.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js +17 -6
- 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/assert.d.ts +1 -0
- 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 -1
- 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/helper.d.ts +21 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js +47 -28
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.d.ts +17 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.js.map +1 -0
- 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 +9 -10
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +5 -2
- 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/LaunchOptions.d.ts +10 -2
- 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/Launcher.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +83 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
- 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 +7 -1
- 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/Puppeteer.d.ts +1 -1
- 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 +2 -2
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js +17 -3
- 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/revisions.js +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 +5 -5
- 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 +18 -2
- 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 +8 -3
- 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/Connection.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +22 -6
- 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 +14 -7
- 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 +1 -0
- 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 +10 -6
- 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/DeviceDescriptors.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js +120 -0
- 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/EvalTypes.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -1
- 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 +2 -2
- 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 +62 -3
- 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 +131 -3
- 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/Input.d.ts +40 -0
- 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 +76 -0
- 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 +53 -2
- 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 +82 -13
- 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/NetworkManager.d.ts +2 -1
- 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 +14 -2
- 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 -0
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +1053 -29
- 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 +1115 -23
- 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/Tracing.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +17 -6
- 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/assert.d.ts +1 -0
- 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 +4 -0
- 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/helper.d.ts +21 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +32 -13
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.d.ts +17 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.js +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.js.map +1 -0
- 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 +9 -10
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +5 -2
- 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/LaunchOptions.d.ts +10 -2
- 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/Launcher.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +83 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
- 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 +7 -1
- 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/Puppeteer.d.ts +1 -1
- 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 +2 -2
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +17 -3
- 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/revisions.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +1382 -19726
- package/front_end/third_party/puppeteer/package/package.json +9 -6
- package/front_end/third_party/wasmparser/README.chromium +2 -2
- package/front_end/third_party/wasmparser/package/CHANGELOG.md +13 -0
- package/front_end/third_party/wasmparser/package/dist/cjs/WasmDis.js +50 -10
- package/front_end/third_party/wasmparser/package/dist/cjs/WasmDis.js.map +1 -1
- package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.d.ts +21 -4
- package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js +76 -8
- package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js.map +1 -1
- package/front_end/third_party/wasmparser/package/dist/esm/WasmDis.js +50 -10
- package/front_end/third_party/wasmparser/package/dist/esm/WasmDis.js.map +1 -1
- package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.d.ts +21 -4
- package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js +76 -8
- package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js.map +1 -1
- package/front_end/third_party/wasmparser/package/package.json +1 -1
- package/front_end/third_party/wasmparser/package/src/WasmDis.ts +47 -10
- package/front_end/third_party/wasmparser/package/src/WasmParser.ts +75 -5
- package/front_end/ui/components/icon_button/iconButton.css +4 -0
- package/front_end/ui/legacy/GlassPane.ts +1 -3
- package/front_end/ui/legacy/UIUtils.ts +2 -3
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
- package/front_end/ui/legacy/reportView.css +1 -0
- package/package.json +1 -1
- package/scripts/build/rollup.config.js +0 -5
|
@@ -11,7 +11,7 @@ export interface EventDescriptor<Events = any, T extends EventType<Events> = any
|
|
|
11
11
|
eventTarget: EventTarget<Events>;
|
|
12
12
|
eventType: T;
|
|
13
13
|
thisObject?: Object;
|
|
14
|
-
listener:
|
|
14
|
+
listener: EventListener<Events, T>;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export function removeEventListeners(eventList: EventDescriptor[]): void {
|
|
@@ -22,24 +22,18 @@ export function removeEventListeners(eventList: EventDescriptor[]): void {
|
|
|
22
22
|
eventList.splice(0);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
// TODO(crbug.com/1228674): Once all event emitters and sinks have been migrated
|
|
26
|
-
// we can use:
|
|
27
|
-
// export type EventType<Events> = keyof Events;
|
|
28
|
-
// export type EventPayload<Events, T> = Events[T];
|
|
29
25
|
export type EventType<Events> = Events extends Object ? keyof Events : Events extends void ? never : string|symbol;
|
|
30
26
|
export type EventPayload<Events, T> = T extends keyof Events ? Events[T] : unknown;
|
|
31
27
|
export type EventPayloadToRestParameters<T> = T extends void ? [] : [T];
|
|
32
28
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
eventType: T, listener: (arg0: EventTargetEvent<EventPayload<Events, T>>) => void,
|
|
39
|
-
thisObject?: Object): EventDescriptor<Events, T>;
|
|
29
|
+
export type EventListener<Events, T> = (arg0: EventTargetEvent<EventPayload<Events, T>>) => void;
|
|
30
|
+
|
|
31
|
+
export interface EventTarget<Events> {
|
|
32
|
+
addEventListener<T extends EventType<Events>>(eventType: T, listener: EventListener<Events, T>, thisObject?: Object):
|
|
33
|
+
EventDescriptor<Events, T>;
|
|
40
34
|
once<T extends EventType<Events>>(eventType: T): Promise<EventPayload<Events, T>>;
|
|
41
35
|
removeEventListener<T extends EventType<Events>>(
|
|
42
|
-
eventType: T, listener:
|
|
36
|
+
eventType: T, listener: EventListener<Events, T>, thisObject?: Object): void;
|
|
43
37
|
hasEventListeners(eventType: EventType<Events>): boolean;
|
|
44
38
|
dispatchEventToListeners<T extends EventType<Events>>(
|
|
45
39
|
eventType: Platform.TypeScriptUtilities.NoUnion<T>,
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
30
|
import type * as Platform from '../platform/platform.js';
|
|
31
|
-
import type {EventDescriptor, EventTarget, EventTargetEvent, EventType, EventPayload, EventPayloadToRestParameters} from './EventTarget.js';
|
|
31
|
+
import type {EventDescriptor, EventListener, EventTarget, EventTargetEvent, EventType, EventPayload, EventPayloadToRestParameters} from './EventTarget.js';
|
|
32
32
|
|
|
33
33
|
export interface ListenerCallbackTuple {
|
|
34
34
|
thisObject?: Object;
|
|
@@ -36,15 +36,11 @@ export interface ListenerCallbackTuple {
|
|
|
36
36
|
disposed?: boolean;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
// all event emitters and sinks have been migrated.
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
-
export class ObjectWrapper<Events = any> implements EventTarget<Events> {
|
|
39
|
+
export class ObjectWrapper<Events> implements EventTarget<Events> {
|
|
43
40
|
listeners?: Map<EventType<Events>, Set<ListenerCallbackTuple>>;
|
|
44
41
|
|
|
45
|
-
addEventListener<T extends EventType<Events>>(
|
|
46
|
-
|
|
47
|
-
thisObject?: Object): EventDescriptor<Events, T> {
|
|
42
|
+
addEventListener<T extends EventType<Events>>(eventType: T, listener: EventListener<Events, T>, thisObject?: Object):
|
|
43
|
+
EventDescriptor<Events, T> {
|
|
48
44
|
if (!this.listeners) {
|
|
49
45
|
this.listeners = new Map();
|
|
50
46
|
}
|
|
@@ -68,7 +64,7 @@ export class ObjectWrapper<Events = any> implements EventTarget<Events> {
|
|
|
68
64
|
}
|
|
69
65
|
|
|
70
66
|
removeEventListener<T extends EventType<Events>>(
|
|
71
|
-
eventType: T, listener:
|
|
67
|
+
eventType: T, listener: EventListener<Events, T>, thisObject?: Object): void {
|
|
72
68
|
const listeners = this.listeners?.get(eventType);
|
|
73
69
|
if (!listeners) {
|
|
74
70
|
return;
|
|
@@ -46,7 +46,7 @@ export class Settings {
|
|
|
46
46
|
private readonly sessionStorage: SettingsStorage;
|
|
47
47
|
settingNameSet: Set<string>;
|
|
48
48
|
orderValuesBySettingCategory: Map<SettingCategory, Set<number>>;
|
|
49
|
-
private eventSupport: ObjectWrapper
|
|
49
|
+
private eventSupport: ObjectWrapper<unknown>;
|
|
50
50
|
private registry: Map<string, Setting<unknown>>;
|
|
51
51
|
readonly moduleSettings: Map<string, Setting<unknown>>;
|
|
52
52
|
|
|
@@ -59,7 +59,7 @@ export class Settings {
|
|
|
59
59
|
|
|
60
60
|
this.orderValuesBySettingCategory = new Map();
|
|
61
61
|
|
|
62
|
-
this.eventSupport = new ObjectWrapper();
|
|
62
|
+
this.eventSupport = new ObjectWrapper<unknown>();
|
|
63
63
|
this.registry = new Map();
|
|
64
64
|
this.moduleSettings = new Map();
|
|
65
65
|
|
|
@@ -276,7 +276,7 @@ function removeSetting(setting: Setting<unknown>): void {
|
|
|
276
276
|
export class Setting<V> {
|
|
277
277
|
private nameInternal: string;
|
|
278
278
|
private defaultValueInternal: V;
|
|
279
|
-
private readonly eventSupport: ObjectWrapper
|
|
279
|
+
private readonly eventSupport: ObjectWrapper<unknown>;
|
|
280
280
|
private storage: SettingsStorage;
|
|
281
281
|
private titleFunction!: () => Platform.UIString.LocalizedString;
|
|
282
282
|
private titleInternal!: string;
|
|
@@ -287,7 +287,7 @@ export class Setting<V> {
|
|
|
287
287
|
private serializer: Serializer<unknown, V> = JSON;
|
|
288
288
|
private hadUserAction?: boolean;
|
|
289
289
|
|
|
290
|
-
constructor(name: string, defaultValue: V, eventSupport: ObjectWrapper
|
|
290
|
+
constructor(name: string, defaultValue: V, eventSupport: ObjectWrapper<unknown>, storage: SettingsStorage) {
|
|
291
291
|
this.nameInternal = name;
|
|
292
292
|
this.defaultValueInternal = defaultValue;
|
|
293
293
|
this.eventSupport = eventSupport;
|
|
@@ -299,12 +299,14 @@ export class Setting<V> {
|
|
|
299
299
|
this.serializer = serializer;
|
|
300
300
|
}
|
|
301
301
|
|
|
302
|
-
addChangeListener(listener: (arg0: EventTargetEvent) => void, thisObject?: Object): EventDescriptor {
|
|
303
|
-
return this.eventSupport.addEventListener(
|
|
302
|
+
addChangeListener(listener: (arg0: EventTargetEvent<V>) => void, thisObject?: Object): EventDescriptor {
|
|
303
|
+
return this.eventSupport.addEventListener(
|
|
304
|
+
this.nameInternal, listener as (arg0: EventTargetEvent<unknown>) => void, thisObject);
|
|
304
305
|
}
|
|
305
306
|
|
|
306
|
-
removeChangeListener(listener: (arg0: EventTargetEvent) => void, thisObject?: Object): void {
|
|
307
|
-
this.eventSupport.removeEventListener(
|
|
307
|
+
removeChangeListener(listener: (arg0: EventTargetEvent<V>) => void, thisObject?: Object): void {
|
|
308
|
+
this.eventSupport.removeEventListener(
|
|
309
|
+
this.nameInternal, listener as (arg0: EventTargetEvent<unknown>) => void, thisObject);
|
|
308
310
|
}
|
|
309
311
|
|
|
310
312
|
get name(): string {
|
|
@@ -449,7 +451,8 @@ export class RegExpSetting extends Setting<any> {
|
|
|
449
451
|
private regex?: RegExp|null;
|
|
450
452
|
|
|
451
453
|
constructor(
|
|
452
|
-
name: string, defaultValue: string, eventSupport: ObjectWrapper
|
|
454
|
+
name: string, defaultValue: string, eventSupport: ObjectWrapper<unknown>, storage: SettingsStorage,
|
|
455
|
+
regexFlags?: string) {
|
|
453
456
|
super(name, defaultValue ? [{pattern: defaultValue}] : [], eventSupport, storage);
|
|
454
457
|
this.regexFlags = regexFlags;
|
|
455
458
|
}
|
|
@@ -487,7 +487,7 @@ export interface QueryObjectRequestedEvent {
|
|
|
487
487
|
|
|
488
488
|
export type EventTypes = {
|
|
489
489
|
[Events.BindingCalled]: Protocol.Runtime.BindingCalledEvent,
|
|
490
|
-
[Events.ExecutionContextCreated]:
|
|
490
|
+
[Events.ExecutionContextCreated]: ExecutionContext,
|
|
491
491
|
[Events.ExecutionContextDestroyed]: ExecutionContext,
|
|
492
492
|
[Events.ExecutionContextChanged]: ExecutionContext,
|
|
493
493
|
[Events.ExecutionContextOrderChanged]: RuntimeModel,
|
|
@@ -62,6 +62,7 @@ export interface SourceMap {
|
|
|
62
62
|
TextUtils.ContentProvider.ContentProvider;
|
|
63
63
|
embeddedContentByURL(sourceURL: string): string|null;
|
|
64
64
|
findEntry(lineNumber: number, columnNumber: number): SourceMapEntry|null;
|
|
65
|
+
findReverseRanges(sourceURL: string, lineNumber: number, columnNumber: number): TextUtils.TextRange.TextRange[];
|
|
65
66
|
sourceLineMapping(sourceURL: string, lineNumber: number, columnNumber: number): SourceMapEntry|null;
|
|
66
67
|
mappings(): SourceMapEntry[];
|
|
67
68
|
mapsOrigin(): boolean;
|
|
@@ -225,37 +226,71 @@ export class TextSourceMap implements SourceMap {
|
|
|
225
226
|
}
|
|
226
227
|
|
|
227
228
|
sourceLineMapping(sourceURL: string, lineNumber: number, columnNumber: number): SourceMapEntry|null {
|
|
228
|
-
const mappings = this.
|
|
229
|
-
const
|
|
230
|
-
const
|
|
231
|
-
|
|
229
|
+
const mappings = this.mappings();
|
|
230
|
+
const reverseMappings = this.reversedMappings(sourceURL);
|
|
231
|
+
const first = Platform.ArrayUtilities.lowerBound(reverseMappings, lineNumber, lineComparator);
|
|
232
|
+
const last = Platform.ArrayUtilities.upperBound(reverseMappings, lineNumber, lineComparator);
|
|
233
|
+
if (first >= reverseMappings.length || mappings[reverseMappings[first]].sourceLineNumber !== lineNumber) {
|
|
232
234
|
return null;
|
|
233
235
|
}
|
|
234
|
-
const columnMappings =
|
|
236
|
+
const columnMappings = reverseMappings.slice(first, last);
|
|
235
237
|
if (!columnMappings.length) {
|
|
236
238
|
return null;
|
|
237
239
|
}
|
|
238
240
|
const index = Platform.ArrayUtilities.lowerBound(
|
|
239
|
-
columnMappings, columnNumber, (columnNumber,
|
|
240
|
-
return index >= columnMappings.length ? columnMappings[columnMappings.length - 1] :
|
|
241
|
+
columnMappings, columnNumber, (columnNumber, i) => columnNumber - mappings[i].sourceColumnNumber);
|
|
242
|
+
return index >= columnMappings.length ? mappings[columnMappings[columnMappings.length - 1]] :
|
|
243
|
+
mappings[columnMappings[index]];
|
|
241
244
|
|
|
242
|
-
function lineComparator(lineNumber: number,
|
|
243
|
-
return lineNumber -
|
|
245
|
+
function lineComparator(lineNumber: number, i: number): number {
|
|
246
|
+
return lineNumber - mappings[i].sourceLineNumber;
|
|
244
247
|
}
|
|
245
248
|
}
|
|
246
249
|
|
|
247
|
-
|
|
248
|
-
const mappings = this.
|
|
250
|
+
private findReverseIndices(sourceURL: string, lineNumber: number, columnNumber: number): number[] {
|
|
251
|
+
const mappings = this.mappings();
|
|
252
|
+
const reverseMappings = this.reversedMappings(sourceURL);
|
|
249
253
|
const endIndex = Platform.ArrayUtilities.upperBound(
|
|
250
|
-
|
|
251
|
-
(unused,
|
|
254
|
+
reverseMappings, undefined,
|
|
255
|
+
(unused, i) => lineNumber - mappings[i].sourceLineNumber || columnNumber - mappings[i].sourceColumnNumber);
|
|
252
256
|
let startIndex = endIndex;
|
|
253
|
-
while (startIndex > 0 &&
|
|
254
|
-
mappings[startIndex - 1].
|
|
257
|
+
while (startIndex > 0 &&
|
|
258
|
+
mappings[reverseMappings[startIndex - 1]].sourceLineNumber ===
|
|
259
|
+
mappings[reverseMappings[endIndex - 1]].sourceLineNumber &&
|
|
260
|
+
mappings[reverseMappings[startIndex - 1]].sourceColumnNumber ===
|
|
261
|
+
mappings[reverseMappings[endIndex - 1]].sourceColumnNumber) {
|
|
255
262
|
--startIndex;
|
|
256
263
|
}
|
|
257
264
|
|
|
258
|
-
return
|
|
265
|
+
return reverseMappings.slice(startIndex, endIndex);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
findReverseEntries(sourceURL: string, lineNumber: number, columnNumber: number): SourceMapEntry[] {
|
|
269
|
+
const mappings = this.mappings();
|
|
270
|
+
return this.findReverseIndices(sourceURL, lineNumber, columnNumber).map(i => mappings[i]);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
findReverseRanges(sourceURL: string, lineNumber: number, columnNumber: number): TextUtils.TextRange.TextRange[] {
|
|
274
|
+
const mappings = this.mappings();
|
|
275
|
+
const indices = this.findReverseIndices(sourceURL, lineNumber, columnNumber);
|
|
276
|
+
const ranges: TextUtils.TextRange.TextRange[] = [];
|
|
277
|
+
|
|
278
|
+
for (let i = 0; i < indices.length; ++i) {
|
|
279
|
+
const startIndex = indices[i];
|
|
280
|
+
|
|
281
|
+
// Merge adjacent ranges.
|
|
282
|
+
let endIndex = startIndex + 1;
|
|
283
|
+
while (i + 1 < indices.length && endIndex === indices[i + 1]) {
|
|
284
|
+
++endIndex;
|
|
285
|
+
++i;
|
|
286
|
+
}
|
|
287
|
+
const endLine = endIndex < mappings.length ? mappings[endIndex].lineNumber : Infinity;
|
|
288
|
+
const endColumn = endIndex < mappings.length ? mappings[endIndex].columnNumber : 0;
|
|
289
|
+
ranges.push(new TextUtils.TextRange.TextRange(
|
|
290
|
+
mappings[startIndex].lineNumber, mappings[startIndex].columnNumber, endLine, endColumn));
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return ranges;
|
|
259
294
|
}
|
|
260
295
|
|
|
261
296
|
mappings(): SourceMapEntry[] {
|
|
@@ -267,19 +302,22 @@ export class TextSourceMap implements SourceMap {
|
|
|
267
302
|
return /** @type {!Array<!SourceMapEntry>} */ this.mappingsInternal as SourceMapEntry[];
|
|
268
303
|
}
|
|
269
304
|
|
|
270
|
-
private reversedMappings(sourceURL: string):
|
|
305
|
+
private reversedMappings(sourceURL: string): number[] {
|
|
271
306
|
const info = this.sourceInfos.get(sourceURL);
|
|
272
307
|
if (!info) {
|
|
273
308
|
return [];
|
|
274
309
|
}
|
|
275
310
|
const mappings = this.mappings();
|
|
276
311
|
if (info.reverseMappings === null) {
|
|
277
|
-
|
|
312
|
+
const indexes = Array(mappings.length).fill(0).map((_, i) => i);
|
|
313
|
+
info.reverseMappings = indexes.filter(i => mappings[i].sourceURL === sourceURL).sort(sourceMappingComparator);
|
|
278
314
|
}
|
|
279
315
|
|
|
280
316
|
return info.reverseMappings;
|
|
281
317
|
|
|
282
|
-
function sourceMappingComparator(
|
|
318
|
+
function sourceMappingComparator(indexA: number, indexB: number): number {
|
|
319
|
+
const a = mappings[indexA];
|
|
320
|
+
const b = mappings[indexB];
|
|
283
321
|
if (a.sourceLineNumber !== b.sourceLineNumber) {
|
|
284
322
|
return a.sourceLineNumber - b.sourceLineNumber;
|
|
285
323
|
}
|
|
@@ -415,25 +453,30 @@ export class TextSourceMap implements SourceMap {
|
|
|
415
453
|
lineNumber: number,
|
|
416
454
|
columnNumber: number,
|
|
417
455
|
},
|
|
418
|
-
|
|
419
|
-
if (position.lineNumber !==
|
|
420
|
-
return position.lineNumber -
|
|
456
|
+
mappingIndex: number): number {
|
|
457
|
+
if (position.lineNumber !== mappings[mappingIndex].sourceLineNumber) {
|
|
458
|
+
return position.lineNumber - mappings[mappingIndex].sourceLineNumber;
|
|
421
459
|
}
|
|
422
460
|
|
|
423
|
-
return position.columnNumber -
|
|
461
|
+
return position.columnNumber - mappings[mappingIndex].sourceColumnNumber;
|
|
424
462
|
}
|
|
425
463
|
|
|
426
|
-
const
|
|
427
|
-
|
|
464
|
+
const reverseMappings = this.reversedMappings(url);
|
|
465
|
+
const mappings = this.mappings();
|
|
466
|
+
if (!reverseMappings.length) {
|
|
428
467
|
return null;
|
|
429
468
|
}
|
|
430
469
|
const startIndex = Platform.ArrayUtilities.lowerBound(
|
|
431
|
-
|
|
470
|
+
reverseMappings, {lineNumber: textRange.startLine, columnNumber: textRange.startColumn}, comparator);
|
|
432
471
|
const endIndex = Platform.ArrayUtilities.upperBound(
|
|
433
|
-
|
|
472
|
+
reverseMappings, {lineNumber: textRange.endLine, columnNumber: textRange.endColumn}, comparator);
|
|
473
|
+
|
|
474
|
+
if (endIndex >= reverseMappings.length) {
|
|
475
|
+
return null;
|
|
476
|
+
}
|
|
434
477
|
|
|
435
|
-
const startMapping = mappings[startIndex];
|
|
436
|
-
const endMapping = mappings[endIndex];
|
|
478
|
+
const startMapping = mappings[reverseMappings[startIndex]];
|
|
479
|
+
const endMapping = mappings[reverseMappings[endIndex]];
|
|
437
480
|
return new TextUtils.TextRange.TextRange(
|
|
438
481
|
startMapping.lineNumber, startMapping.columnNumber, endMapping.lineNumber, endMapping.columnNumber);
|
|
439
482
|
}
|
|
@@ -483,9 +526,9 @@ export namespace TextSourceMap {
|
|
|
483
526
|
|
|
484
527
|
export class SourceInfo {
|
|
485
528
|
content: string|null;
|
|
486
|
-
reverseMappings:
|
|
529
|
+
reverseMappings: number[]|null;
|
|
487
530
|
|
|
488
|
-
constructor(content: string|null, reverseMappings:
|
|
531
|
+
constructor(content: string|null, reverseMappings: number[]|null) {
|
|
489
532
|
this.content = content;
|
|
490
533
|
this.reverseMappings = reverseMappings;
|
|
491
534
|
}
|
|
@@ -17,7 +17,7 @@ let targetManagerInstance: TargetManager|undefined;
|
|
|
17
17
|
export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
|
18
18
|
private targetsInternal: Set<Target>;
|
|
19
19
|
private readonly observers: Set<Observer>;
|
|
20
|
-
private modelListeners: Platform.MapUtilities.Multimap<string|symbol, {
|
|
20
|
+
private modelListeners: Platform.MapUtilities.Multimap<string|symbol|number, {
|
|
21
21
|
modelClass: new(arg1: Target) => SDKModel,
|
|
22
22
|
thisObject: (Object|undefined),
|
|
23
23
|
listener: (arg0: Common.EventTarget.EventTargetEvent) => void,
|
|
@@ -124,18 +124,18 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
addModelListener(
|
|
128
|
-
modelClass: new(arg1: Target) => SDKModel
|
|
129
|
-
listener:
|
|
127
|
+
addModelListener<Events, T extends Common.EventTarget.EventType<Events>>(
|
|
128
|
+
modelClass: new(arg1: Target) => SDKModel<Events>, eventType: T,
|
|
129
|
+
listener: Common.EventTarget.EventListener<Events, T>, thisObject?: Object): void {
|
|
130
130
|
for (const model of this.models(modelClass)) {
|
|
131
131
|
model.addEventListener(eventType, listener, thisObject);
|
|
132
132
|
}
|
|
133
133
|
this.modelListeners.set(eventType, {modelClass: modelClass, thisObject: thisObject, listener: listener});
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
removeModelListener(
|
|
137
|
-
modelClass: new(arg1: Target) => SDKModel
|
|
138
|
-
listener:
|
|
136
|
+
removeModelListener<Events, T extends Common.EventTarget.EventType<Events>>(
|
|
137
|
+
modelClass: new(arg1: Target) => SDKModel<Events>, eventType: T,
|
|
138
|
+
listener: Common.EventTarget.EventListener<Events, T>, thisObject?: Object): void {
|
|
139
139
|
if (!this.modelListeners.has(eventType)) {
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
@@ -35,7 +35,7 @@ import * as TextUtils from '../text_utils/text_utils.js';
|
|
|
35
35
|
import * as Workspace from '../workspace/workspace.js';
|
|
36
36
|
|
|
37
37
|
import {ContentProviderBasedProject} from './ContentProviderBasedProject.js';
|
|
38
|
-
import type {DebuggerSourceMapping, DebuggerWorkspaceBinding} from './DebuggerWorkspaceBinding.js';
|
|
38
|
+
import type {DebuggerSourceMapping, DebuggerWorkspaceBinding, RawLocationRange} from './DebuggerWorkspaceBinding.js';
|
|
39
39
|
import {IgnoreListManager} from './IgnoreListManager.js';
|
|
40
40
|
import {NetworkProject} from './NetworkProject.js';
|
|
41
41
|
|
|
@@ -131,15 +131,33 @@ export class CompilerScriptMapping implements DebuggerSourceMapping {
|
|
|
131
131
|
return [];
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
getLocationRangesForSameSourceLocation(rawLocation: SDK.DebuggerModel.Location): RawLocationRange[] {
|
|
135
|
+
const debuggerModel = rawLocation.debuggerModel;
|
|
135
136
|
const script = rawLocation.script();
|
|
136
|
-
|
|
137
|
+
if (!script) {
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
const sourceMap = this.sourceMapManager.sourceMapForClient(script);
|
|
137
141
|
if (!sourceMap) {
|
|
138
|
-
return
|
|
142
|
+
return [];
|
|
139
143
|
}
|
|
144
|
+
|
|
145
|
+
// Find the source location for the raw location.
|
|
140
146
|
const entry = sourceMap.findEntry(rawLocation.lineNumber, rawLocation.columnNumber);
|
|
141
|
-
|
|
142
|
-
|
|
147
|
+
if (!entry || !entry.sourceURL) {
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Map the source location back to raw location ranges.
|
|
152
|
+
const ranges = sourceMap.findReverseRanges(entry.sourceURL, entry.sourceLineNumber, entry.sourceColumnNumber);
|
|
153
|
+
return ranges.map(textRangeToLocationRange);
|
|
154
|
+
|
|
155
|
+
function textRangeToLocationRange(t: TextUtils.TextRange.TextRange): RawLocationRange {
|
|
156
|
+
return {
|
|
157
|
+
start: debuggerModel.createRawLocation(script as SDK.Script.Script, t.startLine, t.startColumn),
|
|
158
|
+
end: debuggerModel.createRawLocation(script as SDK.Script.Script, t.endLine, t.endColumn),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
143
161
|
}
|
|
144
162
|
|
|
145
163
|
uiSourceCodeForURL(url: string, isContentScript: boolean): Workspace.UISourceCode.UISourceCode|null {
|
|
@@ -72,14 +72,8 @@ export class DebuggerWorkspaceBinding implements SDK.TargetManager.SDKModelObser
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
private async computeAutoStepRanges(mode: SDK.DebuggerModel.StepMode, callFrame: SDK.DebuggerModel.CallFrame):
|
|
75
|
-
Promise<{
|
|
76
|
-
|
|
77
|
-
end: SDK.DebuggerModel.Location,
|
|
78
|
-
}[]> {
|
|
79
|
-
function contained(location: SDK.DebuggerModel.Location, range: {
|
|
80
|
-
start: SDK.DebuggerModel.Location,
|
|
81
|
-
end: SDK.DebuggerModel.Location,
|
|
82
|
-
}): boolean {
|
|
75
|
+
Promise<RawLocationRange[]> {
|
|
76
|
+
function contained(location: SDK.DebuggerModel.Location, range: RawLocationRange): boolean {
|
|
83
77
|
const {start, end} = range;
|
|
84
78
|
if (start.scriptId !== location.scriptId) {
|
|
85
79
|
return false;
|
|
@@ -98,20 +92,17 @@ export class DebuggerWorkspaceBinding implements SDK.TargetManager.SDKModelObser
|
|
|
98
92
|
|
|
99
93
|
// TODO(crbug.com/1018234): Also take into account source maps here and remove the auto-stepping
|
|
100
94
|
// logic in the front-end (which is currently still an experiment) completely.
|
|
95
|
+
const rawLocation = callFrame.location();
|
|
96
|
+
if (!rawLocation) {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
101
99
|
const pluginManager = this.pluginManager;
|
|
100
|
+
let ranges: RawLocationRange[] = [];
|
|
102
101
|
if (pluginManager) {
|
|
103
|
-
const rawLocation = callFrame.location();
|
|
104
102
|
if (mode === SDK.DebuggerModel.StepMode.StepOut) {
|
|
105
103
|
// Step out of inline function.
|
|
106
104
|
return await pluginManager.getInlinedFunctionRanges(rawLocation);
|
|
107
105
|
}
|
|
108
|
-
let ranges: {
|
|
109
|
-
start: SDK.DebuggerModel.Location,
|
|
110
|
-
end: SDK.DebuggerModel.Location,
|
|
111
|
-
}[]|{
|
|
112
|
-
start: SDK.DebuggerModel.Location,
|
|
113
|
-
end: SDK.DebuggerModel.Location,
|
|
114
|
-
}[] = [];
|
|
115
106
|
const uiLocation = await pluginManager.rawLocationToUILocation(rawLocation);
|
|
116
107
|
if (uiLocation) {
|
|
117
108
|
ranges = await pluginManager.uiLocationToRawLocationRanges(
|
|
@@ -119,14 +110,25 @@ export class DebuggerWorkspaceBinding implements SDK.TargetManager.SDKModelObser
|
|
|
119
110
|
[];
|
|
120
111
|
// TODO(bmeurer): Remove the {rawLocation} from the {ranges}?
|
|
121
112
|
ranges = ranges.filter(range => contained(rawLocation, range));
|
|
113
|
+
if (mode === SDK.DebuggerModel.StepMode.StepOver) {
|
|
114
|
+
// Step over an inlined function.
|
|
115
|
+
ranges = ranges.concat(await pluginManager.getInlinedCalleesRanges(rawLocation));
|
|
116
|
+
}
|
|
117
|
+
return ranges;
|
|
122
118
|
}
|
|
123
|
-
if (mode === SDK.DebuggerModel.StepMode.StepOver) {
|
|
124
|
-
// Step over an inlined function.
|
|
125
|
-
ranges = ranges.concat(await pluginManager.getInlinedCalleesRanges(rawLocation));
|
|
126
|
-
}
|
|
127
|
-
return ranges;
|
|
128
119
|
}
|
|
129
|
-
|
|
120
|
+
|
|
121
|
+
if (!Root.Runtime.experiments.isEnabled('emptySourceMapAutoStepping')) {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const compilerMapping = this.debuggerModelToData.get(rawLocation.debuggerModel)?.compilerMapping;
|
|
126
|
+
if (!compilerMapping) {
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
ranges = compilerMapping.getLocationRangesForSameSourceLocation(rawLocation);
|
|
130
|
+
ranges = ranges.filter(range => contained(rawLocation, range));
|
|
131
|
+
return ranges;
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
modelAdded(debuggerModel: SDK.DebuggerModel.DebuggerModel): void {
|
|
@@ -445,14 +447,7 @@ class ModelData {
|
|
|
445
447
|
}
|
|
446
448
|
|
|
447
449
|
private beforePaused(debuggerPausedDetails: SDK.DebuggerModel.DebuggerPausedDetails): boolean {
|
|
448
|
-
|
|
449
|
-
if (!callFrame) {
|
|
450
|
-
return false;
|
|
451
|
-
}
|
|
452
|
-
if (!Root.Runtime.experiments.isEnabled('emptySourceMapAutoStepping')) {
|
|
453
|
-
return true;
|
|
454
|
-
}
|
|
455
|
-
return Boolean(this.compilerMapping.mapsToSourceCode(callFrame.location()));
|
|
450
|
+
return Boolean(debuggerPausedDetails.callFrames[0]);
|
|
456
451
|
}
|
|
457
452
|
|
|
458
453
|
dispose(): void {
|
|
@@ -566,6 +561,11 @@ class StackTraceTopFrameLocation extends LiveLocationWithPool {
|
|
|
566
561
|
}
|
|
567
562
|
}
|
|
568
563
|
|
|
564
|
+
export interface RawLocationRange {
|
|
565
|
+
start: SDK.DebuggerModel.Location;
|
|
566
|
+
end: SDK.DebuggerModel.Location;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
569
|
/**
|
|
570
570
|
* @interface
|
|
571
571
|
*/
|
|
@@ -913,25 +913,22 @@ export class ExtensionServer extends Common.ObjectWrapper.ObjectWrapper<EventTyp
|
|
|
913
913
|
this.subscriptionStopHandlers.set(eventTopic, onUnsubscribeLast);
|
|
914
914
|
}
|
|
915
915
|
|
|
916
|
-
private registerAutosubscriptionHandler(
|
|
917
|
-
eventTopic: string, eventTarget: Common.EventTarget.EventTarget
|
|
918
|
-
handler:
|
|
916
|
+
private registerAutosubscriptionHandler<Events, T extends Common.EventTarget.EventType<Events>>(
|
|
917
|
+
eventTopic: string, eventTarget: Common.EventTarget.EventTarget<Events>, frontendEventType: T,
|
|
918
|
+
handler: Common.EventTarget.EventListener<Events, T>): void {
|
|
919
919
|
this.registerSubscriptionHandler(
|
|
920
920
|
eventTopic, () => eventTarget.addEventListener(frontendEventType, handler, this),
|
|
921
|
-
eventTarget.removeEventListener
|
|
921
|
+
() => eventTarget.removeEventListener(frontendEventType, handler, this));
|
|
922
922
|
}
|
|
923
923
|
|
|
924
|
-
private registerAutosubscriptionTargetManagerHandler(
|
|
925
|
-
eventTopic: string, modelClass: new(arg1: SDK.Target.Target) => SDK.SDKModel.SDKModel
|
|
926
|
-
|
|
924
|
+
private registerAutosubscriptionTargetManagerHandler<Events, T extends Common.EventTarget.EventType<Events>>(
|
|
925
|
+
eventTopic: string, modelClass: new(arg1: SDK.Target.Target) => SDK.SDKModel.SDKModel<Events>,
|
|
926
|
+
frontendEventType: T, handler: Common.EventTarget.EventListener<Events, T>): void {
|
|
927
927
|
this.registerSubscriptionHandler(
|
|
928
928
|
eventTopic,
|
|
929
|
-
|
|
930
|
-
SDK.TargetManager.TargetManager.instance().
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
SDK.TargetManager.TargetManager.instance().removeModelListener.bind(
|
|
934
|
-
SDK.TargetManager.TargetManager.instance(), modelClass, frontendEventType, handler, this));
|
|
929
|
+
() => SDK.TargetManager.TargetManager.instance().addModelListener(modelClass, frontendEventType, handler, this),
|
|
930
|
+
() => SDK.TargetManager.TargetManager.instance().removeModelListener(
|
|
931
|
+
modelClass, frontendEventType, handler, this));
|
|
935
932
|
}
|
|
936
933
|
|
|
937
934
|
private registerResourceContentCommittedHandler(
|
|
@@ -194,7 +194,7 @@ export class ProjectStore {
|
|
|
194
194
|
|
|
195
195
|
let workspaceInstance: WorkspaceImpl|undefined;
|
|
196
196
|
|
|
197
|
-
export class WorkspaceImpl extends Common.ObjectWrapper.ObjectWrapper {
|
|
197
|
+
export class WorkspaceImpl extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
|
198
198
|
private projectsInternal: Map<string, Project>;
|
|
199
199
|
private hasResourceContentTrackingExtensionsInternal: boolean;
|
|
200
200
|
|
|
@@ -33,16 +33,14 @@ export class WorkspaceDiffImpl extends Common.ObjectWrapper.ObjectWrapper<EventT
|
|
|
33
33
|
return this.uiSourceCodeDiff(uiSourceCode).requestDiff();
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
subscribeToDiffChange(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.uiSourceCodeDiff(uiSourceCode).addEventListener(Events.DiffChanged, callback, thisObj);
|
|
36
|
+
subscribeToDiffChange(uiSourceCode: Workspace.UISourceCode.UISourceCode, callback: () => void, thisObj?: Object):
|
|
37
|
+
void {
|
|
38
|
+
this.uiSourceCodeDiff(uiSourceCode).addEventListener(UISourceCodeDiffEvents.DiffChanged, callback, thisObj);
|
|
40
39
|
}
|
|
41
40
|
|
|
42
|
-
unsubscribeFromDiffChange(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.uiSourceCodeDiff(uiSourceCode).removeEventListener(Events.DiffChanged, callback, thisObj);
|
|
41
|
+
unsubscribeFromDiffChange(uiSourceCode: Workspace.UISourceCode.UISourceCode, callback: () => void, thisObj?: Object):
|
|
42
|
+
void {
|
|
43
|
+
this.uiSourceCodeDiff(uiSourceCode).removeEventListener(UISourceCodeDiffEvents.DiffChanged, callback, thisObj);
|
|
46
44
|
}
|
|
47
45
|
|
|
48
46
|
modifiedUISourceCodes(): Workspace.UISourceCode.UISourceCode[] {
|
|
@@ -166,7 +164,20 @@ export class WorkspaceDiffImpl extends Common.ObjectWrapper.ObjectWrapper<EventT
|
|
|
166
164
|
}
|
|
167
165
|
}
|
|
168
166
|
|
|
169
|
-
export
|
|
167
|
+
export const enum Events {
|
|
168
|
+
ModifiedStatusChanged = 'ModifiedStatusChanged',
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export interface ModifiedStatusChangedEvent {
|
|
172
|
+
uiSourceCode: Workspace.UISourceCode.UISourceCode;
|
|
173
|
+
isModified: boolean;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export type EventTypes = {
|
|
177
|
+
[Events.ModifiedStatusChanged]: ModifiedStatusChangedEvent,
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
export class UISourceCodeDiff extends Common.ObjectWrapper.ObjectWrapper<UISourceCodeDiffEventTypes> {
|
|
170
181
|
private uiSourceCode: Workspace.UISourceCode.UISourceCode;
|
|
171
182
|
private requestDiffPromise: Promise<Diff.Diff.DiffArray|null>|null;
|
|
172
183
|
private pendingChanges: number|null;
|
|
@@ -196,7 +207,7 @@ export class UISourceCodeDiff extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
196
207
|
if (this.dispose) {
|
|
197
208
|
return;
|
|
198
209
|
}
|
|
199
|
-
this.dispatchEventToListeners(
|
|
210
|
+
this.dispatchEventToListeners(UISourceCodeDiffEvents.DiffChanged);
|
|
200
211
|
this.pendingChanges = null;
|
|
201
212
|
}
|
|
202
213
|
}
|
|
@@ -259,19 +270,12 @@ export class UISourceCodeDiff extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
259
270
|
|
|
260
271
|
// TODO(crbug.com/1167717): Make this a const enum again
|
|
261
272
|
// eslint-disable-next-line rulesdir/const_enum
|
|
262
|
-
export enum
|
|
273
|
+
export enum UISourceCodeDiffEvents {
|
|
263
274
|
DiffChanged = 'DiffChanged',
|
|
264
|
-
ModifiedStatusChanged = 'ModifiedStatusChanged',
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
export interface ModifiedStatusChangedEvent {
|
|
268
|
-
uiSourceCode: Workspace.UISourceCode.UISourceCode;
|
|
269
|
-
isModified: boolean;
|
|
270
275
|
}
|
|
271
276
|
|
|
272
|
-
export type
|
|
273
|
-
[
|
|
274
|
-
[Events.ModifiedStatusChanged]: ModifiedStatusChangedEvent,
|
|
277
|
+
export type UISourceCodeDiffEventTypes = {
|
|
278
|
+
[UISourceCodeDiffEvents.DiffChanged]: void,
|
|
275
279
|
};
|
|
276
280
|
|
|
277
281
|
// TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
|