chrome-devtools-frontend 1.0.922470 → 1.0.922924
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/front_end/core/common/Console.ts +5 -1
- package/front_end/core/host/InspectorFrontendHost.ts +6 -5
- package/front_end/core/host/InspectorFrontendHostAPI.ts +102 -0
- package/front_end/core/sdk/CSSModel.ts +8 -4
- package/front_end/core/sdk/Connections.ts +5 -5
- package/front_end/core/sdk/DebuggerModel.ts +8 -5
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +2 -3
- package/front_end/entrypoints/js_app/JsMain.ts +1 -1
- package/front_end/entrypoints/main/MainImpl.ts +4 -7
- package/front_end/entrypoints/node_main/NodeConnectionsPanel.ts +2 -2
- package/front_end/entrypoints/node_main/NodeMain.ts +2 -3
- package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
- package/front_end/models/bindings/BreakpointManager.ts +3 -2
- package/front_end/models/extensions/ExtensionServer.ts +2 -2
- package/front_end/models/issues_manager/DeprecationIssue.ts +1 -1
- package/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +15 -5
- package/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +7 -3
- package/front_end/models/issues_manager/descriptions/deprecationNavigatorUserAgent.md +1 -1
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +26 -31
- package/front_end/models/persistence/NetworkPersistenceManager.ts +11 -1
- package/front_end/models/workspace/FileManager.ts +5 -7
- package/front_end/panels/console/ConsoleView.ts +3 -5
- package/front_end/panels/coverage/CoverageView.ts +5 -4
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +47 -44
- package/front_end/panels/css_overview/CSSOverviewController.ts +48 -8
- package/front_end/panels/css_overview/CSSOverviewModel.ts +5 -5
- package/front_end/panels/css_overview/CSSOverviewPanel.ts +22 -21
- package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +12 -9
- package/front_end/panels/elements/ElementsPanel.ts +2 -3
- package/front_end/panels/layer_viewer/Layers3DView.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/profiler/CPUProfileFlameChart.ts +26 -9
- package/front_end/panels/sources/DebuggerPlugin.ts +4 -5
- package/front_end/panels/sources/EditingLocationHistoryManager.ts +7 -5
- package/front_end/panels/sources/TabbedEditorContainer.ts +2 -4
- package/front_end/ui/components/docs/toggle_fonts.ts +21 -0
- package/front_end/ui/legacy/ContextMenu.ts +4 -4
- package/front_end/ui/legacy/ForwardedInputEventHandler.ts +3 -7
- package/front_end/ui/legacy/InspectorView.ts +1 -2
- package/front_end/ui/legacy/Widget.ts +1 -3
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +5 -8
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +5 -8
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +13 -3
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +3 -2
- package/front_end/ui/legacy/components/source_frame/SourcesTextEditor.ts +18 -2
- package/package.json +1 -1
|
@@ -236,11 +236,10 @@ export class TabbedEditorContainer extends Common.ObjectWrapper.ObjectWrapper<Ev
|
|
|
236
236
|
SourceFrame.SourcesTextEditor.Events.SelectionChanged, this.selectionChanged, this);
|
|
237
237
|
}
|
|
238
238
|
|
|
239
|
-
private scrollChanged(
|
|
239
|
+
private scrollChanged({data: lineNumber}: Common.EventTarget.EventTargetEvent<number>): void {
|
|
240
240
|
if (this.scrollTimer) {
|
|
241
241
|
clearTimeout(this.scrollTimer);
|
|
242
242
|
}
|
|
243
|
-
const lineNumber = (event.data as number);
|
|
244
243
|
this.scrollTimer = window.setTimeout(saveHistory.bind(this), 100);
|
|
245
244
|
if (this.currentFileInternal) {
|
|
246
245
|
this.history.updateScrollLineNumber(this.currentFileInternal.url(), lineNumber);
|
|
@@ -251,8 +250,7 @@ export class TabbedEditorContainer extends Common.ObjectWrapper.ObjectWrapper<Ev
|
|
|
251
250
|
}
|
|
252
251
|
}
|
|
253
252
|
|
|
254
|
-
private selectionChanged(
|
|
255
|
-
const range = (event.data as TextUtils.TextRange.TextRange);
|
|
253
|
+
private selectionChanged({data: range}: Common.EventTarget.EventTargetEvent<TextUtils.TextRange.TextRange>): void {
|
|
256
254
|
if (this.currentFileInternal) {
|
|
257
255
|
this.history.updateSelectionRange(this.currentFileInternal.url(), range);
|
|
258
256
|
}
|
|
@@ -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
|
|
|
@@ -372,8 +372,8 @@ export class ContextMenu extends SubMenu {
|
|
|
372
372
|
static initialize(): void {
|
|
373
373
|
Host.InspectorFrontendHost.InspectorFrontendHostInstance.events.addEventListener(
|
|
374
374
|
Host.InspectorFrontendHostAPI.Events.SetUseSoftMenu, setUseSoftMenu);
|
|
375
|
-
function setUseSoftMenu(event: Common.EventTarget.EventTargetEvent): void {
|
|
376
|
-
ContextMenu.useSoftMenu =
|
|
375
|
+
function setUseSoftMenu(event: Common.EventTarget.EventTargetEvent<boolean>): void {
|
|
376
|
+
ContextMenu.useSoftMenu = event.data;
|
|
377
377
|
}
|
|
378
378
|
}
|
|
379
379
|
|
|
@@ -470,8 +470,8 @@ export class ContextMenu extends SubMenu {
|
|
|
470
470
|
.subItems as (SoftContextMenuDescriptor | Host.InspectorFrontendHostAPI.ContextMenuDescriptor)[];
|
|
471
471
|
}
|
|
472
472
|
|
|
473
|
-
private onItemSelected(event: Common.EventTarget.EventTargetEvent): void {
|
|
474
|
-
this.itemSelected(
|
|
473
|
+
private onItemSelected(event: Common.EventTarget.EventTargetEvent<number>): void {
|
|
474
|
+
this.itemSelected(event.data);
|
|
475
475
|
}
|
|
476
476
|
|
|
477
477
|
private itemSelected(id: number): void {
|
|
@@ -15,13 +15,9 @@ export class ForwardedInputEventHandler {
|
|
|
15
15
|
Host.InspectorFrontendHostAPI.Events.KeyEventUnhandled, this.onKeyEventUnhandled, this);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
private onKeyEventUnhandled(
|
|
19
|
-
|
|
20
|
-
const type =
|
|
21
|
-
const key = (data.key as string);
|
|
22
|
-
const keyCode = (data.keyCode as number);
|
|
23
|
-
const modifiers = (data.modifiers as number);
|
|
24
|
-
|
|
18
|
+
private onKeyEventUnhandled(
|
|
19
|
+
event: Common.EventTarget.EventTargetEvent<Host.InspectorFrontendHostAPI.KeyEventUnhandledEvent>): void {
|
|
20
|
+
const {type, key, keyCode, modifiers} = event.data;
|
|
25
21
|
if (type !== 'keydown') {
|
|
26
22
|
return;
|
|
27
23
|
}
|
|
@@ -188,8 +188,7 @@ export class InspectorView extends VBox implements ViewLocationResolver {
|
|
|
188
188
|
Host.InspectorFrontendHost.InspectorFrontendHostInstance.events.addEventListener(
|
|
189
189
|
Host.InspectorFrontendHostAPI.Events.ShowPanel, showPanel.bind(this));
|
|
190
190
|
|
|
191
|
-
function showPanel(this: InspectorView,
|
|
192
|
-
const panelName = (event.data as string);
|
|
191
|
+
function showPanel(this: InspectorView, {data: panelName}: Common.EventTarget.EventTargetEvent<string>): void {
|
|
193
192
|
this.showPanel(panelName);
|
|
194
193
|
}
|
|
195
194
|
|
|
@@ -28,7 +28,6 @@
|
|
|
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
|
import * as DOMExtension from '../../core/dom_extension/dom_extension.js';
|
|
33
32
|
import * as Helpers from '../components/helpers/helpers.js';
|
|
34
33
|
|
|
@@ -48,7 +47,7 @@ export class WidgetElement extends HTMLDivElement {
|
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
49
|
|
|
51
|
-
export class Widget
|
|
50
|
+
export class Widget {
|
|
52
51
|
element!: WidgetElement;
|
|
53
52
|
contentElement: HTMLDivElement;
|
|
54
53
|
private shadowRoot: ShadowRoot|undefined;
|
|
@@ -69,7 +68,6 @@ export class Widget extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
69
68
|
private invalidationsRequested?: boolean;
|
|
70
69
|
private externallyManaged?: boolean;
|
|
71
70
|
constructor(isWebComponent?: boolean, delegatesFocus?: boolean) {
|
|
72
|
-
super();
|
|
73
71
|
this.contentElement = document.createElement('div');
|
|
74
72
|
this.contentElement.classList.add('widget');
|
|
75
73
|
if (isWebComponent) {
|
|
@@ -88,7 +88,8 @@ export class ContrastDetails extends Common.ObjectWrapper.ObjectWrapper<EventTyp
|
|
|
88
88
|
private contrastPassFailAPCA: HTMLElement;
|
|
89
89
|
private readonly chooseBgColor: HTMLElement;
|
|
90
90
|
private bgColorPickerButton: UI.Toolbar.ToolbarToggle;
|
|
91
|
-
private readonly bgColorPickedBound:
|
|
91
|
+
private readonly bgColorPickedBound:
|
|
92
|
+
(event: Common.EventTarget.EventTargetEvent<Host.InspectorFrontendHostAPI.EyeDropperPickedColorEvent>) => void;
|
|
92
93
|
private readonly bgColorSwatch: Swatch;
|
|
93
94
|
constructor(
|
|
94
95
|
contrastInfo: ContrastInfo, contentElement: Element,
|
|
@@ -449,13 +450,9 @@ export class ContrastDetails extends Common.ObjectWrapper.ObjectWrapper<EventTyp
|
|
|
449
450
|
}
|
|
450
451
|
}
|
|
451
452
|
|
|
452
|
-
private bgColorPicked(
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
g: number,
|
|
456
|
-
b: number,
|
|
457
|
-
a: number,
|
|
458
|
-
};
|
|
453
|
+
private bgColorPicked({
|
|
454
|
+
data: rgbColor,
|
|
455
|
+
}: Common.EventTarget.EventTargetEvent<Host.InspectorFrontendHostAPI.EyeDropperPickedColorEvent>): void {
|
|
459
456
|
const rgba = [rgbColor.r, rgbColor.g, rgbColor.b, (rgbColor.a / 2.55 | 0) / 100];
|
|
460
457
|
const color = Common.Color.Color.fromRGBA(rgba);
|
|
461
458
|
this.contrastInfo.setBgColor(color);
|
|
@@ -156,7 +156,8 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
|
156
156
|
private readonly deleteIconToolbar: UI.Toolbar.Toolbar;
|
|
157
157
|
private readonly deleteButton: UI.Toolbar.ToolbarButton;
|
|
158
158
|
private readonly addColorToolbar: UI.Toolbar.Toolbar;
|
|
159
|
-
private readonly colorPickedBound:
|
|
159
|
+
private readonly colorPickedBound:
|
|
160
|
+
(event: Common.EventTarget.EventTargetEvent<Host.InspectorFrontendHostAPI.EyeDropperPickedColorEvent>) => void;
|
|
160
161
|
private hsv!: number[];
|
|
161
162
|
private hueAlphaWidth!: number;
|
|
162
163
|
dragWidth!: number;
|
|
@@ -1185,13 +1186,9 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
|
|
|
1185
1186
|
}
|
|
1186
1187
|
}
|
|
1187
1188
|
|
|
1188
|
-
private colorPicked(
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
g: number,
|
|
1192
|
-
b: number,
|
|
1193
|
-
a: number,
|
|
1194
|
-
};
|
|
1189
|
+
private colorPicked({
|
|
1190
|
+
data: rgbColor,
|
|
1191
|
+
}: Common.EventTarget.EventTargetEvent<Host.InspectorFrontendHostAPI.EyeDropperPickedColorEvent>): void {
|
|
1195
1192
|
const rgba = [rgbColor.r, rgbColor.g, rgbColor.b, (rgbColor.a / 2.55 | 0) / 100];
|
|
1196
1193
|
const color = Common.Color.Color.fromRGBA(rgba);
|
|
1197
1194
|
this.innerSetColor(color.hsva(), '', undefined /* colorName */, undefined, ChangeSource.Other);
|
|
@@ -417,11 +417,10 @@ export class Window extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
417
417
|
this.windowLeft = windowLeft;
|
|
418
418
|
this.windowRight = windowRight;
|
|
419
419
|
this.updateCurtains();
|
|
420
|
-
let windowPosition;
|
|
421
420
|
if (this.calculator) {
|
|
422
|
-
|
|
421
|
+
this.dispatchEventToListeners(Events.WindowChangedWithPosition, this.calculateWindowPosition());
|
|
423
422
|
}
|
|
424
|
-
this.dispatchEventToListeners(Events.WindowChanged
|
|
423
|
+
this.dispatchEventToListeners(Events.WindowChanged);
|
|
425
424
|
}
|
|
426
425
|
|
|
427
426
|
private updateCurtains(): void {
|
|
@@ -523,8 +522,19 @@ export class Window extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
523
522
|
// eslint-disable-next-line rulesdir/const_enum
|
|
524
523
|
export enum Events {
|
|
525
524
|
WindowChanged = 'WindowChanged',
|
|
525
|
+
WindowChangedWithPosition = 'WindowChangedWithPosition',
|
|
526
526
|
}
|
|
527
527
|
|
|
528
|
+
export interface WindowChangedWithPositionEvent {
|
|
529
|
+
rawStartValue: number;
|
|
530
|
+
rawEndValue: number;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
export type EventTypes = {
|
|
534
|
+
[Events.WindowChanged]: void,
|
|
535
|
+
[Events.WindowChangedWithPosition]: WindowChangedWithPositionEvent,
|
|
536
|
+
};
|
|
537
|
+
|
|
528
538
|
export class WindowSelector {
|
|
529
539
|
private startPosition: number;
|
|
530
540
|
private width: number;
|
|
@@ -33,6 +33,7 @@ import type * as SDK from '../../../../core/sdk/sdk.js';
|
|
|
33
33
|
import * as UI from '../../legacy.js';
|
|
34
34
|
import * as i18n from '../../../../core/i18n/i18n.js';
|
|
35
35
|
|
|
36
|
+
import type {WindowChangedWithPositionEvent} from './OverviewGrid.js';
|
|
36
37
|
import {Events as OverviewGridEvents, OverviewGrid} from './OverviewGrid.js';
|
|
37
38
|
import type {Calculator} from './TimelineGrid.js';
|
|
38
39
|
|
|
@@ -66,7 +67,7 @@ export class TimelineOverviewPane extends Common.ObjectWrapper.eventMixin<EventT
|
|
|
66
67
|
this.cursorArea.addEventListener('mouseleave', this.hideCursor.bind(this), true);
|
|
67
68
|
|
|
68
69
|
this.overviewGrid.setResizeEnabled(false);
|
|
69
|
-
this.overviewGrid.addEventListener(OverviewGridEvents.
|
|
70
|
+
this.overviewGrid.addEventListener(OverviewGridEvents.WindowChangedWithPosition, this.onWindowChanged, this);
|
|
70
71
|
this.overviewGrid.setClickHandler(this.onClick.bind(this));
|
|
71
72
|
this.overviewControls = [];
|
|
72
73
|
this.markers = new Map();
|
|
@@ -209,7 +210,7 @@ export class TimelineOverviewPane extends Common.ObjectWrapper.eventMixin<EventT
|
|
|
209
210
|
return this.overviewControls.some(control => control.onClick(event));
|
|
210
211
|
}
|
|
211
212
|
|
|
212
|
-
private onWindowChanged(event: Common.EventTarget.EventTargetEvent): void {
|
|
213
|
+
private onWindowChanged(event: Common.EventTarget.EventTargetEvent<WindowChangedWithPositionEvent>): void {
|
|
213
214
|
if (this.muteOnWindowChanged) {
|
|
214
215
|
return;
|
|
215
216
|
}
|
|
@@ -9,7 +9,9 @@ import * as TextEditor from '../text_editor/text_editor.js';
|
|
|
9
9
|
|
|
10
10
|
const whitespaceStyleInjectedSet = new WeakSet<Document>();
|
|
11
11
|
|
|
12
|
-
export class SourcesTextEditor extends
|
|
12
|
+
export class SourcesTextEditor extends
|
|
13
|
+
Common.ObjectWrapper.eventMixin<EventTypes, typeof TextEditor.CodeMirrorTextEditor.CodeMirrorTextEditor>(
|
|
14
|
+
TextEditor.CodeMirrorTextEditor.CodeMirrorTextEditor) {
|
|
13
15
|
private readonly delegate: SourcesTextEditorDelegate;
|
|
14
16
|
private readonly gutterMouseMove: (event: Event) => void;
|
|
15
17
|
private readonly gutterMouseOut: () => void;
|
|
@@ -486,7 +488,7 @@ export class SourcesTextEditor extends TextEditor.CodeMirrorTextEditor.CodeMirro
|
|
|
486
488
|
if (from && to && from.equal(to)) {
|
|
487
489
|
return;
|
|
488
490
|
}
|
|
489
|
-
this.dispatchEventToListeners(Events.JumpHappened, {from
|
|
491
|
+
this.dispatchEventToListeners(Events.JumpHappened, {from, to});
|
|
490
492
|
}
|
|
491
493
|
|
|
492
494
|
private scroll(): void {
|
|
@@ -696,6 +698,20 @@ export enum Events {
|
|
|
696
698
|
JumpHappened = 'JumpHappened',
|
|
697
699
|
}
|
|
698
700
|
|
|
701
|
+
export interface JumpHappenedEvent {
|
|
702
|
+
from: TextUtils.TextRange.TextRange|null;
|
|
703
|
+
to: TextUtils.TextRange.TextRange|null;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
export type EventTypes = {
|
|
707
|
+
[Events.GutterClick]: GutterClickEventData,
|
|
708
|
+
[Events.SelectionChanged]: TextUtils.TextRange.TextRange,
|
|
709
|
+
[Events.ScrollChanged]: number,
|
|
710
|
+
[Events.EditorFocused]: void,
|
|
711
|
+
[Events.EditorBlurred]: void,
|
|
712
|
+
[Events.JumpHappened]: JumpHappenedEvent,
|
|
713
|
+
};
|
|
714
|
+
|
|
699
715
|
export class SourcesTextEditorDelegate {
|
|
700
716
|
populateLineGutterContextMenu(_contextMenu: UI.ContextMenu.ContextMenu, _lineNumber: number): Promise<void> {
|
|
701
717
|
throw new Error('Not implemented');
|
package/package.json
CHANGED