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.
- package/config/gni/all_devtools_files.gni +1 -1
- package/config/gni/devtools_grd_files.gni +2 -0
- package/front_end/core/common/ColorUtils.ts +2 -1
- package/front_end/core/common/Object.ts +36 -1
- package/front_end/core/common/Settings.ts +8 -1
- package/front_end/core/common/common.ts +2 -1
- package/front_end/core/i18n/locales/af.json +53 -32
- package/front_end/core/i18n/locales/am.json +56 -35
- package/front_end/core/i18n/locales/ar.json +53 -32
- package/front_end/core/i18n/locales/as.json +63 -42
- package/front_end/core/i18n/locales/az.json +53 -32
- package/front_end/core/i18n/locales/be.json +52 -31
- package/front_end/core/i18n/locales/bg.json +51 -30
- package/front_end/core/i18n/locales/bn.json +63 -42
- package/front_end/core/i18n/locales/bs.json +57 -36
- package/front_end/core/i18n/locales/ca.json +55 -34
- package/front_end/core/i18n/locales/cs.json +51 -30
- package/front_end/core/i18n/locales/cy.json +63 -42
- package/front_end/core/i18n/locales/da.json +55 -34
- package/front_end/core/i18n/locales/de.json +52 -31
- package/front_end/core/i18n/locales/el.json +58 -37
- package/front_end/core/i18n/locales/en-GB.json +51 -30
- package/front_end/core/i18n/locales/en-US.json +3 -0
- package/front_end/core/i18n/locales/en-XL.json +3 -0
- package/front_end/core/i18n/locales/es-419.json +53 -32
- package/front_end/core/i18n/locales/es.json +52 -31
- package/front_end/core/i18n/locales/et.json +54 -33
- package/front_end/core/i18n/locales/eu.json +71 -50
- package/front_end/core/i18n/locales/fa.json +54 -33
- package/front_end/core/i18n/locales/fi.json +55 -34
- package/front_end/core/i18n/locales/fil.json +59 -38
- package/front_end/core/i18n/locales/fr-CA.json +52 -31
- package/front_end/core/i18n/locales/fr.json +54 -33
- package/front_end/core/i18n/locales/gl.json +57 -36
- package/front_end/core/i18n/locales/gu.json +65 -44
- package/front_end/core/i18n/locales/he.json +56 -35
- package/front_end/core/i18n/locales/hi.json +61 -40
- package/front_end/core/i18n/locales/hr.json +55 -34
- package/front_end/core/i18n/locales/hu.json +53 -32
- package/front_end/core/i18n/locales/hy.json +54 -33
- package/front_end/core/i18n/locales/id.json +59 -38
- package/front_end/core/i18n/locales/is.json +51 -30
- package/front_end/core/i18n/locales/it.json +51 -30
- package/front_end/core/i18n/locales/ja.json +52 -31
- package/front_end/core/i18n/locales/ka.json +51 -30
- package/front_end/core/i18n/locales/kk.json +56 -35
- package/front_end/core/i18n/locales/km.json +59 -38
- package/front_end/core/i18n/locales/kn.json +63 -42
- package/front_end/core/i18n/locales/ko.json +59 -38
- package/front_end/core/i18n/locales/ky.json +54 -33
- package/front_end/core/i18n/locales/lo.json +59 -38
- package/front_end/core/i18n/locales/lt.json +52 -31
- package/front_end/core/i18n/locales/lv.json +60 -39
- package/front_end/core/i18n/locales/mk.json +51 -30
- package/front_end/core/i18n/locales/ml.json +65 -44
- package/front_end/core/i18n/locales/mn.json +59 -38
- package/front_end/core/i18n/locales/mr.json +61 -40
- package/front_end/core/i18n/locales/ms.json +59 -38
- package/front_end/core/i18n/locales/my.json +59 -38
- package/front_end/core/i18n/locales/ne.json +63 -42
- package/front_end/core/i18n/locales/nl.json +55 -34
- package/front_end/core/i18n/locales/no.json +54 -33
- package/front_end/core/i18n/locales/or.json +63 -42
- package/front_end/core/i18n/locales/pa.json +61 -40
- package/front_end/core/i18n/locales/pl.json +51 -30
- package/front_end/core/i18n/locales/pt-PT.json +52 -31
- package/front_end/core/i18n/locales/pt.json +59 -38
- package/front_end/core/i18n/locales/ro.json +52 -31
- package/front_end/core/i18n/locales/ru.json +52 -31
- package/front_end/core/i18n/locales/si.json +59 -38
- package/front_end/core/i18n/locales/sk.json +52 -31
- package/front_end/core/i18n/locales/sl.json +52 -31
- package/front_end/core/i18n/locales/sq.json +51 -30
- package/front_end/core/i18n/locales/sr-Latn.json +52 -31
- package/front_end/core/i18n/locales/sr.json +52 -31
- package/front_end/core/i18n/locales/sv.json +52 -31
- package/front_end/core/i18n/locales/sw.json +60 -39
- package/front_end/core/i18n/locales/ta.json +67 -46
- package/front_end/core/i18n/locales/te.json +62 -41
- package/front_end/core/i18n/locales/th.json +52 -31
- package/front_end/core/i18n/locales/tr.json +55 -34
- package/front_end/core/i18n/locales/uk.json +55 -34
- package/front_end/core/i18n/locales/ur.json +60 -39
- package/front_end/core/i18n/locales/uz.json +52 -31
- package/front_end/core/i18n/locales/vi.json +54 -33
- package/front_end/core/i18n/locales/zh-HK.json +52 -31
- package/front_end/core/i18n/locales/zh-TW.json +57 -36
- package/front_end/core/i18n/locales/zh.json +56 -35
- package/front_end/core/i18n/locales/zu.json +59 -38
- package/front_end/core/sdk/FrameManager.ts +2 -2
- package/front_end/core/sdk/RemoteObject.ts +43 -20
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +1 -1
- package/front_end/entrypoints/js_app/JsMain.ts +1 -1
- package/front_end/entrypoints/node_main/NodeMain.ts +1 -1
- package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
- package/front_end/legacy/legacy-defs.d.ts +9 -0
- package/front_end/models/emulation/DeviceModeModel.ts +1 -1
- package/front_end/models/extensions/ExtensionAPI.ts +1 -1
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +4 -1
- package/front_end/models/issues_manager/descriptions/arAttributionEventSourceTriggerDataTooLarge.md +4 -0
- package/front_end/models/timeline_model/TimelineModel.ts +5 -1
- package/front_end/panels/application/ApplicationPanelSidebar.ts +8 -7
- package/front_end/panels/application/DatabaseQueryView.ts +7 -1
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +1 -1
- package/front_end/panels/changes/ChangesSidebar.ts +6 -1
- package/front_end/panels/console/ConsolePrompt.ts +6 -1
- package/front_end/panels/console/ConsoleSidebar.ts +5 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +2 -2
- package/front_end/panels/coverage/CoverageView.ts +5 -4
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +59 -48
- package/front_end/panels/css_overview/CSSOverviewController.ts +48 -8
- package/front_end/panels/css_overview/CSSOverviewPanel.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +8 -1
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +14 -12
- package/front_end/panels/elements/ElementsPanel.ts +10 -8
- package/front_end/panels/elements/ElementsTreeOutline.ts +8 -1
- package/front_end/panels/elements/StylesSidebarPane.ts +12 -2
- package/front_end/panels/elements/layoutPane.css +1 -0
- package/front_end/panels/emulation/AdvancedApp.ts +2 -12
- package/front_end/panels/emulation/InspectedPagePlaceholder.ts +14 -1
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +10 -0
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +7 -1
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +4 -4
- package/front_end/panels/layer_viewer/Layers3DView.ts +7 -1
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +7 -1
- package/front_end/panels/layers/LayersPanel.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +1 -2
- package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +4 -0
- package/front_end/panels/network/NetworkDataGridNode.ts +46 -104
- package/front_end/panels/network/NetworkItemView.ts +2 -6
- package/front_end/panels/network/NetworkLogView.ts +4 -4
- package/front_end/panels/network/NetworkPanel.ts +12 -18
- package/front_end/panels/network/RequestTimingView.ts +3 -1
- package/front_end/panels/network/module.json +0 -3
- package/front_end/panels/profiler/CPUProfileFlameChart.ts +26 -11
- package/front_end/panels/profiler/HeapProfileView.ts +5 -6
- package/front_end/panels/profiler/HeapSnapshotView.ts +6 -6
- package/front_end/panels/profiler/HeapTimelineOverview.ts +17 -3
- package/front_end/panels/profiler/ProfileLauncherView.ts +6 -1
- package/front_end/panels/profiler/ProfileView.ts +1 -1
- package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
- package/front_end/panels/settings/SettingsScreen.ts +2 -2
- package/front_end/panels/sources/CSSPlugin.ts +6 -6
- package/front_end/panels/sources/DebuggerPlugin.ts +4 -5
- package/front_end/panels/sources/EditingLocationHistoryManager.ts +7 -5
- package/front_end/panels/sources/InplaceFormatterEditorAction.ts +5 -5
- package/front_end/panels/sources/OutlineQuickOpen.ts +7 -2
- package/front_end/panels/sources/ScriptFormatterEditorAction.ts +5 -6
- package/front_end/panels/sources/SourcesPanel.ts +2 -2
- package/front_end/panels/sources/SourcesView.ts +16 -3
- package/front_end/panels/sources/TabbedEditorContainer.ts +8 -13
- package/front_end/panels/sources/UISourceCodeFrame.ts +7 -1
- package/front_end/panels/sources/watchExpressionsSidebarPane.css +2 -7
- package/front_end/panels/timeline/TimelineDetailsView.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartView.ts +4 -4
- package/front_end/panels/timeline/TimelineLayersView.ts +7 -7
- package/front_end/panels/timeline/TimelinePanel.ts +2 -1
- package/front_end/panels/timeline/TimelineTreeView.ts +6 -1
- package/front_end/ui/components/docs/toggle_fonts.ts +28 -1
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +4 -5
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +14 -5
- package/front_end/ui/legacy/Dialog.ts +12 -2
- package/front_end/ui/legacy/FilterBar.ts +12 -8
- package/front_end/ui/legacy/InspectorView.ts +3 -3
- package/front_end/ui/legacy/SplitWidget.ts +6 -1
- package/front_end/ui/legacy/TabbedPane.ts +9 -1
- package/front_end/ui/legacy/TextEditor.ts +12 -1
- package/front_end/ui/legacy/Treeoutline.ts +19 -11
- package/front_end/ui/legacy/ViewManager.ts +8 -7
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +6 -1
- package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +6 -1
- package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +7 -1
- package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +12 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +19 -71
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +8 -1
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +9 -1
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +13 -3
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +14 -3
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +11 -4
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +13 -3
- package/front_end/ui/legacy/components/quick_open/QuickInput.ts +4 -5
- package/front_end/ui/legacy/components/quick_open/QuickPick.ts +4 -5
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +29 -19
- package/front_end/ui/legacy/components/source_frame/SourcesTextEditor.ts +18 -2
- package/front_end/ui/legacy/components/text_editor/CodeMirrorTextEditor.ts +3 -1
- package/front_end/ui/legacy/splitWidget.css +2 -2
- package/inspector_overlay/common.ts +3 -3
- package/inspector_overlay/tool_viewport_size.ts +1 -1
- package/package.json +1 -1
- 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:
|
|
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
|
|
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
|
|
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
|
|
58
|
-
|
|
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
|
|
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
|
|
14
|
+
export class ProtocolService {
|
|
16
15
|
private rawConnection?: ProtocolClient.InspectorBackend.Connection;
|
|
17
16
|
private lighthouseWorkerPromise?: Promise<Worker>;
|
|
18
17
|
private lighthouseMessageUpdateCallback?: ((arg0: string) => void);
|
|
@@ -245,100 +245,49 @@ export enum Events {
|
|
|
245
245
|
RequestActivated = 'RequestActivated',
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
export
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
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
|
-
|
|
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
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
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
|
|
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(
|
|
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):
|
|
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
|
-
|
|
654
|
-
|
|
655
|
-
|
|
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 =
|
|
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 =
|
|
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(
|
|
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
|
|