chrome-devtools-frontend 1.0.1689415 → 1.0.1690116
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/eslint.config.mjs +8 -2
- package/front_end/core/common/Object.ts +10 -4
- package/front_end/core/i18n/collect-ui-strings.js +5 -5
- package/front_end/core/i18n/generate-locales-js.js +1 -1
- package/front_end/core/i18n/i18n.ts +6 -0
- package/front_end/core/root/Runtime.ts +0 -5
- package/front_end/core/sdk/CSSMetadata.ts +3 -5
- package/front_end/core/sdk/DOMModel.ts +46 -11
- package/front_end/core/sdk/EmulationModel.ts +18 -0
- package/front_end/core/sdk/SDKSettings.ts +9 -0
- package/front_end/core/sdk/Script.ts +0 -1
- package/front_end/core/sdk/SecurityOrigin.ts +135 -25
- package/front_end/core/sdk/Target.ts +1 -5
- package/front_end/models/ai_assistance/AiUtils.ts +0 -10
- package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +6 -10
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +0 -1
- package/front_end/models/ai_assistance/injected.ts +0 -2
- package/front_end/models/javascript_metadata/NativeFunctions.ts +1 -1
- package/front_end/models/trace/insights/CLSCulprits.ts +1 -2
- package/front_end/models/trace/insights/Cache.ts +1 -3
- package/front_end/models/trace/insights/CharacterSet.ts +1 -3
- package/front_end/models/trace/insights/DOMSize.ts +1 -3
- package/front_end/models/trace/insights/DocumentLatency.ts +1 -3
- package/front_end/models/trace/insights/DuplicatedJavaScript.ts +1 -3
- package/front_end/models/trace/insights/FontDisplay.ts +1 -2
- package/front_end/models/trace/insights/ForcedReflow.ts +1 -2
- package/front_end/models/trace/insights/INPBreakdown.ts +1 -3
- package/front_end/models/trace/insights/ImageDelivery.ts +1 -3
- package/front_end/models/trace/insights/LCPBreakdown.ts +1 -3
- package/front_end/models/trace/insights/LCPDiscovery.ts +1 -3
- package/front_end/models/trace/insights/LegacyJavaScript.ts +1 -3
- package/front_end/models/trace/insights/ModernHTTP.ts +1 -2
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +1 -2
- package/front_end/models/trace/insights/RenderBlocking.ts +1 -3
- package/front_end/models/trace/insights/SlowCSSSelector.ts +1 -3
- package/front_end/models/trace/insights/ThirdParties.ts +1 -3
- package/front_end/models/trace/insights/Viewport.ts +1 -2
- package/front_end/panels/accessibility/ARIAAttributesView.ts +1 -1
- package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingView.ts +3 -3
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +1 -2
- package/front_end/panels/accessibility/AccessibilityStrings.ts +7 -3
- package/front_end/panels/ai_assistance/components/AIv2MarkdownRenderer.ts +2 -2
- package/front_end/panels/ai_assistance/components/AccessibilityAgentMarkdownRenderer.ts +1 -3
- package/front_end/panels/animation/AnimationGroupPreviewUI.ts +1 -1
- package/front_end/panels/animation/AnimationTimeline.ts +1 -1
- package/front_end/panels/animation/AnimationUI.ts +1 -1
- package/front_end/panels/application/AppManifestView.ts +6 -2
- package/front_end/panels/application/ApplicationPanelSidebar.ts +2 -4
- package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +1 -1
- package/front_end/panels/application/FrameDetailsView.ts +1 -1
- package/front_end/panels/application/IndexedDBViews.ts +3 -2
- package/front_end/panels/application/ReportingApiTreeElement.ts +1 -1
- package/front_end/panels/application/ReportingApiView.ts +2 -2
- package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +1 -1
- package/front_end/panels/application/ServiceWorkersView.ts +1 -1
- package/front_end/panels/application/StorageBucketsTreeElement.ts +1 -1
- package/front_end/panels/application/StorageItemsToolbar.ts +6 -2
- package/front_end/panels/application/StorageView.ts +9 -8
- package/front_end/panels/application/TrustTokensTreeElement.ts +1 -1
- package/front_end/panels/application/WebMCPView.ts +2 -1
- package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +1 -1
- package/front_end/panels/application/components/CrashReportContextGrid.ts +1 -1
- package/front_end/panels/application/components/EndpointsGrid.ts +1 -1
- package/front_end/panels/application/components/ReportsGrid.ts +1 -1
- package/front_end/panels/application/components/TrustTokensView.ts +1 -1
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +1 -1
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +1 -1
- package/front_end/panels/application/preloading/components/RuleSetGrid.ts +7 -2
- package/front_end/panels/application/serviceWorkerUpdateCycleView.css +2 -0
- package/front_end/panels/autofill/AutofillView.ts +2 -2
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +2 -3
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
- package/front_end/panels/changes/ChangesSidebar.ts +56 -15
- package/front_end/panels/changes/ChangesView.ts +1 -1
- package/front_end/panels/console/ConsolePrompt.ts +6 -2
- package/front_end/panels/console/ConsoleSidebar.ts +6 -2
- package/front_end/panels/elements/ElementsTreeElement.ts +12 -0
- package/front_end/panels/elements/ElementsTreeOutline.ts +400 -128
- package/front_end/panels/elements/PropertyRenderer.ts +22 -15
- package/front_end/panels/elements/StandaloneStylesContainer.ts +6 -2
- package/front_end/panels/elements/StylePropertyTreeElement.ts +75 -26
- package/front_end/panels/elements/StylesSidebarPane.ts +6 -2
- package/front_end/panels/elements/elementsTreeOutline.css +4 -0
- package/front_end/panels/emulation/DeviceModeView.ts +6 -1
- package/front_end/panels/emulation/InspectedPagePlaceholder.ts +6 -2
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +6 -2
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +7 -2
- package/front_end/panels/layer_viewer/Layers3DView.ts +8 -1
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +6 -2
- package/front_end/panels/lighthouse/lighthousePanel.css +5 -5
- package/front_end/panels/lighthouse/lighthouseStartView.css +13 -13
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +6 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +6 -2
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +6 -2
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +25 -54
- package/front_end/panels/network/NetworkLogView.ts +8 -3
- package/front_end/panels/network/components/RequestHeadersView.css +5 -0
- package/front_end/panels/network/networkLogView.css +4 -0
- package/front_end/panels/network/requestInitiatorViewTree.css +2 -0
- package/front_end/panels/performance_monitor/performanceMonitor.css +3 -3
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +7 -2
- package/front_end/panels/profiler/HeapProfileView.ts +7 -2
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +8 -4
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +8 -4
- package/front_end/panels/profiler/HeapSnapshotView.ts +15 -6
- package/front_end/panels/profiler/HeapTimelineOverview.ts +6 -2
- package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +12 -5
- package/front_end/panels/profiler/ProfileLauncherView.ts +6 -2
- package/front_end/panels/profiler/profilesPanel.css +8 -9
- package/front_end/panels/profiler/profilesSidebarTree.css +13 -13
- package/front_end/panels/protocol_monitor/JSONEditor.css +2 -2
- package/front_end/panels/protocol_monitor/JSONEditor.ts +6 -1
- package/front_end/panels/protocol_monitor/protocolMonitor.css +2 -2
- package/front_end/panels/sources/SourcesView.ts +7 -2
- package/front_end/panels/sources/TabbedEditorContainer.ts +6 -2
- package/front_end/panels/sources/UISourceCodeFrame.ts +10 -3
- package/front_end/panels/timeline/AnimationsTrackAppender.ts +1 -1
- package/front_end/panels/timeline/AnnotationHelpers.ts +9 -9
- package/front_end/panels/timeline/CountersGraph.ts +8 -8
- package/front_end/panels/timeline/EventsTimelineTreeView.ts +3 -3
- package/front_end/panels/timeline/ExtensionTrackAppender.ts +1 -1
- package/front_end/panels/timeline/GPUTrackAppender.ts +1 -1
- package/front_end/panels/timeline/InteractionsTrackAppender.ts +1 -1
- package/front_end/panels/timeline/IsolateSelector.ts +2 -2
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +3 -3
- package/front_end/panels/timeline/NetworkTrackAppender.ts +1 -1
- package/front_end/panels/timeline/StatusDialog.ts +5 -6
- package/front_end/panels/timeline/ThirdPartyTreeView.ts +4 -4
- package/front_end/panels/timeline/ThreadAppender.ts +12 -14
- package/front_end/panels/timeline/TimelineController.ts +5 -8
- package/front_end/panels/timeline/TimelineDetailsView.ts +13 -9
- package/front_end/panels/timeline/TimelineEventOverview.ts +4 -4
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +17 -17
- package/front_end/panels/timeline/TimelineFlameChartView.ts +8 -3
- package/front_end/panels/timeline/TimelineHistoryManager.ts +8 -8
- package/front_end/panels/timeline/TimelineLoader.ts +1 -1
- package/front_end/panels/timeline/TimelineMiniMap.ts +7 -2
- package/front_end/panels/timeline/TimelinePanel.ts +57 -59
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +27 -27
- package/front_end/panels/timeline/TimelineTreeView.ts +46 -44
- package/front_end/panels/timeline/TimelineUIUtils.ts +142 -116
- package/front_end/panels/timeline/TimingsTrackAppender.ts +1 -1
- package/front_end/panels/timeline/TrackConfigBanner.ts +4 -4
- package/front_end/panels/timeline/UIDevtoolsUtils.ts +15 -15
- package/front_end/panels/timeline/components/insights/Table.ts +1 -1
- package/front_end/panels/timeline/enable-easter-egg.js +1 -1
- package/front_end/panels/timeline/timeline-meta.ts +30 -30
- package/front_end/panels/timeline/timelineFlameChartView.css +10 -10
- package/front_end/panels/timeline/timelineFlamechartPopover.css +5 -5
- package/front_end/panels/timeline/timelineHistoryManager.css +7 -7
- package/front_end/panels/timeline/timelinePaintProfiler.css +2 -2
- package/front_end/panels/timeline/utils/IgnoreList.ts +4 -4
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/comments/CommentAnchorResolver.ts +12 -3
- package/front_end/ui/comments/CommentOverlayManager.ts +9 -1
- package/front_end/ui/components/buttons/Button.docs.ts +1 -1
- package/front_end/ui/components/buttons/button.css +21 -0
- package/front_end/ui/components/report_view/ReportView.docs.ts +1 -1
- package/front_end/ui/components/snackbars/Snackbars.docs.ts +1 -1
- package/front_end/ui/components/spinners/Spinner.ts +1 -1
- package/front_end/ui/components/spinners/Spinners.docs.ts +1 -1
- package/front_end/ui/components/suggestion_input/SuggestionInput.ts +1 -2
- package/front_end/ui/components/switch/Switch.docs.ts +1 -1
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +10 -8
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +2 -1
- package/front_end/ui/components/text_editor/ExecutionPositionHighlighter.ts +2 -2
- package/front_end/ui/components/text_editor/TextEditor.ts +19 -0
- package/front_end/ui/components/text_editor/config.ts +109 -96
- package/front_end/ui/components/text_editor/cursor_tooltip.ts +1 -1
- package/front_end/ui/components/text_editor/theme.ts +1 -1
- package/front_end/ui/components/tooltips/Tooltip.docs.ts +1 -1
- package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
- package/front_end/ui/components/tree_outline/TreeOutlineUtils.ts +4 -1
- package/front_end/ui/kit/cards/Card.ts +1 -1
- package/front_end/ui/kit/icons/Icon.ts +1 -1
- package/front_end/ui/kit/link/Link.docs.ts +1 -1
- package/front_end/ui/kit/link/Link.ts +1 -1
- package/front_end/ui/legacy/ContextMenu.docs.ts +1 -1
- package/front_end/ui/legacy/Dialog.ts +10 -2
- package/front_end/ui/legacy/FilterBar.ts +6 -1
- package/front_end/ui/legacy/RadioButton.docs.ts +1 -1
- package/front_end/ui/legacy/SelectMenu.docs.ts +1 -1
- package/front_end/ui/legacy/Slider.docs.ts +1 -1
- package/front_end/ui/legacy/SplitWidget.ts +5 -1
- package/front_end/ui/legacy/TabbedPane.ts +5 -1
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +6 -1
- package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +6 -2
- package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +6 -1
- package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +6 -2
- package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +2 -0
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +6 -1
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +6 -2
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +8 -4
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +8 -3
- package/front_end/ui/legacy/components/quick_open/QuickOpen.ts +6 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +7 -2
- package/package.json +2 -2
|
@@ -36,8 +36,12 @@ let inspectorInstance: LinearMemoryInspectorPane;
|
|
|
36
36
|
const MEMORY_INSPECTOR_EXPLANATION_URL =
|
|
37
37
|
'https://developer.chrome.com/docs/devtools/memory-inspector' as Platform.DevToolsPath.UrlString;
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const LinearMemoryInspectorPaneBase: Common.ObjectWrapper.EventMixin<EventTypes, typeof UI.Widget.VBox> =
|
|
40
|
+
Common.ObjectWrapper.eventMixin(
|
|
41
|
+
UI.Widget.VBox,
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
export class LinearMemoryInspectorPane extends LinearMemoryInspectorPaneBase {
|
|
41
45
|
readonly #tabbedPane: UI.TabbedPane.TabbedPane;
|
|
42
46
|
|
|
43
47
|
constructor() {
|
|
@@ -242,8 +242,12 @@ function getSmallestEnclosingMemoryHighlight(highlightedMemoryAreas: HighlightIn
|
|
|
242
242
|
|
|
243
243
|
export type View = typeof DEFAULT_VIEW;
|
|
244
244
|
|
|
245
|
-
|
|
246
|
-
|
|
245
|
+
const LinearMemoryInspectorBase: Common.ObjectWrapper.EventMixin<EventTypes, typeof UI.Widget.Widget> =
|
|
246
|
+
Common.ObjectWrapper.eventMixin(
|
|
247
|
+
UI.Widget.Widget,
|
|
248
|
+
);
|
|
249
|
+
|
|
250
|
+
export class LinearMemoryInspector extends LinearMemoryInspectorBase {
|
|
247
251
|
readonly #history = new Common.SimpleHistoryManager.SimpleHistoryManager(10);
|
|
248
252
|
|
|
249
253
|
#memory = new Uint8Array();
|
|
@@ -176,8 +176,12 @@ export function getRecommendedNetworkConditions(roundTripTimeMetricData?: CrUXMa
|
|
|
176
176
|
return null;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
const NetworkThrottlingSelectBase: Common.ObjectWrapper.EventMixin<EventTypes, typeof UI.Widget.Widget> =
|
|
180
|
+
Common.ObjectWrapper.eventMixin(
|
|
181
|
+
UI.Widget.Widget,
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
export class NetworkThrottlingSelect extends NetworkThrottlingSelectBase {
|
|
181
185
|
readonly #settings: Common.Settings.Settings;
|
|
182
186
|
#recommendedConditions: SDK.NetworkManager.Conditions|null = null;
|
|
183
187
|
#jslogContext?: string;
|
|
@@ -88,17 +88,7 @@ const str_ = i18n.i18n.registerUIStrings('panels/mobile_throttling/ThrottlingMan
|
|
|
88
88
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
89
89
|
let throttlingManagerInstance: ThrottlingManager;
|
|
90
90
|
|
|
91
|
-
class
|
|
92
|
-
#promise = Promise.resolve();
|
|
93
|
-
|
|
94
|
-
push(promise: Promise<T>): Promise<T> {
|
|
95
|
-
return new Promise(r => {
|
|
96
|
-
this.#promise = this.#promise.then(async () => r(await promise));
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export class ThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<ThrottlingManager.EventTypes> {
|
|
91
|
+
export class ThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<void> {
|
|
102
92
|
private readonly cpuThrottlingControls: Set<UI.Toolbar.ToolbarComboBox>;
|
|
103
93
|
private readonly cpuThrottlingOptions: PanelsCommon.CPUThrottlingOption.CPUThrottlingOption[];
|
|
104
94
|
private readonly customNetworkConditionsSetting: Common.Settings.Setting<SDK.NetworkManager.Conditions[]>;
|
|
@@ -111,7 +101,6 @@ export class ThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<Thrott
|
|
|
111
101
|
#hardwareConcurrencyOverrideEnabled = false;
|
|
112
102
|
#currentCPUThrottlingOption: PanelsCommon.CPUThrottlingOption.CPUThrottlingOption =
|
|
113
103
|
PanelsCommon.CPUThrottlingOption.NoThrottlingOption;
|
|
114
|
-
readonly #emulationQueue = new PromiseQueue<void>();
|
|
115
104
|
get hardwareConcurrencyOverrideEnabled(): boolean {
|
|
116
105
|
return this.#hardwareConcurrencyOverrideEnabled;
|
|
117
106
|
}
|
|
@@ -302,19 +291,6 @@ export class ThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<Thrott
|
|
|
302
291
|
};
|
|
303
292
|
}
|
|
304
293
|
|
|
305
|
-
setSaveDataOverride(selectedIndex: number): void {
|
|
306
|
-
let override = SDK.EmulationModel.DataSaverOverride.UNSET;
|
|
307
|
-
if (selectedIndex === 1) {
|
|
308
|
-
override = SDK.EmulationModel.DataSaverOverride.ENABLED;
|
|
309
|
-
} else if (selectedIndex === 2) {
|
|
310
|
-
override = SDK.EmulationModel.DataSaverOverride.DISABLED;
|
|
311
|
-
}
|
|
312
|
-
for (const emulationModel of SDK.TargetManager.TargetManager.instance().models(SDK.EmulationModel.EmulationModel)) {
|
|
313
|
-
void this.#emulationQueue.push(emulationModel.setDataSaverOverride(override));
|
|
314
|
-
}
|
|
315
|
-
this.dispatchEventToListeners(ThrottlingManager.Events.SAVE_DATA_OVERRIDE_CHANGED, selectedIndex);
|
|
316
|
-
}
|
|
317
|
-
|
|
318
294
|
createSaveDataOverrideSelector(className?: string): HTMLSelectElement {
|
|
319
295
|
const select = document.createElement('select');
|
|
320
296
|
select.title = i18nString(UIStrings.saveDataSettingTooltip);
|
|
@@ -408,8 +384,8 @@ export class ThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<Thrott
|
|
|
408
384
|
}
|
|
409
385
|
|
|
410
386
|
export interface SaveDataOverrideViewInput {
|
|
411
|
-
|
|
412
|
-
onSelect: (
|
|
387
|
+
selectedOption: SDK.EmulationModel.DataSaverOverride;
|
|
388
|
+
onSelect: (selectedOption: SDK.EmulationModel.DataSaverOverride) => void;
|
|
413
389
|
}
|
|
414
390
|
|
|
415
391
|
export type SaveDataOverrideViewFunction =
|
|
@@ -418,48 +394,43 @@ export type SaveDataOverrideViewFunction =
|
|
|
418
394
|
export const DEFAULT_SAVE_DATA_VIEW: SaveDataOverrideViewFunction = (input, _output, target) => {
|
|
419
395
|
// clang-format off
|
|
420
396
|
render(html`
|
|
421
|
-
<option value
|
|
422
|
-
<option value
|
|
423
|
-
<option value
|
|
424
|
-
`, target, {container: {listeners: {change: (e: Event) => input.onSelect((e.target as HTMLSelectElement).
|
|
397
|
+
<option value=${SDK.EmulationModel.DataSaverOverride.UNSET} ?selected=${input.selectedOption === SDK.EmulationModel.DataSaverOverride.UNSET}>${i18nString(UIStrings.noSaveDataOverride)}</option>
|
|
398
|
+
<option value=${SDK.EmulationModel.DataSaverOverride.ENABLED} ?selected=${input.selectedOption === SDK.EmulationModel.DataSaverOverride.ENABLED}>${i18nString(UIStrings.saveDataOn)}</option>
|
|
399
|
+
<option value=${SDK.EmulationModel.DataSaverOverride.DISABLED} ?selected=${input.selectedOption === SDK.EmulationModel.DataSaverOverride.DISABLED}>${i18nString(UIStrings.saveDataOff)}</option>
|
|
400
|
+
`, target, {container: {listeners: {change: (e: Event) => input.onSelect((e.target as HTMLSelectElement).value as SDK.EmulationModel.DataSaverOverride)}}});
|
|
425
401
|
// clang-format on
|
|
426
402
|
};
|
|
427
403
|
|
|
428
|
-
export class SaveDataOverrideSelect extends
|
|
429
|
-
|
|
430
|
-
UI.Widget.Widget) {
|
|
431
|
-
#selectedIndex = 0;
|
|
404
|
+
export class SaveDataOverrideSelect extends UI.Widget.Widget<HTMLSelectElement> {
|
|
405
|
+
readonly #setting: Common.Settings.Setting<SDK.EmulationModel.DataSaverOverride>;
|
|
432
406
|
readonly #view: SaveDataOverrideViewFunction;
|
|
433
407
|
|
|
434
408
|
constructor(element: HTMLElement, view = DEFAULT_SAVE_DATA_VIEW) {
|
|
435
409
|
super(element);
|
|
436
410
|
this.#view = view;
|
|
437
|
-
|
|
438
|
-
this.#selectedIndex = data;
|
|
439
|
-
this.requestUpdate();
|
|
440
|
-
});
|
|
411
|
+
this.#setting = Common.Settings.Settings.instance().resolve(SDK.SDKSettings.dataSaverSettingDescriptor);
|
|
441
412
|
this.performUpdate();
|
|
442
413
|
}
|
|
443
414
|
|
|
444
|
-
override
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
onSelect: index => {
|
|
449
|
-
ThrottlingManager.instance().setSaveDataOverride(index);
|
|
450
|
-
},
|
|
451
|
-
},
|
|
452
|
-
undefined, this.contentElement);
|
|
415
|
+
override wasShown(): void {
|
|
416
|
+
super.wasShown();
|
|
417
|
+
this.#setting.addChangeListener(this.requestUpdate, this);
|
|
418
|
+
this.requestUpdate();
|
|
453
419
|
}
|
|
454
|
-
}
|
|
455
420
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
421
|
+
override willHide(): void {
|
|
422
|
+
super.willHide();
|
|
423
|
+
this.#setting.removeChangeListener(this.requestUpdate, this);
|
|
459
424
|
}
|
|
460
425
|
|
|
461
|
-
|
|
462
|
-
|
|
426
|
+
override performUpdate(): void {
|
|
427
|
+
this.#view({
|
|
428
|
+
selectedOption: this.#setting.get(),
|
|
429
|
+
onSelect: selectedOption => {
|
|
430
|
+
this.#setting.set(selectedOption);
|
|
431
|
+
},
|
|
432
|
+
},
|
|
433
|
+
undefined, this.contentElement);
|
|
463
434
|
}
|
|
464
435
|
}
|
|
465
436
|
|
|
@@ -553,8 +553,13 @@ const enum FetchStyle {
|
|
|
553
553
|
NODE_JS = 1,
|
|
554
554
|
}
|
|
555
555
|
|
|
556
|
-
|
|
557
|
-
|
|
556
|
+
const NetworkLogViewBase: Common.ObjectWrapper.EventMixin<EventTypes, typeof UI.Widget.VBox> =
|
|
557
|
+
Common.ObjectWrapper.eventMixin(
|
|
558
|
+
UI.Widget.VBox,
|
|
559
|
+
);
|
|
560
|
+
|
|
561
|
+
export class NetworkLogView extends NetworkLogViewBase implements
|
|
562
|
+
SDK.TargetManager.SDKModelObserver<SDK.NetworkManager.NetworkManager>, NetworkLogViewInterface {
|
|
558
563
|
private readonly networkInvertFilterSetting: Common.Settings.Setting<boolean>;
|
|
559
564
|
private readonly networkHideDataURLSetting: Common.Settings.Setting<boolean>;
|
|
560
565
|
private readonly networkHideChromeExtensions: Common.Settings.Setting<boolean>;
|
|
@@ -1146,7 +1151,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
|
1146
1151
|
jslogContext: actionName,
|
|
1147
1152
|
variant: Buttons.Button.Variant.TONAL,
|
|
1148
1153
|
});
|
|
1149
|
-
this.recordingHint.
|
|
1154
|
+
this.recordingHint.element.appendChild(button);
|
|
1150
1155
|
}
|
|
1151
1156
|
|
|
1152
1157
|
this.recordingHint.show(this.element);
|
|
@@ -21,6 +21,11 @@
|
|
|
21
21
|
background-color: var(--sys-color-state-header-hover);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
.header:focus-visible {
|
|
25
|
+
outline: var(--sys-size-2) solid var(--sys-color-state-focus-ring);
|
|
26
|
+
outline-offset: calc(-1 * var(--sys-size-2));
|
|
27
|
+
}
|
|
28
|
+
|
|
24
29
|
details[open] .header-count {
|
|
25
30
|
display: none;
|
|
26
31
|
}
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
|
|
25
25
|
.request-initiator-view-section-title:focus-visible {
|
|
26
26
|
background-color: var(--sys-color-state-focus-highlight);
|
|
27
|
+
outline: var(--sys-size-2) solid var(--sys-color-state-focus-ring);
|
|
28
|
+
outline-offset: calc(-1 * var(--sys-size-2));
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
@media (forced-colors: active) {
|
|
@@ -46,14 +46,14 @@
|
|
|
46
46
|
display: flex;
|
|
47
47
|
flex: initial;
|
|
48
48
|
flex-direction: column;
|
|
49
|
-
padding:
|
|
49
|
+
padding: var(--sys-size-4) 0;
|
|
50
50
|
overflow: hidden auto;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
.perfmon-chart-container {
|
|
54
54
|
display: flex;
|
|
55
55
|
flex: 1 1;
|
|
56
|
-
border-left:
|
|
56
|
+
border-left: var(--sys-size-1) solid var(--sys-color-divider);
|
|
57
57
|
overflow-y: auto;
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
|
|
64
64
|
.perfmon-indicator {
|
|
65
65
|
padding: 3px 9px;
|
|
66
|
-
margin: -
|
|
66
|
+
margin: calc(-1 * var(--sys-size-1)) 0;
|
|
67
67
|
display: flex;
|
|
68
68
|
flex-shrink: 0;
|
|
69
69
|
width: 210px;
|
|
@@ -91,8 +91,13 @@ export class DetachedElementsProfileView extends UI.View.SimpleView implements D
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
Common.ObjectWrapper.
|
|
94
|
+
const DetachedElementsProfileTypeBase:
|
|
95
|
+
Common.ObjectWrapper.EventMixin<DetachedElementsProfileType.EventTypes, typeof ProfileType> =
|
|
96
|
+
Common.ObjectWrapper.eventMixin(
|
|
97
|
+
ProfileType,
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
export class DetachedElementsProfileType extends DetachedElementsProfileTypeBase {
|
|
96
101
|
constructor(typeId?: string, description?: string) {
|
|
97
102
|
super(
|
|
98
103
|
typeId || i18nString(UIStrings.detachedElementsTitle),
|
|
@@ -924,8 +924,13 @@ export class HeapProfileView extends UI.View.SimpleView implements UI.Searchable
|
|
|
924
924
|
}
|
|
925
925
|
}
|
|
926
926
|
|
|
927
|
-
|
|
928
|
-
Common.ObjectWrapper.
|
|
927
|
+
const SamplingHeapProfileTypeBaseBase:
|
|
928
|
+
Common.ObjectWrapper.EventMixin<SamplingHeapProfileType.EventTypes, typeof ProfileType> =
|
|
929
|
+
Common.ObjectWrapper.eventMixin(
|
|
930
|
+
ProfileType,
|
|
931
|
+
);
|
|
932
|
+
|
|
933
|
+
export class SamplingHeapProfileTypeBase extends SamplingHeapProfileTypeBaseBase {
|
|
929
934
|
recording: boolean;
|
|
930
935
|
clearedDuringRecording: boolean;
|
|
931
936
|
|
|
@@ -122,11 +122,15 @@ const str_ = i18n.i18n.registerUIStrings('panels/profiler/HeapSnapshotDataGrids.
|
|
|
122
122
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
123
123
|
const adjacencyMap = new WeakMap<DataGrid.DataGrid.DataGridNode<HeapSnapshotGridNode>, HeapSnapshotGridNode[]>();
|
|
124
124
|
|
|
125
|
-
class
|
|
125
|
+
class HeapSnapshotSortableDataGridRawBase extends DataGrid.DataGrid.DataGridImpl<HeapSnapshotGridNode> {}
|
|
126
126
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
const HeapSnapshotSortableDataGridBase:
|
|
128
|
+
Common.ObjectWrapper.EventMixin<EventTypes, typeof HeapSnapshotSortableDataGridRawBase> =
|
|
129
|
+
Common.ObjectWrapper.eventMixin(
|
|
130
|
+
HeapSnapshotSortableDataGridRawBase,
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
export class HeapSnapshotSortableDataGrid extends HeapSnapshotSortableDataGridBase {
|
|
130
134
|
snapshot: HeapSnapshotModel.HeapSnapshotProxy.HeapSnapshotProxy|null = null;
|
|
131
135
|
override selectedNode: HeapSnapshotGridNode|null = null;
|
|
132
136
|
readonly heapProfilerModelInternal: SDK.HeapProfilerModel.HeapProfilerModel|null;
|
|
@@ -129,11 +129,15 @@ const UIStrings = {
|
|
|
129
129
|
const str_ = i18n.i18n.registerUIStrings('panels/profiler/HeapSnapshotGridNodes.ts', UIStrings);
|
|
130
130
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
131
131
|
|
|
132
|
-
class
|
|
132
|
+
class HeapSnapshotGridNodeRawBase extends DataGrid.DataGrid.DataGridNode<HeapSnapshotGridNode> {}
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
Common.ObjectWrapper.
|
|
136
|
-
|
|
134
|
+
const HeapSnapshotGridNodeBase:
|
|
135
|
+
Common.ObjectWrapper.EventMixin<HeapSnapshotGridNode.EventTypes, typeof HeapSnapshotGridNodeRawBase> =
|
|
136
|
+
Common.ObjectWrapper.eventMixin(
|
|
137
|
+
HeapSnapshotGridNodeRawBase,
|
|
138
|
+
);
|
|
139
|
+
|
|
140
|
+
export class HeapSnapshotGridNode extends HeapSnapshotGridNodeBase {
|
|
137
141
|
dataGridInternal: HeapSnapshotSortableDataGrid;
|
|
138
142
|
instanceCount = 0;
|
|
139
143
|
readonly savedChildren = new Map<number, HeapSnapshotGridNode>();
|
|
@@ -1391,9 +1391,14 @@ export class StatisticsPerspective extends Perspective {
|
|
|
1391
1391
|
}
|
|
1392
1392
|
}
|
|
1393
1393
|
|
|
1394
|
-
|
|
1395
|
-
Common.ObjectWrapper.
|
|
1396
|
-
|
|
1394
|
+
const HeapSnapshotProfileTypeBase:
|
|
1395
|
+
Common.ObjectWrapper.EventMixin<HeapSnapshotProfileTypeEventTypes, typeof ProfileType> =
|
|
1396
|
+
Common.ObjectWrapper.eventMixin(
|
|
1397
|
+
ProfileType,
|
|
1398
|
+
);
|
|
1399
|
+
|
|
1400
|
+
export class HeapSnapshotProfileType extends HeapSnapshotProfileTypeBase implements
|
|
1401
|
+
SDK.TargetManager.SDKModelObserver<SDK.HeapProfilerModel.HeapProfilerModel> {
|
|
1397
1402
|
customContentInternal: UI.UIUtils.CheckboxLabel|null;
|
|
1398
1403
|
constructor(id?: string, title?: string) {
|
|
1399
1404
|
super(id || HeapSnapshotProfileType.TypeId, title || i18nString(UIStrings.heapSnapshot));
|
|
@@ -1531,9 +1536,13 @@ export interface HeapSnapshotProfileTypeEventTypes {
|
|
|
1531
1536
|
[HeapSnapshotProfileTypeEvents.SNAPSHOT_RECEIVED]: ProfileHeader;
|
|
1532
1537
|
}
|
|
1533
1538
|
|
|
1534
|
-
|
|
1535
|
-
Common.ObjectWrapper.
|
|
1536
|
-
|
|
1539
|
+
const TrackingHeapSnapshotProfileTypeBase:
|
|
1540
|
+
Common.ObjectWrapper.EventMixin<TrackingHeapSnapshotProfileTypeEventTypes, typeof HeapSnapshotProfileType> =
|
|
1541
|
+
Common.ObjectWrapper.eventMixin(
|
|
1542
|
+
HeapSnapshotProfileType,
|
|
1543
|
+
);
|
|
1544
|
+
|
|
1545
|
+
export class TrackingHeapSnapshotProfileType extends TrackingHeapSnapshotProfileTypeBase {
|
|
1537
1546
|
readonly recordAllocationStacksSettingInternal: Common.Settings.Setting<boolean>;
|
|
1538
1547
|
override customContentInternal: UI.UIUtils.CheckboxLabel|null;
|
|
1539
1548
|
recording: boolean;
|
|
@@ -12,8 +12,12 @@ import * as UI from '../../ui/legacy/legacy.js';
|
|
|
12
12
|
import * as ThemeSupport from '../../ui/legacy/theme_support/theme_support.js';
|
|
13
13
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const HeapTimelineOverviewBase: Common.ObjectWrapper.EventMixin<EventTypes, typeof UI.Widget.VBox> =
|
|
16
|
+
Common.ObjectWrapper.eventMixin(
|
|
17
|
+
UI.Widget.VBox,
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
export class HeapTimelineOverview extends HeapTimelineOverviewBase {
|
|
17
21
|
readonly overviewCalculator: OverviewCalculator;
|
|
18
22
|
overviewContainer: HTMLElement;
|
|
19
23
|
overviewGrid: PerfUI.OverviewGrid.OverviewGrid;
|
|
@@ -131,9 +131,12 @@ export class ProfileFlameChartDataProvider implements PerfUI.FlameChart.FlameCha
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
Common.ObjectWrapper.eventMixin
|
|
136
|
-
|
|
134
|
+
const ProfileFlameChartBase: Common.ObjectWrapper.EventMixin<PerfUI.FlameChart.EventTypes, typeof UI.Widget.VBox> =
|
|
135
|
+
Common.ObjectWrapper.eventMixin(
|
|
136
|
+
UI.Widget.VBox,
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
export class ProfileFlameChart extends ProfileFlameChartBase implements UI.SearchableView.Searchable {
|
|
137
140
|
readonly searchableView: UI.SearchableView.SearchableView;
|
|
138
141
|
readonly overviewPane: OverviewPane;
|
|
139
142
|
readonly mainPane: PerfUI.FlameChart.FlameChart;
|
|
@@ -311,8 +314,12 @@ export class OverviewCalculator implements NetworkTimeCalculator.Calculator {
|
|
|
311
314
|
}
|
|
312
315
|
}
|
|
313
316
|
|
|
314
|
-
|
|
315
|
-
|
|
317
|
+
const OverviewPaneBase: Common.ObjectWrapper.EventMixin<OverviewPaneEventTypes, typeof UI.Widget.VBox> =
|
|
318
|
+
Common.ObjectWrapper.eventMixin(
|
|
319
|
+
UI.Widget.VBox,
|
|
320
|
+
);
|
|
321
|
+
|
|
322
|
+
export class OverviewPane extends OverviewPaneBase implements PerfUI.FlameChart.FlameChartDelegate {
|
|
316
323
|
overviewContainer: HTMLElement;
|
|
317
324
|
readonly overviewCalculator: OverviewCalculator;
|
|
318
325
|
readonly overviewGrid: PerfUI.OverviewGrid.OverviewGrid;
|
|
@@ -133,8 +133,12 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
133
133
|
};
|
|
134
134
|
// clang-format on
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
const ProfileLauncherViewBase: Common.ObjectWrapper.EventMixin<EventTypes, typeof UI.Widget.VBox> =
|
|
137
|
+
Common.ObjectWrapper.eventMixin(
|
|
138
|
+
UI.Widget.VBox,
|
|
139
|
+
);
|
|
140
|
+
|
|
141
|
+
export class ProfileLauncherView extends ProfileLauncherViewBase {
|
|
138
142
|
readonly panel: ProfilesPanel;
|
|
139
143
|
readonly selectedProfileTypeSetting: Common.Settings.Setting<string>;
|
|
140
144
|
readonly #view: View;
|
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*/
|
|
29
|
-
/* Profiler Style */
|
|
30
29
|
|
|
31
30
|
#profile-views {
|
|
32
31
|
flex: auto;
|
|
@@ -61,7 +60,7 @@
|
|
|
61
60
|
|
|
62
61
|
.profiles-toolbar {
|
|
63
62
|
background-color: var(--sys-color-cdt-base-container);
|
|
64
|
-
border-bottom:
|
|
63
|
+
border-bottom: var(--sys-size-1) solid var(--sys-color-divider);
|
|
65
64
|
flex-shrink: 0;
|
|
66
65
|
}
|
|
67
66
|
|
|
@@ -95,8 +94,8 @@
|
|
|
95
94
|
}
|
|
96
95
|
|
|
97
96
|
.profile-warn-marker {
|
|
98
|
-
vertical-align: -
|
|
99
|
-
margin-right:
|
|
97
|
+
vertical-align: calc(-1 * var(--sys-size-1));
|
|
98
|
+
margin-right: var(--sys-size-2);
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
.cpu-profile-flame-chart-overview-container {
|
|
@@ -104,17 +103,17 @@
|
|
|
104
103
|
position: absolute;
|
|
105
104
|
top: 0;
|
|
106
105
|
width: 100%;
|
|
107
|
-
height:
|
|
106
|
+
height: var(--sys-size-19);
|
|
108
107
|
}
|
|
109
108
|
|
|
110
109
|
#cpu-profile-flame-chart-overview-container {
|
|
111
|
-
border-bottom:
|
|
110
|
+
border-bottom: var(--sys-size-1) solid var(--sys-color-divider);
|
|
112
111
|
overflow: hidden;
|
|
113
112
|
}
|
|
114
113
|
|
|
115
114
|
.cpu-profile-flame-chart-overview-canvas {
|
|
116
115
|
position: absolute;
|
|
117
|
-
inset:
|
|
116
|
+
inset: var(--sys-size-9) 0 0;
|
|
118
117
|
}
|
|
119
118
|
|
|
120
119
|
#cpu-profile-flame-chart-overview-grid .resources-dividers-label-bar {
|
|
@@ -122,7 +121,7 @@
|
|
|
122
121
|
}
|
|
123
122
|
|
|
124
123
|
.cpu-profile-flame-chart-overview-pane {
|
|
125
|
-
flex: 0 0
|
|
124
|
+
flex: 0 0 var(--sys-size-19) !important; /* stylelint-disable-line declaration-no-important */
|
|
126
125
|
}
|
|
127
126
|
|
|
128
127
|
.profile-text-view {
|
|
@@ -139,7 +138,7 @@
|
|
|
139
138
|
justify-content: center;
|
|
140
139
|
align-items: center;
|
|
141
140
|
overflow: auto;
|
|
142
|
-
font-size:
|
|
141
|
+
font-size: var(--sys-typescale-body1-size);
|
|
143
142
|
color: var(--sys-color-token-subtle);
|
|
144
143
|
padding: 50px;
|
|
145
144
|
}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
|
|
14
14
|
/* Icon-related changes */
|
|
15
15
|
li .icon {
|
|
16
|
-
width:
|
|
17
|
-
height:
|
|
16
|
+
width: var(--sys-size-9);
|
|
17
|
+
height: var(--sys-size-9);
|
|
18
18
|
margin-right: var(--sys-size-6);
|
|
19
19
|
flex: none;
|
|
20
20
|
}
|
|
@@ -32,8 +32,8 @@ li .icon {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
li.small .icon {
|
|
35
|
-
width:
|
|
36
|
-
height:
|
|
35
|
+
width: var(--sys-size-8);
|
|
36
|
+
height: var(--sys-size-8);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
li.wait .icon {
|
|
@@ -86,13 +86,13 @@ ol.tree-outline {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
& .selection {
|
|
89
|
-
border-radius: 0
|
|
89
|
+
border-radius: 0 var(--sys-shape-corner-full) var(--sys-shape-corner-full) 0;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
.tree-outline .profile-launcher-view-tree-item,
|
|
94
94
|
.tree-outline li.profiles-tree-section + .children > li {
|
|
95
|
-
border-radius: 0
|
|
95
|
+
border-radius: 0 var(--sys-shape-corner-full) var(--sys-shape-corner-full) 0;
|
|
96
96
|
position: relative;
|
|
97
97
|
|
|
98
98
|
&.selected {
|
|
@@ -121,7 +121,7 @@ ol.tree-outline {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
&:focus-visible {
|
|
124
|
-
box-shadow: inset 0 0 0
|
|
124
|
+
box-shadow: inset 0 0 0 var(--sys-size-2) var(--sys-color-state-focus-ring);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
|
|
@@ -146,17 +146,17 @@ ol.tree-outline {
|
|
|
146
146
|
/* Generic items styling */
|
|
147
147
|
|
|
148
148
|
li.wait .spinner::before {
|
|
149
|
-
--dimension:
|
|
149
|
+
--dimension: var(--sys-size-9);
|
|
150
150
|
|
|
151
151
|
margin: 0;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
li.wait.small .spinner::before {
|
|
155
|
-
--dimension:
|
|
155
|
+
--dimension: var(--sys-size-7);
|
|
156
156
|
--clip-size: 9px;
|
|
157
|
-
--override-spinner-size:
|
|
157
|
+
--override-spinner-size: var(--sys-size-2);
|
|
158
158
|
|
|
159
|
-
margin:
|
|
159
|
+
margin: var(--sys-size-1);
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
li.wait.selected .spinner::before {
|
|
@@ -174,7 +174,7 @@ li.wait.selected .spinner::before {
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
li.small {
|
|
177
|
-
height:
|
|
177
|
+
height: var(--sys-size-9);
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
li .titles {
|
|
@@ -199,7 +199,7 @@ li .titles > .title-container .title.editing {
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
li.small .titles {
|
|
202
|
-
top:
|
|
202
|
+
top: var(--sys-size-2);
|
|
203
203
|
line-height: normal;
|
|
204
204
|
}
|
|
205
205
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
.warning-icon {
|
|
25
25
|
margin-left: -18px;
|
|
26
|
-
margin-right:
|
|
26
|
+
margin-right: var(--sys-size-3);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.row {
|
|
@@ -104,5 +104,5 @@ ul {
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
.protocol-monitor-sidebar-toolbar {
|
|
107
|
-
border-top:
|
|
107
|
+
border-top: var(--sys-size-1) solid var(--sys-color-divider);
|
|
108
108
|
}
|
|
@@ -177,7 +177,12 @@ export interface EventTypes {
|
|
|
177
177
|
[Events.SUBMIT_EDITOR]: Command;
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
const JSONEditorBase: Common.ObjectWrapper.EventMixin<EventTypes, typeof UI.Widget.VBox> =
|
|
181
|
+
Common.ObjectWrapper.eventMixin(
|
|
182
|
+
UI.Widget.VBox,
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
export class JSONEditor extends JSONEditorBase {
|
|
181
186
|
#metadataByCommand = new Map<string, {parameters: Parameter[], description: string, replyArgs: string[]}>();
|
|
182
187
|
#typesByName = new Map<string, Parameter[]>();
|
|
183
188
|
#enumsByName = new Map<string, Record<string, string>>();
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
@scope to (devtools-widget > *) {
|
|
7
7
|
.protocol-monitor-toolbar {
|
|
8
|
-
border-bottom:
|
|
8
|
+
border-bottom: var(--sys-size-1) solid var(--sys-color-divider);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
.protocol-monitor-bottom-toolbar {
|
|
12
|
-
border-top:
|
|
12
|
+
border-top: var(--sys-size-1) solid var(--sys-color-divider);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
.target-selector {
|
|
@@ -117,8 +117,13 @@ export const DEFAULT_VIEW: View = (input, output, target): void => {
|
|
|
117
117
|
// clang-format on
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
const SourcesViewBase: Common.ObjectWrapper.EventMixin<EventTypes, typeof UI.Widget.VBox> =
|
|
121
|
+
Common.ObjectWrapper.eventMixin(
|
|
122
|
+
UI.Widget.VBox,
|
|
123
|
+
);
|
|
124
|
+
|
|
125
|
+
export class SourcesView extends SourcesViewBase implements UI.SearchableView.Searchable,
|
|
126
|
+
UI.SearchableView.Replaceable {
|
|
122
127
|
#searchableView!: UI.SearchableView.SearchableView;
|
|
123
128
|
editorContainer?: TabbedEditorContainer;
|
|
124
129
|
#uiSourceCodes = new Set<Workspace.UISourceCode.UISourceCode>();
|