chrome-devtools-frontend 1.0.921086 → 1.0.922671

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 (190) hide show
  1. package/config/gni/all_devtools_files.gni +1 -1
  2. package/config/gni/devtools_grd_files.gni +2 -0
  3. package/front_end/core/common/ColorUtils.ts +2 -1
  4. package/front_end/core/common/Object.ts +36 -1
  5. package/front_end/core/common/Settings.ts +8 -1
  6. package/front_end/core/common/common.ts +2 -1
  7. package/front_end/core/i18n/locales/af.json +53 -32
  8. package/front_end/core/i18n/locales/am.json +56 -35
  9. package/front_end/core/i18n/locales/ar.json +53 -32
  10. package/front_end/core/i18n/locales/as.json +63 -42
  11. package/front_end/core/i18n/locales/az.json +53 -32
  12. package/front_end/core/i18n/locales/be.json +52 -31
  13. package/front_end/core/i18n/locales/bg.json +51 -30
  14. package/front_end/core/i18n/locales/bn.json +63 -42
  15. package/front_end/core/i18n/locales/bs.json +57 -36
  16. package/front_end/core/i18n/locales/ca.json +55 -34
  17. package/front_end/core/i18n/locales/cs.json +51 -30
  18. package/front_end/core/i18n/locales/cy.json +63 -42
  19. package/front_end/core/i18n/locales/da.json +55 -34
  20. package/front_end/core/i18n/locales/de.json +52 -31
  21. package/front_end/core/i18n/locales/el.json +58 -37
  22. package/front_end/core/i18n/locales/en-GB.json +51 -30
  23. package/front_end/core/i18n/locales/en-US.json +3 -0
  24. package/front_end/core/i18n/locales/en-XL.json +3 -0
  25. package/front_end/core/i18n/locales/es-419.json +53 -32
  26. package/front_end/core/i18n/locales/es.json +52 -31
  27. package/front_end/core/i18n/locales/et.json +54 -33
  28. package/front_end/core/i18n/locales/eu.json +71 -50
  29. package/front_end/core/i18n/locales/fa.json +54 -33
  30. package/front_end/core/i18n/locales/fi.json +55 -34
  31. package/front_end/core/i18n/locales/fil.json +59 -38
  32. package/front_end/core/i18n/locales/fr-CA.json +52 -31
  33. package/front_end/core/i18n/locales/fr.json +54 -33
  34. package/front_end/core/i18n/locales/gl.json +57 -36
  35. package/front_end/core/i18n/locales/gu.json +65 -44
  36. package/front_end/core/i18n/locales/he.json +56 -35
  37. package/front_end/core/i18n/locales/hi.json +61 -40
  38. package/front_end/core/i18n/locales/hr.json +55 -34
  39. package/front_end/core/i18n/locales/hu.json +53 -32
  40. package/front_end/core/i18n/locales/hy.json +54 -33
  41. package/front_end/core/i18n/locales/id.json +59 -38
  42. package/front_end/core/i18n/locales/is.json +51 -30
  43. package/front_end/core/i18n/locales/it.json +51 -30
  44. package/front_end/core/i18n/locales/ja.json +52 -31
  45. package/front_end/core/i18n/locales/ka.json +51 -30
  46. package/front_end/core/i18n/locales/kk.json +56 -35
  47. package/front_end/core/i18n/locales/km.json +59 -38
  48. package/front_end/core/i18n/locales/kn.json +63 -42
  49. package/front_end/core/i18n/locales/ko.json +59 -38
  50. package/front_end/core/i18n/locales/ky.json +54 -33
  51. package/front_end/core/i18n/locales/lo.json +59 -38
  52. package/front_end/core/i18n/locales/lt.json +52 -31
  53. package/front_end/core/i18n/locales/lv.json +60 -39
  54. package/front_end/core/i18n/locales/mk.json +51 -30
  55. package/front_end/core/i18n/locales/ml.json +65 -44
  56. package/front_end/core/i18n/locales/mn.json +59 -38
  57. package/front_end/core/i18n/locales/mr.json +61 -40
  58. package/front_end/core/i18n/locales/ms.json +59 -38
  59. package/front_end/core/i18n/locales/my.json +59 -38
  60. package/front_end/core/i18n/locales/ne.json +63 -42
  61. package/front_end/core/i18n/locales/nl.json +55 -34
  62. package/front_end/core/i18n/locales/no.json +54 -33
  63. package/front_end/core/i18n/locales/or.json +63 -42
  64. package/front_end/core/i18n/locales/pa.json +61 -40
  65. package/front_end/core/i18n/locales/pl.json +51 -30
  66. package/front_end/core/i18n/locales/pt-PT.json +52 -31
  67. package/front_end/core/i18n/locales/pt.json +59 -38
  68. package/front_end/core/i18n/locales/ro.json +52 -31
  69. package/front_end/core/i18n/locales/ru.json +52 -31
  70. package/front_end/core/i18n/locales/si.json +59 -38
  71. package/front_end/core/i18n/locales/sk.json +52 -31
  72. package/front_end/core/i18n/locales/sl.json +52 -31
  73. package/front_end/core/i18n/locales/sq.json +51 -30
  74. package/front_end/core/i18n/locales/sr-Latn.json +52 -31
  75. package/front_end/core/i18n/locales/sr.json +52 -31
  76. package/front_end/core/i18n/locales/sv.json +52 -31
  77. package/front_end/core/i18n/locales/sw.json +60 -39
  78. package/front_end/core/i18n/locales/ta.json +67 -46
  79. package/front_end/core/i18n/locales/te.json +62 -41
  80. package/front_end/core/i18n/locales/th.json +52 -31
  81. package/front_end/core/i18n/locales/tr.json +55 -34
  82. package/front_end/core/i18n/locales/uk.json +55 -34
  83. package/front_end/core/i18n/locales/ur.json +60 -39
  84. package/front_end/core/i18n/locales/uz.json +52 -31
  85. package/front_end/core/i18n/locales/vi.json +54 -33
  86. package/front_end/core/i18n/locales/zh-HK.json +52 -31
  87. package/front_end/core/i18n/locales/zh-TW.json +57 -36
  88. package/front_end/core/i18n/locales/zh.json +56 -35
  89. package/front_end/core/i18n/locales/zu.json +59 -38
  90. package/front_end/core/sdk/FrameManager.ts +2 -2
  91. package/front_end/core/sdk/RemoteObject.ts +43 -20
  92. package/front_end/entrypoints/inspector_main/InspectorMain.ts +1 -1
  93. package/front_end/entrypoints/js_app/JsMain.ts +1 -1
  94. package/front_end/entrypoints/node_main/NodeMain.ts +1 -1
  95. package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
  96. package/front_end/legacy/legacy-defs.d.ts +9 -0
  97. package/front_end/models/emulation/DeviceModeModel.ts +1 -1
  98. package/front_end/models/extensions/ExtensionAPI.ts +1 -1
  99. package/front_end/models/issues_manager/AttributionReportingIssue.ts +4 -1
  100. package/front_end/models/issues_manager/descriptions/arAttributionEventSourceTriggerDataTooLarge.md +4 -0
  101. package/front_end/models/timeline_model/TimelineModel.ts +5 -1
  102. package/front_end/panels/application/ApplicationPanelSidebar.ts +8 -7
  103. package/front_end/panels/application/DatabaseQueryView.ts +7 -1
  104. package/front_end/panels/application/ServiceWorkerCacheViews.ts +1 -1
  105. package/front_end/panels/changes/ChangesSidebar.ts +6 -1
  106. package/front_end/panels/console/ConsolePrompt.ts +6 -1
  107. package/front_end/panels/console/ConsoleSidebar.ts +5 -1
  108. package/front_end/panels/console/ConsoleViewMessage.ts +2 -2
  109. package/front_end/panels/coverage/CoverageView.ts +5 -4
  110. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +59 -48
  111. package/front_end/panels/css_overview/CSSOverviewController.ts +48 -8
  112. package/front_end/panels/css_overview/CSSOverviewPanel.ts +1 -1
  113. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +8 -1
  114. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +14 -12
  115. package/front_end/panels/elements/ElementsPanel.ts +10 -8
  116. package/front_end/panels/elements/ElementsTreeOutline.ts +8 -1
  117. package/front_end/panels/elements/StylesSidebarPane.ts +12 -2
  118. package/front_end/panels/elements/layoutPane.css +1 -0
  119. package/front_end/panels/emulation/AdvancedApp.ts +2 -12
  120. package/front_end/panels/emulation/InspectedPagePlaceholder.ts +14 -1
  121. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +10 -0
  122. package/front_end/panels/layer_viewer/LayerDetailsView.ts +7 -1
  123. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +4 -4
  124. package/front_end/panels/layer_viewer/Layers3DView.ts +7 -1
  125. package/front_end/panels/layer_viewer/PaintProfilerView.ts +7 -1
  126. package/front_end/panels/layers/LayersPanel.ts +1 -1
  127. package/front_end/panels/lighthouse/LighthouseProtocolService.ts +1 -2
  128. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +4 -0
  129. package/front_end/panels/network/NetworkDataGridNode.ts +46 -104
  130. package/front_end/panels/network/NetworkItemView.ts +2 -6
  131. package/front_end/panels/network/NetworkLogView.ts +4 -4
  132. package/front_end/panels/network/NetworkPanel.ts +12 -18
  133. package/front_end/panels/network/RequestTimingView.ts +3 -1
  134. package/front_end/panels/network/module.json +0 -3
  135. package/front_end/panels/profiler/CPUProfileFlameChart.ts +26 -11
  136. package/front_end/panels/profiler/HeapProfileView.ts +5 -6
  137. package/front_end/panels/profiler/HeapSnapshotView.ts +6 -6
  138. package/front_end/panels/profiler/HeapTimelineOverview.ts +17 -3
  139. package/front_end/panels/profiler/ProfileLauncherView.ts +6 -1
  140. package/front_end/panels/profiler/ProfileView.ts +1 -1
  141. package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
  142. package/front_end/panels/settings/SettingsScreen.ts +2 -2
  143. package/front_end/panels/sources/CSSPlugin.ts +6 -6
  144. package/front_end/panels/sources/DebuggerPlugin.ts +4 -5
  145. package/front_end/panels/sources/EditingLocationHistoryManager.ts +7 -5
  146. package/front_end/panels/sources/InplaceFormatterEditorAction.ts +5 -5
  147. package/front_end/panels/sources/OutlineQuickOpen.ts +7 -2
  148. package/front_end/panels/sources/ScriptFormatterEditorAction.ts +5 -6
  149. package/front_end/panels/sources/SourcesPanel.ts +2 -2
  150. package/front_end/panels/sources/SourcesView.ts +16 -3
  151. package/front_end/panels/sources/TabbedEditorContainer.ts +8 -13
  152. package/front_end/panels/sources/UISourceCodeFrame.ts +7 -1
  153. package/front_end/panels/sources/watchExpressionsSidebarPane.css +2 -7
  154. package/front_end/panels/timeline/TimelineDetailsView.ts +1 -1
  155. package/front_end/panels/timeline/TimelineFlameChartView.ts +4 -4
  156. package/front_end/panels/timeline/TimelineLayersView.ts +7 -7
  157. package/front_end/panels/timeline/TimelinePanel.ts +2 -1
  158. package/front_end/panels/timeline/TimelineTreeView.ts +6 -1
  159. package/front_end/ui/components/docs/toggle_fonts.ts +28 -1
  160. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +4 -5
  161. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +14 -5
  162. package/front_end/ui/legacy/Dialog.ts +12 -2
  163. package/front_end/ui/legacy/FilterBar.ts +12 -8
  164. package/front_end/ui/legacy/InspectorView.ts +3 -3
  165. package/front_end/ui/legacy/SplitWidget.ts +6 -1
  166. package/front_end/ui/legacy/TabbedPane.ts +9 -1
  167. package/front_end/ui/legacy/TextEditor.ts +12 -1
  168. package/front_end/ui/legacy/Treeoutline.ts +19 -11
  169. package/front_end/ui/legacy/ViewManager.ts +8 -7
  170. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +6 -1
  171. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +6 -1
  172. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +7 -1
  173. package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +12 -1
  174. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +19 -71
  175. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +8 -1
  176. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +9 -1
  177. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +13 -3
  178. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +14 -3
  179. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +11 -4
  180. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +13 -3
  181. package/front_end/ui/legacy/components/quick_open/QuickInput.ts +4 -5
  182. package/front_end/ui/legacy/components/quick_open/QuickPick.ts +4 -5
  183. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +29 -19
  184. package/front_end/ui/legacy/components/source_frame/SourcesTextEditor.ts +18 -2
  185. package/front_end/ui/legacy/components/text_editor/CodeMirrorTextEditor.ts +3 -1
  186. package/front_end/ui/legacy/splitWidget.css +2 -2
  187. package/inspector_overlay/common.ts +3 -3
  188. package/inspector_overlay/tool_viewport_size.ts +1 -1
  189. package/package.json +1 -1
  190. package/scripts/build/generate_css_js_files.js +1 -0
