chrome-devtools-frontend 1.0.1645245 → 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 +2 -1
- package/front_end/core/root/Runtime.ts +10 -0
- package/front_end/core/sdk/DebuggerModel.ts +7 -9
- package/front_end/core/sdk/NetworkRequest.ts +0 -24
- package/front_end/generated/InspectorBackendCommands.ts +2 -2
- package/front_end/generated/SupportedCSSProperties.js +75 -0
- package/front_end/generated/protocol.ts +0 -5
- package/front_end/models/ai_assistance/AiAgent2.ts +29 -2
- 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 +15 -4
- 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 +10 -2
- package/front_end/models/ai_assistance/agents/README.md +7 -0
- 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/README.md +1 -1
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +15 -11
- package/front_end/models/web_mcp/WebMCPModel.ts +8 -48
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +13 -13
- package/front_end/panels/ai_assistance/components/ChatInput.ts +4 -4
- package/front_end/panels/application/ApplicationPanelSidebar.ts +25 -0
- package/front_end/panels/application/WebMCPView.ts +40 -70
- package/front_end/panels/application/components/AdsView.ts +31 -28
- package/front_end/panels/application/components/adsView.css +6 -0
- package/front_end/panels/common/ExtensionServer.ts +5 -0
- 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/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -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.
|
|
@@ -571,8 +571,9 @@ export enum PanelCodes {
|
|
|
571
571
|
'developer-resources' = 66,
|
|
572
572
|
'autofill-view' = 67,
|
|
573
573
|
freestyler = 68,
|
|
574
|
+
ads = 69,
|
|
574
575
|
/* eslint-enable @typescript-eslint/naming-convention */
|
|
575
|
-
MAX_VALUE =
|
|
576
|
+
MAX_VALUE = 70,
|
|
576
577
|
}
|
|
577
578
|
|
|
578
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
|
/**
|
|
@@ -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
|
*/
|
|
@@ -1948,14 +1932,6 @@ export const cookieExemptionReasonToUiString = function(
|
|
|
1948
1932
|
switch (exemptionReason) {
|
|
1949
1933
|
case Protocol.Network.CookieExemptionReason.UserSetting:
|
|
1950
1934
|
return i18nString(UIStrings.exemptionReasonUserSetting);
|
|
1951
|
-
case Protocol.Network.CookieExemptionReason.TPCDMetadata:
|
|
1952
|
-
return i18nString(UIStrings.exemptionReasonTPCDMetadata);
|
|
1953
|
-
case Protocol.Network.CookieExemptionReason.TopLevelTPCDDeprecationTrial:
|
|
1954
|
-
return i18nString(UIStrings.exemptionReasonTopLevelTPCDDeprecationTrial);
|
|
1955
|
-
case Protocol.Network.CookieExemptionReason.TPCDDeprecationTrial:
|
|
1956
|
-
return i18nString(UIStrings.exemptionReasonTPCDDeprecationTrial);
|
|
1957
|
-
case Protocol.Network.CookieExemptionReason.TPCDHeuristics:
|
|
1958
|
-
return i18nString(UIStrings.exemptionReasonTPCDHeuristics);
|
|
1959
1935
|
case Protocol.Network.CookieExemptionReason.EnterprisePolicy:
|
|
1960
1936
|
return i18nString(UIStrings.exemptionReasonEnterprisePolicy);
|
|
1961
1937
|
case Protocol.Network.CookieExemptionReason.StorageAccess:
|
|
@@ -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"});
|