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
|
@@ -1000,7 +1000,8 @@ export class BottomUpTimelineTreeView extends AggregatedTimelineTreeView {
|
|
|
1000
1000
|
}
|
|
1001
1001
|
}
|
|
1002
1002
|
|
|
1003
|
-
export class TimelineStackView extends
|
|
1003
|
+
export class TimelineStackView extends
|
|
1004
|
+
Common.ObjectWrapper.eventMixin<TimelineStackView.EventTypes, typeof UI.Widget.VBox>(UI.Widget.VBox) {
|
|
1004
1005
|
private readonly treeView: TimelineTreeView;
|
|
1005
1006
|
private readonly dataGrid: DataGrid.ViewportDataGrid.ViewportDataGrid<unknown>;
|
|
1006
1007
|
|
|
@@ -1059,4 +1060,8 @@ export namespace TimelineStackView {
|
|
|
1059
1060
|
export enum Events {
|
|
1060
1061
|
SelectionChanged = 'SelectionChanged',
|
|
1061
1062
|
}
|
|
1063
|
+
|
|
1064
|
+
export type EventTypes = {
|
|
1065
|
+
[Events.SelectionChanged]: void,
|
|
1066
|
+
};
|
|
1062
1067
|
}
|
|
@@ -6,7 +6,28 @@ const PLATFORM_MAC_CLASS = 'platform-mac';
|
|
|
6
6
|
const PLATFORM_LINUX_CLASS = 'platform-linux';
|
|
7
7
|
const PLATFORM_WINDOWS_CLASS = 'platform-windows';
|
|
8
8
|
|
|
9
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
10
|
+
|
|
9
11
|
export function init(): void {
|
|
12
|
+
// fontFamily is provided by the interaction tests.
|
|
13
|
+
// While platform-specific class names define multiple font-families,
|
|
14
|
+
// we want a single font-family to be used by the tests.
|
|
15
|
+
if (urlParams.has('fontFamily')) {
|
|
16
|
+
const div = document.createElement('div');
|
|
17
|
+
div.style.position = 'fixed';
|
|
18
|
+
div.style.bottom = '10px';
|
|
19
|
+
div.style.right = '230px';
|
|
20
|
+
div.style.width = '250px';
|
|
21
|
+
div.style.fontSize = '16px';
|
|
22
|
+
div.style.padding = '5px';
|
|
23
|
+
div.innerText = `font-family: ${urlParams.get('fontFamily')}`;
|
|
24
|
+
window.addEventListener('load', () => {
|
|
25
|
+
document.body.appendChild(div);
|
|
26
|
+
});
|
|
27
|
+
document.body.style.fontFamily = `${urlParams.get('fontFamily')}`;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
10
31
|
document.body.classList.add(PLATFORM_LINUX_CLASS);
|
|
11
32
|
const button = document.createElement('button');
|
|
12
33
|
|
|
@@ -17,7 +38,13 @@ export function init(): void {
|
|
|
17
38
|
];
|
|
18
39
|
|
|
19
40
|
function toggleFonts(): void {
|
|
20
|
-
|
|
41
|
+
for (const className of loop) {
|
|
42
|
+
if (className === loop[0]) {
|
|
43
|
+
document.body.classList.add(className);
|
|
44
|
+
} else {
|
|
45
|
+
document.body.classList.remove(className);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
21
48
|
loop.push(loop.shift() as string);
|
|
22
49
|
button.innerText = 'Turn on ' + loop[0] + ' fonts';
|
|
23
50
|
}
|
|
@@ -9,7 +9,7 @@ import * as Protocol from '../../../generated/protocol.js';
|
|
|
9
9
|
import * as UI from '../../legacy/legacy.js';
|
|
10
10
|
|
|
11
11
|
import type {Settings} from './LinearMemoryInspector.js';
|
|
12
|
-
import {LinearMemoryInspectorPaneImpl} from './LinearMemoryInspectorPane.js';
|
|
12
|
+
import {Events as LmiEvents, LinearMemoryInspectorPaneImpl} from './LinearMemoryInspectorPane.js';
|
|
13
13
|
import type {ValueType, ValueTypeMode} from './ValueInterpreterDisplayUtils.js';
|
|
14
14
|
import {Endianness, getDefaultValueTypeMapping} from './ValueInterpreterDisplayUtils.js';
|
|
15
15
|
|
|
@@ -82,7 +82,7 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
|
|
|
82
82
|
SDK.TargetManager.TargetManager.instance().observeModels(SDK.RuntimeModel.RuntimeModel, this);
|
|
83
83
|
SDK.TargetManager.TargetManager.instance().addModelListener(
|
|
84
84
|
SDK.DebuggerModel.DebuggerModel, SDK.DebuggerModel.Events.GlobalObjectCleared, this.onGlobalObjectClear, this);
|
|
85
|
-
this.paneInstance.addEventListener(
|
|
85
|
+
this.paneInstance.addEventListener(LmiEvents.ViewClosed, this.viewClosed.bind(this));
|
|
86
86
|
|
|
87
87
|
SDK.TargetManager.TargetManager.instance().addModelListener(
|
|
88
88
|
SDK.DebuggerModel.DebuggerModel, SDK.DebuggerModel.Events.DebuggerPaused, this.onDebuggerPause, this);
|
|
@@ -202,12 +202,11 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
|
|
|
202
202
|
this.modelRemoved(event.data.runtimeModel());
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
private viewClosed(
|
|
206
|
-
const bufferId = event.data;
|
|
205
|
+
private viewClosed({data: bufferId}: Common.EventTarget.EventTargetEvent<string>): void {
|
|
207
206
|
const remoteObj = this.bufferIdToRemoteObject.get(bufferId);
|
|
208
207
|
if (remoteObj) {
|
|
209
208
|
remoteObj.release();
|
|
210
209
|
}
|
|
211
|
-
this.bufferIdToRemoteObject.delete(
|
|
210
|
+
this.bufferIdToRemoteObject.delete(bufferId);
|
|
212
211
|
}
|
|
213
212
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
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
|
|
5
|
+
import * as Common from '../../../core/common/common.js';
|
|
6
6
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
7
7
|
import * as UI from '../../legacy/legacy.js';
|
|
8
8
|
|
|
@@ -48,7 +48,8 @@ export class Wrapper extends UI.Widget.VBox {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
export class LinearMemoryInspectorPaneImpl extends UI.Widget.VBox
|
|
51
|
+
export class LinearMemoryInspectorPaneImpl extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.VBox>(
|
|
52
|
+
UI.Widget.VBox) {
|
|
52
53
|
private readonly tabbedPane: UI.TabbedPane.TabbedPane;
|
|
53
54
|
private readonly tabIdToInspectorView: Map<string, LinearMemoryInspectorView>;
|
|
54
55
|
constructor() {
|
|
@@ -105,13 +106,21 @@ export class LinearMemoryInspectorPaneImpl extends UI.Widget.VBox {
|
|
|
105
106
|
view.refreshData();
|
|
106
107
|
}
|
|
107
108
|
|
|
108
|
-
private tabClosed(event: Common.EventTarget.EventTargetEvent): void {
|
|
109
|
-
const tabId = event.data
|
|
109
|
+
private tabClosed(event: Common.EventTarget.EventTargetEvent<UI.TabbedPane.EventData>): void {
|
|
110
|
+
const {tabId} = event.data;
|
|
110
111
|
this.tabIdToInspectorView.delete(tabId);
|
|
111
|
-
this.dispatchEventToListeners(
|
|
112
|
+
this.dispatchEventToListeners(Events.ViewClosed, tabId);
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
|
|
116
|
+
export const enum Events {
|
|
117
|
+
ViewClosed = 'ViewClosed',
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export type EventTypes = {
|
|
121
|
+
[Events.ViewClosed]: string,
|
|
122
|
+
};
|
|
123
|
+
|
|
115
124
|
class LinearMemoryInspectorView extends UI.Widget.VBox {
|
|
116
125
|
private memoryWrapper: LazyUint8Array;
|
|
117
126
|
private address: number;
|
|
@@ -28,6 +28,8 @@
|
|
|
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';
|
|
32
|
+
|
|
31
33
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
32
34
|
import {GlassPane, PointerEventsBehavior} from './GlassPane.js';
|
|
33
35
|
import {InspectorView} from './InspectorView.js';
|
|
@@ -37,7 +39,7 @@ import type {DevToolsCloseButton} from './UIUtils.js';
|
|
|
37
39
|
import type {WidgetElement} from './Widget.js';
|
|
38
40
|
import {WidgetFocusRestorer} from './Widget.js';
|
|
39
41
|
|
|
40
|
-
export class Dialog extends GlassPane {
|
|
42
|
+
export class Dialog extends Common.ObjectWrapper.eventMixin<EventTypes, typeof GlassPane>(GlassPane) {
|
|
41
43
|
private tabIndexBehavior: OutsideTabIndexBehavior;
|
|
42
44
|
private tabIndexMap: Map<HTMLElement, number>;
|
|
43
45
|
private focusRestorer: WidgetFocusRestorer|null;
|
|
@@ -94,7 +96,7 @@ export class Dialog extends GlassPane {
|
|
|
94
96
|
this.targetDocument.removeEventListener('keydown', this.targetDocumentKeyDownHandler, true);
|
|
95
97
|
}
|
|
96
98
|
this.restoreTabIndexOnElements();
|
|
97
|
-
this.dispatchEventToListeners(
|
|
99
|
+
this.dispatchEventToListeners(Events.Hidden);
|
|
98
100
|
Dialog.instance = null;
|
|
99
101
|
}
|
|
100
102
|
|
|
@@ -198,6 +200,14 @@ export class Dialog extends GlassPane {
|
|
|
198
200
|
private static instance: Dialog|null = null;
|
|
199
201
|
}
|
|
200
202
|
|
|
203
|
+
export const enum Events {
|
|
204
|
+
Hidden = 'hidden',
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export type EventTypes = {
|
|
208
|
+
[Events.Hidden]: void,
|
|
209
|
+
};
|
|
210
|
+
|
|
201
211
|
// TODO(crbug.com/1167717): Make this a const enum again
|
|
202
212
|
// eslint-disable-next-line rulesdir/const_enum
|
|
203
213
|
export enum OutsideTabIndexBehavior {
|
|
@@ -69,7 +69,7 @@ const UIStrings = {
|
|
|
69
69
|
};
|
|
70
70
|
const str_ = i18n.i18n.registerUIStrings('ui/legacy/FilterBar.ts', UIStrings);
|
|
71
71
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
72
|
-
export class FilterBar extends
|
|
72
|
+
export class FilterBar extends Common.ObjectWrapper.eventMixin<FilterBarEventTypes, typeof HBox>(HBox) {
|
|
73
73
|
private enabled: boolean;
|
|
74
74
|
private readonly stateSetting: Common.Settings.Setting<boolean>;
|
|
75
75
|
private readonly filterButtonInternal: ToolbarSettingToggle;
|
|
@@ -185,7 +185,7 @@ export type FilterBarEventTypes = {
|
|
|
185
185
|
[FilterBarEvents.Changed]: void,
|
|
186
186
|
};
|
|
187
187
|
|
|
188
|
-
export interface FilterUI extends Common.EventTarget.EventTarget {
|
|
188
|
+
export interface FilterUI extends Common.EventTarget.EventTarget<FilterUIEventTypes> {
|
|
189
189
|
isActive(): boolean;
|
|
190
190
|
element(): Element;
|
|
191
191
|
}
|
|
@@ -194,7 +194,11 @@ export const enum FilterUIEvents {
|
|
|
194
194
|
FilterChanged = 'FilterChanged',
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
-
export
|
|
197
|
+
export type FilterUIEventTypes = {
|
|
198
|
+
[FilterUIEvents.FilterChanged]: void,
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
export class TextFilterUI extends Common.ObjectWrapper.ObjectWrapper<FilterUIEventTypes> implements FilterUI {
|
|
198
202
|
private readonly filterElement: HTMLDivElement;
|
|
199
203
|
private readonly filterInputElement: HTMLElement;
|
|
200
204
|
private prompt: TextPrompt;
|
|
@@ -261,7 +265,7 @@ export class TextFilterUI extends Common.ObjectWrapper.ObjectWrapper implements
|
|
|
261
265
|
}
|
|
262
266
|
|
|
263
267
|
private valueChanged(): void {
|
|
264
|
-
this.dispatchEventToListeners(FilterUIEvents.FilterChanged
|
|
268
|
+
this.dispatchEventToListeners(FilterUIEvents.FilterChanged);
|
|
265
269
|
this.updateEmptyStyles();
|
|
266
270
|
}
|
|
267
271
|
|
|
@@ -274,7 +278,7 @@ export class TextFilterUI extends Common.ObjectWrapper.ObjectWrapper implements
|
|
|
274
278
|
}
|
|
275
279
|
}
|
|
276
280
|
|
|
277
|
-
export class NamedBitSetFilterUI extends Common.ObjectWrapper.ObjectWrapper implements FilterUI {
|
|
281
|
+
export class NamedBitSetFilterUI extends Common.ObjectWrapper.ObjectWrapper<FilterUIEventTypes> implements FilterUI {
|
|
278
282
|
private readonly filtersElement: HTMLDivElement;
|
|
279
283
|
private readonly typeFilterElementTypeNames: WeakMap<HTMLElement, string>;
|
|
280
284
|
private allowedTypes: Set<string>;
|
|
@@ -350,7 +354,7 @@ export class NamedBitSetFilterUI extends Common.ObjectWrapper.ObjectWrapper impl
|
|
|
350
354
|
element.classList.toggle('selected', active);
|
|
351
355
|
ARIAUtils.setSelected(element, active);
|
|
352
356
|
}
|
|
353
|
-
this.dispatchEventToListeners(FilterUIEvents.FilterChanged
|
|
357
|
+
this.dispatchEventToListeners(FilterUIEvents.FilterChanged);
|
|
354
358
|
}
|
|
355
359
|
|
|
356
360
|
private addBit(name: string, label: string, title?: string): void {
|
|
@@ -447,7 +451,7 @@ export class NamedBitSetFilterUI extends Common.ObjectWrapper.ObjectWrapper impl
|
|
|
447
451
|
static readonly ALL_TYPES = 'all';
|
|
448
452
|
}
|
|
449
453
|
|
|
450
|
-
export class CheckboxFilterUI extends Common.ObjectWrapper.ObjectWrapper implements FilterUI {
|
|
454
|
+
export class CheckboxFilterUI extends Common.ObjectWrapper.ObjectWrapper<FilterUIEventTypes> implements FilterUI {
|
|
451
455
|
private readonly filterElement: HTMLDivElement;
|
|
452
456
|
private readonly activeWhenChecked: boolean;
|
|
453
457
|
private label: CheckboxLabel;
|
|
@@ -490,7 +494,7 @@ export class CheckboxFilterUI extends Common.ObjectWrapper.ObjectWrapper impleme
|
|
|
490
494
|
}
|
|
491
495
|
|
|
492
496
|
private fireUpdated(): void {
|
|
493
|
-
this.dispatchEventToListeners(FilterUIEvents.FilterChanged
|
|
497
|
+
this.dispatchEventToListeners(FilterUIEvents.FilterChanged);
|
|
494
498
|
}
|
|
495
499
|
|
|
496
500
|
setColor(backgroundColor: string, borderColor: string): void {
|
|
@@ -45,7 +45,7 @@ import {KeyboardShortcut} from './KeyboardShortcut.js';
|
|
|
45
45
|
import type {Panel} from './Panel.js';
|
|
46
46
|
import {SplitWidget} from './SplitWidget.js';
|
|
47
47
|
import {Events as TabbedPaneEvents} from './TabbedPane.js';
|
|
48
|
-
import type {TabbedPane, TabbedPaneTabDelegate} from './TabbedPane.js';
|
|
48
|
+
import type {EventData, TabbedPane, TabbedPaneTabDelegate} from './TabbedPane.js';
|
|
49
49
|
import {ToolbarButton} from './Toolbar.js';
|
|
50
50
|
import type {TabbedViewLocation, View, ViewLocation, ViewLocationResolver} from './View.js';
|
|
51
51
|
import {ViewManager} from './ViewManager.js';
|
|
@@ -381,8 +381,8 @@ export class InspectorView extends VBox implements ViewLocationResolver {
|
|
|
381
381
|
this.tabbedPane.headerResized();
|
|
382
382
|
}
|
|
383
383
|
|
|
384
|
-
private tabSelected(event: Common.EventTarget.EventTargetEvent): void {
|
|
385
|
-
const tabId =
|
|
384
|
+
private tabSelected(event: Common.EventTarget.EventTargetEvent<EventData>): void {
|
|
385
|
+
const {tabId} = event.data;
|
|
386
386
|
Host.userMetrics.panelShown(tabId);
|
|
387
387
|
}
|
|
388
388
|
|
|
@@ -38,7 +38,7 @@ import {ToolbarButton} from './Toolbar.js';
|
|
|
38
38
|
import {Widget} from './Widget.js';
|
|
39
39
|
import {Events as ZoomManagerEvents, ZoomManager} from './ZoomManager.js';
|
|
40
40
|
|
|
41
|
-
export class SplitWidget extends Widget {
|
|
41
|
+
export class SplitWidget extends Common.ObjectWrapper.eventMixin<EventTypes, typeof Widget>(Widget) {
|
|
42
42
|
private sidebarElementInternal: HTMLElement;
|
|
43
43
|
private mainElement: HTMLElement;
|
|
44
44
|
private resizerElementInternal: HTMLElement;
|
|
@@ -869,6 +869,11 @@ export enum Events {
|
|
|
869
869
|
ShowModeChanged = 'ShowModeChanged',
|
|
870
870
|
}
|
|
871
871
|
|
|
872
|
+
export type EventTypes = {
|
|
873
|
+
[Events.SidebarSizeChanged]: number,
|
|
874
|
+
[Events.ShowModeChanged]: string,
|
|
875
|
+
};
|
|
876
|
+
|
|
872
877
|
const MinPadding = 20;
|
|
873
878
|
export interface SettingForOrientation {
|
|
874
879
|
showMode: string;
|
|
@@ -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 IconButton from '../components/icon_button/icon_button.js';
|
|
@@ -72,7 +73,7 @@ const UIStrings = {
|
|
|
72
73
|
};
|
|
73
74
|
const str_ = i18n.i18n.registerUIStrings('ui/legacy/TabbedPane.ts', UIStrings);
|
|
74
75
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
75
|
-
export class TabbedPane extends VBox {
|
|
76
|
+
export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, typeof VBox>(VBox) {
|
|
76
77
|
private readonly headerElementInternal: HTMLElement;
|
|
77
78
|
private readonly headerContentsElement: HTMLElement;
|
|
78
79
|
tabSlider: HTMLDivElement;
|
|
@@ -956,6 +957,13 @@ export enum Events {
|
|
|
956
957
|
TabOrderChanged = 'TabOrderChanged',
|
|
957
958
|
}
|
|
958
959
|
|
|
960
|
+
export type EventTypes = {
|
|
961
|
+
[Events.TabInvoked]: EventData,
|
|
962
|
+
[Events.TabSelected]: EventData,
|
|
963
|
+
[Events.TabClosed]: EventData,
|
|
964
|
+
[Events.TabOrderChanged]: EventData,
|
|
965
|
+
};
|
|
966
|
+
|
|
959
967
|
export class TabbedPaneTab {
|
|
960
968
|
closeable: boolean;
|
|
961
969
|
private readonly tabbedPane: TabbedPane;
|
|
@@ -13,7 +13,7 @@ export interface TextEditorFactory {
|
|
|
13
13
|
createEditor(options: Options): TextEditor;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export interface TextEditor extends Common.EventTarget.EventTarget {
|
|
16
|
+
export interface TextEditor extends Common.EventTarget.EventTarget<EventTypes> {
|
|
17
17
|
widget(): Widget;
|
|
18
18
|
fullRange(): TextUtils.TextRange.TextRange;
|
|
19
19
|
selection(): TextUtils.TextRange.TextRange;
|
|
@@ -46,6 +46,17 @@ export enum Events {
|
|
|
46
46
|
SuggestionChanged = 'SuggestionChanged',
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
export interface TextChangedEvent {
|
|
50
|
+
newRange: TextUtils.TextRange.TextRange;
|
|
51
|
+
oldRange: TextUtils.TextRange.TextRange;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export type EventTypes = {
|
|
55
|
+
[Events.CursorChanged]: void,
|
|
56
|
+
[Events.TextChanged]: TextChangedEvent,
|
|
57
|
+
[Events.SuggestionChanged]: void,
|
|
58
|
+
};
|
|
59
|
+
|
|
49
60
|
export interface Options {
|
|
50
61
|
bracketMatchingSetting?: Common.Settings.Setting<boolean>;
|
|
51
62
|
devtoolsAccessibleName?: string;
|
|
@@ -48,7 +48,25 @@ import {deepElementFromPoint, enclosingNodeOrSelfWithNodeNameInArray, isEditing}
|
|
|
48
48
|
|
|
49
49
|
const nodeToParentTreeElementMap = new WeakMap<Node, TreeElement>();
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
// TODO(crbug.com/1167717): Make this a const enum again
|
|
52
|
+
// eslint-disable-next-line rulesdir/const_enum
|
|
53
|
+
export enum Events {
|
|
54
|
+
ElementAttached = 'ElementAttached',
|
|
55
|
+
ElementsDetached = 'ElementsDetached',
|
|
56
|
+
ElementExpanded = 'ElementExpanded',
|
|
57
|
+
ElementCollapsed = 'ElementCollapsed',
|
|
58
|
+
ElementSelected = 'ElementSelected',
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export type EventTypes = {
|
|
62
|
+
[Events.ElementAttached]: TreeElement,
|
|
63
|
+
[Events.ElementsDetached]: void,
|
|
64
|
+
[Events.ElementExpanded]: TreeElement,
|
|
65
|
+
[Events.ElementCollapsed]: TreeElement,
|
|
66
|
+
[Events.ElementSelected]: TreeElement,
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export class TreeOutline extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
|
52
70
|
readonly rootElementInternal: TreeElement;
|
|
53
71
|
renderSelection: boolean;
|
|
54
72
|
selectedTreeElement: TreeElement|null;
|
|
@@ -360,16 +378,6 @@ export class TreeOutline extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
360
378
|
}
|
|
361
379
|
}
|
|
362
380
|
|
|
363
|
-
// TODO(crbug.com/1167717): Make this a const enum again
|
|
364
|
-
// eslint-disable-next-line rulesdir/const_enum
|
|
365
|
-
export enum Events {
|
|
366
|
-
ElementAttached = 'ElementAttached',
|
|
367
|
-
ElementsDetached = 'ElementsDetached',
|
|
368
|
-
ElementExpanded = 'ElementExpanded',
|
|
369
|
-
ElementCollapsed = 'ElementCollapsed',
|
|
370
|
-
ElementSelected = 'ElementSelected',
|
|
371
|
-
}
|
|
372
|
-
|
|
373
381
|
export class TreeOutlineInShadow extends TreeOutline {
|
|
374
382
|
element: HTMLElement;
|
|
375
383
|
shadowRoot: ShadowRoot;
|
|
@@ -9,6 +9,7 @@ import * as i18n from '../../core/i18n/i18n.js';
|
|
|
9
9
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
10
10
|
import type {ContextMenu} from './ContextMenu.js';
|
|
11
11
|
import {Icon} from './Icon.js';
|
|
12
|
+
import type {EventData} from './TabbedPane.js';
|
|
12
13
|
import {Events as TabbedPaneEvents, TabbedPane} from './TabbedPane.js';
|
|
13
14
|
import type {ToolbarItem} from './Toolbar.js';
|
|
14
15
|
import {Toolbar, ToolbarMenuButton} from './Toolbar.js';
|
|
@@ -771,21 +772,21 @@ export class _TabbedLocation extends Location implements TabbedViewLocation {
|
|
|
771
772
|
this.views.delete(view.viewId());
|
|
772
773
|
}
|
|
773
774
|
|
|
774
|
-
private tabSelected(event: Common.EventTarget.EventTargetEvent): void {
|
|
775
|
-
const tabId =
|
|
775
|
+
private tabSelected(event: Common.EventTarget.EventTargetEvent<EventData>): void {
|
|
776
|
+
const {tabId} = event.data;
|
|
776
777
|
if (this.lastSelectedTabSetting && event.data['isUserGesture']) {
|
|
777
778
|
this.lastSelectedTabSetting.set(tabId);
|
|
778
779
|
}
|
|
779
780
|
}
|
|
780
781
|
|
|
781
|
-
private tabClosed(event: Common.EventTarget.EventTargetEvent): void {
|
|
782
|
-
const
|
|
782
|
+
private tabClosed(event: Common.EventTarget.EventTargetEvent<EventData>): void {
|
|
783
|
+
const {tabId} = event.data;
|
|
783
784
|
const tabs = this.closeableTabSetting.get();
|
|
784
|
-
if (tabs[
|
|
785
|
-
tabs[
|
|
785
|
+
if (tabs[tabId]) {
|
|
786
|
+
tabs[tabId] = false;
|
|
786
787
|
this.closeableTabSetting.set(tabs);
|
|
787
788
|
}
|
|
788
|
-
const view = this.views.get(
|
|
789
|
+
const view = this.views.get(tabId);
|
|
789
790
|
if (view) {
|
|
790
791
|
view.disposeView();
|
|
791
792
|
}
|
|
@@ -125,7 +125,7 @@ const colorElementToMutable = new WeakMap<HTMLElement, boolean>();
|
|
|
125
125
|
|
|
126
126
|
const colorElementToColor = new WeakMap<HTMLElement, string>();
|
|
127
127
|
|
|
128
|
-
export class Spectrum extends UI.Widget.VBox {
|
|
128
|
+
export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.VBox>(UI.Widget.VBox) {
|
|
129
129
|
private colorElement: HTMLElement;
|
|
130
130
|
private colorDragElement: HTMLElement;
|
|
131
131
|
private dragX: number;
|
|
@@ -1212,6 +1212,11 @@ export enum Events {
|
|
|
1212
1212
|
SizeChanged = 'SizeChanged',
|
|
1213
1213
|
}
|
|
1214
1214
|
|
|
1215
|
+
export type EventTypes = {
|
|
1216
|
+
[Events.ColorChanged]: string,
|
|
1217
|
+
[Events.SizeChanged]: void,
|
|
1218
|
+
};
|
|
1219
|
+
|
|
1215
1220
|
const COLOR_CHIP_SIZE = 24;
|
|
1216
1221
|
const ITEMS_PER_PALETTE_ROW = 8;
|
|
1217
1222
|
const GeneratedPaletteTitle = 'Page colors';
|
|
@@ -2,12 +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 Platform from '../../../../core/platform/platform.js';
|
|
6
7
|
import * as UI from '../../legacy.js';
|
|
7
8
|
|
|
8
9
|
import {BezierUI} from './BezierUI.js';
|
|
9
10
|
|
|
10
|
-
export class BezierEditor extends UI.Widget.VBox {
|
|
11
|
+
export class BezierEditor extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.VBox>(UI.Widget.VBox) {
|
|
11
12
|
private bezierInternal: UI.Geometry.CubicBezier;
|
|
12
13
|
private previewElement: HTMLElement;
|
|
13
14
|
private readonly previewOnion: HTMLElement;
|
|
@@ -245,6 +246,10 @@ export enum Events {
|
|
|
245
246
|
BezierChanged = 'BezierChanged',
|
|
246
247
|
}
|
|
247
248
|
|
|
249
|
+
export type EventTypes = {
|
|
250
|
+
[Events.BezierChanged]: string,
|
|
251
|
+
};
|
|
252
|
+
|
|
248
253
|
export const Presets = [
|
|
249
254
|
[
|
|
250
255
|
{name: 'ease-in-out', value: 'ease-in-out'},
|
|
@@ -2,6 +2,7 @@
|
|
|
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 i18n from '../../../../core/i18n/i18n.js';
|
|
6
7
|
import * as Platform from '../../../../core/platform/platform.js';
|
|
7
8
|
import * as UI from '../../legacy.js';
|
|
@@ -40,7 +41,8 @@ const defaultUnit: string = 'px';
|
|
|
40
41
|
const sliderThumbRadius: number = 6;
|
|
41
42
|
const canvasSize: number = 88;
|
|
42
43
|
|
|
43
|
-
export class CSSShadowEditor extends UI.Widget.VBox
|
|
44
|
+
export class CSSShadowEditor extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.VBox>(
|
|
45
|
+
UI.Widget.VBox) {
|
|
44
46
|
private readonly typeField: HTMLElement;
|
|
45
47
|
private readonly outsetButton: HTMLElement;
|
|
46
48
|
private readonly insetButton: HTMLElement;
|
|
@@ -429,3 +431,7 @@ export class CSSShadowEditor extends UI.Widget.VBox {
|
|
|
429
431
|
export enum Events {
|
|
430
432
|
ShadowChanged = 'ShadowChanged',
|
|
431
433
|
}
|
|
434
|
+
|
|
435
|
+
export type EventTypes = {
|
|
436
|
+
[Events.ShadowChanged]: CSSShadowModel,
|
|
437
|
+
};
|
|
@@ -2,6 +2,7 @@
|
|
|
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 i18n from '../../../../core/i18n/i18n.js';
|
|
6
7
|
import * as SDK from '../../../../core/sdk/sdk.js';
|
|
7
8
|
import * as IconButton from '../../../components/icon_button/icon_button.js';
|
|
@@ -113,7 +114,7 @@ const UIStrings = {
|
|
|
113
114
|
const str_ = i18n.i18n.registerUIStrings('ui/legacy/components/inline_editor/FontEditor.ts', UIStrings);
|
|
114
115
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
115
116
|
|
|
116
|
-
export class FontEditor extends UI.Widget.VBox {
|
|
117
|
+
export class FontEditor extends Common.ObjectWrapper.eventMixin<EventTypes, typeof UI.Widget.VBox>(UI.Widget.VBox) {
|
|
117
118
|
private readonly selectedNode: SDK.DOMModel.DOMNode|null;
|
|
118
119
|
private readonly propertyMap: Map<string, string>;
|
|
119
120
|
private readonly fontSelectorSection: HTMLElement;
|
|
@@ -428,6 +429,16 @@ export enum Events {
|
|
|
428
429
|
FontEditorResized = 'FontEditorResized',
|
|
429
430
|
}
|
|
430
431
|
|
|
432
|
+
export interface FontChangedEvent {
|
|
433
|
+
propertyName: string;
|
|
434
|
+
value: string;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
export type EventTypes = {
|
|
438
|
+
[Events.FontChanged]: FontChangedEvent,
|
|
439
|
+
[Events.FontEditorResized]: void,
|
|
440
|
+
};
|
|
441
|
+
|
|
431
442
|
class FontPropertyInputs {
|
|
432
443
|
private showSliderMode: boolean;
|
|
433
444
|
private errorText: HTMLElement;
|