@@ -7,21 +7,11 @@ import * as Host from '../../core/host/host.js';
7
7
  import * as UI from '../../ui/legacy/legacy.js';
8
8
 
9
9
  import {DeviceModeWrapper} from './DeviceModeWrapper.js';
10
+ import type {Bounds} from './InspectedPagePlaceholder.js';
10
11
  import {Events, InspectedPagePlaceholder} from './InspectedPagePlaceholder.js';
11
12
 
12
13
  let appInstance: AdvancedApp;
13
14
 
14
- interface Event {
15
- data: {
16
- to: UI.DockController.DockState,
17
- from: UI.DockController.DockState|undefined,
18
- x: number,
19
- y: number,
20
- width: number,
21
- height: number,
22
- };
23
- }
24
-
25
15
  export class AdvancedApp implements Common.App.App {
26
16
  private rootSplitWidget!: UI.SplitWidget.SplitWidget;
27
17
  private deviceModeView!: DeviceModeWrapper;
@@ -170,7 +160,7 @@ export class AdvancedApp implements Common.App.App {
170
160
  return UI.DockController.DockController.instance().dockSide() !== UI.DockController.DockState.UNDOCKED;
171
161
  }
172
162
 
173
- private onSetInspectedPageBounds(event: Event): void {
163
+ private onSetInspectedPageBounds(event: Common.EventTarget.EventTargetEvent<Bounds>): void {
174
164
  if (this.changingDockSide) {
175
165
  return;
176
166
  }
@@ -2,11 +2,13 @@
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
4
 
5
+ import * as Common from '../../core/common/common.js';
5
6
  import * as UI from '../../ui/legacy/legacy.js';
6
7
 
7
8
  let inspectedPagePlaceholderInstance: InspectedPagePlaceholder;
8
9
 
9
- export class InspectedPagePlaceholder extends UI.Widget.Widget {
10
+ export class InspectedPagePlaceholder extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.Widget>(
11
+ UI.Widget.Widget) {
10
12
  private updateId?: number;
11
13
  constructor() {
12
14
  super(true);
@@ -81,3 +83,14 @@ export class InspectedPagePlaceholder extends UI.Widget.Widget {
81
83
  export const enum Events {
82
84
  Update = 'Update',
83
85
  }
86
+
87
+ export interface Bounds {
88
+ x: number;
89
+ y: number;
90
+ height: number;
91
+ width: number;
92
+ }
93
+
94
+ export type EventTypes = {
95
+ [Events.Update]: Bounds,
96
+ };
@@ -42,6 +42,11 @@ const UIStrings = {
42
42
  * parameter.
43
43
  */
44
44
  invalidTriggerData: 'Invalid `trigger-data`',
45
+ /**
46
+ * @description Label for the column showing the invalid value used for the
47
+ * 'event-source-trigger-data' query parameter.
48
+ */
49
+ invalidEventSourceTriggerData: 'Invalid `event-source-trigger-data`',
45
50
  };
46
51
  const str_ = i18n.i18n.registerUIStrings('panels/issues/AttributionReportingIssueDetailsView.ts', UIStrings);
47
52
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -89,6 +94,10 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
89
94
  this.appendColumnTitle(header, i18nString(UIStrings.request));
90
95
  this.appendColumnTitle(header, i18nString(UIStrings.invalidTriggerData));
91
96
  break;
97
+ case IssuesManager.AttributionReportingIssue.IssueCode.AttributionEventSourceTriggerDataTooLarge:
98
+ this.appendColumnTitle(header, i18nString(UIStrings.request));
99
+ this.appendColumnTitle(header, i18nString(UIStrings.invalidEventSourceTriggerData));
100
+ break;
92
101
  case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionSourceEventId:
93
102
  this.appendColumnTitle(header, i18nString(UIStrings.frame));
94
103
  this.appendColumnTitle(header, i18nString(UIStrings.element));
@@ -132,6 +141,7 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
132
141
  this.appendIssueDetailCell(element, details.invalidParameter || '');
133
142
  break;
134
143
  case IssuesManager.AttributionReportingIssue.IssueCode.AttributionTriggerDataTooLarge:
144
+ case IssuesManager.AttributionReportingIssue.IssueCode.AttributionEventSourceTriggerDataTooLarge:
135
145
  case IssuesManager.AttributionReportingIssue.IssueCode.AttributionUntrustworthyOrigin:
136
146
  case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionData:
137
147
  this.appendRequestOrEmptyCell(element, details.request);
@@ -28,6 +28,7 @@
28
28
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
29
  */
30
30
 
31
+ import * as Common from '../../core/common/common.js';
31
32
  import * as i18n from '../../core/i18n/i18n.js';
32
33
  import * as Platform from '../../core/platform/platform.js';
33
34
  import * as SDK from '../../core/sdk/sdk.js';
@@ -155,7 +156,8 @@ const UIStrings = {
155
156
  const str_ = i18n.i18n.registerUIStrings('panels/layer_viewer/LayerDetailsView.ts', UIStrings);
156
157
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
157
158
  const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
158
- export class LayerDetailsView extends UI.Widget.Widget implements LayerView {
159
+ export class LayerDetailsView extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.Widget>(
160
+ UI.Widget.Widget) implements LayerView {
159
161
  private readonly layerViewHost: LayerViewHost;
160
162
  private readonly emptyWidget: UI.EmptyWidget.EmptyWidget;
161
163
  private layerSnapshotMap: Map<SDK.LayerTreeBase.Layer, SnapshotSelection>;
@@ -470,6 +472,10 @@ export enum Events {
470
472
  PaintProfilerRequested = 'PaintProfilerRequested',
471
473
  }
472
474
 
475
+ export type EventTypes = {
476
+ [Events.PaintProfilerRequested]: Selection,
477
+ };
478
+
473
479
  export const slowScrollRectNames = new Map([
474
480
  [SDK.LayerTreeBase.Layer.ScrollRectType.NonFastScrollable, i18nLazyString(UIStrings.nonFastScrollable)],
475
481
  [SDK.LayerTreeBase.Layer.ScrollRectType.TouchEventHandler, i18nLazyString(UIStrings.touchEventHandler)],
@@ -28,7 +28,7 @@
28
28
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
29
  */
30
30
 
31
- import type * as Common from '../../core/common/common.js';
31
+ import * as Common from '../../core/common/common.js';
32
32
  import * as i18n from '../../core/i18n/i18n.js';
33
33
  import type * as SDK from '../../core/sdk/sdk.js';
34
34
  import * as UI from '../../ui/legacy/legacy.js';
@@ -54,8 +54,8 @@ const UIStrings = {
54
54
  };
55
55
  const str_ = i18n.i18n.registerUIStrings('panels/layer_viewer/LayerTreeOutline.ts', UIStrings);
56
56
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
57
- export class LayerTreeOutline extends UI.TreeOutline.TreeOutline implements Common.EventTarget.EventTarget<EventTypes>,
58
- LayerView {
57
+ export class LayerTreeOutline extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.TreeOutline.TreeOutline>(
58
+ UI.TreeOutline.TreeOutline) implements Common.EventTarget.EventTarget<EventTypes>, LayerView {
59
59
  private layerViewHost: LayerViewHost;
60
60
  private treeOutline: UI.TreeOutline.TreeOutlineInShadow;
61
61
  private lastHoveredNode: LayerTreeElement|null;
@@ -220,7 +220,7 @@ export class LayerTreeOutline extends UI.TreeOutline.TreeOutline implements Comm
220
220
  if (this.layerSnapshotMap.has(layer)) {
221
221
  contextMenu.defaultSection().appendItem(
222
222
  i18nString(UIStrings.showPaintProfiler),
223
- () => this.dispatchEventToListeners(Events.PaintProfilerRequested, selection), false);
223
+ () => this.dispatchEventToListeners(Events.PaintProfilerRequested, selection as Selection), false);
224
224
  }
225
225
  }
226
226
  this.layerViewHost.showContextMenu(contextMenu, selection);
@@ -99,7 +99,8 @@ const uniformSamplerLocations = new Map<WebGLProgram, WebGLUniformLocation|null>
99
99
 
100
100
  const imageForTexture = new Map<WebGLTexture, HTMLImageElement>();
101
101
 
102
- export class Layers3DView extends UI.Widget.VBox implements LayerView {
102
+ export class Layers3DView extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.VBox>(UI.Widget.VBox)
103
+ implements LayerView {
103
104
  private readonly failBanner: UI.Widget.VBox;
104
105
  private readonly layerViewHost: LayerViewHost;
105
106
  private transformController: TransformController;
@@ -892,6 +893,11 @@ export enum Events {
892
893
  ScaleChanged = 'ScaleChanged',
893
894
  }
894
895
 
896
+ export type EventTypes = {
897
+ [Events.PaintProfilerRequested]: Selection,
898
+ [Events.ScaleChanged]: void,
899
+ };
900
+
895
901
  export const enum ChromeTexture {
896
902
  Left = 0,
897
903
  Middle = 1,
@@ -28,6 +28,7 @@
28
28
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
29
  */
30
30
 
31
+ import * as Common from '../../core/common/common.js';
31
32
  import * as i18n from '../../core/i18n/i18n.js';
32
33
  import * as Platform from '../../core/platform/platform.js';
33
34
  import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
@@ -75,7 +76,8 @@ let categories: {[x: string]: PaintProfilerCategory}|null = null;
75
76
 
76
77
  let logItemCategoriesMap: {[x: string]: PaintProfilerCategory}|null = null;
77
78
 
78
- export class PaintProfilerView extends UI.Widget.HBox {
79
+ export class PaintProfilerView extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.HBox>(
80
+ UI.Widget.HBox) {
79
81
  private canvasContainer: HTMLElement;
80
82
  private readonly progressBanner: HTMLElement;
81
83
  private pieChart: PerfUI.PieChart.PieChart;
@@ -422,6 +424,10 @@ export enum Events {
422
424
  WindowChanged = 'WindowChanged',
423
425
  }
424
426
 
427
+ export type EventTypes = {
428
+ [Events.WindowChanged]: void,
429
+ };
430
+
425
431
  export class PaintProfilerCommandLogView extends UI.ThrottledWidget.ThrottledWidget {
426
432
  private readonly treeOutline: UI.TreeOutline.TreeOutlineInShadow;
427
433
  private log: SDK.PaintProfiler.PaintProfilerLogItem[];
@@ -197,7 +197,7 @@ export class LayersPanel extends UI.Panel.PanelWithSidebar implements SDK.Target
197
197
  });
198
198
  }
199
199
 
200
- private onTabClosed(event: Common.EventTarget.EventTargetEvent): void {
200
+ private onTabClosed(event: Common.EventTarget.EventTargetEvent<UI.TabbedPane.EventData>): void {
201
201
  if (event.data.tabId !== DetailsViewTabs.Profiler || !this.layerBeingProfiled) {
202
202
  return;
203
203
  }
@@ -2,7 +2,6 @@
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
4
 
5
- import * as Common from '../../core/common/common.js';
6
5
  import * as i18n from '../../core/i18n/i18n.js';
7
6
  import type * as ProtocolClient from '../../core/protocol_client/protocol_client.js';
8
7
  import * as SDK from '../../core/sdk/sdk.js';
@@ -12,7 +11,7 @@ import type * as ReportRenderer from './LighthouseReporterTypes.js';
12
11
 
13
12
  let lastId = 1;
14
13
 
15
- export class ProtocolService extends Common.ObjectWrapper.ObjectWrapper {
14
+ export class ProtocolService {
16
15
  private rawConnection?: ProtocolClient.InspectorBackend.Connection;
17
16
  private lighthouseWorkerPromise?: Promise<Worker>;
18
17
  private lighthouseMessageUpdateCallback?: ((arg0: string) => void);
@@ -53,6 +53,10 @@
53
53
  text-align: left;
54
54
  }
55
55
 
56
+ .conditions-edit-row .conditions-list-text:last-child {
57
+ text-align: right;
58
+ }
59
+
56
60
  .conditions-list-title {
57
61
  text-align: start;
58
62
  display: flex;
@@ -245,100 +245,49 @@ export enum Events {
245
245
  RequestActivated = 'RequestActivated',
246
246
  }
247
247
 
248
- export abstract class NetworkLogViewInterface {
249
- async onLoadFromFile(file: File): Promise<void> {
250
- }
251
-
252
- abstract nodeForRequest(request: SDK.NetworkRequest.NetworkRequest): NetworkRequestNode|null;
253
-
254
- abstract headerHeight(): number;
255
-
256
- setRecording(recording: boolean): void {
257
- }
258
-
259
- setWindow(start: number, end: number): void {
260
- }
261
-
262
- resetFocus(): void {
263
- }
264
-
265
- columnExtensionResolved(): void {
266
- }
267
-
268
- hoveredNode(): NetworkNode|null {
269
- throw new Error('not implemented');
270
- }
271
-
272
- scheduleRefresh(): void {
273
- }
274
-
275
- addFilmStripFrames(times: number[]): void {
276
- }
277
-
278
- selectFilmStripFrame(time: number): void {
279
- }
280
-
281
- clearFilmStripFrame(): void {
282
- }
283
- timeCalculator(): NetworkTimeCalculator {
284
- throw new Error('not implemented');
285
- }
286
-
287
- calculator(): NetworkTimeCalculator {
288
- throw new Error('not implemented');
289
- }
290
-
291
- setCalculator(x: NetworkTimeCalculator): void {
292
- }
293
-
294
- flatNodesList(): NetworkNode[] {
295
- throw new Error('not implemented');
296
- }
297
-
298
- updateNodeBackground(): void {
299
- }
300
-
301
- updateNodeSelectedClass(isSelected: boolean): void {
302
- }
303
-
304
- stylesChanged(): void {
305
- }
306
-
307
- setTextFilterValue(filterString: string): void {
308
- }
309
-
310
- rowHeight(): number {
311
- throw new Error('not implemented');
312
- }
248
+ export interface RequestActivatedEvent {
249
+ showPanel: boolean;
250
+ takeFocus?: boolean;
251
+ tab?: NetworkForward.UIRequestLocation.UIRequestTabs;
252
+ }
313
253
 
314
- switchViewMode(gridMode: boolean): void {
315
- }
254
+ export type EventTypes = {
255
+ [Events.RequestSelected]: SDK.NetworkRequest.NetworkRequest,
256
+ [Events.RequestActivated]: RequestActivatedEvent,
257
+ };
316
258
 
259
+ export interface NetworkLogViewInterface extends Common.EventTarget.EventTarget<EventTypes> {
260
+ onLoadFromFile(file: File): Promise<void>;
261
+ nodeForRequest(request: SDK.NetworkRequest.NetworkRequest): NetworkRequestNode|null;
262
+ headerHeight(): number;
263
+ setRecording(recording: boolean): void;
264
+ setWindow(start: number, end: number): void;
265
+ resetFocus(): void;
266
+ columnExtensionResolved(): void;
267
+ hoveredNode(): NetworkNode|null;
268
+ scheduleRefresh(): void;
269
+ addFilmStripFrames(times: number[]): void;
270
+ selectFilmStripFrame(time: number): void;
271
+ clearFilmStripFrame(): void;
272
+ timeCalculator(): NetworkTimeCalculator;
273
+ calculator(): NetworkTimeCalculator;
274
+ setCalculator(x: NetworkTimeCalculator): void;
275
+ flatNodesList(): NetworkNode[];
276
+ updateNodeBackground(): void;
277
+ updateNodeSelectedClass(isSelected: boolean): void;
278
+ stylesChanged(): void;
279
+ setTextFilterValue(filterString: string): void;
280
+ rowHeight(): number;
281
+ switchViewMode(gridMode: boolean): void;
317
282
  handleContextMenuForRequest(contextMenu: UI.ContextMenu.ContextMenu, request: SDK.NetworkRequest.NetworkRequest):
318
- void {
319
- }
320
-
321
- async exportAll(): Promise<void> {
322
- }
323
-
324
- revealAndHighlightRequest(request: SDK.NetworkRequest.NetworkRequest): void {
325
- }
326
-
327
- selectRequest(request: SDK.NetworkRequest.NetworkRequest): void {
328
- }
329
-
330
- removeAllNodeHighlights(): void {
331
- }
332
-
333
- modelAdded(model: SDK.NetworkManager.NetworkManager): void {
334
- }
335
-
336
- modelRemoved(model: SDK.NetworkManager.NetworkManager): void {
337
- }
338
-
339
- linkifier(): Components.Linkifier.Linkifier {
340
- throw new Error('not implemented');
341
- }
283
+ void;
284
+ exportAll(): Promise<void>;
285
+ revealAndHighlightRequest(request: SDK.NetworkRequest.NetworkRequest): void;
286
+ selectRequest(request: SDK.NetworkRequest.NetworkRequest): void;
287
+ removeAllNodeHighlights(): void;
288
+ modelAdded(model: SDK.NetworkManager.NetworkManager): void;
289
+ modelRemoved(model: SDK.NetworkManager.NetworkManager): void;
290
+ linkifier(): Components.Linkifier.Linkifier;
342
291
  }
343
292
 
344
293
  export class NetworkNode extends DataGrid.SortableDataGrid.SortableDataGridNode<NetworkNode> {
@@ -1003,9 +952,7 @@ export class NetworkRequestNode extends NetworkNode {
1003
952
 
1004
953
  select(supressSelectedEvent?: boolean): void {
1005
954
  super.select(supressSelectedEvent);
1006
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
1007
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1008
- (this.parentView() as any).dispatchEventToListeners(Events.RequestSelected, this.requestInternal);
955
+ this.parentView().dispatchEventToListeners(Events.RequestSelected, this.requestInternal);
1009
956
  }
1010
957
 
1011
958
  highlightMatchedSubstring(regexp: RegExp|null): Object[] {
@@ -1056,9 +1003,7 @@ export class NetworkRequestNode extends NetworkNode {
1056
1003
  this.nameCell = cell;
1057
1004
  cell.addEventListener('dblclick', this.openInNewTab.bind(this), false);
1058
1005
  cell.addEventListener('click', () => {
1059
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
1060
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1061
- (this.parentView() as any).dispatchEventToListeners(Events.RequestActivated, {showPanel: true});
1006
+ this.parentView().dispatchEventToListeners(Events.RequestActivated, {showPanel: true});
1062
1007
  });
1063
1008
  let iconElement;
1064
1009
  if (this.requestInternal.resourceType() === Common.ResourceType.resourceTypes.Image) {
@@ -1190,9 +1135,7 @@ export class NetworkRequestNode extends NetworkNode {
1190
1135
  if (displayShowHeadersLink) {
1191
1136
  this.setTextAndTitleAsLink(
1192
1137
  cell, i18nString(UIStrings.blockeds, {PH1: reason}), i18nString(UIStrings.blockedTooltip), () => {
1193
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
1194
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1195
- (this.parentView() as any).dispatchEventToListeners(Events.RequestActivated, {
1138
+ this.parentView().dispatchEventToListeners(Events.RequestActivated, {
1196
1139
  showPanel: true,
1197
1140
  tab: NetworkForward.UIRequestLocation.UIRequestTabs.Headers,
1198
1141
  });
@@ -1398,10 +1341,9 @@ export class NetworkGroupNode extends NetworkNode {
1398
1341
  select(supressSelectedEvent?: boolean): void {
1399
1342
  super.select(supressSelectedEvent);
1400
1343
  const firstChildNode = (this.traverseNextNode(false, undefined, true) as NetworkNode);
1401
- if (firstChildNode && firstChildNode.request()) {
1402
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
1403
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1404
- (this.parentView() as any).dispatchEventToListeners(Events.RequestSelected, firstChildNode.request());
1344
+ const request = firstChildNode?.request();
1345
+ if (request) {
1346
+ this.parentView().dispatchEventToListeners(Events.RequestSelected, request);
1405
1347
  }
1406
1348
  }
1407
1349
  }
@@ -274,15 +274,11 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
274
274
  }
275
275
  }
276
276
 
277
- private tabSelected(event: {
278
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
279
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
280
- data: any,
281
- }): void {
277
+ private tabSelected(event: Common.EventTarget.EventTargetEvent<UI.TabbedPane.EventData>): void {
282
278
  if (!event.data.isUserGesture) {
283
279
  return;
284
280
  }
285
- this.resourceViewTabSetting.set(event.data.tabId);
281
+ this.resourceViewTabSetting.set(event.data.tabId as NetworkForward.UIRequestLocation.UIRequestTabs);
286
282
  }
287
283
 
288
284
  request(): SDK.NetworkRequest.NetworkRequest {
@@ -52,7 +52,7 @@ import * as ThemeSupport from '../../ui/legacy/theme_support/theme_support.js';
52
52
 
53
53
  import networkLogViewStyles from './networkLogView.css.js';
54
54
 
55
- import type {NetworkLogViewInterface, NetworkNode} from './NetworkDataGridNode.js';
55
+ import type {NetworkLogViewInterface, NetworkNode, EventTypes} from './NetworkDataGridNode.js';
56
56
  import {Events, NetworkGroupNode, NetworkRequestNode} from './NetworkDataGridNode.js';
57
57
  import {NetworkFrameGrouper} from './NetworkFrameGrouper.js';
58
58
  import {NetworkLogViewColumns} from './NetworkLogViewColumns.js';
@@ -351,8 +351,8 @@ const enum FetchStyle {
351
351
  NodeJs = 1,
352
352
  }
353
353
 
354
- export class NetworkLogView extends UI.Widget.VBox implements
355
- SDK.TargetManager.SDKModelObserver<SDK.NetworkManager.NetworkManager>, NetworkLogViewInterface {
354
+ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.VBox>(UI.Widget.VBox)
355
+ implements SDK.TargetManager.SDKModelObserver<SDK.NetworkManager.NetworkManager>, NetworkLogViewInterface {
356
356
  private readonly networkInvertFilterSetting: Common.Settings.Setting<boolean>;
357
357
  private readonly networkHideDataURLSetting: Common.Settings.Setting<boolean>;
358
358
  private readonly networkShowIssuesOnlySetting: Common.Settings.Setting<boolean>;
@@ -864,7 +864,7 @@ export class NetworkLogView extends UI.Widget.VBox implements
864
864
  this.textFilterUI.setSuggestionProvider(this.suggestionBuilder.completions.bind(this.suggestionBuilder));
865
865
  }
866
866
 
867
- private filterChanged(_event: Common.EventTarget.EventTargetEvent): void {
867
+ private filterChanged(): void {
868
868
  this.removeAllNodeHighlights();
869
869
  this.parseFilterQuery(this.textFilterUI.value(), this.invertFilterUI.checked());
870
870
  this.filterRequests();
@@ -48,6 +48,7 @@ import * as MobileThrottling from '../mobile_throttling/mobile_throttling.js';
48
48
  import * as Search from '../search/search.js';
49
49
 
50
50
  import {BlockedURLsPane} from './BlockedURLsPane.js';
51
+ import type {RequestActivatedEvent} from './NetworkDataGridNode.js';
51
52
  import {Events} from './NetworkDataGridNode.js';
52
53
  import {NetworkItemView} from './NetworkItemView.js';
53
54
  import {NetworkLogView} from './NetworkLogView.js';
@@ -369,7 +370,8 @@ export class NetworkPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
369
370
  return this.throttlingSelect;
370
371
  }
371
372
 
372
- private onWindowChanged(event: Common.EventTarget.EventTargetEvent): void {
373
+ private onWindowChanged(event: Common.EventTarget.EventTargetEvent<PerfUI.TimelineOverviewPane.WindowChangedEvent>):
374
+ void {
373
375
  const startTime = Math.max(this.calculator.minimumBoundary(), event.data.startTime / 1000);
374
376
  const endTime = Math.min(this.calculator.maximumBoundary(), event.data.endTime / 1000);
375
377
  this.networkLogView.setWindow(startTime, endTime);
@@ -649,18 +651,10 @@ export class NetworkPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
649
651
  this.updateNetworkItemView();
650
652
  }
651
653
 
652
- private onRequestActivated(event: {
653
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
654
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
655
- data: any,
656
- }): void {
657
- const eventData = (event.data as {
658
- showPanel: boolean,
659
- tab: NetworkForward.UIRequestLocation.UIRequestTabs,
660
- takeFocus: (boolean | undefined),
661
- });
662
- if (eventData.showPanel) {
663
- this.showRequestPanel(eventData.tab, /* takeFocus */ eventData.takeFocus);
654
+ private onRequestActivated(event: Common.EventTarget.EventTargetEvent<RequestActivatedEvent>): void {
655
+ const {showPanel, tab, takeFocus} = event.data;
656
+ if (showPanel) {
657
+ this.showRequestPanel(tab, takeFocus);
664
658
  } else {
665
659
  this.hideRequestPanel();
666
660
  }
@@ -766,18 +760,18 @@ export class NetworkPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
766
760
  appendRevealItem.call(this, request);
767
761
  }
768
762
 
769
- private onFilmFrameSelected(event: Common.EventTarget.EventTargetEvent): void {
770
- const timestamp = (event.data as number);
763
+ private onFilmFrameSelected(event: Common.EventTarget.EventTargetEvent<number>): void {
764
+ const timestamp = event.data;
771
765
  this.overviewPane.setWindowTimes(0, timestamp);
772
766
  }
773
767
 
774
- private onFilmFrameEnter(event: Common.EventTarget.EventTargetEvent): void {
775
- const timestamp = (event.data as number);
768
+ private onFilmFrameEnter(event: Common.EventTarget.EventTargetEvent<number>): void {
769
+ const timestamp = event.data;
776
770
  this.networkOverview.selectFilmStripFrame(timestamp);
777
771
  this.networkLogView.selectFilmStripFrame(timestamp / 1000);
778
772
  }
779
773
 
780
- private onFilmFrameExit(_event: Common.EventTarget.EventTargetEvent): void {
774
+ private onFilmFrameExit(): void {
781
775
  this.networkOverview.clearFilmStripFrame();
782
776
  this.networkLogView.clearFilmStripFrame();
783
777
  }
@@ -40,6 +40,8 @@ import * as UI from '../../ui/legacy/legacy.js';
40
40
  import type {NetworkTimeCalculator} from './NetworkTimeCalculator.js';
41
41
  import {Events} from './NetworkTimeCalculator.js';
42
42
 
43
+ import networkingTimingTableStyles from './networkTimingTable.css.js';
44
+
43
45
  const UIStrings = {
44
46
  /**
45
47
  *@description Text used to label the time taken to receive an HTTP/2 Push message.
@@ -360,7 +362,6 @@ export class RequestTimingView extends UI.Widget.VBox {
360
362
  static createTimingTable(request: SDK.NetworkRequest.NetworkRequest, calculator: NetworkTimeCalculator): Element {
361
363
  const tableElement = document.createElement('table');
362
364
  tableElement.classList.add('network-timing-table');
363
- UI.Utils.appendStyle(tableElement, 'panels/network/networkTimingTable.css');
364
365
  const colgroup = tableElement.createChild('colgroup');
365
366
  colgroup.createChild('col', 'labels');
366
367
  colgroup.createChild('col', 'bars');
@@ -647,6 +648,7 @@ export class RequestTimingView extends UI.Widget.VBox {
647
648
  this.request.addEventListener(SDK.NetworkRequest.Events.TimingChanged, this.refresh, this);
648
649
  this.request.addEventListener(SDK.NetworkRequest.Events.FinishedLoading, this.refresh, this);
649
650
  this.calculator.addEventListener(Events.BoundariesChanged, this.refresh, this);
651
+ this.registerCSSFiles([networkingTimingTableStyles]);
650
652
  this.refresh();
651
653
  }
652
654
 
@@ -8,8 +8,5 @@
8
8
  "panels/search",
9
9
  "ui/legacy/components/source_frame",
10
10
  "ui/legacy"
11
- ],
12
- "resources": [
13
- "networkTimingTable.css"
14
11
  ]
15
12
  }