chrome-devtools-frontend 1.0.943017 → 1.0.944427
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 +0 -9
- package/config/gni/devtools_grd_files.gni +6 -1
- package/front_end/core/host/UserMetrics.ts +0 -1
- package/front_end/core/i18n/locales/af.json +455 -44
- package/front_end/core/i18n/locales/am.json +455 -44
- package/front_end/core/i18n/locales/ar.json +455 -44
- package/front_end/core/i18n/locales/as.json +455 -44
- package/front_end/core/i18n/locales/az.json +455 -44
- package/front_end/core/i18n/locales/be.json +456 -45
- package/front_end/core/i18n/locales/bg.json +455 -44
- package/front_end/core/i18n/locales/bn.json +455 -44
- package/front_end/core/i18n/locales/bs.json +455 -44
- package/front_end/core/i18n/locales/ca.json +457 -46
- package/front_end/core/i18n/locales/cs.json +458 -47
- package/front_end/core/i18n/locales/cy.json +455 -44
- package/front_end/core/i18n/locales/da.json +455 -44
- package/front_end/core/i18n/locales/de.json +455 -44
- package/front_end/core/i18n/locales/el.json +455 -44
- package/front_end/core/i18n/locales/en-GB.json +449 -38
- package/front_end/core/i18n/locales/en-US.json +7 -19
- package/front_end/core/i18n/locales/en-XL.json +7 -19
- package/front_end/core/i18n/locales/es-419.json +455 -44
- package/front_end/core/i18n/locales/es.json +455 -44
- package/front_end/core/i18n/locales/et.json +455 -44
- package/front_end/core/i18n/locales/eu.json +462 -51
- package/front_end/core/i18n/locales/fa.json +455 -44
- package/front_end/core/i18n/locales/fi.json +455 -44
- package/front_end/core/i18n/locales/fil.json +454 -43
- package/front_end/core/i18n/locales/fr-CA.json +455 -44
- package/front_end/core/i18n/locales/fr.json +456 -45
- package/front_end/core/i18n/locales/gl.json +455 -44
- package/front_end/core/i18n/locales/gu.json +456 -45
- package/front_end/core/i18n/locales/he.json +455 -44
- package/front_end/core/i18n/locales/hi.json +455 -44
- package/front_end/core/i18n/locales/hr.json +455 -44
- package/front_end/core/i18n/locales/hu.json +455 -44
- package/front_end/core/i18n/locales/hy.json +455 -44
- package/front_end/core/i18n/locales/id.json +455 -44
- package/front_end/core/i18n/locales/is.json +455 -44
- package/front_end/core/i18n/locales/it.json +502 -91
- package/front_end/core/i18n/locales/ja.json +456 -45
- package/front_end/core/i18n/locales/ka.json +455 -44
- package/front_end/core/i18n/locales/kk.json +456 -45
- package/front_end/core/i18n/locales/km.json +455 -44
- package/front_end/core/i18n/locales/kn.json +455 -44
- package/front_end/core/i18n/locales/ko.json +455 -44
- package/front_end/core/i18n/locales/ky.json +456 -45
- package/front_end/core/i18n/locales/lo.json +454 -43
- package/front_end/core/i18n/locales/lt.json +455 -44
- package/front_end/core/i18n/locales/lv.json +458 -47
- package/front_end/core/i18n/locales/mk.json +455 -44
- package/front_end/core/i18n/locales/ml.json +461 -50
- package/front_end/core/i18n/locales/mn.json +455 -44
- package/front_end/core/i18n/locales/mr.json +455 -44
- package/front_end/core/i18n/locales/ms.json +455 -44
- package/front_end/core/i18n/locales/my.json +456 -45
- package/front_end/core/i18n/locales/ne.json +456 -45
- package/front_end/core/i18n/locales/nl.json +532 -121
- package/front_end/core/i18n/locales/no.json +455 -44
- package/front_end/core/i18n/locales/or.json +455 -44
- package/front_end/core/i18n/locales/pa.json +455 -44
- package/front_end/core/i18n/locales/pl.json +455 -44
- package/front_end/core/i18n/locales/pt-PT.json +504 -93
- package/front_end/core/i18n/locales/pt.json +454 -43
- package/front_end/core/i18n/locales/ro.json +455 -44
- package/front_end/core/i18n/locales/ru.json +455 -44
- package/front_end/core/i18n/locales/si.json +455 -44
- package/front_end/core/i18n/locales/sk.json +456 -45
- package/front_end/core/i18n/locales/sl.json +455 -44
- package/front_end/core/i18n/locales/sq.json +455 -44
- package/front_end/core/i18n/locales/sr-Latn.json +455 -44
- package/front_end/core/i18n/locales/sr.json +455 -44
- package/front_end/core/i18n/locales/sv.json +456 -45
- package/front_end/core/i18n/locales/sw.json +455 -44
- package/front_end/core/i18n/locales/ta.json +456 -45
- package/front_end/core/i18n/locales/te.json +454 -43
- package/front_end/core/i18n/locales/th.json +455 -44
- package/front_end/core/i18n/locales/tr.json +455 -44
- package/front_end/core/i18n/locales/uk.json +455 -44
- package/front_end/core/i18n/locales/ur.json +455 -44
- package/front_end/core/i18n/locales/uz.json +455 -44
- package/front_end/core/i18n/locales/vi.json +455 -44
- package/front_end/core/i18n/locales/zh-HK.json +459 -48
- package/front_end/core/i18n/locales/zh-TW.json +457 -46
- package/front_end/core/i18n/locales/zh.json +460 -49
- package/front_end/core/i18n/locales/zu.json +455 -44
- package/front_end/core/protocol_client/InspectorBackend.ts +4 -0
- package/front_end/core/sdk/AccessibilityModel.ts +99 -78
- package/front_end/core/sdk/CSSStyleDeclaration.ts +4 -0
- package/front_end/core/sdk/ConsoleModel.ts +1 -5
- package/front_end/core/sdk/NetworkManager.ts +3 -0
- package/front_end/core/sdk/OverlayModel.ts +0 -9
- package/front_end/core/sdk/Script.ts +0 -4
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +13 -12
- package/front_end/core/sdk/sdk-meta.ts +0 -26
- package/front_end/entrypoints/device_mode_emulation_frame/device_mode_emulation_frame.ts +1 -1
- package/front_end/entrypoints/devtools_app/devtools_app.js +1 -1
- package/front_end/entrypoints/devtools_app/devtools_app.json +1 -2
- package/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.ts +1 -1
- package/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker-entrypoint.ts +1 -1
- package/front_end/entrypoints/inspector/inspector.js +1 -1
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +0 -13
- package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +2 -3
- package/front_end/entrypoints/js_app/js_app.js +1 -1
- package/front_end/entrypoints/main/MainImpl.ts +2 -4
- package/front_end/entrypoints/main/main-meta.ts +1 -2
- package/front_end/entrypoints/ndb_app/ndb_app.js +1 -1
- package/front_end/entrypoints/node_app/node_app-meta.ts +0 -2
- package/front_end/entrypoints/node_app/node_app.js +1 -1
- package/front_end/entrypoints/node_main/node_main-meta.ts +0 -1
- package/front_end/entrypoints/shell/shell.json +1 -2
- package/front_end/entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.ts +1 -1
- package/front_end/entrypoints/worker_app/worker_app.js +1 -1
- package/front_end/generated/InspectorBackendCommands.js +3 -1
- package/front_end/generated/protocol-mapping.d.ts +1 -0
- package/front_end/generated/protocol-proxy-api.d.ts +2 -0
- package/front_end/generated/protocol.d.ts +40 -0
- package/front_end/legacy_test_runner/console_test_runner/console_test_runner.js +5 -1
- package/front_end/models/bindings/DefaultScriptMapping.ts +1 -9
- package/front_end/models/bindings/ResourceScriptMapping.ts +3 -11
- package/front_end/models/formatter/SourceFormatter.ts +0 -15
- package/front_end/models/persistence/persistence-meta.ts +0 -1
- package/front_end/models/timeline_model/TimelineJSProfile.ts +3 -16
- package/front_end/models/timeline_model/TimelineModel.ts +0 -1
- package/front_end/panels/accessibility/accessibility-meta.ts +0 -1
- package/front_end/panels/animation/animation-meta.ts +0 -1
- package/front_end/panels/application/ApplicationPanelCacheSection.ts +1 -1
- package/front_end/panels/application/BackForwardCacheView.ts +26 -26
- package/front_end/panels/application/application-meta.ts +0 -1
- package/front_end/panels/application/components/stackTraceRow.css +8 -0
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +1 -2
- package/front_end/panels/changes/changes-meta.ts +0 -1
- package/front_end/panels/console/ConsolePinPane.ts +3 -6
- package/front_end/panels/console/ConsolePrompt.ts +121 -171
- package/front_end/panels/console/ConsoleView.ts +1 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +8 -1
- package/front_end/panels/console/console-meta.ts +0 -1
- package/front_end/panels/console/consoleView.css +1 -1
- package/front_end/panels/console_counters/console_counters-meta.ts +0 -1
- package/front_end/panels/coverage/coverage-meta.ts +0 -1
- package/front_end/panels/css_overview/cssOverviewCompletedView.css +2 -2
- package/front_end/panels/css_overview/css_overview-meta.ts +0 -1
- package/front_end/panels/developer_resources/developer_resources-meta.ts +0 -1
- package/front_end/panels/elements/AccessibilityTreeUtils.ts +98 -67
- package/front_end/panels/elements/AccessibilityTreeView.ts +76 -125
- package/front_end/panels/elements/ElementsPanel.ts +6 -7
- package/front_end/panels/elements/ElementsTreeElement.ts +1 -0
- package/front_end/panels/elements/StyleEditorWidget.ts +13 -2
- package/front_end/panels/elements/StylePropertyHighlighter.ts +29 -19
- package/front_end/panels/elements/StylePropertyTreeElement.ts +7 -4
- package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +27 -3
- package/front_end/panels/elements/elements-meta.ts +0 -1
- package/front_end/panels/emulation/emulation-meta.ts +0 -1
- package/front_end/panels/help/help-meta.ts +0 -1
- package/front_end/panels/input/input-meta.ts +0 -1
- package/front_end/panels/issues/issues-meta.ts +0 -1
- package/front_end/panels/js_profiler/js_profiler-meta.ts +0 -1
- package/front_end/panels/layers/layers-meta.ts +0 -4
- package/front_end/panels/lighthouse/lighthouse-meta.ts +0 -1
- package/front_end/panels/media/media-meta.ts +0 -1
- package/front_end/panels/mobile_throttling/mobile_throttling-meta.ts +0 -1
- package/front_end/panels/network/NetworkDataGridNode.ts +5 -1
- package/front_end/panels/network/network-meta.ts +1 -2
- package/front_end/panels/performance_monitor/performance_monitor-meta.ts +0 -1
- package/front_end/panels/profiler/profiler-meta.ts +0 -1
- package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +0 -1
- package/front_end/panels/screencast/screencast-meta.ts +0 -1
- package/front_end/panels/security/security-meta.ts +0 -1
- package/front_end/panels/sensors/sensors-meta.ts +0 -1
- package/front_end/panels/settings/emulation/emulation-meta.ts +0 -1
- package/front_end/panels/settings/settings-meta.ts +0 -1
- package/front_end/panels/sources/BreakpointEditDialog.ts +1 -0
- package/front_end/panels/sources/Plugin.ts +0 -3
- package/front_end/panels/sources/UISourceCodeFrame.ts +23 -49
- package/front_end/panels/sources/sources-meta.ts +1 -2
- package/front_end/panels/timeline/TimelineController.ts +0 -3
- package/front_end/panels/timeline/timeline-meta.ts +2 -4
- package/front_end/panels/web_audio/web_audio-meta.ts +0 -1
- package/front_end/panels/webauthn/webauthn-meta.ts +0 -1
- package/front_end/third_party/codemirror.next/bundle.ts +3 -2
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.d.ts +32 -1
- package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
- package/front_end/third_party/codemirror.next/package.json +3 -3
- package/front_end/ui/components/docs/component_docs.ts +14 -0
- package/front_end/ui/components/docs/create_breadcrumbs.ts +1 -1
- package/front_end/ui/components/docs/toggle_dark_mode.ts +1 -0
- package/front_end/ui/components/docs/toggle_fonts.ts +2 -0
- package/front_end/ui/components/helpers/get-stylesheet.ts +0 -1
- package/front_end/ui/components/linear_memory_inspector/linear_memory_inspector-meta.ts +1 -2
- package/front_end/ui/components/text_editor/config.ts +34 -14
- package/front_end/ui/components/text_editor/javascript.ts +14 -9
- package/front_end/ui/components/text_editor/theme.ts +29 -4
- package/front_end/ui/components/tree_outline/TreeOutline.ts +71 -8
- package/front_end/ui/components/tree_outline/TreeOutlineUtils.ts +8 -6
- package/front_end/ui/legacy/Dialog.ts +8 -3
- package/front_end/ui/legacy/SoftContextMenu.ts +1 -1
- package/front_end/ui/legacy/Treeoutline.ts +1 -1
- package/front_end/ui/legacy/UIUtils.ts +1 -1
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +1 -2
- package/front_end/ui/legacy/components/inline_editor/cssAngle.css +4 -0
- package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.ts +2 -2
- package/front_end/ui/legacy/components/object_ui/object_ui-meta.ts +0 -1
- package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +0 -1
- package/front_end/ui/legacy/components/quick_open/quick_open-meta.ts +2 -3
- package/front_end/ui/legacy/components/source_frame/FontView.ts +3 -1
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +3 -1
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +3 -1
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +2 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +6 -4
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +5 -2
- package/front_end/ui/legacy/components/utils/Linkifier.ts +49 -79
- package/front_end/ui/legacy/themeColors.css +2 -0
- package/inspector_overlay/css_grid_label_helpers.ts +1 -1
- package/inspector_overlay/highlight_common.ts +1 -1
- package/inspector_overlay/tool_highlight.ts +1 -1
- package/package.json +1 -1
- package/scripts/check_gn.js +0 -35
- package/scripts/eslint_rules/lib/es_modules_import.js +15 -24
- package/scripts/eslint_rules/tests/es_modules_import_test.js +8 -16
- package/front_end/panels/layers/module.json +0 -4
- package/front_end/ui/legacy/components/source_frame/messagesPopover.css +0 -32
- package/front_end/ui/legacy/components/source_frame/module.json +0 -11
|
@@ -764,6 +764,10 @@ export class TargetBase {
|
|
|
764
764
|
manager.removeDomainDispatcher(dispatcher);
|
|
765
765
|
}
|
|
766
766
|
|
|
767
|
+
registerAccessibilityDispatcher(dispatcher: ProtocolProxyApi.AccessibilityDispatcher): void {
|
|
768
|
+
this.registerDispatcher('Accessibility', dispatcher);
|
|
769
|
+
}
|
|
770
|
+
|
|
767
771
|
registerAnimationDispatcher(dispatcher: ProtocolProxyApi.AnimationDispatcher): void {
|
|
768
772
|
this.registerDispatcher('Animation', dispatcher);
|
|
769
773
|
}
|
|
@@ -6,7 +6,6 @@ import type * as Protocol from '../../generated/protocol.js';
|
|
|
6
6
|
import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
|
|
7
7
|
|
|
8
8
|
import type {DOMNode} from './DOMModel.js';
|
|
9
|
-
import {DOMModel} from './DOMModel.js';
|
|
10
9
|
import {DeferredDOMNode} from './DOMModel.js';
|
|
11
10
|
import type {Target} from './Target.js';
|
|
12
11
|
import {Capability} from './Target.js';
|
|
@@ -39,8 +38,9 @@ export class AccessibilityNode {
|
|
|
39
38
|
readonly #descriptionInternal: Protocol.Accessibility.AXValue|null;
|
|
40
39
|
readonly #valueInternal: Protocol.Accessibility.AXValue|null;
|
|
41
40
|
readonly #propertiesInternal: Protocol.Accessibility.AXProperty[]|null;
|
|
42
|
-
#
|
|
43
|
-
#
|
|
41
|
+
readonly #parentId: Protocol.Accessibility.AXNodeId|null;
|
|
42
|
+
readonly #frameId: Protocol.Page.FrameId|null;
|
|
43
|
+
readonly #childIds: Protocol.Accessibility.AXNodeId[]|null;
|
|
44
44
|
|
|
45
45
|
constructor(accessibilityModel: AccessibilityModel, payload: Protocol.Accessibility.AXNode) {
|
|
46
46
|
this.#accessibilityModelInternal = accessibilityModel;
|
|
@@ -67,7 +67,13 @@ export class AccessibilityNode {
|
|
|
67
67
|
this.#valueInternal = payload.value || null;
|
|
68
68
|
this.#propertiesInternal = payload.properties || null;
|
|
69
69
|
this.#childIds = payload.childIds || null;
|
|
70
|
-
this.#
|
|
70
|
+
this.#parentId = payload.parentId || null;
|
|
71
|
+
if (payload.frameId && !payload.parentId) {
|
|
72
|
+
this.#frameId = payload.frameId;
|
|
73
|
+
accessibilityModel.setRootAXNodeForFrameId(payload.frameId, this);
|
|
74
|
+
} else {
|
|
75
|
+
this.#frameId = null;
|
|
76
|
+
}
|
|
71
77
|
}
|
|
72
78
|
|
|
73
79
|
id(): Protocol.Accessibility.AXNodeId {
|
|
@@ -123,11 +129,10 @@ export class AccessibilityNode {
|
|
|
123
129
|
}
|
|
124
130
|
|
|
125
131
|
parentNode(): AccessibilityNode|null {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
this.#parentNodeInternal = parentNode;
|
|
132
|
+
if (this.#parentId) {
|
|
133
|
+
return this.#accessibilityModelInternal.axNodeForId(this.#parentId);
|
|
134
|
+
}
|
|
135
|
+
return null;
|
|
131
136
|
}
|
|
132
137
|
|
|
133
138
|
isDOMNode(): boolean {
|
|
@@ -178,38 +183,57 @@ export class AccessibilityNode {
|
|
|
178
183
|
if (!this.#childIds || !this.#childIds.length) {
|
|
179
184
|
return false;
|
|
180
185
|
}
|
|
181
|
-
|
|
182
186
|
return this.#childIds.every(id => this.#accessibilityModelInternal.axNodeForId(id) === null);
|
|
183
187
|
}
|
|
184
188
|
|
|
189
|
+
hasUnloadedChildren(): boolean {
|
|
190
|
+
if (!this.#childIds || !this.#childIds.length) {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
return this.#childIds.some(id => this.#accessibilityModelInternal.axNodeForId(id) === null);
|
|
194
|
+
}
|
|
185
195
|
// Only the root node gets a frameId, so nodes have to walk up the tree to find their frameId.
|
|
186
196
|
getFrameId(): Protocol.Page.FrameId|null {
|
|
187
|
-
|
|
188
|
-
if (!domNode) {
|
|
189
|
-
return null;
|
|
190
|
-
}
|
|
191
|
-
return domNode.frameId();
|
|
197
|
+
return this.#frameId || this.parentNode()?.getFrameId() || null;
|
|
192
198
|
}
|
|
193
199
|
}
|
|
194
200
|
|
|
195
|
-
|
|
201
|
+
// TODO(crbug.com/1167717): Make this a const enum again
|
|
202
|
+
// eslint-disable-next-line rulesdir/const_enum
|
|
203
|
+
export enum Events {
|
|
204
|
+
TreeUpdated = 'TreeUpdated',
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export type EventTypes = {
|
|
208
|
+
[Events.TreeUpdated]: {root?: AccessibilityNode},
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
export class AccessibilityModel extends SDKModel<EventTypes> implements ProtocolProxyApi.AccessibilityDispatcher {
|
|
196
212
|
agent: ProtocolProxyApi.AccessibilityApi;
|
|
197
213
|
#axIdToAXNode: Map<string, AccessibilityNode>;
|
|
198
|
-
|
|
199
|
-
|
|
214
|
+
#backendDOMNodeIdToAXNode: Map<Protocol.DOM.BackendNodeId, AccessibilityNode>;
|
|
215
|
+
#frameIdToAXNode: Map<Protocol.Page.FrameId, AccessibilityNode>;
|
|
216
|
+
#pendingChildRequests: Map<string, Promise<Protocol.Accessibility.GetChildAXNodesResponse>>;
|
|
217
|
+
#root: AccessibilityNode|null;
|
|
200
218
|
|
|
201
219
|
constructor(target: Target) {
|
|
202
220
|
super(target);
|
|
221
|
+
target.registerAccessibilityDispatcher(this);
|
|
203
222
|
this.agent = target.accessibilityAgent();
|
|
204
223
|
this.resumeModel();
|
|
205
224
|
|
|
206
225
|
this.#axIdToAXNode = new Map();
|
|
207
226
|
this.#backendDOMNodeIdToAXNode = new Map();
|
|
208
|
-
this.#
|
|
227
|
+
this.#frameIdToAXNode = new Map();
|
|
228
|
+
this.#pendingChildRequests = new Map();
|
|
229
|
+
this.#root = null;
|
|
209
230
|
}
|
|
210
231
|
|
|
211
232
|
clear(): void {
|
|
233
|
+
this.#root = null;
|
|
212
234
|
this.#axIdToAXNode.clear();
|
|
235
|
+
this.#backendDOMNodeIdToAXNode.clear();
|
|
236
|
+
this.#frameIdToAXNode.clear();
|
|
213
237
|
}
|
|
214
238
|
|
|
215
239
|
async resumeModel(): Promise<void> {
|
|
@@ -225,60 +249,64 @@ export class AccessibilityModel extends SDKModel<void> {
|
|
|
225
249
|
if (!nodes) {
|
|
226
250
|
return;
|
|
227
251
|
}
|
|
228
|
-
|
|
252
|
+
const axNodes = [];
|
|
229
253
|
for (const payload of nodes) {
|
|
230
|
-
new AccessibilityNode(this, payload);
|
|
254
|
+
axNodes.push(new AccessibilityNode(this, payload));
|
|
231
255
|
}
|
|
256
|
+
}
|
|
232
257
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
}
|
|
258
|
+
loadComplete({root}: Protocol.Accessibility.LoadCompleteEvent): void {
|
|
259
|
+
this.clear();
|
|
260
|
+
this.#root = new AccessibilityNode(this, root);
|
|
261
|
+
this.dispatchEventToListeners(Events.TreeUpdated, {root: this.#root});
|
|
238
262
|
}
|
|
239
263
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
245
|
-
const newNodesToTrack = await domModel.pushNodesByBackendIdsToFrontend(backendIds);
|
|
246
|
-
newNodesToTrack?.forEach((value, key) => this.#backendDOMNodeIdToDOMNode.set(key, value));
|
|
264
|
+
nodesUpdated({nodes}: Protocol.Accessibility.NodesUpdatedEvent): void {
|
|
265
|
+
this.createNodesFromPayload(nodes);
|
|
266
|
+
this.dispatchEventToListeners(Events.TreeUpdated, {});
|
|
267
|
+
return;
|
|
247
268
|
}
|
|
248
269
|
|
|
249
270
|
private createNodesFromPayload(payloadNodes: Protocol.Accessibility.AXNode[]): AccessibilityNode[] {
|
|
250
|
-
const backendIds: Set<Protocol.DOM.BackendNodeId> = new Set();
|
|
251
271
|
const accessibilityNodes = payloadNodes.map(node => {
|
|
252
272
|
const sdkNode = new AccessibilityNode(this, node);
|
|
253
|
-
const backendId = sdkNode.backendDOMNodeId();
|
|
254
|
-
if (backendId) {
|
|
255
|
-
backendIds.add(backendId);
|
|
256
|
-
}
|
|
257
273
|
return sdkNode;
|
|
258
274
|
});
|
|
259
|
-
this.pushNodesToFrontend(backendIds);
|
|
260
275
|
|
|
261
|
-
for (const sdkNode of accessibilityNodes) {
|
|
262
|
-
for (const sdkChild of sdkNode.children()) {
|
|
263
|
-
sdkChild.setParentNode(sdkNode);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
276
|
return accessibilityNodes;
|
|
267
277
|
}
|
|
268
278
|
|
|
269
|
-
async requestRootNode(
|
|
270
|
-
|
|
271
|
-
|
|
279
|
+
async requestRootNode(frameId?: Protocol.Page.FrameId): Promise<AccessibilityNode|undefined> {
|
|
280
|
+
if (frameId && this.#frameIdToAXNode.has(frameId)) {
|
|
281
|
+
return this.#frameIdToAXNode.get(frameId);
|
|
282
|
+
}
|
|
283
|
+
if (!frameId && this.#root) {
|
|
284
|
+
return this.#root;
|
|
285
|
+
}
|
|
286
|
+
const {node} = await this.agent.invoke_getRootAXNode({frameId});
|
|
287
|
+
if (!node) {
|
|
272
288
|
return;
|
|
273
289
|
}
|
|
274
|
-
|
|
275
|
-
const root = axNodes[0];
|
|
276
|
-
return root;
|
|
290
|
+
return this.createNodesFromPayload([node])[0];
|
|
277
291
|
}
|
|
278
292
|
|
|
279
293
|
async requestAXChildren(nodeId: Protocol.Accessibility.AXNodeId, frameId?: Protocol.Page.FrameId):
|
|
280
294
|
Promise<AccessibilityNode[]> {
|
|
281
|
-
const
|
|
295
|
+
const parent = this.#axIdToAXNode.get(nodeId);
|
|
296
|
+
if (parent && !parent.hasUnloadedChildren()) {
|
|
297
|
+
return parent.children();
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
let nodes;
|
|
301
|
+
const request = this.#pendingChildRequests.get(nodeId);
|
|
302
|
+
if (request) {
|
|
303
|
+
nodes = (await request).nodes;
|
|
304
|
+
} else {
|
|
305
|
+
const req = this.agent.invoke_getChildAXNodes({id: nodeId, frameId});
|
|
306
|
+
this.#pendingChildRequests.set(nodeId, req);
|
|
307
|
+
nodes = (await req).nodes;
|
|
308
|
+
this.#pendingChildRequests.delete(nodeId);
|
|
309
|
+
}
|
|
282
310
|
if (!nodes) {
|
|
283
311
|
return [];
|
|
284
312
|
}
|
|
@@ -286,36 +314,37 @@ export class AccessibilityModel extends SDKModel<void> {
|
|
|
286
314
|
return axNodes;
|
|
287
315
|
}
|
|
288
316
|
|
|
289
|
-
async requestAndLoadSubTreeToNode(node: DOMNode): Promise<AccessibilityNode|null> {
|
|
317
|
+
async requestAndLoadSubTreeToNode(node: DOMNode): Promise<AccessibilityNode[]|null> {
|
|
290
318
|
// Node may have already been loaded, so don't bother requesting it again.
|
|
291
|
-
const
|
|
292
|
-
|
|
293
|
-
|
|
319
|
+
const result = [];
|
|
320
|
+
let ancestor = this.axNodeForDOMNode(node);
|
|
321
|
+
while (ancestor) {
|
|
322
|
+
result.push(ancestor);
|
|
323
|
+
const parent = ancestor.parentNode();
|
|
324
|
+
if (!parent) {
|
|
325
|
+
return result;
|
|
326
|
+
}
|
|
327
|
+
ancestor = parent;
|
|
294
328
|
}
|
|
295
|
-
|
|
296
|
-
const {nodes} = await this.agent.invoke_getPartialAXTree({nodeId: node.id, fetchRelatives: true});
|
|
329
|
+
const {nodes} = await this.agent.invoke_getAXNodeAndAncestors({backendNodeId: node.backendNodeId()});
|
|
297
330
|
if (!nodes) {
|
|
298
331
|
return null;
|
|
299
332
|
}
|
|
300
333
|
const ancestors = this.createNodesFromPayload(nodes);
|
|
301
|
-
// Request top level children nodes.
|
|
302
|
-
for (const node of ancestors) {
|
|
303
|
-
await this.requestAXChildren(node.id());
|
|
304
|
-
}
|
|
305
334
|
|
|
306
|
-
return
|
|
335
|
+
return ancestors;
|
|
307
336
|
}
|
|
308
337
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
if (!nodes) {
|
|
312
|
-
return;
|
|
313
|
-
}
|
|
314
|
-
this.createNodesFromPayload(nodes);
|
|
338
|
+
axNodeForId(axId: Protocol.Accessibility.AXNodeId): AccessibilityNode|null {
|
|
339
|
+
return this.#axIdToAXNode.get(axId) || null;
|
|
315
340
|
}
|
|
316
341
|
|
|
317
|
-
|
|
318
|
-
|
|
342
|
+
setRootAXNodeForFrameId(frameId: Protocol.Page.FrameId, axNode: AccessibilityNode): void {
|
|
343
|
+
this.#frameIdToAXNode.set(frameId, axNode);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
axNodeForFrameId(frameId: Protocol.Page.FrameId): AccessibilityNode|null {
|
|
347
|
+
return this.#frameIdToAXNode.get(frameId) ?? null;
|
|
319
348
|
}
|
|
320
349
|
|
|
321
350
|
setAXNodeForAXId(axId: string, axNode: AccessibilityNode): void {
|
|
@@ -329,14 +358,6 @@ export class AccessibilityModel extends SDKModel<void> {
|
|
|
329
358
|
return this.#backendDOMNodeIdToAXNode.get(domNode.backendNodeId()) ?? null;
|
|
330
359
|
}
|
|
331
360
|
|
|
332
|
-
domNodeforAXNode(axNode: AccessibilityNode): DOMNode|null {
|
|
333
|
-
const backendDOMNodeId = axNode.backendDOMNodeId();
|
|
334
|
-
if (!backendDOMNodeId) {
|
|
335
|
-
return null;
|
|
336
|
-
}
|
|
337
|
-
return this.#backendDOMNodeIdToDOMNode.get(backendDOMNodeId) ?? null;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
361
|
setAXNodeForBackendDOMNodeId(backendDOMNodeId: Protocol.DOM.BackendNodeId, axNode: AccessibilityNode): void {
|
|
341
362
|
this.#backendDOMNodeIdToAXNode.set(backendDOMNodeId, axNode);
|
|
342
363
|
}
|
|
@@ -289,6 +289,10 @@ export class CSSStyleDeclaration {
|
|
|
289
289
|
return this.#allPropertiesInternal;
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
+
hasActiveProperty(name: string): boolean {
|
|
293
|
+
return this.#activePropertyMap.has(name);
|
|
294
|
+
}
|
|
295
|
+
|
|
292
296
|
getPropertyValue(name: string): string {
|
|
293
297
|
const property = this.#activePropertyMap.get(name);
|
|
294
298
|
return property ? property.value : '';
|
|
@@ -707,13 +707,9 @@ export class ConsoleMessage {
|
|
|
707
707
|
}
|
|
708
708
|
}
|
|
709
709
|
|
|
710
|
-
const watchExpressionRegex = /^watch-expression-\d+.devtools$/;
|
|
711
|
-
const bothAreWatchExpressions =
|
|
712
|
-
watchExpressionRegex.test(this.url || '') && watchExpressionRegex.test(msg.url || '');
|
|
713
|
-
|
|
714
710
|
return (this.runtimeModel() === msg.runtimeModel()) && (this.source === msg.source) && (this.type === msg.type) &&
|
|
715
711
|
(this.level === msg.level) && (this.line === msg.line) && (this.url === msg.url) &&
|
|
716
|
-
(
|
|
712
|
+
(this.scriptId === msg.scriptId) && (this.messageText === msg.messageText) &&
|
|
717
713
|
(this.#executionContextId === msg.#executionContextId) &&
|
|
718
714
|
areAffectedResourcesEquivalent(this.#affectedResources, msg.#affectedResources) &&
|
|
719
715
|
areStackTracesEquivalent(this.stackTrace, msg.stackTrace);
|
|
@@ -1044,6 +1044,9 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
1044
1044
|
this.#manager.dispatchEventToListeners(Events.ReportingApiReportUpdated, data.report);
|
|
1045
1045
|
}
|
|
1046
1046
|
|
|
1047
|
+
reportingApiEndpointsChangedForOrigin(_data: Protocol.Network.ReportingApiEndpointsChangedForOriginEvent): void {
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1047
1050
|
/**
|
|
1048
1051
|
* @deprecated
|
|
1049
1052
|
* This method is only kept for usage in a web test.
|
|
@@ -79,9 +79,6 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
|
|
|
79
79
|
#showScrollBottleneckRectsSetting: Common.Settings.Setting<any>;
|
|
80
80
|
// TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
|
|
81
81
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
|
-
#showHitTestBordersSetting: Common.Settings.Setting<any>;
|
|
83
|
-
// TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
|
|
84
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
85
82
|
#showWebVitalsSetting: Common.Settings.Setting<any>;
|
|
86
83
|
#registeredListeners: Common.EventTarget.EventDescriptor[];
|
|
87
84
|
#showViewportSizeOnResize: boolean;
|
|
@@ -123,7 +120,6 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
|
|
|
123
120
|
this.#showFPSCounterSetting = Common.Settings.Settings.instance().moduleSetting('showFPSCounter');
|
|
124
121
|
this.#showScrollBottleneckRectsSetting =
|
|
125
122
|
Common.Settings.Settings.instance().moduleSetting('showScrollBottleneckRects');
|
|
126
|
-
this.#showHitTestBordersSetting = Common.Settings.Settings.instance().moduleSetting('showHitTestBorders');
|
|
127
123
|
this.#showWebVitalsSetting = Common.Settings.Settings.instance().moduleSetting('showWebVitals');
|
|
128
124
|
|
|
129
125
|
this.#registeredListeners = [];
|
|
@@ -213,8 +209,6 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
|
|
|
213
209
|
this.#showScrollBottleneckRectsSetting.addChangeListener(
|
|
214
210
|
() => this.overlayAgent.invoke_setShowScrollBottleneckRects(
|
|
215
211
|
{show: this.#showScrollBottleneckRectsSetting.get()})),
|
|
216
|
-
this.#showHitTestBordersSetting.addChangeListener(
|
|
217
|
-
() => this.overlayAgent.invoke_setShowHitTestBorders({show: this.#showHitTestBordersSetting.get()})),
|
|
218
212
|
this.#showWebVitalsSetting.addChangeListener(
|
|
219
213
|
() => this.overlayAgent.invoke_setShowWebVitals({show: this.#showWebVitalsSetting.get()})),
|
|
220
214
|
];
|
|
@@ -237,9 +231,6 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
|
|
|
237
231
|
if (this.#showScrollBottleneckRectsSetting.get()) {
|
|
238
232
|
this.overlayAgent.invoke_setShowScrollBottleneckRects({show: true});
|
|
239
233
|
}
|
|
240
|
-
if (this.#showHitTestBordersSetting.get()) {
|
|
241
|
-
this.overlayAgent.invoke_setShowHitTestBorders({show: true});
|
|
242
|
-
}
|
|
243
234
|
if (this.#showWebVitalsSetting.get()) {
|
|
244
235
|
this.overlayAgent.invoke_setShowWebVitals({show: true});
|
|
245
236
|
}
|
|
@@ -313,10 +313,6 @@ export class Script implements TextUtils.ContentProvider.ContentProvider, FrameA
|
|
|
313
313
|
return !this.sourceURL;
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
isInlineScriptWithSourceURL(): boolean {
|
|
317
|
-
return Boolean(this.hasSourceURL) && this.isInlineScript();
|
|
318
|
-
}
|
|
319
|
-
|
|
320
316
|
async setBlackboxedRanges(positions: Protocol.Debugger.ScriptPosition[]): Promise<boolean> {
|
|
321
317
|
const response = await this.debuggerModel.target().debuggerAgent().invoke_setBlackboxedRanges(
|
|
322
318
|
{scriptId: this.scriptId, positions});
|
|
@@ -25,13 +25,17 @@ const str_ = i18n.i18n.registerUIStrings('core/sdk/ServiceWorkerCacheModel.ts',
|
|
|
25
25
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
26
26
|
|
|
27
27
|
export class ServiceWorkerCacheModel extends SDKModel<EventTypes> implements ProtocolProxyApi.StorageDispatcher {
|
|
28
|
-
readonly #cachesInternal: Map<string, Cache>;
|
|
29
28
|
readonly cacheAgent: ProtocolProxyApi.CacheStorageApi;
|
|
30
29
|
readonly #storageAgent: ProtocolProxyApi.StorageApi;
|
|
31
30
|
readonly #securityOriginManager: SecurityOriginManager;
|
|
32
|
-
|
|
33
|
-
readonly #
|
|
34
|
-
#
|
|
31
|
+
|
|
32
|
+
readonly #cachesInternal = new Map<string, Cache>();
|
|
33
|
+
readonly #originsUpdated = new Set<string>();
|
|
34
|
+
readonly #throttler = new Common.Throttler.Throttler(2000);
|
|
35
|
+
#enabled = false;
|
|
36
|
+
|
|
37
|
+
// Used by tests to remove the Throttler timeout.
|
|
38
|
+
#scheduleAsSoonAsPossible = false;
|
|
35
39
|
|
|
36
40
|
/**
|
|
37
41
|
* Invariant: This #model can only be constructed on a ServiceWorker target.
|
|
@@ -40,16 +44,9 @@ export class ServiceWorkerCacheModel extends SDKModel<EventTypes> implements Pro
|
|
|
40
44
|
super(target);
|
|
41
45
|
target.registerStorageDispatcher(this);
|
|
42
46
|
|
|
43
|
-
this.#cachesInternal = new Map();
|
|
44
|
-
|
|
45
47
|
this.cacheAgent = target.cacheStorageAgent();
|
|
46
48
|
this.#storageAgent = target.storageAgent();
|
|
47
49
|
this.#securityOriginManager = (target.model(SecurityOriginManager) as SecurityOriginManager);
|
|
48
|
-
|
|
49
|
-
this.#originsUpdated = new Set();
|
|
50
|
-
this.#throttler = new Common.Throttler.Throttler(2000);
|
|
51
|
-
|
|
52
|
-
this.#enabled = false;
|
|
53
50
|
}
|
|
54
51
|
|
|
55
52
|
enable(): void {
|
|
@@ -240,7 +237,7 @@ export class ServiceWorkerCacheModel extends SDKModel<EventTypes> implements Pro
|
|
|
240
237
|
const promises = Array.from(this.#originsUpdated, origin => this.loadCacheNames(origin));
|
|
241
238
|
this.#originsUpdated.clear();
|
|
242
239
|
return Promise.all(promises);
|
|
243
|
-
});
|
|
240
|
+
}, this.#scheduleAsSoonAsPossible);
|
|
244
241
|
}
|
|
245
242
|
|
|
246
243
|
cacheStorageContentUpdated({origin, cacheName}: Protocol.Storage.CacheStorageContentUpdatedEvent): void {
|
|
@@ -252,6 +249,10 @@ export class ServiceWorkerCacheModel extends SDKModel<EventTypes> implements Pro
|
|
|
252
249
|
|
|
253
250
|
indexedDBContentUpdated(_event: Protocol.Storage.IndexedDBContentUpdatedEvent): void {
|
|
254
251
|
}
|
|
252
|
+
|
|
253
|
+
setThrottlerSchedulesAsSoonAsPossibleForTest(): void {
|
|
254
|
+
this.#scheduleAsSoonAsPossible = true;
|
|
255
|
+
}
|
|
255
256
|
}
|
|
256
257
|
|
|
257
258
|
// TODO(crbug.com/1167717): Make this a const enum again
|
|
@@ -155,14 +155,6 @@ const UIStrings = {
|
|
|
155
155
|
*/
|
|
156
156
|
hideScrollPerformanceBottlenecks: 'Hide scroll performance bottlenecks',
|
|
157
157
|
/**
|
|
158
|
-
*@description Title of a setting under the Rendering category that can be invoked through the Command Menu
|
|
159
|
-
*/
|
|
160
|
-
showHittestBorders: 'Show hit-test borders',
|
|
161
|
-
/**
|
|
162
|
-
*@description Title of a setting under the Rendering category that can be invoked through the Command Menu
|
|
163
|
-
*/
|
|
164
|
-
hideHittestBorders: 'Hide hit-test borders',
|
|
165
|
-
/**
|
|
166
158
|
*@description Title of a Rendering setting that can be invoked through the Command Menu
|
|
167
159
|
*/
|
|
168
160
|
emulateAFocusedPage: 'Emulate a focused page',
|
|
@@ -665,24 +657,6 @@ Common.Settings.registerSettingExtension({
|
|
|
665
657
|
defaultValue: false,
|
|
666
658
|
});
|
|
667
659
|
|
|
668
|
-
Common.Settings.registerSettingExtension({
|
|
669
|
-
category: Common.Settings.SettingCategory.RENDERING,
|
|
670
|
-
settingName: 'showHitTestBorders',
|
|
671
|
-
settingType: Common.Settings.SettingType.BOOLEAN,
|
|
672
|
-
storageType: Common.Settings.SettingStorageType.Session,
|
|
673
|
-
options: [
|
|
674
|
-
{
|
|
675
|
-
value: true,
|
|
676
|
-
title: i18nLazyString(UIStrings.showHittestBorders),
|
|
677
|
-
},
|
|
678
|
-
{
|
|
679
|
-
value: false,
|
|
680
|
-
title: i18nLazyString(UIStrings.hideHittestBorders),
|
|
681
|
-
},
|
|
682
|
-
],
|
|
683
|
-
defaultValue: false,
|
|
684
|
-
});
|
|
685
|
-
|
|
686
660
|
Common.Settings.registerSettingExtension({
|
|
687
661
|
category: Common.Settings.SettingCategory.RENDERING,
|
|
688
662
|
title: i18nLazyString(UIStrings.emulateAFocusedPage),
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import '../../core/dom_extension/dom_extension.js';
|
|
6
6
|
import '../../Images/Images.js';
|
|
7
7
|
|
|
8
|
-
import * as Platform from '../../core/platform/platform.js';
|
|
8
|
+
import * as Platform from '../../core/platform/platform.js';
|
|
9
9
|
|
|
10
10
|
Platform.runOnWindowLoad(() => {
|
|
11
11
|
if (!window.opener) {
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
import '../shell/shell.js';
|
|
5
5
|
import './devtools_app-meta-files.js';
|
|
6
|
-
import * as Startup from '../startup/startup.js';
|
|
6
|
+
import * as Startup from '../startup/startup.js';
|
|
7
7
|
|
|
8
8
|
Startup.RuntimeInstantiator.startApplication('devtools_app');
|
|
@@ -8,7 +8,7 @@ import '../../third_party/codemirror/package/mode/xml/xml.js';
|
|
|
8
8
|
import '../../third_party/codemirror/package/mode/javascript/javascript.js';
|
|
9
9
|
|
|
10
10
|
import * as Platform from '../../core/platform/platform.js';
|
|
11
|
-
import * as FormatterWorker from './formatter_worker.js';
|
|
11
|
+
import * as FormatterWorker from './formatter_worker.js';
|
|
12
12
|
|
|
13
13
|
import {FormatterActions} from './FormatterActions.js';
|
|
14
14
|
|
|
@@ -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 * as HeapSnapshotWorker from './heap_snapshot_worker.js';
|
|
5
|
+
import * as HeapSnapshotWorker from './heap_snapshot_worker.js';
|
|
6
6
|
|
|
7
7
|
// We need to force the worker context
|
|
8
8
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
import '../devtools_app/devtools_app.js';
|
|
5
5
|
import '../../panels/screencast/screencast-meta.js';
|
|
6
|
-
import * as Startup from '../startup/startup.js';
|
|
6
|
+
import * as Startup from '../startup/startup.js';
|
|
7
7
|
|
|
8
8
|
Startup.RuntimeInstantiator.startApplication('inspector');
|
|
@@ -95,16 +95,6 @@ const UIStrings = {
|
|
|
95
95
|
*/
|
|
96
96
|
highlightsFramesRedDetectedToBe: 'Highlights frames (red) detected to be ads.',
|
|
97
97
|
/**
|
|
98
|
-
* @description The name of a checkbox setting in the Rendering tool. This setting shows borders
|
|
99
|
-
* around hit-test regions. 'hit-test regions' are areas on the page where the browser is listening
|
|
100
|
-
* for mouse clicks.
|
|
101
|
-
*/
|
|
102
|
-
hittestBorders: 'Hit-test borders',
|
|
103
|
-
/**
|
|
104
|
-
* @description Explanation text for the 'Hit-test borders' setting in the Rendering tool.
|
|
105
|
-
*/
|
|
106
|
-
showsBordersAroundHittestRegions: 'Shows borders around hit-test regions.',
|
|
107
|
-
/**
|
|
108
98
|
* @description The name of a checkbox setting in the Rendering tool. This setting shows an overlay
|
|
109
99
|
* with Core Web Vitals. Core Web Vitals: https://support.google.com/webmasters/answer/9205520?hl=en
|
|
110
100
|
*/
|
|
@@ -246,9 +236,6 @@ export class RenderingOptionsView extends UI.Widget.VBox {
|
|
|
246
236
|
this.appendCheckbox(
|
|
247
237
|
i18nString(UIStrings.highlightAdFrames), i18nString(UIStrings.highlightsFramesRedDetectedToBe),
|
|
248
238
|
Common.Settings.Settings.instance().moduleSetting('showAdHighlights'));
|
|
249
|
-
this.appendCheckbox(
|
|
250
|
-
i18nString(UIStrings.hittestBorders), i18nString(UIStrings.showsBordersAroundHittestRegions),
|
|
251
|
-
Common.Settings.Settings.instance().moduleSetting('showHitTestBorders'));
|
|
252
239
|
this.appendCheckbox(
|
|
253
240
|
i18nString(UIStrings.coreWebVitals), i18nString(UIStrings.showsAnOverlayWithCoreWebVitals),
|
|
254
241
|
Common.Settings.Settings.instance().moduleSetting('showWebVitals'));
|
|
@@ -6,6 +6,8 @@ import * as Common from '../../core/common/common.js';
|
|
|
6
6
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
7
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
8
8
|
|
|
9
|
+
import type * as InspectorMain from './inspector_main.js';
|
|
10
|
+
|
|
9
11
|
const UIStrings = {
|
|
10
12
|
/**
|
|
11
13
|
* @description Title of the Rendering tool. The rendering tool is a collection of settings that
|
|
@@ -101,9 +103,6 @@ const UIStrings = {
|
|
|
101
103
|
const str_ = i18n.i18n.registerUIStrings('entrypoints/inspector_main/inspector_main-meta.ts', UIStrings);
|
|
102
104
|
const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
|
|
103
105
|
|
|
104
|
-
// eslint-disable-next-line rulesdir/es_modules_import
|
|
105
|
-
import type * as InspectorMain from './inspector_main.js';
|
|
106
|
-
|
|
107
106
|
let loadedInspectorMainModule: (typeof InspectorMain|undefined);
|
|
108
107
|
|
|
109
108
|
async function loadInspectorMainModule(): Promise<typeof InspectorMain> {
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
import '../shell/shell.js';
|
|
5
5
|
import '../../panels/js_profiler/js_profiler-meta.js';
|
|
6
6
|
import './JsMain.js';
|
|
7
|
-
import * as Startup from '../startup/startup.js';
|
|
7
|
+
import * as Startup from '../startup/startup.js';
|
|
8
8
|
|
|
9
9
|
Startup.RuntimeInstantiator.startApplication('js_app');
|
|
@@ -299,15 +299,13 @@ export class MainImpl {
|
|
|
299
299
|
'keyboardShortcutEditor', 'Enable keyboard shortcut editor', true,
|
|
300
300
|
'https://developer.chrome.com/blog/new-in-devtools-88/#keyboard-shortcuts');
|
|
301
301
|
|
|
302
|
-
// Back
|
|
303
|
-
Root.Runtime.experiments.register('bfcacheDebugging', 'Enable
|
|
302
|
+
// Back/forward cache
|
|
303
|
+
Root.Runtime.experiments.register('bfcacheDebugging', 'Enable back/forward cache debugging support');
|
|
304
304
|
|
|
305
305
|
// Timeline
|
|
306
306
|
Root.Runtime.experiments.register('timelineEventInitiators', 'Timeline: event initiators');
|
|
307
307
|
Root.Runtime.experiments.register('timelineInvalidationTracking', 'Timeline: invalidation tracking', true);
|
|
308
308
|
Root.Runtime.experiments.register('timelineShowAllEvents', 'Timeline: show all events', true);
|
|
309
|
-
Root.Runtime.experiments.register(
|
|
310
|
-
'timelineV8RuntimeCallStats', 'Timeline: V8 Runtime Call Stats on Timeline', true);
|
|
311
309
|
Root.Runtime.experiments.register('timelineWebGL', 'Timeline: WebGL-based flamechart');
|
|
312
310
|
Root.Runtime.experiments.register('timelineReplayEvent', 'Timeline: Replay input events', true);
|
|
313
311
|
Root.Runtime.experiments.register(
|
|
@@ -8,10 +8,9 @@ import * as SDK from '../../core/sdk/sdk.js';
|
|
|
8
8
|
import * as Workspace from '../../models/workspace/workspace.js';
|
|
9
9
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
10
10
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
11
|
+
import type * as InspectorMain from '../inspector_main/inspector_main.js';
|
|
11
12
|
|
|
12
|
-
// eslint-disable-next-line rulesdir/es_modules_import
|
|
13
13
|
import type * as Main from './main.js';
|
|
14
|
-
import type * as InspectorMain from '../inspector_main/inspector_main.js';
|
|
15
14
|
|
|
16
15
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
17
16
|
const UIStrings = {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
import '../shell/shell.js';
|
|
5
|
-
import * as Startup from '../startup/startup.js';
|
|
5
|
+
import * as Startup from '../startup/startup.js';
|
|
6
6
|
|
|
7
7
|
Startup.RuntimeInstantiator.startApplication('ndb_app');
|