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
@@ -268,17 +268,20 @@ slider.addEventListener('change', event => onChange(event))
|
|
268
268
|
|
269
269
|
### Usage
|
270
270
|
|
271
|
-
####
|
271
|
+
#### Design guidelines
|
272
272
|
|
273
273
|
Find an exhaustive collection of icons currently used in DevTools [here](https://drive.google.com/corp/drive/folders/1EpmxLRjvdHn5Ia8iT3aicgIEPEvhXY_D?resourcekey=0-QseNsNRsF4w8F5EKz7ncnA)
|
274
274
|
|
275
275
|
#### Developer guidelines
|
276
276
|
|
277
|
+
For some frequently used icons e.g. cross-circle, warning-filled etc. colors are auto-set in the component. See full list [here](https://source.chromium.org/chromium/chromium/src/+/main:third_party/devtools-frontend/src/front_end/ui/components/icon_button/icon.css;l=47)
|
278
|
+
|
277
279
|
##### Dos and Don'ts
|
278
280
|
|
279
281
|
###### Do
|
280
282
|
|
281
|
-
* Set class and change color
|
283
|
+
* Set class and change color in .css files
|
284
|
+
* Set one of the predefined classes to change icon size e.g. extra-small for 12px
|
282
285
|
|
283
286
|
###### Don't
|
284
287
|
|
@@ -299,3 +302,188 @@ Usage with the imperative API:
|
|
299
302
|
```js
|
300
303
|
const someIcon = IconButton.Icon.create('some-icon-name', 'some-class');
|
301
304
|
```
|
305
|
+
|
306
|
+
## Context menus
|
307
|
+
|
308
|
+

|
309
|
+
|
310
|
+
Context Menu allows us to display contextual actions to the user, typically triggered by a right-click or via a dedicated menu button.
|
311
|
+
|
312
|
+
### General information
|
313
|
+
|
314
|
+
#### ContextMenu Class
|
315
|
+
|
316
|
+
The primary class for creating and managing context menus.
|
317
|
+
It can render as a "soft" menu (custom HTML-based implementation, offering extra functionality like keeping the menu open) or a native menu. The preferred and default way is the native menu, soft menu should ONLY be used in exceptional cases where native menu lacks features.
|
318
|
+
Typically instantiated in response to a user event (e.g. contextmenu mouse event).
|
319
|
+
|
320
|
+
#### Item Class
|
321
|
+
|
322
|
+
Represents an individual entry within a context menu.
|
323
|
+
Types:
|
324
|
+
* 'item': A standard clickable menu item.
|
325
|
+
* 'checkbox': An item that can be toggled on or off.
|
326
|
+
* 'separator': A visual line to group related items.
|
327
|
+
Items can have labels, handlers, be enabled/disabled. Optionally can also display shortcuts or tooltips (both are exceptions and not recommended).
|
328
|
+
|
329
|
+
#### Section Class
|
330
|
+
|
331
|
+
Groups related Items within a ContextMenu or SubMenu.
|
332
|
+
Helps organize the menu structure and often introduces visual separation.
|
333
|
+
Predefined section names (e.g. 'header', 'clipboard', 'default', 'footer') are available on ContextMenu and SubMenu instances.
|
334
|
+
|
335
|
+
#### SubMenu Class
|
336
|
+
|
337
|
+
A special type of Item that, when clicked or hovered, opens another nested menu.
|
338
|
+
SubMenus contain their own Sections and Items, allowing for hierarchical menu structures.
|
339
|
+
|
340
|
+
#### MenuButton Component
|
341
|
+
|
342
|
+
A custom HTML element (`<devtools-menu-button>`) that renders as a button (currently an icon button only, though we plan to extend it to text buttons too).
|
343
|
+
When clicked, it instantiates and displays a ContextMenu.
|
344
|
+
Configured via HTML attributes (e.g. `icon-name`, `title`) and a `populateMenuCall` property to define the menu's content.
|
345
|
+
|
346
|
+
|
347
|
+
#### Providers
|
348
|
+
|
349
|
+
A mechanism to dynamically add context-specific menu items.
|
350
|
+
Providers are registered with `ContextMenu.registerProvider()` and are associated with specific object types.
|
351
|
+
When a context menu is shown for a particular target object, relevant providers are invoked to append their items.
|
352
|
+
|
353
|
+
|
354
|
+
#### Registered Items
|
355
|
+
|
356
|
+
A way to add menu items (linked to actions from the `ActionRegistry`) to predefined locations within the DevTools UI (e.g. the main menu, navigator context menus).
|
357
|
+
Items are registered using `ContextMenu.registerItem()` with a specific `ItemLocation`.
|
358
|
+
|
359
|
+
### Usage
|
360
|
+
|
361
|
+
#### Design Guidelines
|
362
|
+
|
363
|
+
Generally, we do not recommend using shortcuts in context menus since this goes against Mac platform guidelines and we do not want to have them on some platforms, but not the others. Try to find an alternative solution, however if none is possible and showing shortcuts is critical for a smooth user flow, reach out to kimanh@ or kprokopenko@.
|
364
|
+
|
365
|
+
#### Developer guidelines
|
366
|
+
|
367
|
+
##### Dos and Don'ts
|
368
|
+
|
369
|
+
###### Do
|
370
|
+
|
371
|
+
* Use `new ContextMenu(event, options?)` to create and show menus in response to user interactions (e.g. contextmenu event on an element).
|
372
|
+
* Use `<devtools-menu-button>` to create buttons that should trigger a context menu.
|
373
|
+
|
374
|
+
###### Don't
|
375
|
+
|
376
|
+
* Forget to call `contextMenu.show()` after populating the menu; otherwise, it won't open.
|
377
|
+
|
378
|
+
##### Developer examples
|
379
|
+
|
380
|
+
Usage with lit-html (left-click on a `<devtools-menu-button>` opens a menu):
|
381
|
+
|
382
|
+
```js
|
383
|
+
html`
|
384
|
+
<devtools-menu-button
|
385
|
+
icon-name="some-icon-name"
|
386
|
+
.populateMenuCall=${(menu: UI.ContextMenu.ContextMenu) => {
|
387
|
+
menu.defaultSection().appendItem('Item', () => {
|
388
|
+
console.log('Item clicked');
|
389
|
+
}, {jslogContext: 'item'});
|
390
|
+
}}
|
391
|
+
jslogContext="my-menu-button"
|
392
|
+
></devtools-menu-button>
|
393
|
+
`
|
394
|
+
```
|
395
|
+
|
396
|
+
Usage with the imperative API (menu shows on a right-click)
|
397
|
+
|
398
|
+
Various simple menu items:
|
399
|
+
|
400
|
+
```js
|
401
|
+
const element = this.shadowRoot.querySelector('.element-to-add-menu-to');
|
402
|
+
element.addEventListener('contextmenu', (event: MouseEvent) => {
|
403
|
+
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
404
|
+
|
405
|
+
// Regular item
|
406
|
+
contextMenu.defaultSection().appendItem('Regular item', () => {
|
407
|
+
console.log('Regular item clicked ');
|
408
|
+
}, { jslogContext: 'regular-item' });
|
409
|
+
|
410
|
+
// Disabled item
|
411
|
+
contextMenu.defaultSection().appendItem('Disabled item', () => {
|
412
|
+
console.log('Will not be printed');
|
413
|
+
}, { jslogContext: 'disabled-item',
|
414
|
+
disabled: true });
|
415
|
+
|
416
|
+
// Experimental item
|
417
|
+
const item = contextMenu.defaultSection().appendItem('Experimental item', () => {
|
418
|
+
console.log('Experimental item clicked');
|
419
|
+
}, { jslogContext: 'experimental-item',
|
420
|
+
isPreviewFeature: true });
|
421
|
+
|
422
|
+
// Separator
|
423
|
+
contextMenu.defaultSection().appendSeparator();
|
424
|
+
|
425
|
+
// Checkbox item
|
426
|
+
contextMenu.defaultSection().appendCheckboxItem('Checkbox item', () => {
|
427
|
+
console.log('Checkbox item clicked');
|
428
|
+
}, { checked: true, jslogContext: 'checkbox-item' });
|
429
|
+
|
430
|
+
void contextMenu.show();
|
431
|
+
});
|
432
|
+
```
|
433
|
+
|
434
|
+
Custom section:
|
435
|
+
|
436
|
+
```js
|
437
|
+
const customSection = contextMenu.section('Custom section');
|
438
|
+
customSection.appendItem('Section inner item 1', () => { /* ... */ }, {jslogContext: 'my-inner-item-1'});
|
439
|
+
|
440
|
+
customSection.appendItem('Section inner item 2', () => { /* ... */ }, {jslogContext: 'my-inner-item-2'});
|
441
|
+
```
|
442
|
+
|
443
|
+
Sub menu:
|
444
|
+
|
445
|
+
```js
|
446
|
+
const subMenu = contextMenu.defaultSection().appendSubMenuItem('Item to open sub menu', /* disabled */ false, 'my-sub-menu');
|
447
|
+
subMenu.defaultSection().appendItem('Sub menu inner item 1', () => { /* ... */ }, {jslogContext: 'my-inner-item-1'});
|
448
|
+
subMenu.defaultSection().appendItem('Sub menu inner item 2', () => { /* ... */ }, {jslogContext: 'my-inner-item-2'});
|
449
|
+
```
|
450
|
+
|
451
|
+
Context menu provider registration (adds items dynamically based on the context menu’s target):
|
452
|
+
|
453
|
+
```js
|
454
|
+
// Define provider
|
455
|
+
class MyCustomNodeProvider implements UI.ContextMenu.Provider<SomeTarget|SomeOtherTarget> {
|
456
|
+
appendApplicableItems(event: Event, contextMenu: UI.ContextMenu.ContextMenu, target: SomeTarget|SomeOtherTarget) {
|
457
|
+
if (target instanceof SomeTarget) {
|
458
|
+
contextMenu.defaultSection().appendItem('Item 1', () => {
|
459
|
+
console.log('Item 1 clicked');}, {jsLogContext: 'my-item-1'});
|
460
|
+
} else {
|
461
|
+
contextMenu.defaultSection().appendItem('Item 2', () => {
|
462
|
+
console.log('Item 2 clicked');}, {jsLogContext: 'my-item-2'});
|
463
|
+
}
|
464
|
+
}
|
465
|
+
}
|
466
|
+
```
|
467
|
+
|
468
|
+
```js
|
469
|
+
// Register provider
|
470
|
+
UI.ContextMenu.registerProvider<SDK.DOMModel.DOMNode>({
|
471
|
+
contextTypes: () => [SomeTarget, SomeOtherTarget],
|
472
|
+
loadProvider: async () => {
|
473
|
+
const myModule = await loadMyModule();
|
474
|
+
return new myModule.MyCustomNodeProvider();
|
475
|
+
},
|
476
|
+
experiment: undefined, // or name of experiment this is behind
|
477
|
+
});
|
478
|
+
```
|
479
|
+
|
480
|
+
Static menu item registration via ItemLocation (adds an action to a predefined menu location):
|
481
|
+
|
482
|
+
```js
|
483
|
+
UI.ContextMenu.registerItem({
|
484
|
+
location: UI.ContextMenu.ItemLocation.NAVIGATOR_MENU_DEFAULT,
|
485
|
+
actionId: 'quick-open.show',
|
486
|
+
order: undefined,
|
487
|
+
});
|
488
|
+
```
|
489
|
+
This will automatically add the "Open file" action to the context menu that appears when clicking the Elements panel's 3-dot button.
|
@@ -4,6 +4,22 @@ To stop mixing terms for UI elements across DevTools UI, its docs, and code, fam
|
|
4
4
|
|
5
5
|
[TOC]
|
6
6
|
|
7
|
+
## Main tab bar
|
8
|
+
|
9
|
+
The primary tab bar at the top of the DevTools window. It contains the main
|
10
|
+
panels, such as **Elements**, **Console**, **Sources**.
|
11
|
+
|
12
|
+
You can reorder tabs, and move them between the main tab bar and the **Drawer**.
|
13
|
+
|
14
|
+
## Drawer
|
15
|
+
|
16
|
+
A container that can be shown or hidden at the bottom or right side of the
|
17
|
+
DevTools window. It provides access to additional tools, such as the
|
18
|
+
**Console**.
|
19
|
+
|
20
|
+
You can toggle the drawer with the `Esc` key and move panels between the main
|
21
|
+
tab bar and the drawer.
|
22
|
+
|
7
23
|
## Panel
|
8
24
|
|
9
25
|
A top-level tab in the DevTools window, including tabs from the **Drawer**
|
Binary file
|
package/docs/ui_engineering.md
CHANGED
@@ -24,11 +24,17 @@ We should however strive to expose a “HTML-native” API: e.g. toolbar doesn
|
|
24
24
|
|
25
25
|
## Model-View-Presenter architecture
|
26
26
|
|
27
|
-
We should strictly separate business logic
|
27
|
+
We should strictly separate business logic from UI logic and presentation. This means that most of the UI code should be centered around a presenter (a subclass of `UI.Widget`) that gets a view function injected. All the logic that is not related to the DevTools UI (i.e., that would stay the same if we were to rewrite DevTools as a command-line tool) should belong to the model layer.
|
28
28
|
|
29
|
-
The presenter
|
29
|
+
The presenter should make no assumptions about the details of the model or view code. It should not care what race conditions CDP exposes or how many layers of `<div class="wrapper">` the markup has.
|
30
30
|
|
31
|
-
|
31
|
+
For testability and simplicity, the view function should be injectable into the presenter's constructor. The presenter should also provide a default view. The recommended pattern is to define the default rendering logic in a separate, exported function named `DEFAULT_VIEW`. The presenter's constructor can then use this as the default value for its `view` parameter.
|
32
|
+
|
33
|
+
This approach has two main benefits:
|
34
|
+
1. **Testability**: In unit tests, we can pass a simple stub as the view function, which allows us to test the presenter's logic without any DOM manipulation.
|
35
|
+
2. **Clarity**: It cleanly separates the presenter's logic from its rendering logic.
|
36
|
+
|
37
|
+
To test the `DEFAULT_VIEW` function itself, we should use screenshot and e2e tests.
|
32
38
|
|
33
39
|
## Declarative and orchestrated DOM updates
|
34
40
|
|
@@ -38,7 +44,51 @@ To embed another presenter (`UI.Widget`) in the lit-html template, use `<devtool
|
|
38
44
|
|
39
45
|
This will instantiate a `Widget` class with the web component as its `element` and, optionally, will set the properties provided in the second parameter. The widget won’t be re-instantiated on the subsequent template renders, but the properties would be updated. For this to work, the widget needs to accept `HTMLElement` as a sole constructor parameter and properties need to be public members or setters.
|
40
46
|
|
41
|
-
For backwards compatibility, the first argument to `widgetConfig` can also be a factory function: `<devtools-widget .widgetConfig=${widgetConfig(element => new MyWidget(foo, bar, element))}>`. Similar to the class constructor version, `element` is the actual `<devtools-widget>` so the following two invocations of `widgetConfig` are equivalent: `widgetConfig(MyWidget)` and `widgetConfig(element
|
47
|
+
For backwards compatibility, the first argument to `widgetConfig` can also be a factory function: `<devtools-widget .widgetConfig=${widgetConfig(element => new MyWidget(foo, bar, element))}>`. Similar to the class constructor version, `element` is the actual `<devtools-widget>` so the following two invocations of `widgetConfig` are equivalent: `widgetConfig(MyWidget)` and `widgetConfig(element => new MyWidget(element))`.
|
48
|
+
|
49
|
+
## Styling
|
50
|
+
To prevent style conflicts in widgets without relying on shadow DOM, we use the CSS [`@scope`](https://developer.mozilla.org/en-US/docs/Web/CSS/@scope) at-rule for style encapsulation. This ensures that styles defined for a widget do not leak out and affect other components.
|
51
|
+
|
52
|
+
The convention is to add the `@scope` rule directly into the widget's .css file. The scope's "lower boundary" is set to `(devtools-widget > *)`. This prevents the styles from cascading into the contents of any nested child widgets, while still allowing the parent to style the `<devtools-widget>` element itself.
|
53
|
+
|
54
|
+
First, define the styles within an @scope block in your CSS file:
|
55
|
+
|
56
|
+
```css
|
57
|
+
/* my-widget.css */
|
58
|
+
@scope to (devtools-widget > *) {
|
59
|
+
/* Use :scope to style the widget's container element itself. */
|
60
|
+
:scope {
|
61
|
+
width: 100%;
|
62
|
+
box-shadow: none;
|
63
|
+
}
|
64
|
+
|
65
|
+
.title {
|
66
|
+
font-size: 1.2em;
|
67
|
+
color: var(--sys-color-tonal-on-container);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
```
|
71
|
+
|
72
|
+
Then, import and use these styles in your widget's view function:
|
73
|
+
```ts
|
74
|
+
/* myWidget.ts */
|
75
|
+
import {html} from 'lit-html';
|
76
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
77
|
+
import myWidgetStyles from './myWidget.css.js';
|
78
|
+
|
79
|
+
render(html`
|
80
|
+
<style>
|
81
|
+
${myWidgetStyles}
|
82
|
+
</style>
|
83
|
+
<div class="container">
|
84
|
+
<h3 class="title">My Widget</h3>
|
85
|
+
...
|
86
|
+
<devtools-widget .widgetConfig=${widgetConfig(NestedWidget)}></devtools-widget>
|
87
|
+
</div>
|
88
|
+
`, this.element);
|
89
|
+
```
|
90
|
+
|
91
|
+
In this example, the `.title` style will apply within the parent widget but will not leak into the nested `<devtools-widget>`. Because this convention relies on developer discipline, it is important to verify its correct application during code reviews.
|
42
92
|
|
43
93
|
## Examples
|
44
94
|
|
@@ -56,22 +106,33 @@ For backwards compatibility, the first argument to `widgetConfig` can also be a
|
|
56
106
|
```
|
57
107
|
|
58
108
|
```ts
|
109
|
+
type View = (input: ViewInput, output: ViewOutput, target: HTMLElement) => void;
|
110
|
+
const DEFAULT_VIEW = (input, output, target) => {
|
111
|
+
render(html`
|
112
|
+
<devtools-widget .widgetConfig=${widgetConfig(MetricsPane, {element: input.element})}>
|
113
|
+
</devtools-widget>
|
114
|
+
<devtools-toolbar>
|
115
|
+
<devtools-filter-input @change=${input.onFilter}></devtools-filter-input>
|
116
|
+
<devtools-checkbox @change=${input.onShowAll}>Show All</devtools-checkbox>
|
117
|
+
<devtools-checkbox @change=${input.onGroup}>Group</devtools-checkbox>
|
118
|
+
</devtools-toolbar>
|
119
|
+
<devtools-tree-outline>
|
120
|
+
${input.properties.map(p => html`<li>
|
121
|
+
<dt>${p.key}</dt><dd>${renderValue(p.value)}</dd>
|
122
|
+
<ol>${p.subproperties.map(...)}
|
123
|
+
</li>`)}
|
124
|
+
</devtools-tree-outline>
|
125
|
+
`, target);
|
126
|
+
};
|
127
|
+
|
59
128
|
class StylesPane extends UI.Widget {
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
<devtools-checkbox @change=${input.onGroup}>Group</devtools-checkbox>
|
68
|
-
</devtools-toolbar>
|
69
|
-
<devtools-tree-outline>
|
70
|
-
${input.properties.map(p => html`<li>
|
71
|
-
<dt>${p.key}</dt><dd>${renderValue(p.value)}</dd>
|
72
|
-
<ol>${p.subproperties.map(...)}
|
73
|
-
</li>`)}
|
74
|
-
</devtools-tree-outline>`
|
129
|
+
#view: View;
|
130
|
+
constructor(element, view = DEFAULT_VIEW) {
|
131
|
+
this.#view = view;
|
132
|
+
}
|
133
|
+
|
134
|
+
performUpdate() {
|
135
|
+
this.#view(inputPlaceholder, this.#outputPlaceholder, this.contentElement);
|
75
136
|
}
|
76
137
|
}
|
77
138
|
```
|
package/eslint.config.mjs
CHANGED
@@ -25,7 +25,7 @@ export default defineConfig([
|
|
25
25
|
// Don't include third party code
|
26
26
|
'third_party/',
|
27
27
|
|
28
|
-
'front_end/diff/diff_match_patch.
|
28
|
+
'front_end/diff/diff_match_patch.js',
|
29
29
|
'front_end/models/javascript_metadata/NativeFunctions.js',
|
30
30
|
// All of these scripts are auto-generated so don't lint them.
|
31
31
|
'front_end/generated/ARIAProperties.js',
|
@@ -93,7 +93,7 @@ export default defineConfig([
|
|
93
93
|
'single',
|
94
94
|
{
|
95
95
|
avoidEscape: true,
|
96
|
-
allowTemplateLiterals:
|
96
|
+
allowTemplateLiterals: 'always',
|
97
97
|
},
|
98
98
|
],
|
99
99
|
|
@@ -122,7 +122,7 @@ export default defineConfig([
|
|
122
122
|
|
123
123
|
curly: 'error',
|
124
124
|
'@stylistic/new-parens': 'error',
|
125
|
-
'@stylistic/
|
125
|
+
'@stylistic/function-call-spacing': 'error',
|
126
126
|
'@stylistic/arrow-parens': ['error', 'as-needed'],
|
127
127
|
'@stylistic/eol-last': 'error',
|
128
128
|
'object-shorthand': ['error', 'properties'],
|
@@ -287,10 +287,32 @@ export default defineConfig([
|
|
287
287
|
'rulesdir/no-commented-out-import': 'error',
|
288
288
|
'rulesdir/check-license-header': 'error',
|
289
289
|
/**
|
290
|
-
*
|
291
|
-
*
|
290
|
+
* Enforce some consistency and usefulness of JSDoc comments, to make sure
|
291
|
+
* we actually benefit from them.
|
292
292
|
*/
|
293
293
|
'jsdoc/check-alignment': 'error',
|
294
|
+
'jsdoc/check-tag-names': [
|
295
|
+
'error',
|
296
|
+
{
|
297
|
+
definedTags: [
|
298
|
+
'attribute', // @attribute is used by lit-analyzer (through web-component-analyzer)
|
299
|
+
'meaning', // @meaning is used by localization
|
300
|
+
],
|
301
|
+
},
|
302
|
+
],
|
303
|
+
'jsdoc/empty-tags': 'error',
|
304
|
+
'jsdoc/multiline-blocks': 'error',
|
305
|
+
'jsdoc/no-bad-blocks': 'error',
|
306
|
+
'jsdoc/no-blank-blocks': [
|
307
|
+
'error',
|
308
|
+
{
|
309
|
+
enableFixer: true,
|
310
|
+
},
|
311
|
+
],
|
312
|
+
'jsdoc/require-asterisk-prefix': 'error',
|
313
|
+
'jsdoc/require-param-name': 'error',
|
314
|
+
'jsdoc/require-hyphen-before-param-description': ['error', 'never'],
|
315
|
+
'jsdoc/sort-tags': 'error',
|
294
316
|
},
|
295
317
|
},
|
296
318
|
{
|
@@ -563,6 +585,13 @@ export default defineConfig([
|
|
563
585
|
importName: 'Trace',
|
564
586
|
},
|
565
587
|
],
|
588
|
+
|
589
|
+
'rulesdir/validate-timing-types': 'error',
|
590
|
+
|
591
|
+
// Disallow redundant (and potentially conflicting) type information
|
592
|
+
// within JSDoc comments.
|
593
|
+
'jsdoc/no-types': 'error',
|
594
|
+
'jsdoc/require-returns-description': 'error',
|
566
595
|
},
|
567
596
|
},
|
568
597
|
{
|
@@ -633,6 +662,7 @@ export default defineConfig([
|
|
633
662
|
},
|
634
663
|
],
|
635
664
|
'rulesdir/enforce-ui-strings-as-const': 'error',
|
665
|
+
'rulesdir/no-new-lit-element-components': 'error',
|
636
666
|
},
|
637
667
|
},
|
638
668
|
{
|
@@ -662,13 +692,10 @@ export default defineConfig([
|
|
662
692
|
],
|
663
693
|
|
664
694
|
rules: {
|
665
|
-
// errors on it('test') with no body
|
666
|
-
'mocha/no-pending-tests': 'error',
|
667
|
-
|
668
695
|
// errors on {describe, it}.only
|
669
696
|
'mocha/no-exclusive-tests': 'error',
|
670
697
|
|
671
|
-
'mocha/no-async-
|
698
|
+
'mocha/no-async-suite': 'error',
|
672
699
|
'mocha/no-global-tests': 'error',
|
673
700
|
'mocha/no-nested-tests': 'error',
|
674
701
|
|
@@ -696,7 +723,6 @@ export default defineConfig([
|
|
696
723
|
'rulesdir/no-assert-equal-boolean-null-undefined': 'error',
|
697
724
|
'rulesdir/no-imperative-dom-api': 'off',
|
698
725
|
'rulesdir/no-lit-render-outside-of-view': 'off',
|
699
|
-
'rulesdir/no-screenshot-test-outside-perf-panel': 'error',
|
700
726
|
'rulesdir/prefer-assert-instance-of': 'error',
|
701
727
|
'rulesdir/prefer-assert-is-ok': 'error',
|
702
728
|
'rulesdir/prefer-assert-length-of': 'error',
|
@@ -713,27 +739,22 @@ export default defineConfig([
|
|
713
739
|
{
|
714
740
|
name: 'describeWithDevtoolsExtension',
|
715
741
|
type: 'suite',
|
716
|
-
|
742
|
+
interface: 'BDD',
|
717
743
|
},
|
718
744
|
{
|
719
745
|
name: 'describeWithEnvironment',
|
720
746
|
type: 'suite',
|
721
|
-
|
747
|
+
interface: 'BDD',
|
722
748
|
},
|
723
749
|
{
|
724
750
|
name: 'describeWithLocale',
|
725
751
|
type: 'suite',
|
726
|
-
|
752
|
+
interface: 'BDD',
|
727
753
|
},
|
728
754
|
{
|
729
755
|
name: 'describeWithMockConnection',
|
730
756
|
type: 'suite',
|
731
|
-
|
732
|
-
},
|
733
|
-
{
|
734
|
-
name: 'itScreenshot',
|
735
|
-
type: 'testCase',
|
736
|
-
interfaces: ['BDD', 'TDD'],
|
757
|
+
interface: 'BDD',
|
737
758
|
},
|
738
759
|
],
|
739
760
|
},
|
@@ -783,7 +804,7 @@ export default defineConfig([
|
|
783
804
|
},
|
784
805
|
},
|
785
806
|
{
|
786
|
-
name: 'Front
|
807
|
+
name: 'Front-end component docs',
|
787
808
|
files: ['front_end/ui/components/docs/**/*.ts'],
|
788
809
|
rules: {
|
789
810
|
// This makes the component doc examples very verbose and doesn't add
|
@@ -798,14 +819,34 @@ export default defineConfig([
|
|
798
819
|
},
|
799
820
|
},
|
800
821
|
{
|
801
|
-
name: '
|
802
|
-
files: ['front_end/models/trace
|
822
|
+
name: 'Keep models/trace isolated',
|
823
|
+
files: ['front_end/models/trace/**/*.ts'],
|
824
|
+
ignores: ['front_end/models/trace/**/*.test.ts'],
|
803
825
|
rules: {
|
804
826
|
'rulesdir/no-imports-in-directory': [
|
805
827
|
'error',
|
806
828
|
{
|
807
829
|
bannedImportPaths: [
|
808
|
-
|
830
|
+
{
|
831
|
+
bannedPath: join(
|
832
|
+
import.meta.dirname,
|
833
|
+
'front_end',
|
834
|
+
'core',
|
835
|
+
'sdk',
|
836
|
+
'sdk.js',
|
837
|
+
),
|
838
|
+
allowTypeImports: true,
|
839
|
+
},
|
840
|
+
{
|
841
|
+
bannedPath: join(
|
842
|
+
import.meta.dirname,
|
843
|
+
'front_end',
|
844
|
+
'ui',
|
845
|
+
'legacy',
|
846
|
+
'legacy.js',
|
847
|
+
),
|
848
|
+
allowTypeImports: false,
|
849
|
+
},
|
809
850
|
],
|
810
851
|
},
|
811
852
|
],
|
@@ -95,6 +95,9 @@ export namespace Chrome {
|
|
95
95
|
create(title: string, iconPath: string, pagePath: string, callback?: (panel: ExtensionPanel) => unknown): void;
|
96
96
|
openResource(url: string, lineNumber: number, columnNumber?: number, callback?: () => unknown): void;
|
97
97
|
|
98
|
+
setOpenResourceHandler(
|
99
|
+
callback?: (resource: Resource, lineNumber: number, columnNumber: number) => void, scheme?: string): void;
|
100
|
+
|
98
101
|
/**
|
99
102
|
* Fired when the theme changes in DevTools.
|
100
103
|
*
|
@@ -155,12 +155,6 @@ if(CXX_DEBUGGING_USE_SPLIT_DWARF)
|
|
155
155
|
endif()
|
156
156
|
endif()
|
157
157
|
|
158
|
-
fix_sysroot(lldb-tblgen)
|
159
|
-
fix_sysroot(clang-tblgen)
|
160
|
-
fix_sysroot(llvm-tblgen)
|
161
|
-
fix_sysroot(llvm-mc)
|
162
|
-
fix_sysroot(llvm-dwp)
|
163
|
-
|
164
158
|
if (CXX_DEBUGGING_BUILD_WASM)
|
165
159
|
add_subdirectory(lib)
|
166
160
|
add_subdirectory(src)
|
@@ -44,7 +44,6 @@ async function beforeAll() {
|
|
44
44
|
`--window-size=${defaultViewport.width + 20, defaultViewport.height + 100}`,
|
45
45
|
`--custom-devtools-frontend=${new URL(`${DEVTOOLS_DIR}/front_end`, 'file://').href}`,
|
46
46
|
'--disable-features=RenderDocument',
|
47
|
-
'--enable-features=DevToolsVeLogging:testing/true',
|
48
47
|
],
|
49
48
|
});
|
50
49
|
|
@@ -63,6 +62,9 @@ async function beforeAll() {
|
|
63
62
|
throw new Error('Could not find frontend page');
|
64
63
|
}
|
65
64
|
await frontend.setViewport(defaultViewport);
|
65
|
+
const devToolsVeLogging = {enabled: true, testing: true};
|
66
|
+
await frontend.evaluateOnNewDocument(`globalThis.hostConfigForTesting = ${JSON.stringify({devToolsVeLogging})};`);
|
67
|
+
await frontend.reload();
|
66
68
|
|
67
69
|
setBrowserAndPages({frontend, target, browser: conn});
|
68
70
|
}
|
@@ -23,7 +23,6 @@ import {
|
|
23
23
|
} from 'test/e2e/helpers/sources-helpers.js';
|
24
24
|
import {
|
25
25
|
$$,
|
26
|
-
assertNotNullOrUndefined,
|
27
26
|
click,
|
28
27
|
clickElement,
|
29
28
|
getBrowserAndPages,
|
@@ -230,7 +229,7 @@ async function readScopeView(scope: string, variable: string[]) {
|
|
230
229
|
async function scrollToLine(lineNumber: number): Promise<void> {
|
231
230
|
await waitForFunction(async () => {
|
232
231
|
const visibleLines = await $$(CODE_LINE_SELECTOR);
|
233
|
-
|
232
|
+
assert.exists(visibleLines[0]);
|
234
233
|
const lineNumbers = await Promise.all(visibleLines.map(v => v.evaluate(e => Number(e.textContent ?? ''))));
|
235
234
|
if (lineNumbers.includes(lineNumber)) {
|
236
235
|
return true;
|
@@ -40,7 +40,7 @@ function globToRegExp(glob: string): RegExp {
|
|
40
40
|
*
|
41
41
|
* @param pattern the wildcard pattern
|
42
42
|
* @param subject the subject URL to test against
|
43
|
-
* @
|
43
|
+
* @returns whether the `subject` matches the given `pattern`.
|
44
44
|
*/
|
45
45
|
export function globMatch(pattern: string, subject: string): boolean {
|
46
46
|
const regexp = globToRegExp(pattern);
|
@@ -31,7 +31,7 @@ export type PathSubstitutions = readonly PathSubstitution[];
|
|
31
31
|
* @param pathSubstitutions possible substitutions to apply to the {@param sourcePath}, applies the first match.
|
32
32
|
* @param sourcePath the source path as found in the debugging information.
|
33
33
|
* @param baseURL the URL of the WebAssembly module, which is used to resolve relative source paths.
|
34
|
-
* @
|
34
|
+
* @returns an absolute `file:`-URI or a URL relative to the {@param baseURL}.
|
35
35
|
*/
|
36
36
|
export function resolveSourcePathToURL(pathSubstitutions: PathSubstitutions, sourcePath: string, baseURL: URL): URL {
|
37
37
|
// Normalize '\' to '/' in sourcePath first.
|
@@ -93,7 +93,7 @@ export type ModuleConfigurations = readonly ModuleConfiguration[];
|
|
93
93
|
*
|
94
94
|
* @param moduleConfigurations list of module configurations to scan.
|
95
95
|
* @param moduleName the URL of the module to lookup.
|
96
|
-
* @
|
96
|
+
* @returns the matching module configuration or the default fallback.
|
97
97
|
*/
|
98
98
|
export function findModuleConfiguration(
|
99
99
|
moduleConfigurations: ModuleConfigurations, moduleURL: URL): ModuleConfiguration {
|
@@ -8,6 +8,8 @@ License: Apache 2.0 with LLVM Exceptions
|
|
8
8
|
License File: src/LICENSE.TXT
|
9
9
|
Shipped: no
|
10
10
|
Security Critical: yes
|
11
|
+
Mitigated: CVE-2024-31852
|
12
|
+
CVE-2024-31852: The CVE affects codegen in the ARM backend. The extension doesn't codegen and in particular not for ARM.
|
11
13
|
Description: The llvm project is a toolkit for the construction of compilers and assorted tools. Contained within is lldb, a debugger for the C language family.
|
12
14
|
|
13
15
|
In the DevTools C++ debugging extension, lldb is used as a library to ingest DWARF debug symbols and resolve queries against these symbols, like source line resolution or listing of variables. The library is shipped with the extension, it is not shipped with chrome.
|
@@ -57,9 +57,14 @@ def stage1(sysroot_dir, source_dir, OPTIONS):
|
|
57
57
|
os.path.join(OPTIONS.build_dir, 'DevTools_CXX_Debugging.stage1'))
|
58
58
|
if not os.path.exists(binary_dir):
|
59
59
|
os.makedirs(binary_dir)
|
60
|
+
emscripten_install_dir = os.path.join(devtools_dir(source_dir),
|
61
|
+
'third_party',
|
62
|
+
'emscripten-releases', 'install')
|
63
|
+
libcxx_dir = os.path.join(emscripten_install_dir, 'lib')
|
60
64
|
|
61
65
|
cmake_settings = {
|
62
66
|
'build_shared': 'OFF' if OPTIONS.static else 'ON',
|
67
|
+
'libcxx_dir': libcxx_dir,
|
63
68
|
}
|
64
69
|
cmake_args = [
|
65
70
|
OPTIONS.cmake,
|
@@ -67,6 +72,8 @@ def stage1(sysroot_dir, source_dir, OPTIONS):
|
|
67
72
|
*CMAKE_DEFAULTS,
|
68
73
|
'-DBUILD_SHARED_LIBS={build_shared}'.format(**cmake_settings),
|
69
74
|
'-DCMAKE_BUILD_TYPE=Release',
|
75
|
+
'-DCMAKE_CXX_FLAGS=-stdlib=libc++ -pthread -I{libcxx_dir}/include/c++/v1'.format(**cmake_settings),
|
76
|
+
'-DCMAKE_EXE_LINKER_FLAGS=-stdlib=libc++ -L{libcxx_dir}'.format(**cmake_settings),
|
70
77
|
]
|
71
78
|
if not OPTIONS.no_sysroot:
|
72
79
|
cmake_args.extend(('-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY',
|