chrome-devtools-frontend 1.0.1587905 → 1.0.1589336

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.
Files changed (151) hide show
  1. package/docs/ui_engineering.md +2 -2
  2. package/front_end/core/common/AppProvider.ts +1 -2
  3. package/front_end/core/common/Color.ts +19 -20
  4. package/front_end/core/common/ParsedURL.ts +3 -3
  5. package/front_end/core/common/Progress.ts +5 -5
  6. package/front_end/core/common/Settings.ts +2 -2
  7. package/front_end/core/dom_extension/DOMExtension.ts +1 -1
  8. package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -1
  9. package/front_end/core/host/InspectorFrontendHostStub.ts +1 -11
  10. package/front_end/core/host/UserMetrics.ts +1 -1
  11. package/front_end/core/protocol_client/DevToolsCDPConnection.ts +2 -2
  12. package/front_end/core/sdk/CSSMatchedStyles.ts +1 -1
  13. package/front_end/core/sdk/CSSProperty.ts +38 -0
  14. package/front_end/core/sdk/CSSRule.ts +4 -9
  15. package/front_end/core/sdk/ChildTargetManager.ts +1 -1
  16. package/front_end/core/sdk/CookieModel.ts +0 -1
  17. package/front_end/core/sdk/DOMModel.ts +42 -6
  18. package/front_end/core/sdk/EmulationModel.ts +3 -3
  19. package/front_end/core/sdk/NetworkRequest.ts +1 -1
  20. package/front_end/core/sdk/PageResourceLoader.ts +11 -6
  21. package/front_end/core/sdk/PerformanceMetricsModel.ts +2 -2
  22. package/front_end/core/sdk/PreloadingModel.ts +15 -6
  23. package/front_end/core/sdk/ResourceTreeModel.ts +2 -6
  24. package/front_end/core/sdk/SourceMap.ts +2 -3
  25. package/front_end/core/sdk/SourceMapManager.ts +1 -2
  26. package/front_end/entrypoint_template.html +1 -1
  27. package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +6 -16
  28. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.ts +4 -2
  29. package/front_end/entrypoints/main/main-meta.ts +0 -3
  30. package/front_end/entrypoints/node_app/app/NodeConnectionsPanel.ts +0 -2
  31. package/front_end/generated/InspectorBackendCommands.ts +6 -4
  32. package/front_end/generated/SupportedCSSProperties.js +46 -0
  33. package/front_end/generated/protocol-mapping.d.ts +4 -0
  34. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  35. package/front_end/generated/protocol.ts +50 -0
  36. package/front_end/models/ai_assistance/AiConversation.ts +20 -0
  37. package/front_end/models/ai_assistance/agents/AiAgent.ts +7 -1
  38. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.snapshot.txt +2 -2
  39. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +28 -26
  40. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +3 -5
  41. package/front_end/models/computed_style/ComputedStyleModel.ts +2 -1
  42. package/front_end/models/emulation/DeviceModeModel.ts +0 -3
  43. package/front_end/models/emulation/EmulatedDevices.ts +0 -2
  44. package/front_end/models/extensions/ExtensionAPI.ts +2 -2
  45. package/front_end/models/har/Importer.ts +0 -1
  46. package/front_end/models/har/Log.ts +2 -11
  47. package/front_end/models/javascript_metadata/NativeFunctions.js +5 -21
  48. package/front_end/models/logs/NetworkLog.ts +0 -2
  49. package/front_end/models/network_time_calculator/NetworkTimeCalculator.ts +4 -1
  50. package/front_end/models/text_utils/TextUtils.ts +0 -9
  51. package/front_end/models/trace/LanternComputationData.ts +1 -6
  52. package/front_end/models/trace/helpers/Trace.ts +1 -4
  53. package/front_end/models/trace/lantern/types/Lantern.ts +6 -6
  54. package/front_end/panels/accessibility/AccessibilityNodeView.ts +7 -6
  55. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +15 -26
  56. package/front_end/panels/application/BackgroundServiceView.ts +0 -2
  57. package/front_end/panels/application/DeviceBoundSessionsModel.ts +0 -1
  58. package/front_end/panels/application/IndexedDBViews.ts +19 -23
  59. package/front_end/panels/application/OriginTrialTreeView.ts +3 -3
  60. package/front_end/panels/application/components/BackForwardCacheView.ts +1 -1
  61. package/front_end/panels/application/preloading/PreloadingView.ts +18 -0
  62. package/front_end/panels/application/preloading/components/RuleSetDetailsView.css +12 -0
  63. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +3 -3
  64. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +3 -4
  65. package/front_end/panels/common/AiCodeGenerationTeaser.ts +76 -19
  66. package/front_end/panels/common/aiCodeGenerationTeaser.css +11 -0
  67. package/front_end/panels/console/ConsoleSidebar.ts +1 -1
  68. package/front_end/panels/console/ConsoleView.ts +4 -0
  69. package/front_end/panels/console/ConsoleViewMessage.ts +3 -3
  70. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +1 -1
  71. package/front_end/panels/elements/ComputedStyleWidget.ts +32 -32
  72. package/front_end/panels/elements/ElementsPanel.ts +12 -4
  73. package/front_end/panels/elements/ElementsTreeElement.ts +9 -1
  74. package/front_end/panels/elements/ImagePreviewPopover.ts +0 -2
  75. package/front_end/panels/elements/MarkerDecorator.ts +0 -2
  76. package/front_end/panels/elements/PropertiesWidget.ts +62 -61
  77. package/front_end/panels/elements/StylePropertiesSection.ts +32 -3
  78. package/front_end/panels/elements/StylePropertyTreeElement.ts +15 -20
  79. package/front_end/panels/elements/StylesSidebarPane.ts +25 -90
  80. package/front_end/panels/elements/elementsPanel.css +6 -2
  81. package/front_end/panels/emulation/emulation-meta.ts +0 -2
  82. package/front_end/panels/event_listeners/EventListenersUtils.ts +0 -1
  83. package/front_end/panels/lighthouse/LighthouseController.ts +0 -5
  84. package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +1 -3
  85. package/front_end/panels/media/EventDisplayTable.ts +0 -2
  86. package/front_end/panels/media/PlayerMessagesView.ts +4 -6
  87. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +18 -6
  88. package/front_end/panels/network/EventSourceMessagesView.ts +0 -2
  89. package/front_end/panels/network/NetworkLogViewColumns.ts +0 -2
  90. package/front_end/panels/network/NetworkManageCustomHeadersView.ts +3 -1
  91. package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -2
  92. package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
  93. package/front_end/panels/network/RequestHeadersView.ts +113 -128
  94. package/front_end/panels/network/RequestInitiatorView.ts +74 -69
  95. package/front_end/panels/network/RequestPayloadView.ts +6 -3
  96. package/front_end/panels/network/ResourceChunkView.ts +0 -2
  97. package/front_end/panels/network/components/ResponseHeaderSection.ts +3 -1
  98. package/front_end/panels/network/network-meta.ts +0 -2
  99. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +1 -9
  100. package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +0 -2
  101. package/front_end/panels/profiler/LiveHeapProfileView.ts +0 -12
  102. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +14 -1
  103. package/front_end/panels/profiler/ProfileView.ts +0 -35
  104. package/front_end/panels/profiler/profiler-meta.ts +0 -1
  105. package/front_end/panels/recorder/components/StepView.ts +0 -1
  106. package/front_end/panels/screencast/ScreencastView.ts +2 -2
  107. package/front_end/panels/search/SearchResultsPane.ts +3 -2
  108. package/front_end/panels/security/SecurityPanel.ts +0 -1
  109. package/front_end/panels/sensors/LocationsSettingsTab.ts +27 -9
  110. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +1 -1
  111. package/front_end/panels/settings/SettingsScreen.ts +1 -2
  112. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +2 -2
  113. package/front_end/panels/settings/emulation/utils/UserAgentMetadata.ts +1 -1
  114. package/front_end/panels/settings/settings-meta.ts +0 -3
  115. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +6 -0
  116. package/front_end/panels/sources/CSSPlugin.ts +1 -1
  117. package/front_end/panels/sources/DebuggerPlugin.ts +1 -5
  118. package/front_end/panels/sources/sources-meta.ts +0 -9
  119. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +1 -1
  120. package/front_end/panels/timeline/ThirdPartyTreeView.ts +5 -2
  121. package/front_end/panels/timeline/TimelinePanel.ts +0 -7
  122. package/front_end/panels/timeline/TimelineTreeView.ts +8 -10
  123. package/front_end/panels/timeline/TimelineUIUtils.ts +11 -3
  124. package/front_end/panels/timeline/components/IgnoreListSetting.ts +1 -1
  125. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +0 -1
  126. package/front_end/panels/timeline/utils/Treemap.ts +0 -4
  127. package/front_end/panels/whats_new/whats_new-meta.ts +0 -2
  128. package/front_end/third_party/chromium/README.chromium +1 -1
  129. package/front_end/ui/components/highlighting/HighlightManager.ts +1 -2
  130. package/front_end/ui/components/highlighting/MarkupHighlight.ts +1 -12
  131. package/front_end/ui/components/icon_button/IconButton.ts +2 -2
  132. package/front_end/ui/components/issue_counter/IssueCounter.ts +6 -6
  133. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +4 -0
  134. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +11 -6
  135. package/front_end/ui/legacy/ContextMenu.ts +1 -17
  136. package/front_end/ui/legacy/EmptyWidget.ts +4 -4
  137. package/front_end/ui/legacy/Fragment.ts +2 -4
  138. package/front_end/ui/legacy/SoftContextMenu.ts +1 -15
  139. package/front_end/ui/legacy/TabbedPane.ts +2 -2
  140. package/front_end/ui/legacy/Treeoutline.ts +16 -9
  141. package/front_end/ui/legacy/UIUtils.ts +1 -4
  142. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +6 -3
  143. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +32 -28
  144. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +31 -6
  145. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +0 -2
  146. package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +0 -1
  147. package/front_end/ui/legacy/components/quick_open/quick_open-meta.ts +0 -2
  148. package/front_end/ui/legacy/components/source_frame/XMLView.ts +3 -2
  149. package/front_end/ui/legacy/components/utils/ImagePreview.ts +3 -3
  150. package/front_end/ui/visual_logging/KnownContextValues.ts +8 -0
  151. package/package.json +1 -1
