chrome-devtools-frontend 1.0.1526203 → 1.0.1528866
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/docs/ui_engineering.md +159 -0
- package/eslint.config.mjs +6 -1
- package/front_end/core/i18n/i18nImpl.ts +5 -0
- package/front_end/core/protocol_client/protocol_client.ts +1 -1
- package/front_end/core/root/Runtime.ts +28 -4
- package/front_end/core/sdk/CSSMatchedStyles.ts +50 -7
- package/front_end/core/sdk/CSSRule.ts +35 -6
- package/front_end/core/sdk/ChildTargetManager.ts +2 -0
- package/front_end/core/sdk/Connections.ts +2 -1
- package/front_end/core/sdk/DOMModel.ts +4 -0
- package/front_end/core/sdk/DebuggerModel.ts +5 -1
- package/front_end/core/sdk/NetworkManager.ts +214 -31
- package/front_end/core/sdk/PreloadingModel.ts +82 -17
- package/front_end/core/sdk/RehydratingConnection.snapshot.txt +1 -1
- package/front_end/core/sdk/RehydratingConnection.ts +29 -4
- package/front_end/core/sdk/ScopeTreeCache.ts +8 -3
- package/front_end/core/sdk/SourceMap.ts +37 -11
- package/front_end/core/sdk/SourceMapManager.ts +13 -2
- package/front_end/core/sdk/SourceMapScopesInfo.ts +17 -0
- package/front_end/core/sdk/TargetManager.ts +0 -22
- package/front_end/core/sdk/TraceObject.ts +8 -7
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +81 -0
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +3 -1
- package/front_end/entrypoints/main/GlobalAiButton.ts +1 -0
- package/front_end/entrypoints/main/MainImpl.ts +20 -25
- package/front_end/generated/InspectorBackendCommands.js +4 -3
- package/front_end/generated/protocol-mapping.d.ts +3 -1
- package/front_end/generated/protocol-proxy-api.d.ts +3 -1
- package/front_end/generated/protocol.ts +17 -3
- package/front_end/models/ai_assistance/BuiltInAi.ts +111 -0
- package/front_end/models/ai_assistance/ai_assistance.ts +53 -24
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +105 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +6 -1
- package/front_end/models/extensions/ExtensionView.ts +3 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +23 -27
- package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +31 -29
- package/front_end/models/persistence/EditFileSystemView.ts +1 -0
- package/front_end/models/source_map_scopes/NamesResolver.ts +5 -11
- package/front_end/models/stack_trace/Trie.ts +9 -0
- package/front_end/models/trace/lantern/types/Lantern.ts +1 -1
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -0
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +1 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +120 -113
- package/front_end/panels/ai_assistance/PatchWidget.ts +9 -8
- package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +2 -0
- package/front_end/panels/ai_assistance/components/ChatView.ts +29 -29
- package/front_end/panels/ai_assistance/components/UserActionRow.ts +1 -0
- package/front_end/panels/animation/AnimationTimeline.ts +1 -0
- package/front_end/panels/application/CookieItemsView.ts +1 -0
- package/front_end/panels/application/KeyValueStorageItemsView.ts +1 -0
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +2 -0
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +11 -5
- package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +2 -2
- package/front_end/panels/application/preloading/components/PreloadingString.ts +7 -5
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +22 -10
- package/front_end/panels/changes/CombinedDiffView.ts +1 -0
- package/front_end/panels/console/ConsoleInsightTeaser.ts +106 -0
- package/front_end/panels/console/ConsolePanel.ts +2 -0
- package/front_end/panels/console/ConsolePrompt.ts +12 -2
- package/front_end/panels/console/ConsoleSidebar.ts +1 -1
- package/front_end/panels/console/ConsoleView.ts +12 -0
- package/front_end/panels/console/ConsoleViewMessage.ts +27 -0
- package/front_end/panels/{explain → console}/PromptBuilder.ts +12 -7
- package/front_end/panels/console/console.ts +6 -0
- package/front_end/panels/console/consoleInsightTeaser.css +55 -0
- package/front_end/panels/coverage/CoverageListView.ts +141 -277
- package/front_end/panels/coverage/CoverageView.ts +330 -324
- package/front_end/panels/coverage/coverageView.css +17 -0
- package/front_end/panels/elements/ComputedStyleWidget.ts +1 -0
- package/front_end/panels/elements/LayoutPane.ts +1 -0
- package/front_end/panels/elements/NodeStackTraceWidget.ts +1 -0
- package/front_end/panels/elements/StylePropertyTreeElement.ts +5 -1
- package/front_end/panels/elements/stylePropertiesTreeOutline.css +17 -0
- package/front_end/panels/emulation/DeviceModeView.ts +2 -0
- package/front_end/panels/explain/ActionDelegate.ts +1 -2
- package/front_end/panels/explain/components/ConsoleInsight.ts +14 -12
- package/front_end/panels/explain/explain.ts +0 -1
- package/front_end/panels/js_timeline/js_timeline-meta.ts +1 -1
- package/front_end/panels/layer_viewer/Layers3DView.ts +2 -0
- package/front_end/panels/lighthouse/LighthouseReportSelector.ts +1 -0
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +12 -19
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +27 -43
- package/front_end/panels/media/MainView.ts +1 -0
- package/front_end/panels/media/TickingFlameChart.ts +2 -0
- package/front_end/panels/network/BlockedURLsPane.ts +111 -85
- package/front_end/panels/network/EventSourceMessagesView.ts +1 -0
- package/front_end/panels/network/NetworkItemView.ts +1 -0
- package/front_end/panels/network/NetworkLogView.ts +9 -7
- package/front_end/panels/network/NetworkOverview.ts +1 -0
- package/front_end/panels/network/RequestCookiesView.ts +1 -0
- package/front_end/panels/network/RequestHTMLView.ts +1 -0
- package/front_end/panels/network/RequestInitiatorView.ts +1 -0
- package/front_end/panels/network/RequestPayloadView.ts +1 -0
- package/front_end/panels/network/RequestPreviewView.ts +1 -0
- package/front_end/panels/network/RequestResponseView.ts +2 -1
- package/front_end/panels/network/RequestTimingView.ts +2 -0
- package/front_end/panels/network/ResourceDirectSocketChunkView.ts +1 -0
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +1 -0
- package/front_end/panels/network/components/RequestHeadersView.ts +2 -0
- package/front_end/panels/network/components/RequestTrustTokensView.ts +2 -0
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +2 -0
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +2 -0
- package/front_end/panels/profiler/HeapSnapshotView.ts +7 -0
- package/front_end/panels/profiler/IsolateSelector.ts +1 -0
- package/front_end/panels/profiler/LiveHeapProfileView.ts +1 -0
- package/front_end/panels/profiler/ProfileView.ts +1 -0
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +1 -0
- package/front_end/panels/recorder/RecorderPanel.ts +2 -0
- package/front_end/panels/screencast/ScreencastView.ts +1 -0
- package/front_end/panels/search/SearchView.ts +1 -0
- package/front_end/panels/settings/AISettingsTab.ts +3 -3
- package/front_end/panels/settings/WorkspaceSettingsTab.ts +2 -0
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +2 -2
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +12 -0
- package/front_end/panels/sources/BreakpointsView.ts +1 -0
- package/front_end/panels/sources/DebuggerPlugin.ts +1 -0
- package/front_end/panels/sources/UISourceCodeFrame.ts +17 -2
- package/front_end/panels/timeline/README.md +2 -2
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartView.ts +4 -3
- package/front_end/panels/timeline/TimelineLayersView.ts +1 -0
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +114 -37
- package/front_end/panels/timeline/TimelinePanel.ts +43 -62
- package/front_end/panels/timeline/TimelineTreeView.ts +1 -0
- package/front_end/panels/timeline/components/LiveMetricsView.ts +4 -8
- package/front_end/panels/timeline/components/Sidebar.ts +2 -0
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +1 -1
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +7 -7
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +1 -1
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +4 -4
- package/front_end/panels/web_audio/WebAudioView.ts +1 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/lighthouse/README.chromium +2 -2
- package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1530 -2426
- package/front_end/third_party/lighthouse/locales/ar-XB.json +107 -455
- package/front_end/third_party/lighthouse/locales/ar.json +107 -455
- package/front_end/third_party/lighthouse/locales/bg.json +96 -444
- package/front_end/third_party/lighthouse/locales/ca.json +96 -444
- package/front_end/third_party/lighthouse/locales/cs.json +96 -444
- package/front_end/third_party/lighthouse/locales/da.json +96 -444
- package/front_end/third_party/lighthouse/locales/de.json +96 -444
- package/front_end/third_party/lighthouse/locales/el.json +96 -444
- package/front_end/third_party/lighthouse/locales/en-GB.json +96 -444
- package/front_end/third_party/lighthouse/locales/en-US.json +116 -467
- package/front_end/third_party/lighthouse/locales/en-XA.json +93 -441
- package/front_end/third_party/lighthouse/locales/en-XL.json +116 -467
- package/front_end/third_party/lighthouse/locales/es-419.json +96 -444
- package/front_end/third_party/lighthouse/locales/es.json +96 -444
- package/front_end/third_party/lighthouse/locales/fi.json +96 -444
- package/front_end/third_party/lighthouse/locales/fil.json +96 -444
- package/front_end/third_party/lighthouse/locales/fr.json +96 -444
- package/front_end/third_party/lighthouse/locales/he.json +118 -466
- package/front_end/third_party/lighthouse/locales/hi.json +96 -444
- package/front_end/third_party/lighthouse/locales/hr.json +100 -448
- package/front_end/third_party/lighthouse/locales/hu.json +96 -444
- package/front_end/third_party/lighthouse/locales/id.json +96 -444
- package/front_end/third_party/lighthouse/locales/it.json +96 -444
- package/front_end/third_party/lighthouse/locales/ja.json +96 -444
- package/front_end/third_party/lighthouse/locales/ko.json +97 -445
- package/front_end/third_party/lighthouse/locales/lt.json +96 -444
- package/front_end/third_party/lighthouse/locales/lv.json +97 -445
- package/front_end/third_party/lighthouse/locales/nl.json +96 -444
- package/front_end/third_party/lighthouse/locales/no.json +96 -444
- package/front_end/third_party/lighthouse/locales/pl.json +96 -444
- package/front_end/third_party/lighthouse/locales/pt-PT.json +96 -444
- package/front_end/third_party/lighthouse/locales/pt.json +97 -445
- package/front_end/third_party/lighthouse/locales/ro.json +97 -445
- package/front_end/third_party/lighthouse/locales/ru.json +96 -444
- package/front_end/third_party/lighthouse/locales/sk.json +96 -444
- package/front_end/third_party/lighthouse/locales/sl.json +96 -444
- package/front_end/third_party/lighthouse/locales/sr-Latn.json +96 -444
- package/front_end/third_party/lighthouse/locales/sr.json +96 -444
- package/front_end/third_party/lighthouse/locales/sv.json +96 -444
- package/front_end/third_party/lighthouse/locales/ta.json +96 -444
- package/front_end/third_party/lighthouse/locales/te.json +97 -445
- package/front_end/third_party/lighthouse/locales/th.json +96 -444
- package/front_end/third_party/lighthouse/locales/tr.json +96 -444
- package/front_end/third_party/lighthouse/locales/uk.json +96 -444
- package/front_end/third_party/lighthouse/locales/vi.json +96 -444
- package/front_end/third_party/lighthouse/locales/zh-HK.json +96 -444
- package/front_end/third_party/lighthouse/locales/zh-TW.json +97 -445
- package/front_end/third_party/lighthouse/locales/zh.json +96 -444
- package/front_end/third_party/lighthouse/report/bundle.d.ts +8 -14
- package/front_end/third_party/lighthouse/report/bundle.js +10 -49
- package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
- package/front_end/third_party/web-vitals/README.chromium +5 -8
- package/front_end/third_party/web-vitals/package/README.md +191 -152
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/index.d.ts +0 -1
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/index.js +0 -1
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onCLS.d.ts +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onCLS.js +45 -26
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.d.ts +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.js +3 -3
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.d.ts +10 -10
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +307 -206
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.d.ts +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +69 -49
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.d.ts +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.js +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/index.d.ts +0 -1
- package/front_end/third_party/web-vitals/package/dist/modules/index.js +0 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.d.ts +33 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.js +111 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/LCPEntryManager.d.ts +4 -0
- package/front_end/third_party/web-vitals/package/dist/modules/{attribution/deprecated.js → lib/LCPEntryManager.js} +6 -7
- package/front_end/third_party/web-vitals/package/dist/modules/lib/LayoutShiftManager.d.ts +6 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/LayoutShiftManager.js +44 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/generateUniqueID.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getActivationStart.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getNavigationEntry.js +5 -7
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getSelector.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getSelector.js +9 -12
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.d.ts +1 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.js +52 -33
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +0 -2
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.js +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initUnique.d.ts +6 -0
- package/front_end/third_party/web-vitals/package/dist/modules/{deprecated.js → lib/initUnique.js} +11 -4
- package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.js +3 -6
- package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/interactionCountPolyfill.js +6 -6
- package/front_end/third_party/web-vitals/package/dist/modules/lib/{whenIdle.d.ts → whenIdleOrHidden.d.ts} +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/{whenIdle.js → whenIdleOrHidden.js} +10 -8
- package/front_end/third_party/web-vitals/package/dist/modules/onCLS.js +17 -35
- package/front_end/third_party/web-vitals/package/dist/modules/onFCP.js +3 -5
- package/front_end/third_party/web-vitals/package/dist/modules/onINP.d.ts +9 -7
- package/front_end/third_party/web-vitals/package/dist/modules/onINP.js +27 -19
- package/front_end/third_party/web-vitals/package/dist/modules/onLCP.js +33 -26
- package/front_end/third_party/web-vitals/package/dist/modules/onTTFB.js +2 -4
- package/front_end/third_party/web-vitals/package/dist/modules/types/base.d.ts +6 -5
- package/front_end/third_party/web-vitals/package/dist/modules/types/cls.d.ts +5 -3
- package/front_end/third_party/web-vitals/package/dist/modules/types/inp.d.ts +80 -33
- package/front_end/third_party/web-vitals/package/dist/modules/types/lcp.d.ts +6 -2
- package/front_end/third_party/web-vitals/package/dist/modules/types.d.ts +28 -4
- package/front_end/third_party/web-vitals/package/dist/modules/types.js +0 -1
- package/front_end/third_party/web-vitals/package/package.json +4 -10
- package/front_end/third_party/web-vitals/package/src/attribution/index.ts +0 -1
- package/front_end/third_party/web-vitals/package/src/attribution/onCLS.ts +58 -33
- package/front_end/third_party/web-vitals/package/src/attribution/onFCP.ts +4 -4
- package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +382 -258
- package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +96 -69
- package/front_end/third_party/web-vitals/package/src/attribution/onTTFB.ts +3 -3
- package/front_end/third_party/web-vitals/package/src/index.ts +0 -1
- package/front_end/third_party/web-vitals/package/src/lib/InteractionManager.ts +146 -0
- package/front_end/third_party/web-vitals/package/src/{attribution/deprecated.ts → lib/LCPEntryManager.ts} +6 -9
- package/front_end/third_party/web-vitals/package/src/lib/LayoutShiftManager.ts +50 -0
- package/front_end/third_party/web-vitals/package/src/lib/bindReporter.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/generateUniqueID.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/getActivationStart.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/getNavigationEntry.ts +5 -8
- package/front_end/third_party/web-vitals/package/src/lib/getSelector.ts +12 -12
- package/front_end/third_party/web-vitals/package/src/lib/getVisibilityWatcher.ts +57 -35
- package/front_end/third_party/web-vitals/package/src/lib/initMetric.ts +2 -2
- package/front_end/third_party/web-vitals/package/src/{deprecated.ts → lib/initUnique.ts} +14 -8
- package/front_end/third_party/web-vitals/package/src/lib/observe.ts +3 -11
- package/front_end/third_party/web-vitals/package/src/lib/polyfills/interactionCountPolyfill.ts +12 -6
- package/front_end/third_party/web-vitals/package/src/lib/{whenIdle.ts → whenIdleOrHidden.ts} +10 -8
- package/front_end/third_party/web-vitals/package/src/onCLS.ts +17 -38
- package/front_end/third_party/web-vitals/package/src/onFCP.ts +3 -6
- package/front_end/third_party/web-vitals/package/src/onINP.ts +33 -28
- package/front_end/third_party/web-vitals/package/src/onLCP.ts +36 -29
- package/front_end/third_party/web-vitals/package/src/onTTFB.ts +2 -5
- package/front_end/third_party/web-vitals/package/src/types/base.ts +5 -5
- package/front_end/third_party/web-vitals/package/src/types/cls.ts +5 -3
- package/front_end/third_party/web-vitals/package/src/types/inp.ts +88 -33
- package/front_end/third_party/web-vitals/package/src/types/lcp.ts +6 -2
- package/front_end/third_party/web-vitals/package/src/types.ts +47 -4
- package/front_end/third_party/web-vitals/patches/0001-Add-onEachInteraction-to-onINP-options.patch +75 -0
- package/front_end/third_party/web-vitals/rebuild.sh +32 -18
- package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +5 -10
- package/front_end/third_party/web-vitals/web-vitals.ts +0 -2
- package/front_end/ui/components/buttons/Button.ts +1 -1
- package/front_end/ui/components/docs/console_insight/basic.ts +3 -2
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +2 -0
- package/front_end/ui/components/text_editor/TextEditor.ts +0 -2
- package/front_end/ui/legacy/EmptyWidget.ts +11 -1
- package/front_end/ui/legacy/InspectorView.ts +2 -0
- package/front_end/ui/legacy/SplitWidget.ts +2 -0
- package/front_end/ui/legacy/TabbedPane.ts +1 -0
- package/front_end/ui/legacy/TargetCrashedScreen.ts +1 -0
- package/front_end/ui/legacy/Toolbar.ts +25 -4
- package/front_end/ui/legacy/UIUtils.ts +28 -13
- package/front_end/ui/legacy/ViewManager.ts +1 -0
- package/front_end/ui/legacy/Widget.ts +5 -0
- package/front_end/ui/legacy/components/color_picker/FormatPickerContextMenu.ts +7 -20
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +2 -0
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +1 -0
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +1 -1
- package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +1 -0
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +1 -0
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +1 -0
- package/front_end/ui/legacy/components/source_frame/FontView.ts +1 -0
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -0
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +1 -0
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +1 -0
- package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +9 -8
- package/front_end/ui/visual_logging/KnownContextValues.ts +17 -0
- package/mcp/README.md +7 -0
- package/mcp/mcp.ts +8 -0
- package/package.json +1 -1
- package/front_end/models/live-metrics/web-vitals-injected/OnEachInteraction.ts +0 -34
- package/front_end/third_party/web-vitals/package/attribution.d.ts +0 -16
- package/front_end/third_party/web-vitals/package/attribution.js +0 -18
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/deprecated.d.ts +0 -7
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFID.d.ts +0 -11
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFID.js +0 -46
- package/front_end/third_party/web-vitals/package/dist/modules/deprecated.d.ts +0 -5
- package/front_end/third_party/web-vitals/package/dist/modules/lib/interactions.d.ts +0 -31
- package/front_end/third_party/web-vitals/package/dist/modules/lib/interactions.js +0 -107
- package/front_end/third_party/web-vitals/package/dist/modules/lib/onHidden.d.ts +0 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/onHidden.js +0 -22
- package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/firstInputPolyfill.d.ts +0 -7
- package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/firstInputPolyfill.js +0 -147
- package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/getFirstHiddenTimePolyfill.d.ts +0 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/getFirstHiddenTimePolyfill.js +0 -25
- package/front_end/third_party/web-vitals/package/dist/modules/onFID.d.ts +0 -13
- package/front_end/third_party/web-vitals/package/dist/modules/onFID.js +0 -70
- package/front_end/third_party/web-vitals/package/dist/modules/types/fid.d.ts +0 -46
- package/front_end/third_party/web-vitals/package/dist/modules/types/fid.js +0 -16
- package/front_end/third_party/web-vitals/package/src/attribution/onFID.ts +0 -62
- package/front_end/third_party/web-vitals/package/src/lib/interactions.ts +0 -139
- package/front_end/third_party/web-vitals/package/src/lib/onHidden.ts +0 -23
- package/front_end/third_party/web-vitals/package/src/lib/polyfills/firstInputPolyfill.ts +0 -174
- package/front_end/third_party/web-vitals/package/src/onFID.ts +0 -105
- package/front_end/third_party/web-vitals/package/src/types/fid.ts +0 -65
- package/front_end/ui/components/text_editor/textEditor.css +0 -18
- package/front_end/ui/legacy/inlineButton.css +0 -22
- /package/front_end/entrypoints/{rehydrated_devtools_app/rehydrated_devtools_app.ts → trace_app/trace_app.ts} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Copyright 2015 The Chromium Authors
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
|
+
/* eslint-disable rulesdir/no-lit-render-outside-of-view */
|
|
4
5
|
/* eslint-disable rulesdir/no-imperative-dom-api */
|
|
5
6
|
|
|
6
7
|
import '../../ui/legacy/legacy.js';
|
|
@@ -12,10 +13,13 @@ import * as SDK from '../../core/sdk/sdk.js';
|
|
|
12
13
|
import * as Logs from '../../models/logs/logs.js';
|
|
13
14
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
14
15
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
16
|
+
import {Directives, html, render} from '../../ui/lit/lit.js';
|
|
15
17
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
16
18
|
|
|
17
19
|
import blockedURLsPaneStyles from './blockedURLsPane.css.js';
|
|
18
20
|
|
|
21
|
+
const {ref} = Directives;
|
|
22
|
+
|
|
19
23
|
const UIStrings = {
|
|
20
24
|
/**
|
|
21
25
|
* @description Text to enable blocking of network requests
|
|
@@ -70,45 +74,81 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
70
74
|
const NETWORK_REQUEST_BLOCKING_EXPLANATION_URL =
|
|
71
75
|
'https://developer.chrome.com/docs/devtools/network-request-blocking' as Platform.DevToolsPath.UrlString;
|
|
72
76
|
|
|
77
|
+
const {bindToAction} = UI.UIUtils;
|
|
78
|
+
|
|
79
|
+
interface ViewInput {
|
|
80
|
+
list: UI.ListWidget.ListWidget<SDK.NetworkManager.RequestCondition>;
|
|
81
|
+
enabled: boolean;
|
|
82
|
+
toggleEnabled: () => void;
|
|
83
|
+
addPattern: () => void;
|
|
84
|
+
}
|
|
85
|
+
type View = (input: ViewInput, output: object, target: HTMLElement) => void;
|
|
86
|
+
export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
87
|
+
render(
|
|
88
|
+
// clang-format off
|
|
89
|
+
html`
|
|
90
|
+
<style>${blockedURLsPaneStyles}</style>
|
|
91
|
+
<devtools-toolbar jslog=${VisualLogging.toolbar()}>
|
|
92
|
+
<devtools-checkbox
|
|
93
|
+
?checked=${input.enabled}
|
|
94
|
+
@click=${input.toggleEnabled}
|
|
95
|
+
.jslogContext=${'network.enable-request-blocking'}>
|
|
96
|
+
${i18nString(UIStrings.enableNetworkRequestBlocking)}
|
|
97
|
+
</devtools-checkbox>
|
|
98
|
+
<div class="toolbar-divider"></div>
|
|
99
|
+
<devtools-button ${bindToAction('network.add-network-request-blocking-pattern')}></devtools-button>
|
|
100
|
+
<devtools-button ${bindToAction('network.remove-all-network-request-blocking-patterns')}></devtools-button>
|
|
101
|
+
</devtools-toolbar>
|
|
102
|
+
<div class=empty-state ${ref(e => input.list.setEmptyPlaceholder(e ?? null))}>
|
|
103
|
+
<span class=empty-state-header>${i18nString(UIStrings.noNetworkRequestsBlocked)}</span>
|
|
104
|
+
<div class=empty-state-description>
|
|
105
|
+
<span>${i18nString(UIStrings.addPatternToBlock, {PH1: i18nString(UIStrings.addPattern)})}</span>
|
|
106
|
+
<x-link
|
|
107
|
+
href=${NETWORK_REQUEST_BLOCKING_EXPLANATION_URL}
|
|
108
|
+
tabindex=0
|
|
109
|
+
class=devtools-link
|
|
110
|
+
jslog=${VisualLogging.link().track({click: true, keydown:'Enter|Space'}).context('learn-more')}>
|
|
111
|
+
${i18nString(UIStrings.learnMore)}
|
|
112
|
+
</x-link>
|
|
113
|
+
</div>
|
|
114
|
+
<devtools-button
|
|
115
|
+
@click=${input.addPattern}
|
|
116
|
+
class=add-button
|
|
117
|
+
.jslogContext=${'network.add-network-request-blocking-pattern'}
|
|
118
|
+
aria-label=${i18nString(UIStrings.addNetworkRequestBlockingPattern)}
|
|
119
|
+
.variant=${Buttons.Button.Variant.TONAL}>
|
|
120
|
+
${i18nString(UIStrings.addPattern)}
|
|
121
|
+
</devtools-button>
|
|
122
|
+
</div>
|
|
123
|
+
<devtools-widget .widgetConfig=${UI.Widget.widgetConfig(UI.Widget.VBox)}>${input.list.element}</devtools-widget>
|
|
124
|
+
`,
|
|
125
|
+
// clang-format on
|
|
126
|
+
target);
|
|
127
|
+
};
|
|
128
|
+
|
|
73
129
|
export class BlockedURLsPane extends UI.Widget.VBox implements
|
|
74
|
-
UI.ListWidget.Delegate<SDK.NetworkManager.
|
|
130
|
+
UI.ListWidget.Delegate<SDK.NetworkManager.RequestCondition> {
|
|
75
131
|
private manager: SDK.NetworkManager.MultitargetNetworkManager;
|
|
76
|
-
private readonly
|
|
77
|
-
private
|
|
78
|
-
private readonly list: UI.ListWidget.ListWidget<SDK.NetworkManager.BlockedPattern>;
|
|
79
|
-
private editor: UI.ListWidget.Editor<SDK.NetworkManager.BlockedPattern>|null;
|
|
132
|
+
private readonly list: UI.ListWidget.ListWidget<SDK.NetworkManager.RequestCondition>;
|
|
133
|
+
private editor: UI.ListWidget.Editor<SDK.NetworkManager.RequestCondition>|null;
|
|
80
134
|
private blockedCountForUrl: Map<string, number>;
|
|
135
|
+
#view: View;
|
|
81
136
|
|
|
82
|
-
constructor() {
|
|
83
|
-
super({
|
|
137
|
+
constructor(target?: HTMLElement, view = DEFAULT_VIEW) {
|
|
138
|
+
super(target, {
|
|
84
139
|
jslog: `${VisualLogging.panel('network.blocked-urls').track({resize: true})}`,
|
|
85
140
|
useShadowDom: true,
|
|
86
141
|
});
|
|
87
|
-
this
|
|
142
|
+
this.#view = view;
|
|
88
143
|
|
|
89
144
|
this.manager = SDK.NetworkManager.MultitargetNetworkManager.instance();
|
|
90
145
|
this.manager.addEventListener(
|
|
91
146
|
SDK.NetworkManager.MultitargetNetworkManager.Events.BLOCKED_PATTERNS_CHANGED, this.update, this);
|
|
92
147
|
|
|
93
|
-
this.toolbar = this.contentElement.createChild('devtools-toolbar');
|
|
94
|
-
this.enabledCheckbox = new UI.Toolbar.ToolbarCheckbox(
|
|
95
|
-
i18nString(UIStrings.enableNetworkRequestBlocking), undefined, this.toggleEnabled.bind(this),
|
|
96
|
-
'network.enable-request-blocking');
|
|
97
|
-
this.toolbar.appendToolbarItem(this.enabledCheckbox);
|
|
98
|
-
this.toolbar.appendSeparator();
|
|
99
|
-
this.toolbar.appendToolbarItem(
|
|
100
|
-
UI.Toolbar.Toolbar.createActionButton('network.add-network-request-blocking-pattern'));
|
|
101
|
-
this.toolbar.appendToolbarItem(
|
|
102
|
-
UI.Toolbar.Toolbar.createActionButton('network.remove-all-network-request-blocking-patterns'));
|
|
103
|
-
this.toolbar.setAttribute('jslog', `${VisualLogging.toolbar()}`);
|
|
104
|
-
|
|
105
148
|
this.list = new UI.ListWidget.ListWidget(this);
|
|
106
149
|
this.list.registerRequiredCSS(blockedURLsPaneStyles);
|
|
107
150
|
this.list.element.classList.add('blocked-urls');
|
|
108
151
|
|
|
109
|
-
this.list.setEmptyPlaceholder(this.createEmptyPlaceholder());
|
|
110
|
-
this.list.show(this.contentElement);
|
|
111
|
-
|
|
112
152
|
this.editor = null;
|
|
113
153
|
|
|
114
154
|
this.blockedCountForUrl = new Map();
|
|
@@ -120,104 +160,92 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
|
|
|
120
160
|
Logs.NetworkLog.NetworkLog.instance().addEventListener(Logs.NetworkLog.Events.Reset, this.onNetworkLogReset, this);
|
|
121
161
|
}
|
|
122
162
|
|
|
123
|
-
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const addButton = UI.UIUtils.createTextButton(i18nString(UIStrings.addPattern), this.addPattern.bind(this), {
|
|
135
|
-
className: 'add-button',
|
|
136
|
-
jslogContext: 'network.add-network-request-blocking-pattern',
|
|
137
|
-
variant: Buttons.Button.Variant.TONAL,
|
|
138
|
-
});
|
|
139
|
-
UI.ARIAUtils.setLabel(addButton, i18nString(UIStrings.addNetworkRequestBlockingPattern));
|
|
140
|
-
placeholder.appendChild(addButton);
|
|
141
|
-
return placeholder;
|
|
163
|
+
override performUpdate(): void {
|
|
164
|
+
const enabled = this.manager.blockingEnabled();
|
|
165
|
+
this.list.element.classList.toggle('blocking-disabled', !enabled && Boolean(this.manager.requestConditions.count));
|
|
166
|
+
|
|
167
|
+
const input: ViewInput = {
|
|
168
|
+
addPattern: this.addPattern.bind(this),
|
|
169
|
+
toggleEnabled: this.toggleEnabled.bind(this),
|
|
170
|
+
enabled,
|
|
171
|
+
list: this.list,
|
|
172
|
+
};
|
|
173
|
+
this.#view(input, {}, this.contentElement);
|
|
142
174
|
}
|
|
143
175
|
|
|
144
176
|
addPattern(): void {
|
|
145
177
|
this.manager.setBlockingEnabled(true);
|
|
146
|
-
this.list.addNewItem(
|
|
178
|
+
this.list.addNewItem(
|
|
179
|
+
0, new SDK.NetworkManager.RequestCondition({url: Platform.DevToolsPath.EmptyUrlString, enabled: true}));
|
|
147
180
|
}
|
|
148
181
|
|
|
149
182
|
removeAllPatterns(): void {
|
|
150
|
-
this.manager.
|
|
183
|
+
this.manager.requestConditions.clear();
|
|
151
184
|
}
|
|
152
185
|
|
|
153
|
-
renderItem(
|
|
154
|
-
const count = this.blockedRequestsCount(
|
|
186
|
+
renderItem(condition: SDK.NetworkManager.RequestCondition, editable: boolean): Element {
|
|
187
|
+
const count = this.blockedRequestsCount(condition.url);
|
|
155
188
|
const element = document.createElement('div');
|
|
156
189
|
element.classList.add('blocked-url');
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
190
|
+
const toggle = (e: Event): void => {
|
|
191
|
+
if (editable) {
|
|
192
|
+
e.consume(true);
|
|
193
|
+
condition.enabled = !condition.enabled;
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
render(
|
|
197
|
+
// clang-format off
|
|
198
|
+
html`
|
|
199
|
+
<input class=blocked-url-checkbox
|
|
200
|
+
@click=${toggle}
|
|
201
|
+
type=checkbox
|
|
202
|
+
?checked=${condition.enabled}
|
|
203
|
+
?disabled=${!editable}
|
|
204
|
+
.jslog=${VisualLogging.toggle().track({ change: true })}>
|
|
205
|
+
<div @click=${toggle} class=blocked-url-label>${condition.url}</div>
|
|
206
|
+
<div class=blocked-url-count>${i18nString(UIStrings.dBlocked, {PH1: count})}</div>`,
|
|
207
|
+
// clang-format off
|
|
208
|
+
element);
|
|
168
209
|
return element;
|
|
169
210
|
}
|
|
170
211
|
|
|
171
|
-
private togglePattern(pattern: SDK.NetworkManager.BlockedPattern, event: Event): void {
|
|
172
|
-
event.consume(true);
|
|
173
|
-
const patterns = this.manager.blockedPatterns();
|
|
174
|
-
patterns.splice(patterns.indexOf(pattern), 1, {enabled: !pattern.enabled, url: pattern.url});
|
|
175
|
-
this.manager.setBlockedPatterns(patterns);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
212
|
private toggleEnabled(): void {
|
|
179
213
|
this.manager.setBlockingEnabled(!this.manager.blockingEnabled());
|
|
180
214
|
this.update();
|
|
181
215
|
}
|
|
182
216
|
|
|
183
|
-
removeItemRequested(
|
|
184
|
-
|
|
185
|
-
patterns.splice(index, 1);
|
|
186
|
-
this.manager.setBlockedPatterns(patterns);
|
|
217
|
+
removeItemRequested(condition: SDK.NetworkManager.RequestCondition): void {
|
|
218
|
+
this.manager.requestConditions.delete(condition);
|
|
187
219
|
UI.ARIAUtils.LiveAnnouncer.alert(UIStrings.itemDeleted);
|
|
188
220
|
}
|
|
189
221
|
|
|
190
|
-
beginEdit(pattern: SDK.NetworkManager.
|
|
222
|
+
beginEdit(pattern: SDK.NetworkManager.RequestCondition): UI.ListWidget.Editor<SDK.NetworkManager.RequestCondition> {
|
|
191
223
|
this.editor = this.createEditor();
|
|
192
224
|
this.editor.control('url').value = pattern.url;
|
|
193
225
|
return this.editor;
|
|
194
226
|
}
|
|
195
227
|
|
|
196
228
|
commitEdit(
|
|
197
|
-
item: SDK.NetworkManager.
|
|
229
|
+
item: SDK.NetworkManager.RequestCondition, editor: UI.ListWidget.Editor<SDK.NetworkManager.RequestCondition>,
|
|
198
230
|
isNew: boolean): void {
|
|
199
|
-
|
|
200
|
-
|
|
231
|
+
item.url =
|
|
232
|
+
editor.control('url').value as Platform.DevToolsPath.UrlString;
|
|
201
233
|
if (isNew) {
|
|
202
|
-
|
|
203
|
-
} else {
|
|
204
|
-
patterns.splice(patterns.indexOf(item), 1, {enabled: true, url});
|
|
234
|
+
this.manager.requestConditions.add(item);
|
|
205
235
|
}
|
|
206
|
-
|
|
207
|
-
this.manager.setBlockedPatterns(patterns);
|
|
208
236
|
}
|
|
209
237
|
|
|
210
|
-
private createEditor(): UI.ListWidget.Editor<SDK.NetworkManager.
|
|
238
|
+
private createEditor(): UI.ListWidget.Editor<SDK.NetworkManager.RequestCondition> {
|
|
211
239
|
if (this.editor) {
|
|
212
240
|
return this.editor;
|
|
213
241
|
}
|
|
214
242
|
|
|
215
|
-
const editor = new UI.ListWidget.Editor<SDK.NetworkManager.
|
|
243
|
+
const editor = new UI.ListWidget.Editor<SDK.NetworkManager.RequestCondition>();
|
|
216
244
|
const content = editor.contentElement();
|
|
217
245
|
const titles = content.createChild('div', 'blocked-url-edit-row');
|
|
218
246
|
titles.createChild('div').textContent = i18nString(UIStrings.textPatternToBlockMatching);
|
|
219
247
|
const fields = content.createChild('div', 'blocked-url-edit-row');
|
|
220
|
-
const validator = (_item: SDK.NetworkManager.
|
|
248
|
+
const validator = (_item: SDK.NetworkManager.RequestCondition, _index: number, input: UI.ListWidget.EditorControl): {
|
|
221
249
|
valid: boolean,
|
|
222
250
|
errorMessage: Common.UIString.LocalizedString|undefined,
|
|
223
251
|
} => {
|
|
@@ -226,7 +254,7 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
|
|
|
226
254
|
if (!input.value) {
|
|
227
255
|
errorMessage = i18nString(UIStrings.patternInputCannotBeEmpty);
|
|
228
256
|
valid = false;
|
|
229
|
-
} else if (this.manager.
|
|
257
|
+
} else if (this.manager.requestConditions.has(input.value)) {
|
|
230
258
|
errorMessage = i18nString(UIStrings.patternAlreadyExists);
|
|
231
259
|
valid = false;
|
|
232
260
|
}
|
|
@@ -239,13 +267,11 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
|
|
|
239
267
|
|
|
240
268
|
update(): void {
|
|
241
269
|
const enabled = this.manager.blockingEnabled();
|
|
242
|
-
this.list.element.classList.toggle('blocking-disabled', !enabled && Boolean(this.manager.blockedPatterns().length));
|
|
243
|
-
|
|
244
|
-
this.enabledCheckbox.setChecked(enabled);
|
|
245
270
|
this.list.clear();
|
|
246
|
-
for (const pattern of this.manager.
|
|
271
|
+
for (const pattern of this.manager.requestConditions.conditions) {
|
|
247
272
|
this.list.appendItem(pattern, enabled);
|
|
248
273
|
}
|
|
274
|
+
this.requestUpdate();
|
|
249
275
|
}
|
|
250
276
|
|
|
251
277
|
private blockedRequestsCount(url: string): number {
|
|
@@ -268,6 +268,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
|
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
override willHide(): void {
|
|
271
|
+
super.willHide();
|
|
271
272
|
this.#request.removeEventListener(
|
|
272
273
|
SDK.NetworkRequest.Events.REQUEST_HEADERS_CHANGED, this.requestHeadersChanged, this);
|
|
273
274
|
this.#request.removeEventListener(
|
|
@@ -1390,6 +1390,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
|
1390
1390
|
}
|
|
1391
1391
|
|
|
1392
1392
|
override willHide(): void {
|
|
1393
|
+
super.willHide();
|
|
1393
1394
|
this.columnsInternal.willHide();
|
|
1394
1395
|
}
|
|
1395
1396
|
|
|
@@ -1847,23 +1848,24 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
|
1847
1848
|
if (request) {
|
|
1848
1849
|
const maxBlockedURLLength = 20;
|
|
1849
1850
|
const manager = SDK.NetworkManager.MultitargetNetworkManager.instance();
|
|
1850
|
-
let patterns = manager.blockedPatterns();
|
|
1851
1851
|
|
|
1852
1852
|
function addBlockedURL(url: string): void {
|
|
1853
|
-
|
|
1854
|
-
|
|
1853
|
+
manager.requestConditions.add(
|
|
1854
|
+
new SDK.NetworkManager.RequestCondition({enabled: true, url: url as Platform.DevToolsPath.UrlString}));
|
|
1855
1855
|
manager.setBlockingEnabled(true);
|
|
1856
1856
|
void UI.ViewManager.ViewManager.instance().showView('network.blocked-urls');
|
|
1857
1857
|
}
|
|
1858
1858
|
|
|
1859
1859
|
function removeBlockedURL(url: string): void {
|
|
1860
|
-
|
|
1861
|
-
|
|
1860
|
+
const entry = manager.requestConditions.conditions.find(condition => condition.url === url);
|
|
1861
|
+
if (entry) {
|
|
1862
|
+
manager.requestConditions.delete(entry);
|
|
1863
|
+
}
|
|
1862
1864
|
void UI.ViewManager.ViewManager.instance().showView('network.blocked-urls');
|
|
1863
1865
|
}
|
|
1864
1866
|
|
|
1865
1867
|
const urlWithoutScheme = request.parsedURL.urlWithoutScheme();
|
|
1866
|
-
if (urlWithoutScheme && !
|
|
1868
|
+
if (urlWithoutScheme && !manager.requestConditions.has(urlWithoutScheme)) {
|
|
1867
1869
|
contextMenu.debugSection().appendItem(
|
|
1868
1870
|
i18nString(UIStrings.blockRequestUrl), addBlockedURL.bind(null, urlWithoutScheme),
|
|
1869
1871
|
{jslogContext: 'block-request-url'});
|
|
@@ -1875,7 +1877,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
|
1875
1877
|
}
|
|
1876
1878
|
|
|
1877
1879
|
const domain = request.parsedURL.domain();
|
|
1878
|
-
if (domain && !
|
|
1880
|
+
if (domain && !manager.requestConditions.has(domain)) {
|
|
1879
1881
|
contextMenu.debugSection().appendItem(
|
|
1880
1882
|
i18nString(UIStrings.blockRequestDomain), addBlockedURL.bind(null, domain),
|
|
1881
1883
|
{jslogContext: 'block-request-domain'});
|
|
@@ -317,6 +317,7 @@ export class RequestCookiesView extends UI.Widget.Widget {
|
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
override willHide(): void {
|
|
320
|
+
super.willHide();
|
|
320
321
|
this.request.removeEventListener(
|
|
321
322
|
SDK.NetworkRequest.Events.REQUEST_HEADERS_CHANGED, this.refreshRequestCookiesView, this);
|
|
322
323
|
this.request.removeEventListener(
|
|
@@ -56,7 +56,7 @@ export const DEFAULT_VIEW: View = (input: ViewInput, output: ViewOutput, target:
|
|
|
56
56
|
i18nString(UIStrings.failedToLoadResponseData), (input.contentData as {error: string}).error,
|
|
57
57
|
element))}></devtools-widget>`;
|
|
58
58
|
// clang-format on
|
|
59
|
-
} else if (input.request.statusCode === 204) {
|
|
59
|
+
} else if (input.request.statusCode === 204 || input.request.failed) {
|
|
60
60
|
// clang-format off
|
|
61
61
|
widget = html`<devtools-widget
|
|
62
62
|
.widgetConfig=${widgetConfig(element => new UI.EmptyWidget.EmptyWidget(
|
|
@@ -94,6 +94,7 @@ export class RequestResponseView extends UI.Widget.VBox {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
override wasShown(): void {
|
|
97
|
+
super.wasShown();
|
|
97
98
|
this.requestUpdate();
|
|
98
99
|
}
|
|
99
100
|
|
|
@@ -634,6 +634,7 @@ export class RequestTimingView extends UI.Widget.VBox {
|
|
|
634
634
|
}
|
|
635
635
|
|
|
636
636
|
override wasShown(): void {
|
|
637
|
+
super.wasShown();
|
|
637
638
|
this.request.addEventListener(SDK.NetworkRequest.Events.TIMING_CHANGED, this.refresh, this);
|
|
638
639
|
this.request.addEventListener(SDK.NetworkRequest.Events.FINISHED_LOADING, this.refresh, this);
|
|
639
640
|
this.calculator.addEventListener(NetworkTimeCalculator.Events.BOUNDARIES_CHANGED, this.boundaryChanged, this);
|
|
@@ -641,6 +642,7 @@ export class RequestTimingView extends UI.Widget.VBox {
|
|
|
641
642
|
}
|
|
642
643
|
|
|
643
644
|
override willHide(): void {
|
|
645
|
+
super.willHide();
|
|
644
646
|
this.request.removeEventListener(SDK.NetworkRequest.Events.TIMING_CHANGED, this.refresh, this);
|
|
645
647
|
this.request.removeEventListener(SDK.NetworkRequest.Events.FINISHED_LOADING, this.refresh, this);
|
|
646
648
|
this.calculator.removeEventListener(NetworkTimeCalculator.Events.BOUNDARIES_CHANGED, this.boundaryChanged, this);
|
|
@@ -79,6 +79,7 @@ export class ResourceDirectSocketChunkView extends ResourceChunkView<SDK.Network
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
override willHide(): void {
|
|
82
|
+
super.willHide();
|
|
82
83
|
this.request.removeEventListener(
|
|
83
84
|
SDK.NetworkRequest.Events.DIRECTSOCKET_CHUNK_ADDED, this.onDirectSocketChunkAdded, this);
|
|
84
85
|
}
|
|
@@ -120,6 +120,7 @@ export class ResourceWebSocketFrameView extends ResourceChunkView<SDK.NetworkReq
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
override willHide(): void {
|
|
123
|
+
super.willHide();
|
|
123
124
|
this.request.removeEventListener(SDK.NetworkRequest.Events.WEBSOCKET_FRAME_ADDED, this.onWebSocketFrameAdded, this);
|
|
124
125
|
}
|
|
125
126
|
|
|
@@ -127,6 +127,7 @@ export class RequestHeadersView extends LegacyWrapper.LegacyWrapper.WrappableCom
|
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
override wasShown(): void {
|
|
130
|
+
super.wasShown();
|
|
130
131
|
this.#request.addEventListener(SDK.NetworkRequest.Events.REMOTE_ADDRESS_CHANGED, this.#refreshHeadersView, this);
|
|
131
132
|
this.#request.addEventListener(SDK.NetworkRequest.Events.FINISHED_LOADING, this.#refreshHeadersView, this);
|
|
132
133
|
this.#request.addEventListener(SDK.NetworkRequest.Events.REQUEST_HEADERS_CHANGED, this.#refreshHeadersView, this);
|
|
@@ -137,6 +138,7 @@ export class RequestHeadersView extends LegacyWrapper.LegacyWrapper.WrappableCom
|
|
|
137
138
|
}
|
|
138
139
|
|
|
139
140
|
override willHide(): void {
|
|
141
|
+
super.willHide();
|
|
140
142
|
this.#request.removeEventListener(SDK.NetworkRequest.Events.REMOTE_ADDRESS_CHANGED, this.#refreshHeadersView, this);
|
|
141
143
|
this.#request.removeEventListener(SDK.NetworkRequest.Events.FINISHED_LOADING, this.#refreshHeadersView, this);
|
|
142
144
|
this.#request.removeEventListener(
|
|
@@ -112,11 +112,13 @@ export class RequestTrustTokensView extends LegacyWrapper.LegacyWrapper.Wrappabl
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
override wasShown(): void {
|
|
115
|
+
super.wasShown();
|
|
115
116
|
this.#request.addEventListener(SDK.NetworkRequest.Events.TRUST_TOKEN_RESULT_ADDED, this.render, this);
|
|
116
117
|
void this.render();
|
|
117
118
|
}
|
|
118
119
|
|
|
119
120
|
override willHide(): void {
|
|
121
|
+
super.willHide();
|
|
120
122
|
this.#request.removeEventListener(SDK.NetworkRequest.Events.TRUST_TOKEN_RESULT_ADDED, this.render, this);
|
|
121
123
|
}
|
|
122
124
|
|
|
@@ -157,6 +157,7 @@ export class PerformanceMonitorImpl extends UI.Widget.HBox implements
|
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
override wasShown(): void {
|
|
160
|
+
super.wasShown();
|
|
160
161
|
if (!this.model) {
|
|
161
162
|
return;
|
|
162
163
|
}
|
|
@@ -176,6 +177,7 @@ export class PerformanceMonitorImpl extends UI.Widget.HBox implements
|
|
|
176
177
|
}
|
|
177
178
|
|
|
178
179
|
override willHide(): void {
|
|
180
|
+
super.willHide();
|
|
179
181
|
if (!this.model) {
|
|
180
182
|
return;
|
|
181
183
|
}
|
|
@@ -212,6 +212,7 @@ export class HeapSnapshotSortableDataGrid extends Common.ObjectWrapper
|
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
override wasShown(): void {
|
|
215
|
+
super.wasShown();
|
|
215
216
|
if (this.nameFilter) {
|
|
216
217
|
this.nameFilter.addEventListener(UI.Toolbar.ToolbarInput.Event.TEXT_CHANGED, this.onNameFilterChanged, this);
|
|
217
218
|
this.updateVisibleNodes(true);
|
|
@@ -228,6 +229,7 @@ export class HeapSnapshotSortableDataGrid extends Common.ObjectWrapper
|
|
|
228
229
|
}
|
|
229
230
|
|
|
230
231
|
override willHide(): void {
|
|
232
|
+
super.willHide();
|
|
231
233
|
if (this.nameFilter) {
|
|
232
234
|
this.nameFilter.removeEventListener(UI.Toolbar.ToolbarInput.Event.TEXT_CHANGED, this.onNameFilterChanged, this);
|
|
233
235
|
}
|
|
@@ -143,6 +143,11 @@ const UIStrings = {
|
|
|
143
143
|
* objects kept alive by the DevTools console
|
|
144
144
|
*/
|
|
145
145
|
objectsRetainedByConsole: 'Objects retained by DevTools Console',
|
|
146
|
+
/**
|
|
147
|
+
* @description An option which will filter the heap snapshot to show only
|
|
148
|
+
* objects retained by event handlers
|
|
149
|
+
*/
|
|
150
|
+
objectsRetainedByEventHandlers: 'Objects retained by Event Handlers',
|
|
146
151
|
/**
|
|
147
152
|
* @description Text for the summary view
|
|
148
153
|
*/
|
|
@@ -624,6 +629,7 @@ export class HeapSnapshotView extends UI.View.SimpleView implements DataDisplayD
|
|
|
624
629
|
}
|
|
625
630
|
|
|
626
631
|
override willHide(): void {
|
|
632
|
+
super.willHide();
|
|
627
633
|
this.currentSearchResultIndex = -1;
|
|
628
634
|
this.popoverHelper.hidePopover();
|
|
629
635
|
}
|
|
@@ -771,6 +777,7 @@ export class HeapSnapshotView extends UI.View.SimpleView implements DataDisplayD
|
|
|
771
777
|
{uiName: i18nString(UIStrings.duplicatedStrings), filterName: 'duplicatedStrings'},
|
|
772
778
|
{uiName: i18nString(UIStrings.objectsRetainedByDetachedDomNodes), filterName: 'objectsRetainedByDetachedDomNodes'},
|
|
773
779
|
{uiName: i18nString(UIStrings.objectsRetainedByConsole), filterName: 'objectsRetainedByConsole'},
|
|
780
|
+
{uiName: i18nString(UIStrings.objectsRetainedByEventHandlers), filterName: 'objectsRetainedByEventHandlers'},
|
|
774
781
|
];
|
|
775
782
|
|
|
776
783
|
changeFilter(): void {
|
|
@@ -102,6 +102,7 @@ export class IsolateSelector extends UI.Widget.VBox implements UI.ListControl.Li
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
override willHide(): void {
|
|
105
|
+
super.willHide();
|
|
105
106
|
SDK.IsolateManager.IsolateManager.instance().removeEventListener(
|
|
106
107
|
SDK.IsolateManager.Events.MEMORY_CHANGED, this.heapStatsChanged, this);
|
|
107
108
|
}
|
|
@@ -36,12 +36,14 @@ export class RecorderPanel extends UI.Panel.Panel {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
override wasShown(): void {
|
|
39
|
+
super.wasShown();
|
|
39
40
|
UI.Context.Context.instance().setFlavor(RecorderPanel, this);
|
|
40
41
|
// Focus controller so shortcuts become active
|
|
41
42
|
this.#controller.focus();
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
override willHide(): void {
|
|
46
|
+
super.willHide();
|
|
45
47
|
UI.Context.Context.instance().setFlavor(RecorderPanel, null);
|
|
46
48
|
}
|
|
47
49
|
|