chrome-devtools-frontend 1.0.1616061 → 1.0.1621064
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AUTHORS +1 -0
- package/docs/checklist/README.md +8 -7
- package/eslint.config.mjs +7 -0
- package/front_end/core/common/Object.ts +11 -2
- package/front_end/core/dom_extension/DOMExtension.ts +11 -8
- package/front_end/core/host/AidaClient.ts +8 -0
- package/front_end/core/host/AidaGcaTranslation.ts +1 -0
- package/front_end/core/host/UserMetrics.ts +0 -1
- package/front_end/core/platform/api/HostRuntime.ts +2 -2
- package/front_end/core/platform/browser/HostRuntime.ts +4 -2
- package/front_end/core/platform/node/HostRuntime.ts +2 -2
- package/front_end/core/root/ExperimentNames.ts +0 -1
- package/front_end/core/sdk/NetworkManager.ts +30 -4
- package/front_end/core/sdk/NetworkRequest.ts +2 -10
- package/front_end/core/sdk/Resource.ts +2 -1
- package/front_end/core/sdk/ServerSentEventsProtocol.ts +1 -1
- package/front_end/core/sdk/TraceObject.ts +7 -2
- package/front_end/entrypoint_template.html +1 -2
- package/front_end/entrypoints/greendev_floaty/FloatyEntrypoint.ts +119 -15
- package/front_end/entrypoints/greendev_floaty/greendev_floaty.ts +0 -2
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +43 -33
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +2 -1
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.ts +9 -6
- package/front_end/entrypoints/main/MainImpl.ts +0 -2
- package/front_end/generated/InspectorBackendCommands.ts +8 -7
- package/front_end/generated/SupportedCSSProperties.js +119 -100
- package/front_end/generated/protocol-mapping.d.ts +1 -9
- package/front_end/generated/protocol-proxy-api.d.ts +1 -9
- package/front_end/generated/protocol.ts +24 -1
- package/front_end/legacy/legacy-defs.d.ts +1 -1
- package/front_end/models/ai_assistance/AiConversation.ts +1 -0
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +39 -0
- package/front_end/models/ai_assistance/agents/AiAgent.ts +2 -0
- package/front_end/models/ai_assistance/agents/ConversationSummaryAgent.ts +28 -16
- package/front_end/models/ai_assistance/agents/GreenDevAgent.ts +512 -0
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +112 -145
- package/front_end/models/ai_assistance/agents/README.md +0 -5
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +9 -16
- package/front_end/models/ai_assistance/ai_assistance.ts +2 -0
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +19 -1
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +48 -13
- package/front_end/models/bindings/SymbolizedError.ts +95 -8
- package/front_end/models/emulation/DeviceModeModel.ts +42 -13
- package/front_end/models/emulation/EmulatedDevices.ts +1 -1
- package/front_end/models/issues_manager/IssuesManager.ts +13 -6
- package/front_end/models/issues_manager/IssuesManagerEvents.ts +1 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +2 -2
- package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +1 -0
- package/front_end/models/stack_trace/DetailedErrorStackParser.ts +49 -10
- package/front_end/models/stack_trace/ErrorStackParser.ts +18 -0
- package/front_end/models/stack_trace/StackTraceModel.ts +5 -1
- package/front_end/models/text_utils/ContentData.ts +71 -10
- package/front_end/models/trace/types/File.ts +8 -1
- package/front_end/models/web_mcp/WebMCPModel.ts +22 -0
- package/front_end/models/workspace/UISourceCode.ts +4 -4
- package/front_end/panels/accessibility/ARIAAttributesView.ts +4 -4
- package/front_end/panels/accessibility/AccessibilitySubPane.ts +3 -2
- package/front_end/panels/accessibility/SourceOrderView.ts +4 -4
- package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
- package/front_end/panels/ai_assistance/components/ChatInput.ts +66 -0
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +144 -21
- package/front_end/panels/ai_assistance/components/ChatView.ts +43 -8
- package/front_end/panels/ai_assistance/components/ExportForAgentsDialog.ts +1 -0
- package/front_end/panels/ai_assistance/components/WalkthroughUtils.ts +74 -0
- package/front_end/panels/ai_assistance/components/WalkthroughView.ts +34 -5
- package/front_end/panels/ai_assistance/components/chatMessage.css +11 -0
- package/front_end/panels/ai_assistance/components/walkthroughView.css +7 -0
- package/front_end/panels/application/ApplicationPanelTreeElement.ts +1 -1
- package/front_end/panels/application/CookieItemsView.ts +8 -9
- package/front_end/panels/application/DOMStorageItemsView.ts +3 -3
- package/front_end/panels/application/DeviceBoundSessionsModel.ts +7 -0
- package/front_end/panels/application/DeviceBoundSessionsTreeElement.ts +21 -0
- package/front_end/panels/application/DeviceBoundSessionsView.ts +2 -2
- package/front_end/panels/application/ExtensionStorageItemsView.ts +1 -1
- package/front_end/panels/application/KeyValueStorageItemsView.ts +32 -14
- package/front_end/panels/application/ResourcesPanel.ts +5 -5
- package/front_end/panels/application/StorageItemsToolbar.ts +0 -19
- package/front_end/panels/application/WebMCPView.ts +285 -86
- package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +4 -4
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +4 -4
- package/front_end/panels/application/webMCPView.css +261 -182
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +9 -5
- package/front_end/panels/changes/ChangesSidebar.ts +2 -2
- package/front_end/panels/changes/ChangesView.ts +9 -14
- package/front_end/panels/console/ConsolePanel.ts +10 -3
- package/front_end/panels/console/ConsoleSidebar.ts +5 -5
- package/front_end/panels/console/ConsoleView.ts +11 -4
- package/front_end/panels/console/ConsoleViewMessage.ts +1 -19
- package/front_end/panels/coverage/CoverageView.ts +4 -5
- package/front_end/panels/elements/ElementsPanel.ts +9 -12
- package/front_end/panels/elements/ElementsSidebarPane.ts +4 -5
- package/front_end/panels/elements/ElementsTreeElement.ts +61 -0
- package/front_end/panels/elements/ElementsTreeOutline.ts +46 -0
- package/front_end/panels/elements/LayersWidget.ts +2 -2
- package/front_end/panels/elements/MetricsSidebarPane.ts +5 -4
- package/front_end/panels/elements/StylePropertiesSection.ts +1 -1
- package/front_end/panels/elements/StylePropertyTreeElement.ts +11 -6
- package/front_end/panels/elements/StylesSidebarPane.ts +4 -1
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +19 -20
- package/front_end/panels/elements/components/ElementsBreadcrumbsUtils.ts +29 -29
- package/front_end/panels/elements/components/QueryContainer.ts +5 -6
- package/front_end/panels/elements/components/components.ts +0 -2
- package/front_end/panels/emulation/MediaQueryInspector.ts +4 -7
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +4 -7
- package/front_end/panels/layer_viewer/Layers3DView.ts +2 -2
- package/front_end/panels/lighthouse/LighthouseStartView.ts +2 -2
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +47 -66
- package/front_end/panels/network/NetworkConfigView.ts +11 -11
- package/front_end/panels/network/RequestConditionsDrawer.ts +6 -4
- package/front_end/panels/network/RequestCookiesView.ts +2 -2
- package/front_end/panels/network/RequestDeviceBoundSessionsView.ts +2 -2
- package/front_end/panels/network/RequestHeadersView.ts +2 -2
- package/front_end/panels/network/components/DirectSocketConnectionView.ts +4 -5
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +6 -9
- package/front_end/panels/profiler/HeapProfileView.ts +29 -4
- package/front_end/panels/profiler/ProfilesPanel.ts +1 -1
- package/front_end/panels/protocol_monitor/JSONEditor.css +8 -1
- package/front_end/panels/protocol_monitor/JSONEditor.ts +7 -2
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +6 -4
- package/front_end/panels/recorder/components/ControlButton.ts +4 -4
- package/front_end/panels/recorder/components/StepView.ts +6 -6
- package/front_end/panels/search/SearchView.ts +4 -7
- package/front_end/panels/sources/DebuggerPausedMessage.ts +18 -22
- package/front_end/panels/sources/SourcesView.ts +1 -1
- package/front_end/panels/sources/TabbedEditorContainer.ts +2 -2
- package/front_end/panels/sources/ThreadsSidebarPane.ts +2 -4
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +24 -20
- package/front_end/panels/timeline/StatusDialog.ts +5 -8
- package/front_end/panels/timeline/ThirdPartyTreeView.ts +10 -0
- package/front_end/panels/timeline/TimelineLoader.ts +3 -4
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +2 -2
- package/front_end/panels/timeline/components/TimelineRangeSummaryView.ts +2 -0
- package/front_end/panels/timeline/components/TimelineSummary.ts +9 -1
- package/front_end/panels/timeline/components/timelineSummary.css +4 -0
- package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +2 -2
- package/front_end/panels/timeline/thirdPartyTreeView.css +8 -1
- package/front_end/panels/web_audio/WebAudioView.ts +5 -4
- package/front_end/panels/whats_new/ReleaseNoteText.ts +9 -9
- package/front_end/panels/whats_new/resources/WNDT.md +9 -6
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +41 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.d.ts +13 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.js +21 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +5 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +52 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +25 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/third_party/urlpattern-polyfill/urlpattern-polyfill.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/third_party/urlpattern-polyfill/urlpattern-polyfill.js +853 -0
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +91 -11
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +1046 -33
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +41 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.d.ts +13 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.js +21 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +5 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +52 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +25 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/third_party/urlpattern-polyfill/urlpattern-polyfill.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/third_party/urlpattern-polyfill/urlpattern-polyfill.js +805 -0
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +91 -11
- package/front_end/third_party/puppeteer/package/package.json +3 -2
- package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +53 -11
- package/front_end/third_party/puppeteer/package/src/api/Extension.ts +29 -1
- package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +6 -0
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Extension.ts +9 -2
- package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +59 -0
- package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +6 -1
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +26 -0
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +0 -1
- package/front_end/third_party/puppeteer/package/src/revisions.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +2 -1
- package/front_end/third_party/web-vitals/README.chromium +2 -2
- package/front_end/third_party/web-vitals/package/README.md +21 -10
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onCLS.js +2 -4
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.js +1 -2
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.d.ts +4 -0
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +44 -39
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +25 -19
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.js +1 -2
- package/front_end/third_party/web-vitals/package/dist/modules/lib/doubleRAF.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getActivationStart.js +1 -2
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getLoadState.js +16 -18
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.js +2 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/interactionCountPolyfill.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/interactionCountPolyfill.js +1 -3
- package/front_end/third_party/web-vitals/package/dist/modules/lib/whenActivated.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/whenIdleOrHidden.js +11 -7
- package/front_end/third_party/web-vitals/package/dist/modules/onCLS.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/types/inp.d.ts +4 -0
- package/front_end/third_party/web-vitals/package/dist/modules/types.d.ts +1 -2
- package/front_end/third_party/web-vitals/package/dist/modules/types.js +0 -1
- package/front_end/third_party/web-vitals/package/package.json +24 -27
- package/front_end/third_party/web-vitals/package/src/attribution/onCLS.ts +2 -7
- package/front_end/third_party/web-vitals/package/src/attribution/onFCP.ts +1 -2
- package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +49 -43
- package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +27 -24
- package/front_end/third_party/web-vitals/package/src/attribution/onTTFB.ts +1 -2
- package/front_end/third_party/web-vitals/package/src/lib/doubleRAF.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/getActivationStart.ts +1 -2
- package/front_end/third_party/web-vitals/package/src/lib/getLoadState.ts +21 -20
- package/front_end/third_party/web-vitals/package/src/lib/getVisibilityWatcher.ts +2 -3
- package/front_end/third_party/web-vitals/package/src/lib/observe.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/polyfills/interactionCountPolyfill.ts +2 -4
- package/front_end/third_party/web-vitals/package/src/lib/whenActivated.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/whenIdleOrHidden.ts +13 -7
- package/front_end/third_party/web-vitals/package/src/onCLS.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/types/inp.ts +4 -0
- package/front_end/third_party/web-vitals/package/src/types.ts +1 -2
- package/front_end/third_party/web-vitals/patches/0001-Add-onEachInteraction-to-onINP-options.patch +13 -74
- package/front_end/third_party/web-vitals/rebuild.sh +3 -3
- package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +0 -1
- package/front_end/ui/components/icon_button/iconButton.css +1 -0
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +6 -6
- package/front_end/ui/components/lists/list.css +4 -0
- package/front_end/ui/legacy/Dialog.ts +21 -2
- package/front_end/ui/legacy/SoftContextMenu.ts +3 -3
- package/front_end/ui/legacy/SplitWidget.ts +9 -9
- package/front_end/ui/legacy/TabbedPane.ts +12 -12
- package/front_end/ui/legacy/View.ts +24 -22
- package/front_end/ui/legacy/ViewManager.ts +12 -12
- package/front_end/ui/legacy/ViewRegistration.ts +2 -2
- package/front_end/ui/legacy/Widget.ts +165 -119
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +10 -5
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +9 -6
- package/front_end/ui/legacy/components/utils/Linkifier.ts +37 -11
- package/front_end/ui/legacy/components/utils/jsUtils.css +1 -0
- package/front_end/ui/legacy/inspectorCommon.css +0 -6
- package/front_end/ui/lit/render.ts +11 -9
- package/front_end/ui/visual_logging/KnownContextValues.ts +36 -0
- package/package.json +1 -1
- package/front_end/Images/src/dots-circle.svg +0 -10
- package/front_end/panels/elements/components/Helper.ts +0 -35
- package/front_end/third_party/web-vitals/package/dist/modules/types/polyfills.d.ts +0 -4
- package/front_end/third_party/web-vitals/package/dist/modules/types/polyfills.js +0 -16
- package/front_end/third_party/web-vitals/package/src/types/polyfills.ts +0 -24
|
@@ -10,7 +10,6 @@ import * as SDK from '../../../core/sdk/sdk.js';
|
|
|
10
10
|
import * as Lit from '../../../ui/lit/lit.js';
|
|
11
11
|
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
|
|
12
12
|
|
|
13
|
-
import type {DOMNode} from './Helper.js';
|
|
14
13
|
import queryContainerStyles from './queryContainer.css.js';
|
|
15
14
|
|
|
16
15
|
const {render, html} = Lit;
|
|
@@ -24,7 +23,7 @@ export class QueriedSizeRequestedEvent extends Event {
|
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
export interface QueryContainerData {
|
|
27
|
-
container: DOMNode;
|
|
26
|
+
container: SDK.DOMModel.DOMNode;
|
|
28
27
|
queryName?: string;
|
|
29
28
|
onContainerLinkClick: (event: Event) => void;
|
|
30
29
|
}
|
|
@@ -32,7 +31,7 @@ export interface QueryContainerData {
|
|
|
32
31
|
export class QueryContainer extends HTMLElement {
|
|
33
32
|
readonly #shadow = this.attachShadow({mode: 'open'});
|
|
34
33
|
#queryName?: string;
|
|
35
|
-
#container?: DOMNode;
|
|
34
|
+
#container?: SDK.DOMModel.DOMNode;
|
|
36
35
|
#onContainerLinkClick?: (event: Event) => void;
|
|
37
36
|
#isContainerLinkHovered = false;
|
|
38
37
|
#queriedSizeDetails?: SDK.CSSContainerQuery.ContainerQueriedSizeDetails;
|
|
@@ -50,13 +49,13 @@ export class QueryContainer extends HTMLElement {
|
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
async #onContainerLinkMouseEnter(): Promise<void> {
|
|
53
|
-
this.#container?.
|
|
52
|
+
this.#container?.highlight('container-outline');
|
|
54
53
|
this.#isContainerLinkHovered = true;
|
|
55
54
|
this.dispatchEvent(new QueriedSizeRequestedEvent());
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
#onContainerLinkMouseLeave(): void {
|
|
59
|
-
|
|
58
|
+
SDK.OverlayModel.OverlayModel.hideDOMNodeHighlight();
|
|
60
59
|
this.#isContainerLinkHovered = false;
|
|
61
60
|
this.#render();
|
|
62
61
|
}
|
|
@@ -72,7 +71,7 @@ export class QueryContainer extends HTMLElement {
|
|
|
72
71
|
classesToDisplay = this.#container.getAttribute('class')?.split(/\s+/).filter(Boolean);
|
|
73
72
|
}
|
|
74
73
|
|
|
75
|
-
const nodeTitle = this.#queryName || this.#container.
|
|
74
|
+
const nodeTitle = this.#queryName || this.#container.nodeNameInCorrectCase();
|
|
76
75
|
|
|
77
76
|
// Disabled until https://crbug.com/1079231 is fixed.
|
|
78
77
|
// clang-format off
|
|
@@ -14,7 +14,6 @@ import * as CSSVariableValueView from './CSSVariableValueView.js';
|
|
|
14
14
|
import * as ElementsBreadcrumbs from './ElementsBreadcrumbs.js';
|
|
15
15
|
import * as ElementsBreadcrumbsUtils from './ElementsBreadcrumbsUtils.js';
|
|
16
16
|
import * as ElementsTreeExpandButton from './ElementsTreeExpandButton.js';
|
|
17
|
-
import * as Helper from './Helper.js';
|
|
18
17
|
import * as QueryContainer from './QueryContainer.js';
|
|
19
18
|
import * as StylePropertyEditor from './StylePropertyEditor.js';
|
|
20
19
|
|
|
@@ -31,7 +30,6 @@ export {
|
|
|
31
30
|
ElementsBreadcrumbs,
|
|
32
31
|
ElementsBreadcrumbsUtils,
|
|
33
32
|
ElementsTreeExpandButton,
|
|
34
|
-
Helper,
|
|
35
33
|
QueryContainer,
|
|
36
34
|
StylePropertyEditor,
|
|
37
35
|
};
|
|
@@ -39,7 +39,7 @@ export interface MediaQueryMarker {
|
|
|
39
39
|
locations: SDK.CSSModel.CSSLocation[];
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
export const DEFAULT_VIEW = (input: ViewInput, _output: object, target:
|
|
42
|
+
export const DEFAULT_VIEW = (input: ViewInput, _output: object, target: DocumentFragment): void => {
|
|
43
43
|
const createBarClassMap = (marker: MediaQueryMarker): Record<string, boolean> => ({
|
|
44
44
|
'media-inspector-bar': true,
|
|
45
45
|
'media-inspector-marker-inactive': !marker.active,
|
|
@@ -65,7 +65,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: object, target: HTMLElem
|
|
|
65
65
|
`)}
|
|
66
66
|
</div>
|
|
67
67
|
`).toArray()}
|
|
68
|
-
</div>`, target);
|
|
68
|
+
</div>`, target, {container: {attributes: {jslog: `${VisualLogging.mediaInspectorView().track({click: true})}`}}});
|
|
69
69
|
// clang-format on
|
|
70
70
|
};
|
|
71
71
|
|
|
@@ -155,7 +155,7 @@ function renderLabel(
|
|
|
155
155
|
// clang-format on
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
export class MediaQueryInspector extends UI.Widget.Widget implements
|
|
158
|
+
export class MediaQueryInspector extends UI.Widget.Widget<ShadowRoot> implements
|
|
159
159
|
SDK.TargetManager.SDKModelObserver<SDK.CSSModel.CSSModel> {
|
|
160
160
|
private readonly view: typeof DEFAULT_VIEW;
|
|
161
161
|
private readonly mediaThrottler: Common.Throttler.Throttler;
|
|
@@ -168,10 +168,7 @@ export class MediaQueryInspector extends UI.Widget.Widget implements
|
|
|
168
168
|
constructor(
|
|
169
169
|
getWidthCallback: () => number, setWidthCallback: (arg0: number) => void,
|
|
170
170
|
mediaThrottler: Common.Throttler.Throttler, view = DEFAULT_VIEW) {
|
|
171
|
-
super({
|
|
172
|
-
jslog: `${VisualLogging.mediaInspectorView().track({click: true})}`,
|
|
173
|
-
useShadowDom: true,
|
|
174
|
-
});
|
|
171
|
+
super({useShadowDom: 'pure'});
|
|
175
172
|
this.view = view;
|
|
176
173
|
this.mediaThrottler = mediaThrottler;
|
|
177
174
|
|
|
@@ -152,7 +152,7 @@ export interface ViewInput {
|
|
|
152
152
|
|
|
153
153
|
export type ViewOutput = undefined;
|
|
154
154
|
|
|
155
|
-
export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target:
|
|
155
|
+
export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target: DocumentFragment): void => {
|
|
156
156
|
const {layer, snapshotSelection, compositingReasons, onScrollRectClick, onPaintProfilerRequested} = input;
|
|
157
157
|
|
|
158
158
|
if (!layer) {
|
|
@@ -272,11 +272,11 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target: HTML
|
|
|
272
272
|
${i18nString(UIStrings.paintProfiler)}
|
|
273
273
|
</button>` : nothing}
|
|
274
274
|
</div>`,
|
|
275
|
-
target);
|
|
275
|
+
target, {container: {attributes: {jslog: `${VisualLogging.pane('layers-details')}`}}});
|
|
276
276
|
// clang-format on
|
|
277
277
|
};
|
|
278
278
|
|
|
279
|
-
export class LayerDetailsView extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.Widget
|
|
279
|
+
export class LayerDetailsView extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.Widget<ShadowRoot>>(
|
|
280
280
|
UI.Widget.Widget) implements LayerView {
|
|
281
281
|
private readonly layerViewHost: LayerViewHost;
|
|
282
282
|
private layerSnapshotMap: Map<SDK.LayerTreeBase.Layer, SnapshotSelection>;
|
|
@@ -285,10 +285,7 @@ export class LayerDetailsView extends Common.ObjectWrapper.eventMixin<EventTypes
|
|
|
285
285
|
private readonly view: typeof DEFAULT_VIEW;
|
|
286
286
|
|
|
287
287
|
constructor(layerViewHost: LayerViewHost, view: typeof DEFAULT_VIEW = DEFAULT_VIEW) {
|
|
288
|
-
super({
|
|
289
|
-
jslog: `${VisualLogging.pane('layers-details')}`,
|
|
290
|
-
useShadowDom: true,
|
|
291
|
-
});
|
|
288
|
+
super({useShadowDom: 'pure'});
|
|
292
289
|
this.view = view;
|
|
293
290
|
this.registerRequiredCSS(layerDetailsViewStyles);
|
|
294
291
|
this.layerViewHost = layerViewHost;
|
|
@@ -144,7 +144,7 @@ export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLE
|
|
|
144
144
|
}
|
|
145
145
|
output.canvasElement = el as HTMLCanvasElement;
|
|
146
146
|
})}></canvas>`,
|
|
147
|
-
target);
|
|
147
|
+
target, {container: {attributes: {jslog: `${VisualLogging.pane('layers-3d-view')}`}}});
|
|
148
148
|
// clang-format onn
|
|
149
149
|
};
|
|
150
150
|
|
|
@@ -182,7 +182,7 @@ export class Layers3DView extends Common.ObjectWrapper.eventMixin<EventTypes, ty
|
|
|
182
182
|
#canvasElement!: HTMLCanvasElement;
|
|
183
183
|
|
|
184
184
|
constructor(layerViewHost: LayerViewHost, view = DEFAULT_VIEW) {
|
|
185
|
-
super(
|
|
185
|
+
super();
|
|
186
186
|
this.#view = view;
|
|
187
187
|
|
|
188
188
|
this.layerViewHost = layerViewHost;
|
|
@@ -74,9 +74,9 @@ const renderStartView = (
|
|
|
74
74
|
<form class="lighthouse-start-view">
|
|
75
75
|
<header class="hbox">
|
|
76
76
|
<div class="lighthouse-logo"></div>
|
|
77
|
-
<
|
|
77
|
+
<h1 class="lighthouse-title">
|
|
78
78
|
${i18nString(UIStrings.generateLighthouseReport)}
|
|
79
|
-
</
|
|
79
|
+
</h1>
|
|
80
80
|
<div class="lighthouse-start-button-container"></div>
|
|
81
81
|
</header>
|
|
82
82
|
<div
|
|
@@ -15,7 +15,7 @@ import * as PanelsCommon from '../common/common.js';
|
|
|
15
15
|
import {ThrottlingManager} from './ThrottlingManager.js';
|
|
16
16
|
import type {NetworkThrottlingConditionsGroup} from './ThrottlingPresets.js';
|
|
17
17
|
|
|
18
|
-
const {render, html, Directives
|
|
18
|
+
const {render, html, Directives} = Lit;
|
|
19
19
|
|
|
20
20
|
const UIStrings = {
|
|
21
21
|
/**
|
|
@@ -70,7 +70,7 @@ interface ViewInput {
|
|
|
70
70
|
onSelect: (conditions: SDK.NetworkManager.ThrottlingConditions) => void;
|
|
71
71
|
onAddCustomConditions: () => void;
|
|
72
72
|
}
|
|
73
|
-
export type ViewFunction = (input: ViewInput, output: object, target:
|
|
73
|
+
export type ViewFunction = (input: ViewInput, output: object, target: HTMLSelectElement) => void;
|
|
74
74
|
|
|
75
75
|
export const DEFAULT_VIEW: ViewFunction = (input, output, target) => {
|
|
76
76
|
// The title is usually an i18nLazyString except for custom values that are stored in the local storage in the form of a string.
|
|
@@ -110,12 +110,7 @@ export const DEFAULT_VIEW: ViewFunction = (input, output, target) => {
|
|
|
110
110
|
|
|
111
111
|
render(
|
|
112
112
|
// clang-format off
|
|
113
|
-
html
|
|
114
|
-
?disabled=${input.disabled}
|
|
115
|
-
aria-label=${input.title ?? nothing}
|
|
116
|
-
jslog=${VisualLogging.dropDown().track({change: true}).context(input.jslogContext)}
|
|
117
|
-
@change=${onSelect}>
|
|
118
|
-
${input.throttlingGroups.map(
|
|
113
|
+
html`${input.throttlingGroups.map(
|
|
119
114
|
group =>
|
|
120
115
|
html`<optgroup
|
|
121
116
|
label=${group.title}>
|
|
@@ -149,40 +144,52 @@ export const DEFAULT_VIEW: ViewFunction = (input, output, target) => {
|
|
|
149
144
|
jslog=${VisualLogging.action('add').track({click: true})}>
|
|
150
145
|
${i18nString(UIStrings.add)}
|
|
151
146
|
</option>
|
|
152
|
-
</optgroup
|
|
153
|
-
|
|
154
|
-
|
|
147
|
+
</optgroup>`, // clang-format on
|
|
148
|
+
target, {
|
|
149
|
+
container: {
|
|
150
|
+
listeners: {change: onSelect},
|
|
151
|
+
attributes: {
|
|
152
|
+
disabled: input.disabled,
|
|
153
|
+
'aria-label': input.title,
|
|
154
|
+
jslog: `${VisualLogging.dropDown(input.jslogContext).track({change: true})}`
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
});
|
|
155
158
|
};
|
|
156
159
|
|
|
157
160
|
export const enum Events {
|
|
158
|
-
CONDITIONS_CHANGED = '
|
|
161
|
+
CONDITIONS_CHANGED = 'ConditionsChanged',
|
|
159
162
|
}
|
|
160
163
|
|
|
161
164
|
export interface EventTypes {
|
|
162
165
|
[Events.CONDITIONS_CHANGED]: SDK.NetworkManager.ThrottlingConditions;
|
|
163
166
|
}
|
|
164
167
|
|
|
165
|
-
export class NetworkThrottlingSelect extends Common.ObjectWrapper.
|
|
168
|
+
export class NetworkThrottlingSelect extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.Widget>(
|
|
169
|
+
UI.Widget.Widget) {
|
|
166
170
|
#recommendedConditions: SDK.NetworkManager.Conditions|null = null;
|
|
167
|
-
readonly #element: HTMLElement;
|
|
168
171
|
#jslogContext?: string;
|
|
169
172
|
#currentConditions: SDK.NetworkManager.ThrottlingConditions|undefined;
|
|
170
|
-
|
|
173
|
+
#title?: string;
|
|
171
174
|
readonly #view: ViewFunction;
|
|
172
175
|
#variant: NetworkThrottlingSelect.Variant = NetworkThrottlingSelect.Variant.GLOBAL_CONDITIONS;
|
|
173
176
|
#disabled = false;
|
|
174
177
|
|
|
175
178
|
static createForGlobalConditions(element: HTMLElement, title: string): NetworkThrottlingSelect {
|
|
176
179
|
ThrottlingManager.instance(); // Instantiate the throttling manager to connect network manager with the setting
|
|
177
|
-
const
|
|
180
|
+
const selectElement = element.createChild('select');
|
|
181
|
+
const select = new NetworkThrottlingSelect(selectElement, {
|
|
178
182
|
title,
|
|
179
183
|
jslogContext: SDK.NetworkManager.activeNetworkThrottlingKeySetting().name,
|
|
180
184
|
currentConditions: SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions()
|
|
181
185
|
});
|
|
182
|
-
select.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
+
select.show(element, undefined, /* suppressOrphanWidgetError= */ true);
|
|
187
|
+
select.addEventListener(Events.CONDITIONS_CHANGED, event => {
|
|
188
|
+
const conditions = event.data;
|
|
189
|
+
if (!('block' in conditions)) {
|
|
190
|
+
SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(conditions);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
186
193
|
SDK.NetworkManager.MultitargetNetworkManager.instance().addEventListener(
|
|
187
194
|
SDK.NetworkManager.MultitargetNetworkManager.Events.CONDITIONS_CHANGED, () => {
|
|
188
195
|
select.currentConditions = SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions();
|
|
@@ -203,22 +210,21 @@ export class NetworkThrottlingSelect extends Common.ObjectWrapper.ObjectWrapper<
|
|
|
203
210
|
}
|
|
204
211
|
|
|
205
212
|
constructor(
|
|
206
|
-
element
|
|
213
|
+
element?: HTMLElement, options: {
|
|
207
214
|
title?: string,
|
|
208
215
|
jslogContext?: string,
|
|
209
216
|
currentConditions?: SDK.NetworkManager.Conditions,
|
|
210
217
|
includeBlocking?: true,
|
|
211
218
|
} = {},
|
|
212
219
|
view = DEFAULT_VIEW) {
|
|
213
|
-
super();
|
|
214
|
-
SDK.NetworkManager.customUserNetworkConditionsSetting().addChangeListener(this
|
|
215
|
-
this.#element = element;
|
|
220
|
+
super(element);
|
|
221
|
+
SDK.NetworkManager.customUserNetworkConditionsSetting().addChangeListener(this.requestUpdate, this);
|
|
216
222
|
this.#jslogContext = options.jslogContext;
|
|
217
223
|
this.#currentConditions = options.currentConditions;
|
|
218
224
|
this.#title = options.title;
|
|
219
225
|
this.#view = view;
|
|
220
226
|
|
|
221
|
-
this
|
|
227
|
+
this.performUpdate();
|
|
222
228
|
}
|
|
223
229
|
|
|
224
230
|
get disabled(): boolean {
|
|
@@ -226,7 +232,7 @@ export class NetworkThrottlingSelect extends Common.ObjectWrapper.ObjectWrapper<
|
|
|
226
232
|
}
|
|
227
233
|
set disabled(disabled: boolean) {
|
|
228
234
|
this.#disabled = disabled;
|
|
229
|
-
this
|
|
235
|
+
this.requestUpdate();
|
|
230
236
|
}
|
|
231
237
|
|
|
232
238
|
get recommendedConditions(): SDK.NetworkManager.Conditions|null {
|
|
@@ -234,7 +240,7 @@ export class NetworkThrottlingSelect extends Common.ObjectWrapper.ObjectWrapper<
|
|
|
234
240
|
}
|
|
235
241
|
set recommendedConditions(recommendedConditions: SDK.NetworkManager.Conditions|null) {
|
|
236
242
|
this.#recommendedConditions = recommendedConditions;
|
|
237
|
-
this
|
|
243
|
+
this.requestUpdate();
|
|
238
244
|
}
|
|
239
245
|
|
|
240
246
|
get currentConditions(): SDK.NetworkManager.ThrottlingConditions|undefined {
|
|
@@ -242,7 +248,7 @@ export class NetworkThrottlingSelect extends Common.ObjectWrapper.ObjectWrapper<
|
|
|
242
248
|
}
|
|
243
249
|
set currentConditions(currentConditions: SDK.NetworkManager.ThrottlingConditions|undefined) {
|
|
244
250
|
this.#currentConditions = currentConditions;
|
|
245
|
-
this
|
|
251
|
+
this.requestUpdate();
|
|
246
252
|
}
|
|
247
253
|
|
|
248
254
|
get jslogContext(): string|undefined {
|
|
@@ -250,7 +256,7 @@ export class NetworkThrottlingSelect extends Common.ObjectWrapper.ObjectWrapper<
|
|
|
250
256
|
}
|
|
251
257
|
set jslogContext(jslogContext: string|undefined) {
|
|
252
258
|
this.#jslogContext = jslogContext;
|
|
253
|
-
this
|
|
259
|
+
this.requestUpdate();
|
|
254
260
|
}
|
|
255
261
|
|
|
256
262
|
get variant(): NetworkThrottlingSelect.Variant {
|
|
@@ -258,11 +264,19 @@ export class NetworkThrottlingSelect extends Common.ObjectWrapper.ObjectWrapper<
|
|
|
258
264
|
}
|
|
259
265
|
set variant(variant: NetworkThrottlingSelect.Variant) {
|
|
260
266
|
this.#variant = variant;
|
|
261
|
-
this
|
|
267
|
+
this.requestUpdate();
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
get title(): string|undefined {
|
|
271
|
+
return this.#title;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
set title(title: string|undefined) {
|
|
275
|
+
this.#title = title;
|
|
276
|
+
this.requestUpdate();
|
|
262
277
|
}
|
|
263
278
|
|
|
264
|
-
|
|
265
|
-
#performUpdate(): void {
|
|
279
|
+
override performUpdate(): void {
|
|
266
280
|
const customNetworkConditionsSetting = SDK.NetworkManager.customUserNetworkConditionsSetting();
|
|
267
281
|
const customNetworkConditions = customNetworkConditionsSetting.get();
|
|
268
282
|
const onAddCustomConditions = (): void => {
|
|
@@ -315,7 +329,7 @@ export class NetworkThrottlingSelect extends Common.ObjectWrapper.ObjectWrapper<
|
|
|
315
329
|
throttlingGroups,
|
|
316
330
|
customConditionsGroup,
|
|
317
331
|
};
|
|
318
|
-
this.#view(viewInput, {}, this
|
|
332
|
+
this.#view(viewInput, {}, this.contentElement as HTMLSelectElement);
|
|
319
333
|
}
|
|
320
334
|
}
|
|
321
335
|
export namespace NetworkThrottlingSelect {
|
|
@@ -324,36 +338,3 @@ export namespace NetworkThrottlingSelect {
|
|
|
324
338
|
INDIVIDUAL_REQUEST_CONDITIONS = 'individual-request-conditions',
|
|
325
339
|
}
|
|
326
340
|
}
|
|
327
|
-
|
|
328
|
-
export class NetworkThrottlingSelectorWidget extends UI.Widget.VBox {
|
|
329
|
-
#select: NetworkThrottlingSelect;
|
|
330
|
-
#conditionsChangedHandler?: ((conditions: SDK.NetworkManager.ThrottlingConditions) => void);
|
|
331
|
-
constructor(element?: HTMLElement, view = DEFAULT_VIEW) {
|
|
332
|
-
super(element, {useShadowDom: true});
|
|
333
|
-
this.#select = new NetworkThrottlingSelect(this.contentElement, {}, view);
|
|
334
|
-
this.#select.addEventListener(Events.CONDITIONS_CHANGED, ({data}) => this.#conditionsChangedHandler?.(data));
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
get disabled(): boolean {
|
|
338
|
-
return this.#select.disabled;
|
|
339
|
-
}
|
|
340
|
-
set disabled(disabled: boolean) {
|
|
341
|
-
this.#select.disabled = disabled;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
set variant(variant: NetworkThrottlingSelect.Variant) {
|
|
345
|
-
this.#select.variant = variant;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
set jslogContext(context: string) {
|
|
349
|
-
this.#select.jslogContext = context;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
set currentConditions(currentConditions: SDK.NetworkManager.ThrottlingConditions|undefined) {
|
|
353
|
-
this.#select.currentConditions = currentConditions;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
set onConditionsChanged(handler: (conditions: SDK.NetworkManager.ThrottlingConditions) => void) {
|
|
357
|
-
this.#conditionsChangedHandler = handler;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
@@ -466,7 +466,7 @@ export const userAgentGroups: UserAgentGroup[] = [
|
|
|
466
466
|
{
|
|
467
467
|
title: 'Chrome \u2014 Android Mobile',
|
|
468
468
|
value:
|
|
469
|
-
'Mozilla/5.0 (Linux; Android
|
|
469
|
+
'Mozilla/5.0 (Linux; Android 16; Pixel 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
470
470
|
metadata: {
|
|
471
471
|
brands: [
|
|
472
472
|
{brand: 'Not A;Brand', version: '99'},
|
|
@@ -475,16 +475,16 @@ export const userAgentGroups: UserAgentGroup[] = [
|
|
|
475
475
|
],
|
|
476
476
|
fullVersion: '%s',
|
|
477
477
|
platform: 'Android',
|
|
478
|
-
platformVersion: '
|
|
478
|
+
platformVersion: '16',
|
|
479
479
|
architecture: '',
|
|
480
|
-
model: '
|
|
480
|
+
model: 'Pixel 10',
|
|
481
481
|
mobile: true,
|
|
482
482
|
},
|
|
483
483
|
},
|
|
484
484
|
{
|
|
485
485
|
title: 'Chrome \u2014 Android Mobile (high-end)',
|
|
486
486
|
value:
|
|
487
|
-
'Mozilla/5.0 (Linux; Android
|
|
487
|
+
'Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
488
488
|
metadata: {
|
|
489
489
|
brands: [
|
|
490
490
|
{brand: 'Not A;Brand', version: '99'},
|
|
@@ -493,16 +493,16 @@ export const userAgentGroups: UserAgentGroup[] = [
|
|
|
493
493
|
],
|
|
494
494
|
fullVersion: '%s',
|
|
495
495
|
platform: 'Android',
|
|
496
|
-
platformVersion: '
|
|
496
|
+
platformVersion: '16',
|
|
497
497
|
architecture: '',
|
|
498
|
-
model: 'Pixel
|
|
498
|
+
model: 'Pixel 10 Pro XL',
|
|
499
499
|
mobile: true,
|
|
500
500
|
},
|
|
501
501
|
},
|
|
502
502
|
{
|
|
503
503
|
title: 'Chrome \u2014 Android Tablet',
|
|
504
504
|
value:
|
|
505
|
-
'Mozilla/5.0 (Linux; Android
|
|
505
|
+
'Mozilla/5.0 (Linux; Android 16; Pixel Tablet) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36',
|
|
506
506
|
metadata: {
|
|
507
507
|
brands: [
|
|
508
508
|
{brand: 'Not A;Brand', version: '99'},
|
|
@@ -511,22 +511,22 @@ export const userAgentGroups: UserAgentGroup[] = [
|
|
|
511
511
|
],
|
|
512
512
|
fullVersion: '%s',
|
|
513
513
|
platform: 'Android',
|
|
514
|
-
platformVersion: '
|
|
514
|
+
platformVersion: '16',
|
|
515
515
|
architecture: '',
|
|
516
|
-
model: '
|
|
516
|
+
model: 'Pixel Tablet',
|
|
517
517
|
mobile: true,
|
|
518
518
|
},
|
|
519
519
|
},
|
|
520
520
|
{
|
|
521
521
|
title: 'Chrome \u2014 iPhone',
|
|
522
522
|
value:
|
|
523
|
-
'Mozilla/5.0 (iPhone; CPU iPhone OS
|
|
523
|
+
'Mozilla/5.0 (iPhone; CPU iPhone OS 26_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/%s Mobile/15E148 Safari/604.1',
|
|
524
524
|
metadata: null,
|
|
525
525
|
},
|
|
526
526
|
{
|
|
527
527
|
title: 'Chrome \u2014 iPad',
|
|
528
528
|
value:
|
|
529
|
-
'Mozilla/5.0 (iPad; CPU OS
|
|
529
|
+
'Mozilla/5.0 (iPad; CPU OS 26_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/%s Mobile/15E148 Safari/604.1',
|
|
530
530
|
metadata: null,
|
|
531
531
|
},
|
|
532
532
|
{
|
|
@@ -268,18 +268,20 @@ function renderItem(
|
|
|
268
268
|
aria-details=url-pattern-${index}>
|
|
269
269
|
${constructorStringOrWildcardURL}
|
|
270
270
|
</div>
|
|
271
|
-
<
|
|
271
|
+
<select
|
|
272
272
|
class=conditions-selector
|
|
273
273
|
title=${i18nString(UIStrings.requestConditionsLabel)}
|
|
274
|
+
@ConditionsChanged=${(e: CustomEvent<SDK.NetworkManager.ThrottlingConditions>) => {
|
|
275
|
+
onConditionsChanged(condition, e.detail);
|
|
276
|
+
}}
|
|
274
277
|
${widget(
|
|
275
|
-
MobileThrottling.NetworkThrottlingSelector.
|
|
278
|
+
MobileThrottling.NetworkThrottlingSelector.NetworkThrottlingSelect, {
|
|
276
279
|
variant:
|
|
277
280
|
MobileThrottling.NetworkThrottlingSelector.NetworkThrottlingSelect.Variant.INDIVIDUAL_REQUEST_CONDITIONS,
|
|
278
281
|
jslogContext: 'request-conditions',
|
|
279
282
|
disabled: !editable,
|
|
280
|
-
onConditionsChanged: conditions => onConditionsChanged(condition, conditions),
|
|
281
283
|
currentConditions: condition.conditions,
|
|
282
|
-
})}></
|
|
284
|
+
})}></select>
|
|
283
285
|
<devtools-widget
|
|
284
286
|
?disabled=${!editable || !originalOrUpgradedURLPattern}
|
|
285
287
|
${widget(AffectedCountWidget, {condition, lookUpRequestCount})}></devtools-widget>`;
|
|
@@ -150,7 +150,7 @@ export const DEFAULT_VIEW: ViewFunction = (input, _output, target) => {
|
|
|
150
150
|
</div>
|
|
151
151
|
</div>
|
|
152
152
|
`,
|
|
153
|
-
target);
|
|
153
|
+
target, {container: {attributes: {jslog: `${VisualLogging.pane('cookies').track({resize: true})}`}}});
|
|
154
154
|
// clang-format on
|
|
155
155
|
};
|
|
156
156
|
|
|
@@ -168,7 +168,7 @@ export class RequestCookiesView extends UI.Widget.Widget {
|
|
|
168
168
|
private readonly view: ViewFunction;
|
|
169
169
|
|
|
170
170
|
constructor(request: SDK.NetworkRequest.NetworkRequest, view: ViewFunction = DEFAULT_VIEW) {
|
|
171
|
-
super(
|
|
171
|
+
super();
|
|
172
172
|
this.request = request;
|
|
173
173
|
this.showFilteredOutCookiesSetting = Common.Settings.Settings.instance().createSetting(
|
|
174
174
|
'show-filtered-out-request-cookies', /* defaultValue */ false);
|
|
@@ -108,7 +108,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target: HTML
|
|
|
108
108
|
nothing}
|
|
109
109
|
</div>
|
|
110
110
|
`,
|
|
111
|
-
target);
|
|
111
|
+
target, {container: {attributes: {jslog: `${VisualLogging.pane('device-bound-sessions-request')}`}}});
|
|
112
112
|
};
|
|
113
113
|
|
|
114
114
|
export class RequestDeviceBoundSessionsView extends UI.Widget.VBox {
|
|
@@ -116,7 +116,7 @@ export class RequestDeviceBoundSessionsView extends UI.Widget.VBox {
|
|
|
116
116
|
#view: typeof DEFAULT_VIEW;
|
|
117
117
|
|
|
118
118
|
constructor(request: SDK.NetworkRequest.NetworkRequest, view: typeof DEFAULT_VIEW = DEFAULT_VIEW) {
|
|
119
|
-
super(
|
|
119
|
+
super();
|
|
120
120
|
this.#request = request;
|
|
121
121
|
this.#view = view;
|
|
122
122
|
}
|
|
@@ -218,7 +218,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
218
218
|
})}
|
|
219
219
|
`,
|
|
220
220
|
// clang-format on
|
|
221
|
-
target);
|
|
221
|
+
target, {container: {attributes: {jslog: `${VisualLogging.pane('headers').track({resize: true})}`}}});
|
|
222
222
|
};
|
|
223
223
|
|
|
224
224
|
export class RequestHeadersView extends UI.Widget.Widget {
|
|
@@ -239,7 +239,7 @@ export class RequestHeadersView extends UI.Widget.Widget {
|
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
constructor(target?: HTMLElement, view = DEFAULT_VIEW) {
|
|
242
|
-
super(
|
|
242
|
+
super();
|
|
243
243
|
this.#view = view;
|
|
244
244
|
}
|
|
245
245
|
|
|
@@ -114,7 +114,7 @@ export interface ViewInput {
|
|
|
114
114
|
onCopyRow: () => void;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
export type View = (input: ViewInput, output: undefined, target: HTMLElement) => void;
|
|
117
|
+
export type View = (input: ViewInput, output: undefined, target: HTMLElement|DocumentFragment) => void;
|
|
118
118
|
|
|
119
119
|
export const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
120
120
|
function isCategoryOpen(name: string): boolean {
|
|
@@ -218,18 +218,17 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
|
218
218
|
${renderCategory(CATEGORY_NAME_GENERAL, i18nString(UIStrings.general), generalContent)}
|
|
219
219
|
${renderCategory(CATEGORY_NAME_OPTIONS, i18nString(UIStrings.options), optionsContent)}
|
|
220
220
|
${socketInfo.openInfo ? renderCategory(CATEGORY_NAME_OPEN_INFO, i18nString(UIStrings.openInfo), openInfoContent) : Lit.nothing}
|
|
221
|
-
`, target);
|
|
221
|
+
`, target, {container: {attributes: {jslog: `${VisualLogging.pane('connection-info').track({resize: true})}`}}});
|
|
222
222
|
// clang-format on
|
|
223
223
|
};
|
|
224
224
|
|
|
225
|
-
export class DirectSocketConnectionView extends UI.Widget.Widget {
|
|
225
|
+
export class DirectSocketConnectionView extends UI.Widget.Widget<ShadowRoot> {
|
|
226
226
|
#request: Readonly<SDK.NetworkRequest.NetworkRequest>;
|
|
227
227
|
#view: View;
|
|
228
228
|
|
|
229
229
|
constructor(request: SDK.NetworkRequest.NetworkRequest, view: View = DEFAULT_VIEW) {
|
|
230
230
|
super({
|
|
231
|
-
|
|
232
|
-
useShadowDom: true,
|
|
231
|
+
useShadowDom: 'pure',
|
|
233
232
|
});
|
|
234
233
|
this.#request = request;
|
|
235
234
|
this.#view = view;
|
|
@@ -75,8 +75,8 @@ interface PerformanceMonitorOutput {
|
|
|
75
75
|
width: number;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
type PerformanceMonitorView =
|
|
79
|
-
void;
|
|
78
|
+
type PerformanceMonitorView =
|
|
79
|
+
(input: PerformanceMonitorInput, output: PerformanceMonitorOutput, target: DocumentFragment) => void;
|
|
80
80
|
|
|
81
81
|
const DEFAULT_VIEW: PerformanceMonitorView = (input, output, target) => {
|
|
82
82
|
// clang-format off
|
|
@@ -102,11 +102,11 @@ const DEFAULT_VIEW: PerformanceMonitorView = (input, output, target) => {
|
|
|
102
102
|
<div class="perfmon-chart-suspend-overlay fill">
|
|
103
103
|
<div>${i18nString(UIStrings.paused)}</div>
|
|
104
104
|
</div>` : ''}`,
|
|
105
|
-
target);
|
|
105
|
+
target, {container: {attributes: {jslog: `${VisualLogging.pane('performance.monitor').track({resize: true})}`}}});
|
|
106
106
|
// clang-format on
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
-
export class PerformanceMonitorImpl extends UI.Widget.HBox implements
|
|
109
|
+
export class PerformanceMonitorImpl extends UI.Widget.HBox<ShadowRoot> implements
|
|
110
110
|
SDK.TargetManager.SDKModelObserver<SDK.PerformanceMetricsModel.PerformanceMetricsModel> {
|
|
111
111
|
private view: PerformanceMonitorView;
|
|
112
112
|
private chartInfos: ChartInfo[] = [];
|
|
@@ -127,10 +127,7 @@ export class PerformanceMonitorImpl extends UI.Widget.HBox implements
|
|
|
127
127
|
private graphRenderingContext: CanvasRenderingContext2D|null = null;
|
|
128
128
|
|
|
129
129
|
constructor(pollIntervalMs = 500, view = DEFAULT_VIEW) {
|
|
130
|
-
super({
|
|
131
|
-
jslog: `${VisualLogging.panel('performance.monitor').track({resize: true})}`,
|
|
132
|
-
useShadowDom: true,
|
|
133
|
-
});
|
|
130
|
+
super({useShadowDom: 'pure'});
|
|
134
131
|
this.view = view;
|
|
135
132
|
this.registerRequiredCSS(performanceMonitorStyles);
|
|
136
133
|
|
|
@@ -504,7 +501,7 @@ export class PerformanceMonitorImpl extends UI.Widget.HBox implements
|
|
|
504
501
|
|
|
505
502
|
private createChartInfos(): ChartInfo[] {
|
|
506
503
|
const themeSupport = ThemeSupport.ThemeSupport.instance();
|
|
507
|
-
const elementForStyles = this.contentElement;
|
|
504
|
+
const elementForStyles = this.contentElement.firstElementChild;
|
|
508
505
|
|
|
509
506
|
const defaults: Partial<ChartInfo> = {};
|
|
510
507
|
|