chrome-devtools-frontend 1.0.1643855 → 1.0.1646286
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/.agents/skills/devtools-source-maps/SKILL.md +124 -0
- package/docs/README.md +1 -0
- package/docs/using_source_maps.md +159 -0
- package/front_end/core/host/AidaClientTypes.ts +2 -0
- package/front_end/core/host/UserMetrics.ts +5 -3
- package/front_end/core/root/Runtime.ts +10 -0
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +2 -3
- package/front_end/core/sdk/DebuggerModel.ts +7 -9
- package/front_end/core/sdk/NetworkRequest.ts +0 -25
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +37 -0
- package/front_end/generated/InspectorBackendCommands.ts +2 -2
- package/front_end/generated/SupportedCSSProperties.js +79 -2
- package/front_end/generated/protocol.ts +0 -5
- package/front_end/models/ai_assistance/AiAgent2.ts +52 -15
- package/front_end/models/ai_assistance/AiConversation.ts +4 -2
- package/front_end/models/ai_assistance/AiOrigins.ts +63 -2
- package/front_end/models/ai_assistance/README.md +20 -8
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +2 -2
- package/front_end/models/ai_assistance/agents/FileAgent.ts +9 -42
- package/front_end/models/ai_assistance/agents/NetworkAgent.snapshot.txt +2 -2
- package/front_end/models/ai_assistance/agents/NetworkAgent.ts +9 -133
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +25 -2
- package/front_end/models/ai_assistance/agents/README.md +64 -0
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +26 -3
- package/front_end/models/ai_assistance/ai_assistance.ts +4 -0
- package/front_end/models/ai_assistance/contexts/FileContext.ts +45 -0
- package/front_end/models/ai_assistance/contexts/RequestContext.snapshot.txt +48 -0
- package/front_end/models/ai_assistance/contexts/RequestContext.ts +116 -0
- package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +2 -1
- package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +9 -12
- package/front_end/models/ai_assistance/tools/GetStyles.ts +19 -12
- package/front_end/models/ai_assistance/tools/README.md +45 -0
- package/front_end/models/ai_assistance/tools/Tool.ts +74 -11
- package/front_end/models/ai_assistance/tools/ToolRegistry.ts +21 -5
- package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +18 -2
- package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +4 -0
- package/front_end/models/stack_trace/DetailedErrorStackParser.ts +17 -4
- package/front_end/models/stack_trace/StackTraceModel.ts +34 -1
- package/front_end/models/trace/Styles.ts +29 -7
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +15 -11
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +33 -4
- package/front_end/models/trace/helpers/Timing.ts +10 -0
- package/front_end/models/trace/types/TraceEvents.ts +22 -2
- package/front_end/models/web_mcp/WebMCPModel.ts +8 -48
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +21 -15
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +16 -0
- package/front_end/panels/ai_assistance/components/ChatInput.ts +4 -4
- package/front_end/panels/application/ApplicationPanelSidebar.ts +69 -0
- package/front_end/panels/application/ServiceWorkersView.ts +2 -2
- package/front_end/panels/application/WebMCPView.ts +40 -71
- package/front_end/panels/application/components/AdsView.ts +31 -28
- package/front_end/panels/application/components/BackForwardCacheView.ts +1 -2
- package/front_end/panels/application/components/adsView.css +6 -0
- package/front_end/panels/common/ExtensionServer.ts +5 -0
- package/front_end/panels/console/ConsoleView.ts +6 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +46 -213
- package/front_end/panels/console/SymbolizedErrorWidget.ts +4 -1
- package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +0 -1
- package/front_end/panels/elements/ElementsTreeElement.ts +0 -2
- package/front_end/panels/elements/PropertyRenderer.ts +0 -1
- package/front_end/panels/elements/StylesSidebarPane.ts +9 -2
- package/front_end/panels/issues/AffectedResourcesView.ts +1 -1
- package/front_end/panels/issues/AffectedSourcesView.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +0 -1
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +10 -0
- package/front_end/panels/network/NetworkDataGridNode.ts +1 -2
- package/front_end/panels/network/NetworkLogView.ts +34 -7
- package/front_end/panels/profiler/HeapProfileView.ts +0 -1
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +0 -1
- package/front_end/panels/profiler/HeapSnapshotView.ts +1 -1
- package/front_end/panels/profiler/IsolateSelector.ts +4 -2
- package/front_end/panels/profiler/ProfileLauncherView.ts +194 -126
- package/front_end/panels/profiler/ProfilesPanel.ts +1 -3
- package/front_end/panels/settings/components/SyncSection.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartView.ts +5 -4
- package/front_end/panels/timeline/TimelinePanel.ts +7 -0
- package/front_end/panels/timeline/TimelineUIUtils.ts +13 -14
- package/front_end/panels/timeline/TimingsTrackAppender.ts +7 -5
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +0 -1
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +0 -2
- package/front_end/panels/timeline/components/insights/ForcedReflow.ts +0 -1
- package/front_end/panels/timeline/components/insights/NodeLink.ts +0 -1
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +2 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/helpers/OpenInNewTab.ts +3 -3
- package/front_end/ui/kit/link/Link.ts +16 -2
- package/front_end/ui/legacy/InspectorDrawerView.ts +14 -5
- package/front_end/ui/legacy/InspectorView.ts +4 -1
- package/front_end/ui/legacy/PlusButton.ts +6 -1
- package/front_end/ui/legacy/Widget.ts +19 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +95 -31
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +0 -1
- package/front_end/ui/legacy/components/utils/Linkifier.ts +2 -16
- package/front_end/ui/visual_logging/KnownContextValues.ts +6 -0
- package/package.json +1 -1
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devtools-source-maps
|
|
3
|
+
description: Guidelines for utilizing source maps and structured stack traces in DevTools. Covers DebuggerWorkspaceBinding, StackTrace, SymbolizedError, and related UI widgets.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Utilizing Source Maps & Structured Stack Traces in DevTools
|
|
7
|
+
|
|
8
|
+
This skill guides you on how to correctly map runtime coordinates to original
|
|
9
|
+
source locations and render structured stack traces or symbolized errors in the
|
|
10
|
+
DevTools frontend.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 1. Primary Rules
|
|
15
|
+
1. **Never parse raw error stacks manually:** Do not split on newlines or use
|
|
16
|
+
homebrew regex to parse stack traces. Use `DebuggerWorkspaceBinding` helpers
|
|
17
|
+
to structurally parse and translate stack traces.
|
|
18
|
+
2. **Dispose of subscriptions:** Models like `SymbolizedError` subscribe to
|
|
19
|
+
live locations. Always call `.dispose()` when the consumer (e.g., a widget
|
|
20
|
+
or list) is destroyed to avoid memory leaks.
|
|
21
|
+
3. **Prefer pre-built widgets:** Instead of manually formatting or rendering
|
|
22
|
+
call frames, use `StackTracePreviewContent` for raw stacks, and
|
|
23
|
+
`SymbolizedErrorWidget` for complete errors.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Core Abstractions
|
|
28
|
+
|
|
29
|
+
### A. StackTrace Model (`front_end/models/stack_trace/`)
|
|
30
|
+
A structured representation of a call stack (synchronous + asynchronous segments).
|
|
31
|
+
* **`StackTrace`** / **`ParsedErrorStackTrace`** / **`DebuggableStackTrace`**:
|
|
32
|
+
Dispatches a `StackTrace.Events.UPDATED` event when the original sources
|
|
33
|
+
are fully resolved or update.
|
|
34
|
+
* **`Frame`**: Represents a single frame, which contains `uiSourceCode`,
|
|
35
|
+
`url`, line/column info, untranslated `rawName`, translated `name`, and
|
|
36
|
+
inline information.
|
|
37
|
+
|
|
38
|
+
### B. SymbolizedError Model (`front_end/models/bindings/SymbolizedError.ts`)
|
|
39
|
+
A union type representing a fully symbolized error.
|
|
40
|
+
* **`SymbolizedErrorObject`**: Contains error `message`, `stackTrace` (as a
|
|
41
|
+
`ParsedErrorStackTrace`), and an optional `cause` (another
|
|
42
|
+
`SymbolizedError`). Also holds compile/eval `syntaxErrorLocation`.
|
|
43
|
+
* **`UnparsableError`**: Fallback when parsing fails.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. Core APIs on DebuggerWorkspaceBinding
|
|
48
|
+
|
|
49
|
+
### Location Translation
|
|
50
|
+
Translates raw coordinates into UI-friendly original source coordinates:
|
|
51
|
+
```ts
|
|
52
|
+
const uiLocation = await Bindings.DebuggerWorkspaceBinding.instance()
|
|
53
|
+
.rawLocationToUILocation(rawLocation);
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### StackTrace & Error Generation
|
|
57
|
+
|
|
58
|
+
* **From Protocol Stack Trace (Runtime Domain)**:
|
|
59
|
+
```ts
|
|
60
|
+
const stack = await Bindings.DebuggerWorkspaceBinding.instance()
|
|
61
|
+
.createStackTraceFromProtocolRuntime(protocolStackTrace, target);
|
|
62
|
+
```
|
|
63
|
+
* **From Debugger Pause details**:
|
|
64
|
+
```ts
|
|
65
|
+
const stack = await Bindings.DebuggerWorkspaceBinding.instance()
|
|
66
|
+
.createStackTraceFromDebuggerPaused(pausedDetails, target);
|
|
67
|
+
```
|
|
68
|
+
* **From a Raw Error Stack string**:
|
|
69
|
+
```ts
|
|
70
|
+
const stack = await Bindings.DebuggerWorkspaceBinding.instance()
|
|
71
|
+
.createStackTraceFromErrorStackLikeString(target, stackString, exceptionDetails);
|
|
72
|
+
```
|
|
73
|
+
* **From a Remote Error Object**:
|
|
74
|
+
```ts
|
|
75
|
+
const symbolizedError = await Bindings.DebuggerWorkspaceBinding.instance()
|
|
76
|
+
.createSymbolizedError(remoteObject, exceptionDetails);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 4. UI Widget Reference
|
|
82
|
+
|
|
83
|
+
### StackTracePreviewContent
|
|
84
|
+
Renders a structured `StackTrace` inside Shadow DOM. Handles expandable UI and
|
|
85
|
+
collapsing ignore-listed files.
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
89
|
+
import * as Workspace from '../../models/workspace/workspace.js';
|
|
90
|
+
|
|
91
|
+
const preview = new Components.JSPresentationUtils.StackTracePreviewContent();
|
|
92
|
+
preview.stackTrace = stackTrace;
|
|
93
|
+
preview.options = {
|
|
94
|
+
expandable: true,
|
|
95
|
+
showColumnNumber: true,
|
|
96
|
+
ignoreListManager: Workspace.IgnoreListManager.IgnoreListManager.instance(),
|
|
97
|
+
};
|
|
98
|
+
this.contentElement.appendChild(preview.element);
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### SymbolizedErrorWidget
|
|
102
|
+
Displays a complete `SymbolizedError` including recursive causal chains
|
|
103
|
+
("Caused by: ...") and syntax error locations.
|
|
104
|
+
|
|
105
|
+
```ts
|
|
106
|
+
import * as Panels from '../../panels/panels.js';
|
|
107
|
+
import * as Workspace from '../../models/workspace/workspace.js';
|
|
108
|
+
|
|
109
|
+
const errorWidget = new Panels.Console.SymbolizedErrorWidget();
|
|
110
|
+
errorWidget.error = symbolizedError;
|
|
111
|
+
errorWidget.ignoreListManager = Workspace.IgnoreListManager.IgnoreListManager
|
|
112
|
+
.instance();
|
|
113
|
+
this.contentElement.appendChild(errorWidget.element);
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 5. Verification Checklist
|
|
119
|
+
|
|
120
|
+
1. **Check for Memory Leaks:** Verify `symbolizedError.dispose()` is called
|
|
121
|
+
on consumer widget cleanup.
|
|
122
|
+
2. **Ignore-listing Support:** Ensure widgets have `ignoreListManager` set.
|
|
123
|
+
3. **WASM/Inline Support:** Check that inline and WebAssembly frames map
|
|
124
|
+
correctly via original source maps.
|
package/docs/README.md
CHANGED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Utilizing Source Maps in DevTools
|
|
2
|
+
|
|
3
|
+
This document describes how to utilize source maps and translate raw runtime
|
|
4
|
+
locations into original source locations inside the DevTools frontend.
|
|
5
|
+
|
|
6
|
+
DevTools provides a set of high-level abstractions and UI widgets to parse,
|
|
7
|
+
symbolize, and render stack traces and errors. Prefer these tools
|
|
8
|
+
over manual coordinate translation or raw string parsing.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Central Coordinate Translation: DebuggerWorkspaceBinding
|
|
13
|
+
|
|
14
|
+
The `DebuggerWorkspaceBinding` class (located in `front_end/models/bindings/`)
|
|
15
|
+
acts as the central coordinator for mapping compiled/raw runtime coordinates
|
|
16
|
+
to workspace/UI locations. It manages various source mappings (such as source
|
|
17
|
+
maps, compiler mappings, and language plugins).
|
|
18
|
+
|
|
19
|
+
### Translating Raw Locations
|
|
20
|
+
|
|
21
|
+
To convert a single raw debugger location (with a script ID, line number, and
|
|
22
|
+
column number) into an original source location, use:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
const uiLocation = await DebuggerWorkspaceBinding.instance()
|
|
26
|
+
.rawLocationToUILocation(rawLocation);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Since source maps may need to be loaded or parsed, this method returns a
|
|
30
|
+
`Promise` resolving to `Workspace.UISourceCode.UILocation | null`.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Structured Stack Trace Abstractions
|
|
35
|
+
|
|
36
|
+
The project organizes stack traces and errors around two primary models:
|
|
37
|
+
|
|
38
|
+
### 1. StackTrace
|
|
39
|
+
|
|
40
|
+
Located in `front_end/models/stack_trace/`, a `StackTrace` represents a
|
|
41
|
+
structured stack trace. It is composed of:
|
|
42
|
+
- **`syncFragment`** (`Fragment`): The synchronous part of the call stack.
|
|
43
|
+
- **`asyncFragments`** (`AsyncFragment[]`): Asynchronous call stack segments,
|
|
44
|
+
each with a description (e.g., "Promise.then") and its own frames.
|
|
45
|
+
|
|
46
|
+
Each frame (`Frame`) contains properties like `url`, `uiSourceCode`, `name`
|
|
47
|
+
(translated name), `rawName` (untranslated name), `line`, `column`, and flags
|
|
48
|
+
indicating if the frame `isInline`, `isWasm`, or has `missingDebugInfo`.
|
|
49
|
+
|
|
50
|
+
#### Creating a StackTrace
|
|
51
|
+
|
|
52
|
+
`DebuggerWorkspaceBinding` provides several helpers depending on your source
|
|
53
|
+
format:
|
|
54
|
+
|
|
55
|
+
* **From CDP Protocol Stack Trace**:
|
|
56
|
+
```ts
|
|
57
|
+
const stackTrace = await DebuggerWorkspaceBinding.instance()
|
|
58
|
+
.createStackTraceFromProtocolRuntime(protocolStackTrace, target);
|
|
59
|
+
```
|
|
60
|
+
* **From Debugger Pause Event**:
|
|
61
|
+
```ts
|
|
62
|
+
const stackTrace = await DebuggerWorkspaceBinding.instance()
|
|
63
|
+
.createStackTraceFromDebuggerPaused(pausedDetails, target);
|
|
64
|
+
```
|
|
65
|
+
* **From an Error-Like Stack String**:
|
|
66
|
+
```ts
|
|
67
|
+
const stackTrace = await DebuggerWorkspaceBinding.instance()
|
|
68
|
+
.createStackTraceFromErrorStackLikeString(target, stackString, exceptionDetails);
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### 2. SymbolizedError
|
|
74
|
+
|
|
75
|
+
Located in `front_end/models/bindings/SymbolizedError.ts`, `SymbolizedError` is
|
|
76
|
+
a union type of `SymbolizedErrorObject` and `UnparsableError`. It represents a
|
|
77
|
+
fully parsed and symbolized Error object.
|
|
78
|
+
|
|
79
|
+
* **`SymbolizedErrorObject`**: Contains the parsed error message (`message`),
|
|
80
|
+
the parsed `ParsedErrorStackTrace` (`stackTrace`), and an optional `cause`
|
|
81
|
+
(`SymbolizedError`), which allows recursive representation of chained
|
|
82
|
+
errors. It also handles special cases like compile-time or eval-time
|
|
83
|
+
`SyntaxError`s, exposing a `syntaxErrorLocation` pointing directly to where
|
|
84
|
+
the parse failed.
|
|
85
|
+
* **`UnparsableError`**: A fallback representation for stack traces that
|
|
86
|
+
cannot be structurally parsed.
|
|
87
|
+
|
|
88
|
+
#### Creating a SymbolizedError
|
|
89
|
+
|
|
90
|
+
To resolve a `RemoteObject` (of subtype `error` or type `string`) into a
|
|
91
|
+
symbolized representation:
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
const symbolizedError = await DebuggerWorkspaceBinding.instance()
|
|
95
|
+
.createSymbolizedError(remoteObject, exceptionDetails);
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
> **Memory Management Note:** Both `StackTrace` and `SymbolizedError` models
|
|
99
|
+
> listen to live location updates and must be properly `dispose()`d when no
|
|
100
|
+
> longer used to prevent memory leaks.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## UI Widgets
|
|
105
|
+
|
|
106
|
+
To render the above models in the DevTools UI, you should use the following
|
|
107
|
+
pre-built widgets instead of constructing your own custom tables or lists:
|
|
108
|
+
|
|
109
|
+
### 1. StackTracePreviewContent
|
|
110
|
+
|
|
111
|
+
Located in `front_end/ui/legacy/components/utils/JSPresentationUtils.ts`, this
|
|
112
|
+
widget renders a structured `StackTrace` inside a shadow DOM. It automatically
|
|
113
|
+
handles collapsible sections (expanded/collapsed) and ignore-listed files or
|
|
114
|
+
folders.
|
|
115
|
+
|
|
116
|
+
#### Usage:
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
120
|
+
import * as Workspace from '../../models/workspace/workspace.js';
|
|
121
|
+
|
|
122
|
+
const preview = new Components.JSPresentationUtils.StackTracePreviewContent();
|
|
123
|
+
preview.stackTrace = stackTrace;
|
|
124
|
+
preview.options = {
|
|
125
|
+
expandable: true,
|
|
126
|
+
showColumnNumber: true,
|
|
127
|
+
ignoreListManager: Workspace.IgnoreListManager.IgnoreListManager.instance(),
|
|
128
|
+
};
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
### 2. SymbolizedErrorWidget
|
|
134
|
+
|
|
135
|
+
Located in `front_end/panels/console/SymbolizedErrorWidget.ts`, this widget is
|
|
136
|
+
designed to display a complete `SymbolizedError`, including its parsed message,
|
|
137
|
+
any nested `cause` errors (rendered recursively with "Caused by:"), and links for
|
|
138
|
+
syntax error locations.
|
|
139
|
+
|
|
140
|
+
#### Usage:
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
import * as Panels from '../../panels/panels.js';
|
|
144
|
+
import * as Workspace from '../../models/workspace/workspace.js';
|
|
145
|
+
|
|
146
|
+
const errorWidget = new Panels.Console.SymbolizedErrorWidget();
|
|
147
|
+
errorWidget.error = symbolizedError;
|
|
148
|
+
errorWidget.ignoreListManager = Workspace.IgnoreListManager.IgnoreListManager
|
|
149
|
+
.instance();
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Reaching Out
|
|
155
|
+
|
|
156
|
+
If none of the existing methods, abstractions, or widgets cover your specific
|
|
157
|
+
use-case, or if you need additional capabilities for coordinate/stack trace
|
|
158
|
+
symbolization, please **reach out to the DevTools team**. Do not roll your
|
|
159
|
+
own coordinate mapping or raw string parsing logic.
|
|
@@ -496,8 +496,9 @@ export enum Action {
|
|
|
496
496
|
AiCodeGenerationRequestTriggeredFromSources = 205,
|
|
497
497
|
AiCodeCompletionFreCompletedFromConsole = 206,
|
|
498
498
|
AiCodeCompletionFreCompletedFromSources = 207,
|
|
499
|
-
|
|
500
|
-
|
|
499
|
+
AiAssistanceOpenedFromApplicationPanelFloatingButton = 208,
|
|
500
|
+
AiAssistanceOpenedFromApplicationPanel = 209,
|
|
501
|
+
MAX_VALUE = 210,
|
|
501
502
|
/* eslint-enable @typescript-eslint/naming-convention */
|
|
502
503
|
}
|
|
503
504
|
|
|
@@ -570,8 +571,9 @@ export enum PanelCodes {
|
|
|
570
571
|
'developer-resources' = 66,
|
|
571
572
|
'autofill-view' = 67,
|
|
572
573
|
freestyler = 68,
|
|
574
|
+
ads = 69,
|
|
573
575
|
/* eslint-enable @typescript-eslint/naming-convention */
|
|
574
|
-
MAX_VALUE =
|
|
576
|
+
MAX_VALUE = 70,
|
|
575
577
|
}
|
|
576
578
|
|
|
577
579
|
export enum MediaTypes {
|
|
@@ -600,6 +600,10 @@ interface LiveEdit {
|
|
|
600
600
|
enabled: boolean;
|
|
601
601
|
}
|
|
602
602
|
|
|
603
|
+
interface ExtensionsOnChromeUrls {
|
|
604
|
+
enabled: boolean;
|
|
605
|
+
}
|
|
606
|
+
|
|
603
607
|
interface DevToolsFlexibleLayout {
|
|
604
608
|
verticalDrawerEnabled: boolean;
|
|
605
609
|
}
|
|
@@ -637,6 +641,10 @@ interface DevToolsWebMCPSupport {
|
|
|
637
641
|
enabled: boolean;
|
|
638
642
|
}
|
|
639
643
|
|
|
644
|
+
interface DevToolsAdsPanel {
|
|
645
|
+
enabled: boolean;
|
|
646
|
+
}
|
|
647
|
+
|
|
640
648
|
interface DevToolsPlusButton {
|
|
641
649
|
enabled: boolean;
|
|
642
650
|
}
|
|
@@ -695,8 +703,10 @@ export type HostConfig = Platform.TypeScriptUtilities.RecursivePartial<{
|
|
|
695
703
|
devToolsGeminiRebranding: HostConfigGeminiRebranding,
|
|
696
704
|
devToolsProtocolMonitor: DevToolsProtocolMonitor,
|
|
697
705
|
devToolsWebMCPSupport: DevToolsWebMCPSupport,
|
|
706
|
+
devToolsAdsPanel: DevToolsAdsPanel,
|
|
698
707
|
devToolsUseGcaApi: UseGcaApi,
|
|
699
708
|
devToolsPlusButton: DevToolsPlusButton,
|
|
709
|
+
extensionsOnChromeUrls: ExtensionsOnChromeUrls,
|
|
700
710
|
}>;
|
|
701
711
|
|
|
702
712
|
/**
|
|
@@ -561,9 +561,8 @@ export class ColorMatcher extends matcherBase(ColorMatch) {
|
|
|
561
561
|
const colorText = args.length >= 2 ? matching.getComputedTextRange(args[0], args[args.length - 1]) : '';
|
|
562
562
|
// colorText holds the fully substituted parenthesized expression, so colorFunc + colorText is the color
|
|
563
563
|
// function call.
|
|
564
|
-
const isRelativeColorSyntax =
|
|
565
|
-
colorText.match(/^[^)]*\(\W*from\W+/) && !matching.hasUnresolvedSubstitutions(node)
|
|
566
|
-
CSS.supports('color', colorFunc + colorText));
|
|
564
|
+
const isRelativeColorSyntax =
|
|
565
|
+
Boolean(colorText.match(/^[^)]*\(\W*from\W+/) && !matching.hasUnresolvedSubstitutions(node));
|
|
567
566
|
if (!isRelativeColorSyntax) {
|
|
568
567
|
return new ColorMatch(text, node);
|
|
569
568
|
}
|
|
@@ -734,12 +734,11 @@ export class DebuggerModel extends SDKModel<EventTypes> {
|
|
|
734
734
|
}
|
|
735
735
|
}
|
|
736
736
|
|
|
737
|
-
createRawLocation(script: Script, lineNumber: number, columnNumber: number
|
|
738
|
-
return this.createRawLocationByScriptId(script.scriptId, lineNumber, columnNumber
|
|
737
|
+
createRawLocation(script: Script, lineNumber: number, columnNumber: number): Location {
|
|
738
|
+
return this.createRawLocationByScriptId(script.scriptId, lineNumber, columnNumber);
|
|
739
739
|
}
|
|
740
740
|
|
|
741
|
-
createRawLocationByURL(sourceURL: string, lineNumber: number, columnNumber?: number
|
|
742
|
-
Location|null {
|
|
741
|
+
createRawLocationByURL(sourceURL: string, lineNumber: number, columnNumber?: number): Location|null {
|
|
743
742
|
for (const script of this.#scriptsBySourceURL.get(sourceURL) || []) {
|
|
744
743
|
if (script.lineOffset > lineNumber ||
|
|
745
744
|
(script.lineOffset === lineNumber && columnNumber !== undefined && script.columnOffset > columnNumber)) {
|
|
@@ -749,15 +748,14 @@ export class DebuggerModel extends SDKModel<EventTypes> {
|
|
|
749
748
|
(script.endLine === lineNumber && columnNumber !== undefined && script.endColumn <= columnNumber)) {
|
|
750
749
|
continue;
|
|
751
750
|
}
|
|
752
|
-
return new Location(this, script.scriptId, lineNumber, columnNumber
|
|
751
|
+
return new Location(this, script.scriptId, lineNumber, columnNumber);
|
|
753
752
|
}
|
|
754
753
|
return null;
|
|
755
754
|
}
|
|
756
755
|
|
|
757
|
-
createRawLocationByScriptId(
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
return new Location(this, scriptId, lineNumber, columnNumber, inlineFrameIndex);
|
|
756
|
+
createRawLocationByScriptId(scriptId: Protocol.Runtime.ScriptId, lineNumber: number,
|
|
757
|
+
columnNumber?: number): Location {
|
|
758
|
+
return new Location(this, scriptId, lineNumber, columnNumber);
|
|
761
759
|
}
|
|
762
760
|
|
|
763
761
|
createRawLocationsByStackTrace(stackTrace: Protocol.Runtime.StackTrace): Location[] {
|
|
@@ -157,22 +157,6 @@ const UIStrings = {
|
|
|
157
157
|
* @description Tooltip to explain why the cookie should have been blocked by third-party cookie phaseout but is exempted.
|
|
158
158
|
*/
|
|
159
159
|
exemptionReasonUserSetting: 'This cookie is allowed by user preference.',
|
|
160
|
-
/**
|
|
161
|
-
* @description Tooltip to explain why the cookie should have been blocked by third-party cookie phaseout but is exempted.
|
|
162
|
-
*/
|
|
163
|
-
exemptionReasonTPCDMetadata: 'This cookie is allowed by a third-party cookie deprecation trial grace period. Learn more: goo.gle/dt-grace.',
|
|
164
|
-
/**
|
|
165
|
-
* @description Tooltip to explain why the cookie should have been blocked by third-party cookie phaseout but is exempted.
|
|
166
|
-
*/
|
|
167
|
-
exemptionReasonTPCDDeprecationTrial: 'This cookie is allowed by third-party cookie deprecation trial. Learn more: goo.gle/ps-dt.',
|
|
168
|
-
/**
|
|
169
|
-
* @description Tooltip to explain why the cookie should have been blocked by third-party cookie phaseout but is exempted.
|
|
170
|
-
*/
|
|
171
|
-
exemptionReasonTopLevelTPCDDeprecationTrial: 'This cookie is allowed by top-level third-party cookie deprecation trial. Learn more: goo.gle/ps-dt.',
|
|
172
|
-
/**
|
|
173
|
-
* @description Tooltip to explain why the cookie should have been blocked by third-party cookie phaseout but is exempted.
|
|
174
|
-
*/
|
|
175
|
-
exemptionReasonTPCDHeuristics: 'This cookie is allowed by third-party cookie heuristics. Learn more: goo.gle/hbe',
|
|
176
160
|
/**
|
|
177
161
|
* @description Tooltip to explain why the cookie should have been blocked by third-party cookie phaseout but is exempted.
|
|
178
162
|
*/
|
|
@@ -1920,7 +1904,6 @@ export interface EventTypes {
|
|
|
1920
1904
|
[Events.RESPONSE_HEADERS_CHANGED]: void;
|
|
1921
1905
|
[Events.WEBSOCKET_FRAME_ADDED]: WebSocketFrame;
|
|
1922
1906
|
[Events.DIRECTSOCKET_CHUNK_ADDED]: DirectSocketChunk;
|
|
1923
|
-
[Events.DIRECTSOCKET_CHUNK_ADDED]: DirectSocketChunk;
|
|
1924
1907
|
[Events.EVENT_SOURCE_MESSAGE_ADDED]: EventSourceMessage;
|
|
1925
1908
|
[Events.TRUST_TOKEN_RESULT_ADDED]: void;
|
|
1926
1909
|
}
|
|
@@ -1949,14 +1932,6 @@ export const cookieExemptionReasonToUiString = function(
|
|
|
1949
1932
|
switch (exemptionReason) {
|
|
1950
1933
|
case Protocol.Network.CookieExemptionReason.UserSetting:
|
|
1951
1934
|
return i18nString(UIStrings.exemptionReasonUserSetting);
|
|
1952
|
-
case Protocol.Network.CookieExemptionReason.TPCDMetadata:
|
|
1953
|
-
return i18nString(UIStrings.exemptionReasonTPCDMetadata);
|
|
1954
|
-
case Protocol.Network.CookieExemptionReason.TopLevelTPCDDeprecationTrial:
|
|
1955
|
-
return i18nString(UIStrings.exemptionReasonTopLevelTPCDDeprecationTrial);
|
|
1956
|
-
case Protocol.Network.CookieExemptionReason.TPCDDeprecationTrial:
|
|
1957
|
-
return i18nString(UIStrings.exemptionReasonTPCDDeprecationTrial);
|
|
1958
|
-
case Protocol.Network.CookieExemptionReason.TPCDHeuristics:
|
|
1959
|
-
return i18nString(UIStrings.exemptionReasonTPCDHeuristics);
|
|
1960
1935
|
case Protocol.Network.CookieExemptionReason.EnterprisePolicy:
|
|
1961
1936
|
return i18nString(UIStrings.exemptionReasonEnterprisePolicy);
|
|
1962
1937
|
case Protocol.Network.CookieExemptionReason.StorageAccess:
|
|
@@ -2740,6 +2740,8 @@ export abstract class HeapSnapshot {
|
|
|
2740
2740
|
const nodeAId = baseIds[i];
|
|
2741
2741
|
if (nodeAId < nodeB.id()) {
|
|
2742
2742
|
diff.deletedIndexes.push(baseIndexes[i]);
|
|
2743
|
+
diff.deletedIds.push(nodeAId);
|
|
2744
|
+
diff.deletedSelfSizes.push(baseSelfSizes[i]);
|
|
2743
2745
|
diff.removedCount++;
|
|
2744
2746
|
diff.removedSize += baseSelfSizes[i];
|
|
2745
2747
|
++i;
|
|
@@ -2747,6 +2749,8 @@ export abstract class HeapSnapshot {
|
|
|
2747
2749
|
nodeAId >
|
|
2748
2750
|
nodeB.id()) { // Native nodes(e.g. dom groups) may have ids less than max JS object id in the base snapshot
|
|
2749
2751
|
diff.addedIndexes.push(indexes[j]);
|
|
2752
|
+
diff.addedIds.push(nodeB.id());
|
|
2753
|
+
diff.addedSelfSizes.push(nodeB.selfSize());
|
|
2750
2754
|
diff.addedCount++;
|
|
2751
2755
|
diff.addedSize += nodeB.selfSize();
|
|
2752
2756
|
nodeB.nodeIndex = indexes[++j];
|
|
@@ -2757,12 +2761,16 @@ export abstract class HeapSnapshot {
|
|
|
2757
2761
|
}
|
|
2758
2762
|
while (i < l) {
|
|
2759
2763
|
diff.deletedIndexes.push(baseIndexes[i]);
|
|
2764
|
+
diff.deletedIds.push(baseIds[i]);
|
|
2765
|
+
diff.deletedSelfSizes.push(baseSelfSizes[i]);
|
|
2760
2766
|
diff.removedCount++;
|
|
2761
2767
|
diff.removedSize += baseSelfSizes[i];
|
|
2762
2768
|
++i;
|
|
2763
2769
|
}
|
|
2764
2770
|
while (j < m) {
|
|
2765
2771
|
diff.addedIndexes.push(indexes[j]);
|
|
2772
|
+
diff.addedIds.push(nodeB.id());
|
|
2773
|
+
diff.addedSelfSizes.push(nodeB.selfSize());
|
|
2766
2774
|
diff.addedCount++;
|
|
2767
2775
|
diff.addedSize += nodeB.selfSize();
|
|
2768
2776
|
nodeB.nodeIndex = indexes[++j];
|
|
@@ -2975,6 +2983,35 @@ export abstract class HeapSnapshot {
|
|
|
2975
2983
|
return {paths, limitsReached};
|
|
2976
2984
|
}
|
|
2977
2985
|
|
|
2986
|
+
getDominatorsOf(nodeIndex: number): HeapSnapshotModel.HeapSnapshotModel.DominatorChain {
|
|
2987
|
+
const chain: HeapSnapshotModel.HeapSnapshotModel.DominatorNode[] = [];
|
|
2988
|
+
let currentIndex = nodeIndex;
|
|
2989
|
+
const rootIndex = this.rootNodeIndex;
|
|
2990
|
+
|
|
2991
|
+
while (currentIndex !== undefined) {
|
|
2992
|
+
const node = this.createNode(currentIndex);
|
|
2993
|
+
chain.push({
|
|
2994
|
+
nodeId: node.id(),
|
|
2995
|
+
nodeIndex: currentIndex,
|
|
2996
|
+
nodeName: node.name(),
|
|
2997
|
+
retainedSize: node.retainedSize(),
|
|
2998
|
+
selfSize: node.selfSize(),
|
|
2999
|
+
});
|
|
3000
|
+
|
|
3001
|
+
if (currentIndex === rootIndex) {
|
|
3002
|
+
break;
|
|
3003
|
+
}
|
|
3004
|
+
|
|
3005
|
+
const nextIndex = node.dominatorIndex();
|
|
3006
|
+
if (nextIndex === currentIndex) {
|
|
3007
|
+
break;
|
|
3008
|
+
}
|
|
3009
|
+
currentIndex = nextIndex;
|
|
3010
|
+
}
|
|
3011
|
+
|
|
3012
|
+
return chain;
|
|
3013
|
+
}
|
|
3014
|
+
|
|
2978
3015
|
createAddedNodesProvider(baseSnapshotId: number, classKey: string): HeapSnapshotNodesProvider {
|
|
2979
3016
|
const snapshotDiff = this.#snapshotDiffs[baseSnapshotId];
|
|
2980
3017
|
const diffForClass = snapshotDiff[classKey];
|
|
@@ -798,7 +798,7 @@ inspectorBackend.registerEnum("Network.ServiceWorkerRouterSource", {Network: "ne
|
|
|
798
798
|
inspectorBackend.registerEnum("Network.InitiatorType", {Parser: "parser", Script: "script", Preload: "preload", SignedExchange: "SignedExchange", Preflight: "preflight", FedCM: "FedCM", Other: "other"});
|
|
799
799
|
inspectorBackend.registerEnum("Network.SetCookieBlockedReason", {SecureOnly: "SecureOnly", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", SyntaxError: "SyntaxError", SchemeNotSupported: "SchemeNotSupported", OverwriteSecure: "OverwriteSecure", InvalidDomain: "InvalidDomain", InvalidPrefix: "InvalidPrefix", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax", NameValuePairExceedsMaxSize: "NameValuePairExceedsMaxSize", DisallowedCharacter: "DisallowedCharacter", NoCookieContent: "NoCookieContent"});
|
|
800
800
|
inspectorBackend.registerEnum("Network.CookieBlockedReason", {SecureOnly: "SecureOnly", NotOnPath: "NotOnPath", DomainMismatch: "DomainMismatch", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax", NameValuePairExceedsMaxSize: "NameValuePairExceedsMaxSize", PortMismatch: "PortMismatch", SchemeMismatch: "SchemeMismatch", AnonymousContext: "AnonymousContext"});
|
|
801
|
-
inspectorBackend.registerEnum("Network.CookieExemptionReason", {None: "None", UserSetting: "UserSetting",
|
|
801
|
+
inspectorBackend.registerEnum("Network.CookieExemptionReason", {None: "None", UserSetting: "UserSetting", EnterprisePolicy: "EnterprisePolicy", StorageAccess: "StorageAccess", TopLevelStorageAccess: "TopLevelStorageAccess", Scheme: "Scheme", SameSiteNoneCookiesInSandbox: "SameSiteNoneCookiesInSandbox"});
|
|
802
802
|
inspectorBackend.registerEnum("Network.AuthChallengeSource", {Server: "Server", Proxy: "Proxy"});
|
|
803
803
|
inspectorBackend.registerEnum("Network.AuthChallengeResponseResponse", {Default: "Default", CancelAuth: "CancelAuth", ProvideCredentials: "ProvideCredentials"});
|
|
804
804
|
inspectorBackend.registerEnum("Network.InterceptionStage", {Request: "Request", HeadersReceived: "HeadersReceived"});
|
|
@@ -1038,7 +1038,7 @@ inspectorBackend.registerEnum("Page.AdFrameExplanation", {ParentIsAd: "ParentIsA
|
|
|
1038
1038
|
inspectorBackend.registerEnum("Page.SecureContextType", {Secure: "Secure", SecureLocalhost: "SecureLocalhost", InsecureScheme: "InsecureScheme", InsecureAncestor: "InsecureAncestor"});
|
|
1039
1039
|
inspectorBackend.registerEnum("Page.CrossOriginIsolatedContextType", {Isolated: "Isolated", NotIsolated: "NotIsolated", NotIsolatedFeatureDisabled: "NotIsolatedFeatureDisabled"});
|
|
1040
1040
|
inspectorBackend.registerEnum("Page.GatedAPIFeatures", {SharedArrayBuffers: "SharedArrayBuffers", SharedArrayBuffersTransferAllowed: "SharedArrayBuffersTransferAllowed", PerformanceMeasureMemory: "PerformanceMeasureMemory", PerformanceProfile: "PerformanceProfile"});
|
|
1041
|
-
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", {Accelerometer: "accelerometer", AllScreensCapture: "all-screens-capture", AmbientLightSensor: "ambient-light-sensor", AriaNotify: "aria-notify", AttributionReporting: "attribution-reporting", Autofill: "autofill", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", CapturedSurfaceControl: "captured-surface-control", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChPrefersReducedMotion: "ch-prefers-reduced-motion", ChPrefersReducedTransparency: "ch-prefers-reduced-transparency", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaHighEntropyValues: "ch-ua-high-entropy-values", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFormFactors: "ch-ua-form-factors", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", ComputePressure: "compute-pressure", ControlledFrame: "controlled-frame", CrossOriginIsolated: "cross-origin-isolated", DeferredFetch: "deferred-fetch", DeferredFetchMinimal: "deferred-fetch-minimal", DeviceAttributes: "device-attributes", DigitalCredentialsCreate: "digital-credentials-create", DigitalCredentialsGet: "digital-credentials-get", DirectSockets: "direct-sockets", DirectSocketsMulticast: "direct-sockets-multicast",
|
|
1041
|
+
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", {Accelerometer: "accelerometer", AllScreensCapture: "all-screens-capture", AmbientLightSensor: "ambient-light-sensor", AriaNotify: "aria-notify", AttributionReporting: "attribution-reporting", Autofill: "autofill", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", CapturedSurfaceControl: "captured-surface-control", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChPrefersReducedMotion: "ch-prefers-reduced-motion", ChPrefersReducedTransparency: "ch-prefers-reduced-transparency", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaHighEntropyValues: "ch-ua-high-entropy-values", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFormFactors: "ch-ua-form-factors", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", ComputePressure: "compute-pressure", ControlledFrame: "controlled-frame", CrossOriginIsolated: "cross-origin-isolated", DeferredFetch: "deferred-fetch", DeferredFetchMinimal: "deferred-fetch-minimal", DeviceAttributes: "device-attributes", DigitalCredentialsCreate: "digital-credentials-create", DigitalCredentialsGet: "digital-credentials-get", DirectSockets: "direct-sockets", DirectSocketsMulticast: "direct-sockets-multicast", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdentityCredentialsGet: "identity-credentials-get", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LanguageDetector: "language-detector", LanguageModel: "language-model", LocalFonts: "local-fonts", LocalNetwork: "local-network", LocalNetworkAccess: "local-network-access", LoopbackNetwork: "loopback-network", Magnetometer: "magnetometer", ManualText: "manual-text", MediaPlaybackWhileNotVisible: "media-playback-while-not-visible", Microphone: "microphone", Midi: "midi", OnDeviceSpeechRecognition: "on-device-speech-recognition", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PrivateAggregation: "private-aggregation", PrivateStateTokenIssuance: "private-state-token-issuance", PrivateStateTokenRedemption: "private-state-token-redemption", PublickeyCredentialsCreate: "publickey-credentials-create", PublickeyCredentialsGet: "publickey-credentials-get", RecordAdAuctionEvents: "record-ad-auction-events", Rewriter: "rewriter", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedStorage: "shared-storage", SharedStorageSelectUrl: "shared-storage-select-url", SmartCard: "smart-card", SpeakerSelection: "speaker-selection", StorageAccess: "storage-access", SubApps: "sub-apps", Summarizer: "summarizer", SyncXhr: "sync-xhr", Tools: "tools", Translator: "translator", Unload: "unload", Usb: "usb", UsbUnrestricted: "usb-unrestricted", VerticalScroll: "vertical-scroll", WebAppInstallation: "web-app-installation", Webnn: "webnn", WebPrinting: "web-printing", WebShare: "web-share", WindowManagement: "window-management", Writer: "writer", XrSpatialTracking: "xr-spatial-tracking"});
|
|
1042
1042
|
inspectorBackend.registerEnum("Page.PermissionsPolicyBlockReason", {Header: "Header", IframeAttribute: "IframeAttribute", InFencedFrameTree: "InFencedFrameTree", InIsolatedApp: "InIsolatedApp"});
|
|
1043
1043
|
inspectorBackend.registerEnum("Page.OriginTrialTokenStatus", {Success: "Success", NotSupported: "NotSupported", Insecure: "Insecure", Expired: "Expired", WrongOrigin: "WrongOrigin", InvalidSignature: "InvalidSignature", Malformed: "Malformed", WrongVersion: "WrongVersion", FeatureDisabled: "FeatureDisabled", TokenDisabled: "TokenDisabled", FeatureDisabledForUser: "FeatureDisabledForUser", UnknownTrial: "UnknownTrial"});
|
|
1044
1044
|
inspectorBackend.registerEnum("Page.OriginTrialStatus", {Enabled: "Enabled", ValidTokenNotProvided: "ValidTokenNotProvided", OSNotSupported: "OSNotSupported", TrialNotAllowed: "TrialNotAllowed"});
|