chrome-devtools-frontend 1.0.1386602 → 1.0.1402249
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/.git-blame-ignore-revs +3 -0
- package/.stylelintrc.json +1 -3
- package/AUTHORS +3 -1
- package/config/gni/devtools_grd_files.gni +38 -31
- package/config/gni/devtools_image_files.gni +4 -1
- package/docs/README.md +1 -0
- package/docs/contributing/issues.md +1 -1
- package/docs/policy/README.md +1 -0
- package/docs/policy/gar-page-zoom-policy.md +43 -0
- package/docs/policy/images/devtools-gar-testing.png +0 -0
- package/docs/policy/images/docked-devtools.webp +0 -0
- package/docs/policy/images/undocked-devtools.png +0 -0
- package/docs/styleguide/ux/components.md +98 -22
- package/docs/styleguide/ux/images/radio-buttons-variations.png +0 -0
- package/docs/styleguide/ux/images/sliders-variations.png +0 -0
- package/docs/styleguide/ux/styles.md +29 -7
- package/eslint.config.mjs +725 -0
- package/extensions/cxx_debugging/src/CreditsItem.ts +1 -1
- package/extensions/cxx_debugging/src/ExtensionOptions.ts +4 -4
- package/extensions/cxx_debugging/src/ModuleConfigurationList.ts +1 -1
- package/extensions/cxx_debugging/src/rollup.config.in.js +1 -3
- package/extensions/cxx_debugging/tests/Formatters_test.ts +2 -1
- package/front_end/Images/rollup.config.mjs +1 -1
- package/front_end/Images/src/compress.svg +8 -0
- package/front_end/Images/src/devtools-thumbnail.svg +57 -0
- package/front_end/Images/src/devtools-tips.svg +61 -0
- package/front_end/Images/src/whatsnew.svg +61 -0
- package/front_end/Tests.js +27 -33
- package/front_end/core/common/CharacterIdMap.test.ts +1 -1
- package/front_end/core/common/ColorUtils.test.ts +2 -2
- package/front_end/core/common/Console.test.ts +7 -7
- package/front_end/core/common/Lazy.test.ts +12 -14
- package/front_end/core/common/MapWithDefault.test.ts +61 -0
- package/front_end/core/common/MapWithDefault.ts +24 -0
- package/front_end/core/common/ParsedURL.test.ts +5 -5
- package/front_end/core/common/Progress.test.ts +7 -7
- package/front_end/core/common/ResolverBase.test.ts +2 -2
- package/front_end/core/common/ResourceType.test.ts +3 -3
- package/front_end/core/common/SettingRegistration.test.ts +2 -4
- package/front_end/core/common/SettingRegistration.ts +1 -1
- package/front_end/core/common/Settings.ts +7 -7
- package/front_end/core/common/common.ts +4 -3
- package/front_end/core/dom_extension/DOMExtension.test.ts +4 -2
- package/front_end/core/dom_extension/DOMExtension.ts +5 -4
- package/front_end/core/host/AidaClient.test.ts +92 -38
- package/front_end/core/host/AidaClient.ts +131 -28
- package/front_end/core/host/InspectorFrontendHost.ts +15 -5
- package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -4
- package/front_end/core/host/UserMetrics.ts +27 -61
- package/front_end/core/i18n/i18n.test.ts +45 -0
- package/front_end/core/i18n/time-utilities.ts +17 -0
- package/front_end/core/platform/ArrayUtilities.test.ts +7 -8
- package/front_end/core/platform/MapUtilities.ts +1 -1
- package/front_end/core/platform/StringUtilities.test.ts +1 -1
- package/front_end/core/platform/TypedArrayUtilities.test.ts +6 -6
- package/front_end/core/root/Runtime.test.ts +5 -3
- package/front_end/core/root/Runtime.ts +21 -3
- package/front_end/core/sdk/AnimationModel.test.ts +4 -4
- package/front_end/core/sdk/AutofillModel.test.ts +1 -1
- package/front_end/core/sdk/CSSMatchedStyles.test.ts +44 -45
- package/front_end/core/sdk/CSSModel.test.ts +1 -1
- package/front_end/core/sdk/CSSStyleDeclaration.test.ts +7 -7
- package/front_end/core/sdk/ChildTargetManager.test.ts +10 -10
- package/front_end/core/sdk/Connections.ts +5 -0
- package/front_end/core/sdk/Cookie.test.ts +37 -37
- package/front_end/core/sdk/CookieModel.test.ts +5 -5
- package/front_end/core/sdk/DOMModel.ts +5 -0
- package/front_end/core/sdk/DebuggerModel.test.ts +2 -2
- package/front_end/core/sdk/EnhancedTracesParser.test.ts +7 -7
- package/front_end/core/sdk/EnhancedTracesParser.ts +3 -1
- package/front_end/core/sdk/FrameManager.test.ts +4 -4
- package/front_end/core/sdk/NetworkManager.test.ts +3 -3
- package/front_end/core/sdk/NetworkManager.ts +1 -1
- package/front_end/core/sdk/NetworkRequest.test.ts +5 -5
- package/front_end/core/sdk/PreloadingModel.test.ts +226 -10
- package/front_end/core/sdk/PreloadingModel.ts +184 -15
- package/front_end/core/sdk/RehydratingConnection.test.ts +3 -3
- package/front_end/core/sdk/RehydratingConnection.ts +49 -7
- package/front_end/core/sdk/RemoteObject.test.ts +60 -60
- package/front_end/core/sdk/ResourceTreeModel.test.ts +5 -5
- package/front_end/core/sdk/ServiceWorkerManager.test.ts +3 -3
- package/front_end/core/sdk/SourceMap.test.ts +30 -30
- package/front_end/core/sdk/SourceMapScopesInfo.test.ts +84 -0
- package/front_end/core/sdk/SourceMapScopesInfo.ts +63 -1
- package/front_end/core/sdk/TraceObject.test.ts +1 -1
- package/front_end/core/sdk/sdk-meta.ts +0 -27
- package/front_end/devtools_compatibility.js +1 -4
- package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.test.ts +1 -1
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +1 -1
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +1 -2
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +1 -2
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +2 -2
- package/front_end/entrypoints/inspector_main/nodeIcon.css +1 -0
- package/front_end/entrypoints/main/MainImpl.ts +40 -22
- package/front_end/entrypoints/node_app/NodeConnectionsPanel.ts +1 -1
- package/front_end/entrypoints/node_app/NodeMain.ts +6 -0
- package/front_end/entrypoints/node_app/node_app.ts +2 -2
- package/front_end/entrypoints/shell/shell.ts +1 -1
- package/front_end/generated/ARIAProperties.js +1 -1
- package/front_end/generated/Deprecation.ts +8 -16
- package/front_end/generated/InspectorBackendCommands.js +22 -13
- package/front_end/generated/SupportedCSSProperties.js +51 -36
- package/front_end/generated/protocol-mapping.d.ts +25 -0
- package/front_end/generated/protocol-proxy-api.d.ts +19 -0
- package/front_end/generated/protocol.ts +184 -11
- package/front_end/legacy/legacy-defs.d.ts +4 -6
- package/front_end/models/autofill_manager/AutofillManager.test.ts +1 -1
- package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +3 -3
- package/front_end/models/bindings/DefaultScriptMapping.test.ts +3 -3
- package/front_end/models/bindings/FileUtils.test.ts +2 -2
- package/front_end/models/bindings/IgnoreListManager.ts +3 -3
- package/front_end/models/breakpoints/BreakpointManager.test.ts +24 -23
- package/front_end/models/crux-manager/CrUXManager.test.ts +77 -16
- package/front_end/models/crux-manager/CrUXManager.ts +57 -6
- package/front_end/models/emulation/DeviceModeModel.ts +15 -0
- package/front_end/models/emulation/EmulatedDevices.test.ts +20 -0
- package/front_end/models/emulation/EmulatedDevices.ts +22 -18
- package/front_end/models/extensions/ExtensionAPI.ts +1 -1
- package/front_end/models/extensions/ExtensionServer.test.ts +121 -40
- package/front_end/models/extensions/ExtensionServer.ts +6 -2
- package/front_end/models/extensions/LanguageExtensionEndpoint.test.ts +59 -0
- package/front_end/models/extensions/LanguageExtensionEndpoint.ts +25 -6
- package/front_end/models/extensions/RecorderPluginManager.test.ts +1 -1
- package/front_end/models/extensions/extensions.ts +4 -0
- package/front_end/models/formatter/FormatterWorkerPool.ts +2 -1
- package/front_end/models/har/Importer.test.ts +4 -4
- package/front_end/models/har/Log.test.ts +1 -1
- package/front_end/models/issues_manager/CookieIssue.ts +4 -3
- package/front_end/models/issues_manager/DeprecationIssue.test.ts +3 -3
- package/front_end/models/issues_manager/DeprecationIssue.ts +1 -1
- package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.test.ts +1 -1
- package/front_end/models/issues_manager/GenericIssue.test.ts +2 -2
- package/front_end/models/issues_manager/IssueResolver.test.ts +2 -2
- package/front_end/models/issues_manager/IssuesManager.test.ts +19 -19
- package/front_end/models/issues_manager/LowTextContrastIssue.test.ts +2 -2
- package/front_end/models/issues_manager/PropertyRuleIssue.test.ts +1 -1
- package/front_end/models/issues_manager/RelatedIssue.test.ts +7 -7
- package/front_end/models/issues_manager/SharedDictionaryIssue.test.ts +1 -1
- package/front_end/models/issues_manager/StylesheetLoadingIssue.test.ts +7 -7
- package/front_end/models/javascript_metadata/JavaScriptMetadata.test.ts +6 -6
- package/front_end/models/javascript_metadata/NativeFunctions.js +81 -69
- package/front_end/models/live-metrics/LiveMetrics.ts +92 -44
- package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +3 -3
- package/front_end/models/logs/NetworkLog.test.ts +3 -3
- package/front_end/models/logs/RequestResolver.test.ts +2 -2
- package/front_end/models/persistence/EditFileSystemView.ts +1 -1
- package/front_end/models/persistence/NetworkPersistenceManager.test.ts +2 -2
- package/front_end/models/persistence/WorkspaceSettingsTab.ts +2 -1
- package/front_end/models/persistence/editFileSystemView.css +13 -8
- package/front_end/models/text_utils/Text.test.ts +1 -1
- package/front_end/models/text_utils/TextRange.test.ts +2 -4
- package/front_end/models/text_utils/TextUtils.test.ts +29 -30
- package/front_end/models/trace/ModelImpl.test.ts +2 -2
- package/front_end/models/trace/ModelImpl.ts +1 -0
- package/front_end/models/trace/Processor.test.ts +75 -12
- package/front_end/models/trace/Processor.ts +108 -9
- package/front_end/models/trace/extras/Metadata.test.ts +3 -0
- package/front_end/models/trace/extras/Metadata.ts +4 -1
- package/front_end/models/trace/extras/StackTraceForEvent.test.ts +259 -0
- package/front_end/models/trace/extras/StackTraceForEvent.ts +173 -0
- package/front_end/models/trace/extras/ThirdParties.test.ts +0 -27
- package/front_end/models/trace/extras/ThirdParties.ts +3 -76
- package/front_end/models/trace/extras/extras.ts +1 -1
- package/front_end/models/trace/handlers/AnimationFramesHandler.test.ts +40 -0
- package/front_end/models/trace/handlers/AnimationFramesHandler.ts +119 -0
- package/front_end/models/trace/handlers/AsyncJSCallsHandler.test.ts +211 -0
- package/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +185 -0
- package/front_end/models/trace/handlers/ExtensionTraceDataHandler.test.ts +7 -7
- package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +2 -2
- package/front_end/models/trace/handlers/FlowsHandler.test.ts +185 -0
- package/front_end/models/trace/handlers/FlowsHandler.ts +176 -0
- package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +56 -49
- package/front_end/models/trace/handlers/InitiatorsHandler.ts +37 -25
- package/front_end/models/trace/handlers/LargestImagePaintHandler.test.ts +19 -1
- package/front_end/models/trace/handlers/LargestImagePaintHandler.ts +18 -6
- package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +8 -8
- package/front_end/models/trace/handlers/MetaHandler.test.ts +10 -10
- package/front_end/models/trace/handlers/ModelHandlers.ts +3 -0
- package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +116 -10
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +23 -1
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.test.ts +2 -2
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +2 -0
- package/front_end/models/trace/handlers/RendererHandler.test.ts +25 -6
- package/front_end/models/trace/handlers/RendererHandler.ts +39 -1
- package/front_end/models/trace/handlers/SamplesHandler.test.ts +1 -1
- package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +3 -3
- package/front_end/models/trace/handlers/Threads.test.ts +1 -1
- package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +3 -3
- package/front_end/models/trace/handlers/handlers.ts +1 -0
- package/front_end/models/trace/{extras/URLForEntry.test.ts → handlers/helpers.test.ts} +34 -7
- package/front_end/models/trace/handlers/helpers.ts +159 -0
- package/front_end/models/trace/helpers/SamplesIntegrator.test.ts +13 -13
- package/front_end/models/trace/helpers/Trace.test.ts +2 -2
- package/front_end/models/trace/helpers/Trace.ts +65 -16
- package/front_end/models/trace/helpers/TreeHelpers.test.ts +5 -5
- package/front_end/models/trace/helpers/TreeHelpers.ts +1 -1
- package/front_end/models/trace/insights/CLSCulprits.test.ts +9 -19
- package/front_end/models/trace/insights/CLSCulprits.ts +9 -2
- package/front_end/models/trace/insights/Common.test.ts +52 -0
- package/front_end/models/trace/insights/Common.ts +118 -1
- package/front_end/models/trace/insights/DOMSize.test.ts +31 -0
- package/front_end/models/trace/insights/DOMSize.ts +121 -0
- package/front_end/models/trace/insights/DocumentLatency.test.ts +6 -10
- package/front_end/models/trace/insights/FontDisplay.test.ts +3 -13
- package/front_end/models/trace/insights/ImageDelivery.test.ts +23 -18
- package/front_end/models/trace/insights/ImageDelivery.ts +99 -11
- package/front_end/models/trace/insights/InteractionToNextPaint.test.ts +1 -11
- package/front_end/models/trace/insights/LCPDiscovery.test.ts +4 -14
- package/front_end/models/trace/insights/LCPPhases.test.ts +4 -14
- package/front_end/models/trace/insights/Models.ts +1 -0
- package/front_end/models/trace/insights/RenderBlocking.test.ts +14 -25
- package/front_end/models/trace/insights/SlowCSSSelector.test.ts +5 -15
- package/front_end/models/trace/insights/Statistics.test.ts +145 -0
- package/front_end/models/trace/insights/Statistics.ts +93 -0
- package/front_end/models/trace/insights/ThirdParties.test.ts +1 -11
- package/front_end/models/trace/insights/ThirdParties.ts +2 -2
- package/front_end/models/trace/insights/Viewport.test.ts +8 -13
- package/front_end/models/trace/insights/Viewport.ts +2 -2
- package/front_end/models/trace/insights/insights.ts +1 -0
- package/front_end/models/trace/insights/types.ts +3 -1
- package/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts +21 -21
- package/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +1 -1
- package/front_end/models/trace/lantern/graph/BaseNode.test.ts +24 -24
- package/front_end/models/trace/lantern/graph/PageDependencyGraph.test.ts +26 -26
- package/front_end/models/trace/lantern/metrics/FirstContentfulPaint.test.ts +3 -3
- package/front_end/models/trace/lantern/metrics/Interactive.test.ts +6 -6
- package/front_end/models/trace/lantern/metrics/LargestContentfulPaint.test.ts +3 -3
- package/front_end/models/trace/lantern/metrics/SpeedIndex.test.ts +3 -3
- package/front_end/models/trace/lantern/metrics/TBTUtils.test.ts +1 -1
- package/front_end/models/trace/lantern/simulation/ConnectionPool.test.ts +22 -22
- package/front_end/models/trace/lantern/simulation/Simulator.test.ts +1 -1
- package/front_end/models/trace/lantern/simulation/TCPConnection.test.ts +1 -1
- package/front_end/models/trace/root-causes/LayoutShift.test.ts +15 -15
- package/front_end/models/trace/types/Extensions.ts +4 -3
- package/front_end/models/trace/types/File.ts +3 -1
- package/front_end/models/trace/types/TraceEvents.ts +99 -11
- package/front_end/models/workspace/UISourceCode.test.ts +1 -1
- package/front_end/models/workspace/WorkspaceImpl.test.ts +6 -6
- package/front_end/panels/accessibility/AccessibilitySubPane.ts +1 -1
- package/front_end/panels/accessibility/accessibilityNode.css +2 -2
- package/front_end/panels/accessibility/axBreadcrumbs.css +1 -1
- package/front_end/panels/{freestyler/FreestylerPanel.test.ts → ai_assistance/AiAssistancePanel.test.ts} +155 -121
- package/front_end/panels/{freestyler/FreestylerPanel.ts → ai_assistance/AiAssistancePanel.ts} +204 -152
- package/front_end/panels/{freestyler → ai_assistance}/AiHistoryStorage.test.ts +53 -30
- package/front_end/panels/{freestyler → ai_assistance}/AiHistoryStorage.ts +8 -10
- package/front_end/panels/{freestyler → ai_assistance}/ChangeManager.test.ts +6 -6
- package/front_end/panels/{freestyler → ai_assistance}/ChangeManager.ts +2 -2
- package/front_end/panels/{freestyler/FreestylerEvaluateAction.test.ts → ai_assistance/EvaluateAction.test.ts} +37 -35
- package/front_end/panels/{freestyler/FreestylerEvaluateAction.ts → ai_assistance/EvaluateAction.ts} +10 -5
- package/front_end/panels/{freestyler → ai_assistance/agents}/AiAgent.test.ts +110 -75
- package/front_end/panels/{freestyler → ai_assistance/agents}/AiAgent.ts +152 -115
- package/front_end/panels/{freestyler/DrJonesFileAgent.test.ts → ai_assistance/agents/FileAgent.test.ts} +183 -83
- package/front_end/panels/{freestyler/DrJonesFileAgent.ts → ai_assistance/agents/FileAgent.ts} +30 -24
- package/front_end/panels/{freestyler/DrJonesNetworkAgent.test.ts → ai_assistance/agents/NetworkAgent.test.ts} +36 -37
- package/front_end/panels/{freestyler/DrJonesNetworkAgent.ts → ai_assistance/agents/NetworkAgent.ts} +14 -21
- package/front_end/panels/ai_assistance/agents/PatchAgent.ts +405 -0
- package/front_end/panels/{freestyler/DrJonesPerformanceAgent.test.ts → ai_assistance/agents/PerformanceAgent.test.ts} +27 -28
- package/front_end/panels/{freestyler/DrJonesPerformanceAgent.ts → ai_assistance/agents/PerformanceAgent.ts} +8 -15
- package/front_end/panels/{freestyler/FreestylerAgent.test.ts → ai_assistance/agents/StylingAgent.test.ts} +285 -233
- package/front_end/panels/{freestyler/FreestylerAgent.ts → ai_assistance/agents/StylingAgent.ts} +76 -59
- package/front_end/panels/{freestyler/freestylerPanel.css → ai_assistance/aiAssistancePanel.css} +2 -2
- package/front_end/panels/{freestyler/freestyler-meta.ts → ai_assistance/ai_assistance-meta.ts} +71 -45
- package/front_end/panels/ai_assistance/ai_assistance.ts +16 -0
- package/front_end/panels/{freestyler/components/FreestylerChatUi.test.ts → ai_assistance/components/ChatView.test.ts} +21 -24
- package/front_end/panels/{freestyler/components/FreestylerChatUi.ts → ai_assistance/components/ChatView.ts} +138 -47
- package/front_end/panels/{freestyler → ai_assistance}/components/UserActionRow.test.ts +1 -1
- package/front_end/panels/{freestyler → ai_assistance}/components/UserActionRow.ts +19 -15
- package/front_end/panels/{freestyler/components/freestylerChatUi.css → ai_assistance/components/chatView.css} +58 -3
- package/front_end/panels/animation/AnimationTimeline.ts +3 -3
- package/front_end/panels/animation/AnimationUI.ts +1 -1
- package/front_end/panels/animation/animationTimeline.css +7 -10
- package/front_end/panels/application/AppManifestView.test.ts +7 -7
- package/front_end/panels/application/AppManifestView.ts +1 -1
- package/front_end/panels/application/ApplicationPanelSidebar.test.ts +8 -11
- package/front_end/panels/application/BackgroundServiceView.ts +1 -1
- package/front_end/panels/application/DOMStorageModel.test.ts +1 -1
- package/front_end/panels/application/ExtensionStorageItemsView.test.ts +3 -5
- package/front_end/panels/application/ExtensionStorageModel.test.ts +5 -5
- package/front_end/panels/application/IndexedDBViews.test.ts +6 -8
- package/front_end/panels/application/InterestGroupTreeElement.test.ts +1 -1
- package/front_end/panels/application/ServiceWorkerUpdateCycleView.test.ts +9 -10
- package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +2 -2
- package/front_end/panels/application/ServiceWorkersView.ts +0 -1
- package/front_end/panels/application/SharedStorageItemsView.test.ts +13 -15
- package/front_end/panels/application/SharedStorageModel.test.ts +1 -1
- package/front_end/panels/application/SharedStorageTreeElement.test.ts +2 -4
- package/front_end/panels/application/StorageView.test.ts +2 -4
- package/front_end/panels/application/StorageView.ts +5 -5
- package/front_end/panels/application/components/BackForwardCacheView.test.ts +10 -12
- package/front_end/panels/application/components/BackForwardCacheView.ts +2 -4
- package/front_end/panels/application/components/BounceTrackingMitigationsView.test.ts +11 -13
- package/front_end/panels/application/components/EndpointsGrid.test.ts +4 -6
- package/front_end/panels/application/components/FrameDetailsView.test.ts +3 -5
- package/front_end/panels/application/components/FrameDetailsView.ts +2 -4
- package/front_end/panels/application/components/InterestGroupAccessGrid.test.ts +2 -4
- package/front_end/panels/application/components/OriginTrialTreeView.test.ts +2 -4
- package/front_end/panels/application/components/PermissionsPolicySection.ts +2 -4
- package/front_end/panels/application/components/ProtocolHandlersView.ts +1 -1
- package/front_end/panels/application/components/ReportsGrid.test.ts +2 -4
- package/front_end/panels/application/components/ServiceWorkerRouterView.test.ts +3 -5
- package/front_end/panels/application/components/SharedStorageAccessGrid.test.ts +2 -4
- package/front_end/panels/application/components/SharedStorageMetadataView.test.ts +5 -7
- package/front_end/panels/application/components/StorageMetadataView.test.ts +3 -5
- package/front_end/panels/application/components/StorageMetadataView.ts +2 -3
- package/front_end/panels/application/components/TrustTokensView.test.ts +2 -4
- package/front_end/panels/application/components/TrustTokensView.ts +1 -3
- package/front_end/panels/application/preloading/PreloadingView.test.ts +42 -27
- package/front_end/panels/application/preloading/PreloadingView.ts +12 -9
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.test.ts +2 -4
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.test.ts +115 -25
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +51 -26
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +10 -20
- package/front_end/panels/application/preloading/components/PreloadingGrid.test.ts +169 -17
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +73 -50
- package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.test.ts +3 -4
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.test.ts +7 -15
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +4 -5
- package/front_end/panels/application/preloading/components/RuleSetGrid.test.ts +2 -4
- package/front_end/panels/application/preloading/components/UsedPreloadingView.test.ts +57 -37
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -4
- package/front_end/panels/application/preloading/components/preloadingDisabledInfobar.css +4 -17
- package/front_end/panels/application/resourcesPanel.css +1 -2
- package/front_end/panels/application/serviceWorkersView.css +0 -5
- package/front_end/panels/autofill/AutofillView.test.ts +12 -14
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +2 -2
- package/front_end/panels/console/ConsoleContextSelector.ts +1 -2
- package/front_end/panels/console/ConsolePinPane.ts +3 -4
- package/front_end/panels/console/ConsoleSidebar.ts +1 -1
- package/front_end/panels/console/ConsoleView.test.ts +2 -2
- package/front_end/panels/console/ConsoleView.ts +5 -4
- package/front_end/panels/console/ConsoleViewMessage.test.ts +76 -9
- package/front_end/panels/console/ConsoleViewMessage.ts +11 -6
- package/front_end/panels/console/ConsoleViewport.ts +2 -2
- package/front_end/panels/console/ErrorStackParser.test.ts +31 -11
- package/front_end/panels/console/ErrorStackParser.ts +10 -2
- package/front_end/panels/console/consolePinPane.css +1 -1
- package/front_end/panels/console/consoleView.css +11 -5
- package/front_end/panels/coverage/CoverageView.test.ts +4 -6
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +3 -2
- package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +1 -2
- package/front_end/panels/css_overview/cssOverviewCompletedView.css +3 -2
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +4 -0
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +17 -0
- package/front_end/panels/elements/CSSRuleValidator.ts +4 -10
- package/front_end/panels/elements/ClassesPaneWidget.ts +2 -2
- package/front_end/panels/elements/ComputedStyleModel.test.ts +157 -0
- package/front_end/panels/elements/ComputedStyleModel.ts +79 -17
- package/front_end/panels/elements/ComputedStyleWidget.ts +7 -13
- package/front_end/panels/elements/DOMLinkifier.ts +18 -17
- package/front_end/panels/elements/ElementStatePaneWidget.test.ts +1 -1
- package/front_end/panels/elements/ElementStatePaneWidget.ts +2 -1
- package/front_end/panels/elements/ElementsPanel.ts +22 -25
- package/front_end/panels/elements/ElementsSidebarPane.ts +5 -5
- package/front_end/panels/elements/ElementsTreeElement.ts +2 -2
- package/front_end/panels/elements/ElementsTreeOutline.ts +2 -9
- package/front_end/panels/elements/MetricsSidebarPane.ts +3 -2
- package/front_end/panels/elements/PlatformFontsWidget.ts +1 -0
- package/front_end/panels/elements/PropertyMatchers.test.ts +33 -34
- package/front_end/panels/elements/PropertyRenderer.test.ts +5 -5
- package/front_end/panels/elements/StylePropertiesSection.test.ts +9 -4
- package/front_end/panels/elements/StylePropertiesSection.ts +1 -1
- package/front_end/panels/elements/StylePropertyHighlighter.test.ts +2 -1
- package/front_end/panels/elements/StylePropertyTreeElement.test.ts +23 -21
- package/front_end/panels/elements/StylePropertyTreeElement.ts +3 -2
- package/front_end/panels/elements/StylesSidebarPane.test.ts +8 -6
- package/front_end/panels/elements/StylesSidebarPane.ts +9 -21
- package/front_end/panels/elements/components/AccessibilityTreeNode.test.ts +3 -5
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +5 -7
- package/front_end/panels/elements/components/CSSQuery.ts +1 -1
- package/front_end/panels/elements/components/ElementsBreadcrumbs.test.ts +13 -15
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +7 -8
- package/front_end/panels/elements/components/ElementsTreeExpandButton.test.ts +3 -5
- package/front_end/panels/elements/components/LayoutPane.test.ts +14 -10
- package/front_end/panels/elements/components/LayoutPane.ts +3 -4
- package/front_end/panels/elements/components/QueryContainer.test.ts +1 -1
- package/front_end/panels/elements/components/QueryContainer.ts +1 -1
- package/front_end/panels/elements/components/components.ts +0 -2
- package/front_end/panels/elements/elementsPanel.css +4 -4
- package/front_end/panels/elements/elementsTreeOutline.css +6 -5
- package/front_end/panels/elements/metricsSidebarPane.css +1 -1
- package/front_end/panels/elements/stylePropertiesTreeOutline.css +4 -0
- package/front_end/panels/emulation/DeviceModeToolbar.ts +1 -2
- package/front_end/panels/emulation/DeviceModeView.ts +17 -20
- package/front_end/panels/emulation/DeviceModeWrapper.ts +26 -1
- package/front_end/panels/emulation/MediaQueryInspector.test.ts +2 -2
- package/front_end/panels/emulation/components/DeviceSizeInputElement.ts +1 -1
- package/front_end/panels/emulation/deviceModeView.css +9 -16
- package/front_end/panels/emulation/mediaQueryInspector.css +3 -6
- package/front_end/panels/event_listeners/EventListenersView.ts +1 -1
- package/front_end/panels/explain/PromptBuilder.test.ts +9 -9
- package/front_end/panels/explain/components/ConsoleInsight.test.ts +37 -1
- package/front_end/panels/explain/components/ConsoleInsight.ts +46 -5
- package/front_end/panels/explain/components/consoleInsight.css +13 -9
- package/front_end/panels/explain/explain-meta.ts +12 -8
- package/front_end/panels/issues/IssueAggregator.test.ts +23 -20
- package/front_end/panels/issues/IssueAggregator.ts +8 -3
- package/front_end/panels/issues/issuesTree.css +2 -3
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +4 -4
- package/front_end/panels/layer_viewer/Layers3DView.ts +4 -3
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +1 -1
- package/front_end/panels/layer_viewer/layerDetailsView.css +1 -2
- package/front_end/panels/lighthouse/LighthouseReportRenderer.test.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseStatusView.ts +2 -2
- package/front_end/panels/lighthouse/LighthouseTimespanView.ts +2 -2
- package/front_end/panels/lighthouse/lighthousePanel.css +5 -5
- package/front_end/panels/lighthouse/lighthouseStartView.css +1 -0
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.test.ts +3 -3
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.test.ts +3 -3
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.test.ts +2 -2
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.test.ts +3 -3
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/valueInterpreterSettings.css +1 -2
- package/front_end/panels/media/MainView.test.ts +2 -2
- package/front_end/panels/media/PlayerMessagesView.ts +2 -3
- package/front_end/panels/mobile_throttling/ThrottlingManager.test.ts +1 -1
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +119 -65
- package/front_end/panels/mobile_throttling/ThrottlingPresets.ts +37 -1
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +4 -3
- package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +13 -8
- package/front_end/panels/network/BlockedURLsPane.ts +1 -1
- package/front_end/panels/network/NetworkConfigView.test.ts +15 -0
- package/front_end/panels/network/NetworkConfigView.ts +11 -11
- package/front_end/panels/network/NetworkDataGridNode.test.ts +2 -2
- package/front_end/panels/network/NetworkLogView.test.ts +47 -17
- package/front_end/panels/network/NetworkLogView.ts +11 -13
- package/front_end/panels/network/NetworkLogViewColumns.ts +5 -8
- package/front_end/panels/network/NetworkOverview.test.ts +2 -4
- package/front_end/panels/network/NetworkOverview.ts +2 -4
- package/front_end/panels/network/NetworkPanel.test.ts +5 -7
- package/front_end/panels/network/NetworkPanel.ts +3 -4
- package/front_end/panels/network/NetworkWaterfallColumn.ts +3 -5
- package/front_end/panels/network/RequestPayloadView.ts +2 -2
- package/front_end/panels/network/RequestTimingView.test.ts +1 -1
- package/front_end/panels/network/RequestTimingView.ts +9 -10
- package/front_end/panels/network/blockedURLsPane.css +1 -2
- package/front_end/panels/network/components/HeaderSectionRow.test.ts +25 -27
- package/front_end/panels/network/components/RequestHeaderSection.test.ts +3 -5
- package/front_end/panels/network/components/RequestHeadersView.test.ts +27 -29
- package/front_end/panels/network/components/RequestHeadersView.ts +2 -4
- package/front_end/panels/network/components/RequestTrustTokensView.test.ts +1 -1
- package/front_end/panels/network/components/ResponseHeaderSection.test.ts +32 -34
- package/front_end/panels/network/networkConfigView.css +0 -8
- package/front_end/panels/network/networkLogView.css +2 -5
- package/front_end/panels/network/networkTimingTable.css +1 -1
- package/front_end/panels/network/webSocketFrameView.css +1 -1
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +4 -4
- package/front_end/panels/performance_monitor/performanceMonitor.css +1 -2
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +4 -0
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +2 -2
- package/front_end/panels/profiler/HeapSnapshotView.ts +1 -1
- package/front_end/panels/profiler/HeapTimelineOverview.ts +1 -2
- package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +1 -2
- package/front_end/panels/profiler/ProfileLauncherView.ts +7 -10
- package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +8 -2
- package/front_end/panels/profiler/ProfilesPanel.ts +4 -1
- package/front_end/panels/profiler/heapProfiler.css +8 -4
- package/front_end/panels/profiler/profileLauncherView.css +26 -31
- package/front_end/panels/profiler/profilesPanel.css +1 -4
- package/front_end/panels/profiler/profilesSidebarTree.css +10 -0
- package/front_end/panels/protocol_monitor/ProtocolMonitor.test.ts +12 -12
- package/front_end/panels/protocol_monitor/components/JSONEditor.test.ts +40 -42
- package/front_end/panels/protocol_monitor/components/JSONEditor.ts +0 -1
- package/front_end/panels/recorder/RecorderController.test.ts +11 -13
- package/front_end/panels/recorder/RecorderController.ts +5 -5
- package/front_end/panels/recorder/components/CreateRecordingView.test.ts +9 -9
- package/front_end/panels/recorder/components/CreateRecordingView.ts +1 -1
- package/front_end/panels/recorder/components/RecordingListView.test.ts +7 -9
- package/front_end/panels/recorder/components/RecordingView.test.ts +7 -9
- package/front_end/panels/recorder/components/RecordingView.ts +0 -2
- package/front_end/panels/recorder/components/ReplaySection.test.ts +3 -5
- package/front_end/panels/recorder/components/SelectButton.test.ts +3 -5
- package/front_end/panels/recorder/components/StepEditor.test.ts +38 -38
- package/front_end/panels/recorder/components/StepView.test.ts +10 -10
- package/front_end/panels/recorder/components/StepView.ts +4 -4
- package/front_end/panels/recorder/components/controlButton.css +3 -4
- package/front_end/panels/recorder/components/stepView.css +4 -4
- package/front_end/panels/recorder/converters/LighthouseConverter.test.ts +1 -1
- package/front_end/panels/recorder/converters/PuppeteerConverter.test.ts +2 -2
- package/front_end/panels/recorder/converters/PuppeteerReplayConverter.test.ts +1 -1
- package/front_end/panels/recorder/injected/selectors/CSSSelector.test.ts +1 -1
- package/front_end/panels/recorder/models/RecordingPlayer.test.ts +7 -7
- package/front_end/panels/recorder/models/SchemaUtils.ts +6 -1
- package/front_end/panels/recorder/models/ScreenshotUtils.test.ts +4 -4
- package/front_end/panels/recorder/models/Section.test.ts +5 -5
- package/front_end/panels/recorder/models/recording-storage.test.ts +1 -1
- package/front_end/panels/recorder/models/screenshot-storage.test.ts +1 -1
- package/front_end/panels/screencast/ScreencastView.ts +17 -19
- package/front_end/panels/screencast/screencastView.css +1 -0
- package/front_end/panels/search/SearchView.ts +2 -4
- package/front_end/panels/security/CookieControlsView.test.ts +2 -2
- package/front_end/panels/security/CookieControlsView.ts +42 -19
- package/front_end/panels/security/CookieReportView.test.ts +21 -21
- package/front_end/panels/security/CookieReportView.ts +193 -5
- package/front_end/panels/security/SecurityPanel.ts +1 -2
- package/front_end/panels/security/mainView.css +1 -2
- package/front_end/panels/security/originView.css +1 -2
- package/front_end/panels/sensors/SensorsView.ts +10 -10
- package/front_end/panels/sensors/locationsSettingsTab.css +1 -1
- package/front_end/panels/sensors/sensors.css +1 -4
- package/front_end/panels/settings/AISettingsTab.test.ts +53 -7
- package/front_end/panels/settings/AISettingsTab.ts +77 -39
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +3 -3
- package/front_end/panels/settings/KeybindsSettingsTab.ts +7 -8
- package/front_end/panels/settings/SettingsScreen.ts +4 -4
- package/front_end/panels/settings/aiSettingsTab.css +14 -4
- package/front_end/panels/settings/components/SyncSection.test.ts +2 -2
- package/front_end/panels/settings/components/SyncSection.ts +1 -1
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +2 -2
- package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -2
- package/front_end/panels/settings/emulation/devicesSettingsTab.css +3 -1
- package/front_end/panels/settings/emulation/utils/StructuredHeaders.test.ts +2 -2
- package/front_end/panels/settings/keybindsSettingsTab.css +5 -9
- package/front_end/panels/settings/settingsScreen.css +31 -13
- package/front_end/panels/sources/CSSPlugin.test.ts +1 -1
- package/front_end/panels/sources/CallStackSidebarPane.ts +1 -1
- package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
- package/front_end/panels/sources/DebuggerPlugin.test.ts +5 -5
- package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
- package/front_end/panels/sources/NavigatorView.test.ts +3 -3
- package/front_end/panels/sources/NavigatorView.ts +7 -0
- package/front_end/panels/sources/OutlineQuickOpen.ts +1 -1
- package/front_end/panels/sources/SourcesNavigator.test.ts +1 -1
- package/front_end/panels/sources/SourcesView.test.ts +5 -5
- package/front_end/panels/sources/TabbedEditorContainer.test.ts +5 -5
- package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +2 -5
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +2 -2
- package/front_end/panels/sources/components/BreakpointsView.test.ts +28 -30
- package/front_end/panels/sources/components/BreakpointsView.ts +7 -9
- package/front_end/panels/sources/components/HeadersView.test.ts +21 -23
- package/front_end/panels/sources/navigatorTree.css +4 -4
- package/front_end/panels/sources/sources-meta.ts +17 -1
- package/front_end/panels/timeline/AppenderUtils.ts +2 -0
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +5 -2
- package/front_end/panels/timeline/CountersGraph.ts +5 -4
- package/front_end/panels/timeline/EntriesFilter.test.ts +10 -10
- package/front_end/panels/timeline/EventsTimelineTreeView.ts +1 -6
- package/front_end/panels/timeline/ExtensionTrackAppender.ts +9 -4
- package/front_end/panels/timeline/Initiators.test.ts +149 -168
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +3 -26
- package/front_end/panels/timeline/ModificationsManager.test.ts +5 -5
- package/front_end/panels/timeline/TimelineController.ts +50 -4
- package/front_end/panels/timeline/TimelineDetailsView.test.ts +1 -6
- package/front_end/panels/timeline/TimelineDetailsView.ts +3 -6
- package/front_end/panels/timeline/TimelineEventOverview.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +4 -8
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +66 -76
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +3 -3
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +32 -28
- package/front_end/panels/timeline/TimelineFlameChartView.test.ts +180 -201
- package/front_end/panels/timeline/TimelineFlameChartView.ts +170 -54
- package/front_end/panels/timeline/TimelineHistoryManager.test.ts +10 -46
- package/front_end/panels/timeline/TimelineHistoryManager.ts +26 -59
- package/front_end/panels/timeline/TimelineLoader.test.ts +11 -11
- package/front_end/panels/timeline/TimelineLoader.ts +12 -15
- package/front_end/panels/timeline/TimelineMiniMap.test.ts +1 -2
- package/front_end/panels/timeline/TimelineMiniMap.ts +3 -9
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +259 -124
- package/front_end/panels/timeline/TimelineTreeView.ts +6 -11
- package/front_end/panels/timeline/TimelineUIUtils.test.ts +131 -33
- package/front_end/panels/timeline/TimelineUIUtils.ts +64 -66
- package/front_end/panels/timeline/TimingsTrackAppender.ts +19 -77
- package/front_end/panels/timeline/components/BreadcrumbsUI.test.ts +8 -10
- package/front_end/panels/timeline/components/CPUThrottlingSelector.test.ts +7 -9
- package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +33 -3
- package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +54 -311
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +13 -255
- package/front_end/panels/timeline/components/IgnoreListSetting.test.ts +425 -0
- package/front_end/panels/timeline/components/IgnoreListSetting.ts +362 -0
- package/front_end/panels/timeline/components/InteractionBreakdown.test.ts +2 -3
- package/front_end/panels/timeline/components/LiveMetricsView.test.ts +83 -116
- package/front_end/panels/timeline/components/LiveMetricsView.ts +104 -137
- package/front_end/panels/timeline/components/MetricCard.test.ts +58 -37
- package/front_end/panels/timeline/components/MetricCard.ts +5 -1
- package/front_end/panels/timeline/components/MetricCompareStrings.ts +9 -9
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +5 -8
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +14 -15
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +35 -5
- package/front_end/panels/timeline/components/OriginMap.test.ts +359 -0
- package/front_end/panels/timeline/components/OriginMap.ts +278 -0
- package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +37 -6
- package/front_end/panels/timeline/components/RelatedInsightChips.ts +34 -10
- package/front_end/panels/timeline/components/Sidebar.test.ts +1 -7
- package/front_end/panels/timeline/components/Sidebar.ts +6 -11
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +17 -20
- package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +2 -4
- package/front_end/panels/timeline/components/SidebarInsightsTab.ts +0 -1
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +66 -14
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +58 -73
- package/front_end/panels/timeline/components/Utils.test.ts +16 -18
- package/front_end/panels/timeline/components/breadcrumbsUI.css +1 -2
- package/front_end/panels/timeline/components/components.ts +4 -0
- package/front_end/panels/timeline/components/cpuThrottlingSelector.css +5 -2
- package/front_end/panels/timeline/components/fieldSettingsDialog.css +7 -10
- package/front_end/panels/timeline/components/ignoreListSetting.css +68 -0
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +5 -7
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +25 -12
- package/front_end/panels/timeline/components/insights/CLSCulprits.test.ts +44 -0
- package/front_end/panels/timeline/components/insights/CLSCulprits.ts +36 -29
- package/front_end/panels/timeline/components/insights/DOMSize.ts +62 -0
- package/front_end/panels/timeline/components/insights/DocumentLatency.ts +2 -10
- package/front_end/panels/timeline/components/insights/EventRef.ts +2 -13
- package/front_end/panels/timeline/components/insights/FontDisplay.ts +2 -10
- package/front_end/panels/timeline/components/insights/ImageDelivery.ts +28 -53
- package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +11 -10
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +18 -12
- package/front_end/panels/timeline/components/insights/LCPPhases.ts +11 -11
- package/front_end/panels/timeline/components/insights/README.md +10 -24
- package/front_end/panels/timeline/components/insights/RenderBlocking.ts +14 -13
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +45 -29
- package/front_end/panels/timeline/components/insights/Table.ts +9 -0
- package/front_end/panels/timeline/components/insights/ThirdParties.ts +28 -23
- package/front_end/panels/timeline/components/insights/Viewport.ts +2 -10
- package/front_end/panels/timeline/components/insights/baseInsightComponent.css +11 -4
- package/front_end/panels/timeline/components/insights/insights.ts +2 -0
- package/front_end/panels/timeline/components/insights/table.css +1 -1
- package/front_end/panels/timeline/components/liveMetricsView.css +40 -1
- package/front_end/panels/timeline/components/metricCard.css +39 -4
- package/front_end/panels/timeline/components/networkThrottlingSelector.css +5 -2
- package/front_end/panels/timeline/components/originMap.css +71 -0
- package/front_end/panels/timeline/components/relatedInsightChips.css +29 -0
- package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +8 -0
- package/front_end/panels/timeline/components/timelineSummary.css +1 -4
- package/front_end/panels/timeline/fixtures/traces/README.md +29 -4
- package/front_end/panels/timeline/fixtures/traces/async-js-calls.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/dom-size-long.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/dom-size.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/extension-tracks-and-marks.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/image-delivery.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/lcp-multiple-frames.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/web-dev-animation-frames.json.gz +0 -0
- package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +45 -18
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +198 -64
- package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +16 -8
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -1
- package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +2 -1
- package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.test.ts +1 -2
- package/front_end/panels/timeline/timeline.ts +0 -2
- package/front_end/panels/timeline/timelineFlameChartView.css +44 -5
- package/front_end/panels/timeline/timelineFlamechartPopover.css +2 -2
- package/front_end/panels/timeline/timelinePanel.css +4 -3
- package/front_end/panels/timeline/timelineStatusDialog.css +1 -0
- package/front_end/panels/timeline/track_appenders/AnimationsTrackAppender.test.ts +1 -1
- package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +6 -20
- package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +23 -9
- package/front_end/panels/timeline/track_appenders/GPUTrackAppender.test.ts +1 -1
- package/front_end/panels/timeline/track_appenders/InteractionsTrackAppender.test.ts +3 -3
- package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +2 -2
- package/front_end/panels/timeline/track_appenders/NetworkTrackAppender.test.ts +1 -1
- package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +2 -2
- package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +13 -12
- package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +4 -64
- package/front_end/panels/timeline/utils/AICallTree.test.ts +11 -11
- package/front_end/panels/timeline/utils/AICallTree.ts +1 -1
- package/front_end/panels/timeline/utils/EntityMapper.test.ts +124 -0
- package/front_end/panels/timeline/utils/EntityMapper.ts +164 -0
- package/front_end/panels/timeline/utils/EntryStyles.ts +40 -2
- package/front_end/panels/timeline/utils/Helpers.ts +20 -0
- package/front_end/panels/timeline/utils/IgnoreList.test.ts +1 -1
- package/front_end/panels/timeline/utils/ImageCache.test.ts +2 -2
- package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +83 -2
- package/front_end/panels/timeline/utils/SourceMapsResolver.ts +23 -21
- package/front_end/panels/timeline/utils/utils.ts +2 -0
- package/front_end/panels/utils/utils.test.ts +2 -2
- package/front_end/panels/web_audio/AudioContextSelector.ts +1 -2
- package/front_end/panels/webauthn/WebauthnPane.test.ts +55 -11
- package/front_end/panels/webauthn/WebauthnPane.ts +47 -27
- package/front_end/panels/webauthn/webauthnPane.css +2 -9
- package/front_end/panels/whats_new/ReleaseNote.test.ts +3 -2
- package/front_end/panels/whats_new/ReleaseNoteText.ts +25 -10
- package/front_end/panels/whats_new/ReleaseNoteView.test.ts +159 -0
- package/front_end/panels/whats_new/ReleaseNoteView.ts +110 -107
- package/front_end/panels/whats_new/releaseNoteView.css +78 -88
- package/front_end/panels/whats_new/resources/WNDT.md +6 -6
- package/front_end/panels/whats_new/whats_new-meta.ts +2 -2
- package/front_end/testing/DOMHelpers.ts +15 -1
- package/front_end/testing/DataGridHelpers.ts +2 -3
- package/front_end/testing/EnvironmentHelpers.ts +17 -5
- package/front_end/testing/InsightHelpers.ts +11 -0
- package/front_end/testing/NetworkHelpers.ts +2 -4
- package/front_end/testing/StubIssue.ts +1 -1
- package/front_end/testing/TraceHelpers.ts +104 -11
- package/front_end/testing/TraceLoader.ts +14 -0
- package/front_end/third_party/axe-core/README.chromium +2 -2
- package/front_end/third_party/i18n/localized-string-set.ts +13 -3
- package/front_end/third_party/lighthouse/README.chromium +2 -2
- package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1091 -807
- package/front_end/third_party/lighthouse/locales/ar-XB.json +60 -0
- package/front_end/third_party/lighthouse/locales/ar.json +60 -0
- package/front_end/third_party/lighthouse/locales/bg.json +77 -17
- package/front_end/third_party/lighthouse/locales/ca.json +77 -17
- package/front_end/third_party/lighthouse/locales/cs.json +77 -17
- package/front_end/third_party/lighthouse/locales/da.json +77 -17
- package/front_end/third_party/lighthouse/locales/de.json +77 -17
- package/front_end/third_party/lighthouse/locales/el.json +77 -17
- package/front_end/third_party/lighthouse/locales/en-GB.json +70 -10
- package/front_end/third_party/lighthouse/locales/en-US.json +154 -40
- package/front_end/third_party/lighthouse/locales/en-XL.json +154 -40
- package/front_end/third_party/lighthouse/locales/es-419.json +77 -17
- package/front_end/third_party/lighthouse/locales/es.json +60 -0
- package/front_end/third_party/lighthouse/locales/fi.json +60 -0
- package/front_end/third_party/lighthouse/locales/fil.json +60 -0
- package/front_end/third_party/lighthouse/locales/fr.json +77 -17
- package/front_end/third_party/lighthouse/locales/he.json +77 -17
- package/front_end/third_party/lighthouse/locales/hi.json +77 -17
- package/front_end/third_party/lighthouse/locales/hr.json +60 -0
- package/front_end/third_party/lighthouse/locales/hu.json +77 -17
- package/front_end/third_party/lighthouse/locales/id.json +77 -17
- package/front_end/third_party/lighthouse/locales/it.json +77 -17
- package/front_end/third_party/lighthouse/locales/ja.json +60 -0
- package/front_end/third_party/lighthouse/locales/ko.json +60 -0
- package/front_end/third_party/lighthouse/locales/lt.json +77 -17
- package/front_end/third_party/lighthouse/locales/lv.json +77 -17
- package/front_end/third_party/lighthouse/locales/nl.json +60 -0
- package/front_end/third_party/lighthouse/locales/no.json +77 -17
- package/front_end/third_party/lighthouse/locales/pl.json +60 -0
- package/front_end/third_party/lighthouse/locales/pt-PT.json +60 -0
- package/front_end/third_party/lighthouse/locales/pt.json +77 -17
- package/front_end/third_party/lighthouse/locales/ro.json +77 -17
- package/front_end/third_party/lighthouse/locales/ru.json +60 -0
- package/front_end/third_party/lighthouse/locales/sk.json +60 -0
- package/front_end/third_party/lighthouse/locales/sl.json +77 -17
- package/front_end/third_party/lighthouse/locales/sr-Latn.json +60 -0
- package/front_end/third_party/lighthouse/locales/sr.json +60 -0
- package/front_end/third_party/lighthouse/locales/sv.json +77 -17
- package/front_end/third_party/lighthouse/locales/ta.json +77 -17
- package/front_end/third_party/lighthouse/locales/te.json +72 -12
- package/front_end/third_party/lighthouse/locales/th.json +60 -0
- package/front_end/third_party/lighthouse/locales/tr.json +77 -17
- package/front_end/third_party/lighthouse/locales/uk.json +78 -18
- package/front_end/third_party/lighthouse/locales/vi.json +60 -0
- package/front_end/third_party/lighthouse/locales/zh-HK.json +77 -17
- package/front_end/third_party/lighthouse/locales/zh-TW.json +77 -17
- package/front_end/third_party/lighthouse/locales/zh.json +77 -17
- package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
- package/front_end/third_party/lit/lib/decorators.d.ts +5 -2
- package/front_end/third_party/lit/lib/decorators.js +5 -5
- package/front_end/third_party/lit/lib/decorators.js.map +1 -1
- package/front_end/third_party/lit/lib/directive.d.ts +15 -7
- package/front_end/third_party/lit/lib/directive.js.map +1 -1
- package/front_end/third_party/lit/lib/directives.d.ts +147 -7
- package/front_end/third_party/lit/lib/directives.js +9 -9
- package/front_end/third_party/lit/lib/directives.js.map +1 -1
- package/front_end/third_party/lit/lib/lit.d.ts +126 -13
- package/front_end/third_party/lit/lib/lit.js +5 -5
- package/front_end/third_party/lit/lib/lit.js.map +1 -1
- package/front_end/third_party/lit/lib/static-html.d.ts +202 -0
- package/front_end/third_party/lit/lib/static-html.js +13 -0
- package/front_end/third_party/lit/lib/static-html.js.map +1 -0
- package/front_end/third_party/lit/lit.ts +2 -1
- package/front_end/third_party/lit/package.json +2 -2
- package/front_end/third_party/lit/{rollup.config.js → rollup.config.mjs} +2 -2
- package/front_end/third_party/lit/src/static-html.ts +5 -0
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +28 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js +33 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts +14 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js +12 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/CDPSession.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +5 -0
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +22 -6
- 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 +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js +17 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js +19 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +35 -9
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +15 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ExposedFunction.js +17 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ExposedFunction.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 +13 -2
- 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 +2 -1
- 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 +4 -1
- 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 +11 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +30 -2
- 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/BrowsingContext.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts +8 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +100 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +28 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CDPSession.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CDPSession.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CDPSession.js +9 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CDPSession.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js +12 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +11 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +18 -13
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +17 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +6 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Cookie.d.ts +85 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Cookie.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +17 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.js +17 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +6 -6
- 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 +20 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts +5 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +7 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.d.ts +4 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts +50 -48
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts +14 -13
- 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 +34 -24
- 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/puppeteer-core.d.ts +7 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js +17 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/third_party/parsel-js/parsel-js.js +11 -21
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +283 -120
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +714 -497
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +28 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js +33 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts +14 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js +12 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/CDPSession.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +5 -0
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +22 -6
- 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 +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +36 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +15 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.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 +14 -3
- 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 +2 -1
- 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 +4 -1
- 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 +11 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +27 -4
- 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/BrowsingContext.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts +8 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +100 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +28 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CDPSession.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CDPSession.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CDPSession.js +9 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CDPSession.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.js +12 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +11 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +17 -13
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +6 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Cookie.d.ts +85 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Cookie.d.ts.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.d.ts.map +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/generated/version.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +6 -6
- 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 +3 -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/ChromeLauncher.d.ts +5 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +7 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.d.ts +4 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +50 -48
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts +14 -13
- 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 +34 -24
- 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/puppeteer-core.d.ts +7 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js/parsel-js.js +11 -21
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +283 -120
- package/front_end/third_party/puppeteer/package/package.json +7 -7
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +37 -0
- package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +26 -0
- package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +6 -0
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +22 -8
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +4 -6
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +57 -10
- package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +17 -0
- package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +20 -3
- package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +6 -2
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +43 -5
- package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +10 -0
- package/front_end/third_party/puppeteer/package/src/bidi/core/Request.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +55 -3
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -5
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +33 -0
- package/front_end/third_party/puppeteer/package/src/cdp/CDPSession.ts +12 -5
- package/front_end/third_party/puppeteer/package/src/cdp/Connection.ts +15 -6
- package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +13 -1
- package/front_end/third_party/puppeteer/package/src/cdp/EmulationManager.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +25 -13
- package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +1 -2
- package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +8 -0
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +7 -6
- package/front_end/third_party/puppeteer/package/src/common/Cookie.ts +87 -4
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +14 -12
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +11 -12
- package/front_end/third_party/puppeteer/package/src/node/FirefoxLauncher.ts +9 -9
- package/front_end/third_party/puppeteer/package/src/node/LaunchOptions.ts +52 -50
- package/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts +55 -45
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/ui/components/adorners/Adorner.test.ts +2 -2
- package/front_end/ui/components/buttons/button.css +5 -5
- package/front_end/ui/components/cards/Card.test.ts +1 -1
- package/front_end/ui/components/cards/card.css +2 -2
- package/front_end/ui/components/chrome_link/ChromeLink.test.ts +2 -4
- package/front_end/ui/components/chrome_link/ChromeLink.ts +1 -1
- package/front_end/ui/components/data_grid/DataGrid.test.ts +65 -67
- package/front_end/ui/components/data_grid/DataGrid.ts +11 -16
- package/front_end/ui/components/data_grid/DataGridController.test.ts +34 -36
- package/front_end/ui/components/data_grid/dataGrid.css +1 -1
- package/front_end/ui/components/dialogs/ButtonDialog.test.ts +4 -6
- package/front_end/ui/components/dialogs/ButtonDialog.ts +3 -1
- package/front_end/ui/components/dialogs/Dialog.test.ts +47 -50
- package/front_end/ui/components/dialogs/Dialog.ts +13 -101
- package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +7 -23
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +13 -92
- package/front_end/ui/components/dialogs/buttonDialog.css +1 -1
- package/front_end/ui/components/dialogs/dialog.css +10 -8
- package/front_end/ui/components/dialogs/dialogs.ts +0 -2
- package/front_end/ui/components/dialogs/shortcutDialog.css +10 -8
- package/front_end/ui/components/diff_view/DiffView.test.ts +1 -1
- package/front_end/ui/components/diff_view/diffView.css +2 -2
- package/front_end/ui/components/docs/{freestyler → ai_assistance}/basic.ts +8 -8
- package/front_end/ui/components/docs/{freestyler → ai_assistance}/empty_state.ts +5 -5
- package/front_end/ui/components/docs/building-ui-documentation/TestingComponents.md +6 -7
- package/front_end/ui/components/docs/button/basic.html +18 -34
- package/front_end/ui/components/docs/button/basic.ts +135 -371
- package/front_end/ui/components/docs/create_breadcrumbs.ts +1 -1
- package/front_end/ui/components/docs/dialog/basic.ts +71 -7
- package/front_end/ui/components/docs/dialog/button_dialog.ts +2 -1
- package/front_end/ui/components/docs/{shortcut_dialog/basic.html → dialog/shortcut_dialog.html} +1 -1
- package/front_end/ui/components/docs/{shortcut_dialog/basic.ts → dialog/shortcut_dialog.ts} +5 -5
- package/front_end/ui/components/docs/menu/basic.ts +0 -1
- package/front_end/ui/components/docs/performance_panel/basic.ts +0 -5
- package/front_end/ui/components/docs/performance_panel/timeline_history_manager.ts +0 -3
- package/front_end/ui/components/docs/radio_button/basic.html +23 -0
- package/front_end/ui/components/docs/radio_button/basic.ts +50 -0
- package/front_end/ui/components/docs/recorder_control_button/basic.ts +1 -1
- package/front_end/ui/components/docs/recorder_create_recording_view/basic.ts +1 -1
- package/front_end/ui/components/docs/recorder_recording_list_view/basic.ts +1 -1
- package/front_end/ui/components/docs/recorder_recording_view/basic.ts +1 -1
- package/front_end/ui/components/docs/recorder_select_button/basic.ts +1 -1
- package/front_end/ui/components/docs/recorder_split_view/basic.ts +1 -1
- package/front_end/ui/components/docs/recorder_start_view/basic.ts +1 -1
- package/front_end/ui/components/docs/select_menu/basic.ts +3 -4
- package/front_end/ui/components/docs/slider/basic.html +20 -0
- package/front_end/ui/components/docs/slider/basic.ts +62 -0
- package/front_end/ui/components/expandable_list/ExpandableList.test.ts +4 -4
- package/front_end/ui/components/helpers/helpers.test.ts +4 -6
- package/front_end/ui/components/helpers/scheduled-render.ts +4 -3
- package/front_end/ui/components/highlighting/HighlightManager.test.ts +7 -7
- package/front_end/ui/components/icon_button/FileSourceIcon.ts +0 -1
- package/front_end/ui/components/icon_button/IconButton.test.ts +8 -8
- package/front_end/ui/components/icon_button/icon.css +1 -1
- package/front_end/ui/components/issue_counter/IssueCounter.test.ts +10 -10
- package/front_end/ui/components/issue_counter/IssueLinkIcon.test.ts +4 -6
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +2 -4
- package/front_end/ui/components/linkifier/LinkifierImpl.test.ts +8 -10
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +3 -5
- package/front_end/ui/components/markdown_view/MarkdownImage.test.ts +2 -4
- package/front_end/ui/components/markdown_view/MarkdownView.test.ts +9 -9
- package/front_end/ui/components/markdown_view/markdownLink.css +0 -4
- package/front_end/ui/components/markdown_view/markdownView.css +1 -5
- package/front_end/ui/components/menus/Menu.ts +3 -22
- package/front_end/ui/components/menus/SelectMenu.test.ts +5 -7
- package/front_end/ui/components/menus/SelectMenu.ts +6 -39
- package/front_end/ui/components/menus/selectMenuButton.css +1 -1
- package/front_end/ui/components/panel_feedback/FeedbackButton.test.ts +2 -4
- package/front_end/ui/components/panel_feedback/PanelFeedback.test.ts +2 -4
- package/front_end/ui/components/panel_feedback/PreviewToggle.test.ts +5 -7
- package/front_end/ui/components/render_coordinator/render_coordinator.test.ts +53 -52
- package/front_end/ui/components/render_coordinator/render_coordinator.ts +301 -2
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.test.ts +5 -7
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +30 -27
- package/front_end/ui/components/request_link_icon/requestLinkIcon.css +3 -0
- package/front_end/ui/components/settings/SettingCheckbox.test.ts +3 -3
- package/front_end/ui/components/settings/SettingCheckbox.ts +4 -3
- package/front_end/ui/components/spinners/spinner.css +4 -4
- package/front_end/ui/components/split_view/SplitView.test.ts +6 -8
- package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +2 -4
- package/front_end/ui/components/srgb_overlay/srgbOverlay.css +2 -2
- package/front_end/ui/components/suggestion_input/SuggestionInput.ts +1 -1
- package/front_end/ui/components/suggestion_input/suggestionInput.css +1 -2
- package/front_end/ui/components/survey_link/SurveyLink.ts +1 -1
- package/front_end/ui/components/switch/SwitchImpl.test.ts +1 -1
- package/front_end/ui/components/switch/SwitchImpl.ts +2 -2
- package/front_end/ui/components/text_editor/TextEditor.test.ts +6 -6
- package/front_end/ui/components/text_editor/config.ts +22 -4
- package/front_end/ui/components/text_prompt/TextPrompt.test.ts +3 -3
- package/front_end/ui/components/tree_outline/TreeOutline.test.ts +46 -48
- package/front_end/ui/components/tree_outline/TreeOutline.ts +3 -5
- package/front_end/ui/legacy/ARIAUtils.ts +1 -5
- package/front_end/ui/legacy/Dialog.ts +2 -4
- package/front_end/ui/legacy/DockController.test.ts +2 -2
- package/front_end/ui/legacy/DropTarget.ts +1 -2
- package/front_end/ui/legacy/EmptyWidget.ts +1 -1
- package/front_end/ui/legacy/FilterBar.ts +3 -5
- package/front_end/ui/legacy/Infobar.ts +5 -7
- package/front_end/ui/legacy/ListWidget.ts +1 -1
- package/front_end/ui/legacy/ProgressIndicator.ts +2 -3
- package/front_end/ui/legacy/ReportView.ts +2 -2
- package/front_end/ui/legacy/SearchableView.ts +4 -7
- package/front_end/ui/legacy/SettingsUI.ts +2 -2
- package/front_end/ui/legacy/ShortcutRegistry.test.ts +3 -3
- package/front_end/ui/legacy/SoftDropDown.ts +0 -1
- package/front_end/ui/legacy/SplitWidget.ts +2 -2
- package/front_end/ui/legacy/SuggestBox.test.ts +5 -5
- package/front_end/ui/legacy/SuggestBox.ts +1 -2
- package/front_end/ui/legacy/TabbedPane.ts +42 -2
- package/front_end/ui/legacy/TextPrompt.ts +1 -1
- package/front_end/ui/legacy/Toolbar.test.ts +2 -5
- package/front_end/ui/legacy/Toolbar.ts +11 -8
- package/front_end/ui/legacy/Treeoutline.ts +1 -2
- package/front_end/ui/legacy/UIUtils.ts +164 -131
- package/front_end/ui/legacy/ViewRegistration.test.ts +1 -1
- package/front_end/ui/legacy/Widget.test.ts +111 -4
- package/front_end/ui/legacy/Widget.ts +81 -34
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +4 -4
- package/front_end/ui/legacy/components/color_picker/Spectrum.test.ts +1 -1
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +2 -2
- package/front_end/ui/legacy/components/color_picker/spectrum.css +2 -1
- package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +8 -8
- package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +2 -4
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +10 -17
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.test.ts +3 -3
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +1 -0
- package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +2 -2
- package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.test.ts +1 -1
- package/front_end/ui/legacy/components/inline_editor/ColorSwatch.test.ts +5 -5
- package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +22 -23
- package/front_end/ui/legacy/components/inline_editor/Swatches.ts +26 -26
- package/front_end/ui/legacy/components/inline_editor/bezierSwatch.css +4 -4
- package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +1 -4
- package/front_end/ui/legacy/components/inline_editor/cssAngleSwatch.css +1 -4
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +2 -4
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -5
- package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +4 -4
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +72 -71
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.test.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +172 -108
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
- package/front_end/ui/legacy/components/perf_ui/PieChart.test.ts +6 -6
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +29 -11
- package/front_end/ui/legacy/components/perf_ui/filmStripView.css +1 -2
- package/front_end/ui/legacy/components/perf_ui/flameChart.css +1 -12
- package/front_end/ui/legacy/components/perf_ui/overviewGrid.css +1 -4
- package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +13 -11
- package/front_end/ui/legacy/components/perf_ui/pieChart.css +1 -1
- package/front_end/ui/legacy/components/perf_ui/timelineGrid.css +1 -4
- package/front_end/ui/legacy/components/quick_open/CommandMenu.test.ts +3 -3
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +2 -2
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +3 -1
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +1 -2
- package/front_end/ui/legacy/components/source_frame/FontView.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -4
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +22 -19
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +3 -4
- package/front_end/ui/legacy/components/utils/Linkifier.test.ts +4 -0
- package/front_end/ui/legacy/dropTarget.css +1 -4
- package/front_end/ui/legacy/glassPane.css +2 -4
- package/front_end/ui/legacy/inspectorCommon.css +86 -20
- package/front_end/ui/legacy/inspectorViewTabbedPane.css +0 -19
- package/front_end/ui/legacy/legacy.ts +0 -2
- package/front_end/ui/legacy/reportView.css +7 -1
- package/front_end/ui/legacy/rootView.css +1 -4
- package/front_end/ui/legacy/softDropDown.css +1 -2
- package/front_end/ui/legacy/tabbedPane.css +10 -18
- package/front_end/ui/legacy/textButton.css +6 -6
- package/front_end/ui/legacy/themeColors.css +50 -28
- package/front_end/ui/legacy/toolbar.css +4 -28
- package/front_end/ui/legacy/treeoutline.css +1 -1
- package/front_end/ui/lit-html/i18n-template.test.ts +53 -0
- package/front_end/ui/lit-html/i18n-template.ts +32 -0
- package/front_end/ui/lit-html/lit-html.ts +13 -14
- package/front_end/ui/visual_logging/Debugging.test.ts +0 -9
- package/front_end/ui/visual_logging/Debugging.ts +45 -12
- package/front_end/ui/visual_logging/DomState.test.ts +6 -6
- package/front_end/ui/visual_logging/KnownContextValues.ts +199 -3
- package/front_end/ui/visual_logging/LoggingDriver.test.ts +6 -7
- package/front_end/ui/visual_logging/LoggingDriver.ts +3 -4
- package/front_end/ui/visual_logging/LoggingEvents.test.ts +16 -16
- package/front_end/ui/visual_logging/LoggingEvents.ts +1 -1
- package/front_end/ui/visual_logging/visual_logging.ts +12 -1
- package/inspector_overlay/common.css +1 -4
- package/inspector_overlay/css_grid_label_helpers.test.ts +14 -15
- package/inspector_overlay/css_grid_label_helpers.ts +2 -2
- package/inspector_overlay/highlight_common.test.ts +6 -6
- package/inspector_overlay/highlight_common.ts +1 -1
- package/inspector_overlay/highlight_flex_common.test.ts +45 -45
- package/inspector_overlay/main.ts +7 -7
- package/inspector_overlay/tool_highlight.css +1 -1
- package/inspector_overlay/tool_highlight.test.ts +3 -3
- package/inspector_overlay/tool_highlight.ts +1 -1
- package/inspector_overlay/tool_window_controls.test.ts +2 -2
- package/package.json +15 -14
- package/scripts/{freestyler → ai_assistance}/README.md +11 -10
- package/scripts/{freestyler/auto_freestyler.js → ai_assistance/auto-run.js} +31 -2
- package/scripts/{freestyler → ai_assistance}/eval/index.js +1 -1
- package/scripts/ai_assistance/types.d.ts +54 -0
- package/scripts/build/typescript/ts_library.py +3 -0
- package/scripts/build/typescript/typescript.gni +4 -1
- package/scripts/check_experiments.js +82 -23
- package/scripts/component_server/server.js +142 -48
- package/scripts/devtools_paths.js +25 -9
- package/scripts/eslint_rules/README.md +5 -1
- package/scripts/eslint_rules/lib/{l10n_no_locked_or_placeholder_only_phrase.js → l10n-no-locked-or-placeholder-only-phrase.js} +1 -1
- package/scripts/eslint_rules/lib/{l10n_no_uistrings_export.js → l10n-no-uistrings-export.js} +1 -1
- package/scripts/eslint_rules/lib/{l10n_no_unused_message.js → l10n-no-unused-message.js} +1 -1
- package/scripts/eslint_rules/lib/{ban_a_tags_in_lit_html.js → no-a-tags-in-lit-html.js} +0 -1
- package/scripts/eslint_rules/lib/no-assert-deep-strict-equal.js +61 -0
- package/scripts/eslint_rules/lib/no-assert-equal-boolean-null-undefined.js +125 -0
- package/scripts/eslint_rules/lib/no-assert-strict-equal-for-arrays-and-objects.js +75 -0
- package/scripts/eslint_rules/lib/no-customized-builtin-elements.js +120 -0
- package/scripts/eslint_rules/lib/{ban_imports_in_directory.js → no-imports-in-directory.js} +0 -1
- package/scripts/eslint_rules/lib/{ban_new_lit_element_components.js → no-new-lit-element-components.js} +0 -1
- package/scripts/eslint_rules/lib/{ban_style_tags_in_lit_html.js → no-style-tags-in-lit-html.js} +14 -3
- package/scripts/eslint_rules/lib/prefer-assert-instance-of.js +89 -0
- package/scripts/eslint_rules/lib/prefer-assert-is-ok.js +71 -0
- package/scripts/eslint_rules/lib/prefer-assert-length-of.js +79 -0
- package/scripts/eslint_rules/lib/{use_private_class_members.js → prefer-private-class-members.js} +4 -6
- package/scripts/eslint_rules/lib/prefer-readonly-keyword.js +57 -0
- package/scripts/eslint_rules/tests/{canvas_context_tracking_test.js → canvas-context-tracking.test.js} +2 -2
- package/scripts/eslint_rules/tests/{check_css_import_test.js → check-css-import.test.js} +2 -2
- package/scripts/eslint_rules/tests/{check_enumerated_histograms_test.js → check-enumerated-histograms.test.js} +2 -2
- package/scripts/eslint_rules/tests/{check_license_header_test.js → check-license-header.test.js} +2 -2
- package/scripts/eslint_rules/tests/{check_test_definitions_test.js → check-test-definitions.test.js} +2 -2
- package/scripts/eslint_rules/tests/{check_was_shown_methods_test.js → check-was-shown-methods.test.js} +2 -2
- package/scripts/eslint_rules/tests/{enforce_bound_render_for_schedule_render_test.js → enforce-bound-render-for-schedule-render.test.js} +2 -2
- package/scripts/eslint_rules/tests/{enforce_custom_event_names_test.js → enforce-custom-event-names.test.js} +2 -2
- package/scripts/eslint_rules/tests/{enforce_default_import_name_test.js → enforce-default-import-name.test.js} +2 -2
- package/scripts/eslint_rules/tests/{es_modules_import_test.js → es-modules-import.test.js} +2 -2
- package/scripts/eslint_rules/tests/{html_tagged_template_test.js → html-tagged-template.test.js} +2 -2
- package/scripts/eslint_rules/tests/{inject_checkbox_styles_test.js → inject-checkbox-styles.test.js} +2 -2
- package/scripts/eslint_rules/tests/{inline_type_imports_test.js → inline-type-imports.test.js} +2 -2
- package/scripts/eslint_rules/tests/{jslog_context_list_test.js → jslog-context-list.test.js} +2 -2
- package/scripts/eslint_rules/tests/{l10n_filename_matches_test.js → l10n-filename-matches.test.js} +2 -2
- package/scripts/eslint_rules/tests/{l10n_i18nString_call_only_with_uistrings_test.js → l10n-i18nString-call-only-with-uistrings.test.js} +2 -2
- package/scripts/eslint_rules/tests/{l10n_no_i18nString_calls_module_instantiation_test.js → l10n-no-i18nString-calls-module-instantiation.test.js} +2 -2
- package/scripts/eslint_rules/tests/{l10n_no_locked_or_placeholder_only_phrase_test.js → l10n-no-locked-or-placeholder-only-phrase.test.js} +2 -2
- package/scripts/eslint_rules/tests/{l10n_no_uistrings_export_test.js → l10n-no-uistrings-export.test.js} +2 -2
- package/scripts/eslint_rules/tests/{l10n_no_unused_message_test.js → l10n-no-unused-message.test.js} +2 -2
- package/scripts/eslint_rules/tests/{lit_html_host_this_test.js → lit-html-host-this.test.js} +2 -2
- package/scripts/eslint_rules/tests/{lit_html_no_attribute_quotes_test.js → lit-html-no-attribute-quotes.test.js} +2 -2
- package/scripts/eslint_rules/tests/{lit_template_result_or_nothing_test.js → lit-template-result-or-nothing.test.js} +2 -2
- package/scripts/eslint_rules/tests/{ban_a_tags_in_lit_html_test.js → no-a-tags-in-lit-html.test.js} +2 -2
- package/scripts/eslint_rules/tests/no-assert-deep-strict-equal.test.js +53 -0
- package/scripts/eslint_rules/tests/no-assert-equal-boolean-null-undefined.test.js +209 -0
- package/scripts/eslint_rules/tests/{avoid_assert_equal_test.js → no-assert-equal.test.js} +2 -2
- package/scripts/eslint_rules/tests/no-assert-strict-equal-for-arrays-and-objects.test.js +89 -0
- package/scripts/eslint_rules/tests/{no_bound_component_methods_test.js → no-bound-component-methods.test.js} +2 -2
- package/scripts/eslint_rules/tests/{commented_out_console_test.js → no-commented-out-console.test.js} +2 -2
- package/scripts/eslint_rules/tests/{commented_out_import_test.js → no-commented-out-import.test.js} +2 -2
- package/scripts/eslint_rules/tests/no-customized-builtin-elements.test.js +152 -0
- package/scripts/eslint_rules/tests/{no_importing_images_from_src_test.js → no-importing-images-from-src.test.js} +2 -2
- package/scripts/eslint_rules/tests/{ban_imports_in_directory_test.js → no-imports-in-directory.test.js} +2 -2
- package/scripts/eslint_rules/tests/{no_it_screenshot_only_or_repeat_test.js → no-it-screenshot-only-or-repeat.test.js} +2 -2
- package/scripts/eslint_rules/tests/{ban_new_lit_element_components_test.js → no-new-lit-element-components.test.js} +2 -2
- package/scripts/eslint_rules/tests/{no_only_eslint_tests_test.js → no-only-eslint-tests.test.js} +9 -9
- package/scripts/eslint_rules/tests/{ban_screenshot_test_outside_perf_panel_test.js → no-screenshot-test-outside-perf-panel.test.js} +2 -2
- package/scripts/eslint_rules/tests/{ban_self_closing_custom_element_tagnames_test.js → no-self-closing-custom-element-tagnames.test.js} +2 -2
- package/scripts/eslint_rules/tests/{ban_style_tags_in_lit_html_test.js → no-style-tags-in-lit-html.test.js} +2 -2
- package/scripts/eslint_rules/tests/{no_underscored_properties_test.js → no-underscored-properties.test.js} +2 -2
- package/scripts/eslint_rules/tests/prefer-assert-instance-of.test.js +197 -0
- package/scripts/eslint_rules/tests/prefer-assert-is-ok.test.js +81 -0
- package/scripts/eslint_rules/tests/prefer-assert-length-of.test.js +145 -0
- package/scripts/eslint_rules/tests/{use_private_class_members_test.js → prefer-private-class-members.test.js} +2 -2
- package/scripts/eslint_rules/tests/{prefer_readonly_keyword_test.js → prefer-readonly-keyword.test.js} +31 -15
- package/scripts/eslint_rules/tests/{screenshot_assertion_in_it_screenshot_test.js → screenshot-assertion-in-it-screenshot.test.js} +2 -2
- package/scripts/eslint_rules/tests/{set_data_type_reference_test.js → set-data-type-reference.test.js} +2 -2
- package/scripts/eslint_rules/tests/{single_screenshot_assertion_per_test_test.js → single-screenshot-assertion-per-test.test.js} +2 -2
- package/scripts/eslint_rules/tests/{static_custom_event_names_test.js → static-custom-event-names.test.js} +2 -2
- package/scripts/eslint_rules/tests/{trace_engine_test_timeouts_test.js → trace-engine-test-timeouts.test.js} +2 -2
- package/scripts/generate_metric_compare_strings.js +1 -1
- package/scripts/stylelint_rules/lib/{use_theme_colors.js → use_theme_colors.mjs} +150 -52
- package/scripts/stylelint_rules/tests/use_theme_colors_test.js +102 -42
- package/.eslintignore +0 -41
- package/.eslintrc.js +0 -315
- package/front_end/.eslintrc.js +0 -96
- package/front_end/Images/whatsnew.avif +0 -0
- package/front_end/legacy_test_runner/.eslintrc.js +0 -13
- package/front_end/models/trace/extras/URLForEntry.ts +0 -56
- package/front_end/models/trace/handlers/.eslintrc.js +0 -18
- package/front_end/models/trace/lantern/.eslintrc.js +0 -16
- package/front_end/panels/elements/ComputedStyleWidget.test.ts +0 -72
- package/front_end/panels/elements/components/AdornerSettingsPane.ts +0 -132
- package/front_end/panels/elements/components/adornerSettingsPane.css +0 -40
- package/front_end/panels/freestyler/freestyler.ts +0 -16
- package/front_end/panels/recorder/injected/.eslintrc.js +0 -14
- package/front_end/panels/timeline/ExtensionDataGatherer.ts +0 -65
- package/front_end/panels/timeline/TimelineLandingPage.ts +0 -108
- package/front_end/panels/timeline/fixtures/traces/nested-initiators.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/set-timeout-long-task.json.gz +0 -0
- package/front_end/panels/whats_new/resources/whatsnew.avif +0 -0
- package/front_end/ui/components/dialogs/IconDialog.ts +0 -160
- package/front_end/ui/components/dialogs/iconDialog.css +0 -24
- package/front_end/ui/components/docs/.eslintrc.js +0 -19
- package/front_end/ui/components/docs/icon_dialog/basic.html +0 -28
- package/front_end/ui/components/docs/icon_dialog/basic.ts +0 -46
- package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +0 -331
- package/front_end/ui/legacy/HistoryInput.ts +0 -61
- package/front_end/ui/legacy/components/perf_ui/.eslintrc.js +0 -18
- package/front_end/ui/legacy/radioButton.css +0 -32
- package/front_end/ui/legacy/slider.css +0 -51
- package/front_end/ui/lit-html/static.test.ts +0 -153
- package/front_end/ui/lit-html/static.ts +0 -127
- package/scripts/.eslintrc.js +0 -9
- package/scripts/eslint_rules/lib/compare_arrays_with_assert_deepequal.js +0 -60
- package/scripts/eslint_rules/lib/lit_no_style_interpolation.js +0 -80
- package/scripts/eslint_rules/lib/migrate_create_shadow_root_with_styles.js +0 -110
- package/scripts/eslint_rules/lib/migrate_register_required_css.js +0 -240
- package/scripts/eslint_rules/lib/no_repeated_tests.js +0 -30
- package/scripts/eslint_rules/lib/prefer_readonly_keyword.js +0 -27
- package/scripts/eslint_rules/lib/static_tag_must_be_static_property.js +0 -71
- package/scripts/eslint_rules/tests/.eslintrc.js +0 -18
- package/scripts/eslint_rules/tests/compare_arrays_with_assert_deepequal_test.js +0 -110
- package/scripts/eslint_rules/tests/lit_no_style_interpolation_test.js +0 -60
- package/scripts/eslint_rules/tests/migrate_create_shadow_root_with_styles_test.js +0 -265
- package/scripts/eslint_rules/tests/migrate_register_required_css_test.js +0 -473
- package/scripts/eslint_rules/tests/no_repeated_tests_test.js +0 -49
- package/scripts/eslint_rules/tests/static_tag_must_be_static_property_test.js +0 -93
- /package/front_end/panels/{freestyler → ai_assistance}/ExtensionScope.ts +0 -0
- /package/front_end/panels/{freestyler → ai_assistance}/components/userActionRow.css +0 -0
- /package/front_end/ui/components/docs/{freestyler → ai_assistance}/basic.html +0 -0
- /package/front_end/ui/components/docs/{freestyler → ai_assistance}/empty_state.html +0 -0
- /package/scripts/{freestyler → ai_assistance}/eval/index.html +0 -0
- /package/scripts/{freestyler → ai_assistance}/to_tsv.mjs +0 -0
- /package/scripts/eslint_rules/lib/{canvas_context_tracking.js → canvas-context-tracking.js} +0 -0
- /package/scripts/eslint_rules/lib/{check_css_import.js → check-css-import.js} +0 -0
- /package/scripts/eslint_rules/lib/{check_enumerated_histograms.js → check-enumerated-histograms.js} +0 -0
- /package/scripts/eslint_rules/lib/{check_license_header.js → check-license-header.js} +0 -0
- /package/scripts/eslint_rules/lib/{check_test_definitions.js → check-test-definitions.js} +0 -0
- /package/scripts/eslint_rules/lib/{check_was_shown_methods.js → check-was-shown-methods.js} +0 -0
- /package/scripts/eslint_rules/lib/{enforce_bound_render_for_schedule_render.js → enforce-bound-render-for-schedule-render.js} +0 -0
- /package/scripts/eslint_rules/lib/{enforce_custom_event_names.js → enforce-custom-event-names.js} +0 -0
- /package/scripts/eslint_rules/lib/{enforce_default_import_name.js → enforce-default-import-name.js} +0 -0
- /package/scripts/eslint_rules/lib/{es_modules_import.js → es-modules-import.js} +0 -0
- /package/scripts/eslint_rules/lib/{html_tagged_template.js → html-tagged-template.js} +0 -0
- /package/scripts/eslint_rules/lib/{inject_checkbox_styles.js → inject-checkbox-styles.js} +0 -0
- /package/scripts/eslint_rules/lib/{inline_type_imports.js → inline-type-imports.js} +0 -0
- /package/scripts/eslint_rules/lib/{jslog_context_list.js → jslog-context-list.js} +0 -0
- /package/scripts/eslint_rules/lib/{l10n_filename_matches.js → l10n-filename-matches.js} +0 -0
- /package/scripts/eslint_rules/lib/{l10n_helper.js → l10n-helper.js} +0 -0
- /package/scripts/eslint_rules/lib/{l10n_i18nString_call_only_with_uistrings.js → l10n-i18nString-call-only-with-uistrings.js} +0 -0
- /package/scripts/eslint_rules/lib/{l10n_no_i18nString_calls_module_instantiation.js → l10n-no-i18nString-calls-module-instantiation.js} +0 -0
- /package/scripts/eslint_rules/lib/{lit_html_host_this.js → lit-html-host-this.js} +0 -0
- /package/scripts/eslint_rules/lib/{lit_html_no_attribute_quotes.js → lit-html-no-attribute-quotes.js} +0 -0
- /package/scripts/eslint_rules/lib/{lit_template_result_or_nothing.js → lit-template-result-or-nothing.js} +0 -0
- /package/scripts/eslint_rules/lib/{avoid_assert_equal.js → no-assert-equal.js} +0 -0
- /package/scripts/eslint_rules/lib/{no_bound_component_methods.js → no-bound-component-methods.js} +0 -0
- /package/scripts/eslint_rules/lib/{commented_out_console.js → no-commented-out-console.js} +0 -0
- /package/scripts/eslint_rules/lib/{commented_out_import.js → no-commented-out-import.js} +0 -0
- /package/scripts/eslint_rules/lib/{no_importing_images_from_src.js → no-importing-images-from-src.js} +0 -0
- /package/scripts/eslint_rules/lib/{no_it_screenshot_only_or_repeat.js → no-it-screenshot-only-or-repeat.js} +0 -0
- /package/scripts/eslint_rules/lib/{no_only_eslint_tests.js → no-only-eslint-tests.js} +0 -0
- /package/scripts/eslint_rules/lib/{ban_screenshot_test_outside_perf_panel.js → no-screenshot-test-outside-perf-panel.js} +0 -0
- /package/scripts/eslint_rules/lib/{ban_self_closing_custom_element_tagnames.js → no-self-closing-custom-element-tagnames.js} +0 -0
- /package/scripts/eslint_rules/lib/{no_underscored_properties.js → no-underscored-properties.js} +0 -0
- /package/scripts/eslint_rules/lib/{screenshot_assertion_in_it_screenshot.js → screenshot-assertion-in-it-screenshot.js} +0 -0
- /package/scripts/eslint_rules/lib/{set_data_type_reference.js → set-data-type-reference.js} +0 -0
- /package/scripts/eslint_rules/lib/{single_screenshot_assertion_per_test.js → single-screenshot-assertion-per-test.js} +0 -0
- /package/scripts/eslint_rules/lib/{static_custom_event_names.js → static-custom-event-names.js} +0 -0
- /package/scripts/eslint_rules/lib/{trace_engine_test_timeouts.js → trace-engine-test-timeouts.js} +0 -0
- /package/scripts/eslint_rules/tests/{enforce-optional-properties-last_test.js → enforce-optional-properties-last.test.js} +0 -0
- /package/scripts/eslint_rules/tests/{utils_test.js → utils.test.js} +0 -0
@@ -0,0 +1,124 @@
|
|
1
|
+
// Copyright 2024 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 Trace from '../../../models/trace/trace.js';
|
6
|
+
import {describeWithEnvironment} from '../../../testing/EnvironmentHelpers.js';
|
7
|
+
import {TraceLoader} from '../../../testing/TraceLoader.js';
|
8
|
+
|
9
|
+
import * as Utils from './utils.js';
|
10
|
+
|
11
|
+
describeWithEnvironment('EntityMapper', function() {
|
12
|
+
it('correctly merges handler data', async function() {
|
13
|
+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'lantern/paul/trace.json.gz');
|
14
|
+
|
15
|
+
const fromRenderer = new Map(parsedTrace.Renderer.entityMappings.eventsByEntity);
|
16
|
+
const fromNetwork = new Map(parsedTrace.NetworkRequests.entityMappings.eventsByEntity);
|
17
|
+
|
18
|
+
const mapper = new Utils.EntityMapper.EntityMapper(parsedTrace);
|
19
|
+
const mappings = mapper.mappings();
|
20
|
+
|
21
|
+
// [paulirish.com, Google Tag Manager, Google Fonts, Google Analytics, Disqus, Firebase]
|
22
|
+
assert.deepEqual(mappings.eventsByEntity.size, 6);
|
23
|
+
|
24
|
+
// Check that mappings.eventsByEntity includes all the events of RendererHandler.
|
25
|
+
fromRenderer.entries().forEach(([entity, events]) => {
|
26
|
+
assert.isTrue(mappings.eventsByEntity.has(entity));
|
27
|
+
const gotEvents = mappings.eventsByEntity.get(entity) ?? [];
|
28
|
+
events.forEach(e => {
|
29
|
+
assert.isTrue(gotEvents.includes(e));
|
30
|
+
});
|
31
|
+
});
|
32
|
+
|
33
|
+
// Check that mappings.eventsByEntity includes all the events of NetworkRequestsHandler.
|
34
|
+
fromNetwork.entries().forEach(([entity, events]) => {
|
35
|
+
assert.isTrue(mappings.eventsByEntity.has(entity));
|
36
|
+
const gotEvents = mappings.eventsByEntity.get(entity) ?? [];
|
37
|
+
events.forEach(e => {
|
38
|
+
assert.isTrue(gotEvents.includes(e));
|
39
|
+
});
|
40
|
+
});
|
41
|
+
|
42
|
+
// Additioanlly make sure they sum up.
|
43
|
+
mappings.eventsByEntity.entries().forEach(([entity, events]) => {
|
44
|
+
const eventsInNetwork = fromNetwork.get(entity) ?? [];
|
45
|
+
const eventsInRenderer = fromRenderer.get(entity) ?? [];
|
46
|
+
assert.deepEqual(events.length, eventsInNetwork.length + eventsInRenderer.length);
|
47
|
+
});
|
48
|
+
});
|
49
|
+
|
50
|
+
describe('entityForEvent', () => {
|
51
|
+
it('correctly contains network req entity mappings', async function() {
|
52
|
+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'lantern/paul/trace.json.gz');
|
53
|
+
const mapper = new Utils.EntityMapper.EntityMapper(parsedTrace);
|
54
|
+
|
55
|
+
// Check entities for network requests.
|
56
|
+
const reqs = parsedTrace.NetworkRequests.byOrigin.get('www.paulirish.com')?.all ?? [];
|
57
|
+
let gotEntity = mapper.entityForEvent(reqs[0]);
|
58
|
+
assert.deepEqual(gotEntity?.name, 'paulirish.com');
|
59
|
+
|
60
|
+
const gstatic = parsedTrace.NetworkRequests.byOrigin.get('fonts.gstatic.com')?.all ?? [];
|
61
|
+
gotEntity = mapper.entityForEvent(gstatic[0]);
|
62
|
+
assert.deepEqual(gotEntity?.name, 'Google Fonts');
|
63
|
+
});
|
64
|
+
|
65
|
+
it('correctly contains main event entity mappings', async function() {
|
66
|
+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'lantern/paul/trace.json.gz');
|
67
|
+
const mapper = new Utils.EntityMapper.EntityMapper(parsedTrace);
|
68
|
+
|
69
|
+
const funcCall = parsedTrace.Renderer.allTraceEntries.find(e => Trace.Types.Events.isFunctionCall(e));
|
70
|
+
assert.exists(funcCall);
|
71
|
+
|
72
|
+
// This function call should map to paulirish.com entity.
|
73
|
+
const gotEntity = mapper.entityForEvent(funcCall);
|
74
|
+
assert.deepEqual(gotEntity?.name, 'paulirish.com');
|
75
|
+
});
|
76
|
+
});
|
77
|
+
describe('eventsForEntity', () => {
|
78
|
+
it('correctly contains network req entity mappings', async function() {
|
79
|
+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'lantern/paul/trace.json.gz');
|
80
|
+
const mapper = new Utils.EntityMapper.EntityMapper(parsedTrace);
|
81
|
+
|
82
|
+
const reqs = parsedTrace.NetworkRequests.byOrigin.get('www.paulirish.com')?.all ?? [];
|
83
|
+
const entity = mapper.entityForEvent(reqs[0]);
|
84
|
+
assert.exists(entity);
|
85
|
+
assert.deepEqual(entity.name, 'paulirish.com');
|
86
|
+
|
87
|
+
// Reqs should all be mapped to the correct entity.
|
88
|
+
const gotEvents = mapper.eventsForEntity(entity);
|
89
|
+
reqs.forEach(req => {
|
90
|
+
assert.isTrue(gotEvents.includes(req));
|
91
|
+
});
|
92
|
+
});
|
93
|
+
});
|
94
|
+
describe('first party', () => {
|
95
|
+
it('correctly captures the first party entity', async function() {
|
96
|
+
const {parsedTrace: localhostTrace} = await TraceLoader.traceEngine(this, 'load-simple.json.gz');
|
97
|
+
let mapper = new Utils.EntityMapper.EntityMapper(localhostTrace);
|
98
|
+
let got = mapper.firstPartyEntity();
|
99
|
+
assert.deepEqual(got?.name, 'localhost');
|
100
|
+
|
101
|
+
const {parsedTrace: paulTrace} = await TraceLoader.traceEngine(this, 'lantern/paul/trace.json.gz');
|
102
|
+
mapper = new Utils.EntityMapper.EntityMapper(paulTrace);
|
103
|
+
got = mapper.firstPartyEntity();
|
104
|
+
assert.deepEqual(got?.name, 'paulirish.com');
|
105
|
+
|
106
|
+
const {parsedTrace: webDevTrace} = await TraceLoader.traceEngine(this, 'web-dev.json.gz');
|
107
|
+
mapper = new Utils.EntityMapper.EntityMapper(webDevTrace);
|
108
|
+
got = mapper.firstPartyEntity();
|
109
|
+
assert.deepEqual(got?.name, 'web.dev');
|
110
|
+
});
|
111
|
+
it('correctly captures 3p events', async function() {
|
112
|
+
const {parsedTrace: paulTrace} = await TraceLoader.traceEngine(this, 'lantern/paul/trace.json.gz');
|
113
|
+
const mapper = new Utils.EntityMapper.EntityMapper(paulTrace);
|
114
|
+
const got = mapper.firstPartyEntity();
|
115
|
+
assert.exists(got);
|
116
|
+
assert.deepEqual(got.name, 'paulirish.com');
|
117
|
+
const firstPartyEvents = mapper.eventsForEntity(got);
|
118
|
+
const gotThirdPartyEvents = mapper.thirdPartyEvents();
|
119
|
+
gotThirdPartyEvents.forEach(e => {
|
120
|
+
assert.isTrue(!firstPartyEvents.includes(e));
|
121
|
+
});
|
122
|
+
});
|
123
|
+
});
|
124
|
+
});
|
@@ -0,0 +1,164 @@
|
|
1
|
+
// Copyright 2024 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 type * as Protocol from '../../../generated/protocol.js';
|
6
|
+
import * as Trace from '../../../models/trace/trace.js';
|
7
|
+
|
8
|
+
export class EntityMapper {
|
9
|
+
#parsedTrace: Trace.Handlers.Types.ParsedTrace;
|
10
|
+
#entityMappings: Trace.Handlers.Helpers.EntityMappings;
|
11
|
+
#firstPartyEntity: Trace.Handlers.Helpers.Entity|null;
|
12
|
+
#thirdPartyEvents: Trace.Types.Events.Event[] = [];
|
13
|
+
/**
|
14
|
+
* When resolving urls and updating our entity mapping in the
|
15
|
+
* SourceMapsResolver, a single call frame can appear multiple times
|
16
|
+
* as different cpu profile nodes. To avoid duplicate work on the
|
17
|
+
* same CallFrame, we can keep track of them.
|
18
|
+
*/
|
19
|
+
#resolvedCallFrames: Set<Protocol.Runtime.CallFrame> = new Set();
|
20
|
+
|
21
|
+
constructor(parsedTrace: Trace.Handlers.Types.ParsedTrace) {
|
22
|
+
this.#parsedTrace = parsedTrace;
|
23
|
+
this.#entityMappings = this.#initializeEntityMappings(this.#parsedTrace);
|
24
|
+
this.#firstPartyEntity = this.#findFirstPartyEntity();
|
25
|
+
this.#thirdPartyEvents = this.#getThirdPartyEvents();
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* This initializes our maps using the parsedTrace data from both the RendererHandler and
|
30
|
+
* the NetworkRequestsHandler.
|
31
|
+
*/
|
32
|
+
#initializeEntityMappings(parsedTrace: Trace.Handlers.Types.ParsedTrace): Trace.Handlers.Helpers.EntityMappings {
|
33
|
+
// NetworkRequestHander caches.
|
34
|
+
const entityByNetworkEvent = parsedTrace.NetworkRequests.entityMappings.entityByEvent;
|
35
|
+
const networkEventsByEntity = parsedTrace.NetworkRequests.entityMappings.eventsByEntity;
|
36
|
+
const networkCreatedCache = parsedTrace.NetworkRequests.entityMappings.createdEntityCache;
|
37
|
+
|
38
|
+
// RendrerHandler caches.
|
39
|
+
const entityByRendererEvent = parsedTrace.Renderer.entityMappings.entityByEvent;
|
40
|
+
const rendererEventsByEntity = parsedTrace.Renderer.entityMappings.eventsByEntity;
|
41
|
+
const rendererCreatedCache = parsedTrace.Renderer.entityMappings.createdEntityCache;
|
42
|
+
|
43
|
+
// Build caches.
|
44
|
+
const entityByEvent = new Map([...entityByNetworkEvent, ...entityByRendererEvent]);
|
45
|
+
const createdEntityCache = new Map([...networkCreatedCache, ...rendererCreatedCache]);
|
46
|
+
const eventsByEntity = this.#mergeEventsByEntities(rendererEventsByEntity, networkEventsByEntity);
|
47
|
+
|
48
|
+
return {
|
49
|
+
entityByEvent,
|
50
|
+
eventsByEntity,
|
51
|
+
createdEntityCache,
|
52
|
+
};
|
53
|
+
}
|
54
|
+
|
55
|
+
#findFirstPartyEntity(): Trace.Handlers.Helpers.Entity|null {
|
56
|
+
// As a starting point, we consider the first navigation as the 1P.
|
57
|
+
const nav = Array.from(this.#parsedTrace.Meta.navigationsByNavigationId.values()).sort((a, b) => a.ts - b.ts)[0];
|
58
|
+
const firstPartyUrl = nav?.args.data?.documentLoaderURL ?? this.#parsedTrace.Meta.mainFrameURL;
|
59
|
+
return Trace.Handlers.Helpers.getEntityForUrl(firstPartyUrl, this.#entityMappings.createdEntityCache) ?? null;
|
60
|
+
}
|
61
|
+
|
62
|
+
#getThirdPartyEvents(): Trace.Types.Events.Event[] {
|
63
|
+
const entries = Array.from(this.#entityMappings.eventsByEntity.entries());
|
64
|
+
const thirdPartyEvents = entries.flatMap(([entity, requests]) => {
|
65
|
+
return entity.name !== this.#firstPartyEntity?.name ? requests : [];
|
66
|
+
});
|
67
|
+
return thirdPartyEvents;
|
68
|
+
}
|
69
|
+
|
70
|
+
#mergeEventsByEntities(
|
71
|
+
a: Map<Trace.Handlers.Helpers.Entity, Trace.Types.Events.Event[]>,
|
72
|
+
b: Map<Trace.Handlers.Helpers.Entity, Trace.Types.Events.Event[]>):
|
73
|
+
Map<Trace.Handlers.Helpers.Entity, Trace.Types.Events.Event[]> {
|
74
|
+
const merged = new Map(a);
|
75
|
+
for (const [entity, events] of b.entries()) {
|
76
|
+
if (merged.has(entity)) {
|
77
|
+
const currentEvents = merged.get(entity) ?? [];
|
78
|
+
merged.set(entity, [...currentEvents, ...events]);
|
79
|
+
} else {
|
80
|
+
merged.set(entity, [...events]);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
return merged;
|
84
|
+
}
|
85
|
+
|
86
|
+
/**
|
87
|
+
* Returns an entity for a given event if any.
|
88
|
+
*/
|
89
|
+
entityForEvent(event: Trace.Types.Events.Event): Trace.Handlers.Helpers.Entity|null {
|
90
|
+
return this.#entityMappings.entityByEvent.get(event) ?? null;
|
91
|
+
}
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Returns trace events that correspond with a given entity if any.
|
95
|
+
*/
|
96
|
+
eventsForEntity(entity: Trace.Handlers.Helpers.Entity): Trace.Types.Events.Event[] {
|
97
|
+
return this.#entityMappings.eventsByEntity.get(entity) ?? [];
|
98
|
+
}
|
99
|
+
|
100
|
+
firstPartyEntity(): Trace.Handlers.Helpers.Entity|null {
|
101
|
+
return this.#firstPartyEntity;
|
102
|
+
}
|
103
|
+
|
104
|
+
thirdPartyEvents(): Trace.Types.Events.Event[] {
|
105
|
+
return this.#thirdPartyEvents;
|
106
|
+
}
|
107
|
+
|
108
|
+
mappings(): Trace.Handlers.Helpers.EntityMappings {
|
109
|
+
return this.#entityMappings;
|
110
|
+
}
|
111
|
+
|
112
|
+
/**
|
113
|
+
* This updates entity mapping given a callFrame and sourceURL (newly resolved),
|
114
|
+
* updating both eventsByEntity and entityByEvent. The call frame provides us the
|
115
|
+
* URL and sourcemap source location that events map to. This describes the exact events we
|
116
|
+
* want to update. We then update the events with the new sourceURL.
|
117
|
+
*
|
118
|
+
* compiledURLs -> the actual file's url (e.g. my-big-bundle.min.js)
|
119
|
+
* sourceURLs -> the resolved urls (e.g. react.development.js, my-app.ts)
|
120
|
+
* @param callFrame
|
121
|
+
* @param sourceURL
|
122
|
+
*/
|
123
|
+
updateSourceMapEntities(callFrame: Protocol.Runtime.CallFrame, sourceURL: string): void {
|
124
|
+
// Avoid the extra work, if we have already resolved this callFrame.
|
125
|
+
if (this.#resolvedCallFrames.has(callFrame)) {
|
126
|
+
return;
|
127
|
+
}
|
128
|
+
|
129
|
+
const compiledURL = callFrame.url;
|
130
|
+
const currentEntity = Trace.Handlers.Helpers.getEntityForUrl(compiledURL, this.#entityMappings.createdEntityCache);
|
131
|
+
const resolvedEntity = Trace.Handlers.Helpers.getEntityForUrl(sourceURL, this.#entityMappings.createdEntityCache);
|
132
|
+
// If the entity changed, then we should update our caches. If we don't have a currentEntity,
|
133
|
+
// we can't do much with that. Additionally without our current entity, we don't have a reference to the related
|
134
|
+
// events so there are no relationships to be made.
|
135
|
+
if ((resolvedEntity === currentEntity) || (!currentEntity || !resolvedEntity)) {
|
136
|
+
return;
|
137
|
+
}
|
138
|
+
const currentEntityEvents = (currentEntity && this.#entityMappings.eventsByEntity.get(currentEntity)) ?? [];
|
139
|
+
// The events of the entity that match said source location.
|
140
|
+
const sourceLocationEvents: Trace.Types.Events.Event[] = [];
|
141
|
+
// The events that don't match the source location, but that we should keep mapped to its current entity.
|
142
|
+
const unrelatedEvents: Trace.Types.Events.Event[] = [];
|
143
|
+
currentEntityEvents?.forEach(e => {
|
144
|
+
const stackTrace = Trace.Helpers.Trace.getZeroIndexedStackTraceForEvent(e);
|
145
|
+
const cf = stackTrace?.at(0);
|
146
|
+
|
147
|
+
const matchesCallFrame = cf && Trace.Helpers.Trace.isMatchingCallFrame(cf, callFrame);
|
148
|
+
if (matchesCallFrame) {
|
149
|
+
sourceLocationEvents.push(e);
|
150
|
+
} else {
|
151
|
+
unrelatedEvents.push(e);
|
152
|
+
}
|
153
|
+
});
|
154
|
+
// Update current entity.
|
155
|
+
this.#entityMappings.eventsByEntity.set(currentEntity, unrelatedEvents);
|
156
|
+
// Map the source location events to the new entity.
|
157
|
+
this.#entityMappings.eventsByEntity.set(resolvedEntity, sourceLocationEvents);
|
158
|
+
sourceLocationEvents.forEach(e => {
|
159
|
+
this.#entityMappings.entityByEvent.set(e, resolvedEntity);
|
160
|
+
});
|
161
|
+
// Update our CallFrame cache when we've got a resolved entity.
|
162
|
+
this.#resolvedCallFrames.add(callFrame);
|
163
|
+
}
|
164
|
+
}
|
@@ -3,6 +3,7 @@
|
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
5
|
import * as i18n from '../../../core/i18n/i18n.js';
|
6
|
+
import type * as Platform from '../../../core/platform/platform.js';
|
6
7
|
import * as Trace from '../../../models/trace/trace.js';
|
7
8
|
import * as ThemeSupport from '../../../ui/legacy/theme_support/theme_support.js';
|
8
9
|
|
@@ -47,6 +48,10 @@ const UIStrings = {
|
|
47
48
|
*@description Text in Timeline UIUtils of the Performance panel
|
48
49
|
*/
|
49
50
|
task: 'Task',
|
51
|
+
/**
|
52
|
+
*@description Text in Timeline UIUtils of the Performance panel
|
53
|
+
*/
|
54
|
+
consoleTaskRun: 'Run console task',
|
50
55
|
/**
|
51
56
|
*@description Text for other types of items
|
52
57
|
*/
|
@@ -551,13 +556,15 @@ export class TimelineRecordStyle {
|
|
551
556
|
}
|
552
557
|
export class TimelineCategory {
|
553
558
|
name: EventCategory;
|
554
|
-
title:
|
559
|
+
title: Platform.UIString.LocalizedString;
|
555
560
|
visible: boolean;
|
556
561
|
childColor: string;
|
557
562
|
colorInternal: string;
|
558
563
|
#hidden?: boolean;
|
559
564
|
|
560
|
-
constructor(
|
565
|
+
constructor(
|
566
|
+
name: EventCategory, title: Platform.UIString.LocalizedString, visible: boolean, childColor: string,
|
567
|
+
color: string) {
|
561
568
|
this.name = name;
|
562
569
|
this.title = title;
|
563
570
|
this.visible = visible;
|
@@ -1060,6 +1067,8 @@ export function maybeInitSylesMap(): EventStylesMap {
|
|
1060
1067
|
|
1061
1068
|
[Trace.Types.Events.Name.ABORT_POST_TASK_CALLBACK]:
|
1062
1069
|
new TimelineRecordStyle(i18nString(UIStrings.abortPostTaskCallback), defaultCategoryStyles.scripting),
|
1070
|
+
[Trace.Types.Events.Name.V8_CONSOLE_RUN_TASK]:
|
1071
|
+
new TimelineRecordStyle(i18nString(UIStrings.consoleTaskRun), defaultCategoryStyles.scripting),
|
1063
1072
|
};
|
1064
1073
|
return eventStylesMap;
|
1065
1074
|
}
|
@@ -1103,3 +1112,32 @@ export function getTimelineMainEventCategories(): EventCategory[] {
|
|
1103
1112
|
export function setTimelineMainEventCategories(categories: EventCategory[]): void {
|
1104
1113
|
mainEventCategories = categories;
|
1105
1114
|
}
|
1115
|
+
|
1116
|
+
export function markerDetailsForEvent(event: Trace.Types.Events.Event): {
|
1117
|
+
color: string,
|
1118
|
+
title: string,
|
1119
|
+
} {
|
1120
|
+
let title = '';
|
1121
|
+
let color = 'var(--color-text-primary)';
|
1122
|
+
if (Trace.Types.Events.isFirstContentfulPaint(event)) {
|
1123
|
+
color = 'var(--sys-color-green-bright)';
|
1124
|
+
title = Trace.Handlers.ModelHandlers.PageLoadMetrics.MetricName.FCP;
|
1125
|
+
}
|
1126
|
+
if (Trace.Types.Events.isLargestContentfulPaintCandidate(event)) {
|
1127
|
+
color = 'var(--sys-color-green)';
|
1128
|
+
title = Trace.Handlers.ModelHandlers.PageLoadMetrics.MetricName.LCP;
|
1129
|
+
}
|
1130
|
+
if (Trace.Types.Events.isNavigationStart(event)) {
|
1131
|
+
color = 'var(--color-text-primary)';
|
1132
|
+
title = Trace.Handlers.ModelHandlers.PageLoadMetrics.MetricName.NAV;
|
1133
|
+
}
|
1134
|
+
if (Trace.Types.Events.isMarkDOMContent(event)) {
|
1135
|
+
color = 'var(--color-text-disabled)';
|
1136
|
+
title = Trace.Handlers.ModelHandlers.PageLoadMetrics.MetricName.DCL;
|
1137
|
+
}
|
1138
|
+
if (Trace.Types.Events.isMarkLoad(event)) {
|
1139
|
+
color = 'var(--color-text-disabled)';
|
1140
|
+
title = Trace.Handlers.ModelHandlers.PageLoadMetrics.MetricName.L;
|
1141
|
+
}
|
1142
|
+
return {color, title};
|
1143
|
+
}
|
@@ -6,11 +6,31 @@ import '../../../ui/components/markdown_view/markdown_view.js';
|
|
6
6
|
|
7
7
|
import type * as Common from '../../../core/common/common.js';
|
8
8
|
import * as Platform from '../../../core/platform/platform.js';
|
9
|
+
import type * as SDK from '../../../core/sdk/sdk.js';
|
10
|
+
import * as CrUXManager from '../../../models/crux-manager/crux-manager.js';
|
9
11
|
import * as Marked from '../../../third_party/marked/marked.js';
|
10
12
|
import * as LitHtml from '../../../ui/lit-html/lit-html.js';
|
13
|
+
import * as MobileThrottling from '../../mobile_throttling/mobile_throttling.js';
|
11
14
|
|
12
15
|
const {html} = LitHtml;
|
13
16
|
|
17
|
+
export function getThrottlingRecommendations():
|
18
|
+
{cpuRate: number|null, networkConditions: SDK.NetworkManager.Conditions|null} {
|
19
|
+
const cpuRate = 4; // TODO(crbug.com/311438112): suggest "mid-tier" mobile device when implemented.
|
20
|
+
let networkConditions = null;
|
21
|
+
|
22
|
+
const response = CrUXManager.CrUXManager.instance().getSelectedFieldMetricData('round_trip_time');
|
23
|
+
if (response?.percentiles) {
|
24
|
+
const rtt = Number(response.percentiles.p75);
|
25
|
+
networkConditions = MobileThrottling.ThrottlingPresets.ThrottlingPresets.getRecommendedNetworkPreset(rtt);
|
26
|
+
}
|
27
|
+
|
28
|
+
return {
|
29
|
+
cpuRate,
|
30
|
+
networkConditions,
|
31
|
+
};
|
32
|
+
}
|
33
|
+
|
14
34
|
function createTrimmedUrlSearch(url: URL): string {
|
15
35
|
const maxSearchValueLength = 8;
|
16
36
|
let search = '';
|
@@ -16,7 +16,7 @@ import {
|
|
16
16
|
makeProfileCall,
|
17
17
|
} from '../../../testing/TraceHelpers.js';
|
18
18
|
|
19
|
-
import { // eslint-disable-line rulesdir/
|
19
|
+
import { // eslint-disable-line rulesdir/es-modules-import
|
20
20
|
loadCodeLocationResolvingScenario,
|
21
21
|
} from './SourceMapsResolver.test.js';
|
22
22
|
import * as Utils from './utils.js';
|
@@ -48,11 +48,11 @@ describe('ImageCache', () => {
|
|
48
48
|
it('loadImage resolves invalid images to null', async () => {
|
49
49
|
const datauri = 'data:image/jpg;base64,INVALIDDATA';
|
50
50
|
const res = await loadImage(datauri);
|
51
|
-
assert.
|
51
|
+
assert.isNull(res);
|
52
52
|
});
|
53
53
|
|
54
54
|
it('getOrQueue should return null for a new screenshot', () => {
|
55
|
-
assert.
|
55
|
+
assert.isNull(getOrQueue(syntheticScreenshot1));
|
56
56
|
});
|
57
57
|
|
58
58
|
it('getOrQueue should return the same image for the same screenshot', async () => {
|
@@ -18,6 +18,7 @@ import {MockProtocolBackend} from '../../../testing/MockScopeChain.js';
|
|
18
18
|
import {encodeSourceMap} from '../../../testing/SourceMapEncoder.js';
|
19
19
|
import {loadBasicSourceMapExample} from '../../../testing/SourceMapHelpers.js';
|
20
20
|
import {
|
21
|
+
makeMockRendererHandlerData,
|
21
22
|
makeMockSamplesHandlerData,
|
22
23
|
makeProfileCall,
|
23
24
|
} from '../../../testing/TraceHelpers.js';
|
@@ -115,6 +116,10 @@ function parsedTraceFromProfileCalls(profileCalls: Trace.Types.Events.SyntheticP
|
|
115
116
|
return {
|
116
117
|
Samples: makeMockSamplesHandlerData(profileCalls),
|
117
118
|
Workers: workersData,
|
119
|
+
Renderer: makeMockRendererHandlerData(profileCalls),
|
120
|
+
NetworkRequests:
|
121
|
+
{entityMappings: {entityByEvent: new Map(), eventsByEntity: new Map(), createdEntityCache: new Map()}},
|
122
|
+
Meta: {mainFrameURL: 'https://example.com', navigationsByNavigationId: new Map()},
|
118
123
|
} as Trace.Handlers.Types.ParsedTrace;
|
119
124
|
}
|
120
125
|
|
@@ -222,7 +227,8 @@ describeWithMockConnection('SourceMapsResolver', () => {
|
|
222
227
|
|
223
228
|
// For a profile call with mappings, it must return the mapped script.
|
224
229
|
const traceWithMappings = parsedTraceFromProfileCalls([profileCallWithMappings]);
|
225
|
-
|
230
|
+
const mapperWithMappings = new Utils.EntityMapper.EntityMapper(traceWithMappings);
|
231
|
+
let resolver = new Utils.SourceMapsResolver.SourceMapsResolver(traceWithMappings, mapperWithMappings);
|
226
232
|
await resolver.install();
|
227
233
|
let sourceMappedURL =
|
228
234
|
Utils.SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(traceWithMappings, profileCallWithMappings);
|
@@ -230,7 +236,8 @@ describeWithMockConnection('SourceMapsResolver', () => {
|
|
230
236
|
|
231
237
|
// For a profile call without mappings, it must return the original URL
|
232
238
|
const traceWithoutMappings = parsedTraceFromProfileCalls([profileCallWithNoMappings]);
|
233
|
-
|
239
|
+
const mapperWithoutMappings = new Utils.EntityMapper.EntityMapper(traceWithoutMappings);
|
240
|
+
resolver = new Utils.SourceMapsResolver.SourceMapsResolver(traceWithoutMappings, mapperWithoutMappings);
|
234
241
|
await resolver.install();
|
235
242
|
sourceMappedURL = Utils.SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(
|
236
243
|
traceWithoutMappings, profileCallWithNoMappings);
|
@@ -248,4 +255,78 @@ describeWithMockConnection('SourceMapsResolver', () => {
|
|
248
255
|
assert.isTrue(listener.notCalled);
|
249
256
|
});
|
250
257
|
});
|
258
|
+
describe('updating entity mapping', () => {
|
259
|
+
it('correctly updates mapping for event that maps to a script', async function() {
|
260
|
+
const {scriptId} = await loadCodeLocationResolvingScenario();
|
261
|
+
|
262
|
+
const profileCall =
|
263
|
+
makeProfileCall('function', 10, 100, Trace.Types.Events.ProcessID(1), Trace.Types.Events.ThreadID(1));
|
264
|
+
const LINE_NUMBER = 0;
|
265
|
+
const COLUMN_NUMBER = 9;
|
266
|
+
profileCall.callFrame = {
|
267
|
+
lineNumber: LINE_NUMBER,
|
268
|
+
columnNumber: COLUMN_NUMBER,
|
269
|
+
functionName: 'minified',
|
270
|
+
scriptId,
|
271
|
+
url: 'http://example-domain.com/',
|
272
|
+
};
|
273
|
+
const profileCallUnmapped =
|
274
|
+
makeProfileCall('function', 10, 100, Trace.Types.Events.ProcessID(1), Trace.Types.Events.ThreadID(1));
|
275
|
+
profileCallUnmapped.callFrame = {
|
276
|
+
lineNumber: 2,
|
277
|
+
columnNumber: 0,
|
278
|
+
functionName: '',
|
279
|
+
scriptId,
|
280
|
+
url: 'http://example-domain.com/',
|
281
|
+
};
|
282
|
+
|
283
|
+
const trace = parsedTraceFromProfileCalls([profileCall, profileCallUnmapped]);
|
284
|
+
const mapper = new Utils.EntityMapper.EntityMapper(trace);
|
285
|
+
|
286
|
+
const testEntity = {
|
287
|
+
name: 'example-domain.com',
|
288
|
+
company: 'example-domain.com',
|
289
|
+
category: '',
|
290
|
+
categories: [],
|
291
|
+
domains: ['example-domain.com'],
|
292
|
+
averageExecutionTime: 0,
|
293
|
+
totalExecutionTime: 0,
|
294
|
+
totalOccurrences: 0,
|
295
|
+
isUnrecognized: true,
|
296
|
+
};
|
297
|
+
// Set a fake entity for this event that should get overriden. Initially
|
298
|
+
// both traces are mapped together, after the sourcemap that should change
|
299
|
+
mapper.mappings().entityByEvent.set(profileCall, testEntity);
|
300
|
+
mapper.mappings().entityByEvent.set(profileCallUnmapped, testEntity);
|
301
|
+
mapper.mappings().eventsByEntity.set(testEntity, [profileCall, profileCallUnmapped]);
|
302
|
+
mapper.mappings().createdEntityCache.set('example-domain.com', testEntity);
|
303
|
+
|
304
|
+
const resolver = new Utils.SourceMapsResolver.SourceMapsResolver(trace, mapper);
|
305
|
+
// This should update the entities
|
306
|
+
await resolver.install();
|
307
|
+
const afterEntityOfEvent = mapper.entityForEvent(profileCall);
|
308
|
+
const expected = {
|
309
|
+
name: 'example.com',
|
310
|
+
company: 'example.com',
|
311
|
+
category: '',
|
312
|
+
categories: [],
|
313
|
+
domains: ['example.com'],
|
314
|
+
averageExecutionTime: 0,
|
315
|
+
totalExecutionTime: 0,
|
316
|
+
totalOccurrences: 0,
|
317
|
+
isUnrecognized: true,
|
318
|
+
};
|
319
|
+
assert.exists(afterEntityOfEvent);
|
320
|
+
assert.deepEqual(afterEntityOfEvent, expected);
|
321
|
+
// The mapped event should now map to its new entity.
|
322
|
+
const gotEventsMapped = mapper.eventsForEntity(afterEntityOfEvent) ?? [];
|
323
|
+
assert.deepEqual(gotEventsMapped, [profileCall]);
|
324
|
+
|
325
|
+
// The unmapped event should keep its original entity.
|
326
|
+
const gotEventsUnmapped = mapper.eventsForEntity(testEntity) ?? [];
|
327
|
+
assert.deepEqual(gotEventsUnmapped, [profileCallUnmapped]);
|
328
|
+
const gotUnmappedEntity = mapper.entityForEvent(profileCallUnmapped);
|
329
|
+
assert.deepEqual(gotUnmappedEntity, testEntity);
|
330
|
+
});
|
331
|
+
});
|
251
332
|
});
|
@@ -10,6 +10,8 @@ import * as SourceMapScopes from '../../../models/source_map_scopes/source_map_s
|
|
10
10
|
import * as Trace from '../../../models/trace/trace.js';
|
11
11
|
import * as Workspace from '../../../models/workspace/workspace.js';
|
12
12
|
|
13
|
+
import type * as EntityMapper from './EntityMapper.js';
|
14
|
+
|
13
15
|
type ResolvedCodeLocationData = {
|
14
16
|
name: string|null,
|
15
17
|
devtoolsLocation: Workspace.UISourceCode.UILocation|null,
|
@@ -26,15 +28,12 @@ export class SourceMappingsUpdated extends Event {
|
|
26
28
|
}
|
27
29
|
}
|
28
30
|
|
29
|
-
// Resolved code location data is keyed based on
|
30
|
-
// ProcessID=>ThreadID=> Call frame key.
|
31
31
|
// The code location key is created as a concatenation of its fields.
|
32
|
-
export const resolvedCodeLocationDataNames:
|
33
|
-
Map<Trace.Types.Events.ProcessID, Map<Trace.Types.Events.ThreadID, Map<string, ResolvedCodeLocationData|null>>> =
|
34
|
-
new Map();
|
32
|
+
export const resolvedCodeLocationDataNames: Map<string, ResolvedCodeLocationData|null> = new Map();
|
35
33
|
|
36
34
|
export class SourceMapsResolver extends EventTarget {
|
37
35
|
#parsedTrace: Trace.Handlers.Types.ParsedTrace;
|
36
|
+
#entityMapper: EntityMapper.EntityMapper|null = null;
|
38
37
|
|
39
38
|
#isResolving = false;
|
40
39
|
|
@@ -45,9 +44,10 @@ export class SourceMapsResolver extends EventTarget {
|
|
45
44
|
// those workers too.
|
46
45
|
#debuggerModelsToListen = new Set<SDK.DebuggerModel.DebuggerModel>();
|
47
46
|
|
48
|
-
constructor(parsedTrace: Trace.Handlers.Types.ParsedTrace) {
|
47
|
+
constructor(parsedTrace: Trace.Handlers.Types.ParsedTrace, entityMapper?: EntityMapper.EntityMapper) {
|
49
48
|
super();
|
50
49
|
this.#parsedTrace = parsedTrace;
|
50
|
+
this.#entityMapper = entityMapper ?? null;
|
51
51
|
}
|
52
52
|
|
53
53
|
static clearResolvedNodeNames(): void {
|
@@ -71,6 +71,11 @@ export class SourceMapsResolver extends EventTarget {
|
|
71
71
|
*
|
72
72
|
* TODO(andoli): This can return incorrect scripts if the target page has been reloaded since the trace.
|
73
73
|
*/
|
74
|
+
static resolvedCodeLocationForCallFrame(callFrame: Protocol.Runtime.CallFrame): ResolvedCodeLocationData|null {
|
75
|
+
const codeLocationKey = this.keyForCodeLocation(callFrame as Protocol.Runtime.CallFrame);
|
76
|
+
return resolvedCodeLocationDataNames.get(codeLocationKey) ?? null;
|
77
|
+
}
|
78
|
+
|
74
79
|
static resolvedCodeLocationForEntry(entry: Trace.Types.Events.Event): ResolvedCodeLocationData|null {
|
75
80
|
let callFrame = null;
|
76
81
|
if (Trace.Types.Events.isProfileCall(entry)) {
|
@@ -82,8 +87,7 @@ export class SourceMapsResolver extends EventTarget {
|
|
82
87
|
}
|
83
88
|
callFrame = stackTrace[0];
|
84
89
|
}
|
85
|
-
|
86
|
-
return resolvedCodeLocationDataNames.get(entry.pid)?.get(entry.tid)?.get(codeLocationKey) ?? null;
|
90
|
+
return SourceMapsResolver.resolvedCodeLocationForCallFrame(callFrame as Protocol.Runtime.CallFrame);
|
87
91
|
}
|
88
92
|
|
89
93
|
static resolvedURLForEntry(parsedTrace: Trace.Handlers.Types.ParsedTrace, entry: Trace.Types.Events.Event):
|
@@ -95,23 +99,17 @@ export class SourceMapsResolver extends EventTarget {
|
|
95
99
|
}
|
96
100
|
// If no source mapping was found for an entry's URL, then default
|
97
101
|
// to the URL value contained in the event itself, if any.
|
98
|
-
const url = Trace.
|
102
|
+
const url = Trace.Handlers.Helpers.getNonResolvedURL(entry, parsedTrace);
|
99
103
|
if (url) {
|
100
104
|
return Workspace.Workspace.WorkspaceImpl.instance().uiSourceCodeForURL(url)?.url() ?? url;
|
101
105
|
}
|
102
106
|
return null;
|
103
107
|
}
|
104
108
|
|
105
|
-
static
|
106
|
-
|
107
|
-
resolvedCodeLocationData: ResolvedCodeLocationData): void {
|
108
|
-
const resolvedForPid = resolvedCodeLocationDataNames.get(pid) ||
|
109
|
-
new Map<Trace.Types.Events.ThreadID, Map<string, ResolvedCodeLocationData|null>>();
|
110
|
-
const resolvedForTid = resolvedForPid.get(tid) || new Map<string, ResolvedCodeLocationData|null>();
|
109
|
+
static storeResolvedCodeDataForCallFrame(
|
110
|
+
callFrame: Protocol.Runtime.CallFrame, resolvedCodeLocationData: ResolvedCodeLocationData): void {
|
111
111
|
const keyForCallFrame = this.keyForCodeLocation(callFrame);
|
112
|
-
|
113
|
-
resolvedForPid.set(tid, resolvedForTid);
|
114
|
-
resolvedCodeLocationDataNames.set(pid, resolvedForPid);
|
112
|
+
resolvedCodeLocationDataNames.set(keyForCallFrame, resolvedCodeLocationData);
|
115
113
|
}
|
116
114
|
|
117
115
|
async install(): Promise<void> {
|
@@ -167,7 +165,7 @@ export class SourceMapsResolver extends EventTarget {
|
|
167
165
|
// is attach. If not, we do not notify the flamechart that mappings
|
168
166
|
// were updated, since that would trigger a rerender.
|
169
167
|
let updatedMappings = false;
|
170
|
-
for (const [
|
168
|
+
for (const [, threadsInProcess] of this.#parsedTrace.Samples.profilesInProcess) {
|
171
169
|
for (const [tid, threadProfile] of threadsInProcess) {
|
172
170
|
const nodes = threadProfile.parsedProfile.nodes() ?? [];
|
173
171
|
const target = this.#targetForThread(tid);
|
@@ -189,9 +187,13 @@ export class SourceMapsResolver extends EventTarget {
|
|
189
187
|
await Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance().rawLocationToUILocation(
|
190
188
|
location);
|
191
189
|
updatedMappings ||= Boolean(uiLocation);
|
190
|
+
if (uiLocation?.uiSourceCode.url() && this.#entityMapper) {
|
191
|
+
// Update mappings for the related events of the entity.
|
192
|
+
this.#entityMapper.updateSourceMapEntities(node.callFrame, uiLocation.uiSourceCode.url());
|
193
|
+
}
|
192
194
|
|
193
|
-
SourceMapsResolver.
|
194
|
-
|
195
|
+
SourceMapsResolver.storeResolvedCodeDataForCallFrame(
|
196
|
+
node.callFrame, {name: resolvedFunctionName, devtoolsLocation: uiLocation, script});
|
195
197
|
}
|
196
198
|
}
|
197
199
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
3
3
|
// found in the LICENSE file.
|
4
4
|
import * as AICallTree from './AICallTree.js';
|
5
|
+
import * as EntityMapper from './EntityMapper.js';
|
5
6
|
import * as EntryName from './EntryName.js';
|
6
7
|
import * as EntryStyles from './EntryStyles.js';
|
7
8
|
import * as Helpers from './Helpers.js';
|
@@ -12,6 +13,7 @@ import * as SourceMapsResolver from './SourceMapsResolver.js';
|
|
12
13
|
|
13
14
|
export {
|
14
15
|
AICallTree,
|
16
|
+
EntityMapper,
|
15
17
|
EntryName,
|
16
18
|
EntryStyles,
|
17
19
|
Helpers,
|