chrome-devtools-frontend 1.0.1473514 → 1.0.1506453
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/.gemini/commands/migrate-e2e-non-hosted.toml +43 -0
- package/.gemini/commands/review.toml +85 -0
- package/.geminiignore +6 -0
- package/.github/workflows/auto-close-prs.yml +30 -0
- package/.stylelintignore +0 -1
- package/.vscode/devtools-workspace-settings.json +2 -1
- package/AUTHORS +3 -0
- package/WATCHLISTS +0 -4
- package/config/gni/devtools_grd_files.gni +92 -47
- package/config/gni/devtools_image_files.gni +8 -0
- package/config/gni/i18n.gni +3 -2
- package/config/owner/COMMON_OWNERS +2 -0
- package/docs/README.md +2 -2
- package/docs/architecture_of_devtools.md +8 -8
- package/docs/committers_policy.md +2 -0
- package/docs/contributing/README.md +29 -5
- package/docs/contributing/changes.md +1 -1
- package/docs/contributing/images/quickstart-vscode-tsversion.png +0 -0
- package/docs/contributing/infrastructure.md +89 -0
- package/docs/cookbook/localization.md +86 -79
- package/docs/get_the_code.md +9 -9
- package/docs/styleguide/ux/components.md +190 -2
- package/docs/styleguide/ux/glossary.md +16 -0
- package/docs/styleguide/ux/images/context-menu-example.png +0 -0
- package/docs/ui_engineering.md +80 -19
- package/eslint.config.mjs +64 -23
- package/extension-api/ExtensionAPI.d.ts +3 -0
- package/extensions/cxx_debugging/CMakeLists.txt +0 -6
- package/extensions/cxx_debugging/e2e/MochaRootHooks.ts +3 -1
- package/extensions/cxx_debugging/e2e/TestDriver.ts +1 -2
- package/extensions/cxx_debugging/src/GlobMatch.ts +1 -1
- package/extensions/cxx_debugging/src/ModuleConfiguration.ts +2 -2
- package/extensions/cxx_debugging/third_party/llvm/README.chromium +2 -0
- package/extensions/cxx_debugging/tools/bootstrap.py +7 -0
- package/front_end/Images/generate-css-vars.js +1 -1
- package/front_end/Images/readme.md +1 -2
- package/front_end/Images/rollup.config.mjs +12 -1
- package/front_end/Images/src/baseline-high-availability.svg +17 -0
- package/front_end/Images/src/baseline-limited-availability.svg +19 -0
- package/front_end/Images/src/baseline-low-availability.svg +31 -0
- package/front_end/Images/src/bucket.svg +4 -0
- package/front_end/Images/src/label-auto.svg +3 -0
- package/front_end/Images/src/shield.svg +3 -0
- package/front_end/Images/src/smart-assistant.svg +3 -1
- package/front_end/Images/src/speculative-loads.svg +1 -0
- package/front_end/Images/src/text-analysis.svg +3 -0
- package/front_end/Tests.js +78 -230
- package/front_end/application_tokens.css +7 -1
- package/front_end/core/common/Base64.test.ts +1 -1
- package/front_end/core/common/Base64.ts +3 -3
- package/front_end/core/common/Color.ts +38 -0
- package/front_end/core/common/Debouncer.ts +3 -3
- package/front_end/core/common/EventTarget.test.ts +1 -0
- package/front_end/core/common/Gzip.test.ts +63 -0
- package/front_end/core/common/Gzip.ts +72 -0
- package/front_end/core/common/ResourceType.ts +29 -29
- package/front_end/core/common/ReturnToPanel.ts +15 -0
- package/front_end/core/common/Revealer.ts +10 -10
- package/front_end/core/common/SettingRegistration.ts +22 -22
- package/front_end/core/common/Settings.test.ts +151 -18
- package/front_end/core/common/Settings.ts +99 -8
- package/front_end/core/common/SimpleHistoryManager.ts +0 -17
- package/front_end/core/common/common.ts +4 -0
- package/front_end/core/host/AidaClient.test.ts +103 -2
- package/front_end/core/host/AidaClient.ts +161 -31
- package/front_end/core/host/InspectorFrontendHost.ts +57 -48
- package/front_end/core/host/InspectorFrontendHostAPI.ts +11 -0
- package/front_end/core/host/ResourceLoader.ts +15 -15
- package/front_end/core/host/UserMetrics.ts +27 -13
- package/front_end/core/i18n/NumberFormatter.test.ts +92 -0
- package/front_end/core/i18n/NumberFormatter.ts +9 -9
- package/front_end/core/i18n/collect-ui-strings.js +3 -3
- package/front_end/core/i18n/time-utilities.ts +3 -14
- package/front_end/core/platform/Brand.ts +8 -1
- package/front_end/core/platform/DevToolsPath.ts +1 -1
- package/front_end/core/platform/StringUtilities.test.ts +54 -1
- package/front_end/core/platform/StringUtilities.ts +34 -8
- package/front_end/core/protocol_client/InspectorBackend.ts +9 -9
- package/front_end/core/root/Runtime.ts +52 -8
- package/front_end/core/sdk/AnimationModel.test.ts +0 -24
- package/front_end/core/sdk/AnimationModel.ts +1 -95
- package/front_end/core/sdk/AutofillModel.ts +8 -2
- package/front_end/core/sdk/CPUProfilerModel.ts +2 -2
- package/front_end/core/sdk/CSSContainerQuery.test.ts +15 -0
- package/front_end/core/sdk/CSSContainerQuery.ts +3 -1
- package/front_end/core/sdk/CSSMatchedStyles.test.ts +2 -1
- package/front_end/core/sdk/CSSMatchedStyles.ts +79 -50
- package/front_end/core/sdk/CSSModel.ts +20 -7
- package/front_end/core/sdk/CSSPropertyParser.test.ts +4 -3
- package/front_end/core/sdk/CSSPropertyParser.ts +12 -4
- package/front_end/core/sdk/CSSPropertyParserMatchers.test.ts +46 -15
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +131 -58
- package/front_end/core/sdk/CSSRule.ts +44 -44
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +2 -6
- package/front_end/core/sdk/ChildTargetManager.ts +1 -1
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +3 -8
- package/front_end/core/sdk/Connections.ts +17 -30
- package/front_end/core/sdk/ConsoleModel.ts +9 -9
- package/front_end/core/sdk/DOMModel.ts +45 -16
- package/front_end/core/sdk/DebuggerModel.test.ts +7 -4
- package/front_end/core/sdk/DebuggerModel.ts +55 -11
- package/front_end/core/sdk/EmulationModel.ts +13 -0
- package/front_end/core/sdk/EventBreakpointsModel.ts +2 -2
- package/front_end/core/sdk/IOModel.ts +28 -2
- package/front_end/core/sdk/NetworkManager.test.ts +0 -27
- package/front_end/core/sdk/NetworkManager.ts +137 -105
- package/front_end/core/sdk/NetworkRequest.ts +747 -616
- package/front_end/core/sdk/OverlayModel.ts +4 -8
- package/front_end/core/sdk/PageResourceLoader.ts +32 -13
- package/front_end/core/sdk/PreloadingModel.ts +1 -0
- package/front_end/core/sdk/RehydratingConnection.ts +13 -14
- package/front_end/core/sdk/RemoteObject.test.ts +24 -2
- package/front_end/core/sdk/RemoteObject.ts +0 -3
- package/front_end/core/sdk/Resource.ts +0 -5
- package/front_end/core/sdk/RuntimeModel.ts +2 -1
- package/front_end/core/sdk/Script.ts +2 -7
- package/front_end/core/sdk/ServerTiming.ts +12 -12
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +7 -3
- package/front_end/core/sdk/ServiceWorkerManager.ts +14 -18
- package/front_end/core/sdk/SourceMap.test.ts +55 -73
- package/front_end/core/sdk/SourceMap.ts +14 -11
- package/front_end/core/sdk/SourceMapFunctionRanges.ts +15 -9
- package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +6 -5
- package/front_end/core/sdk/SourceMapScopeChainEntry.ts +14 -14
- package/front_end/core/sdk/SourceMapScopesInfo.test.ts +232 -317
- package/front_end/core/sdk/SourceMapScopesInfo.ts +26 -25
- package/front_end/core/sdk/StorageBucketsModel.ts +4 -0
- package/front_end/core/sdk/Target.ts +2 -2
- package/front_end/core/sdk/TargetManager.ts +1 -1
- package/front_end/core/sdk/sdk-meta.ts +86 -86
- package/front_end/core/sdk/sdk.ts +0 -2
- package/front_end/design_system_tokens.css +1 -1
- package/front_end/devtools_compatibility.js +201 -177
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +12 -0
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +3 -3
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +1 -1
- package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +1 -1
- package/front_end/entrypoints/js_app/js_app.ts +3 -3
- package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +1 -1
- package/front_end/entrypoints/main/GlobalAiButton.test.ts +132 -0
- package/front_end/entrypoints/main/GlobalAiButton.ts +141 -0
- package/front_end/entrypoints/main/MainImpl.test.ts +27 -0
- package/front_end/entrypoints/main/MainImpl.ts +179 -47
- package/front_end/entrypoints/main/globalAiButton.css +72 -0
- package/front_end/entrypoints/main/main-meta.ts +82 -42
- package/front_end/entrypoints/main/main.ts +2 -0
- package/front_end/entrypoints/node_app/NodeConnectionsPanel.ts +6 -6
- package/front_end/entrypoints/node_app/NodeMain.ts +8 -7
- package/front_end/entrypoints/node_app/node_app.ts +5 -5
- package/front_end/entrypoints/wasmparser_worker/WasmParserWorker.ts +1 -1
- package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
- package/front_end/generated/Deprecation.ts +7 -29
- package/front_end/generated/InspectorBackendCommands.js +183 -167
- package/front_end/generated/SupportedCSSProperties.js +252 -166
- package/front_end/generated/protocol-mapping.d.ts +687 -608
- package/front_end/generated/protocol-proxy-api.d.ts +782 -672
- package/front_end/generated/protocol.ts +11862 -11509
- package/front_end/global_typings/global_defs.d.ts +5 -0
- package/front_end/legacy_test_runner/accessibility_test_runner/accessibility_test_runner.js +1 -1
- package/front_end/legacy_test_runner/application_test_runner/CacheStorageTestRunner.js +1 -1
- package/front_end/legacy_test_runner/application_test_runner/IndexedDBTestRunner.js +1 -1
- package/front_end/legacy_test_runner/application_test_runner/ResourceTreeTestRunner.js +1 -1
- package/front_end/legacy_test_runner/application_test_runner/ResourcesTestRunner.js +1 -1
- package/front_end/legacy_test_runner/application_test_runner/ServiceWorkersTestRunner.js +1 -1
- package/front_end/legacy_test_runner/application_test_runner/StorageTestRunner.js +1 -1
- package/front_end/legacy_test_runner/axe_core_test_runner/axe_core_test_runner.js +1 -1
- package/front_end/legacy_test_runner/bindings_test_runner/AutomappingTestRunner.js +1 -1
- package/front_end/legacy_test_runner/bindings_test_runner/BindingsTestRunner.js +1 -1
- package/front_end/legacy_test_runner/bindings_test_runner/IsolatedFilesystemTestRunner.js +1 -1
- package/front_end/legacy_test_runner/bindings_test_runner/OverridesTestRunner.js +1 -1
- package/front_end/legacy_test_runner/bindings_test_runner/PersistenceTestRunner.js +1 -1
- package/front_end/legacy_test_runner/console_test_runner/console_test_runner.js +20 -20
- package/front_end/legacy_test_runner/coverage_test_runner/coverage_test_runner.js +11 -11
- package/front_end/legacy_test_runner/data_grid_test_runner/data_grid_test_runner.js +1 -1
- package/front_end/legacy_test_runner/device_mode_test_runner/device_mode_test_runner.js +1 -1
- package/front_end/legacy_test_runner/elements_test_runner/EditDOMTestRunner.js +1 -1
- package/front_end/legacy_test_runner/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +1 -1
- package/front_end/legacy_test_runner/elements_test_runner/ElementsTestRunner.js +6 -80
- package/front_end/legacy_test_runner/elements_test_runner/SetOuterHTMLTestRunner.js +1 -1
- package/front_end/legacy_test_runner/elements_test_runner/StylesUpdateLinksTestRunner.js +1 -1
- package/front_end/legacy_test_runner/extensions_test_runner/ExtensionsNetworkTestRunner.js +1 -1
- package/front_end/legacy_test_runner/extensions_test_runner/ExtensionsTestRunner.js +1 -1
- package/front_end/legacy_test_runner/heap_profiler_test_runner/heap_profiler_test_runner.js +2 -2
- package/front_end/legacy_test_runner/layers_test_runner/layers_test_runner.js +1 -1
- package/front_end/legacy_test_runner/network_test_runner/network_test_runner.js +1 -1
- package/front_end/legacy_test_runner/performance_test_runner/TimelineDataTestRunner.js +1 -1
- package/front_end/legacy_test_runner/performance_test_runner/TimelineTestRunner.js +1 -10
- package/front_end/legacy_test_runner/sdk_test_runner/sdk_test_runner.js +1 -1
- package/front_end/legacy_test_runner/security_test_runner/security_test_runner.js +1 -1
- package/front_end/legacy_test_runner/sources_test_runner/AutocompleteTestRunner.js +1 -1
- package/front_end/legacy_test_runner/sources_test_runner/DebuggerTestRunner.js +4 -4
- package/front_end/legacy_test_runner/sources_test_runner/EditorTestRunner.js +1 -1
- package/front_end/legacy_test_runner/sources_test_runner/LiveEditTestRunner.js +1 -1
- package/front_end/legacy_test_runner/sources_test_runner/SearchTestRunner.js +1 -1
- package/front_end/legacy_test_runner/sources_test_runner/SourcesTestRunner.js +2 -2
- package/front_end/legacy_test_runner/test_runner/TestRunner.js +45 -45
- package/front_end/legacy_test_runner/test_runner/test_runner.js +4 -4
- package/front_end/models/ai_assistance/AiHistoryStorage.snapshot.txt +66 -0
- package/front_end/models/ai_assistance/AiHistoryStorage.test.ts +82 -3
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +95 -6
- package/front_end/models/ai_assistance/AiUtils.ts +1 -1
- package/front_end/models/ai_assistance/ConversationHandler.test.ts +355 -0
- package/front_end/models/ai_assistance/ConversationHandler.ts +380 -0
- package/front_end/models/ai_assistance/ExtensionScope.ts +1 -4
- package/front_end/models/ai_assistance/README.md +79 -0
- package/front_end/models/ai_assistance/agents/AiAgent.test.ts +22 -1
- package/front_end/models/ai_assistance/agents/AiAgent.ts +76 -95
- package/front_end/models/ai_assistance/agents/FileAgent.test.ts +3 -2
- package/front_end/models/ai_assistance/agents/FileAgent.ts +1 -1
- package/front_end/models/ai_assistance/agents/NetworkAgent.ts +7 -7
- package/front_end/models/ai_assistance/agents/PerformanceAgent.test.ts +591 -62
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +1111 -117
- package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.test.ts +4 -2
- package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.ts +75 -5
- package/front_end/models/ai_assistance/agents/StylingAgent.test.ts +166 -507
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +125 -319
- package/front_end/models/ai_assistance/ai_assistance.ts +2 -1
- package/front_end/models/ai_assistance/data_formatters/FileFormatter.test.ts +3 -2
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +725 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.test.ts +249 -274
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +494 -83
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +556 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.test.ts +92 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +359 -0
- package/front_end/models/ai_assistance/debug.ts +1 -1
- package/front_end/models/ai_assistance/injected.ts +1 -1
- package/front_end/models/ai_code_completion/AiCodeCompletion.test.ts +328 -0
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +289 -0
- package/front_end/models/ai_code_completion/ai_code_completion.ts +6 -0
- package/front_end/models/ai_code_completion/debug.ts +30 -0
- package/front_end/models/autofill_manager/AutofillManager.test.ts +0 -6
- package/front_end/models/autofill_manager/AutofillManager.ts +16 -9
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +0 -4
- package/front_end/models/bindings/CompilerScriptMapping.test.ts +8 -4
- package/front_end/models/bindings/CompilerScriptMapping.ts +12 -5
- package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +7 -2
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +33 -24
- package/front_end/models/bindings/DebuggerWorkspaceBinding.test.ts +95 -3
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +94 -21
- package/front_end/models/bindings/DefaultScriptMapping.test.ts +3 -2
- package/front_end/models/bindings/FileUtils.test.ts +1 -10
- package/front_end/models/bindings/FileUtils.ts +6 -22
- package/front_end/models/bindings/LiveLocation.ts +0 -5
- package/front_end/models/bindings/PresentationConsoleMessageHelper.test.ts +7 -2
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +0 -4
- package/front_end/models/bindings/ResourceMapping.test.ts +7 -2
- package/front_end/models/bindings/ResourceMapping.ts +0 -4
- package/front_end/models/bindings/ResourceScriptMapping.test.ts +2 -1
- package/front_end/models/bindings/ResourceScriptMapping.ts +4 -4
- package/front_end/models/bindings/SASSSourceMapping.ts +1 -1
- package/front_end/models/bindings/StylesSourceMapping.ts +0 -5
- package/front_end/models/bindings/bindings.ts +0 -2
- package/front_end/models/breakpoints/BreakpointManager.test.ts +9 -2
- package/front_end/models/cpu_profile/CPUProfileDataModel.ts +4 -2
- package/front_end/models/elements/ElementUpdateRecord.ts +101 -0
- package/front_end/models/elements/elements.ts +9 -0
- package/front_end/models/emulation/DeviceModeModel.ts +6 -22
- package/front_end/models/emulation/EmulatedDevices.ts +12 -12
- package/front_end/models/extensions/ExtensionAPI.ts +9 -5
- package/front_end/models/extensions/ExtensionPanel.ts +5 -2
- package/front_end/models/extensions/ExtensionServer.test.ts +122 -16
- package/front_end/models/extensions/ExtensionServer.ts +114 -31
- package/front_end/models/extensions/ExtensionView.ts +1 -1
- package/front_end/models/extensions/LanguageExtensionEndpoint.ts +14 -7
- package/front_end/models/har/HARFormat.ts +1 -1
- package/front_end/models/har/Importer.test.ts +40 -0
- package/front_end/models/har/Importer.ts +35 -1
- package/front_end/models/har/Writer.test.ts +3 -2
- package/front_end/models/har/Writer.ts +2 -2
- package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -1
- package/front_end/models/issues_manager/ClientHintIssue.ts +1 -1
- package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -5
- package/front_end/models/issues_manager/CookieIssue.ts +2 -2
- package/front_end/models/issues_manager/CorsIssue.ts +3 -3
- package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -2
- package/front_end/models/issues_manager/{SelectElementAccessibilityIssue.test.ts → ElementAccessibilityIssue.test.ts} +22 -21
- package/front_end/models/issues_manager/{SelectElementAccessibilityIssue.ts → ElementAccessibilityIssue.ts} +29 -21
- package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/GenericIssue.ts +4 -4
- package/front_end/models/issues_manager/HeavyAdIssue.ts +1 -1
- package/front_end/models/issues_manager/Issue.ts +6 -6
- package/front_end/models/issues_manager/IssuesManager.ts +8 -3
- package/front_end/models/issues_manager/LowTextContrastIssue.ts +1 -1
- package/front_end/models/issues_manager/MarkdownIssueDescription.ts +1 -1
- package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
- package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +2 -2
- package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +3 -3
- package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +1 -1
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +1 -1
- package/front_end/models/issues_manager/UnencodedDigestIssue.test.ts +49 -0
- package/front_end/models/issues_manager/UnencodedDigestIssue.ts +88 -0
- package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +1 -1
- package/front_end/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +1 -3
- package/front_end/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
- package/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
- package/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +17 -0
- package/front_end/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +14 -0
- package/front_end/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
- package/front_end/models/issues_manager/descriptions/userReidentificationBlocked.md +1 -1
- package/front_end/models/issues_manager/issues_manager.ts +4 -2
- package/front_end/models/javascript_metadata/NativeFunctions.js +201 -127
- package/front_end/models/live-metrics/web-vitals-injected/OnEachInteraction.ts +1 -1
- package/front_end/models/live-metrics/web-vitals-injected/rollup.config.mjs +1 -1
- package/front_end/models/logs/NetworkLog.ts +74 -83
- package/front_end/models/logs/logs-meta.ts +4 -4
- package/front_end/models/persistence/AutomaticFileSystemManager.test.ts +0 -39
- package/front_end/models/persistence/AutomaticFileSystemManager.ts +14 -21
- package/front_end/models/persistence/EditFileSystemView.ts +6 -6
- package/front_end/models/persistence/IsolatedFileSystem.ts +27 -9
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +16 -3
- package/front_end/models/persistence/NetworkPersistenceManager.ts +7 -3
- package/front_end/models/persistence/PersistenceAction.test.ts +10 -7
- package/front_end/models/persistence/PersistenceActions.ts +26 -15
- package/front_end/models/persistence/PersistenceImpl.test.ts +2 -1
- package/front_end/models/persistence/PersistenceImpl.ts +7 -4
- package/front_end/models/persistence/PersistenceUtils.ts +10 -7
- package/front_end/models/persistence/PlatformFileSystem.ts +11 -2
- package/front_end/models/persistence/WorkspaceSettingsTab.ts +6 -6
- package/front_end/models/persistence/editFileSystemView.css +17 -15
- package/front_end/models/persistence/persistence-meta.ts +10 -10
- package/front_end/models/persistence/workspaceSettingsTab.css +29 -27
- package/front_end/models/project_settings/ProjectSettingsModel.ts +2 -2
- package/front_end/models/source_map_scopes/NamesResolver.test.ts +3 -2
- package/front_end/models/source_map_scopes/NamesResolver.ts +1 -1
- package/front_end/models/source_map_scopes/ScopeChainModel.test.ts +2 -1
- package/front_end/models/stack_trace/README.md +14 -0
- package/front_end/models/stack_trace/StackTrace.ts +35 -0
- package/front_end/models/stack_trace/StackTraceImpl.test.ts +74 -0
- package/front_end/models/stack_trace/StackTraceImpl.ts +82 -0
- package/front_end/models/stack_trace/StackTraceModel.test.ts +296 -0
- package/front_end/models/stack_trace/StackTraceModel.ts +127 -0
- package/front_end/models/stack_trace/Trie.test.ts +129 -0
- package/front_end/models/stack_trace/Trie.ts +154 -0
- package/front_end/models/stack_trace/stack_trace.ts +9 -0
- package/front_end/models/stack_trace/stack_trace_impl.ts +13 -0
- package/front_end/models/text_utils/ContentProvider.ts +1 -3
- package/front_end/models/text_utils/StaticContentProvider.test.ts +1 -1
- package/front_end/models/text_utils/StaticContentProvider.ts +1 -5
- package/front_end/models/text_utils/TextUtils.ts +2 -3
- package/front_end/models/trace/LanternComputationData.ts +1 -0
- package/front_end/models/trace/ModelImpl.ts +18 -7
- package/front_end/models/trace/Processor.test.ts +15 -14
- package/front_end/models/trace/Processor.ts +49 -32
- package/front_end/models/trace/extras/ScriptDuplication.test.ts +13 -10
- package/front_end/models/trace/extras/StackTraceForEvent.test.ts +10 -8
- package/front_end/models/trace/extras/ThirdParties.ts +2 -3
- package/front_end/models/trace/extras/TraceTree.ts +7 -6
- package/front_end/models/trace/extras/extras.ts +0 -2
- package/front_end/models/trace/handlers/AnimationFramesHandler.test.ts +5 -5
- package/front_end/models/trace/handlers/AnimationFramesHandler.ts +10 -0
- package/front_end/models/trace/handlers/ExtensionTraceDataHandler.test.ts +177 -85
- package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +28 -27
- package/front_end/models/trace/handlers/FramesHandler.test.ts +2 -7
- package/front_end/models/trace/handlers/FramesHandler.ts +46 -37
- package/front_end/models/trace/handlers/ImagePaintingHandler.test.ts +41 -0
- package/front_end/models/trace/handlers/ImagePaintingHandler.ts +44 -1
- package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +62 -15
- package/front_end/models/trace/handlers/InitiatorsHandler.ts +24 -0
- package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +6 -18
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +21 -17
- package/front_end/models/trace/handlers/MetaHandler.test.ts +12 -0
- package/front_end/models/trace/handlers/MetaHandler.ts +5 -4
- package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +21 -21
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +79 -32
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.test.ts +6 -18
- package/front_end/models/trace/handlers/RendererHandler.test.ts +26 -39
- package/front_end/models/trace/handlers/RendererHandler.ts +10 -17
- package/front_end/models/trace/handlers/SamplesHandler.test.ts +3 -4
- package/front_end/models/trace/handlers/SamplesHandler.ts +13 -12
- package/front_end/models/trace/handlers/ScriptsHandler.test.ts +1 -1
- package/front_end/models/trace/handlers/ScriptsHandler.ts +8 -4
- package/front_end/models/trace/handlers/SelectorStatsHandler.test.ts +1 -3
- package/front_end/models/trace/handlers/SelectorStatsHandler.ts +65 -0
- package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +4 -2
- package/front_end/models/trace/handlers/UserInteractionsHandler.ts +4 -2
- package/front_end/models/trace/handlers/UserTimingsHandler.test.ts +326 -0
- package/front_end/models/trace/handlers/UserTimingsHandler.ts +61 -24
- package/front_end/models/trace/handlers/helpers.test.ts +7 -6
- package/front_end/models/trace/handlers/helpers.ts +19 -14
- package/front_end/models/trace/handlers/types.ts +5 -1
- package/front_end/models/trace/helpers/SamplesIntegrator.test.ts +3 -3
- package/front_end/models/trace/helpers/SamplesIntegrator.ts +24 -33
- package/front_end/models/trace/helpers/SyntheticEvents.ts +2 -2
- package/front_end/models/trace/helpers/Timing.ts +66 -3
- package/front_end/models/trace/helpers/Trace.test.ts +6 -7
- package/front_end/models/trace/helpers/Trace.ts +47 -19
- package/front_end/models/trace/helpers/TreeHelpers.test.ts +0 -8
- package/front_end/models/trace/helpers/TreeHelpers.ts +1 -1
- package/front_end/models/trace/insights/CLSCulprits.test.ts +10 -7
- package/front_end/models/trace/insights/CLSCulprits.ts +85 -23
- package/front_end/models/trace/insights/Cache.ts +12 -0
- package/front_end/models/trace/insights/Common.test.ts +3 -3
- package/front_end/models/trace/insights/Common.ts +56 -22
- package/front_end/models/trace/insights/DOMSize.test.ts +4 -1
- package/front_end/models/trace/insights/DOMSize.ts +48 -1
- package/front_end/models/trace/insights/DocumentLatency.test.ts +5 -1
- package/front_end/models/trace/insights/DocumentLatency.ts +59 -4
- package/front_end/models/trace/insights/DuplicatedJavaScript.test.ts +2 -3
- package/front_end/models/trace/insights/DuplicatedJavaScript.ts +15 -4
- package/front_end/models/trace/insights/FontDisplay.test.ts +1 -1
- package/front_end/models/trace/insights/FontDisplay.ts +8 -0
- package/front_end/models/trace/insights/ForcedReflow.ts +25 -4
- package/front_end/models/trace/insights/{InteractionToNextPaint.test.ts → INPBreakdown.test.ts} +2 -2
- package/front_end/models/trace/insights/{InteractionToNextPaint.ts → INPBreakdown.ts} +63 -16
- package/front_end/models/trace/insights/ImageDelivery.ts +39 -7
- package/front_end/models/trace/insights/LCPBreakdown.test.ts +100 -0
- package/front_end/models/trace/insights/LCPBreakdown.ts +255 -0
- package/front_end/models/trace/insights/LCPDiscovery.ts +84 -8
- package/front_end/models/trace/insights/LegacyJavaScript.ts +14 -4
- package/front_end/models/trace/insights/Models.ts +2 -2
- package/front_end/models/trace/insights/ModernHTTP.test.ts +3 -2
- package/front_end/models/trace/insights/ModernHTTP.ts +35 -18
- package/front_end/models/trace/insights/NetworkDependencyTree.test.ts +10 -1
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +41 -13
- package/front_end/models/trace/insights/RenderBlocking.test.ts +8 -12
- package/front_end/models/trace/insights/RenderBlocking.ts +13 -1
- package/front_end/models/trace/insights/SlowCSSSelector.test.ts +12 -34
- package/front_end/models/trace/insights/SlowCSSSelector.ts +46 -27
- package/front_end/models/trace/insights/ThirdParties.test.ts +1 -1
- package/front_end/models/trace/insights/ThirdParties.ts +36 -0
- package/front_end/models/trace/insights/Viewport.test.ts +16 -1
- package/front_end/models/trace/insights/Viewport.ts +41 -3
- package/front_end/models/trace/insights/types.ts +5 -2
- package/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts +4 -0
- package/front_end/models/trace/lantern/graph/BaseNode.ts +1 -1
- package/front_end/models/trace/lantern/simulation/SimulationTimingMap.ts +1 -1
- package/front_end/models/trace/trace.ts +0 -2
- package/front_end/models/trace/types/Configuration.ts +8 -0
- package/front_end/models/trace/types/Extensions.ts +24 -3
- package/front_end/models/trace/types/File.ts +5 -2
- package/front_end/models/trace/types/Overlays.ts +140 -0
- package/front_end/models/trace/types/Timing.ts +1 -0
- package/front_end/models/trace/types/TraceEvents.test.ts +2 -1
- package/front_end/models/trace/types/TraceEvents.ts +98 -62
- package/front_end/models/trace/types/types.ts +1 -0
- package/front_end/models/workspace/FileManager.ts +5 -3
- package/front_end/models/{bindings → workspace}/IgnoreListManager.test.ts +11 -7
- package/front_end/models/{bindings → workspace}/IgnoreListManager.ts +36 -33
- package/front_end/models/workspace/UISourceCode.test.ts +18 -17
- package/front_end/models/workspace/UISourceCode.ts +17 -7
- package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
- package/front_end/models/workspace/workspace.ts +2 -0
- package/front_end/models/workspace_diff/WorkspaceDiff.test.ts +2 -0
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +7 -2
- package/front_end/panels/accessibility/ARIAAttributesView.test.ts +101 -0
- package/front_end/panels/accessibility/ARIAAttributesView.ts +16 -4
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +12 -9
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +31 -28
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +8 -12
- package/front_end/panels/accessibility/AccessibilityStrings.ts +87 -87
- package/front_end/panels/accessibility/AccessibilitySubPane.ts +6 -6
- package/front_end/panels/accessibility/SourceOrderView.ts +95 -61
- package/front_end/panels/accessibility/accessibilityProperties.css +5 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.snapshot.txt +32 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.test.ts +465 -377
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +289 -339
- package/front_end/panels/ai_assistance/PatchWidget.ts +30 -29
- package/front_end/panels/ai_assistance/SelectWorkspaceDialog.test.ts +11 -1
- package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +29 -19
- package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -0
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +40 -20
- package/front_end/panels/ai_assistance/components/ChatView.test.ts +1 -0
- package/front_end/panels/ai_assistance/components/ChatView.ts +55 -44
- package/front_end/panels/ai_assistance/components/ExploreWidget.ts +10 -24
- package/front_end/panels/ai_assistance/components/UserActionRow.test.ts +4 -0
- package/front_end/panels/ai_assistance/components/UserActionRow.ts +25 -3
- package/front_end/panels/ai_assistance/components/chatView.css +0 -9
- package/front_end/panels/ai_assistance/components/exploreWidget.css +104 -102
- package/front_end/panels/ai_assistance/components/userActionRow.css +95 -94
- package/front_end/panels/ai_assistance/selectWorkspaceDialog.css +70 -69
- package/front_end/panels/animation/AnimationGroupPreviewUI.ts +1 -10
- package/front_end/panels/animation/AnimationTimeline.test.ts +6 -13
- package/front_end/panels/animation/AnimationTimeline.ts +183 -169
- package/front_end/panels/animation/AnimationUI.ts +4 -4
- package/front_end/panels/animation/animation.ts +0 -2
- package/front_end/panels/animation/animationTimeline.css +0 -67
- package/front_end/panels/application/AppManifestView.test.ts +21 -0
- package/front_end/panels/application/AppManifestView.ts +158 -139
- package/front_end/panels/application/ApplicationPanelSidebar.test.ts +13 -8
- package/front_end/panels/application/ApplicationPanelSidebar.ts +53 -54
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +1 -1
- package/front_end/panels/application/BackgroundServiceView.test.ts +4 -8
- package/front_end/panels/application/BackgroundServiceView.ts +46 -44
- package/front_end/panels/application/CookieItemsView.ts +13 -14
- package/front_end/panels/application/DOMStorageItemsView.ts +5 -5
- package/front_end/panels/application/ExtensionStorageItemsView.ts +3 -3
- package/front_end/panels/application/IndexedDBModel.test.ts +2 -2
- package/front_end/panels/application/IndexedDBModel.ts +3 -0
- package/front_end/panels/application/IndexedDBViews.ts +58 -32
- package/front_end/panels/application/InterestGroupStorageModel.ts +3 -0
- package/front_end/panels/application/InterestGroupStorageView.ts +4 -4
- package/front_end/panels/application/InterestGroupTreeElement.ts +1 -1
- package/front_end/panels/application/KeyValueStorageItemsView.ts +10 -10
- package/front_end/panels/application/OpenedWindowDetailsView.ts +18 -18
- package/front_end/panels/application/PreloadingTreeElement.ts +5 -5
- package/front_end/panels/application/ReportingApiTreeElement.ts +1 -1
- package/front_end/panels/application/ReportingApiView.test.ts +161 -30
- package/front_end/panels/application/ReportingApiView.ts +153 -50
- package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +5 -5
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +20 -17
- package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +7 -7
- package/front_end/panels/application/ServiceWorkersView.ts +40 -76
- package/front_end/panels/application/SharedStorageEventsView.test.ts +2 -2
- package/front_end/panels/application/SharedStorageEventsView.ts +10 -20
- package/front_end/panels/application/SharedStorageItemsView.ts +11 -11
- package/front_end/panels/application/SharedStorageListTreeElement.ts +1 -1
- package/front_end/panels/application/SharedStorageModel.ts +3 -0
- package/front_end/panels/application/StorageBucketsTreeElement.test.ts +5 -4
- package/front_end/panels/application/StorageBucketsTreeElement.ts +4 -4
- package/front_end/panels/application/StorageItemsToolbar.ts +7 -7
- package/front_end/panels/application/StorageView.test.ts +5 -1
- package/front_end/panels/application/StorageView.ts +15 -13
- package/front_end/panels/application/application-meta.ts +7 -7
- package/front_end/panels/application/application.ts +0 -2
- package/front_end/panels/application/components/BackForwardCacheStrings.ts +5 -0
- package/front_end/panels/application/components/BackForwardCacheView.ts +11 -37
- package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +1 -0
- package/front_end/panels/application/components/EndpointsGrid.ts +6 -2
- package/front_end/panels/application/components/FrameDetailsView.test.ts +4 -2
- package/front_end/panels/application/components/FrameDetailsView.ts +88 -57
- package/front_end/panels/application/components/InterestGroupAccessGrid.ts +9 -10
- package/front_end/panels/application/components/OriginTrialTreeView.ts +13 -22
- package/front_end/panels/application/components/PermissionsPolicySection.ts +11 -16
- package/front_end/panels/application/components/ProtocolHandlersView.ts +10 -10
- package/front_end/panels/application/components/ReportsGrid.ts +10 -11
- package/front_end/panels/application/components/SharedStorageAccessGrid.test.ts +4 -4
- package/front_end/panels/application/components/SharedStorageAccessGrid.ts +107 -101
- package/front_end/panels/application/components/SharedStorageMetadataView.ts +8 -8
- package/front_end/panels/application/components/StackTrace.ts +6 -12
- package/front_end/panels/application/components/StorageMetadataView.ts +22 -26
- package/front_end/panels/application/components/TrustTokensView.ts +3 -3
- package/front_end/panels/application/components/frameDetailsReportView.css +1 -1
- package/front_end/panels/application/components/sharedStorageAccessGrid.css +19 -17
- package/front_end/panels/application/preloading/PreloadingView.ts +29 -24
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +9 -9
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +22 -22
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +28 -29
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +5 -7
- package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.test.ts +2 -2
- package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +4 -4
- package/front_end/panels/application/preloading/components/PreloadingString.ts +34 -34
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.test.ts +28 -1
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +4 -10
- package/front_end/panels/application/preloading/components/RuleSetGrid.test.ts +21 -0
- package/front_end/panels/application/preloading/components/RuleSetGrid.ts +10 -10
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +22 -23
- package/front_end/panels/application/resourcesSidebar.css +0 -4
- package/front_end/panels/autofill/AutofillView.test.ts +188 -259
- package/front_end/panels/autofill/AutofillView.ts +207 -217
- package/front_end/panels/autofill/autofill-meta.ts +3 -4
- package/front_end/panels/autofill/autofillView.css +85 -82
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.test.ts +179 -0
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +146 -35
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +27 -27
- package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +3 -2
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +16 -14
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +17 -17
- package/front_end/panels/browser_debugger/browser_debugger.ts +2 -0
- package/front_end/panels/changes/ChangesSidebar.ts +7 -7
- package/front_end/panels/changes/ChangesView.ts +6 -5
- package/front_end/panels/changes/CombinedDiffView.test.ts +2 -0
- package/front_end/panels/changes/CombinedDiffView.ts +2 -2
- package/front_end/panels/common/AiCodeCompletionDisclaimer.test.ts +57 -0
- package/front_end/panels/common/AiCodeCompletionDisclaimer.ts +186 -0
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.test.ts +85 -0
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +139 -0
- package/front_end/panels/common/AiCodeCompletionTeaser.test.ts +98 -0
- package/front_end/panels/common/AiCodeCompletionTeaser.ts +258 -0
- package/front_end/panels/common/FreDialog.ts +139 -0
- package/front_end/panels/common/aiCodeCompletionDisclaimer.css +57 -0
- package/front_end/panels/common/aiCodeCompletionSummaryToolbar.css +101 -0
- package/front_end/panels/common/aiCodeCompletionTeaser.css +42 -0
- package/front_end/panels/common/common.css +0 -83
- package/front_end/panels/common/common.ts +8 -107
- package/front_end/panels/common/freDialog.css +88 -0
- package/front_end/panels/console/ConsoleContextSelector.ts +5 -5
- package/front_end/panels/console/ConsoleFormat.test.ts +1 -1
- package/front_end/panels/console/ConsolePanel.ts +1 -2
- package/front_end/panels/console/ConsolePinPane.ts +9 -9
- package/front_end/panels/console/ConsolePrompt.test.ts +47 -1
- package/front_end/panels/console/ConsolePrompt.ts +188 -19
- package/front_end/panels/console/ConsoleSidebar.test.ts +130 -0
- package/front_end/panels/console/ConsoleSidebar.ts +170 -207
- package/front_end/panels/console/ConsoleView.test.ts +4 -4
- package/front_end/panels/console/ConsoleView.ts +146 -54
- package/front_end/panels/console/ConsoleViewMessage.test.ts +1 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +66 -71
- package/front_end/panels/console/console-meta.ts +27 -27
- package/front_end/panels/console/consoleSidebar.css +2 -0
- package/front_end/panels/console/consoleView.css +22 -15
- package/front_end/panels/console_counters/WarningErrorCounter.ts +133 -100
- package/front_end/panels/coverage/CoverageDecorationManager.test.ts +2 -1
- package/front_end/panels/coverage/CoverageListView.ts +30 -30
- package/front_end/panels/coverage/CoverageView.test.ts +3 -2
- package/front_end/panels/coverage/CoverageView.ts +35 -34
- package/front_end/panels/coverage/coverage-meta.ts +7 -7
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +49 -49
- package/front_end/panels/css_overview/CSSOverviewPanel.test.ts +3 -3
- package/front_end/panels/css_overview/CSSOverviewPanel.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +3 -3
- package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +3 -3
- package/front_end/panels/css_overview/CSSOverviewStartView.ts +8 -8
- package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +7 -7
- package/front_end/panels/css_overview/cssOverviewCompletedView.css +289 -287
- package/front_end/panels/css_overview/cssOverviewSidebarPanel.css +43 -42
- package/front_end/panels/css_overview/cssOverviewStartView.css +68 -66
- package/front_end/panels/css_overview/css_overview-meta.ts +2 -2
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +14 -14
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +5 -5
- package/front_end/panels/developer_resources/developerResourcesListView.css +19 -18
- package/front_end/panels/developer_resources/developerResourcesView.css +32 -30
- package/front_end/panels/elements/AccessibilityTreeView.ts +2 -1
- package/front_end/panels/elements/CSSRuleValidator.test.ts +39 -0
- package/front_end/panels/elements/CSSRuleValidator.ts +41 -37
- package/front_end/panels/elements/CSSRuleValidatorHelper.ts +8 -0
- package/front_end/panels/elements/CSSValueTraceView.test.ts +2 -1
- package/front_end/panels/elements/CSSValueTraceView.ts +1 -2
- package/front_end/panels/elements/ClassesPaneWidget.ts +5 -3
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +18 -9
- package/front_end/panels/elements/ComputedStyleWidget.ts +4 -3
- package/front_end/panels/elements/DOMLinkifier.ts +6 -4
- package/front_end/panels/elements/DOMTreeWidget.test.ts +58 -0
- package/front_end/panels/elements/ElementIssueUtils.ts +14 -9
- package/front_end/panels/elements/ElementStatePaneWidget.ts +3 -3
- package/front_end/panels/elements/ElementsPanel.test.ts +69 -2
- package/front_end/panels/elements/ElementsPanel.ts +105 -187
- package/front_end/panels/elements/ElementsSidebarPane.ts +1 -1
- package/front_end/panels/elements/ElementsTreeElement.test.ts +401 -0
- package/front_end/panels/elements/ElementsTreeElement.ts +434 -82
- package/front_end/panels/elements/ElementsTreeOutline.test.ts +9 -6
- package/front_end/panels/elements/ElementsTreeOutline.ts +425 -258
- package/front_end/panels/elements/ElementsTreeOutlineRenderer.ts +80 -0
- package/front_end/panels/elements/EventListenersWidget.test.ts +129 -0
- package/front_end/panels/elements/EventListenersWidget.ts +112 -78
- package/front_end/panels/elements/ImagePreviewPopover.ts +1 -1
- package/front_end/panels/elements/InspectElementModeController.test.ts +77 -2
- package/front_end/panels/elements/InspectElementModeController.ts +13 -2
- package/front_end/panels/elements/LayersWidget.ts +95 -63
- package/front_end/panels/elements/{components/LayoutPane.test.ts → LayoutPane.test.ts} +60 -49
- package/front_end/panels/elements/LayoutPane.ts +593 -0
- package/front_end/panels/elements/MarkerDecorator.ts +2 -2
- package/front_end/panels/elements/MetricsSidebarPane.ts +6 -6
- package/front_end/panels/elements/NodeStackTraceWidget.ts +16 -14
- package/front_end/panels/elements/PlatformFontsWidget.ts +8 -8
- package/front_end/panels/elements/PropertiesWidget.ts +2 -2
- package/front_end/panels/elements/PropertyRenderer.test.ts +1 -1
- package/front_end/panels/elements/PropertyRenderer.ts +8 -11
- package/front_end/panels/elements/ShortcutTreeElement.ts +157 -0
- package/front_end/panels/elements/StyleEditorWidget.ts +1 -1
- package/front_end/panels/elements/StylePropertiesSection.test.ts +10 -10
- package/front_end/panels/elements/StylePropertiesSection.ts +42 -44
- package/front_end/panels/elements/StylePropertyHighlighter.test.ts +32 -21
- package/front_end/panels/elements/StylePropertyHighlighter.ts +9 -11
- package/front_end/panels/elements/StylePropertyTreeElement.test.ts +111 -53
- package/front_end/panels/elements/StylePropertyTreeElement.ts +166 -100
- package/front_end/panels/elements/StylesSidebarPane.ts +47 -48
- package/front_end/panels/elements/TopLayerContainer.ts +8 -7
- package/front_end/panels/elements/WebCustomData.test.ts +2 -2
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +1 -1
- package/front_end/panels/elements/components/AdornerManager.ts +15 -0
- package/front_end/panels/elements/components/CSSHintDetailsView.ts +1 -1
- package/front_end/panels/elements/components/CSSPropertyDocsView.test.ts +101 -2
- package/front_end/panels/elements/components/CSSPropertyDocsView.ts +188 -5
- package/front_end/panels/elements/components/CSSPropertyIconResolver.test.ts +1 -1
- package/front_end/panels/elements/components/CSSPropertyIconResolver.ts +2 -2
- package/front_end/panels/elements/components/CSSVariableValueView.ts +5 -5
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -7
- package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +1 -1
- package/front_end/panels/elements/components/QueryContainer.ts +1 -4
- package/front_end/panels/elements/components/components.ts +0 -4
- package/front_end/panels/elements/components/cssPropertyDocsView.css +12 -1
- package/front_end/panels/elements/components/cssVariableValueView.css +1 -0
- package/front_end/panels/elements/domLinkifier.css +36 -35
- package/front_end/panels/elements/elementStatePaneWidget.css +46 -45
- package/front_end/panels/elements/elements-meta.ts +4 -13
- package/front_end/panels/elements/elements.ts +4 -3
- package/front_end/panels/elements/elementsTreeOutline.css +2 -1
- package/front_end/panels/elements/layersWidget.css +2 -11
- package/front_end/panels/elements/layoutPane.css +145 -0
- package/front_end/panels/elements/metricsSidebarPane.css +1 -1
- package/front_end/panels/elements/nodeStackTraceWidget.css +5 -4
- package/front_end/panels/elements/platformFontsWidget.css +32 -31
- package/front_end/panels/elements/stylePropertiesTreeOutline.css +2 -2
- package/front_end/panels/elements/stylesSidebarPane.css +1 -0
- package/front_end/panels/emulation/DeviceModeToolbar.ts +13 -50
- package/front_end/panels/emulation/DeviceModeView.ts +3 -4
- package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
- package/front_end/panels/emulation/MediaQueryInspector.ts +4 -2
- package/front_end/panels/emulation/emulation-meta.ts +7 -7
- package/front_end/panels/event_listeners/EventListenersView.test.ts +4 -4
- package/front_end/panels/event_listeners/EventListenersView.ts +34 -31
- package/front_end/panels/explain/PromptBuilder.test.ts +7 -2
- package/front_end/panels/explain/PromptBuilder.ts +3 -1
- package/front_end/panels/explain/components/ConsoleInsight.test.ts +14 -10
- package/front_end/panels/explain/components/ConsoleInsight.ts +13 -34
- package/front_end/panels/explain/explain-meta.ts +3 -3
- package/front_end/panels/issues/AffectedBlockedByResponseView.ts +4 -4
- package/front_end/panels/issues/AffectedCookiesView.ts +6 -6
- package/front_end/panels/issues/AffectedDescendantsWithinSelectElementView.ts +6 -6
- package/front_end/panels/issues/AffectedDirectivesView.ts +9 -9
- package/front_end/panels/issues/AffectedDocumentsInQuirksModeView.ts +4 -4
- package/front_end/panels/issues/AffectedElementsView.ts +1 -1
- package/front_end/panels/issues/AffectedElementsWithLowContrastView.ts +6 -6
- package/front_end/panels/issues/AffectedHeavyAdView.ts +7 -7
- package/front_end/panels/issues/AffectedMetadataAllowedSitesView.ts +1 -1
- package/front_end/panels/issues/AffectedResourcesView.ts +6 -6
- package/front_end/panels/issues/AffectedSharedArrayBufferIssueDetailsView.ts +10 -10
- package/front_end/panels/issues/AffectedSourcesView.ts +1 -1
- package/front_end/panels/issues/AffectedTrackingSitesView.ts +1 -1
- package/front_end/panels/issues/CorsIssueDetailsView.ts +27 -27
- package/front_end/panels/issues/GenericIssueDetailsView.ts +3 -3
- package/front_end/panels/issues/HiddenIssuesRow.ts +55 -29
- package/front_end/panels/issues/IssueAggregator.ts +5 -11
- package/front_end/panels/issues/IssueKindView.ts +2 -2
- package/front_end/panels/issues/IssueView.ts +13 -13
- package/front_end/panels/issues/IssuesPane.ts +5 -4
- package/front_end/panels/issues/components/HideIssuesMenu.ts +1 -1
- package/front_end/panels/issues/issues-meta.ts +2 -2
- package/front_end/panels/js_timeline/js_timeline-meta.ts +6 -6
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +43 -41
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +7 -7
- package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
- package/front_end/panels/layer_viewer/Layers3DView.ts +19 -13
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +9 -9
- package/front_end/panels/layer_viewer/TransformController.ts +14 -8
- package/front_end/panels/layer_viewer/layer_viewer-meta.ts +9 -9
- package/front_end/panels/layers/LayersPanel.ts +3 -3
- package/front_end/panels/layers/layers-meta.ts +2 -2
- package/front_end/panels/lighthouse/LighthouseController.ts +27 -27
- package/front_end/panels/lighthouse/LighthousePanel.ts +7 -7
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +31 -33
- package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +4 -2
- package/front_end/panels/lighthouse/LighthouseReportSelector.ts +2 -4
- package/front_end/panels/lighthouse/LighthouseStartView.ts +4 -3
- package/front_end/panels/lighthouse/LighthouseStatusView.ts +31 -31
- package/front_end/panels/lighthouse/lighthouse-meta.ts +1 -1
- package/front_end/panels/lighthouse/lighthousePanel.css +9 -0
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +2 -2
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +5 -6
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +6 -10
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +3 -3
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +6 -6
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +2 -2
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +6 -7
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
- package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +2 -2
- package/front_end/panels/media/EventDisplayTable.ts +5 -7
- package/front_end/panels/media/EventTimelineView.ts +4 -4
- package/front_end/panels/media/MainView.test.ts +1 -1
- package/front_end/panels/media/MainView.ts +4 -4
- package/front_end/panels/media/MediaModel.ts +2 -2
- package/front_end/panels/media/PlayerDetailView.ts +8 -8
- package/front_end/panels/media/PlayerListView.ts +8 -8
- package/front_end/panels/media/PlayerMessagesView.ts +15 -17
- package/front_end/panels/media/PlayerPropertiesView.ts +66 -51
- package/front_end/panels/media/TickingFlameChart.ts +6 -5
- package/front_end/panels/media/media-meta.ts +3 -3
- package/front_end/panels/mobile_throttling/CalibrationController.ts +3 -4
- package/front_end/panels/mobile_throttling/MobileThrottlingSelector.ts +3 -3
- package/front_end/panels/mobile_throttling/NetworkPanelIndicator.ts +4 -4
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +189 -51
- package/front_end/panels/mobile_throttling/ThrottlingManager.test.ts +37 -1
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +114 -126
- package/front_end/panels/mobile_throttling/ThrottlingPresets.ts +8 -8
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.test.ts +115 -0
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +178 -143
- package/front_end/panels/mobile_throttling/mobile_throttling-meta.ts +6 -6
- package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +30 -36
- package/front_end/panels/network/BinaryResourceView.ts +7 -7
- package/front_end/panels/network/BlockedURLsPane.ts +18 -17
- package/front_end/panels/network/EventSourceMessagesView.ts +9 -10
- package/front_end/panels/network/NetworkConfigView.test.ts +35 -0
- package/front_end/panels/network/NetworkConfigView.ts +19 -17
- package/front_end/panels/network/NetworkDataGridNode.test.ts +19 -8
- package/front_end/panels/network/NetworkDataGridNode.ts +129 -90
- package/front_end/panels/network/NetworkItemView.test.ts +3 -3
- package/front_end/panels/network/NetworkItemView.ts +79 -79
- package/front_end/panels/network/NetworkLogView.test.ts +61 -23
- package/front_end/panels/network/NetworkLogView.ts +207 -130
- package/front_end/panels/network/NetworkLogViewColumns.ts +60 -63
- package/front_end/panels/network/NetworkManageCustomHeadersView.ts +5 -5
- package/front_end/panels/network/NetworkPanel.test.ts +3 -3
- package/front_end/panels/network/NetworkPanel.ts +69 -68
- package/front_end/panels/network/NetworkSearchScope.ts +1 -1
- package/front_end/panels/network/NetworkTimeCalculator.ts +35 -40
- package/front_end/panels/network/NetworkWaterfallColumn.ts +2 -12
- package/front_end/panels/network/RequestCookiesView.ts +10 -11
- package/front_end/panels/network/RequestHTMLView.ts +2 -2
- package/front_end/panels/network/RequestInitiatorView.ts +16 -16
- package/front_end/panels/network/RequestPayloadView.ts +12 -13
- package/front_end/panels/network/RequestPreviewView.ts +3 -4
- package/front_end/panels/network/RequestResponseView.test.ts +36 -0
- package/front_end/panels/network/RequestResponseView.ts +5 -5
- package/front_end/panels/network/RequestTimingView.ts +54 -54
- package/front_end/panels/network/ResourceChunkView.ts +13 -13
- package/front_end/panels/network/ResourceDirectSocketChunkView.ts +26 -17
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +9 -9
- package/front_end/panels/network/SignedExchangeInfoView.ts +24 -24
- package/front_end/panels/network/binaryResourceView.css +1 -0
- package/front_end/panels/network/components/DirectSocketConnectionView.ts +18 -16
- package/front_end/panels/network/components/HeaderSectionRow.ts +17 -42
- package/front_end/panels/network/components/RequestHeaderSection.ts +6 -11
- package/front_end/panels/network/components/RequestHeadersView.css +2 -2
- package/front_end/panels/network/components/RequestHeadersView.test.ts +5 -2
- package/front_end/panels/network/components/RequestHeadersView.ts +24 -34
- package/front_end/panels/network/components/RequestTrustTokensView.ts +19 -23
- package/front_end/panels/network/components/ResponseHeaderSection.ts +16 -15
- package/front_end/panels/network/components/WebBundleInfoView.ts +4 -9
- package/front_end/panels/network/network-meta.ts +27 -27
- package/front_end/panels/network/networkConfigView.css +13 -6
- package/front_end/panels/network/networkLogView.css +1 -1
- package/front_end/panels/network/networkPanel.css +3 -2
- package/front_end/panels/network/requestHTMLView.css +9 -8
- package/front_end/panels/network/resourceChunkView.css +21 -28
- package/front_end/panels/performance_monitor/PerformanceMonitor.test.ts +121 -6
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +252 -168
- package/front_end/panels/performance_monitor/performanceMonitor.css +7 -9
- package/front_end/panels/performance_monitor/performance_monitor-meta.ts +7 -7
- package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +19 -52
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +9 -6
- package/front_end/panels/profiler/HeapProfileView.ts +24 -24
- package/front_end/panels/profiler/HeapProfilerPanel.ts +1 -1
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +20 -20
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +27 -27
- package/front_end/panels/profiler/HeapSnapshotProxy.ts +2 -6
- package/front_end/panels/profiler/HeapSnapshotView.ts +59 -56
- package/front_end/panels/profiler/HeapTimelineOverview.ts +1 -2
- package/front_end/panels/profiler/IsolateSelector.ts +16 -16
- package/front_end/panels/profiler/LiveHeapProfileView.ts +14 -14
- package/front_end/panels/profiler/ModuleUIStrings.ts +26 -26
- package/front_end/panels/profiler/ProfileDataGrid.ts +5 -5
- package/front_end/panels/profiler/ProfileHeader.ts +0 -9
- package/front_end/panels/profiler/ProfileLauncherView.ts +6 -6
- package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +1 -1
- package/front_end/panels/profiler/ProfileView.ts +23 -20
- package/front_end/panels/profiler/ProfilesPanel.ts +9 -9
- package/front_end/panels/profiler/heapProfiler.css +8 -0
- package/front_end/panels/profiler/profiler-meta.ts +12 -12
- package/front_end/panels/protocol_monitor/JSONEditor.test.ts +2 -2
- package/front_end/panels/protocol_monitor/JSONEditor.ts +36 -19
- package/front_end/panels/protocol_monitor/ProtocolMonitor.test.ts +105 -103
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +24 -25
- package/front_end/panels/protocol_monitor/protocolMonitor.css +15 -9
- package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +1 -1
- package/front_end/panels/recorder/RecorderController.test.ts +9 -2
- package/front_end/panels/recorder/RecorderController.ts +82 -85
- package/front_end/panels/recorder/components/CreateRecordingView.ts +2 -2
- package/front_end/panels/recorder/components/RecordingListView.test.ts +42 -53
- package/front_end/panels/recorder/components/RecordingListView.ts +141 -125
- package/front_end/panels/recorder/components/RecordingView.test.ts +73 -122
- package/front_end/panels/recorder/components/RecordingView.ts +912 -929
- package/front_end/panels/recorder/components/StepEditor.ts +13 -13
- package/front_end/panels/recorder/components/StepView.ts +23 -24
- package/front_end/panels/recorder/components/recordingListView.css +76 -75
- package/front_end/panels/recorder/components/recordingView.css +303 -308
- package/front_end/panels/recorder/components/stepView.css +197 -196
- package/front_end/panels/recorder/components/timelineSection.css +1 -1
- package/front_end/panels/recorder/injected/rollup.config.mjs +1 -1
- package/front_end/panels/recorder/injected/selectors/ARIASelector.ts +2 -2
- package/front_end/panels/recorder/injected/selectors/CSSSelector.ts +4 -4
- package/front_end/panels/recorder/injected/selectors/PierceSelector.ts +2 -2
- package/front_end/panels/recorder/injected/selectors/TextSelector.ts +2 -2
- package/front_end/panels/recorder/injected/selectors/XPath.ts +3 -3
- package/front_end/panels/recorder/models/RecorderSettings.ts +0 -1
- package/front_end/panels/recorder/models/RecordingPlayer.test.ts +48 -68
- package/front_end/panels/recorder/models/RecordingPlayer.ts +9 -9
- package/front_end/panels/recorder/models/RecordingSession.ts +3 -3
- package/front_end/panels/recorder/recorder-meta.ts +5 -5
- package/front_end/panels/recorder/recorderController.css +3 -3
- package/front_end/panels/screencast/ScreencastApp.ts +1 -1
- package/front_end/panels/screencast/ScreencastView.ts +13 -18
- package/front_end/panels/search/SearchResultsPane.ts +8 -8
- package/front_end/panels/search/SearchView.test.ts +2 -2
- package/front_end/panels/search/SearchView.ts +130 -127
- package/front_end/panels/search/searchResultsPane.css +2 -2
- package/front_end/panels/search/searchView.css +2 -2
- package/front_end/panels/security/CookieControlsView.ts +27 -27
- package/front_end/panels/security/CookieReportView.ts +40 -73
- package/front_end/panels/security/IPProtectionTreeElement.ts +21 -0
- package/front_end/panels/security/IPProtectionView.ts +179 -0
- package/front_end/panels/security/SecurityModel.ts +10 -10
- package/front_end/panels/security/SecurityPanel.test.ts +22 -0
- package/front_end/panels/security/SecurityPanel.ts +107 -107
- package/front_end/panels/security/SecurityPanelSidebar.ts +27 -11
- package/front_end/panels/security/ipProtectionView.css +109 -0
- package/front_end/panels/security/security-meta.ts +4 -4
- package/front_end/panels/security/security.ts +2 -0
- package/front_end/panels/sensors/LocationsSettingsTab.ts +32 -31
- package/front_end/panels/sensors/SensorsView.ts +50 -42
- package/front_end/panels/sensors/sensors-meta.ts +20 -20
- package/front_end/panels/settings/AISettingsTab.test.ts +19 -6
- package/front_end/panels/settings/AISettingsTab.ts +118 -72
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +22 -20
- package/front_end/panels/settings/KeybindsSettingsTab.ts +31 -30
- package/front_end/panels/settings/SettingsScreen.ts +19 -20
- package/front_end/panels/settings/components/SyncSection.test.ts +43 -9
- package/front_end/panels/settings/components/SyncSection.ts +63 -29
- package/front_end/panels/settings/components/syncSection.css +16 -7
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +14 -16
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.test.ts +61 -0
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +134 -28
- package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +19 -0
- package/front_end/panels/settings/emulation/emulation-meta.ts +2 -2
- package/front_end/panels/settings/settings-meta.ts +12 -12
- package/front_end/panels/settings/settingsScreen.css +0 -1
- package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +5 -5
- package/front_end/panels/snippets/SnippetsQuickOpen.ts +4 -4
- package/front_end/panels/sources/AddSourceMapURLDialog.ts +5 -5
- package/front_end/panels/sources/AiCodeCompletionPlugin.test.ts +119 -0
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +400 -0
- package/front_end/panels/sources/AiWarningInfobarPlugin.ts +3 -3
- package/front_end/panels/sources/BreakpointEditDialog.ts +13 -11
- package/front_end/panels/sources/{components/BreakpointsView.test.ts → BreakpointsView.test.ts} +237 -225
- package/front_end/panels/sources/{components/BreakpointsView.ts → BreakpointsView.ts} +336 -301
- package/front_end/panels/sources/{components/BreakpointsViewUtils.test.ts → BreakpointsViewUtils.test.ts} +29 -29
- package/front_end/panels/sources/{components/BreakpointsViewUtils.ts → BreakpointsViewUtils.ts} +3 -3
- package/front_end/panels/sources/CSSPlugin.ts +26 -17
- package/front_end/panels/sources/CallStackSidebarPane.ts +34 -58
- package/front_end/panels/sources/CategorizedBreakpointL10n.ts +18 -18
- package/front_end/panels/sources/CoveragePlugin.test.ts +2 -0
- package/front_end/panels/sources/CoveragePlugin.ts +5 -5
- package/front_end/panels/sources/DebuggerPausedMessage.test.ts +2 -0
- package/front_end/panels/sources/DebuggerPausedMessage.ts +33 -39
- package/front_end/panels/sources/DebuggerPlugin.test.ts +4 -3
- package/front_end/panels/sources/DebuggerPlugin.ts +68 -49
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.test.ts +3 -4
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +7 -7
- package/front_end/panels/sources/GoToLineQuickOpen.ts +15 -15
- package/front_end/panels/sources/InplaceFormatterEditorAction.ts +9 -6
- package/front_end/panels/sources/NavigatorView.test.ts +2 -1
- package/front_end/panels/sources/NavigatorView.ts +39 -35
- package/front_end/panels/sources/OpenFileQuickOpen.ts +6 -6
- package/front_end/panels/sources/OutlineQuickOpen.ts +3 -3
- package/front_end/panels/sources/ProfilePlugin.ts +3 -3
- package/front_end/panels/sources/ResourceOriginPlugin.ts +1 -1
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +11 -9
- package/front_end/panels/sources/SnippetsPlugin.ts +2 -2
- package/front_end/panels/sources/SourcesNavigator.test.ts +3 -2
- package/front_end/panels/sources/SourcesNavigator.ts +32 -20
- package/front_end/panels/sources/SourcesPanel.test.ts +90 -0
- package/front_end/panels/sources/SourcesPanel.ts +71 -28
- package/front_end/panels/sources/SourcesSearchScope.ts +1 -1
- package/front_end/panels/sources/SourcesView.test.ts +5 -2
- package/front_end/panels/sources/SourcesView.ts +7 -8
- package/front_end/panels/sources/TabbedEditorContainer.ts +11 -8
- package/front_end/panels/sources/ThreadsSidebarPane.ts +7 -10
- package/front_end/panels/sources/UISourceCodeFrame.test.ts +104 -0
- package/front_end/panels/sources/UISourceCodeFrame.ts +40 -17
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +14 -9
- package/front_end/panels/sources/breakpointsView.css +276 -0
- package/front_end/panels/sources/components/HeadersView.ts +17 -13
- package/front_end/panels/sources/components/components.ts +0 -4
- package/front_end/panels/sources/scopeChainSidebarPane.css +1 -1
- package/front_end/panels/sources/sources-meta.ts +103 -112
- package/front_end/panels/sources/sources.ts +6 -0
- package/front_end/panels/timeline/ActiveFilters.ts +2 -1
- package/front_end/panels/timeline/AnimationsTrackAppender.ts +1 -1
- package/front_end/panels/timeline/AnnotationHelpers.test.ts +14 -8
- package/front_end/panels/timeline/AnnotationHelpers.ts +28 -23
- package/front_end/panels/timeline/AppenderUtils.ts +2 -2
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +1 -14
- package/front_end/panels/timeline/CountersGraph.test.ts +80 -0
- package/front_end/panels/timeline/CountersGraph.ts +27 -18
- package/front_end/panels/timeline/EntriesFilter.test.ts +22 -15
- package/front_end/panels/timeline/EventsTimelineTreeView.ts +4 -25
- package/front_end/panels/timeline/ExtensionTrackAppender.ts +4 -9
- package/front_end/panels/timeline/GPUTrackAppender.ts +3 -3
- package/front_end/panels/timeline/Initiators.test.ts +22 -19
- package/front_end/panels/timeline/Initiators.ts +19 -6
- package/front_end/panels/timeline/InteractionsTrackAppender.ts +6 -6
- package/front_end/panels/timeline/IsolateSelector.ts +2 -2
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +6 -5
- package/front_end/panels/timeline/ModificationsManager.test.ts +98 -188
- package/front_end/panels/timeline/ModificationsManager.ts +51 -48
- package/front_end/panels/timeline/NetworkTrackAppender.ts +3 -3
- package/front_end/panels/timeline/README.md +5 -13
- package/front_end/{models/trace/extras/Metadata.test.ts → panels/timeline/RecordingMetadata.test.ts} +61 -29
- package/front_end/panels/timeline/RecordingMetadata.ts +79 -0
- package/front_end/panels/timeline/SaveFileFormatter.test.ts +1 -3
- package/front_end/panels/timeline/SaveFileFormatter.ts +0 -8
- package/front_end/panels/timeline/StatusDialog.ts +12 -8
- package/front_end/panels/timeline/ThirdPartyTreeView.ts +5 -5
- package/front_end/panels/timeline/ThreadAppender.ts +29 -29
- package/front_end/panels/timeline/TimelineController.ts +14 -18
- package/front_end/panels/timeline/TimelineDetailsView.test.ts +49 -15
- package/front_end/panels/timeline/TimelineDetailsView.ts +213 -105
- package/front_end/panels/timeline/TimelineEventOverview.ts +6 -6
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +56 -95
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +94 -65
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +3 -62
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +10 -30
- package/front_end/panels/timeline/TimelineFlameChartView.test.ts +105 -80
- package/front_end/panels/timeline/TimelineFlameChartView.ts +107 -102
- package/front_end/panels/timeline/TimelineHistoryManager.test.ts +0 -5
- package/front_end/panels/timeline/TimelineHistoryManager.ts +8 -8
- package/front_end/panels/timeline/TimelineLoader.test.ts +4 -7
- package/front_end/panels/timeline/TimelineLoader.ts +22 -3
- package/front_end/panels/timeline/TimelineMiniMap.ts +13 -5
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.test.ts +381 -117
- package/front_end/panels/timeline/TimelinePanel.ts +576 -345
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +195 -80
- package/front_end/panels/timeline/TimelineTreeView.test.ts +5 -5
- package/front_end/panels/timeline/TimelineTreeView.ts +25 -25
- package/front_end/panels/timeline/TimelineUIUtils.test.ts +58 -55
- package/front_end/panels/timeline/TimelineUIUtils.ts +159 -345
- package/front_end/panels/timeline/TimingsTrackAppender.ts +12 -7
- package/front_end/panels/timeline/TrackConfigBanner.test.ts +68 -0
- package/front_end/panels/timeline/TrackConfigBanner.ts +97 -0
- package/front_end/panels/timeline/TrackConfiguration.test.ts +3 -3
- package/front_end/panels/timeline/TrackConfiguration.ts +1 -0
- package/front_end/panels/timeline/UIDevtoolsUtils.ts +15 -15
- package/front_end/panels/timeline/components/BreadcrumbsUI.ts +4 -9
- package/front_end/panels/timeline/components/DetailsView.ts +13 -13
- package/front_end/panels/timeline/components/ExportTraceOptions.test.ts +281 -0
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +262 -0
- package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +1 -1
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +2 -1
- package/front_end/panels/timeline/components/IgnoreListSetting.test.ts +5 -4
- package/front_end/panels/timeline/components/IgnoreListSetting.ts +7 -7
- package/front_end/panels/timeline/components/InteractionBreakdown.ts +3 -3
- package/front_end/panels/timeline/components/Invalidations.test.ts +2 -1
- package/front_end/panels/timeline/components/LayoutShiftDetails.test.ts +21 -11
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +325 -307
- package/front_end/panels/timeline/components/LiveMetricsView.test.ts +14 -22
- package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
- package/front_end/panels/timeline/components/MetricCard.test.ts +2 -2
- package/front_end/panels/timeline/components/NetworkRequestDetails.test.ts +38 -44
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +318 -278
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +8 -8
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +3 -0
- package/front_end/panels/timeline/components/OriginMap.ts +1 -1
- package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +17 -31
- package/front_end/panels/timeline/components/RelatedInsightChips.ts +87 -66
- package/front_end/panels/timeline/components/Sidebar.test.ts +43 -4
- package/front_end/panels/timeline/components/Sidebar.ts +47 -20
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +47 -72
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +228 -218
- package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +1 -0
- package/front_end/panels/timeline/components/SidebarInsightsTab.ts +18 -54
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +7 -53
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +61 -44
- package/front_end/panels/timeline/components/TimelineSummary.ts +4 -4
- package/front_end/panels/timeline/components/Utils.ts +9 -9
- package/front_end/panels/timeline/components/components.ts +2 -0
- package/front_end/panels/timeline/components/exportTraceOptions.css +26 -0
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +40 -16
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +28 -34
- package/front_end/panels/timeline/components/insights/CLSCulprits.test.ts +5 -5
- package/front_end/panels/timeline/components/insights/CLSCulprits.ts +32 -23
- package/front_end/panels/timeline/components/insights/Cache.ts +4 -22
- package/front_end/panels/timeline/components/insights/Checklist.ts +6 -7
- package/front_end/panels/timeline/components/insights/DOMSize.ts +35 -15
- package/front_end/panels/timeline/components/insights/DocumentLatency.ts +1 -61
- package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +5 -17
- package/front_end/panels/timeline/components/insights/EventRef.ts +7 -9
- package/front_end/panels/timeline/components/insights/FontDisplay.ts +20 -21
- package/front_end/panels/timeline/components/insights/ForcedReflow.ts +5 -28
- package/front_end/panels/timeline/components/insights/{InteractionToNextPaint.test.ts → INPBreakdown.test.ts} +8 -5
- package/front_end/panels/timeline/components/insights/INPBreakdown.ts +70 -0
- package/front_end/panels/timeline/components/insights/ImageDelivery.ts +7 -21
- package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +146 -0
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +28 -80
- package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +3 -15
- package/front_end/panels/timeline/components/insights/ModernHTTP.ts +18 -23
- package/front_end/panels/timeline/components/insights/NetworkDependencyTree.test.ts +76 -0
- package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +35 -29
- package/front_end/panels/timeline/components/insights/NodeLink.test.ts +113 -0
- package/front_end/panels/timeline/components/insights/NodeLink.ts +50 -10
- package/front_end/panels/timeline/components/insights/README.md +1 -1
- package/front_end/panels/timeline/components/insights/RenderBlocking.ts +4 -22
- package/front_end/panels/timeline/components/insights/SidebarInsight.ts +1 -2
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +16 -28
- package/front_end/panels/timeline/components/insights/Table.ts +2 -3
- package/front_end/panels/timeline/components/insights/ThirdParties.ts +7 -47
- package/front_end/panels/timeline/components/insights/Viewport.ts +0 -6
- package/front_end/panels/timeline/components/insights/insights.ts +4 -4
- package/front_end/panels/timeline/components/insights/table.css +18 -0
- package/front_end/panels/timeline/components/insights/types.ts +2 -2
- package/front_end/panels/timeline/components/layoutShiftDetails.css +99 -92
- package/front_end/panels/timeline/components/networkRequestDetails.css +110 -104
- package/front_end/panels/timeline/components/networkRequestTooltip.css +88 -83
- package/front_end/panels/timeline/components/relatedInsightChips.css +60 -58
- package/front_end/panels/timeline/components/sidebarAnnotationsTab.css +80 -78
- package/front_end/panels/timeline/components/sidebarInsightsTab.css +0 -25
- package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +1 -1
- package/front_end/panels/timeline/docs/flame_chart_migration.md +2 -2
- package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +149 -42
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +218 -283
- package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +69 -104
- package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +1 -1
- package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +13 -0
- package/front_end/panels/timeline/overlays/components/timeRangeOverlay.css +2 -1
- package/front_end/panels/timeline/timeline-meta.ts +14 -14
- package/front_end/panels/timeline/timeline.ts +4 -4
- package/front_end/panels/timeline/timelineDetailsView.css +118 -0
- package/front_end/panels/timeline/timelineFlameChartView.css +18 -117
- package/front_end/panels/timeline/timelineMiniMap.css +5 -0
- package/front_end/panels/timeline/timelinePanel.css +2 -10
- package/front_end/panels/timeline/timelineTreeView.css +0 -4
- package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +16 -15
- package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +6 -4
- package/front_end/panels/timeline/track_appenders/InteractionsTrackAppender.test.ts +0 -1
- package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +34 -49
- package/front_end/panels/timeline/utils/AICallTree.test.ts +54 -120
- package/front_end/panels/timeline/utils/AICallTree.ts +31 -74
- package/front_end/panels/timeline/utils/AIContext.ts +67 -0
- package/front_end/panels/timeline/utils/EntityMapper.test.ts +5 -4
- package/front_end/panels/timeline/utils/EntityMapper.ts +3 -3
- package/front_end/panels/timeline/utils/EntryName.test.ts +3 -3
- package/front_end/panels/timeline/utils/EntryName.ts +10 -10
- package/front_end/panels/timeline/utils/EntryNodes.test.ts +137 -0
- package/front_end/panels/timeline/utils/EntryNodes.ts +107 -0
- package/front_end/panels/timeline/utils/EntryStyles.ts +110 -110
- package/front_end/panels/timeline/{EventsSerializer.test.ts → utils/EventsSerializer.test.ts} +7 -7
- package/front_end/panels/timeline/{EventsSerializer.ts → utils/EventsSerializer.ts} +1 -1
- package/front_end/panels/timeline/{FreshRecording.test.ts → utils/FreshRecording.test.ts} +5 -5
- package/front_end/panels/timeline/{FreshRecording.ts → utils/FreshRecording.ts} +1 -1
- package/front_end/panels/timeline/utils/Helpers.ts +6 -0
- package/front_end/panels/timeline/utils/IgnoreList.test.ts +7 -6
- package/front_end/panels/timeline/utils/IgnoreList.ts +6 -6
- package/front_end/panels/timeline/utils/InsightAIContext.test.ts +61 -25
- package/front_end/panels/timeline/utils/InsightAIContext.ts +102 -81
- package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +5 -4
- package/front_end/panels/timeline/utils/Treemap.ts +5 -20
- package/front_end/panels/timeline/utils/utils.ts +8 -0
- package/front_end/panels/utils/utils.test.ts +1 -7
- package/front_end/panels/utils/utils.ts +17 -21
- package/front_end/panels/web_audio/WebAudioView.test.ts +224 -11
- package/front_end/panels/web_audio/WebAudioView.ts +219 -267
- package/front_end/panels/web_audio/web_audio-meta.ts +3 -3
- package/front_end/panels/web_audio/web_audio.ts +0 -12
- package/front_end/panels/webauthn/WebauthnPane.test.ts +75 -72
- package/front_end/panels/webauthn/WebauthnPane.ts +517 -578
- package/front_end/panels/webauthn/webauthn-meta.ts +2 -2
- package/front_end/panels/webauthn/webauthnPane.css +157 -155
- package/front_end/panels/whats_new/ReleaseNoteText.ts +11 -11
- package/front_end/panels/whats_new/ReleaseNoteView.ts +2 -2
- package/front_end/panels/whats_new/releaseNoteView.css +92 -91
- package/front_end/panels/whats_new/resources/WNDT.md +6 -10
- package/front_end/panels/whats_new/whats_new-meta.ts +7 -7
- package/front_end/services/trace_bounds/TraceBounds.ts +1 -1
- package/front_end/services/tracing/ExternalRequests.test.ts +39 -0
- package/front_end/services/tracing/ExternalRequests.ts +74 -0
- package/front_end/services/tracing/PerformanceTracing.ts +5 -4
- package/front_end/{models/trace → services/tracing}/TracingManager.test.ts +9 -7
- package/front_end/{models/trace → services/tracing}/TracingManager.ts +3 -4
- package/front_end/services/tracing/tracing.ts +4 -0
- package/front_end/testing/AiAssistanceHelpers.ts +10 -8
- package/front_end/testing/DOMHelpers.ts +8 -6
- package/front_end/testing/EnvironmentHelpers.ts +21 -6
- package/front_end/testing/ExpectStubCall.ts +2 -1
- package/front_end/testing/InsightHelpers.ts +11 -4
- package/front_end/testing/MockConnection.ts +3 -2
- package/front_end/testing/MockSettingStorage.ts +23 -0
- package/front_end/testing/MutationHelpers.test.ts +1 -3
- package/front_end/testing/OverridesHelpers.ts +9 -3
- package/front_end/testing/PropertyParser.ts +1 -1
- package/front_end/testing/README.md +34 -0
- package/front_end/testing/SnapshotTester.snapshot.txt +9 -0
- package/front_end/testing/SnapshotTester.test.ts +32 -0
- package/front_end/testing/SnapshotTester.ts +150 -0
- package/front_end/testing/SourceMapEncoder.ts +1 -237
- package/front_end/testing/SourceMapHelpers.ts +3 -5
- package/front_end/testing/StackTraceHelpers.ts +47 -0
- package/front_end/testing/StyleHelpers.ts +43 -22
- package/front_end/testing/TraceHelpers.ts +135 -122
- package/front_end/testing/TraceLoader.ts +23 -65
- package/front_end/testing/test_setup.ts +31 -4
- package/front_end/ui/components/buttons/Button.ts +1 -1
- package/front_end/ui/components/buttons/FloatingButton.ts +37 -6
- package/front_end/ui/components/cards/Card.ts +2 -2
- package/front_end/ui/components/copy_to_clipboard/copyToClipboard.ts +1 -1
- package/front_end/ui/components/dialogs/ButtonDialog.test.ts +2 -6
- package/front_end/ui/components/dialogs/ButtonDialog.ts +15 -0
- package/front_end/ui/components/dialogs/Dialog.ts +68 -8
- package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +1 -3
- package/front_end/ui/components/diff_view/DiffView.ts +6 -6
- package/front_end/ui/components/docs/console_insight/basic.ts +1 -1
- package/front_end/ui/components/docs/console_insight/error.ts +1 -1
- package/front_end/ui/components/docs/console_insight/loading.ts +1 -1
- package/front_end/ui/components/docs/context_menu/basic.html +45 -0
- package/front_end/ui/components/docs/context_menu/basic.ts +102 -0
- package/front_end/ui/components/docs/icon_component/basic.html +1 -3
- package/front_end/ui/components/docs/icon_component/basic.ts +1 -1
- package/front_end/ui/components/docs/recorder_recording_list_view/basic.ts +4 -1
- package/front_end/ui/components/docs/select_menu/basic.html +1 -27
- package/front_end/ui/components/docs/select_menu/basic.ts +86 -194
- package/front_end/ui/components/icon_button/Icon.ts +16 -10
- package/front_end/ui/components/icon_button/IconButton.ts +1 -3
- package/front_end/ui/components/icon_button/icon.css +73 -0
- package/front_end/ui/components/issue_counter/IssueCounter.ts +13 -14
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +3 -3
- package/front_end/ui/components/markdown_view/MarkdownImagesMap.ts +4 -4
- package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +9 -6
- package/front_end/ui/components/markdown_view/MarkdownView.test.ts +73 -0
- package/front_end/ui/components/panel_feedback/PanelFeedback.ts +5 -11
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +4 -9
- package/front_end/ui/components/settings/SettingCheckbox.ts +3 -3
- package/front_end/ui/components/settings/SettingDeprecationWarning.ts +2 -4
- package/front_end/ui/components/snackbars/Snackbar.ts +32 -17
- package/front_end/ui/components/snackbars/snackbar.css +1 -1
- package/front_end/ui/components/spinners/Spinner.ts +50 -2
- package/front_end/ui/components/spinners/spinner.css +10 -1
- package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +0 -1
- package/front_end/ui/components/survey_link/SurveyLink.ts +4 -8
- package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.test.ts +84 -0
- package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.ts +83 -0
- package/front_end/ui/components/text_editor/ExecutionPositionHighlighter.ts +0 -1
- package/front_end/ui/components/text_editor/TextEditor.test.ts +72 -12
- package/front_end/ui/components/text_editor/TextEditor.ts +2 -0
- package/front_end/ui/components/text_editor/config.ts +120 -12
- package/front_end/ui/{legacy/components/inline_editor/bezierSwatch.css → components/text_editor/textEditor.css} +2 -6
- package/front_end/ui/components/text_editor/text_editor.ts +1 -0
- package/front_end/ui/components/tooltips/Tooltip.test.ts +70 -40
- package/front_end/ui/components/tooltips/Tooltip.ts +208 -33
- package/front_end/ui/components/tooltips/tooltip.css +13 -77
- package/front_end/ui/components/tree_outline/TreeOutline.ts +11 -0
- package/front_end/ui/legacy/ARIAUtils.test.ts +101 -20
- package/front_end/ui/legacy/ARIAUtils.ts +77 -49
- package/front_end/ui/legacy/ActionRegistration.test.ts +0 -2
- package/front_end/ui/legacy/ActionRegistration.ts +24 -24
- package/front_end/ui/legacy/ContextMenu.test.ts +60 -1
- package/front_end/ui/legacy/ContextMenu.ts +349 -29
- package/front_end/ui/legacy/DockController.ts +13 -7
- package/front_end/ui/legacy/EmptyWidget.ts +62 -32
- package/front_end/ui/legacy/FilterBar.ts +14 -9
- package/front_end/ui/legacy/GlassPane.ts +10 -4
- package/front_end/ui/legacy/Infobar.ts +2 -2
- package/front_end/ui/legacy/InspectorView.test.ts +99 -0
- package/front_end/ui/legacy/InspectorView.ts +71 -25
- package/front_end/ui/legacy/ListWidget.ts +9 -9
- package/front_end/ui/legacy/Panel.ts +1 -1
- package/front_end/ui/legacy/ProgressIndicator.ts +44 -41
- package/front_end/ui/legacy/RemoteDebuggingTerminatedScreen.ts +4 -4
- package/front_end/ui/legacy/ReportView.ts +1 -1
- package/front_end/ui/legacy/SearchableView.ts +24 -24
- package/front_end/ui/legacy/SettingsUI.ts +2 -2
- package/front_end/ui/legacy/ShortcutRegistry.ts +2 -1
- package/front_end/ui/legacy/SoftContextMenu.ts +23 -9
- package/front_end/ui/legacy/SoftDropDown.ts +1 -1
- package/front_end/ui/legacy/SplitWidget.test.ts +8 -0
- package/front_end/ui/legacy/SplitWidget.ts +3 -3
- package/front_end/ui/legacy/SuggestBox.ts +15 -15
- package/front_end/ui/legacy/TabbedPane.ts +27 -31
- package/front_end/ui/legacy/TargetCrashedScreen.ts +4 -4
- package/front_end/ui/legacy/TextPrompt.ts +4 -2
- package/front_end/ui/legacy/ThrottledWidget.ts +1 -1
- package/front_end/ui/legacy/Toolbar.test.ts +13 -0
- package/front_end/ui/legacy/Toolbar.ts +39 -19
- package/front_end/ui/legacy/Treeoutline.test.ts +140 -0
- package/front_end/ui/legacy/Treeoutline.ts +244 -8
- package/front_end/ui/legacy/UIUtils.test.ts +59 -0
- package/front_end/ui/legacy/UIUtils.ts +235 -25
- package/front_end/ui/legacy/View.test.ts +14 -1
- package/front_end/ui/legacy/View.ts +33 -9
- package/front_end/ui/legacy/ViewManager.test.ts +235 -0
- package/front_end/ui/legacy/ViewManager.ts +109 -15
- package/front_end/ui/legacy/ViewRegistration.ts +17 -7
- package/front_end/ui/legacy/Widget.test.ts +35 -3
- package/front_end/ui/legacy/Widget.ts +127 -16
- package/front_end/ui/legacy/XLink.ts +1 -1
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +36 -26
- package/front_end/ui/legacy/components/color_picker/FormatPickerContextMenu.ts +4 -8
- package/front_end/ui/legacy/components/color_picker/Spectrum.test.ts +36 -1
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +72 -49
- package/front_end/ui/legacy/components/color_picker/spectrum.css +1 -1
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +14 -19
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +31 -30
- package/front_end/ui/legacy/components/data_grid/DataGridElement.test.ts +19 -15
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +15 -3
- package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +2 -2
- package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +6 -3
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +9 -3
- package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +1 -1
- package/front_end/ui/legacy/components/inline_editor/BezierUI.ts +1 -1
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.test.ts +25 -25
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +11 -5
- package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +5 -5
- package/front_end/ui/legacy/components/inline_editor/ColorSwatch.test.ts +1 -9
- package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +35 -20
- package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +32 -31
- package/front_end/ui/legacy/components/inline_editor/FontEditorUnitConverter.ts +1 -1
- package/front_end/ui/legacy/components/inline_editor/Swatches.ts +3 -47
- package/front_end/ui/legacy/components/inline_editor/cssAngle.css +4 -5
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +2 -2
- package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.test.ts +19 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +31 -28
- package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +2 -0
- package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +2 -2
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +7 -3
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +7 -7
- package/front_end/ui/legacy/components/perf_ui/FlameChart.test.ts +162 -1
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +153 -99
- package/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts +5 -5
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
- package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +0 -4
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +54 -6
- package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +6 -6
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +29 -3
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +14 -5
- package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +2 -5
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +2 -0
- package/front_end/ui/legacy/components/quick_open/quick_open-meta.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/FontView.ts +8 -5
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +17 -29
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +3 -3
- package/front_end/ui/legacy/components/source_frame/PreviewFactory.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.test.ts +0 -4
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +41 -31
- package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/fontView.css +1 -1
- package/front_end/ui/legacy/components/source_frame/source_frame-meta.ts +9 -9
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -4
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.test.ts +6 -5
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +76 -34
- package/front_end/ui/legacy/components/utils/Linkifier.test.ts +154 -2
- package/front_end/ui/legacy/components/utils/Linkifier.ts +108 -50
- package/front_end/ui/legacy/components/utils/TargetDetachedDialog.ts +2 -1
- package/front_end/ui/legacy/confirmDialog.css +1 -1
- package/front_end/ui/legacy/filter.css +12 -4
- package/front_end/ui/legacy/inspectorCommon.css +25 -20
- package/front_end/ui/legacy/remoteDebuggingTerminatedScreen.css +18 -17
- package/front_end/ui/legacy/softContextMenu.css +4 -0
- package/front_end/ui/legacy/tabbedPane.css +5 -1
- package/front_end/ui/legacy/targetCrashedScreen.css +9 -8
- package/front_end/ui/legacy/viewContainers.css +8 -0
- package/front_end/ui/visual_logging/Debugging.ts +122 -26
- package/front_end/ui/visual_logging/KnownContextValues.ts +139 -1
- package/front_end/ui/visual_logging/LoggingConfig.ts +1 -1
- package/front_end/ui/visual_logging/LoggingDriver.test.ts +74 -44
- package/front_end/ui/visual_logging/LoggingDriver.ts +3 -2
- package/front_end/ui/visual_logging/LoggingState.ts +6 -4
- package/front_end/ui/visual_logging/README.md +1 -3
- package/front_end/ui/visual_logging/visual_logging.ts +9 -0
- package/front_end/ui/visual_logging/visual_logging_debugging.png +0 -0
- package/inspector_overlay/css_grid_label_helpers.ts +4 -4
- package/inspector_overlay/highlight_flex_common.ts +2 -2
- package/inspector_overlay/loadCSS.rollup.js +2 -2
- package/inspector_overlay/main.ts +0 -4
- package/inspector_overlay/tool_highlight.css +1 -1
- package/inspector_overlay/tool_highlight.ts +7 -7
- package/package.json +32 -36
- package/scripts/add_icon_paths.py +1 -1
- package/scripts/ai_assistance/README.md +1 -0
- package/scripts/ai_assistance/auto-run/auto-run.ts +46 -6
- package/scripts/ai_assistance/auto-run/shared/comment-parsers.test.ts +2 -2
- package/scripts/ai_assistance/auto-run/shared/comment-parsers.ts +2 -2
- package/scripts/ai_assistance/auto-run/shared/puppeteer-helpers.ts +18 -15
- package/scripts/ai_assistance/auto-run/targets/elements-executor.ts +2 -0
- package/scripts/ai_assistance/auto-run/targets/elements-multimodal-executor.ts +2 -0
- package/scripts/ai_assistance/auto-run/targets/interface.ts +1 -0
- package/scripts/ai_assistance/auto-run/targets/patching-executor.ts +1 -0
- package/scripts/ai_assistance/auto-run/targets/performance-insights-executor.ts +2 -0
- package/scripts/ai_assistance/auto-run/targets/performance-main-thread-executor.ts +2 -0
- package/scripts/ai_assistance/eval/index.js +5 -1
- package/scripts/ai_assistance/package.json +2 -1
- package/scripts/ai_assistance/suite/README.md +57 -0
- package/scripts/ai_assistance/suite/helpers/evaluators.ts +183 -0
- package/scripts/ai_assistance/suite/helpers/gemini.ts +122 -0
- package/scripts/ai_assistance/suite/helpers/outputs.ts +112 -0
- package/scripts/ai_assistance/suite/instructions/lcp-breakdown.md +12 -0
- package/scripts/ai_assistance/suite/instructions/load.ts +13 -0
- package/scripts/ai_assistance/suite/instructions/scoring.md +27 -0
- package/scripts/ai_assistance/suite/performance.eval.ts +18 -0
- package/scripts/ai_assistance/suite/to_eval_output.ts +166 -0
- package/scripts/ai_assistance/suite/types.d.ts +40 -0
- package/scripts/ai_assistance/suite/upload_to_gcp.ts +104 -0
- package/scripts/ai_assistance/tsconfig.json +1 -1
- package/scripts/ai_assistance/types.d.ts +8 -3
- package/scripts/build/assert_grd.py +1 -1
- package/scripts/build/compress_files.js +9 -4
- package/scripts/build/cross_reference_ninja_and_tsc.js +5 -5
- package/scripts/build/devtools_plugin.js +9 -2
- package/scripts/build/esbuild.js +4 -1
- package/scripts/build/generate_html_entrypoint.js +5 -4
- package/scripts/build/ninja/README.md +2 -3
- package/scripts/build/ninja/bundle.gni +7 -30
- package/scripts/build/ninja/devtools_entrypoint.gni +4 -4
- package/scripts/build/ninja/devtools_pre_built.gni +2 -1
- package/scripts/build/ninja/generate_css.gni +4 -2
- package/scripts/build/ninja/vars.gni +5 -1
- package/scripts/build/ninja/write-if-changed.js +2 -2
- package/scripts/build/typescript/ts_library.py +7 -1
- package/scripts/build/typescript/typescript.gni +2 -1
- package/scripts/component_server/server.js +8 -7
- package/scripts/devtools_build.mjs +93 -26
- package/scripts/devtools_build.test.mjs +48 -48
- package/scripts/devtools_paths.py +0 -5
- package/scripts/eslint_rules/README.md +4 -2
- package/scripts/eslint_rules/lib/canvas-context-tracking.ts +1 -1
- package/scripts/eslint_rules/lib/check-css-import.ts +2 -2
- package/scripts/eslint_rules/lib/check-license-header.ts +3 -3
- package/scripts/eslint_rules/lib/check-test-definitions.ts +2 -2
- package/scripts/eslint_rules/lib/enforce-custom-element-definitions-location.ts +1 -1
- package/scripts/eslint_rules/lib/enforce-optional-properties-last.ts +1 -1
- package/scripts/eslint_rules/lib/enforce-ui-strings-as-const.ts +1 -1
- package/scripts/eslint_rules/lib/es-modules-import.ts +3 -2
- package/scripts/eslint_rules/lib/html-tagged-template.ts +2 -2
- package/scripts/eslint_rules/lib/inject-checkbox-styles.ts +36 -24
- package/scripts/eslint_rules/lib/inline-type-imports.ts +1 -1
- package/scripts/eslint_rules/lib/jslog-context-list.ts +32 -7
- package/scripts/eslint_rules/lib/no-adopted-style-sheets.ts +2 -2
- package/scripts/eslint_rules/lib/no-assert-deep-strict-equal.ts +17 -16
- package/scripts/eslint_rules/lib/no-assert-equal-boolean-null-undefined.ts +1 -1
- package/scripts/eslint_rules/lib/no-assert-equal.ts +1 -1
- package/scripts/eslint_rules/lib/no-assert-strict-equal-for-arrays-and-objects.ts +1 -1
- package/scripts/eslint_rules/lib/no-commented-out-console.ts +4 -2
- package/scripts/eslint_rules/lib/no-customized-builtin-elements.ts +1 -4
- package/scripts/eslint_rules/lib/no-imperative-dom-api/adorner.ts +5 -9
- package/scripts/eslint_rules/lib/no-imperative-dom-api/aria-utils.ts +5 -8
- package/scripts/eslint_rules/lib/no-imperative-dom-api/ast.ts +24 -1
- package/scripts/eslint_rules/lib/no-imperative-dom-api/button.ts +5 -4
- package/scripts/eslint_rules/lib/no-imperative-dom-api/class-member.ts +1 -1
- package/scripts/eslint_rules/lib/no-imperative-dom-api/data-grid.ts +23 -25
- package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-api-devtools-extensions.ts +5 -9
- package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-api.ts +11 -16
- package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-fragment.ts +2 -2
- package/scripts/eslint_rules/lib/no-imperative-dom-api/split-widget.ts +14 -18
- package/scripts/eslint_rules/lib/no-imperative-dom-api/toolbar.ts +17 -18
- package/scripts/eslint_rules/lib/no-imperative-dom-api/ui-fragment.ts +7 -12
- package/scripts/eslint_rules/lib/no-imperative-dom-api/ui-utils.ts +7 -7
- package/scripts/eslint_rules/lib/no-imperative-dom-api/widget.ts +8 -13
- package/scripts/eslint_rules/lib/no-imperative-dom-api.ts +3 -22
- package/scripts/eslint_rules/lib/no-importing-images-from-src.ts +1 -1
- package/scripts/eslint_rules/lib/no-imports-in-directory.ts +18 -7
- package/scripts/eslint_rules/lib/no-lit-render-outside-of-view.ts +48 -37
- package/scripts/eslint_rules/lib/no-new-lit-element-components.ts +5 -2
- package/scripts/eslint_rules/lib/no-underscored-properties.ts +36 -28
- package/scripts/eslint_rules/lib/prefer-assert-instance-of.ts +24 -20
- package/scripts/eslint_rules/lib/prefer-assert-is-ok.ts +54 -45
- package/scripts/eslint_rules/lib/prefer-assert-length-of.ts +24 -17
- package/scripts/eslint_rules/lib/prefer-assert-strict-equal.ts +22 -16
- package/scripts/eslint_rules/lib/prefer-private-class-members.ts +11 -4
- package/scripts/eslint_rules/lib/prefer-sinon-assert.ts +37 -29
- package/scripts/eslint_rules/lib/prefer-url-string.ts +1 -1
- package/scripts/eslint_rules/lib/utils/lit.ts +26 -9
- package/scripts/eslint_rules/lib/validate-timing-types.ts +330 -0
- package/scripts/eslint_rules/rules-dir.mjs +4 -1
- package/scripts/eslint_rules/tests/check-license-header.test.ts +8 -8
- package/scripts/eslint_rules/tests/check-test-definitions.test.ts +0 -10
- package/scripts/eslint_rules/tests/enforce-optional-properties-last.test.ts +1 -1
- package/scripts/eslint_rules/tests/inject-checkbox-styles.test.ts +49 -0
- package/scripts/eslint_rules/tests/no-imports-in-directory.test.ts +20 -5
- package/scripts/eslint_rules/tests/no-lit-render-outside-of-view.test.ts +60 -10
- package/scripts/eslint_rules/tests/no-new-lit-element-components.test.ts +4 -0
- package/scripts/eslint_rules/tests/prefer-private-class-members.test.ts +2 -2
- package/scripts/eslint_rules/tests/utils/RuleTester.ts +19 -1
- package/scripts/eslint_rules/tests/utils.test.ts +1 -1
- package/scripts/eslint_rules/tests/validate-timing-types.test.ts +289 -0
- package/scripts/eslint_rules/tsconfig.json +3 -2
- package/scripts/extract_bugs.ts +2 -3
- package/scripts/javascript_natives/helpers.js +9 -9
- package/scripts/migration/e2e_non_hosted_gemini.mjs +102 -0
- package/scripts/migration/web-tests-esm/rename-legacy-global.mjs +1 -1
- package/scripts/npm_test.js +1 -1
- package/scripts/protocol_typescript/protocol_dts_generator.ts +27 -16
- package/scripts/protocol_typescript/protocol_schema.d.ts +9 -4
- package/scripts/reformat-clang-js-ts.js +1 -1
- package/scripts/run_build.mjs +14 -2
- package/scripts/run_start.mjs +6 -3
- package/scripts/scaffold/scaffold-widget.js +7 -7
- package/scripts/scaffold/templates/WidgetTemplate.ts.txt +1 -1
- package/scripts/tools/update_goldens.py +143 -168
- package/scripts/tsconfig.json +2 -1
- package/scripts/whitespaces.txt +1 -1
- package/front_end/core/sdk/SourceMapScopes.test.ts +0 -507
- package/front_end/core/sdk/SourceMapScopes.ts +0 -472
- package/front_end/models/ai_assistance/agents/PerformanceInsightsAgent.test.ts +0 -448
- package/front_end/models/ai_assistance/agents/PerformanceInsightsAgent.ts +0 -498
- package/front_end/models/trace/extras/FetchNodes.test.ts +0 -261
- package/front_end/models/trace/extras/FetchNodes.ts +0 -254
- package/front_end/models/trace/extras/Metadata.ts +0 -79
- package/front_end/models/trace/insights/LCPPhases.test.ts +0 -71
- package/front_end/models/trace/insights/LCPPhases.ts +0 -222
- package/front_end/panels/animation/AnimationScreenshotPopover.ts +0 -65
- package/front_end/panels/animation/animationScreenshotPopover.css +0 -18
- package/front_end/panels/application/ReportingApiReportsView.test.ts +0 -117
- package/front_end/panels/application/ReportingApiReportsView.ts +0 -88
- package/front_end/panels/elements/ElementsTreeElementHighlighter.test.ts +0 -51
- package/front_end/panels/elements/ElementsTreeElementHighlighter.ts +0 -107
- package/front_end/panels/elements/components/LayoutPane.ts +0 -515
- package/front_end/panels/elements/components/LayoutPaneUtils.ts +0 -41
- package/front_end/panels/elements/components/layoutPane.css +0 -168
- package/front_end/panels/sources/components/breakpointsView.css +0 -275
- package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +0 -118
- package/front_end/panels/timeline/components/insights/LCPPhases.ts +0 -256
- package/front_end/panels/web_audio/AudioContextContentBuilder.ts +0 -113
- package/front_end/panels/web_audio/AudioContextSelector.ts +0 -140
- package/front_end/panels/web_audio/audioContextSelector.css +0 -20
- package/front_end/panels/web_audio/graph_visualizer/EdgeView.ts +0 -80
- package/front_end/panels/web_audio/graph_visualizer/GraphManager.ts +0 -46
- package/front_end/panels/web_audio/graph_visualizer/GraphStyle.ts +0 -96
- package/front_end/panels/web_audio/graph_visualizer/GraphView.ts +0 -197
- package/front_end/panels/web_audio/graph_visualizer/NodeRendererUtility.ts +0 -43
- package/front_end/panels/web_audio/graph_visualizer/NodeView.ts +0 -258
- package/front_end/panels/web_audio/graph_visualizer/graph_visualizer.ts +0 -19
- package/front_end/ui/components/docs/recorder_recording_view/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_recording_view/basic.ts +0 -99
- package/front_end/ui/legacy/inspectorViewTabbedPane.css +0 -13
- package/inspector_overlay/debug/tool_distances.html +0 -25
- package/inspector_overlay/tool_distances.ts +0 -125
- package/scripts/eslint_rules/lib/no-it-screenshot-only-or-repeat.ts +0 -47
- package/scripts/eslint_rules/lib/no-screenshot-test-outside-perf-panel.ts +0 -77
- package/scripts/eslint_rules/lib/screenshot-assertion-in-it-screenshot.ts +0 -110
- package/scripts/eslint_rules/lib/single-screenshot-assertion-per-test.ts +0 -85
- package/scripts/eslint_rules/tests/no-it-screenshot-only-or-repeat.test.ts +0 -34
- package/scripts/eslint_rules/tests/no-screenshot-test-outside-perf-panel.test.ts +0 -99
- package/scripts/eslint_rules/tests/screenshot-assertion-in-it-screenshot.test.ts +0 -79
- package/scripts/eslint_rules/tests/single-screenshot-assertion-per-test.test.ts +0 -97
- package/scripts/tools/update_goldens_unittest.py +0 -88
- package/scripts/tools/update_goldens_v2.py +0 -68
- package/scripts/watch_build.js +0 -230
- /package/front_end/panels/recorder/models/{RecorderShorcutHelper.test.ts → RecorderShortcutHelper.test.ts} +0 -0
@@ -51,174 +51,22 @@ const NETWORK_RESIZE_ELEM_HEIGHT_PX = 8;
|
|
51
51
|
*/
|
52
52
|
export type EntryChartLocation = 'main'|'network';
|
53
53
|
|
54
|
-
/**
|
55
|
-
* You can add overlays to trace events, but also right now frames are drawn on
|
56
|
-
* the timeline but they are not trace events, so we need to allow for that.
|
57
|
-
* In the future when the frames track has been migrated to be powered by
|
58
|
-
* animation frames (crbug.com/345144583), we can remove the requirement to
|
59
|
-
* support TimelineFrame instances (which themselves will be removed from the
|
60
|
-
* codebase.)
|
61
|
-
*/
|
62
|
-
export type OverlayEntry = Trace.Types.Events.Event|Trace.Types.Events.LegacyTimelineFrame;
|
63
|
-
|
64
|
-
/**
|
65
|
-
* Represents when a user has selected an entry in the timeline
|
66
|
-
*/
|
67
|
-
export interface EntrySelected {
|
68
|
-
type: 'ENTRY_SELECTED';
|
69
|
-
entry: OverlayEntry;
|
70
|
-
}
|
71
|
-
|
72
|
-
/**
|
73
|
-
* Drawn around an entry when we want to highlight it to the user.
|
74
|
-
*/
|
75
|
-
export interface EntryOutline {
|
76
|
-
type: 'ENTRY_OUTLINE';
|
77
|
-
entry: OverlayEntry;
|
78
|
-
outlineReason: 'ERROR'|'INFO';
|
79
|
-
}
|
80
|
-
|
81
|
-
/**
|
82
|
-
* Represents an object created when a user creates a label for an entry in the timeline.
|
83
|
-
*/
|
84
|
-
export interface EntryLabel {
|
85
|
-
type: 'ENTRY_LABEL';
|
86
|
-
entry: OverlayEntry;
|
87
|
-
label: string;
|
88
|
-
}
|
89
|
-
|
90
|
-
export interface EntriesLink {
|
91
|
-
type: 'ENTRIES_LINK';
|
92
|
-
state: Trace.Types.File.EntriesLinkState;
|
93
|
-
entryFrom: OverlayEntry;
|
94
|
-
entryTo?: OverlayEntry;
|
95
|
-
}
|
96
|
-
|
97
|
-
/**
|
98
|
-
* Represents a time range on the trace. Also used when the user shift+clicks
|
99
|
-
* and drags to create a time range.
|
100
|
-
*/
|
101
|
-
export interface TimeRangeLabel {
|
102
|
-
type: 'TIME_RANGE';
|
103
|
-
bounds: Trace.Types.Timing.TraceWindowMicro;
|
104
|
-
label: string;
|
105
|
-
showDuration: boolean;
|
106
|
-
}
|
107
|
-
|
108
54
|
/**
|
109
55
|
* Given a list of overlays, this method will calculate the smallest possible
|
110
56
|
* trace window that will contain all of the overlays.
|
111
57
|
* `overlays` is expected to be non-empty, and this will return `null` if it is empty.
|
112
58
|
*/
|
113
|
-
export function traceWindowContainingOverlays(overlays:
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
if (overlays.length === 0) {
|
118
|
-
return null;
|
119
|
-
}
|
120
|
-
|
121
|
-
for (const overlay of overlays) {
|
122
|
-
const windowForOverlay = traceWindowForOverlay(overlay);
|
123
|
-
if (windowForOverlay.min < minTime) {
|
124
|
-
minTime = windowForOverlay.min;
|
125
|
-
}
|
126
|
-
if (windowForOverlay.max > maxTime) {
|
127
|
-
maxTime = windowForOverlay.max;
|
128
|
-
}
|
129
|
-
}
|
130
|
-
|
131
|
-
return Trace.Helpers.Timing.traceWindowFromMicroSeconds(minTime, maxTime);
|
132
|
-
}
|
133
|
-
|
134
|
-
function traceWindowForOverlay(overlay: TimelineOverlay): Trace.Types.Timing.TraceWindowMicro {
|
135
|
-
const overlayMinBounds: Trace.Types.Timing.Micro[] = [];
|
136
|
-
const overlayMaxBounds: Trace.Types.Timing.Micro[] = [];
|
137
|
-
|
138
|
-
switch (overlay.type) {
|
139
|
-
case 'ENTRY_SELECTED': {
|
140
|
-
const timings = timingsForOverlayEntry(overlay.entry);
|
141
|
-
overlayMinBounds.push(timings.startTime);
|
142
|
-
overlayMaxBounds.push(timings.endTime);
|
143
|
-
break;
|
144
|
-
}
|
145
|
-
case 'ENTRY_OUTLINE': {
|
146
|
-
const timings = timingsForOverlayEntry(overlay.entry);
|
147
|
-
overlayMinBounds.push(timings.startTime);
|
148
|
-
overlayMaxBounds.push(timings.endTime);
|
149
|
-
break;
|
150
|
-
}
|
151
|
-
|
152
|
-
case 'TIME_RANGE': {
|
153
|
-
overlayMinBounds.push(overlay.bounds.min);
|
154
|
-
overlayMaxBounds.push(overlay.bounds.max);
|
155
|
-
break;
|
156
|
-
}
|
157
|
-
case 'ENTRY_LABEL': {
|
158
|
-
const timings = timingsForOverlayEntry(overlay.entry);
|
159
|
-
overlayMinBounds.push(timings.startTime);
|
160
|
-
overlayMaxBounds.push(timings.endTime);
|
161
|
-
break;
|
162
|
-
}
|
163
|
-
|
164
|
-
case 'ENTRIES_LINK': {
|
165
|
-
const timingsFrom = timingsForOverlayEntry(overlay.entryFrom);
|
166
|
-
overlayMinBounds.push(timingsFrom.startTime);
|
167
|
-
if (overlay.entryTo) {
|
168
|
-
const timingsTo = timingsForOverlayEntry(overlay.entryTo);
|
169
|
-
// No need to push the startTime; it must be larger than the entryFrom start time.
|
170
|
-
overlayMaxBounds.push(timingsTo.endTime);
|
171
|
-
} else {
|
172
|
-
// Only use the end time if we have no entryTo; otherwise the entryTo
|
173
|
-
// endTime is guaranteed to be larger than the entryFrom endTime.
|
174
|
-
overlayMaxBounds.push(timingsFrom.endTime);
|
175
|
-
}
|
176
|
-
|
177
|
-
break;
|
178
|
-
}
|
179
|
-
case 'TIMESPAN_BREAKDOWN': {
|
180
|
-
if (overlay.entry) {
|
181
|
-
const timings = timingsForOverlayEntry(overlay.entry);
|
182
|
-
overlayMinBounds.push(timings.startTime);
|
183
|
-
overlayMaxBounds.push(timings.endTime);
|
184
|
-
}
|
185
|
-
for (const section of overlay.sections) {
|
186
|
-
overlayMinBounds.push(section.bounds.min);
|
187
|
-
overlayMaxBounds.push(section.bounds.max);
|
188
|
-
}
|
189
|
-
break;
|
190
|
-
}
|
191
|
-
case 'TIMESTAMP_MARKER': {
|
192
|
-
overlayMinBounds.push(overlay.timestamp);
|
193
|
-
break;
|
194
|
-
}
|
195
|
-
case 'CANDY_STRIPED_TIME_RANGE': {
|
196
|
-
const timings = timingsForOverlayEntry(overlay.entry);
|
197
|
-
overlayMinBounds.push(timings.startTime);
|
198
|
-
overlayMaxBounds.push(timings.endTime);
|
199
|
-
overlayMinBounds.push(overlay.bounds.min);
|
200
|
-
overlayMaxBounds.push(overlay.bounds.max);
|
201
|
-
break;
|
202
|
-
}
|
203
|
-
case 'TIMINGS_MARKER': {
|
204
|
-
const timings = timingsForOverlayEntry(overlay.entries[0]);
|
205
|
-
overlayMinBounds.push(timings.startTime);
|
206
|
-
break;
|
207
|
-
}
|
208
|
-
default:
|
209
|
-
Platform.TypeScriptUtilities.assertNever(overlay, `Unexpected overlay ${overlay}`);
|
210
|
-
}
|
211
|
-
|
212
|
-
const min = Trace.Types.Timing.Micro(Math.min(...overlayMinBounds));
|
213
|
-
const max = Trace.Types.Timing.Micro(Math.max(...overlayMaxBounds));
|
214
|
-
return Trace.Helpers.Timing.traceWindowFromMicroSeconds(min, max);
|
59
|
+
export function traceWindowContainingOverlays(overlays: Trace.Types.Overlays.Overlay[]):
|
60
|
+
Trace.Types.Timing.TraceWindowMicro|null {
|
61
|
+
const windows = overlays.map(Trace.Helpers.Timing.traceWindowFromOverlay).filter(b => !!b);
|
62
|
+
return Trace.Helpers.Timing.combineTraceWindowsMicro(windows);
|
215
63
|
}
|
216
64
|
|
217
65
|
/**
|
218
66
|
* Get a list of entries for a given overlay.
|
219
67
|
*/
|
220
|
-
export function entriesForOverlay(overlay:
|
221
|
-
const entries: OverlayEntry[] = [];
|
68
|
+
export function entriesForOverlay(overlay: Trace.Types.Overlays.Overlay): readonly Trace.Types.Overlays.OverlayEntry[] {
|
69
|
+
const entries: Trace.Types.Overlays.OverlayEntry[] = [];
|
222
70
|
|
223
71
|
switch (overlay.type) {
|
224
72
|
case 'ENTRY_SELECTED': {
|
@@ -262,13 +110,15 @@ export function entriesForOverlay(overlay: TimelineOverlay): readonly OverlayEnt
|
|
262
110
|
entries.push(...overlay.entries);
|
263
111
|
break;
|
264
112
|
}
|
113
|
+
case 'BOTTOM_INFO_BAR':
|
114
|
+
break;
|
265
115
|
default:
|
266
116
|
Platform.assertNever(overlay, `Unknown overlay type ${JSON.stringify(overlay)}`);
|
267
117
|
}
|
268
118
|
|
269
119
|
return entries;
|
270
120
|
}
|
271
|
-
export function chartForEntry(entry: OverlayEntry): EntryChartLocation {
|
121
|
+
export function chartForEntry(entry: Trace.Types.Overlays.OverlayEntry): EntryChartLocation {
|
272
122
|
if (Trace.Types.Events.isNetworkTrackEntry(entry)) {
|
273
123
|
return 'network';
|
274
124
|
}
|
@@ -276,53 +126,6 @@ export function chartForEntry(entry: OverlayEntry): EntryChartLocation {
|
|
276
126
|
return 'main';
|
277
127
|
}
|
278
128
|
|
279
|
-
/**
|
280
|
-
* Used to highlight with a red-candy stripe a time range. It takes an entry
|
281
|
-
* because this entry is the row that will be used to place the candy stripe,
|
282
|
-
* and its height will be set to the height of that row.
|
283
|
-
*/
|
284
|
-
export interface CandyStripedTimeRange {
|
285
|
-
type: 'CANDY_STRIPED_TIME_RANGE';
|
286
|
-
bounds: Trace.Types.Timing.TraceWindowMicro;
|
287
|
-
entry: Trace.Types.Events.Event;
|
288
|
-
}
|
289
|
-
|
290
|
-
/**
|
291
|
-
* Represents a timespan on a trace broken down into parts. Each part has a label to it.
|
292
|
-
* If an entry is defined, the breakdown will be vertically positioned based on it.
|
293
|
-
*/
|
294
|
-
export interface TimespanBreakdown {
|
295
|
-
type: 'TIMESPAN_BREAKDOWN';
|
296
|
-
sections: Components.TimespanBreakdownOverlay.EntryBreakdown[];
|
297
|
-
entry?: Trace.Types.Events.Event;
|
298
|
-
renderLocation?: 'BOTTOM_OF_TIMELINE'|'BELOW_EVENT'|'ABOVE_EVENT';
|
299
|
-
}
|
300
|
-
|
301
|
-
export interface TimestampMarker {
|
302
|
-
type: 'TIMESTAMP_MARKER';
|
303
|
-
timestamp: Trace.Types.Timing.Micro;
|
304
|
-
}
|
305
|
-
|
306
|
-
/**
|
307
|
-
* Represents a timings marker. This has a line that runs up the whole canvas.
|
308
|
-
* We can hold an array of entries, in the case we want to hold more than one with the same timestamp.
|
309
|
-
* The adjusted timestamp being the timestamp for the event adjusted by closest navigation.
|
310
|
-
*/
|
311
|
-
export interface TimingsMarker {
|
312
|
-
type: 'TIMINGS_MARKER';
|
313
|
-
entries: Trace.Types.Events.PageLoadEvent[];
|
314
|
-
entryToFieldResult: Map<Trace.Types.Events.PageLoadEvent, TimingsMarkerFieldResult>;
|
315
|
-
adjustedTimestamp: Trace.Types.Timing.Micro;
|
316
|
-
}
|
317
|
-
|
318
|
-
export type TimingsMarkerFieldResult = Trace.Insights.Common.CrUXFieldMetricTimingResult;
|
319
|
-
|
320
|
-
/**
|
321
|
-
* All supported overlay types.
|
322
|
-
*/
|
323
|
-
export type TimelineOverlay = EntrySelected|EntryOutline|TimeRangeLabel|EntryLabel|EntriesLink|TimespanBreakdown|
|
324
|
-
TimestampMarker|CandyStripedTimeRange|TimingsMarker;
|
325
|
-
|
326
129
|
export interface TimelineOverlaySetOptions {
|
327
130
|
/** Whether to update the trace window. Defaults to false. */
|
328
131
|
updateTraceWindow?: boolean;
|
@@ -345,13 +148,13 @@ export interface TimelineOverlaySetOptions {
|
|
345
148
|
* exist at any given time. If one exists and the add() method is called, the
|
346
149
|
* new overlay will replace the existing one.
|
347
150
|
*/
|
348
|
-
type SingletonOverlay = EntrySelected|TimestampMarker;
|
349
|
-
export function overlayIsSingleton(overlay:
|
151
|
+
type SingletonOverlay = Trace.Types.Overlays.EntrySelected|Trace.Types.Overlays.TimestampMarker;
|
152
|
+
export function overlayIsSingleton(overlay: Trace.Types.Overlays.Overlay): overlay is SingletonOverlay {
|
350
153
|
return overlayTypeIsSingleton(overlay.type);
|
351
154
|
}
|
352
155
|
|
353
|
-
export function overlayTypeIsSingleton(type:
|
354
|
-
return type === 'TIMESTAMP_MARKER' || type === 'ENTRY_SELECTED';
|
156
|
+
export function overlayTypeIsSingleton(type: Trace.Types.Overlays.Overlay['type']): type is SingletonOverlay['type'] {
|
157
|
+
return type === 'TIMESTAMP_MARKER' || type === 'ENTRY_SELECTED' || type === 'BOTTOM_INFO_BAR';
|
355
158
|
}
|
356
159
|
|
357
160
|
/**
|
@@ -407,13 +210,13 @@ export interface OverlayEntryQueries {
|
|
407
210
|
}
|
408
211
|
|
409
212
|
// An event dispatched when one of the Annotation Overlays (overlay created by the user,
|
410
|
-
// ex. EntryLabel) is removed or updated. When one of the Annotation Overlays is removed or updated,
|
213
|
+
// ex. Trace.Types.Overlays.EntryLabel) is removed or updated. When one of the Annotation Overlays is removed or updated,
|
411
214
|
// ModificationsManager listens to this event and updates the current annotations.
|
412
215
|
export type UpdateAction = 'Remove'|'Update';
|
413
216
|
export class AnnotationOverlayActionEvent extends Event {
|
414
217
|
static readonly eventName = 'annotationoverlayactionsevent';
|
415
218
|
|
416
|
-
constructor(public overlay:
|
219
|
+
constructor(public overlay: Trace.Types.Overlays.Overlay, public action: UpdateAction) {
|
417
220
|
super(AnnotationOverlayActionEvent.eventName);
|
418
221
|
}
|
419
222
|
}
|
@@ -427,7 +230,7 @@ export class ConsentDialogVisibilityChange extends Event {
|
|
427
230
|
export class TimeRangeMouseOverEvent extends Event {
|
428
231
|
static readonly eventName = 'timerangemouseoverevent';
|
429
232
|
|
430
|
-
constructor(public overlay: TimeRangeLabel) {
|
233
|
+
constructor(public overlay: Trace.Types.Overlays.TimeRangeLabel) {
|
431
234
|
super(TimeRangeMouseOverEvent.eventName, {bubbles: true});
|
432
235
|
}
|
433
236
|
}
|
@@ -442,7 +245,7 @@ export class TimeRangeMouseOutEvent extends Event {
|
|
442
245
|
|
443
246
|
export class EntryLabelMouseClick extends Event {
|
444
247
|
static readonly eventName = 'entrylabelmouseclick';
|
445
|
-
constructor(public overlay: EntryLabel) {
|
248
|
+
constructor(public overlay: Trace.Types.Overlays.EntryLabel) {
|
446
249
|
super(EntryLabelMouseClick.eventName, {composed: true, bubbles: true});
|
447
250
|
}
|
448
251
|
}
|
@@ -478,9 +281,9 @@ export class Overlays extends EventTarget {
|
|
478
281
|
* subsequent renders we do not destroy and recreate it, instead we update it
|
479
282
|
* based on the new position of the timeline.
|
480
283
|
*/
|
481
|
-
#overlaysToElements = new Map<
|
284
|
+
#overlaysToElements = new Map<Trace.Types.Overlays.Overlay, HTMLElement|null>();
|
482
285
|
|
483
|
-
#singletonOverlays = new Map<SingletonOverlay['type'],
|
286
|
+
#singletonOverlays = new Map<SingletonOverlay['type'], Trace.Types.Overlays.Overlay>();
|
484
287
|
|
485
288
|
// When the Entries Link Annotation is created, the arrow needs to follow the mouse.
|
486
289
|
// Update the mouse coordinates while it is being created.
|
@@ -492,7 +295,7 @@ export class Overlays extends EventTarget {
|
|
492
295
|
// the arrow follows the mouse. To achieve that, update the coordinates of `entriesLinkInProgress`
|
493
296
|
// on mousemove. There can only be one link in the process on being created so the mousemove
|
494
297
|
// only needs to update `entriesLinkInProgress` link overlay.
|
495
|
-
#entriesLinkInProgress: EntriesLink|null;
|
298
|
+
#entriesLinkInProgress: Trace.Types.Overlays.EntriesLink|null;
|
496
299
|
|
497
300
|
#dimensions: ActiveDimensions = {
|
498
301
|
trace: {
|
@@ -598,7 +401,7 @@ export class Overlays extends EventTarget {
|
|
598
401
|
/**
|
599
402
|
* Add a new overlay to the view.
|
600
403
|
*/
|
601
|
-
add<T extends
|
404
|
+
add<T extends Trace.Types.Overlays.Overlay>(newOverlay: T): T {
|
602
405
|
if (this.#overlaysToElements.has(newOverlay)) {
|
603
406
|
return newOverlay;
|
604
407
|
}
|
@@ -632,7 +435,7 @@ export class Overlays extends EventTarget {
|
|
632
435
|
* dragging to create time ranges - without the thrashing of destroying the
|
633
436
|
* old overlay and re-creating the new one.
|
634
437
|
*/
|
635
|
-
updateExisting<T extends
|
438
|
+
updateExisting<T extends Trace.Types.Overlays.Overlay>(existingOverlay: T, newData: Partial<T>): void {
|
636
439
|
if (!this.#overlaysToElements.has(existingOverlay)) {
|
637
440
|
console.error('Trying to update an overlay that does not exist.');
|
638
441
|
return;
|
@@ -646,7 +449,7 @@ export class Overlays extends EventTarget {
|
|
646
449
|
}
|
647
450
|
}
|
648
451
|
|
649
|
-
enterLabelEditMode(overlay: EntryLabel): void {
|
452
|
+
enterLabelEditMode(overlay: Trace.Types.Overlays.EntryLabel): void {
|
650
453
|
// Entry edit state can be triggered from outside the label component by clicking on the
|
651
454
|
// Entry that already has a label. Instead of creating a new label, set the existing entry
|
652
455
|
// label into an editable state.
|
@@ -657,11 +460,21 @@ export class Overlays extends EventTarget {
|
|
657
460
|
}
|
658
461
|
}
|
659
462
|
|
463
|
+
bringLabelForward(overlay: Trace.Types.Overlays.EntryLabel): void {
|
464
|
+
// Before bringing the element forward, remove the 'bring-forward' class from all the other elements
|
465
|
+
for (const element of this.#overlaysToElements.values()) {
|
466
|
+
element?.classList.remove('bring-forward');
|
467
|
+
}
|
468
|
+
|
469
|
+
const element = this.#overlaysToElements.get(overlay);
|
470
|
+
element?.classList.add('bring-forward');
|
471
|
+
}
|
472
|
+
|
660
473
|
/**
|
661
474
|
* @returns the list of overlays associated with a given entry.
|
662
475
|
*/
|
663
|
-
overlaysForEntry(entry: OverlayEntry):
|
664
|
-
const matches:
|
476
|
+
overlaysForEntry(entry: Trace.Types.Overlays.OverlayEntry): Trace.Types.Overlays.Overlay[] {
|
477
|
+
const matches: Trace.Types.Overlays.Overlay[] = [];
|
665
478
|
for (const [overlay] of this.#overlaysToElements) {
|
666
479
|
if ('entry' in overlay && overlay.entry === entry) {
|
667
480
|
matches.push(overlay);
|
@@ -674,7 +487,7 @@ export class Overlays extends EventTarget {
|
|
674
487
|
* Used for debugging and testing. Do not mutate the element directly using
|
675
488
|
* this method.
|
676
489
|
*/
|
677
|
-
elementForOverlay(overlay:
|
490
|
+
elementForOverlay(overlay: Trace.Types.Overlays.Overlay): HTMLElement|null {
|
678
491
|
return this.#overlaysToElements.get(overlay) ?? null;
|
679
492
|
}
|
680
493
|
|
@@ -682,7 +495,7 @@ export class Overlays extends EventTarget {
|
|
682
495
|
* Removes any active overlays that match the provided type.
|
683
496
|
* @returns the number of overlays that were removed.
|
684
497
|
*/
|
685
|
-
removeOverlaysOfType(type:
|
498
|
+
removeOverlaysOfType(type: Trace.Types.Overlays.Overlay['type']): number {
|
686
499
|
if (overlayTypeIsSingleton(type)) {
|
687
500
|
const singleton = this.#singletonOverlays.get(type);
|
688
501
|
if (singleton) {
|
@@ -705,7 +518,7 @@ export class Overlays extends EventTarget {
|
|
705
518
|
/**
|
706
519
|
* @returns all overlays that match the provided type.
|
707
520
|
*/
|
708
|
-
overlaysOfType<T extends
|
521
|
+
overlaysOfType<T extends Trace.Types.Overlays.Overlay>(type: T['type']): Array<NoInfer<T>> {
|
709
522
|
if (overlayTypeIsSingleton(type)) {
|
710
523
|
const singleton = this.#singletonOverlays.get(type);
|
711
524
|
if (singleton) {
|
@@ -717,7 +530,7 @@ export class Overlays extends EventTarget {
|
|
717
530
|
|
718
531
|
const matches: T[] = [];
|
719
532
|
|
720
|
-
function overlayIsOfType(overlay:
|
533
|
+
function overlayIsOfType(overlay: Trace.Types.Overlays.Overlay): overlay is T {
|
721
534
|
return overlay.type === type;
|
722
535
|
}
|
723
536
|
|
@@ -732,7 +545,7 @@ export class Overlays extends EventTarget {
|
|
732
545
|
/**
|
733
546
|
* @returns all overlays.
|
734
547
|
*/
|
735
|
-
allOverlays():
|
548
|
+
allOverlays(): Trace.Types.Overlays.Overlay[] {
|
736
549
|
return [...this.#overlaysToElements.keys()];
|
737
550
|
}
|
738
551
|
|
@@ -740,7 +553,7 @@ export class Overlays extends EventTarget {
|
|
740
553
|
* Removes the provided overlay from the list of overlays and destroys any
|
741
554
|
* DOM associated with it.
|
742
555
|
*/
|
743
|
-
remove(overlay:
|
556
|
+
remove(overlay: Trace.Types.Overlays.Overlay): void {
|
744
557
|
const htmlElement = this.#overlaysToElements.get(overlay);
|
745
558
|
if (htmlElement && this.#overlaysContainer) {
|
746
559
|
this.#overlaysContainer.removeChild(htmlElement);
|
@@ -777,6 +590,7 @@ export class Overlays extends EventTarget {
|
|
777
590
|
this.#overlaysContainer.innerHTML = '';
|
778
591
|
}
|
779
592
|
this.#overlaysToElements.clear();
|
593
|
+
this.#singletonOverlays.clear();
|
780
594
|
|
781
595
|
// Clear out dimensions from the old Flame Charts.
|
782
596
|
this.#dimensions.trace.visibleWindow = null;
|
@@ -790,8 +604,7 @@ export class Overlays extends EventTarget {
|
|
790
604
|
* rendered in the right place.
|
791
605
|
*/
|
792
606
|
async update(): Promise<void> {
|
793
|
-
const timeRangeOverlays: TimeRangeLabel[] = [];
|
794
|
-
const timingsMarkerOverlays: TimingsMarker[] = [];
|
607
|
+
const timeRangeOverlays: Trace.Types.Overlays.TimeRangeLabel[] = [];
|
795
608
|
|
796
609
|
for (const [overlay, existingElement] of this.#overlaysToElements) {
|
797
610
|
const element = existingElement || this.#createElementForNewOverlay(overlay);
|
@@ -816,9 +629,6 @@ export class Overlays extends EventTarget {
|
|
816
629
|
if (overlay.type === 'TIME_RANGE') {
|
817
630
|
timeRangeOverlays.push(overlay);
|
818
631
|
}
|
819
|
-
if (overlay.type === 'TIMINGS_MARKER') {
|
820
|
-
timingsMarkerOverlays.push(overlay);
|
821
|
-
}
|
822
632
|
}
|
823
633
|
|
824
634
|
if (timeRangeOverlays.length > 1) { // If there are 0 or 1 overlays, they can't overlap
|
@@ -833,7 +643,7 @@ export class Overlays extends EventTarget {
|
|
833
643
|
* This is very much minimal best effort, and does not guarantee that all
|
834
644
|
* labels will remain readable.
|
835
645
|
*/
|
836
|
-
#positionOverlappingTimeRangeLabels(overlays: readonly TimeRangeLabel[]): void {
|
646
|
+
#positionOverlappingTimeRangeLabels(overlays: readonly Trace.Types.Overlays.TimeRangeLabel[]): void {
|
837
647
|
const overlaysSorted = overlays.toSorted((o1, o2) => {
|
838
648
|
return o1.bounds.min - o2.bounds.min;
|
839
649
|
});
|
@@ -842,11 +652,11 @@ export class Overlays extends EventTarget {
|
|
842
652
|
// This isn't bi-directional: if we find that O2 overlaps O1, we will
|
843
653
|
// store O1 => [O2]. We will not then also store O2 => [O1], because we
|
844
654
|
// only need to deal with the overlap once.
|
845
|
-
const overlapsByOverlay = new Map<TimeRangeLabel, TimeRangeLabel[]>();
|
655
|
+
const overlapsByOverlay = new Map<Trace.Types.Overlays.TimeRangeLabel, Trace.Types.Overlays.TimeRangeLabel[]>();
|
846
656
|
|
847
657
|
for (let i = 0; i < overlaysSorted.length; i++) {
|
848
658
|
const current = overlaysSorted[i];
|
849
|
-
const overlaps: TimeRangeLabel[] = [];
|
659
|
+
const overlaps: Trace.Types.Overlays.TimeRangeLabel[] = [];
|
850
660
|
|
851
661
|
// Walk through subsequent overlays and find stop when you find the next one that does not overlap.
|
852
662
|
for (let j = i + 1; j < overlaysSorted.length; j++) {
|
@@ -884,7 +694,7 @@ export class Overlays extends EventTarget {
|
|
884
694
|
}
|
885
695
|
}
|
886
696
|
|
887
|
-
#positionOverlay(overlay:
|
697
|
+
#positionOverlay(overlay: Trace.Types.Overlays.Overlay, element: HTMLElement): void {
|
888
698
|
const annotationsAreHidden = this.#annotationsHiddenSetting.get();
|
889
699
|
switch (overlay.type) {
|
890
700
|
case 'ENTRY_SELECTED': {
|
@@ -998,13 +808,83 @@ export class Overlays extends EventTarget {
|
|
998
808
|
break;
|
999
809
|
}
|
1000
810
|
|
811
|
+
case 'BOTTOM_INFO_BAR': {
|
812
|
+
this.#positionInfoBarBanner(overlay, element);
|
813
|
+
break;
|
814
|
+
}
|
815
|
+
|
1001
816
|
default: {
|
1002
817
|
Platform.TypeScriptUtilities.assertNever(overlay, `Unknown overlay: ${JSON.stringify(overlay)}`);
|
1003
818
|
}
|
1004
819
|
}
|
1005
820
|
}
|
1006
821
|
|
1007
|
-
#
|
822
|
+
#positionInfoBarBanner(
|
823
|
+
overlay: Trace.Types.Overlays.BottomInfoBar,
|
824
|
+
element: HTMLElement,
|
825
|
+
): void {
|
826
|
+
const mainChart = this.#dimensions.charts.main;
|
827
|
+
if (!mainChart) {
|
828
|
+
this.#setOverlayElementVisibility(element, false);
|
829
|
+
return;
|
830
|
+
}
|
831
|
+
|
832
|
+
/*
|
833
|
+
* This calculation determines how many pixels of the bottom-positioned element
|
834
|
+
* (the banner) are visible within a scrollable container.
|
835
|
+
|
836
|
+
* The logic works by first calculating the number of pixels that are hidden
|
837
|
+
* below the current scroll position, and then subtracting that value from
|
838
|
+
* the total height of the banner.
|
839
|
+
|
840
|
+
* 1. totalHeight - (mainChart.scrollOffsetPixels + mainChart.heightPixels):
|
841
|
+
* Calculates the number of pixels of content that are hidden below the
|
842
|
+
* bottom of the viewport.
|
843
|
+
|
844
|
+
* 2. defaultBannerHeight - (hidden pixels):
|
845
|
+
* Subtracts the hidden pixels from the banner's total height to find
|
846
|
+
* the remaining, visible portion.
|
847
|
+
*/
|
848
|
+
|
849
|
+
// By default an Infobar is 40px high. But when it comes to rendering it
|
850
|
+
// might be higher if the infobar is wrapped; so we adjust the actual
|
851
|
+
// number of visible pixels later on.
|
852
|
+
// We can't use the real value in the calculation because when its hidden
|
853
|
+
// it has a height of 0, which means we'd never calculate the right values.
|
854
|
+
const defaultBannerHeight = 40;
|
855
|
+
const totalHeight = this.#charts.mainChart.totalContentHeight();
|
856
|
+
const pixelsHiddenBelowViewport = totalHeight - (mainChart.scrollOffsetPixels + mainChart.heightPixels);
|
857
|
+
const visiblePixelsOfBanner = defaultBannerHeight - pixelsHiddenBelowViewport;
|
858
|
+
|
859
|
+
if (visiblePixelsOfBanner <= 0) {
|
860
|
+
this.#setOverlayElementVisibility(element, false);
|
861
|
+
return;
|
862
|
+
}
|
863
|
+
|
864
|
+
this.#setOverlayElementVisibility(element, true);
|
865
|
+
|
866
|
+
// Now we adjust our calculation based on the actual size of the infobar
|
867
|
+
// (it has height as now it's visible on the screen)
|
868
|
+
// We do this by removing the default banner height (to reset our
|
869
|
+
// calculation back to "0") and adding the actual height.
|
870
|
+
const actualBannerHeight = overlay.infobar.element.clientHeight;
|
871
|
+
const adjustedVisiblePixels = visiblePixelsOfBanner - defaultBannerHeight + actualBannerHeight;
|
872
|
+
// Use Math.min here to ensure the infobar never grows beyond the size it
|
873
|
+
// needs to be. Without this we make the infobar fill all available space
|
874
|
+
// in the canvas, but we want it to stay the right size and stuck to the
|
875
|
+
// bottom.
|
876
|
+
element.style.height = `${Math.min(adjustedVisiblePixels, actualBannerHeight)}px`;
|
877
|
+
|
878
|
+
// So it doesn't overlap the right scrollbar.
|
879
|
+
if (this.#charts.mainChart.verticalScrollBarVisible()) {
|
880
|
+
element.style.right = '11px';
|
881
|
+
} else {
|
882
|
+
element.style.right = '0';
|
883
|
+
}
|
884
|
+
}
|
885
|
+
|
886
|
+
#positionTimingOverlay(
|
887
|
+
overlay: Trace.Types.Overlays.TimestampMarker|Trace.Types.Overlays.TimingsMarker, element: HTMLElement): void {
|
1008
888
|
let left;
|
1009
889
|
switch (overlay.type) {
|
1010
890
|
case 'TIMINGS_MARKER': {
|
@@ -1022,7 +902,7 @@ export class Overlays extends EventTarget {
|
|
1022
902
|
element.style.left = `${left}px`;
|
1023
903
|
}
|
1024
904
|
|
1025
|
-
#positionTimespanBreakdownOverlay(overlay: TimespanBreakdown, element: HTMLElement): void {
|
905
|
+
#positionTimespanBreakdownOverlay(overlay: Trace.Types.Overlays.TimespanBreakdown, element: HTMLElement): void {
|
1026
906
|
if (overlay.sections.length === 0) {
|
1027
907
|
return;
|
1028
908
|
}
|
@@ -1102,8 +982,9 @@ export class Overlays extends EventTarget {
|
|
1102
982
|
* because if one of the original entries is hidden in a collapsed main thread
|
1103
983
|
* icicle, we use its parent to connect to.
|
1104
984
|
*/
|
1105
|
-
#positionEntriesLinkOverlay(
|
1106
|
-
|
985
|
+
#positionEntriesLinkOverlay(
|
986
|
+
overlay: Trace.Types.Overlays.EntriesLink, element: HTMLElement,
|
987
|
+
entriesToConnect: EntriesLinkVisibleEntries): void {
|
1107
988
|
const component = element.querySelector('devtools-entries-link-overlay');
|
1108
989
|
|
1109
990
|
if (component) {
|
@@ -1226,7 +1107,7 @@ export class Overlays extends EventTarget {
|
|
1226
1107
|
*
|
1227
1108
|
* On the contrary, if the entry is scrolled off the bottom, get the coordinate of the top of the visible canvas.
|
1228
1109
|
*/
|
1229
|
-
#yCoordinateForNotVisibleEntry(entry: OverlayEntry): number {
|
1110
|
+
#yCoordinateForNotVisibleEntry(entry: Trace.Types.Overlays.OverlayEntry): number {
|
1230
1111
|
const chartName = chartForEntry(entry);
|
1231
1112
|
|
1232
1113
|
const y = this.yPixelForEventOnChart(entry);
|
@@ -1263,7 +1144,7 @@ export class Overlays extends EventTarget {
|
|
1263
1144
|
return y;
|
1264
1145
|
}
|
1265
1146
|
|
1266
|
-
#positionTimeRangeOverlay(overlay: TimeRangeLabel, element: HTMLElement): void {
|
1147
|
+
#positionTimeRangeOverlay(overlay: Trace.Types.Overlays.TimeRangeLabel, element: HTMLElement): void {
|
1267
1148
|
// Time ranges span both charts, it doesn't matter which one we pass here.
|
1268
1149
|
// It's used to get the width of the container, and both charts have the
|
1269
1150
|
// same width.
|
@@ -1280,19 +1161,19 @@ export class Overlays extends EventTarget {
|
|
1280
1161
|
}
|
1281
1162
|
|
1282
1163
|
/**
|
1283
|
-
*
|
1284
|
-
* @param
|
1285
|
-
* @param element - the DOM element representing the overlay
|
1164
|
+
* @param overlay the EntrySelected overlay that we need to position.
|
1165
|
+
* @param element the DOM element representing the overlay
|
1286
1166
|
*/
|
1287
|
-
#positionEntryLabelOverlay(overlay: EntryLabel, element: HTMLElement): number|null {
|
1167
|
+
#positionEntryLabelOverlay(overlay: Trace.Types.Overlays.EntryLabel, element: HTMLElement): number|null {
|
1288
1168
|
// Because the entry outline is a common Overlay pattern, get the wrapper of the entry
|
1289
|
-
// that comes with the EntryLabel Overlay and pass it into the `positionEntryBorderOutlineType`
|
1290
|
-
// to draw and position it. The other parts of EntryLabel are drawn by the `EntryLabelOverlay` class.
|
1169
|
+
// that comes with the Trace.Types.Overlays.EntryLabel Overlay and pass it into the `positionEntryBorderOutlineType`
|
1170
|
+
// to draw and position it. The other parts of Trace.Types.Overlays.EntryLabel are drawn by the `EntryLabelOverlay` class.
|
1291
1171
|
const component = element.querySelector('devtools-entry-label-overlay');
|
1292
1172
|
if (!component) {
|
1293
1173
|
return null;
|
1294
1174
|
}
|
1295
1175
|
const entryWrapper = component.entryHighlightWrapper();
|
1176
|
+
const inputField = component.shadowRoot?.querySelector<HTMLElement>('.input-field');
|
1296
1177
|
|
1297
1178
|
if (!entryWrapper) {
|
1298
1179
|
return null;
|
@@ -1305,15 +1186,18 @@ export class Overlays extends EventTarget {
|
|
1305
1186
|
return null;
|
1306
1187
|
}
|
1307
1188
|
|
1189
|
+
// Use the actual inputfield height to position the overlay, with a default value in case the element has not yet been rendered.
|
1190
|
+
const inputFieldHeight = inputField?.offsetHeight ?? 25;
|
1308
1191
|
// Position the start of label overlay at the start of the entry + length of connector + length of the label element
|
1309
|
-
element.style.top =
|
1192
|
+
element.style.top =
|
1193
|
+
`${y - Components.EntryLabelOverlay.EntryLabelOverlay.LABEL_CONNECTOR_HEIGHT - inputFieldHeight}px`;
|
1310
1194
|
element.style.left = `${x}px`;
|
1311
1195
|
element.style.width = `${entryWidth}px`;
|
1312
1196
|
|
1313
1197
|
return entryHeight - cutOffHeight;
|
1314
1198
|
}
|
1315
1199
|
|
1316
|
-
#positionCandyStripedTimeRange(overlay: CandyStripedTimeRange, element: HTMLElement): void {
|
1200
|
+
#positionCandyStripedTimeRange(overlay: Trace.Types.Overlays.CandyStripedTimeRange, element: HTMLElement): void {
|
1317
1201
|
const chartName = chartForEntry(overlay.entry);
|
1318
1202
|
|
1319
1203
|
const startX = this.#xPixelForMicroSeconds(chartName, overlay.bounds.min);
|
@@ -1361,7 +1245,7 @@ export class Overlays extends EventTarget {
|
|
1361
1245
|
// Adjust the y position: we need to move it down from the top Y
|
1362
1246
|
// position to the Y position of the first visible pixel. The
|
1363
1247
|
// adjustment is totalHeight - height because if the totalHeight is 17,
|
1364
|
-
// and the visibleHeight is 5, we need to draw the
|
1248
|
+
// and the visibleHeight is 5, we need to draw the overlay at 17-5=12px
|
1365
1249
|
// vertically from the top of the event.
|
1366
1250
|
y = y + totalHeight - height;
|
1367
1251
|
}
|
@@ -1390,11 +1274,11 @@ export class Overlays extends EventTarget {
|
|
1390
1274
|
/**
|
1391
1275
|
* Draw and position borders around an entry. Multiple overlays either fully consist
|
1392
1276
|
* of a border around an entry of have an entry border as a part of the overlay.
|
1393
|
-
* Positions an EntrySelected or EntryOutline overlay and a part of the EntryLabel.
|
1394
|
-
* @param overlay
|
1395
|
-
* @param element
|
1277
|
+
* Positions an EntrySelected or EntryOutline overlay and a part of the Trace.Types.Overlays.EntryLabel.
|
1278
|
+
* @param overlay the EntrySelected/EntryOutline/Trace.Types.Overlays.EntryLabel overlay that we need to position.
|
1279
|
+
* @param element the DOM element representing the overlay
|
1396
1280
|
*/
|
1397
|
-
#positionEntryBorderOutlineType(entry: OverlayEntry, element: HTMLElement):
|
1281
|
+
#positionEntryBorderOutlineType(entry: Trace.Types.Overlays.OverlayEntry, element: HTMLElement):
|
1398
1282
|
{entryHeight: number, entryWidth: number, cutOffHeight: number, x: number, y: number}|null {
|
1399
1283
|
const chartName = chartForEntry(entry);
|
1400
1284
|
let x = this.xPixelForEventStartOnChart(entry);
|
@@ -1475,7 +1359,7 @@ export class Overlays extends EventTarget {
|
|
1475
1359
|
// Adjust the y position: we need to move it down from the top Y
|
1476
1360
|
// position to the Y position of the first visible pixel. The
|
1477
1361
|
// adjustment is totalHeight - height because if the totalHeight is 17,
|
1478
|
-
// and the visibleHeight is 5, we need to draw the
|
1362
|
+
// and the visibleHeight is 5, we need to draw the overlay at 17-5=12px
|
1479
1363
|
// vertically from the top of the event.
|
1480
1364
|
y = y + totalHeight - height;
|
1481
1365
|
}
|
@@ -1509,7 +1393,7 @@ export class Overlays extends EventTarget {
|
|
1509
1393
|
* parent of that entry. In this case the entry we want to draw to is the
|
1510
1394
|
* first visible parent of that entry rather than the (invisible) entry.
|
1511
1395
|
*/
|
1512
|
-
#calculateFromAndToForEntriesLink(overlay: EntriesLink): EntriesLinkVisibleEntries|null {
|
1396
|
+
#calculateFromAndToForEntriesLink(overlay: Trace.Types.Overlays.EntriesLink): EntriesLinkVisibleEntries|null {
|
1513
1397
|
if (!overlay.entryTo) {
|
1514
1398
|
// This case is where the user has clicked on the first entry and needs
|
1515
1399
|
// to pick a second. In this case they can only pick from visible
|
@@ -1522,8 +1406,8 @@ export class Overlays extends EventTarget {
|
|
1522
1406
|
};
|
1523
1407
|
}
|
1524
1408
|
|
1525
|
-
let entryFrom: OverlayEntry|null = overlay.entryFrom;
|
1526
|
-
let entryTo: OverlayEntry|null = overlay.entryTo ?? null;
|
1409
|
+
let entryFrom: Trace.Types.Overlays.OverlayEntry|null = overlay.entryFrom;
|
1410
|
+
let entryTo: Trace.Types.Overlays.OverlayEntry|null = overlay.entryTo ?? null;
|
1527
1411
|
|
1528
1412
|
if (this.#queries.isEntryCollapsedByUser(overlay.entryFrom)) {
|
1529
1413
|
entryFrom = this.#queries.firstVisibleParentForEntry(overlay.entryFrom);
|
@@ -1547,7 +1431,37 @@ export class Overlays extends EventTarget {
|
|
1547
1431
|
};
|
1548
1432
|
}
|
1549
1433
|
|
1550
|
-
|
1434
|
+
// Dimms all label annotations except the one that is hovered over in the timeline or sidebar.
|
1435
|
+
// The highlighter annotation is brought forward.
|
1436
|
+
highlightOverlay(overlay: Trace.Types.Overlays.EntryLabel): void {
|
1437
|
+
const allLabelOverlays = this.overlaysOfType('ENTRY_LABEL');
|
1438
|
+
for (const otherOverlay of allLabelOverlays) {
|
1439
|
+
const element = this.elementForOverlay(otherOverlay);
|
1440
|
+
const component = element?.querySelector('devtools-entry-label-overlay');
|
1441
|
+
if (element && !component?.hasAttribute('data-user-editing-label')) {
|
1442
|
+
if (otherOverlay === overlay) {
|
1443
|
+
element.style.opacity = '1';
|
1444
|
+
element.style.zIndex = '3';
|
1445
|
+
} else {
|
1446
|
+
element.style.opacity = '0.5';
|
1447
|
+
element.style.zIndex = '2';
|
1448
|
+
}
|
1449
|
+
}
|
1450
|
+
}
|
1451
|
+
}
|
1452
|
+
|
1453
|
+
undimAllEntryLabels(): void {
|
1454
|
+
const allLabelOverlays = this.overlaysOfType('ENTRY_LABEL');
|
1455
|
+
for (const otherOverlay of allLabelOverlays) {
|
1456
|
+
const element = this.elementForOverlay(otherOverlay);
|
1457
|
+
if (element) {
|
1458
|
+
element.style.opacity = '1';
|
1459
|
+
element.style.zIndex = '2';
|
1460
|
+
}
|
1461
|
+
}
|
1462
|
+
}
|
1463
|
+
|
1464
|
+
#createElementForNewOverlay(overlay: Trace.Types.Overlays.Overlay): HTMLElement {
|
1551
1465
|
const overlayElement = document.createElement('div');
|
1552
1466
|
overlayElement.classList.add('overlay-item', `overlay-type-${overlay.type}`);
|
1553
1467
|
|
@@ -1570,7 +1484,7 @@ export class Overlays extends EventTarget {
|
|
1570
1484
|
const event = e as Components.EntryLabelOverlay.LabelAnnotationsConsentDialogVisibilityChange;
|
1571
1485
|
this.dispatchEvent(new ConsentDialogVisibilityChange(event.isVisible));
|
1572
1486
|
});
|
1573
|
-
component.addEventListener(Components.EntryLabelOverlay.
|
1487
|
+
component.addEventListener(Components.EntryLabelOverlay.EntryLabelRemoveEvent.eventName, () => {
|
1574
1488
|
this.dispatchEvent(new AnnotationOverlayActionEvent(overlay, 'Remove'));
|
1575
1489
|
});
|
1576
1490
|
component.addEventListener(Components.EntryLabelOverlay.EntryLabelChangeEvent.eventName, event => {
|
@@ -1578,6 +1492,12 @@ export class Overlays extends EventTarget {
|
|
1578
1492
|
overlay.label = newLabel;
|
1579
1493
|
this.dispatchEvent(new AnnotationOverlayActionEvent(overlay, 'Update'));
|
1580
1494
|
});
|
1495
|
+
overlayElement.addEventListener('mouseover', () => {
|
1496
|
+
this.highlightOverlay(overlay);
|
1497
|
+
});
|
1498
|
+
overlayElement.addEventListener('mouseout', () => {
|
1499
|
+
this.undimAllEntryLabels();
|
1500
|
+
});
|
1581
1501
|
overlayElement.appendChild(component);
|
1582
1502
|
overlayElement.addEventListener('click', event => {
|
1583
1503
|
event.preventDefault();
|
@@ -1662,7 +1582,7 @@ export class Overlays extends EventTarget {
|
|
1662
1582
|
|
1663
1583
|
#createOverlayPopover(
|
1664
1584
|
adjustedTimestamp: Trace.Types.Timing.Micro, name: string,
|
1665
|
-
fieldResult: TimingsMarkerFieldResult|undefined): HTMLElement {
|
1585
|
+
fieldResult: Trace.Types.Overlays.TimingsMarkerFieldResult|undefined): HTMLElement {
|
1666
1586
|
const popoverElement = document.createElement('div');
|
1667
1587
|
const popoverContents = popoverElement.createChild('div', 'overlay-popover');
|
1668
1588
|
popoverContents.createChild('span', 'overlay-popover-time').textContent =
|
@@ -1692,7 +1612,7 @@ export class Overlays extends EventTarget {
|
|
1692
1612
|
}
|
1693
1613
|
|
1694
1614
|
#mouseMoveOverlay(
|
1695
|
-
e: MouseEvent, event: Trace.Types.Events.PageLoadEvent, name: string, overlay: TimingsMarker,
|
1615
|
+
e: MouseEvent, event: Trace.Types.Events.PageLoadEvent, name: string, overlay: Trace.Types.Overlays.TimingsMarker,
|
1696
1616
|
markers: HTMLElement, marker: HTMLElement): void {
|
1697
1617
|
const fieldResult = overlay.entryToFieldResult.get(event);
|
1698
1618
|
const popoverElement = this.#createOverlayPopover(overlay.adjustedTimestamp, name, fieldResult);
|
@@ -1709,7 +1629,7 @@ export class Overlays extends EventTarget {
|
|
1709
1629
|
this.#charts.mainChart.hideHighlight();
|
1710
1630
|
}
|
1711
1631
|
|
1712
|
-
#createTimingsMarkerElement(overlay: TimingsMarker): HTMLElement {
|
1632
|
+
#createTimingsMarkerElement(overlay: Trace.Types.Overlays.TimingsMarker): HTMLElement {
|
1713
1633
|
const markers = document.createElement('div');
|
1714
1634
|
markers.classList.add('markers');
|
1715
1635
|
for (const entry of overlay.entries) {
|
@@ -1735,7 +1655,7 @@ export class Overlays extends EventTarget {
|
|
1735
1655
|
* positioned onto the canvas. It is the right place to ensure an overlay has
|
1736
1656
|
* the latest data it needs.
|
1737
1657
|
*/
|
1738
|
-
#updateOverlayBeforePositioning(overlay:
|
1658
|
+
#updateOverlayBeforePositioning(overlay: Trace.Types.Overlays.Overlay, element: HTMLElement): void {
|
1739
1659
|
switch (overlay.type) {
|
1740
1660
|
case 'ENTRY_SELECTED':
|
1741
1661
|
break;
|
@@ -1770,6 +1690,19 @@ export class Overlays extends EventTarget {
|
|
1770
1690
|
break;
|
1771
1691
|
case 'TIMINGS_MARKER':
|
1772
1692
|
break;
|
1693
|
+
case 'BOTTOM_INFO_BAR': {
|
1694
|
+
if (element.contains(overlay.infobar.element)) {
|
1695
|
+
return;
|
1696
|
+
}
|
1697
|
+
|
1698
|
+
// This overlay is a singleton; this means it could be updated with a
|
1699
|
+
// different info bar. So we need to clear out the existing contents
|
1700
|
+
// before appending the infobar, just in case.
|
1701
|
+
element.innerHTML = '';
|
1702
|
+
element.appendChild(overlay.infobar.element);
|
1703
|
+
}
|
1704
|
+
|
1705
|
+
break;
|
1773
1706
|
default:
|
1774
1707
|
Platform.TypeScriptUtilities.assertNever(overlay, `Unexpected overlay ${overlay}`);
|
1775
1708
|
}
|
@@ -1780,7 +1713,7 @@ export class Overlays extends EventTarget {
|
|
1780
1713
|
* has changed. This method can be used to run code after an overlay has
|
1781
1714
|
* been updated + repositioned on the timeline.
|
1782
1715
|
*/
|
1783
|
-
#updateOverlayAfterPositioning(overlay:
|
1716
|
+
#updateOverlayAfterPositioning(overlay: Trace.Types.Overlays.Overlay, element: HTMLElement): void {
|
1784
1717
|
switch (overlay.type) {
|
1785
1718
|
case 'ENTRY_SELECTED':
|
1786
1719
|
break;
|
@@ -1806,6 +1739,8 @@ export class Overlays extends EventTarget {
|
|
1806
1739
|
break;
|
1807
1740
|
case 'TIMINGS_MARKER':
|
1808
1741
|
break;
|
1742
|
+
case 'BOTTOM_INFO_BAR':
|
1743
|
+
break;
|
1809
1744
|
default:
|
1810
1745
|
Platform.TypeScriptUtilities.assertNever(overlay, `Unexpected overlay ${overlay}`);
|
1811
1746
|
}
|
@@ -1815,7 +1750,7 @@ export class Overlays extends EventTarget {
|
|
1815
1750
|
* @returns true if the entry is visible on chart, which means that both
|
1816
1751
|
* horizontally and vertically it is at least partially in view.
|
1817
1752
|
*/
|
1818
|
-
entryIsVisibleOnChart(entry: OverlayEntry): boolean {
|
1753
|
+
entryIsVisibleOnChart(entry: Trace.Types.Overlays.OverlayEntry): boolean {
|
1819
1754
|
const verticallyVisible = this.#entryIsVerticallyVisibleOnChart(entry);
|
1820
1755
|
const horiziontallyVisible = this.#entryIsHorizontallyVisibleOnChart(entry);
|
1821
1756
|
return verticallyVisible && horiziontallyVisible;
|
@@ -1826,7 +1761,7 @@ export class Overlays extends EventTarget {
|
|
1826
1761
|
* don't have to consider any pixels and can instead check that its start and
|
1827
1762
|
* end times intersect with the visible window.
|
1828
1763
|
*/
|
1829
|
-
#entryIsHorizontallyVisibleOnChart(entry: OverlayEntry): boolean {
|
1764
|
+
#entryIsHorizontallyVisibleOnChart(entry: Trace.Types.Overlays.OverlayEntry): boolean {
|
1830
1765
|
if (this.#dimensions.trace.visibleWindow === null) {
|
1831
1766
|
return false;
|
1832
1767
|
}
|
@@ -1840,7 +1775,7 @@ export class Overlays extends EventTarget {
|
|
1840
1775
|
});
|
1841
1776
|
}
|
1842
1777
|
|
1843
|
-
#entryIsInCollapsedTrack(entry: OverlayEntry): boolean {
|
1778
|
+
#entryIsInCollapsedTrack(entry: Trace.Types.Overlays.OverlayEntry): boolean {
|
1844
1779
|
const chartName = chartForEntry(entry);
|
1845
1780
|
const provider = chartName === 'main' ? this.#charts.mainProvider : this.#charts.networkProvider;
|
1846
1781
|
|
@@ -1862,7 +1797,7 @@ export class Overlays extends EventTarget {
|
|
1862
1797
|
* we have to figure out its pixel offset and go on that. Unlike horizontal
|
1863
1798
|
* visibility, we can't work solely from its microsecond values.
|
1864
1799
|
*/
|
1865
|
-
#entryIsVerticallyVisibleOnChart(entry: OverlayEntry): boolean {
|
1800
|
+
#entryIsVerticallyVisibleOnChart(entry: Trace.Types.Overlays.OverlayEntry): boolean {
|
1866
1801
|
const chartName = chartForEntry(entry);
|
1867
1802
|
|
1868
1803
|
const y = this.yPixelForEventOnChart(entry);
|
@@ -1924,13 +1859,12 @@ export class Overlays extends EventTarget {
|
|
1924
1859
|
|
1925
1860
|
/**
|
1926
1861
|
* Calculate the X pixel position for an event start on the timeline.
|
1927
|
-
* @param chartName
|
1862
|
+
* @param chartName the chart that the event is on. It is expected that both
|
1928
1863
|
* charts have the same width so this doesn't make a difference - but it might
|
1929
1864
|
* in the future if the UI changes, hence asking for it.
|
1930
|
-
*
|
1931
|
-
* @param event - the trace event you want to get the pixel position of
|
1865
|
+
* @param event the trace event you want to get the pixel position of
|
1932
1866
|
*/
|
1933
|
-
xPixelForEventStartOnChart(event: OverlayEntry): number|null {
|
1867
|
+
xPixelForEventStartOnChart(event: Trace.Types.Overlays.OverlayEntry): number|null {
|
1934
1868
|
const chartName = chartForEntry(event);
|
1935
1869
|
const {startTime} = timingsForOverlayEntry(event);
|
1936
1870
|
return this.#xPixelForMicroSeconds(chartName, startTime);
|
@@ -1938,13 +1872,12 @@ export class Overlays extends EventTarget {
|
|
1938
1872
|
|
1939
1873
|
/**
|
1940
1874
|
* Calculate the X pixel position for an event end on the timeline.
|
1941
|
-
* @param chartName
|
1875
|
+
* @param chartName the chart that the event is on. It is expected that both
|
1942
1876
|
* charts have the same width so this doesn't make a difference - but it might
|
1943
1877
|
* in the future if the UI changes, hence asking for it.
|
1944
|
-
*
|
1945
|
-
* @param event - the trace event you want to get the pixel position of
|
1878
|
+
* @param event the trace event you want to get the pixel position of
|
1946
1879
|
*/
|
1947
|
-
xPixelForEventEndOnChart(event: OverlayEntry): number|null {
|
1880
|
+
xPixelForEventEndOnChart(event: Trace.Types.Overlays.OverlayEntry): number|null {
|
1948
1881
|
const chartName = chartForEntry(event);
|
1949
1882
|
const {endTime} = timingsForOverlayEntry(event);
|
1950
1883
|
return this.#xPixelForMicroSeconds(chartName, endTime);
|
@@ -1985,7 +1918,7 @@ export class Overlays extends EventTarget {
|
|
1985
1918
|
* visible (if the level it's on is hidden because the track is collapsed,
|
1986
1919
|
* for example)
|
1987
1920
|
*/
|
1988
|
-
yPixelForEventOnChart(event: OverlayEntry): number|null {
|
1921
|
+
yPixelForEventOnChart(event: Trace.Types.Overlays.OverlayEntry): number|null {
|
1989
1922
|
const chartName = chartForEntry(event);
|
1990
1923
|
const chart = chartName === 'main' ? this.#charts.mainChart : this.#charts.networkChart;
|
1991
1924
|
const provider = chartName === 'main' ? this.#charts.mainProvider : this.#charts.networkProvider;
|
@@ -2023,7 +1956,7 @@ export class Overlays extends EventTarget {
|
|
2023
1956
|
/**
|
2024
1957
|
* Calculate the height of the event on the timeline.
|
2025
1958
|
*/
|
2026
|
-
pixelHeightForEventOnChart(event: OverlayEntry): number|null {
|
1959
|
+
pixelHeightForEventOnChart(event: Trace.Types.Overlays.OverlayEntry): number|null {
|
2027
1960
|
const chartName = chartForEntry(event);
|
2028
1961
|
const chart = chartName === 'main' ? this.#charts.mainChart : this.#charts.networkChart;
|
2029
1962
|
const provider = chartName === 'main' ? this.#charts.mainProvider : this.#charts.networkProvider;
|
@@ -2085,7 +2018,7 @@ export class Overlays extends EventTarget {
|
|
2085
2018
|
* helper exists to return a consistent set of timings regardless of the type
|
2086
2019
|
* of entry.
|
2087
2020
|
*/
|
2088
|
-
export function timingsForOverlayEntry(entry: OverlayEntry):
|
2021
|
+
export function timingsForOverlayEntry(entry: Trace.Types.Overlays.OverlayEntry):
|
2089
2022
|
Trace.Helpers.Timing.EventTimingsData<Trace.Types.Timing.Micro> {
|
2090
2023
|
if (Trace.Types.Events.isLegacyTimelineFrame(entry)) {
|
2091
2024
|
return {
|
@@ -2103,7 +2036,7 @@ export function timingsForOverlayEntry(entry: OverlayEntry):
|
|
2103
2036
|
* for annotations, we log here with `overlays` to be generic as overlays can
|
2104
2037
|
* be used for insights, annotations or in the future, who knows...
|
2105
2038
|
*/
|
2106
|
-
export function jsLogContext(overlay:
|
2039
|
+
export function jsLogContext(overlay: Trace.Types.Overlays.Overlay): string|null {
|
2107
2040
|
switch (overlay.type) {
|
2108
2041
|
case 'ENTRY_SELECTED': {
|
2109
2042
|
// No jslog for this; it would be very noisy and not very useful.
|
@@ -2137,6 +2070,8 @@ export function jsLogContext(overlay: TimelineOverlay): string|null {
|
|
2137
2070
|
case 'TIMINGS_MARKER': {
|
2138
2071
|
return 'timeline.overlays.timings-marker';
|
2139
2072
|
}
|
2073
|
+
case 'BOTTOM_INFO_BAR':
|
2074
|
+
return 'timeline.overlays.info-bar';
|
2140
2075
|
default:
|
2141
2076
|
Platform.assertNever(overlay, 'Unknown overlay type');
|
2142
2077
|
}
|