chrome-devtools-frontend 1.0.943986 → 1.0.945579
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 +4 -0
- package/config/gni/devtools_image_files.gni +1 -0
- package/front_end/Images/src/circled_exclamation_icon.svg +3 -0
- package/front_end/core/common/ParsedURL.ts +1 -1
- package/front_end/core/host/UserMetrics.ts +2 -1
- package/front_end/core/i18n/i18nImpl.ts +7 -4
- package/front_end/core/i18n/locales/en-US.json +3 -72
- package/front_end/core/i18n/locales/en-XL.json +15 -84
- package/front_end/core/protocol_client/NodeURL.ts +1 -0
- package/front_end/core/sdk/CSSMetadata.ts +0 -1
- package/front_end/core/sdk/CSSStyleDeclaration.ts +4 -0
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +2 -3
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -3
- package/front_end/core/sdk/Cookie.ts +17 -0
- package/front_end/core/sdk/CookieModel.ts +1 -0
- package/front_end/core/sdk/DebuggerModel.ts +5 -4
- package/front_end/core/sdk/NetworkManager.ts +4 -1
- package/front_end/core/sdk/NetworkRequest.ts +2 -2
- package/front_end/core/sdk/OverlayModel.ts +0 -9
- package/front_end/core/sdk/Resource.ts +2 -2
- package/front_end/core/sdk/Script.ts +2 -3
- package/front_end/core/sdk/sdk-meta.ts +0 -26
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +0 -13
- package/front_end/entrypoints/main/MainImpl.ts +4 -0
- package/front_end/generated/protocol.d.ts +0 -4
- package/front_end/models/bindings/BreakpointManager.ts +3 -4
- package/front_end/models/bindings/ResourceMapping.ts +1 -2
- package/front_end/models/bindings/StylesSourceMapping.ts +1 -2
- package/front_end/models/emulation/EmulatedDevices.ts +2 -4
- package/front_end/models/persistence/IsolatedFileSystem.ts +7 -6
- package/front_end/models/persistence/PersistenceActions.ts +4 -1
- package/front_end/models/persistence/PlatformFileSystem.ts +3 -4
- package/front_end/models/text_utils/ContentProvider.ts +1 -2
- package/front_end/models/text_utils/StaticContentProvider.ts +2 -3
- package/front_end/models/workspace/UISourceCode.ts +2 -2
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +20 -6
- package/front_end/panels/animation/animationTimeline.css +2 -0
- package/front_end/panels/application/BackForwardCacheStrings.ts +15 -75
- package/front_end/panels/application/BackForwardCacheView.ts +8 -1
- package/front_end/panels/application/ReportingApiView.ts +15 -1
- package/front_end/panels/application/components/EndpointsGrid.ts +63 -4
- package/front_end/panels/application/components/FrameDetailsView.ts +21 -34
- package/front_end/panels/changes/ChangesView.ts +8 -7
- package/front_end/panels/console/ConsolePinPane.ts +1 -0
- package/front_end/panels/console/ConsolePrompt.ts +121 -171
- package/front_end/panels/console/ConsoleView.ts +1 -1
- package/front_end/panels/console/consoleView.css +1 -1
- package/front_end/panels/css_overview/cssOverviewCompletedView.css +2 -2
- package/front_end/panels/elements/AccessibilityTreeUtils.ts +2 -1
- package/front_end/panels/elements/ElementsTreeElement.ts +1 -0
- package/front_end/panels/elements/StyleEditorWidget.ts +13 -2
- package/front_end/panels/elements/StylePropertyHighlighter.ts +29 -19
- package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -12
- package/front_end/panels/elements/StylesSidebarPane.ts +36 -10
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +27 -3
- package/front_end/panels/emulation/DeviceModeView.ts +3 -0
- package/front_end/panels/help/ReleaseNoteText.ts +3 -1
- package/front_end/panels/network/NetworkDataGridNode.ts +5 -1
- package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +1 -1
- package/front_end/panels/sources/BreakpointEditDialog.ts +1 -0
- package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
- package/front_end/panels/sources/NavigatorView.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +0 -1
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +3 -34
- package/front_end/panels/timeline/TimelineUIUtils.ts +51 -3
- package/front_end/services/window_bounds/WindowBoundsService.ts +27 -0
- package/front_end/services/window_bounds/window_bounds.ts +9 -0
- package/front_end/third_party/acorn/README.chromium +2 -2
- package/front_end/third_party/acorn/acorn.ts +1 -1
- package/front_end/third_party/acorn/package/CHANGELOG.md +31 -1
- package/front_end/third_party/acorn/package/README.md +1 -1
- package/front_end/third_party/acorn/package/dist/acorn.d.ts +3 -0
- package/front_end/third_party/acorn/package/dist/acorn.js +772 -708
- package/front_end/third_party/acorn/package/dist/acorn.mjs +767 -703
- package/front_end/third_party/acorn/package/dist/bin.js +47 -21
- package/front_end/third_party/acorn/package/package.json +1 -1
- package/front_end/third_party/acorn-loose/README.chromium +2 -2
- package/front_end/third_party/acorn-loose/package/CHANGELOG.md +12 -0
- package/front_end/third_party/acorn-loose/package/dist/acorn-loose.js +27 -7
- package/front_end/third_party/acorn-loose/package/dist/acorn-loose.mjs +28 -8
- package/front_end/third_party/acorn-loose/package/package.json +2 -2
- package/front_end/third_party/codemirror.next/bundle.ts +4 -3
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.d.ts +39 -1
- package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
- package/front_end/third_party/codemirror.next/package.json +4 -4
- package/front_end/third_party/i18n/i18n-impl.ts +1 -1
- package/front_end/third_party/lit-html/README.chromium +2 -2
- package/front_end/third_party/lit-html/package/CHANGELOG.md +216 -28
- package/front_end/third_party/lit-html/package/LICENSE +9 -9
- package/front_end/third_party/lit-html/package/README.md +12 -162
- package/front_end/third_party/lit-html/package/async-directive.d.ts +23 -54
- package/front_end/third_party/lit-html/package/async-directive.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/async-directive.js +2 -7
- package/front_end/third_party/lit-html/package/async-directive.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/async-directive.d.ts +23 -54
- package/front_end/third_party/lit-html/package/development/async-directive.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/async-directive.js +44 -194
- package/front_end/third_party/lit-html/package/development/async-directive.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directive-helpers.d.ts +6 -5
- package/front_end/third_party/lit-html/package/development/directive-helpers.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directive-helpers.js +25 -9
- package/front_end/third_party/lit-html/package/development/directive-helpers.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directive.d.ts +3 -16
- package/front_end/third_party/lit-html/package/development/directive.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directive.js +6 -1
- package/front_end/third_party/lit-html/package/development/directive.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/async-append.d.ts +7 -14
- package/front_end/third_party/lit-html/package/development/directives/async-append.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/async-append.js +17 -58
- package/front_end/third_party/lit-html/package/development/directives/async-append.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/async-replace.d.ts +9 -14
- package/front_end/third_party/lit-html/package/development/directives/async-replace.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/async-replace.js +57 -37
- package/front_end/third_party/lit-html/package/development/directives/async-replace.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/cache.d.ts +2 -3
- package/front_end/third_party/lit-html/package/development/directives/cache.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/cache.js +4 -6
- package/front_end/third_party/lit-html/package/development/directives/cache.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/class-map.d.ts +2 -2
- package/front_end/third_party/lit-html/package/development/directives/class-map.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/class-map.js +17 -7
- package/front_end/third_party/lit-html/package/development/directives/class-map.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/guard.d.ts +3 -2
- package/front_end/third_party/lit-html/package/development/directives/guard.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/guard.js +3 -2
- package/front_end/third_party/lit-html/package/development/directives/guard.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/live.d.ts +4 -3
- package/front_end/third_party/lit-html/package/development/directives/live.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/live.js +5 -7
- package/front_end/third_party/lit-html/package/development/directives/live.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.d.ts +58 -0
- package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.d.ts.map +1 -0
- package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.js +85 -0
- package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.js.map +1 -0
- package/front_end/third_party/lit-html/package/development/directives/ref.d.ts +14 -11
- package/front_end/third_party/lit-html/package/development/directives/ref.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/ref.js +13 -11
- package/front_end/third_party/lit-html/package/development/directives/ref.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/repeat.d.ts +8 -4
- package/front_end/third_party/lit-html/package/development/directives/repeat.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/repeat.js +23 -9
- package/front_end/third_party/lit-html/package/development/directives/repeat.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/style-map.d.ts +1 -2
- package/front_end/third_party/lit-html/package/development/directives/style-map.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/style-map.js +1 -2
- package/front_end/third_party/lit-html/package/development/directives/style-map.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/template-content.d.ts +1 -2
- package/front_end/third_party/lit-html/package/development/directives/template-content.js +1 -2
- package/front_end/third_party/lit-html/package/development/directives/unsafe-html.d.ts +6 -4
- package/front_end/third_party/lit-html/package/development/directives/unsafe-html.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/unsafe-html.js +7 -5
- package/front_end/third_party/lit-html/package/development/directives/unsafe-html.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.d.ts +4 -1
- package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.js +3 -0
- package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/until.d.ts +12 -8
- package/front_end/third_party/lit-html/package/development/directives/until.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/directives/until.js +63 -23
- package/front_end/third_party/lit-html/package/development/directives/until.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/experimental-hydrate.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/experimental-hydrate.js +9 -8
- package/front_end/third_party/lit-html/package/development/experimental-hydrate.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/lit-html.d.ts +81 -136
- package/front_end/third_party/lit-html/package/development/lit-html.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/lit-html.js +249 -76
- package/front_end/third_party/lit-html/package/development/lit-html.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/polyfill-support.d.ts +1 -41
- package/front_end/third_party/lit-html/package/development/polyfill-support.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/polyfill-support.js +40 -21
- package/front_end/third_party/lit-html/package/development/polyfill-support.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/private-ssr-support.d.ts +12 -10
- package/front_end/third_party/lit-html/package/development/private-ssr-support.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/private-ssr-support.js +11 -3
- package/front_end/third_party/lit-html/package/development/private-ssr-support.js.map +1 -1
- package/front_end/third_party/lit-html/package/development/static.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/development/static.js +6 -5
- package/front_end/third_party/lit-html/package/development/static.js.map +1 -1
- package/front_end/third_party/lit-html/package/directive-helpers.d.ts +6 -5
- package/front_end/third_party/lit-html/package/directive-helpers.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directive-helpers.js +2 -2
- package/front_end/third_party/lit-html/package/directive-helpers.js.map +1 -1
- package/front_end/third_party/lit-html/package/directive.d.ts +3 -16
- package/front_end/third_party/lit-html/package/directive.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directive.js +1 -1
- package/front_end/third_party/lit-html/package/directive.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/async-append.d.ts +7 -14
- package/front_end/third_party/lit-html/package/directives/async-append.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/async-append.js +2 -6
- package/front_end/third_party/lit-html/package/directives/async-append.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/async-replace.d.ts +9 -14
- package/front_end/third_party/lit-html/package/directives/async-replace.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/async-replace.js +2 -5
- package/front_end/third_party/lit-html/package/directives/async-replace.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/cache.d.ts +2 -3
- package/front_end/third_party/lit-html/package/directives/cache.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/cache.js +2 -5
- package/front_end/third_party/lit-html/package/directives/cache.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/class-map.d.ts +2 -2
- package/front_end/third_party/lit-html/package/directives/class-map.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/class-map.js +2 -4
- package/front_end/third_party/lit-html/package/directives/class-map.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/guard.d.ts +3 -2
- package/front_end/third_party/lit-html/package/directives/guard.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/guard.js +2 -4
- package/front_end/third_party/lit-html/package/directives/guard.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/live.d.ts +4 -3
- package/front_end/third_party/lit-html/package/directives/live.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/live.js +1 -4
- package/front_end/third_party/lit-html/package/directives/live.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/private-async-helpers.d.ts +58 -0
- package/front_end/third_party/lit-html/package/directives/private-async-helpers.d.ts.map +1 -0
- package/front_end/third_party/lit-html/package/directives/private-async-helpers.js +7 -0
- package/front_end/third_party/lit-html/package/directives/private-async-helpers.js.map +1 -0
- package/front_end/third_party/lit-html/package/directives/ref.d.ts +14 -11
- package/front_end/third_party/lit-html/package/directives/ref.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/ref.js +2 -5
- package/front_end/third_party/lit-html/package/directives/ref.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/repeat.d.ts +8 -4
- package/front_end/third_party/lit-html/package/directives/repeat.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/repeat.js +2 -5
- package/front_end/third_party/lit-html/package/directives/repeat.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/style-map.d.ts +1 -2
- package/front_end/third_party/lit-html/package/directives/style-map.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/style-map.js +2 -4
- package/front_end/third_party/lit-html/package/directives/style-map.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/template-content.d.ts +1 -2
- package/front_end/third_party/lit-html/package/directives/template-content.js +2 -4
- package/front_end/third_party/lit-html/package/directives/template-content.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/unsafe-html.d.ts +6 -4
- package/front_end/third_party/lit-html/package/directives/unsafe-html.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/unsafe-html.js +2 -4
- package/front_end/third_party/lit-html/package/directives/unsafe-html.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/unsafe-svg.d.ts +4 -1
- package/front_end/third_party/lit-html/package/directives/unsafe-svg.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/unsafe-svg.js.map +1 -1
- package/front_end/third_party/lit-html/package/directives/until.d.ts +12 -8
- package/front_end/third_party/lit-html/package/directives/until.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/directives/until.js +2 -6
- package/front_end/third_party/lit-html/package/directives/until.js.map +1 -1
- package/front_end/third_party/lit-html/package/experimental-hydrate.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/experimental-hydrate.js +2 -5
- package/front_end/third_party/lit-html/package/experimental-hydrate.js.map +1 -1
- package/front_end/third_party/lit-html/package/lit-html.d.ts +81 -136
- package/front_end/third_party/lit-html/package/lit-html.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/lit-html.js +1 -1
- package/front_end/third_party/lit-html/package/lit-html.js.map +1 -1
- package/front_end/third_party/lit-html/package/package.json +75 -24
- package/front_end/third_party/lit-html/package/polyfill-support.d.ts +1 -41
- package/front_end/third_party/lit-html/package/polyfill-support.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/polyfill-support.js +1 -1
- package/front_end/third_party/lit-html/package/polyfill-support.js.map +1 -1
- package/front_end/third_party/lit-html/package/private-ssr-support.d.ts +12 -10
- package/front_end/third_party/lit-html/package/private-ssr-support.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/private-ssr-support.js +2 -2
- package/front_end/third_party/lit-html/package/private-ssr-support.js.map +1 -1
- package/front_end/third_party/lit-html/package/static.d.ts.map +1 -1
- package/front_end/third_party/lit-html/package/static.js +1 -1
- package/front_end/third_party/lit-html/package/static.js.map +1 -1
- package/front_end/third_party/marked/README.chromium +2 -2
- package/front_end/third_party/marked/marked.ts +2 -2
- package/front_end/third_party/marked/package/README.md +7 -1
- package/front_end/third_party/marked/package/bin/marked.js +214 -0
- package/front_end/third_party/marked/package/lib/marked.cjs +2907 -0
- package/front_end/third_party/marked/package/lib/marked.esm.d.ts +1 -3
- package/front_end/third_party/marked/package/lib/marked.esm.js +627 -586
- package/front_end/third_party/marked/package/lib/marked.umd.js +2913 -0
- package/front_end/third_party/marked/package/man/marked.1 +5 -24
- package/front_end/third_party/marked/package/man/marked.1.txt +21 -31
- package/front_end/third_party/marked/package/marked.min.js +1 -1
- package/front_end/third_party/marked/package/package.json +41 -32
- package/front_end/third_party/marked/package/src/Lexer.js +109 -108
- package/front_end/third_party/marked/package/src/Parser.js +38 -15
- package/front_end/third_party/marked/package/src/Renderer.js +5 -5
- package/front_end/third_party/marked/package/src/Slugger.js +2 -2
- package/front_end/third_party/marked/package/src/TextRenderer.js +2 -2
- package/front_end/third_party/marked/package/src/Tokenizer.js +215 -190
- package/front_end/third_party/marked/package/src/defaults.js +6 -9
- package/front_end/third_party/marked/package/src/helpers.js +16 -27
- package/front_end/third_party/marked/package/src/marked.js +146 -63
- package/front_end/third_party/marked/package/src/rules.js +20 -45
- package/front_end/third_party/wasmparser/README.chromium +2 -2
- package/front_end/third_party/wasmparser/package/.github/workflows/main.yml +47 -0
- package/front_end/third_party/wasmparser/package/CHANGELOG.md +12 -0
- package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js +53 -53
- package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js.map +1 -1
- package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js +53 -53
- 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/WasmParser.ts +53 -53
- package/front_end/ui/components/adorners/Adorner.ts +14 -14
- package/front_end/ui/components/buttons/Button.ts +116 -42
- package/front_end/ui/components/data_grid/DataGrid.ts +122 -122
- package/front_end/ui/components/data_grid/DataGridController.ts +42 -42
- package/front_end/ui/components/diff_view/DiffView.ts +4 -4
- package/front_end/ui/components/docs/button/basic.html +3 -0
- package/front_end/ui/components/docs/button/basic.ts +16 -0
- package/front_end/ui/components/expandable_list/ExpandableList.ts +11 -11
- package/front_end/ui/components/icon_button/Icon.ts +24 -21
- package/front_end/ui/components/icon_button/IconButton.ts +31 -31
- package/front_end/ui/components/issue_counter/IssueCounter.ts +52 -52
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +42 -42
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspector.ts +67 -67
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +22 -22
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +36 -36
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryNavigator.ts +19 -19
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryValueInterpreter.ts +25 -25
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryViewer.ts +52 -52
- package/front_end/ui/components/linear_memory_inspector/ValueInterpreterDisplay.ts +21 -21
- package/front_end/ui/components/linear_memory_inspector/ValueInterpreterSettings.ts +6 -6
- package/front_end/ui/components/markdown_view/MarkdownImage.ts +14 -14
- package/front_end/ui/components/markdown_view/MarkdownLink.ts +8 -8
- package/front_end/ui/components/markdown_view/MarkdownView.ts +6 -6
- package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +33 -33
- package/front_end/ui/components/report_view/ReportView.ts +18 -18
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +53 -53
- package/front_end/ui/components/settings/SettingCheckbox.ts +15 -15
- package/front_end/ui/components/survey_link/SurveyLink.ts +28 -28
- package/front_end/ui/components/text_editor/TextEditor.ts +65 -36
- package/front_end/ui/components/text_editor/config.ts +36 -14
- package/front_end/ui/components/text_editor/javascript.ts +20 -15
- package/front_end/ui/components/text_editor/theme.ts +29 -4
- package/front_end/ui/components/text_prompt/TextPrompt.ts +19 -19
- package/front_end/ui/components/tree_outline/TreeOutline.ts +56 -56
- package/front_end/ui/legacy/Infobar.ts +9 -0
- package/front_end/ui/legacy/InspectorView.ts +1 -1
- package/front_end/ui/legacy/ViewManager.ts +6 -0
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +20 -0
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +1 -0
- package/front_end/ui/legacy/components/utils/Linkifier.ts +49 -79
- package/front_end/ui/legacy/tabbedPane.css +1 -1
- package/front_end/ui/legacy/themeColors.css +2 -0
- package/inspector_overlay/main.ts +3 -0
- package/package.json +1 -1
|
@@ -832,6 +832,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
|
832
832
|
this.idleCallbackManager = new IdleCallbackManager();
|
|
833
833
|
|
|
834
834
|
const blocks = [new SectionBlock(null)];
|
|
835
|
+
let sectionIdx = 0;
|
|
835
836
|
let lastParentNode: SDK.DOMModel.DOMNode|null = null;
|
|
836
837
|
for (const style of matchedStyles.nodeStyles()) {
|
|
837
838
|
const parentNode = matchedStyles.isInherited(style) ? matchedStyles.nodeForStyle(style) : null;
|
|
@@ -844,7 +845,8 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
|
844
845
|
const lastBlock = blocks[blocks.length - 1];
|
|
845
846
|
if (lastBlock) {
|
|
846
847
|
this.idleCallbackManager.schedule(() => {
|
|
847
|
-
const section = new StylePropertiesSection(this, matchedStyles, style);
|
|
848
|
+
const section = new StylePropertiesSection(this, matchedStyles, style, sectionIdx);
|
|
849
|
+
sectionIdx++;
|
|
848
850
|
lastBlock.sections.push(section);
|
|
849
851
|
});
|
|
850
852
|
}
|
|
@@ -860,7 +862,8 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
|
860
862
|
const block = SectionBlock.createPseudoTypeBlock(pseudoType);
|
|
861
863
|
for (const style of matchedStyles.pseudoStyles(pseudoType)) {
|
|
862
864
|
this.idleCallbackManager.schedule(() => {
|
|
863
|
-
const section = new StylePropertiesSection(this, matchedStyles, style);
|
|
865
|
+
const section = new StylePropertiesSection(this, matchedStyles, style, sectionIdx);
|
|
866
|
+
sectionIdx++;
|
|
864
867
|
block.sections.push(section);
|
|
865
868
|
});
|
|
866
869
|
}
|
|
@@ -871,7 +874,8 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
|
871
874
|
const block = SectionBlock.createKeyframesBlock(keyframesRule.name().text);
|
|
872
875
|
for (const keyframe of keyframesRule.keyframes()) {
|
|
873
876
|
this.idleCallbackManager.schedule(() => {
|
|
874
|
-
block.sections.push(new KeyframePropertiesSection(this, matchedStyles, keyframe.style));
|
|
877
|
+
block.sections.push(new KeyframePropertiesSection(this, matchedStyles, keyframe.style, sectionIdx));
|
|
878
|
+
sectionIdx++;
|
|
875
879
|
});
|
|
876
880
|
}
|
|
877
881
|
blocks.push(block);
|
|
@@ -917,7 +921,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
|
917
921
|
const node = this.node();
|
|
918
922
|
const blankSection = new BlankStylePropertiesSection(
|
|
919
923
|
this, insertAfterSection.matchedStyles, node ? node.simpleSelector() : '', styleSheetId, ruleLocation,
|
|
920
|
-
insertAfterSection.style());
|
|
924
|
+
insertAfterSection.style(), 0);
|
|
921
925
|
|
|
922
926
|
this.sectionsContainer.insertBefore(blankSection.element, insertAfterSection.element.nextSibling);
|
|
923
927
|
|
|
@@ -929,6 +933,13 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
|
929
933
|
block.sections.splice(index + 1, 0, blankSection);
|
|
930
934
|
blankSection.startEditingSelector();
|
|
931
935
|
}
|
|
936
|
+
let sectionIdx = 0;
|
|
937
|
+
for (const block of this.sectionBlocks) {
|
|
938
|
+
for (const section of block.sections) {
|
|
939
|
+
section.setSectionIdx(sectionIdx);
|
|
940
|
+
sectionIdx++;
|
|
941
|
+
}
|
|
942
|
+
}
|
|
932
943
|
}
|
|
933
944
|
|
|
934
945
|
removeSection(section: StylePropertiesSection): void {
|
|
@@ -1208,10 +1219,15 @@ export class StylePropertiesSection {
|
|
|
1208
1219
|
|
|
1209
1220
|
private queryListElement: HTMLElement;
|
|
1210
1221
|
|
|
1222
|
+
// Used to identify buttons that trigger a flexbox or grid editor.
|
|
1223
|
+
nextEditorTriggerButtonIdx = 1;
|
|
1224
|
+
private sectionIdx = 0;
|
|
1225
|
+
|
|
1211
1226
|
constructor(
|
|
1212
1227
|
parentPane: StylesSidebarPane, matchedStyles: SDK.CSSMatchedStyles.CSSMatchedStyles,
|
|
1213
|
-
style: SDK.CSSStyleDeclaration.CSSStyleDeclaration) {
|
|
1228
|
+
style: SDK.CSSStyleDeclaration.CSSStyleDeclaration, sectionIdx: number) {
|
|
1214
1229
|
this.parentPane = parentPane;
|
|
1230
|
+
this.sectionIdx = sectionIdx;
|
|
1215
1231
|
this.styleInternal = style;
|
|
1216
1232
|
this.matchedStyles = matchedStyles;
|
|
1217
1233
|
this.editable = Boolean(style.styleSheetId && style.range);
|
|
@@ -1344,6 +1360,15 @@ export class StylePropertiesSection {
|
|
|
1344
1360
|
this.onpopulate();
|
|
1345
1361
|
}
|
|
1346
1362
|
|
|
1363
|
+
setSectionIdx(sectionIdx: number): void {
|
|
1364
|
+
this.sectionIdx = sectionIdx;
|
|
1365
|
+
this.onpopulate();
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
getSectionIdx(): number {
|
|
1369
|
+
return this.sectionIdx;
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1347
1372
|
registerFontProperty(treeElement: StylePropertyTreeElement): void {
|
|
1348
1373
|
if (this.fontEditorSectionManager) {
|
|
1349
1374
|
this.fontEditorSectionManager.registerFontProperty(treeElement);
|
|
@@ -1922,7 +1947,7 @@ export class StylePropertiesSection {
|
|
|
1922
1947
|
}
|
|
1923
1948
|
}
|
|
1924
1949
|
|
|
1925
|
-
|
|
1950
|
+
showAllItems(event?: Event): void {
|
|
1926
1951
|
if (event) {
|
|
1927
1952
|
event.consume();
|
|
1928
1953
|
}
|
|
@@ -1935,6 +1960,7 @@ export class StylePropertiesSection {
|
|
|
1935
1960
|
|
|
1936
1961
|
onpopulate(): void {
|
|
1937
1962
|
this.parentPane.setActiveProperty(null);
|
|
1963
|
+
this.nextEditorTriggerButtonIdx = 1;
|
|
1938
1964
|
this.propertiesTreeOutline.removeChildren();
|
|
1939
1965
|
const style = this.styleInternal;
|
|
1940
1966
|
let count = 0;
|
|
@@ -2457,10 +2483,10 @@ export class BlankStylePropertiesSection extends StylePropertiesSection {
|
|
|
2457
2483
|
constructor(
|
|
2458
2484
|
stylesPane: StylesSidebarPane, matchedStyles: SDK.CSSMatchedStyles.CSSMatchedStyles, defaultSelectorText: string,
|
|
2459
2485
|
styleSheetId: Protocol.CSS.StyleSheetId, ruleLocation: TextUtils.TextRange.TextRange,
|
|
2460
|
-
insertAfterStyle: SDK.CSSStyleDeclaration.CSSStyleDeclaration) {
|
|
2486
|
+
insertAfterStyle: SDK.CSSStyleDeclaration.CSSStyleDeclaration, sectionIdx: number) {
|
|
2461
2487
|
const cssModel = (stylesPane.cssModel() as SDK.CSSModel.CSSModel);
|
|
2462
2488
|
const rule = SDK.CSSRule.CSSStyleRule.createDummyRule(cssModel, defaultSelectorText);
|
|
2463
|
-
super(stylesPane, matchedStyles, rule.style);
|
|
2489
|
+
super(stylesPane, matchedStyles, rule.style, sectionIdx);
|
|
2464
2490
|
this.normal = false;
|
|
2465
2491
|
this.ruleLocation = ruleLocation;
|
|
2466
2492
|
this.styleSheetId = styleSheetId;
|
|
@@ -2564,8 +2590,8 @@ export class BlankStylePropertiesSection extends StylePropertiesSection {
|
|
|
2564
2590
|
export class KeyframePropertiesSection extends StylePropertiesSection {
|
|
2565
2591
|
constructor(
|
|
2566
2592
|
stylesPane: StylesSidebarPane, matchedStyles: SDK.CSSMatchedStyles.CSSMatchedStyles,
|
|
2567
|
-
style: SDK.CSSStyleDeclaration.CSSStyleDeclaration) {
|
|
2568
|
-
super(stylesPane, matchedStyles, style);
|
|
2593
|
+
style: SDK.CSSStyleDeclaration.CSSStyleDeclaration, sectionIdx: number) {
|
|
2594
|
+
super(stylesPane, matchedStyles, style, sectionIdx);
|
|
2569
2595
|
this.selectorElement.className = 'keyframe-key';
|
|
2570
2596
|
}
|
|
2571
2597
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
6
6
|
import * as Platform from '../../../core/platform/platform.js';
|
|
7
|
+
import * as Protocol from '../../../generated/protocol.js';
|
|
7
8
|
|
|
8
9
|
import * as ComponentHelpers from '../../../ui/components/helpers/helpers.js';
|
|
9
10
|
import * as Coordinator from '../../../ui/components/render_coordinator/render_coordinator.js';
|
|
@@ -31,10 +32,23 @@ function truncateTextIfNeeded(text: string): string {
|
|
|
31
32
|
return text;
|
|
32
33
|
}
|
|
33
34
|
|
|
35
|
+
function isPrintable(valueType: Protocol.Accessibility.AXValueType): boolean {
|
|
36
|
+
switch (valueType) {
|
|
37
|
+
case Protocol.Accessibility.AXValueType.Boolean:
|
|
38
|
+
case Protocol.Accessibility.AXValueType.BooleanOrUndefined:
|
|
39
|
+
case Protocol.Accessibility.AXValueType.String:
|
|
40
|
+
case Protocol.Accessibility.AXValueType.Number:
|
|
41
|
+
return true;
|
|
42
|
+
default:
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
34
47
|
export interface AccessibilityTreeNodeData {
|
|
35
48
|
ignored: boolean;
|
|
36
49
|
name: string;
|
|
37
50
|
role: string;
|
|
51
|
+
properties: Protocol.Accessibility.AXProperty[];
|
|
38
52
|
}
|
|
39
53
|
|
|
40
54
|
export class AccessibilityTreeNode extends HTMLElement {
|
|
@@ -44,11 +58,13 @@ export class AccessibilityTreeNode extends HTMLElement {
|
|
|
44
58
|
private ignored = true;
|
|
45
59
|
private name = '';
|
|
46
60
|
private role = '';
|
|
61
|
+
private properties: Protocol.Accessibility.AXProperty[] = [];
|
|
47
62
|
|
|
48
63
|
set data(data: AccessibilityTreeNodeData) {
|
|
49
64
|
this.ignored = data.ignored;
|
|
50
65
|
this.name = data.name;
|
|
51
66
|
this.role = data.role;
|
|
67
|
+
this.properties = data.properties;
|
|
52
68
|
this.render();
|
|
53
69
|
}
|
|
54
70
|
|
|
@@ -57,12 +73,20 @@ export class AccessibilityTreeNode extends HTMLElement {
|
|
|
57
73
|
}
|
|
58
74
|
|
|
59
75
|
private async render(): Promise<void> {
|
|
76
|
+
const role = LitHtml.html`<span class='role-value'>${truncateTextIfNeeded(this.role)}</span>`;
|
|
77
|
+
const name = LitHtml.html`"<span class='attribute-value'>${this.name}</span>"`;
|
|
78
|
+
const properties = this.properties.map(
|
|
79
|
+
({name, value}) => isPrintable(value.type) ?
|
|
80
|
+
LitHtml.html` <span class='attribute-name'>${name}</span>: <span class='attribute-value'>${
|
|
81
|
+
value.value}</span>` :
|
|
82
|
+
LitHtml.nothing);
|
|
83
|
+
|
|
60
84
|
await Coordinator.RenderCoordinator.RenderCoordinator.instance().write('Accessibility node render', () => {
|
|
61
85
|
// clang-format off
|
|
62
86
|
LitHtml.render(
|
|
63
|
-
|
|
64
|
-
LitHtml.html`<span>${i18nString(UIStrings.ignored)}</span
|
|
65
|
-
LitHtml.html
|
|
87
|
+
this.ignored ?
|
|
88
|
+
LitHtml.html`<span>${i18nString(UIStrings.ignored)}</span>` :
|
|
89
|
+
LitHtml.html`${role} ${name}${properties}`,
|
|
66
90
|
this.shadow,
|
|
67
91
|
{host: this});
|
|
68
92
|
// clang-format on
|
|
@@ -547,6 +547,9 @@ export class DeviceModeView extends UI.Widget.VBox {
|
|
|
547
547
|
const link = document.createElement('a');
|
|
548
548
|
link.download = fileName + '.png';
|
|
549
549
|
canvas.toBlob(blob => {
|
|
550
|
+
if (blob === null) {
|
|
551
|
+
return;
|
|
552
|
+
}
|
|
550
553
|
link.href = URL.createObjectURL(blob);
|
|
551
554
|
link.click();
|
|
552
555
|
});
|
|
@@ -21,7 +21,9 @@ function getReleaseNoteLang(): string {
|
|
|
21
21
|
// @ts-ignore TODO(crbug.com/1163928) Wait for Intl support.
|
|
22
22
|
const currentDevToolsLocale = new Intl.Locale(currentDevToolsUILanguage);
|
|
23
23
|
|
|
24
|
-
return releaseNoteLangs.has(currentDevToolsLocale.language) ?
|
|
24
|
+
return currentDevToolsLocale.language && releaseNoteLangs.has(currentDevToolsLocale.language) ?
|
|
25
|
+
currentDevToolsLocale.language :
|
|
26
|
+
'';
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
function getLocalizedReleaseNoteURL(url: string): string {
|
|
@@ -246,6 +246,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
246
246
|
// TODO(crbug.com/1167717): Make this a const enum again
|
|
247
247
|
// eslint-disable-next-line rulesdir/const_enum
|
|
248
248
|
export enum Events {
|
|
249
|
+
// RequestSelected might fire twice for the same "activation"
|
|
249
250
|
RequestSelected = 'RequestSelected',
|
|
250
251
|
RequestActivated = 'RequestActivated',
|
|
251
252
|
}
|
|
@@ -1007,7 +1008,10 @@ export class NetworkRequestNode extends NetworkNode {
|
|
|
1007
1008
|
cell.style.setProperty('padding-left', leftPadding);
|
|
1008
1009
|
this.nameCell = cell;
|
|
1009
1010
|
cell.addEventListener('dblclick', this.openInNewTab.bind(this), false);
|
|
1010
|
-
cell.addEventListener('
|
|
1011
|
+
cell.addEventListener('mousedown', () => {
|
|
1012
|
+
// When the request panel isn't visible yet, firing the RequestActivated event
|
|
1013
|
+
// doesn't make it visible if no request is selected. So we'll select it first.
|
|
1014
|
+
this.select();
|
|
1011
1015
|
this.parentView().dispatchEventToListeners(Events.RequestActivated, {showPanel: true});
|
|
1012
1016
|
});
|
|
1013
1017
|
let iconElement;
|
|
@@ -41,7 +41,7 @@ export class SnippetFileSystem extends Persistence.PlatformFileSystem.PlatformFi
|
|
|
41
41
|
private readonly snippetsSetting: Common.Settings.Setting<Snippet[]>;
|
|
42
42
|
constructor() {
|
|
43
43
|
// TODO(crbug.com/1253323): Cast to UrlString will be removed when migration to branded types is complete.
|
|
44
|
-
super('snippet://'
|
|
44
|
+
super('snippet://', 'snippets');
|
|
45
45
|
this.lastSnippetIdentifierSetting =
|
|
46
46
|
Common.Settings.Settings.instance().createSetting('scriptSnippets_lastIdentifier', 0);
|
|
47
47
|
this.snippetsSetting = Common.Settings.Settings.instance().createSetting('scriptSnippets', []);
|
|
@@ -71,6 +71,7 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
|
|
|
71
71
|
const editorConfig = [
|
|
72
72
|
CodeMirror.javascript.javascriptLanguage,
|
|
73
73
|
TextEditor.Config.baseConfiguration(oldCondition || ''),
|
|
74
|
+
TextEditor.Config.closeBrackets,
|
|
74
75
|
TextEditor.Config.autocompletion,
|
|
75
76
|
CodeMirror.EditorView.lineWrapping,
|
|
76
77
|
TextEditor.Config.showCompletionHint,
|
|
@@ -702,8 +702,8 @@ export class DebuggerPlugin extends Plugin {
|
|
|
702
702
|
if (this.popoverHelper.isPopoverVisible()) {
|
|
703
703
|
this.popoverHelper.hidePopover();
|
|
704
704
|
event.consume();
|
|
705
|
+
return true;
|
|
705
706
|
}
|
|
706
|
-
return true;
|
|
707
707
|
}
|
|
708
708
|
if (ctrlDown && this.executionLocation) {
|
|
709
709
|
this.setControlDown(true);
|
|
@@ -851,7 +851,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
|
|
|
851
851
|
// TODO(crbug.com/1253323): Cast to RawPathString will be removed when migration to branded types is complete.
|
|
852
852
|
const folderPath = Common.ParsedURL.ParsedURL.capFilePrefix(
|
|
853
853
|
Persistence.FileSystemWorkspaceBinding.FileSystemWorkspaceBinding.completeURL(project, path) as
|
|
854
|
-
Platform.DevToolsPath.
|
|
854
|
+
Platform.DevToolsPath.UrlString,
|
|
855
855
|
Host.Platform.isWin());
|
|
856
856
|
contextMenu.revealSection().appendItem(
|
|
857
857
|
i18nString(UIStrings.openFolder),
|
|
@@ -380,7 +380,6 @@ export class UISourceCodeFrame extends
|
|
|
380
380
|
const location = this.editorLocationToUILocation(lineNumber, columnNumber);
|
|
381
381
|
contextMenu.appendApplicableItems(
|
|
382
382
|
new Workspace.UISourceCode.UILocation(this.uiSourceCodeInternal, location.lineNumber, location.columnNumber));
|
|
383
|
-
contextMenu.appendApplicableItems(this);
|
|
384
383
|
for (const plugin of this.plugins) {
|
|
385
384
|
plugin.populateTextAreaContextMenu(contextMenu, lineNumber, columnNumber);
|
|
386
385
|
}
|
|
@@ -46,7 +46,7 @@ import type {PerformanceModel} from './PerformanceModel.js';
|
|
|
46
46
|
import {FlameChartStyle, Selection, TimelineFlameChartMarker} from './TimelineFlameChartView.js';
|
|
47
47
|
import {TimelineSelection} from './TimelinePanel.js';
|
|
48
48
|
import type {TimelineCategory} from './TimelineUIUtils.js';
|
|
49
|
-
import {TimelineUIUtils} from './TimelineUIUtils.js';
|
|
49
|
+
import {TimelineUIUtils, assignLayoutShiftsToClusters} from './TimelineUIUtils.js';
|
|
50
50
|
|
|
51
51
|
const UIStrings = {
|
|
52
52
|
/**
|
|
@@ -768,7 +768,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
|
|
|
768
768
|
|
|
769
769
|
const metricEvents: SDK.TracingModel.Event[] = [];
|
|
770
770
|
const lcpEvents = [];
|
|
771
|
-
const layoutShifts = [];
|
|
771
|
+
const layoutShifts: SDK.TracingModel.Event[] = [];
|
|
772
772
|
const timelineModel = this.performanceModel.timelineModel();
|
|
773
773
|
for (const track of this.model.tracks()) {
|
|
774
774
|
for (const event of track.events) {
|
|
@@ -807,38 +807,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
|
|
|
807
807
|
}
|
|
808
808
|
|
|
809
809
|
if (layoutShifts.length) {
|
|
810
|
-
|
|
811
|
-
const limitTimeInMs = 5000;
|
|
812
|
-
let firstTimestamp = Number.NEGATIVE_INFINITY;
|
|
813
|
-
let previousTimestamp = Number.NEGATIVE_INFINITY;
|
|
814
|
-
let maxScore = 0;
|
|
815
|
-
let currentClusterId = 1;
|
|
816
|
-
let currentClusterScore = 0;
|
|
817
|
-
let currentCluster = new Set<SDK.TracingModel.Event>();
|
|
818
|
-
|
|
819
|
-
for (const e of layoutShifts) {
|
|
820
|
-
if (e.args['data']['had_recent_input'] || e.args['data']['weighted_score_delta'] === undefined) {
|
|
821
|
-
continue;
|
|
822
|
-
}
|
|
823
|
-
|
|
824
|
-
if (e.startTime - firstTimestamp > limitTimeInMs || e.startTime - previousTimestamp > gapTimeInMs) {
|
|
825
|
-
firstTimestamp = e.startTime;
|
|
826
|
-
|
|
827
|
-
for (const layoutShift of currentCluster) {
|
|
828
|
-
layoutShift.args['data']['_current_cluster_score'] = currentClusterScore;
|
|
829
|
-
layoutShift.args['data']['_current_cluster_id'] = currentClusterId;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
currentClusterId += 1;
|
|
833
|
-
currentClusterScore = 0;
|
|
834
|
-
currentCluster = new Set();
|
|
835
|
-
}
|
|
836
|
-
|
|
837
|
-
previousTimestamp = e.startTime;
|
|
838
|
-
currentClusterScore += e.args['data']['weighted_score_delta'];
|
|
839
|
-
currentCluster.add(e);
|
|
840
|
-
maxScore = Math.max(maxScore, currentClusterScore);
|
|
841
|
-
}
|
|
810
|
+
assignLayoutShiftsToClusters(layoutShifts);
|
|
842
811
|
}
|
|
843
812
|
|
|
844
813
|
metricEvents.sort(SDK.TracingModel.Event.compareStartTime);
|
|
@@ -2421,9 +2421,13 @@ export class TimelineUIUtils {
|
|
|
2421
2421
|
contentHelper.appendTextRow(i18nString(UIStrings.score), eventData['score'].toPrecision(4));
|
|
2422
2422
|
contentHelper.appendTextRow(
|
|
2423
2423
|
i18nString(UIStrings.cumulativeScore), eventData['cumulative_score'].toPrecision(4));
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2424
|
+
if ('_current_cluster_id' in eventData) {
|
|
2425
|
+
contentHelper.appendTextRow(i18nString(UIStrings.currentClusterId), eventData['_current_cluster_id']);
|
|
2426
|
+
}
|
|
2427
|
+
if ('_current_cluster_score' in eventData) {
|
|
2428
|
+
contentHelper.appendTextRow(
|
|
2429
|
+
i18nString(UIStrings.currentClusterScore), eventData['_current_cluster_score'].toPrecision(4));
|
|
2430
|
+
}
|
|
2427
2431
|
contentHelper.appendTextRow(
|
|
2428
2432
|
i18nString(UIStrings.hadRecentInput),
|
|
2429
2433
|
eventData['had_recent_input'] ? i18nString(UIStrings.yes) : i18nString(UIStrings.no));
|
|
@@ -3783,3 +3787,47 @@ export interface TimelineMarkerStyle {
|
|
|
3783
3787
|
tall: boolean;
|
|
3784
3788
|
lowPriority: boolean;
|
|
3785
3789
|
}
|
|
3790
|
+
|
|
3791
|
+
export function assignLayoutShiftsToClusters(layoutShifts: readonly SDK.TracingModel.Event[]): void {
|
|
3792
|
+
const gapTimeInMs = 1000;
|
|
3793
|
+
const limitTimeInMs = 5000;
|
|
3794
|
+
let firstTimestamp = Number.NEGATIVE_INFINITY;
|
|
3795
|
+
let previousTimestamp = Number.NEGATIVE_INFINITY;
|
|
3796
|
+
let currentClusterId = 0;
|
|
3797
|
+
let currentClusterScore = 0;
|
|
3798
|
+
let currentCluster = new Set<SDK.TracingModel.Event>();
|
|
3799
|
+
|
|
3800
|
+
for (const event of layoutShifts) {
|
|
3801
|
+
if (event.args['data']['had_recent_input'] || event.args['data']['weighted_score_delta'] === undefined) {
|
|
3802
|
+
continue;
|
|
3803
|
+
}
|
|
3804
|
+
|
|
3805
|
+
if (event.startTime - firstTimestamp > limitTimeInMs || event.startTime - previousTimestamp > gapTimeInMs) {
|
|
3806
|
+
// This means the event does not fit into the current session/cluster, so we need to start a new cluster.
|
|
3807
|
+
firstTimestamp = event.startTime;
|
|
3808
|
+
|
|
3809
|
+
// Update all the layout shifts we found in this cluster to associate them with the cluster.
|
|
3810
|
+
for (const layoutShift of currentCluster) {
|
|
3811
|
+
layoutShift.args['data']['_current_cluster_score'] = currentClusterScore;
|
|
3812
|
+
layoutShift.args['data']['_current_cluster_id'] = currentClusterId;
|
|
3813
|
+
}
|
|
3814
|
+
|
|
3815
|
+
// Increment the cluster ID and reset the data.
|
|
3816
|
+
currentClusterId += 1;
|
|
3817
|
+
currentClusterScore = 0;
|
|
3818
|
+
currentCluster = new Set();
|
|
3819
|
+
}
|
|
3820
|
+
|
|
3821
|
+
// Store the timestamp of the previous layout shift.
|
|
3822
|
+
previousTimestamp = event.startTime;
|
|
3823
|
+
// Update the score of the current cluster and store this event in that cluster
|
|
3824
|
+
currentClusterScore += event.args['data']['weighted_score_delta'];
|
|
3825
|
+
currentCluster.add(event);
|
|
3826
|
+
}
|
|
3827
|
+
|
|
3828
|
+
// The last cluster we find may not get closed out - so if not, update all the shifts that we associate with it.
|
|
3829
|
+
for (const layoutShift of currentCluster) {
|
|
3830
|
+
layoutShift.args['data']['_current_cluster_score'] = currentClusterScore;
|
|
3831
|
+
layoutShift.args['data']['_current_cluster_id'] = currentClusterId;
|
|
3832
|
+
}
|
|
3833
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Copyright 2021 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as Legacy from '../../ui/legacy/legacy.js';
|
|
6
|
+
|
|
7
|
+
export interface WindowBoundsService {
|
|
8
|
+
getDevToolsBoundingElement(): HTMLElement;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
let windowBoundsServiceImplInstance: WindowBoundsServiceImpl;
|
|
12
|
+
export class WindowBoundsServiceImpl implements WindowBoundsService {
|
|
13
|
+
static instance(opts: {
|
|
14
|
+
forceNew: boolean|null,
|
|
15
|
+
} = {forceNew: null}): WindowBoundsServiceImpl {
|
|
16
|
+
const {forceNew} = opts;
|
|
17
|
+
if (!windowBoundsServiceImplInstance || forceNew) {
|
|
18
|
+
windowBoundsServiceImplInstance = new WindowBoundsServiceImpl();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return windowBoundsServiceImplInstance;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
getDevToolsBoundingElement(): HTMLElement {
|
|
25
|
+
return Legacy.InspectorView.InspectorView.maybeGetInspectorViewInstance()?.element || document.body;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright 2021 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as WindowBoundsService from './WindowBoundsService.js';
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
WindowBoundsService,
|
|
9
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Name: Acorn, a tiny, fast JavaScript parser written in JavaScript.
|
|
2
2
|
Short Name: acorn
|
|
3
3
|
URL: https://github.com/acornjs/acorn
|
|
4
|
-
Version: 8.
|
|
4
|
+
Version: 8.6.0
|
|
5
5
|
License: MIT
|
|
6
6
|
License File: LICENSE
|
|
7
7
|
Security Critical: no
|
|
@@ -10,5 +10,5 @@ Description:
|
|
|
10
10
|
A tiny, fast JavaScript parser written in JavaScript.
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
wget -qO- https://registry.npmjs.org/acorn/-/acorn-8.
|
|
13
|
+
wget -qO- https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz | tar xzf -
|
|
14
14
|
```
|
|
@@ -7,7 +7,7 @@ import * as acorn from './package/dist/acorn.mjs';
|
|
|
7
7
|
import type * as ESTree from './estree-legacy';
|
|
8
8
|
export {ESTree};
|
|
9
9
|
|
|
10
|
-
export { Comment, defaultOptions, getLineInfo, isNewLine, lineBreak, lineBreakG, Node, SourceLocation, Token,tokTypes} from './package/dist/acorn.mjs';
|
|
10
|
+
export { Comment, defaultOptions, getLineInfo, isNewLine, lineBreak, lineBreakG, Node, SourceLocation, Token, tokTypes, tokContexts} from './package/dist/acorn.mjs';
|
|
11
11
|
|
|
12
12
|
export const Parser = acorn.Parser;
|
|
13
13
|
export const tokenizer = acorn.Parser.tokenizer.bind(acorn.Parser);
|
|
@@ -1,3 +1,33 @@
|
|
|
1
|
+
## 8.6.0 (2021-11-18)
|
|
2
|
+
|
|
3
|
+
### Bug fixes
|
|
4
|
+
|
|
5
|
+
Fix a bug where an object literal with multiple `__proto__` properties would incorrectly be accepted if a later property value held an assigment.
|
|
6
|
+
|
|
7
|
+
### New features
|
|
8
|
+
|
|
9
|
+
Support class private fields with the `in` operator.
|
|
10
|
+
|
|
11
|
+
## 8.5.0 (2021-09-06)
|
|
12
|
+
|
|
13
|
+
### Bug fixes
|
|
14
|
+
|
|
15
|
+
Improve context-dependent tokenization in a number of corner cases.
|
|
16
|
+
|
|
17
|
+
Fix location tracking after a 0x2028 or 0x2029 character in a string literal (which before did not increase the line number).
|
|
18
|
+
|
|
19
|
+
Fix an issue where arrow function bodies in for loop context would inappropriately consume `in` operators.
|
|
20
|
+
|
|
21
|
+
Fix wrong end locations stored on SequenceExpression nodes.
|
|
22
|
+
|
|
23
|
+
Implement restriction that `for`/`of` loop LHS can't start with `let`.
|
|
24
|
+
|
|
25
|
+
### New features
|
|
26
|
+
|
|
27
|
+
Add support for ES2022 class static blocks.
|
|
28
|
+
|
|
29
|
+
Allow multiple input files to be passed to the CLI tool.
|
|
30
|
+
|
|
1
31
|
## 8.4.1 (2021-06-24)
|
|
2
32
|
|
|
3
33
|
### Bug fixes
|
|
@@ -16,7 +46,7 @@ A new option, `allowSuperOutsideMethod`, can be used to suppress the error when
|
|
|
16
46
|
|
|
17
47
|
Default `allowAwaitOutsideFunction` to true for ECMAScript 2022 an higher.
|
|
18
48
|
|
|
19
|
-
Add support for the `
|
|
49
|
+
Add support for the `d` ([indices](https://github.com/tc39/proposal-regexp-match-indices)) regexp flag.
|
|
20
50
|
|
|
21
51
|
## 8.2.4 (2021-05-04)
|
|
22
52
|
|
|
@@ -54,7 +54,7 @@ required):
|
|
|
54
54
|
|
|
55
55
|
- **ecmaVersion**: Indicates the ECMAScript version to parse. Must be
|
|
56
56
|
either 3, 5, 6 (or 2015), 7 (2016), 8 (2017), 9 (2018), 10 (2019),
|
|
57
|
-
11 (2020), 12 (2021
|
|
57
|
+
11 (2020), 12 (2021), 13 (2022, partial support)
|
|
58
58
|
or `"latest"` (the latest the library supports). This influences
|
|
59
59
|
support for strict mode, the set of reserved words, and support
|
|
60
60
|
for new syntax features.
|