chrome-devtools-frontend 1.0.1522585 → 1.0.1525561
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/AUTHORS +1 -0
- package/docs/README.md +1 -0
- package/docs/policy/README.md +1 -0
- package/docs/policy/console-policy.md +144 -0
- package/docs/policy/images/console-policy1.png +0 -0
- package/docs/policy/images/console-policy2.png +0 -0
- package/docs/policy/images/console-policy3.png +0 -0
- package/docs/policy/slow-close.md +22 -19
- package/docs/ui_engineering.md +22 -0
- package/front_end/Tests.js +1 -1
- package/front_end/core/common/Color.ts +13 -9
- package/front_end/core/common/ColorConverter.ts +9 -7
- package/front_end/core/common/Gzip.ts +1 -1
- package/front_end/core/common/MapWithDefault.ts +5 -3
- package/front_end/core/common/ResourceType.ts +0 -12
- package/front_end/core/common/ReturnToPanel.ts +6 -4
- package/front_end/core/common/Trie.ts +4 -2
- package/front_end/core/host/AidaClient.ts +3 -3
- package/front_end/core/host/GdpClient.ts +7 -5
- package/front_end/core/host/InspectorFrontendHostAPI.ts +7 -5
- package/front_end/core/host/Platform.ts +5 -3
- package/front_end/core/host/UserMetrics.ts +6 -4
- package/front_end/core/platform/ArrayUtilities.ts +1 -1
- package/front_end/core/platform/StringUtilities.ts +34 -31
- package/front_end/core/root/Runtime.ts +1 -1
- package/front_end/core/sdk/CSSMetadata.ts +6 -4
- package/front_end/core/sdk/CSSPropertyParser.ts +17 -13
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +19 -13
- package/front_end/core/sdk/ChildTargetManager.ts +35 -0
- package/front_end/core/sdk/DOMModel.ts +1 -1
- package/front_end/core/sdk/EventBreakpointsModel.ts +4 -2
- package/front_end/core/sdk/HttpReasonPhraseStrings.ts +4 -2
- package/front_end/core/sdk/NetworkManager.ts +8 -48
- package/front_end/core/sdk/NetworkRequest.ts +0 -28
- package/front_end/core/sdk/PageResourceLoader.ts +1 -1
- package/front_end/core/sdk/PreloadingModel.ts +22 -18
- package/front_end/core/sdk/RehydratingConnection.ts +1 -1
- package/front_end/core/sdk/RehydratingObject.ts +1 -1
- package/front_end/core/sdk/RemoteObject.ts +1 -1
- package/front_end/core/sdk/ResourceTreeModel.ts +2 -0
- package/front_end/{models/source_map_scopes → core/sdk}/ScopeTreeCache.ts +8 -7
- package/front_end/core/sdk/ScreenCaptureModel.ts +24 -20
- package/front_end/core/sdk/Target.ts +7 -1
- package/front_end/core/sdk/TraceObject.ts +2 -2
- package/front_end/core/sdk/sdk.ts +2 -0
- package/front_end/entrypoints/formatter_worker/FormatterActions.ts +7 -0
- package/front_end/entrypoints/formatter_worker/ScopeParser.ts +15 -12
- package/front_end/entrypoints/formatter_worker/Substitute.ts +6 -4
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +24 -16
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -1
- package/front_end/entrypoints/main/MainImpl.ts +6 -4
- package/front_end/generated/InspectorBackendCommands.js +2 -2
- package/front_end/generated/protocol-mapping.d.ts +3 -2
- package/front_end/generated/protocol-proxy-api.d.ts +3 -1
- package/front_end/generated/protocol.ts +7 -1
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +55 -14
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +83 -222
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +23 -0
- package/front_end/models/ai_assistance/performance/AIContext.ts +19 -4
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +4 -2
- package/front_end/models/autofill_manager/AutofillManager.ts +4 -2
- package/front_end/models/cpu_profile/CPUProfileDataModel.ts +1 -1
- package/front_end/models/crux-manager/CrUXManager.ts +1 -1
- package/front_end/models/extensions/HostUrlPattern.ts +13 -5
- package/front_end/models/formatter/FormatterWorkerPool.ts +1 -1
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +1 -1
- package/front_end/models/issues_manager/CookieIssue.ts +2 -2
- package/front_end/models/issues_manager/MarkdownIssueDescription.ts +1 -1
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +20 -0
- package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
- package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +8 -0
- package/front_end/models/network_time_calculator/Calculator.ts +4 -2
- package/front_end/models/network_time_calculator/RequestTimeRanges.ts +6 -4
- package/front_end/models/source_map_scopes/NamesResolver.ts +8 -8
- package/front_end/models/source_map_scopes/source_map_scopes.ts +0 -2
- package/front_end/models/text_utils/ContentProvider.ts +6 -4
- package/front_end/models/trace/extras/TraceTree.ts +1 -1
- package/front_end/models/trace/handlers/FramesHandler.ts +7 -5
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +13 -7
- package/front_end/models/trace/handlers/MetaHandler.ts +16 -14
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +20 -8
- package/front_end/models/trace/handlers/helpers.ts +1 -1
- package/front_end/models/trace/handlers/types.ts +23 -19
- package/front_end/models/trace/helpers/Timing.ts +4 -2
- package/front_end/models/trace/helpers/Trace.ts +8 -4
- package/front_end/models/trace/insights/DocumentLatency.ts +1 -1
- package/front_end/models/trace/insights/INPBreakdown.ts +13 -2
- package/front_end/models/trace/insights/LCPBreakdown.ts +14 -2
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +2 -2
- package/front_end/models/trace/types/File.ts +12 -8
- package/front_end/models/trace/types/Timing.ts +1 -1
- package/front_end/models/trace/types/TraceEvents.ts +37 -23
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +1 -1
- package/front_end/panels/ai_assistance/components/MarkdownRendererWithCodeBlock.ts +12 -10
- package/front_end/panels/application/KeyValueStorageItemsView.ts +31 -33
- package/front_end/panels/application/components/InterestGroupAccessGrid.ts +6 -11
- package/front_end/panels/application/components/OriginTrialTreeView.ts +7 -5
- package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -0
- package/front_end/panels/application/components/ReportsGrid.ts +4 -10
- package/front_end/panels/application/components/SharedStorageAccessGrid.ts +5 -13
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +1 -1
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +3 -7
- package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -2
- package/front_end/panels/application/preloading/components/RuleSetGrid.ts +3 -10
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +4 -2
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +7 -5
- package/front_end/panels/changes/ChangesSidebar.ts +105 -96
- package/front_end/panels/changes/ChangesView.ts +69 -69
- package/front_end/panels/changes/CombinedDiffView.ts +1 -1
- package/front_end/panels/changes/changesSidebar.css +3 -0
- package/front_end/panels/changes/changesView.css +4 -0
- package/front_end/panels/console/ConsoleView.ts +2 -2
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +22 -35
- package/front_end/panels/elements/ComputedStyleWidget.ts +1 -1
- package/front_end/panels/elements/ElementStatePaneWidget.ts +12 -0
- package/front_end/panels/elements/ElementsTreeElement.ts +9 -5
- package/front_end/panels/elements/ElementsTreeOutline.ts +11 -8
- package/front_end/panels/elements/PropertyRenderer.ts +19 -15
- package/front_end/panels/elements/StylePropertyTreeElement.ts +6 -4
- package/front_end/panels/elements/StylesSidebarPane.ts +2 -2
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +4 -2
- package/front_end/panels/elements/components/AdornerManager.ts +5 -3
- package/front_end/panels/lighthouse/LighthouseController.ts +5 -0
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +43 -46
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +260 -157
- package/front_end/panels/linear_memory_inspector/components/linearMemoryInspector.css +28 -21
- package/front_end/panels/media/PlayerPropertiesView.ts +1 -1
- package/front_end/panels/network/NetworkDataGridNode.ts +2 -44
- package/front_end/panels/network/NetworkLogView.ts +6 -4
- package/front_end/panels/network/RequestPreviewView.ts +0 -7
- package/front_end/panels/network/components/RequestHeadersView.ts +0 -6
- package/front_end/panels/network/components/components.ts +0 -2
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +1 -1
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +4 -2
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +12 -19
- package/front_end/panels/search/SearchResultsPane.ts +2 -3
- package/front_end/panels/security/IPProtectionView.ts +1 -1
- package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +4 -0
- package/front_end/panels/settings/emulation/utils/StructuredHeaders.ts +45 -37
- package/front_end/panels/sources/BreakpointsViewUtils.ts +11 -9
- package/front_end/panels/sources/DebuggerPlugin.ts +8 -4
- package/front_end/panels/sources/SourcesPanel.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +4 -2
- package/front_end/panels/timeline/CountersGraph.ts +12 -5
- package/front_end/panels/timeline/EasterEgg.d.ts +5 -3
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +8 -6
- package/front_end/panels/timeline/ModificationsManager.ts +5 -3
- package/front_end/panels/timeline/ThreadAppender.ts +7 -5
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +10 -8
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +10 -8
- package/front_end/panels/timeline/TimelineSelection.ts +4 -2
- package/front_end/panels/timeline/TimelineUIUtils.ts +5 -3
- package/front_end/panels/timeline/components/BreadcrumbsUI.ts +6 -4
- package/front_end/panels/timeline/components/Utils.ts +1 -1
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +5 -3
- package/front_end/panels/timeline/utils/Helpers.ts +1 -1
- package/front_end/panels/utils/utils.ts +1 -7
- package/front_end/services/trace_bounds/TraceBounds.ts +4 -2
- package/front_end/services/tracing/PerformanceTracing.ts +1 -1
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/php.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
- package/front_end/third_party/codemirror.next/package.json +3 -2
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.d.ts +8 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.js +8 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +28 -30
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +27 -29
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts +34 -38
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +34 -38
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +8 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js +12 -14
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +92 -108
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js +33 -39
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +5 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts +4 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js +14 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +12 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js +24 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts +13 -22
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js +13 -22
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.d.ts +6 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.js +6 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +6 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts +5 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.js +5 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +188 -224
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +140 -166
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.d.ts +8 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.js +8 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +28 -30
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +27 -29
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts +34 -38
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +34 -38
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +8 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js +12 -14
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +92 -108
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js +33 -39
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +5 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts +4 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js +15 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +12 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js +24 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts +13 -22
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js +13 -22
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.d.ts +6 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.js +6 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +6 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts +5 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.js +5 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +188 -224
- package/front_end/third_party/puppeteer/package/package.json +3 -3
- package/front_end/third_party/puppeteer/package/src/api/Dialog.ts +8 -10
- package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +27 -29
- package/front_end/third_party/puppeteer/package/src/api/Frame.ts +34 -38
- package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +17 -14
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +92 -108
- package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +5 -3
- package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +5 -1
- package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +28 -3
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +16 -7
- package/front_end/third_party/puppeteer/package/src/bidi/core/Browser.ts +28 -2
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/PredefinedNetworkConditions.ts +13 -22
- package/front_end/third_party/puppeteer/package/src/common/Device.ts +6 -8
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +6 -3
- package/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts +5 -7
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/ui/components/chrome_link/ChromeLink.ts +4 -2
- package/front_end/ui/components/dialogs/Dialog.ts +13 -9
- package/front_end/ui/components/docs/linear_memory_inspector/basic.ts +21 -9
- package/front_end/ui/components/highlighting/HighlightElement.ts +77 -0
- package/front_end/ui/components/highlighting/HighlightManager.ts +58 -1
- package/front_end/ui/components/highlighting/highlighting.ts +2 -0
- package/front_end/ui/components/markdown_view/MarkdownImagesMap.ts +5 -3
- package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +5 -3
- package/front_end/ui/components/menus/SelectMenu.ts +6 -4
- package/front_end/ui/components/survey_link/SurveyLink.ts +4 -2
- package/front_end/ui/components/text_editor/config.ts +10 -6
- package/front_end/ui/components/text_editor/javascript.ts +8 -4
- package/front_end/ui/components/tooltips/Tooltip.ts +22 -5
- package/front_end/ui/legacy/ForwardedInputEventHandler.ts +4 -2
- package/front_end/ui/legacy/GlassPane.ts +1 -1
- package/front_end/ui/legacy/SettingsUI.ts +1 -5
- package/front_end/ui/legacy/Treeoutline.ts +12 -33
- package/front_end/ui/legacy/UIUtils.ts +19 -1
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +12 -10
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +30 -32
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +25 -25
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +5 -0
- package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.ts +4 -2
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +4 -2
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +8 -6
- package/front_end/ui/legacy/components/perf_ui/PieChart.ts +6 -4
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +3 -3
- package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +18 -20
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +22 -16
- package/front_end/ui/legacy/components/source_frame/xmlView.css +0 -2
- package/front_end/ui/legacy/components/utils/Linkifier.ts +6 -4
- package/front_end/ui/visual_logging/Debugging.ts +10 -6
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -3
- package/inspector_overlay/common.ts +5 -3
- package/inspector_overlay/highlight_grid_common.ts +1 -1
- package/package.json +1 -1
- package/front_end/Images/src/bundle.svg +0 -3
- package/front_end/panels/network/components/WebBundleInfoView.css +0 -27
- package/front_end/panels/network/components/WebBundleInfoView.ts +0 -95
|
@@ -85,8 +85,10 @@ export function extractOriginFromTrace(firstNavigationURL: string): string|null
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
export type EventsInThread<T extends Types.Events.Event> = Map<Types.Events.ThreadID, T[]>;
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
/**
|
|
89
|
+
* Each thread contains events. Events indicate the thread and process IDs, which are
|
|
90
|
+
* used to store the event in the correct process thread entry below.
|
|
91
|
+
**/
|
|
90
92
|
export function addEventToProcessThread<T extends Types.Events.Event>(
|
|
91
93
|
event: T,
|
|
92
94
|
eventsInProcessThread: Map<Types.Events.ProcessID, EventsInThread<T>>,
|
|
@@ -822,8 +824,10 @@ export function extractSampleTraceId(event: Types.Events.Event): number|null {
|
|
|
822
824
|
return event.args?.sampleTraceId ?? event.args?.data?.sampleTraceId ?? null;
|
|
823
825
|
}
|
|
824
826
|
|
|
825
|
-
|
|
826
|
-
|
|
827
|
+
/**
|
|
828
|
+
* This exactly matches Trace.Styles.visibleTypes. See the runtime verification in maybeInitStylesMap.
|
|
829
|
+
* TODO(crbug.com/410884528)
|
|
830
|
+
**/
|
|
827
831
|
export const VISIBLE_TRACE_EVENT_TYPES = new Set<Types.Events.Name>([
|
|
828
832
|
Types.Events.Name.ABORT_POST_TASK_CALLBACK,
|
|
829
833
|
Types.Events.Name.ANIMATION,
|
|
@@ -110,7 +110,7 @@ function getServerResponseTime(request: Types.Events.SyntheticNetworkRequest): T
|
|
|
110
110
|
return null;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
const ms = Helpers.Timing.microToMilli(request.args.data.syntheticData.
|
|
113
|
+
const ms = Helpers.Timing.microToMilli(request.args.data.syntheticData.serverResponseTime);
|
|
114
114
|
return Math.round(ms) as Types.Timing.Milli;
|
|
115
115
|
}
|
|
116
116
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
6
|
-
import
|
|
6
|
+
import * as Handlers from '../handlers/handlers.js';
|
|
7
7
|
import * as Helpers from '../helpers/helpers.js';
|
|
8
8
|
import type {SyntheticInteractionPair} from '../types/TraceEvents.js';
|
|
9
9
|
import type * as Types from '../types/types.js';
|
|
@@ -67,13 +67,24 @@ export function isINPBreakdownInsight(insight: InsightModel): insight is INPBrea
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
function finalize(partialModel: PartialInsightModel<INPBreakdownInsightModel>): INPBreakdownInsightModel {
|
|
70
|
+
let state: INPBreakdownInsightModel['state'] = 'pass';
|
|
71
|
+
if (partialModel.longestInteractionEvent) {
|
|
72
|
+
const classification = Handlers.ModelHandlers.UserInteractions.scoreClassificationForInteractionToNextPaint(
|
|
73
|
+
partialModel.longestInteractionEvent.dur);
|
|
74
|
+
if (classification === Handlers.ModelHandlers.PageLoadMetrics.ScoreClassification.GOOD) {
|
|
75
|
+
state = 'informative';
|
|
76
|
+
} else {
|
|
77
|
+
state = 'fail';
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
70
81
|
return {
|
|
71
82
|
insightKey: InsightKeys.INP_BREAKDOWN,
|
|
72
83
|
strings: UIStrings,
|
|
73
84
|
title: i18nString(UIStrings.title),
|
|
74
85
|
description: i18nString(UIStrings.description),
|
|
75
86
|
category: InsightCategory.INP,
|
|
76
|
-
state
|
|
87
|
+
state,
|
|
77
88
|
...partialModel,
|
|
78
89
|
};
|
|
79
90
|
}
|
|
@@ -65,7 +65,7 @@ export const UIStrings = {
|
|
|
65
65
|
const str_ = i18n.i18n.registerUIStrings('models/trace/insights/LCPBreakdown.ts', UIStrings);
|
|
66
66
|
export const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
/** A TraceWindow plus its UIString. **/
|
|
69
69
|
export type Subpart = Types.Timing.TraceWindowMicro&{label: Common.UIString.LocalizedString};
|
|
70
70
|
interface LCPSubparts {
|
|
71
71
|
/**
|
|
@@ -180,13 +180,25 @@ function finalize(partialModel: PartialInsightModel<LCPBreakdownInsightModel>):
|
|
|
180
180
|
if (partialModel.lcpRequest) {
|
|
181
181
|
relatedEvents.push(partialModel.lcpRequest);
|
|
182
182
|
}
|
|
183
|
+
|
|
184
|
+
let state: LCPBreakdownInsightModel['state'] = 'pass';
|
|
185
|
+
if (partialModel.lcpMs !== undefined) {
|
|
186
|
+
const classification = Handlers.ModelHandlers.PageLoadMetrics.scoreClassificationForLargestContentfulPaint(
|
|
187
|
+
Helpers.Timing.milliToMicro(partialModel.lcpMs));
|
|
188
|
+
if (classification === Handlers.ModelHandlers.PageLoadMetrics.ScoreClassification.GOOD) {
|
|
189
|
+
state = 'informative';
|
|
190
|
+
} else {
|
|
191
|
+
state = 'fail';
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
183
195
|
return {
|
|
184
196
|
insightKey: InsightKeys.LCP_BREAKDOWN,
|
|
185
197
|
strings: UIStrings,
|
|
186
198
|
title: i18nString(UIStrings.title),
|
|
187
199
|
description: i18nString(UIStrings.description),
|
|
188
200
|
category: InsightCategory.LCP,
|
|
189
|
-
state
|
|
201
|
+
state,
|
|
190
202
|
...partialModel,
|
|
191
203
|
relatedEvents,
|
|
192
204
|
};
|
|
@@ -458,7 +458,7 @@ export function handleLinkResponseHeader(linkHeaderValue: string): Array<{url: s
|
|
|
458
458
|
return preconnectedOrigins;
|
|
459
459
|
}
|
|
460
460
|
|
|
461
|
-
|
|
461
|
+
/** Export the function for test purpose. **/
|
|
462
462
|
export function generatePreconnectedOrigins(
|
|
463
463
|
data: Handlers.Types.HandlerData, context: InsightSetContextWithNavigation,
|
|
464
464
|
contextRequests: Types.Events.SyntheticNetworkRequest[],
|
|
@@ -584,7 +584,7 @@ function candidateRequestsByOrigin(
|
|
|
584
584
|
return origins;
|
|
585
585
|
}
|
|
586
586
|
|
|
587
|
-
|
|
587
|
+
/** Export the function for test purpose. **/
|
|
588
588
|
export function generatePreconnectCandidates(
|
|
589
589
|
data: Handlers.Types.HandlerData, context: InsightSetContextWithNavigation,
|
|
590
590
|
contextRequests: Types.Events.SyntheticNetworkRequest[]): PreconnectCandidate[] {
|
|
@@ -124,17 +124,19 @@ export function isEntriesLinkAnnotation(annotation: Annotation): annotation is E
|
|
|
124
124
|
return annotation.type === 'ENTRIES_LINK';
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Serializable keys are created for trace events to be able to save
|
|
129
|
+
* references to timeline events in a trace file. These keys enable
|
|
130
|
+
* user modifications that can be saved. See go/cpq:event-data-json for
|
|
131
|
+
* more details on the key format.
|
|
132
|
+
**/
|
|
131
133
|
export type RawEventKey = `${EventKeyType.RAW_EVENT}-${number}`;
|
|
132
134
|
export type SyntheticEventKey = `${EventKeyType.SYNTHETIC_EVENT}-${number}`;
|
|
133
135
|
export type ProfileCallKey = `${EventKeyType.PROFILE_CALL}-${ProcessID}-${ThreadID}-${SampleIndex}-${Protocol.integer}`;
|
|
134
136
|
export type LegacyTimelineFrameKey = `${EventKeyType.LEGACY_TIMELINE_FRAME}-${number}`;
|
|
135
137
|
export type SerializableKey = RawEventKey|ProfileCallKey|SyntheticEventKey|LegacyTimelineFrameKey;
|
|
136
138
|
|
|
137
|
-
|
|
139
|
+
/** Serializable keys values objects contain data that maps the keys to original Trace Events **/
|
|
138
140
|
export interface RawEventKeyValues {
|
|
139
141
|
type: EventKeyType.RAW_EVENT;
|
|
140
142
|
rawIndex: number;
|
|
@@ -172,9 +174,11 @@ export interface Modifications {
|
|
|
172
174
|
annotations: SerializedAnnotations;
|
|
173
175
|
}
|
|
174
176
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
177
|
+
/**
|
|
178
|
+
* IMPORTANT: this is the same as PerfUI.FlameChart.PersistedGroupConfig
|
|
179
|
+
* However, the PerfUI code should not depend on the model/trace, and similarly
|
|
180
|
+
* this model cannot depend on that code, so we duplicate it.
|
|
181
|
+
**/
|
|
178
182
|
export interface TrackVisualConfig {
|
|
179
183
|
hidden: boolean;
|
|
180
184
|
expanded: boolean;
|
|
@@ -25,6 +25,6 @@ export interface TraceWindow<TimeFormat extends Micro|Milli> {
|
|
|
25
25
|
range: TimeFormat;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
/** See front_end/models/trace/helpers/Timing.ts for helpful utility functions like traceWindowFromMicroSeconds **/
|
|
29
29
|
export type TraceWindowMicro = TraceWindow<Micro>;
|
|
30
30
|
export type TraceWindowMilli = TraceWindow<Milli>;
|
|
@@ -8,7 +8,7 @@ import type * as Protocol from '../../../generated/protocol.js';
|
|
|
8
8
|
|
|
9
9
|
import type {Micro, Milli, Seconds, TraceWindowMicro} from './Timing.js';
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/** Trace Events. **/
|
|
12
12
|
export const enum Phase {
|
|
13
13
|
// Standard
|
|
14
14
|
BEGIN = 'B',
|
|
@@ -282,8 +282,10 @@ export interface End extends Event {
|
|
|
282
282
|
*/
|
|
283
283
|
export type SyntheticComplete = Complete;
|
|
284
284
|
|
|
285
|
-
|
|
286
|
-
|
|
285
|
+
/**
|
|
286
|
+
* TODO(paulirish): Migrate to the new (Sept 2024) EventTiming trace events.
|
|
287
|
+
* See https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/timing/window_performance.cc;l=900-901;drc=b503c262e425eae59ced4a80d59d176ed07152c7
|
|
288
|
+
**/
|
|
287
289
|
export type EventTimingBeginOrEnd = EventTimingBegin|EventTimingEnd;
|
|
288
290
|
|
|
289
291
|
export interface EventTimingBegin extends Event {
|
|
@@ -336,9 +338,11 @@ export interface SyntheticNetworkRedirect {
|
|
|
336
338
|
dur: Micro;
|
|
337
339
|
}
|
|
338
340
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
341
|
+
/**
|
|
342
|
+
* ProcessedArgsData is used to store the processed data of a network
|
|
343
|
+
* request. Which is used to distinguish from the date we extract from the
|
|
344
|
+
* trace event directly.
|
|
345
|
+
**/
|
|
342
346
|
interface SyntheticArgsData {
|
|
343
347
|
dnsLookup: Micro;
|
|
344
348
|
download: Micro;
|
|
@@ -359,8 +363,10 @@ interface SyntheticArgsData {
|
|
|
359
363
|
ssl: Micro;
|
|
360
364
|
stalled: Micro;
|
|
361
365
|
totalTime: Micro;
|
|
362
|
-
/**
|
|
366
|
+
/** receiveHeadersEnd - sendEnd */
|
|
363
367
|
waiting: Micro;
|
|
368
|
+
/** receiveHeadersStart - sendEnd */
|
|
369
|
+
serverResponseTime: Micro;
|
|
364
370
|
}
|
|
365
371
|
|
|
366
372
|
export interface SyntheticNetworkRequest extends Complete, SyntheticBased<Phase.COMPLETE> {
|
|
@@ -1618,8 +1624,10 @@ const enum FrameType {
|
|
|
1618
1624
|
BACKFILL = 'BACKFILL',
|
|
1619
1625
|
}
|
|
1620
1626
|
|
|
1621
|
-
|
|
1622
|
-
|
|
1627
|
+
/**
|
|
1628
|
+
* TODO(crbug.com/409484302): Remove once Chrome migrates from
|
|
1629
|
+
* ChromeTrackEvent.chrome_frame_reporter to ChromeTrackEvent.frame_reporter.
|
|
1630
|
+
**/
|
|
1623
1631
|
export interface OldChromeFrameReporterArgs {
|
|
1624
1632
|
chrome_frame_reporter: ChromeFrameReporter;
|
|
1625
1633
|
}
|
|
@@ -1640,13 +1648,15 @@ export function isPipelineReporter(event: Event): event is PipelineReporter {
|
|
|
1640
1648
|
return event.name === Name.PIPELINE_REPORTER;
|
|
1641
1649
|
}
|
|
1642
1650
|
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1651
|
+
/**
|
|
1652
|
+
* A type used for synthetic events created based on a raw trace event.
|
|
1653
|
+
* A branded type is used to ensure not all events can be typed as
|
|
1654
|
+
* SyntheticBased and prevent places different to the
|
|
1655
|
+
* SyntheticEventsManager from creating synthetic events. This is
|
|
1656
|
+
* because synthetic events need to be registered in order to resolve
|
|
1657
|
+
* serialized event keys into event objects, so we ensure events are
|
|
1658
|
+
* registered at the time they are created by the SyntheticEventsManager.
|
|
1659
|
+
**/
|
|
1650
1660
|
export interface SyntheticBased<Ph extends Phase = Phase, T extends Event = Event> extends Event {
|
|
1651
1661
|
ph: Ph;
|
|
1652
1662
|
rawSourceEvent: T;
|
|
@@ -1657,9 +1667,11 @@ export function isSyntheticBased(event: Event): event is SyntheticBased {
|
|
|
1657
1667
|
return 'rawSourceEvent' in event;
|
|
1658
1668
|
}
|
|
1659
1669
|
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1670
|
+
/**
|
|
1671
|
+
* Nestable async events with a duration are made up of two distinct
|
|
1672
|
+
* events: the begin, and the end. We need both of them to be able to
|
|
1673
|
+
* display the right information, so we create these synthetic events.
|
|
1674
|
+
**/
|
|
1663
1675
|
export interface SyntheticEventPair<T extends PairableAsync = PairableAsync> extends SyntheticBased<Phase, T> {
|
|
1664
1676
|
rawSourceEvent: T;
|
|
1665
1677
|
name: T['name'];
|
|
@@ -1856,7 +1868,7 @@ export function isRasterTask(event: Event): event is RasterTask {
|
|
|
1856
1868
|
return event.name === Name.RASTER_TASK;
|
|
1857
1869
|
}
|
|
1858
1870
|
|
|
1859
|
-
|
|
1871
|
+
/** CompositeLayers has been replaced by "Commit", but we support both to not break old traces being imported. **/
|
|
1860
1872
|
export interface CompositeLayers extends Instant {
|
|
1861
1873
|
name: Name.COMPOSITE_LAYERS;
|
|
1862
1874
|
args: Args&{
|
|
@@ -2273,7 +2285,7 @@ export function isResourceReceivedData(
|
|
|
2273
2285
|
return event.name === 'ResourceReceivedData';
|
|
2274
2286
|
}
|
|
2275
2287
|
|
|
2276
|
-
|
|
2288
|
+
/** Any event where we receive data (and get an encodedDataLength) **/
|
|
2277
2289
|
export function isReceivedDataEvent(
|
|
2278
2290
|
event: Event,
|
|
2279
2291
|
): event is ResourceReceivedData|ResourceFinish|ResourceReceiveResponse {
|
|
@@ -3132,8 +3144,10 @@ export const enum Name {
|
|
|
3132
3144
|
LINK_PRECONNECT = 'LinkPreconnect',
|
|
3133
3145
|
}
|
|
3134
3146
|
|
|
3135
|
-
|
|
3136
|
-
|
|
3147
|
+
/**
|
|
3148
|
+
* NOT AN EXHAUSTIVE LIST: just some categories we use and refer
|
|
3149
|
+
* to in multiple places.
|
|
3150
|
+
**/
|
|
3137
3151
|
export const Categories = {
|
|
3138
3152
|
Console: 'blink.console',
|
|
3139
3153
|
UserTiming: 'blink.user_timing',
|
|
@@ -22,7 +22,7 @@ export class SourceMappingsUpdated extends Event {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
/** The code location key is created as a concatenation of its fields. **/
|
|
26
26
|
export const resolvedCodeLocationDataNames = new Map<string, ResolvedCodeLocationData|null>();
|
|
27
27
|
|
|
28
28
|
export class SourceMapsResolver extends EventTarget {
|
|
@@ -6,16 +6,18 @@ import type * as Marked from '../../../third_party/marked/marked.js';
|
|
|
6
6
|
import * as MarkdownView from '../../../ui/components/markdown_view/markdown_view.js';
|
|
7
7
|
import type * as Lit from '../../../ui/lit/lit.js';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
/**
|
|
10
|
+
* The model returns multiline code blocks in an erroneous way with the language being in new line.
|
|
11
|
+
* This renderer takes that into account and correctly updates the parsed multiline token with the language
|
|
12
|
+
* correctly identified and stripped from the content.
|
|
13
|
+
* Example:
|
|
14
|
+
* ```
|
|
15
|
+
* css <-- This should have been on the first line.
|
|
16
|
+
* * {
|
|
17
|
+
* color: red;
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
**/
|
|
19
21
|
export class MarkdownRendererWithCodeBlock extends MarkdownView.MarkdownView.MarkdownInsightRenderer {
|
|
20
22
|
override templateForToken(token: Marked.Marked.MarkedToken): Lit.TemplateResult|null {
|
|
21
23
|
if (token.type === 'code') {
|
|
@@ -77,13 +77,12 @@ export interface ViewInput {
|
|
|
77
77
|
selectedKey: string|null;
|
|
78
78
|
editable: boolean;
|
|
79
79
|
preview: Widget;
|
|
80
|
-
onSelect: (
|
|
81
|
-
onSort: (
|
|
82
|
-
onCreate: (
|
|
80
|
+
onSelect: (item: {key: string, value: string}|null) => void;
|
|
81
|
+
onSort: (ascending: boolean) => void;
|
|
82
|
+
onCreate: (key: string, value: string) => void;
|
|
83
83
|
onReferesh: () => void;
|
|
84
|
-
onEdit:
|
|
85
|
-
|
|
86
|
-
onDelete: (event: CustomEvent<HTMLElement>) => void;
|
|
84
|
+
onEdit: (key: string, value: string, columnId: string, valueBeforeEditing: string, newText: string) => void;
|
|
85
|
+
onDelete: (key: string) => void;
|
|
87
86
|
}
|
|
88
87
|
|
|
89
88
|
interface ViewOutput {
|
|
@@ -130,12 +129,10 @@ export abstract class KeyValueStorageItemsView extends UI.Widget.VBox {
|
|
|
130
129
|
.name=${`${id}-datagrid-with-preview`}
|
|
131
130
|
striped
|
|
132
131
|
style="flex: auto"
|
|
133
|
-
@
|
|
134
|
-
@sort=${input.onSort}
|
|
132
|
+
@sort=${(e: CustomEvent<{columnId: string, ascending: boolean}>) => input.onSort(e.detail.ascending)}
|
|
135
133
|
@refresh=${input.onReferesh}
|
|
136
|
-
@create=${input.onCreate}
|
|
137
|
-
@
|
|
138
|
-
@delete=${input.onDelete}
|
|
134
|
+
@create=${(e: CustomEvent<{key: string, value: string}>) => input.onCreate(e.detail.key, e.detail.value)}
|
|
135
|
+
@deselect=${() => input.onSelect(null)}
|
|
139
136
|
>
|
|
140
137
|
<table>
|
|
141
138
|
<tr>
|
|
@@ -148,6 +145,10 @@ export abstract class KeyValueStorageItemsView extends UI.Widget.VBox {
|
|
|
148
145
|
</tr>
|
|
149
146
|
${repeat(input.items, item => item.key, item => html`
|
|
150
147
|
<tr data-key=${item.key} data-value=${item.value}
|
|
148
|
+
@select=${() => input.onSelect(item)}
|
|
149
|
+
@edit=${(e: CustomEvent<{columnId: string, valueBeforeEditing: string, newText: string}>) =>
|
|
150
|
+
input.onEdit(item.key, item.value, e.detail.columnId, e.detail.valueBeforeEditing, e.detail.newText)}
|
|
151
|
+
@delete=${() => input.onDelete(item.key)}
|
|
151
152
|
selected=${(input.selectedKey === item.key) || nothing}>
|
|
152
153
|
<td>${item.key}</td>
|
|
153
154
|
<td>${item.value.substr(0, MAX_VALUE_LENGTH)}</td>
|
|
@@ -202,27 +203,25 @@ export abstract class KeyValueStorageItemsView extends UI.Widget.VBox {
|
|
|
202
203
|
selectedKey: this.#selectedKey,
|
|
203
204
|
editable: this.#editable,
|
|
204
205
|
preview: this.#preview,
|
|
205
|
-
onSelect: (
|
|
206
|
-
this.#toolbar?.setCanDeleteSelected(Boolean(
|
|
207
|
-
if (!
|
|
206
|
+
onSelect: (item: {key: string, value: string}|null) => {
|
|
207
|
+
this.#toolbar?.setCanDeleteSelected(Boolean(item));
|
|
208
|
+
if (!item) {
|
|
208
209
|
void this.#previewEntry(null);
|
|
209
210
|
} else {
|
|
210
|
-
void this.#previewEntry(
|
|
211
|
+
void this.#previewEntry(item);
|
|
211
212
|
}
|
|
212
213
|
},
|
|
213
|
-
onSort: (
|
|
214
|
-
this.#isSortOrderAscending =
|
|
214
|
+
onSort: (ascending: boolean) => {
|
|
215
|
+
this.#isSortOrderAscending = ascending;
|
|
215
216
|
},
|
|
216
|
-
onCreate: (
|
|
217
|
-
this.#createCallback(
|
|
217
|
+
onCreate: (key: string, value: string) => {
|
|
218
|
+
this.#createCallback(key, value);
|
|
218
219
|
},
|
|
219
|
-
onEdit:
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
onDelete: (event: CustomEvent<HTMLElement>) => {
|
|
225
|
-
this.#deleteCallback(event.detail.dataset.key || '');
|
|
220
|
+
onEdit: (key: string, value: string, columnId: string, valueBeforeEditing: string, newText: string) => {
|
|
221
|
+
this.#editingCallback(key, value, columnId, valueBeforeEditing, newText);
|
|
222
|
+
},
|
|
223
|
+
onDelete: (key: string) => {
|
|
224
|
+
this.#deleteCallback(key);
|
|
226
225
|
},
|
|
227
226
|
onReferesh: () => {
|
|
228
227
|
this.refreshItems();
|
|
@@ -316,7 +315,7 @@ export abstract class KeyValueStorageItemsView extends UI.Widget.VBox {
|
|
|
316
315
|
return true;
|
|
317
316
|
}
|
|
318
317
|
|
|
319
|
-
#editingCallback(
|
|
318
|
+
#editingCallback(key: string, value: string, columnIdentifier: string, oldText: string, newText: string): void {
|
|
320
319
|
if (!this.isEditAllowed(columnIdentifier, oldText, newText)) {
|
|
321
320
|
return;
|
|
322
321
|
}
|
|
@@ -324,13 +323,12 @@ export abstract class KeyValueStorageItemsView extends UI.Widget.VBox {
|
|
|
324
323
|
if (typeof oldText === 'string') {
|
|
325
324
|
this.removeItem(oldText);
|
|
326
325
|
}
|
|
327
|
-
this.setItem(newText,
|
|
328
|
-
this.#removeDupes(newText,
|
|
329
|
-
|
|
330
|
-
void this.#previewEntry({key: newText, value: editingNode.dataset.value || ''});
|
|
326
|
+
this.setItem(newText, value);
|
|
327
|
+
this.#removeDupes(newText, value);
|
|
328
|
+
void this.#previewEntry({key: newText, value});
|
|
331
329
|
} else {
|
|
332
|
-
this.setItem(
|
|
333
|
-
void this.#previewEntry({key
|
|
330
|
+
this.setItem(key, newText);
|
|
331
|
+
void this.#previewEntry({key, value: newText});
|
|
334
332
|
}
|
|
335
333
|
}
|
|
336
334
|
|
|
@@ -102,8 +102,9 @@ export class InterestGroupAccessGrid extends HTMLElement {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
#renderGrid(): Lit.TemplateResult {
|
|
105
|
+
// clang-format off
|
|
105
106
|
return html`
|
|
106
|
-
<devtools-data-grid
|
|
107
|
+
<devtools-data-grid striped inline>
|
|
107
108
|
<table>
|
|
108
109
|
<tr>
|
|
109
110
|
<th id="event-time" sortable weight="10">${i18nString(UIStrings.eventTime)}</td>
|
|
@@ -111,8 +112,8 @@ export class InterestGroupAccessGrid extends HTMLElement {
|
|
|
111
112
|
<th id="event-group-owner" sortable weight="10">${i18nString(UIStrings.groupOwner)}</td>
|
|
112
113
|
<th id="event-group-name" sortable weight="10">${i18nString(UIStrings.groupName)}</td>
|
|
113
114
|
</tr>
|
|
114
|
-
${this.#datastores.map(
|
|
115
|
-
<tr
|
|
115
|
+
${this.#datastores.map(event => html`
|
|
116
|
+
<tr @select=${() => this.dispatchEvent(new CustomEvent('select', {detail: event}))}>
|
|
116
117
|
<td>${new Date(1e3 * event.accessTime).toLocaleString()}</td>
|
|
117
118
|
<td>${event.type}</td>
|
|
118
119
|
<td>${event.ownerOrigin}</td>
|
|
@@ -120,14 +121,8 @@ export class InterestGroupAccessGrid extends HTMLElement {
|
|
|
120
121
|
</tr>
|
|
121
122
|
`)}
|
|
122
123
|
</table>
|
|
123
|
-
</devtools-data-grid
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
#onSelect(event: CustomEvent<HTMLElement|null>): void {
|
|
128
|
-
if (event.detail) {
|
|
129
|
-
this.dispatchEvent(new CustomEvent('select', {detail: this.#datastores[Number(event.detail.dataset.index)]}));
|
|
130
|
-
}
|
|
124
|
+
</devtools-data-grid>`;
|
|
125
|
+
// clang-format on
|
|
131
126
|
}
|
|
132
127
|
}
|
|
133
128
|
|
|
@@ -109,11 +109,13 @@ customElements.define('devtools-resources-origin-trial-tree-view-badge', Badge);
|
|
|
109
109
|
|
|
110
110
|
type TreeNode<DataType> = TreeOutline.TreeOutlineUtils.TreeNode<DataType>;
|
|
111
111
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
112
|
+
/**
|
|
113
|
+
* The Origin Trial Tree has 4 levels of content:
|
|
114
|
+
* - Origin Trial (has multiple Origin Trial tokens)
|
|
115
|
+
* - Origin Trial Token (has only 1 raw token text)
|
|
116
|
+
* - Fields in Origin Trial Token
|
|
117
|
+
* - Raw Origin Trial Token text (folded because the content is long)
|
|
118
|
+
**/
|
|
117
119
|
export type OriginTrialTreeNodeData = Protocol.Page.OriginTrial|Protocol.Page.OriginTrialTokenWithStatus|string;
|
|
118
120
|
|
|
119
121
|
function constructOriginTrialTree(originTrial: Protocol.Page.OriginTrial): TreeNode<OriginTrialTreeNodeData> {
|
|
@@ -58,7 +58,7 @@ export interface ReportsGridData {
|
|
|
58
58
|
export interface ViewInput {
|
|
59
59
|
reports: Protocol.Network.ReportingApiReport[];
|
|
60
60
|
protocolMonitorExperimentEnabled: boolean;
|
|
61
|
-
onSelect: (
|
|
61
|
+
onSelect: (id: string) => void;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
export const DEFAULT_VIEW = (input: ViewInput, output: undefined, target: HTMLElement): void => {
|
|
@@ -69,7 +69,7 @@ export const DEFAULT_VIEW = (input: ViewInput, output: undefined, target: HTMLEl
|
|
|
69
69
|
<div class="reporting-container" jslog=${VisualLogging.section('reports')}>
|
|
70
70
|
<div class="reporting-header">${i18n.i18n.lockedString('Reports')}</div>
|
|
71
71
|
${input.reports.length > 0 ? html`
|
|
72
|
-
<devtools-data-grid striped
|
|
72
|
+
<devtools-data-grid striped>
|
|
73
73
|
<table>
|
|
74
74
|
<tr>
|
|
75
75
|
${input.protocolMonitorExperimentEnabled ? html`
|
|
@@ -91,7 +91,7 @@ export const DEFAULT_VIEW = (input: ViewInput, output: undefined, target: HTMLEl
|
|
|
91
91
|
<th id="body" weight="20">${i18n.i18n.lockedString('Body')}</th>
|
|
92
92
|
</tr>
|
|
93
93
|
${input.reports.map(report => html`
|
|
94
|
-
<tr
|
|
94
|
+
<tr @select=${() =>input.onSelect(report.id)}>
|
|
95
95
|
${input.protocolMonitorExperimentEnabled ? html`<td>${report.id}</td>` : ''}
|
|
96
96
|
<td>${report.initiatorUrl}</td>
|
|
97
97
|
<td>${report.type}</td>
|
|
@@ -133,17 +133,11 @@ export class ReportsGrid extends UI.Widget.Widget {
|
|
|
133
133
|
this.requestUpdate();
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
#onSelect = (e: CustomEvent<HTMLElement|null>): void => {
|
|
137
|
-
if (e.detail?.dataset.id) {
|
|
138
|
-
this.onReportSelected(e.detail.dataset.id);
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
|
|
142
136
|
override performUpdate(): void {
|
|
143
137
|
const viewInput = {
|
|
144
138
|
reports: this.reports,
|
|
145
139
|
protocolMonitorExperimentEnabled: this.#protocolMonitorExperimentEnabled,
|
|
146
|
-
onSelect: this
|
|
140
|
+
onSelect: this.onReportSelected,
|
|
147
141
|
};
|
|
148
142
|
this.#view(viewInput, undefined, this.contentElement);
|
|
149
143
|
}
|
|
@@ -84,7 +84,7 @@ export const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
84
84
|
|
|
85
85
|
export interface ViewInput {
|
|
86
86
|
events: Protocol.Storage.SharedStorageAccessedEvent[];
|
|
87
|
-
onSelect: (event:
|
|
87
|
+
onSelect: (event: Protocol.Storage.SharedStorageAccessedEvent) => void;
|
|
88
88
|
}
|
|
89
89
|
export type View = (input: ViewInput, output: object, target: HTMLElement) => void;
|
|
90
90
|
export const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
@@ -108,7 +108,7 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
|
108
108
|
<devtools-icon class="info-icon medium" name="info"
|
|
109
109
|
title=${i18nString(UIStrings.allSharedStorageEvents)}>
|
|
110
110
|
</devtools-icon>
|
|
111
|
-
<devtools-data-grid striped inline
|
|
111
|
+
<devtools-data-grid striped inline>
|
|
112
112
|
<table>
|
|
113
113
|
<thead>
|
|
114
114
|
<tr>
|
|
@@ -133,8 +133,8 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
|
133
133
|
</tr>
|
|
134
134
|
</thead>
|
|
135
135
|
<tbody>
|
|
136
|
-
${input.events.map(
|
|
137
|
-
<tr
|
|
136
|
+
${input.events.map(event => html`
|
|
137
|
+
<tr @select=${() =>input.onSelect(event)}>
|
|
138
138
|
<td data-value=${event.accessTime}>
|
|
139
139
|
${new Date(1e3 * event.accessTime).toLocaleString()}
|
|
140
140
|
</td>
|
|
@@ -181,16 +181,8 @@ export class SharedStorageAccessGrid extends UI.Widget.Widget {
|
|
|
181
181
|
this.#view(
|
|
182
182
|
{
|
|
183
183
|
events: this.#events,
|
|
184
|
-
onSelect: this.#
|
|
184
|
+
onSelect: this.#onSelect.bind(this),
|
|
185
185
|
},
|
|
186
186
|
{}, this.contentElement);
|
|
187
187
|
}
|
|
188
|
-
|
|
189
|
-
#onSelectEvent(event: CustomEvent<HTMLElement>): void {
|
|
190
|
-
const index = parseInt(event.detail?.dataset.index || '', 10);
|
|
191
|
-
const datastore = isNaN(index) ? undefined : this.#events[index];
|
|
192
|
-
if (datastore) {
|
|
193
|
-
this.#onSelect(datastore);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
188
|
}
|
|
@@ -99,7 +99,7 @@ export interface MismatchedPreloadingGridData {
|
|
|
99
99
|
rows: MismatchedPreloadingGridRow[];
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
|
|
102
|
+
/** Grid component to show prerendering attempts. **/
|
|
103
103
|
export class MismatchedPreloadingGrid extends LegacyWrapper.LegacyWrapper.WrappableComponent<UI.Widget.VBox> {
|
|
104
104
|
readonly #shadow = this.attachShadow({mode: 'open'});
|
|
105
105
|
#data: MismatchedPreloadingGridData|null = null;
|