@@ -10,13 +10,12 @@ import * as Logs from '../../models/logs/logs.js';
10
10
  import type * as StackTrace from '../../models/stack_trace/stack_trace.js';
11
11
  import * as Components from '../../ui/legacy/components/utils/utils.js';
12
12
  import * as UI from '../../ui/legacy/legacy.js';
13
- import * as Lit from '../../ui/lit/lit.js';
13
+ import {html, type LitTemplate, nothing, render, type TemplateResult} from '../../ui/lit/lit.js';
14
14
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
15
15
 
16
16
  import requestInitiatorViewStyles from './requestInitiatorView.css.js';
17
17
  import requestInitiatorViewTreeStyles from './requestInitiatorViewTree.css.js';
18
18
 
19
- const {html, render, nothing} = Lit;
20
19
  const {widgetConfig} = UI.Widget;
21
20
 
22
21
  const UIStrings = {
@@ -56,12 +55,12 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: undefined, target: HTMLE
56
55
  return;
57
56
  }
58
57
 
59
- const renderStackTraceSection = (): Lit.TemplateResult => {
58
+ const renderStackTraceSection = (): TemplateResult => {
60
59
  if (!input.stackTrace) {
61
60
  return html`${nothing}`;
62
61
  }
63
62
  return html`
64
- <li role="treeitem" class="request-initiator-view-section-title" aria-expanded="true">
63
+ <li role="treeitem" class="request-initiator-view-section-title" aria-expanded="true" open>
65
64
  ${i18nString(UIStrings.requestCallStack)}
66
65
  <ul role="group">
67
66
  <li role="treeitem">
@@ -75,87 +74,93 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: undefined, target: HTMLE
75
74
  `;
76
75
  };
77
76
 
78
- const renderInitiatorNodes = (initiators: SDK.NetworkRequest.NetworkRequest[], index: number,
79
- initiated: Map<SDK.NetworkRequest.NetworkRequest, SDK.NetworkRequest.NetworkRequest>,
80
- visited: Set<SDK.NetworkRequest.NetworkRequest>): Lit.TemplateResult => {
81
- if (index >= initiators.length) {
82
- return html`${nothing}`;
83
- }
84
- const request = initiators[index];
85
- const isCurrentRequest = (index === initiators.length - 1);
86
-
87
- return html`
88
- <li role="treeitem" ?selected=${isCurrentRequest} aria-expanded="true">
89
- <span style=${isCurrentRequest ? 'font-weight: bold' : ''}>${request.url()}</span>
90
- <ul role="group">
91
- ${renderInitiatorNodes(initiators, index + 1, initiated, visited)}
92
- ${isCurrentRequest ? renderInitiatedNodes(initiated, request, visited) : nothing}
93
- </ul>
94
- </li>
95
- `;
96
- };
97
-
98
- const renderInitiatedNodes = (initiated: Map<SDK.NetworkRequest.NetworkRequest, SDK.NetworkRequest.NetworkRequest>,
99
- parentRequest: SDK.NetworkRequest.NetworkRequest,
100
- visited: Set<SDK.NetworkRequest.NetworkRequest>): Lit.TemplateResult => {
101
- const children = [];
102
- for (const [request, initiator] of initiated) {
103
- if (initiator === parentRequest) {
104
- children.push(request);
105
- }
106
- }
107
- if (children.length === 0) {
108
- return html`${nothing}`;
109
- }
110
- return html`
77
+ const renderInitiatorNodes =
78
+ (initiators: SDK.NetworkRequest.NetworkRequest[], index: number,
79
+ initiated: Map<SDK.NetworkRequest.NetworkRequest, SDK.NetworkRequest.NetworkRequest>,
80
+ visited: Set<SDK.NetworkRequest.NetworkRequest>): TemplateResult => {
81
+ if (index >= initiators.length) {
82
+ return html`${nothing}`;
83
+ }
84
+ const request = initiators[index];
85
+ const isCurrentRequest = (index === initiators.length - 1);
86
+ const hasFurtherInitiatedNodes = index + 1 < initiators.length;
87
+
88
+ // clang-format off
89
+ return html`
90
+ <li role="treeitem" ?selected=${isCurrentRequest} aria-expanded="true" open>
91
+ <span style=${isCurrentRequest ? 'font-weight: bold' : ''}>${request.url()}</span>
92
+ ${hasFurtherInitiatedNodes || isCurrentRequest ? html`
93
+ <ul role="group">
94
+ ${renderInitiatorNodes(initiators, index + 1, initiated, visited)}
95
+ ${isCurrentRequest ? renderInitiatedNodes(initiated, request, visited) : nothing}
96
+ </ul>` : nothing}
97
+ </li>`;
98
+ // clang-format on
99
+ };
100
+
101
+ const renderInitiatedNodes =
102
+ (initiated: Map<SDK.NetworkRequest.NetworkRequest, SDK.NetworkRequest.NetworkRequest>,
103
+ parentRequest: SDK.NetworkRequest.NetworkRequest,
104
+ visited: Set<SDK.NetworkRequest.NetworkRequest>): LitTemplate => {
105
+ const children = [];
106
+ for (const [request, initiator] of initiated) {
107
+ if (initiator === parentRequest) {
108
+ children.push(request);
109
+ }
110
+ }
111
+ if (children.length === 0) {
112
+ return nothing;
113
+ }
114
+ return html`
111
115
  ${children.map(child => {
112
- const shouldRecurse = !visited.has(child);
113
- if (shouldRecurse) {
114
- visited.add(child);
115
- }
116
- return html`
117
- <li role="treeitem" aria-expanded="true">
116
+ const shouldRecurse = !visited.has(child);
117
+ if (shouldRecurse) {
118
+ visited.add(child);
119
+ }
120
+ const renderedChildren = shouldRecurse ? renderInitiatedNodes(initiated, child, visited) : nothing;
121
+ return html`
122
+ <li role="treeitem" aria-expanded="true" open>
118
123
  <span>${child.url()}</span>
119
- ${shouldRecurse ? html`<ul>${renderInitiatedNodes(initiated, child, visited)}</ul>` : nothing}
124
+ ${renderedChildren !== nothing ? html`<ul role="group">${renderedChildren}</ul>` : nothing}
120
125
  </li>
121
126
  `;
122
- })}
127
+ })}
123
128
  `;
124
- };
129
+ };
125
130
 
126
- const renderInitiatorChain = (initiatorGraph: Logs.NetworkLog.InitiatorGraph): Lit.TemplateResult => {
131
+ const renderInitiatorChain = (initiatorGraph: Logs.NetworkLog.InitiatorGraph): TemplateResult => {
127
132
  const initiators = Array.from(initiatorGraph.initiators).reverse();
128
133
  const visited = new Set<SDK.NetworkRequest.NetworkRequest>();
129
134
  visited.add(input.request);
135
+ const hasInitiatorChain = initiators.length > 0;
136
+ // clang-format off
130
137
  return html`
131
- <li role="treeitem" class="request-initiator-view-section-title" aria-expanded="true">
138
+ <li role="treeitem" class="request-initiator-view-section-title" aria-expanded="true" open>
132
139
  ${i18nString(UIStrings.requestInitiatorChain)}
133
- <ul role="group">
134
- ${renderInitiatorNodes(initiators, 0, initiatorGraph.initiated, visited)}
135
- </ul>
136
- </li>
137
- `;
140
+ ${hasInitiatorChain ? html`
141
+ <ul role="group">
142
+ ${renderInitiatorNodes(initiators, 0, initiatorGraph.initiated, visited)}
143
+ </ul>` : nothing}
144
+ </li>`;
145
+ // clang-format on
138
146
  };
139
147
 
140
- render(
141
- html`
148
+ const hasInitiatorChain = input.initiatorGraph.initiators.size > 1 || input.initiatorGraph.initiated.size > 1;
149
+
150
+ // clang-format off
151
+ render(html`
142
152
  <div class="request-initiator-view-tree" jslog=${VisualLogging.tree('initiator-tree')}>
143
- <devtools-tree .template=${
144
- html`
145
- <style>
146
- ${requestInitiatorViewTreeStyles}
147
- </style>
148
- <ul role="tree">
149
- ${renderStackTraceSection()}
150
- ${
151
- (input.initiatorGraph.initiators.size > 1 || input.initiatorGraph.initiated.size > 1) ?
152
- renderInitiatorChain(input.initiatorGraph) :
153
- Lit.nothing}
154
- </ul>
153
+ <devtools-tree .template=${html`
154
+ <style>${requestInitiatorViewTreeStyles}</style>
155
+ ${input.stackTrace || hasInitiatorChain ? html`
156
+ <ul role="tree">
157
+ ${renderStackTraceSection()}
158
+ ${hasInitiatorChain ? renderInitiatorChain(input.initiatorGraph) : nothing}
159
+ </ul>` : nothing}
155
160
  `}></devtools-tree>
156
161
  </div>
157
- `,
158
- target);
162
+ `, target);
163
+ // clang-format on
159
164
  };
160
165
 
161
166
  type View = typeof DEFAULT_VIEW;
@@ -225,6 +225,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
225
225
  @contextmenu=${onContextMenu(input.viewQueryParamSource, input.setViewQueryParamSource)}
226
226
  @expanded=${(e: UI.TreeOutline.TreeViewElement.ExpandEvent) =>
227
227
  queryStringExpandedSetting.set(e.detail.expanded)}
228
+ ?open=${queryStringExpandedSetting.get()}
228
229
  >
229
230
  <div class="selection fill"></div>${i18nString(UIStrings.queryStringParameters)}<span
230
231
  class=payload-count>${`\xA0(${input.queryParameters?.length ?? 0})`}</span>${
@@ -237,7 +238,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
237
238
  @click=${toggleURLDecoding}>
238
239
  ${input.decodeRequestParameters ? i18nString(UIStrings.viewUrlEncoded) : i18nString(UIStrings.viewDecoded)}
239
240
  </devtools-button>
240
- <ul role=group ?hidden=${!queryStringExpandedSetting.get()}>
241
+ <ul role=group>
241
242
  ${input.viewQueryParamSource ? createSourceText(input.queryString ?? '')
242
243
  : createParsedParams(input.queryParameters ?? [])}
243
244
  </ul>
@@ -248,6 +249,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
248
249
  jslog=${VisualLogging.section().context('form-data')}
249
250
  @contextmenu=${onContextMenu(input.viewFormParamSource, input.setViewFormParamSource)}
250
251
  @expanded=${(e: UI.TreeOutline.TreeViewElement.ExpandEvent) => formDataExpandedSetting.set(e.detail.expanded)}
252
+ ?open=${formDataExpandedSetting.get()}
251
253
  >
252
254
  <div class="selection fill"></div>${i18nString(UIStrings.formData)}<span
253
255
  class=payload-count>${`\xA0(${input.formParameters?.length ?? 0})`}</span>${
@@ -260,7 +262,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
260
262
  @click=${toggleURLDecoding}>
261
263
  ${input.decodeRequestParameters ? i18nString(UIStrings.viewUrlEncoded) : i18nString(UIStrings.viewDecoded)}
262
264
  </devtools-button>
263
- <ul role=group ?hidden=${!formDataExpandedSetting.get()}>>
265
+ <ul role=group>
264
266
  ${input.viewFormParamSource ? createSourceText(input.formData ?? '')
265
267
  : createParsedParams(input.formParameters ?? [])}
266
268
  </ul>
@@ -273,10 +275,11 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
273
275
  /* includeURLDecodingOption*/ false)}
274
276
  @expanded=${(e: UI.TreeOutline.TreeViewElement.ExpandEvent) =>
275
277
  requestPayloadExpandedSetting.set(e.detail.expanded)}
278
+ ?open=${requestPayloadExpandedSetting.get()}
276
279
  >
277
280
  <div class="selection fill"></div>${i18nString(UIStrings.requestPayload)}${
278
281
  createViewSourceToggle(input.viewJSONPayloadSource, input.setViewJSONPayloadSource)}
279
- <ul role=group ?hidden=${!requestPayloadExpandedSetting.get()}>
282
+ <ul role=group>
280
283
  ${!parsedFormData || input.viewJSONPayloadSource ? createSourceText(input.formData ?? '')
281
284
  : createPayload(parsedFormData)}
282
285
  </ul>
@@ -113,8 +113,6 @@ export abstract class ResourceChunkView<Chunk> extends UI.Widget.VBox {
113
113
  this.dataGrid = new DataGrid.SortableDataGrid.SortableDataGrid({
114
114
  displayName: dataGridDisplayName,
115
115
  columns,
116
- deleteCallback: undefined,
117
- refreshCallback: undefined,
118
116
  });
119
117
  this.dataGrid.setRowContextMenuCallback(onRowContextMenu.bind(this));
120
118
  this.dataGrid.setEnableAutoScrollToBottom(true);
@@ -592,7 +592,9 @@ const BlockedReasonDetails = new Map<Protocol.Network.BlockedReason, HeaderDetai
592
592
  value: null,
593
593
  blockedDetails: {
594
594
  explanation: i18nLazyString(UIStrings.toEmbedThisFrameInYourDocument),
595
- examples: [{codeSnippet: 'Cross-Origin-Embedder-Policy: require-corp', comment: undefined}],
595
+ examples: [{
596
+ codeSnippet: 'Cross-Origin-Embedder-Policy: require-corp',
597
+ }],
596
598
  link: {url: 'https://web.dev/coop-coep/'},
597
599
  },
598
600
  },
@@ -450,7 +450,6 @@ UI.ContextMenu.registerProvider({
450
450
  const Network = await loadNetworkModule();
451
451
  return Network.NetworkPanel.NetworkPanel.instance();
452
452
  },
453
- experiment: undefined,
454
453
  });
455
454
 
456
455
  Common.Revealer.registerRevealer({
@@ -470,7 +469,6 @@ Common.Revealer.registerRevealer({
470
469
  contextTypes() {
471
470
  return [NetworkForward.UIRequestLocation.UIRequestLocation];
472
471
  },
473
- destination: undefined,
474
472
  async loadRevealer() {
475
473
  const Network = await loadNetworkModule();
476
474
  return new Network.NetworkPanel.RequestLocationRevealer();
@@ -506,14 +506,7 @@ export class PerformanceMonitorImpl extends UI.Widget.HBox implements
506
506
  const themeSupport = ThemeSupport.ThemeSupport.instance();
507
507
  const elementForStyles = this.contentElement;
508
508
 
509
- const defaults = {
510
- color: undefined,
511
- format: undefined,
512
- currentMax: undefined,
513
- max: undefined,
514
- smooth: undefined,
515
- stacked: undefined,
516
- };
509
+ const defaults: Partial<ChartInfo> = {};
517
510
 
518
511
  return [
519
512
  {
@@ -543,7 +536,6 @@ export class PerformanceMonitorImpl extends UI.Widget.HBox implements
543
536
  stacked: true,
544
537
  color: themeSupport.getComputedValue('--override-color-perf-monitor-cpu', elementForStyles),
545
538
  max: 1,
546
- currentMax: undefined,
547
539
  },
548
540
  {
549
541
  ...defaults,
@@ -45,8 +45,6 @@ export class HeapDetachedElementsDataGrid extends DataGrid.DataGrid.DataGridImpl
45
45
  super({
46
46
  displayName: i18nString(UIStrings.detachedElementsList),
47
47
  columns,
48
- deleteCallback: undefined,
49
- refreshCallback: undefined,
50
48
  });
51
49
 
52
50
  this.setStriped(true);
@@ -106,20 +106,10 @@ export class LiveHeapProfileView extends UI.Widget.VBox {
106
106
  const defaultColumnConfig: DataGrid.DataGrid.ColumnDescriptor = {
107
107
  id: '',
108
108
  title: Common.UIString.LocalizedEmptyString,
109
- width: undefined,
110
109
  fixedWidth: true,
111
110
  sortable: true,
112
111
  align: DataGrid.DataGrid.Align.RIGHT,
113
112
  sort: DataGrid.DataGrid.Order.Descending,
114
- titleDOMFragment: undefined,
115
- editable: undefined,
116
- nonSelectable: undefined,
117
- longText: undefined,
118
- disclosure: undefined,
119
- weight: undefined,
120
- allowInSortByEvenWhenHidden: undefined,
121
- dataType: undefined,
122
- defaultWeight: undefined,
123
113
  };
124
114
  const columns = [
125
115
  {
@@ -154,8 +144,6 @@ export class LiveHeapProfileView extends UI.Widget.VBox {
154
144
  const dataGrid = new DataGrid.SortableDataGrid.SortableDataGrid({
155
145
  displayName: i18nString(UIStrings.heapProfile),
156
146
  columns,
157
- deleteCallback: undefined,
158
- refreshCallback: undefined,
159
147
  });
160
148
  dataGrid.setResizeMethod(DataGrid.DataGrid.ResizeMethod.LAST);
161
149
  dataGrid.element.classList.add('flex-auto');
@@ -32,7 +32,20 @@ export class ProfileFlameChartDataProvider implements PerfUI.FlameChart.FlameCha
32
32
  static colorGenerator(): Common.Color.Generator {
33
33
  if (!colorGeneratorInstance) {
34
34
  colorGeneratorInstance = new Common.Color.Generator(
35
- {min: 30, max: 330, count: undefined}, {min: 50, max: 80, count: 5}, {min: 80, max: 90, count: 3});
35
+ {
36
+ min: 30,
37
+ max: 330,
38
+ },
39
+ {
40
+ min: 50,
41
+ max: 80,
42
+ count: 5,
43
+ },
44
+ {
45
+ min: 80,
46
+ max: 90,
47
+ count: 3,
48
+ });
36
49
 
37
50
  colorGeneratorInstance.setColorForID('(idle)', 'hsl(0, 0%, 94%)');
38
51
  colorGeneratorInstance.setColorForID('(program)', 'hsl(0, 0%, 80%)');
@@ -146,16 +146,6 @@ export class ProfileView extends UI.View.SimpleView implements UI.SearchableView
146
146
  fixedWidth: true,
147
147
  sortable: true,
148
148
  sort: DataGrid.DataGrid.Order.Descending,
149
- titleDOMFragment: undefined,
150
- align: undefined,
151
- editable: undefined,
152
- nonSelectable: undefined,
153
- longText: undefined,
154
- disclosure: undefined,
155
- weight: undefined,
156
- allowInSortByEvenWhenHidden: undefined,
157
- dataType: undefined,
158
- defaultWeight: undefined,
159
149
  });
160
150
  columns.push({
161
151
  id: 'total',
@@ -163,42 +153,17 @@ export class ProfileView extends UI.View.SimpleView implements UI.SearchableView
163
153
  width: '120px',
164
154
  fixedWidth: true,
165
155
  sortable: true,
166
- sort: undefined,
167
- titleDOMFragment: undefined,
168
- align: undefined,
169
- editable: undefined,
170
- nonSelectable: undefined,
171
- longText: undefined,
172
- disclosure: undefined,
173
- weight: undefined,
174
- allowInSortByEvenWhenHidden: undefined,
175
- dataType: undefined,
176
- defaultWeight: undefined,
177
156
  });
178
157
  columns.push({
179
158
  id: 'function',
180
159
  title: i18nString(UIStrings.function),
181
160
  disclosure: true,
182
161
  sortable: true,
183
- sort: undefined,
184
- titleDOMFragment: undefined,
185
- align: undefined,
186
- editable: undefined,
187
- nonSelectable: undefined,
188
- longText: undefined,
189
- weight: undefined,
190
- allowInSortByEvenWhenHidden: undefined,
191
- dataType: undefined,
192
- defaultWeight: undefined,
193
- width: undefined,
194
- fixedWidth: undefined,
195
162
  });
196
163
 
197
164
  this.dataGrid = new DataGrid.DataGrid.DataGridImpl({
198
165
  displayName: i18nString(UIStrings.profiler),
199
166
  columns,
200
- deleteCallback: undefined,
201
- refreshCallback: undefined,
202
167
  });
203
168
  this.dataGrid.addEventListener(DataGrid.DataGrid.Events.SORTING_CHANGED, this.sortProfile, this);
204
169
  this.dataGrid.addEventListener(DataGrid.DataGrid.Events.SELECTED_NODE, this.nodeSelected.bind(this, true));
@@ -253,7 +253,6 @@ UI.ContextMenu.registerProvider({
253
253
  const Profiler = await loadProfilerModule();
254
254
  return Profiler.HeapProfilerPanel.HeapProfilerPanel.instance();
255
255
  },
256
- experiment: undefined,
257
256
  });
258
257
 
259
258
  UI.ContextMenu.registerItem({
@@ -519,7 +519,6 @@ export class StepView extends UI.Widget.Widget {
519
519
  builtInConverters: [],
520
520
  extensionConverters: [],
521
521
  isSelected: false,
522
- recorderSettings: undefined,
523
522
  actions: [],
524
523
 
525
524
  stepEdited: this.#stepEdited.bind(this),
@@ -244,7 +244,7 @@ export class ScreencastView extends UI.Widget.VBox implements SDK.OverlayModel.H
244
244
  this.viewportElement.style.width = metadata.deviceWidth * this.screenZoom + bordersSize + 'px';
245
245
  this.viewportElement.style.height = metadata.deviceHeight * this.screenZoom + bordersSize + 'px';
246
246
 
247
- const data = this.highlightNode ? {node: this.highlightNode, selectorList: undefined} : {clear: true};
247
+ const data = this.highlightNode ? {node: this.highlightNode} : {clear: true};
248
248
  void this.updateHighlightInOverlayAndRepaint(data, this.highlightConfig);
249
249
  };
250
250
  this.imageElement.src = 'data:image/jpg;base64,' + base64Data;
@@ -309,7 +309,7 @@ export class ScreencastView extends UI.Widget.VBox implements SDK.OverlayModel.H
309
309
  }
310
310
 
311
311
  if (event.type === 'mousemove') {
312
- void this.updateHighlightInOverlayAndRepaint({node, selectorList: undefined}, this.inspectModeConfig);
312
+ void this.updateHighlightInOverlayAndRepaint({node}, this.inspectModeConfig);
313
313
  this.domModel.overlayModel().nodeHighlightRequested({nodeId: node.id});
314
314
  } else if (event.type === 'click') {
315
315
  this.domModel.overlayModel().inspectNodeRequested({backendNodeId: node.backendNodeId()});
@@ -69,10 +69,11 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
69
69
  ${results.map(searchResult => html`
70
70
  <li @expand=${(e: UI.TreeOutline.TreeViewElement.ExpandEvent) => onExpand(searchResult, e)}
71
71
  role="treeitem"
72
- class="search-result">
72
+ class="search-result"
73
+ ?open=${expandedResults.has(searchResult)}>
73
74
  <style>${searchResultsPaneStyles}</style>
74
75
  ${renderSearchResult(searchResult)}
75
- <ul role="group" ?hidden=${!expandedResults.has(searchResult)}>
76
+ <ul role="group">
76
77
  ${renderSearchMatches(searchResult, matches, onSelectMatch, onShowMoreMatches)}
77
78
  </ul>
78
79
  </li>`)}
@@ -733,7 +733,6 @@ export class SecurityPanel extends UI.Panel.Panel implements SDK.TargetManager.S
733
733
  securityState,
734
734
  securityDetails: request.securityDetails(),
735
735
  loadedFromCache: request.cached(),
736
- originView: undefined,
737
736
  };
738
737
  this.origins.set(origin, newOriginState);
739
738
 
@@ -339,7 +339,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
339
339
  if (errorMessage) {
340
340
  return {valid: false, errorMessage};
341
341
  }
342
- return {valid: true, errorMessage: undefined};
342
+ return {
343
+ valid: true,
344
+ };
343
345
  }
344
346
 
345
347
  function latValidator(
@@ -350,7 +352,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
350
352
  const parsedValue = Number(value);
351
353
 
352
354
  if (!value) {
353
- return {valid: true, errorMessage: undefined};
355
+ return {
356
+ valid: true,
357
+ };
354
358
  }
355
359
 
356
360
  let errorMessage;
@@ -365,7 +369,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
365
369
  if (errorMessage) {
366
370
  return {valid: false, errorMessage};
367
371
  }
368
- return {valid: true, errorMessage: undefined};
372
+ return {
373
+ valid: true,
374
+ };
369
375
  }
370
376
 
371
377
  function longValidator(
@@ -376,7 +382,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
376
382
  const parsedValue = Number(value);
377
383
 
378
384
  if (!value) {
379
- return {valid: true, errorMessage: undefined};
385
+ return {
386
+ valid: true,
387
+ };
380
388
  }
381
389
 
382
390
  let errorMessage;
@@ -391,7 +399,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
391
399
  if (errorMessage) {
392
400
  return {valid: false, errorMessage};
393
401
  }
394
- return {valid: true, errorMessage: undefined};
402
+ return {
403
+ valid: true,
404
+ };
395
405
  }
396
406
 
397
407
  function timezoneIdValidator(
@@ -405,7 +415,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
405
415
  // alphabetic character. The empty string resets the override,
406
416
  // and is accepted as well.
407
417
  if (value === '' || /[a-zA-Z]/.test(value)) {
408
- return {valid: true, errorMessage: undefined};
418
+ return {
419
+ valid: true,
420
+ };
409
421
  }
410
422
  const errorMessage = i18nString(UIStrings.timezoneIdMustContainAlphabetic);
411
423
  return {valid: false, errorMessage};
@@ -421,7 +433,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
421
433
  // The empty string resets the override, and is accepted as
422
434
  // well.
423
435
  if (value === '' || /[a-zA-Z]{2}/.test(value)) {
424
- return {valid: true, errorMessage: undefined};
436
+ return {
437
+ valid: true,
438
+ };
425
439
  }
426
440
  const errorMessage = i18nString(UIStrings.localeMustContainAlphabetic);
427
441
  return {valid: false, errorMessage};
@@ -434,7 +448,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
434
448
  const parsedValue = Number(value);
435
449
 
436
450
  if (!value) {
437
- return {valid: true, errorMessage: undefined};
451
+ return {
452
+ valid: true,
453
+ };
438
454
  }
439
455
 
440
456
  let errorMessage;
@@ -447,7 +463,9 @@ export class LocationsSettingsTab extends UI.Widget.VBox implements UI.ListWidge
447
463
  if (errorMessage) {
448
464
  return {valid: false, errorMessage};
449
465
  }
450
- return {valid: true, errorMessage: undefined};
466
+ return {
467
+ valid: true,
468
+ };
451
469
  }
452
470
  }
453
471
  }
@@ -316,7 +316,7 @@ export class FrameworkIgnoreListSettingsTab extends UI.Widget.VBox implements
316
316
  if (!regex) {
317
317
  return {valid: false, errorMessage: i18nString(UIStrings.patternMustBeAValidRegular)};
318
318
  }
319
- return {valid: true, errorMessage: undefined};
319
+ return {valid: true};
320
320
  }
321
321
  }
322
322
  }
@@ -166,8 +166,7 @@ export class SettingsScreen extends UI.Widget.VBox implements UI.View.ViewLocati
166
166
  return settingsScreen;
167
167
  }
168
168
 
169
- static async showSettingsScreen(
170
- options: ShowSettingsScreenOptions|undefined = {name: undefined, focusTabHeader: undefined}): Promise<void> {
169
+ static async showSettingsScreen(options: ShowSettingsScreenOptions = {}): Promise<void> {
171
170
  const {name, focusTabHeader} = options;
172
171
  const settingsScreen = SettingsScreen.revealSettingsScreen();
173
172
 
@@ -311,7 +311,7 @@ export class DevicesSettingsTab extends UI.Widget.VBox implements
311
311
 
312
312
  const ua = uaStringFields.createChild('div', 'hbox');
313
313
  ua.appendChild(editor.createInput('user-agent', 'text', i18nString(UIStrings.userAgentString), () => {
314
- return {valid: true, errorMessage: undefined};
314
+ return {valid: true};
315
315
  }));
316
316
  const uaTypeOptions = [
317
317
  EmulationModel.DeviceModeModel.UA.MOBILE,
@@ -320,7 +320,7 @@ export class DevicesSettingsTab extends UI.Widget.VBox implements
320
320
  EmulationModel.DeviceModeModel.UA.DESKTOP_TOUCH,
321
321
  ];
322
322
  const uaType = editor.createSelect('ua-type', uaTypeOptions, () => {
323
- return {valid: true, errorMessage: undefined};
323
+ return {valid: true};
324
324
  }, i18nString(UIStrings.userAgentType));
325
325
  uaType.classList.add('device-edit-fixed');
326
326
  ua.appendChild(uaType);
@@ -90,5 +90,5 @@ export function validateAsStructuredHeadersString(value: string, errorString: st
90
90
  if (parsedResult.kind === ResultKind.ERROR) {
91
91
  return {valid: false, errorMessage: errorString};
92
92
  }
93
- return {valid: true, errorMessage: undefined};
93
+ return {valid: true};
94
94
  }
@@ -280,7 +280,6 @@ Common.Revealer.registerRevealer({
280
280
  Root.Runtime.HostExperiment,
281
281
  ];
282
282
  },
283
- destination: undefined,
284
283
  async loadRevealer() {
285
284
  const Settings = await loadSettingsModule();
286
285
  return new Settings.SettingsScreen.Revealer();
@@ -290,11 +289,9 @@ Common.Revealer.registerRevealer({
290
289
  UI.ContextMenu.registerItem({
291
290
  location: UI.ContextMenu.ItemLocation.MAIN_MENU_FOOTER,
292
291
  actionId: 'settings.shortcuts',
293
- order: undefined,
294
292
  });
295
293
 
296
294
  UI.ContextMenu.registerItem({
297
295
  location: UI.ContextMenu.ItemLocation.MAIN_MENU_HELP_DEFAULT,
298
296
  actionId: 'settings.documentation',
299
- order: undefined,
300
297
  });