chrome-devtools-frontend 1.0.1034999 → 1.0.1036501
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/AUTHORS +1 -0
- package/config/gni/devtools_grd_files.gni +2 -0
- package/docs/workflows.md +4 -5
- package/front_end/core/i18n/locales/en-US.json +21 -6
- package/front_end/core/i18n/locales/en-XL.json +21 -6
- package/front_end/core/root/Runtime.ts +8 -3
- package/front_end/entrypoints/main/MainImpl.ts +6 -5
- package/front_end/generated/InspectorBackendCommands.js +2 -2
- package/front_end/generated/SupportedCSSProperties.js +8 -4
- package/front_end/generated/protocol.ts +7 -1
- package/front_end/models/persistence/NetworkPersistenceManager.ts +25 -14
- package/front_end/panels/application/components/Prerender2.ts +5 -7
- package/front_end/panels/elements/CSSRuleValidator.ts +1 -1
- package/front_end/panels/elements/StylePropertiesSection.ts +12 -0
- package/front_end/panels/elements/StylePropertyTreeElement.ts +1 -1
- package/front_end/panels/elements/StylesSidebarPane.ts +1 -0
- package/front_end/panels/network/NetworkLogView.ts +13 -5
- package/front_end/panels/settings/SettingsScreen.ts +12 -0
- package/front_end/panels/settings/settingsScreen.css +6 -0
- package/front_end/panels/sources/NavigatorView.ts +0 -7
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +4 -3
- package/front_end/panels/sources/SourcesNavigator.ts +0 -37
- package/front_end/panels/sources/SourcesPanel.ts +34 -22
- package/front_end/panels/sources/components/BreakpointsView.ts +206 -0
- package/front_end/panels/sources/components/HeadersView.ts +8 -41
- package/front_end/panels/sources/components/breakpointsView.css +95 -0
- package/front_end/panels/sources/components/components.ts +2 -0
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryHighlightChipList.ts +11 -9
- package/front_end/ui/components/linear_memory_inspector/linearMemoryHighlightChipList.css +48 -30
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -2
- package/package.json +1 -1
package/AUTHORS
CHANGED
@@ -17,6 +17,7 @@ Alexey Rodionov <fluorescent.hallucinogen@gmail.com>
|
|
17
17
|
Ankit Mishra <ankit.mishra131990@gmail.com>
|
18
18
|
Anna Agoha <annaagoha@gmail.com>
|
19
19
|
Anthony Xie <anthonyxie64@gmail.com>
|
20
|
+
Boris Verkhovskiy <boris.verk@gmail.com>
|
20
21
|
Carl Espe <carl@cpespe.com>
|
21
22
|
Conner Turner <cturner@zyme.xyz>
|
22
23
|
Daniel bellfield <dnlbellfield@gmail.com>
|
@@ -1265,8 +1265,10 @@ grd_files_debug_sources = [
|
|
1265
1265
|
"front_end/panels/sources/WatchExpressionsSidebarPane.js",
|
1266
1266
|
"front_end/panels/sources/breakpointEditDialog.css.js",
|
1267
1267
|
"front_end/panels/sources/callStackSidebarPane.css.js",
|
1268
|
+
"front_end/panels/sources/components/BreakpointsView.js",
|
1268
1269
|
"front_end/panels/sources/components/HeadersView.css.js",
|
1269
1270
|
"front_end/panels/sources/components/HeadersView.js",
|
1271
|
+
"front_end/panels/sources/components/breakpointsView.css.js",
|
1270
1272
|
"front_end/panels/sources/debuggerPausedMessage.css.js",
|
1271
1273
|
"front_end/panels/sources/dialog.css.js",
|
1272
1274
|
"front_end/panels/sources/javaScriptBreakpointsSidebarPane.css.js",
|
package/docs/workflows.md
CHANGED
@@ -44,8 +44,7 @@ gn gen out/fast-build --args='devtools_skip_typecheck=true'
|
|
44
44
|
To update to latest tip of tree version:
|
45
45
|
|
46
46
|
```bash
|
47
|
-
git fetch origin
|
48
|
-
git checkout origin/main
|
47
|
+
git fetch origin; git checkout origin/main # or, alternatively: git rebase-update
|
49
48
|
gclient sync
|
50
49
|
```
|
51
50
|
|
@@ -68,7 +67,7 @@ Open DevTools via F12 or Ctrl+Shift+J on Windows/Linux or Cmd+Option+I on Mac.
|
|
68
67
|
|
69
68
|
If you get errors along the line of `Uncaught TypeError: Cannot read property 'setInspectedTabId'` you probably specified an incorrect path - the path has to be absolute. On Mac and Linux, the file url will start with __three__ slashes: `file:///Users/...`.
|
70
69
|
|
71
|
-
Tip
|
70
|
+
**Tip**: You can inspect DevTools with DevTools by undocking DevTools and then opening a second instance of DevTools (see keyboard shortcut above).
|
72
71
|
|
73
72
|
##### Running from remote URL
|
74
73
|
|
@@ -82,7 +81,7 @@ Then point to that web server when starting Chromium, for example:
|
|
82
81
|
<path-to-devtools-frontend>/third_party/chrome/chrome-<platform>/chrome --custom-devtools-frontend=http://localhost:8000/
|
83
82
|
```
|
84
83
|
|
85
|
-
Open DevTools via F12 on Windows/Linux or Cmd+Option+I on Mac.
|
84
|
+
Open DevTools via F12 or Ctrl+Shift+J on Windows/Linux or Cmd+Option+I on Mac.
|
86
85
|
|
87
86
|
##### Running in hosted mode
|
88
87
|
|
@@ -117,7 +116,7 @@ gclient sync
|
|
117
116
|
Then, disable `gclient sync` for DevTools frontend inside of Chromium by editing `.gclient` config. From `chromium/src/`, run
|
118
117
|
|
119
118
|
```bash
|
120
|
-
vim $(gclient root)/.gclient
|
119
|
+
vim "$(gclient root)/.gclient"
|
121
120
|
```
|
122
121
|
|
123
122
|
In the `custom_deps` section, insert this line:
|
@@ -3272,6 +3272,9 @@
|
|
3272
3272
|
"panels/application/components/Prerender2.ts | CrossOriginRedirect": {
|
3273
3273
|
"message": "Attempted to prerender a URL which redirected to a cross-origin URL. Currently prerendering cross-origin pages is disallowed."
|
3274
3274
|
},
|
3275
|
+
"panels/application/components/Prerender2.ts | DataSaverEnabled": {
|
3276
|
+
"message": "Data saver enabled"
|
3277
|
+
},
|
3275
3278
|
"panels/application/components/Prerender2.ts | Destroyed": {
|
3276
3279
|
"message": "A prerendered page was abandoned for unknown reasons."
|
3277
3280
|
},
|
@@ -3284,9 +3287,6 @@
|
|
3284
3287
|
"panels/application/components/Prerender2.ts | EmbedderTriggeredAndCrossOriginRedirected": {
|
3285
3288
|
"message": "Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is is canceled because the navigation is redirected to another cross-origin page."
|
3286
3289
|
},
|
3287
|
-
"panels/application/components/Prerender2.ts | EmbedderTriggeredAndDestroyed": {
|
3288
|
-
"message": "Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is is destroyed in the destructor."
|
3289
|
-
},
|
3290
3290
|
"panels/application/components/Prerender2.ts | EmbedderTriggeredAndSameOriginRedirected": {
|
3291
3291
|
"message": "Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is canceled because the navigation is redirected to another same-origin page."
|
3292
3292
|
},
|
@@ -9725,6 +9725,9 @@
|
|
9725
9725
|
"panels/settings/SettingsScreen.ts | restoreDefaultsAndReload": {
|
9726
9726
|
"message": "Restore defaults and reload"
|
9727
9727
|
},
|
9728
|
+
"panels/settings/SettingsScreen.ts | sendFeedback": {
|
9729
|
+
"message": "Send feedback"
|
9730
|
+
},
|
9728
9731
|
"panels/settings/SettingsScreen.ts | settings": {
|
9729
9732
|
"message": "Settings"
|
9730
9733
|
},
|
@@ -9830,6 +9833,18 @@
|
|
9830
9833
|
"panels/sources/CallStackSidebarPane.ts | showMore": {
|
9831
9834
|
"message": "Show more"
|
9832
9835
|
},
|
9836
|
+
"panels/sources/components/BreakpointsView.ts | breakpointHit": {
|
9837
|
+
"message": "{PH1} breakpoint hit"
|
9838
|
+
},
|
9839
|
+
"panels/sources/components/BreakpointsView.ts | checked": {
|
9840
|
+
"message": "checked"
|
9841
|
+
},
|
9842
|
+
"panels/sources/components/BreakpointsView.ts | indeterminate": {
|
9843
|
+
"message": "mixed"
|
9844
|
+
},
|
9845
|
+
"panels/sources/components/BreakpointsView.ts | unchecked": {
|
9846
|
+
"message": "unchecked"
|
9847
|
+
},
|
9833
9848
|
"panels/sources/components/HeadersView.ts | addHeader": {
|
9834
9849
|
"message": "Add a header"
|
9835
9850
|
},
|
@@ -10460,9 +10475,6 @@
|
|
10460
10475
|
"panels/sources/sources-meta.ts | watch": {
|
10461
10476
|
"message": "Watch"
|
10462
10477
|
},
|
10463
|
-
"panels/sources/SourcesNavigator.ts | authoredDescription": {
|
10464
|
-
"message": "Group files by Authored/Deployed"
|
10465
|
-
},
|
10466
10478
|
"panels/sources/SourcesNavigator.ts | clearConfiguration": {
|
10467
10479
|
"message": "Clear configuration"
|
10468
10480
|
},
|
@@ -10541,6 +10553,9 @@
|
|
10541
10553
|
"panels/sources/SourcesPanel.ts | hideDebugger": {
|
10542
10554
|
"message": "Hide debugger"
|
10543
10555
|
},
|
10556
|
+
"panels/sources/SourcesPanel.ts | hideIgnoreListed": {
|
10557
|
+
"message": "Hide ignore-listed sources"
|
10558
|
+
},
|
10544
10559
|
"panels/sources/SourcesPanel.ts | hideNavigator": {
|
10545
10560
|
"message": "Hide navigator"
|
10546
10561
|
},
|
@@ -3272,6 +3272,9 @@
|
|
3272
3272
|
"panels/application/components/Prerender2.ts | CrossOriginRedirect": {
|
3273
3273
|
"message": "Ât́t̂ém̂ṕt̂éd̂ t́ô ṕr̂ér̂én̂d́êŕ â ÚR̂Ĺ ŵh́îćĥ ŕêd́îŕêćt̂éd̂ t́ô á ĉŕôśŝ-ór̂íĝín̂ ÚR̂Ĺ. Ĉúr̂ŕêńt̂ĺŷ ṕr̂ér̂én̂d́êŕîńĝ ćr̂óŝś-ôŕîǵîń p̂áĝéŝ íŝ d́îśâĺl̂óŵéd̂."
|
3274
3274
|
},
|
3275
|
+
"panels/application/components/Prerender2.ts | DataSaverEnabled": {
|
3276
|
+
"message": "D̂át̂á ŝáv̂ér̂ én̂áb̂ĺêd́"
|
3277
|
+
},
|
3275
3278
|
"panels/application/components/Prerender2.ts | Destroyed": {
|
3276
3279
|
"message": "Â ṕr̂ér̂én̂d́êŕêd́ p̂áĝé ŵáŝ áb̂án̂d́ôńêd́ f̂ór̂ ún̂ḱn̂óŵń r̂éâśôńŝ."
|
3277
3280
|
},
|
@@ -3284,9 +3287,6 @@
|
|
3284
3287
|
"panels/application/components/Prerender2.ts | EmbedderTriggeredAndCrossOriginRedirected": {
|
3285
3288
|
"message": "P̂ŕêŕêńd̂ér̂ín̂ǵ t̂ŕîǵĝér̂éd̂ b́ŷ Ćĥŕôḿê ín̂t́êŕn̂ál̂ (é.ĝ., Óm̂ńîb́ôx́ p̂ŕêŕêńd̂ér̂ín̂ǵ) îś îś ĉán̂ćêĺêd́ b̂éĉáûśê t́ĥé n̂áv̂íĝát̂íôń îś r̂éd̂ír̂éĉt́êd́ t̂ó âńôt́ĥér̂ ćr̂óŝś-ôŕîǵîń p̂áĝé."
|
3286
3289
|
},
|
3287
|
-
"panels/application/components/Prerender2.ts | EmbedderTriggeredAndDestroyed": {
|
3288
|
-
"message": "P̂ŕêŕêńd̂ér̂ín̂ǵ t̂ŕîǵĝér̂éd̂ b́ŷ Ćĥŕôḿê ín̂t́êŕn̂ál̂ (é.ĝ., Óm̂ńîb́ôx́ p̂ŕêŕêńd̂ér̂ín̂ǵ) îś îś d̂éŝt́r̂óŷéd̂ ín̂ t́ĥé d̂éŝt́r̂úĉt́ôŕ."
|
3289
|
-
},
|
3290
3290
|
"panels/application/components/Prerender2.ts | EmbedderTriggeredAndSameOriginRedirected": {
|
3291
3291
|
"message": "P̂ŕêŕêńd̂ér̂ín̂ǵ t̂ŕîǵĝér̂éd̂ b́ŷ Ćĥŕôḿê ín̂t́êŕn̂ál̂ (é.ĝ., Óm̂ńîb́ôx́ p̂ŕêŕêńd̂ér̂ín̂ǵ) îś ĉán̂ćêĺêd́ b̂éĉáûśê t́ĥé n̂áv̂íĝát̂íôń îś r̂éd̂ír̂éĉt́êd́ t̂ó âńôt́ĥér̂ śâḿê-ór̂íĝín̂ ṕâǵê."
|
3292
3292
|
},
|
@@ -9725,6 +9725,9 @@
|
|
9725
9725
|
"panels/settings/SettingsScreen.ts | restoreDefaultsAndReload": {
|
9726
9726
|
"message": "R̂éŝt́ôŕê d́êf́âúl̂t́ŝ án̂d́ r̂él̂óâd́"
|
9727
9727
|
},
|
9728
|
+
"panels/settings/SettingsScreen.ts | sendFeedback": {
|
9729
|
+
"message": "Ŝén̂d́ f̂éêd́b̂áĉḱ"
|
9730
|
+
},
|
9728
9731
|
"panels/settings/SettingsScreen.ts | settings": {
|
9729
9732
|
"message": "Ŝét̂t́îńĝś"
|
9730
9733
|
},
|
@@ -9830,6 +9833,18 @@
|
|
9830
9833
|
"panels/sources/CallStackSidebarPane.ts | showMore": {
|
9831
9834
|
"message": "Ŝh́ôẃ m̂ór̂é"
|
9832
9835
|
},
|
9836
|
+
"panels/sources/components/BreakpointsView.ts | breakpointHit": {
|
9837
|
+
"message": "{PH1} b̂ŕêák̂ṕôín̂t́ ĥít̂"
|
9838
|
+
},
|
9839
|
+
"panels/sources/components/BreakpointsView.ts | checked": {
|
9840
|
+
"message": "ĉh́êćk̂éd̂"
|
9841
|
+
},
|
9842
|
+
"panels/sources/components/BreakpointsView.ts | indeterminate": {
|
9843
|
+
"message": "m̂íx̂éd̂"
|
9844
|
+
},
|
9845
|
+
"panels/sources/components/BreakpointsView.ts | unchecked": {
|
9846
|
+
"message": "ûńĉh́êćk̂éd̂"
|
9847
|
+
},
|
9833
9848
|
"panels/sources/components/HeadersView.ts | addHeader": {
|
9834
9849
|
"message": "Âd́d̂ á ĥéâd́êŕ"
|
9835
9850
|
},
|
@@ -10460,9 +10475,6 @@
|
|
10460
10475
|
"panels/sources/sources-meta.ts | watch": {
|
10461
10476
|
"message": "Ŵát̂ćĥ"
|
10462
10477
|
},
|
10463
|
-
"panels/sources/SourcesNavigator.ts | authoredDescription": {
|
10464
|
-
"message": "Ĝŕôúp̂ f́îĺêś b̂ý Âút̂h́ôŕêd́/D̂ép̂ĺôýêd́"
|
10465
|
-
},
|
10466
10478
|
"panels/sources/SourcesNavigator.ts | clearConfiguration": {
|
10467
10479
|
"message": "Ĉĺêár̂ ćôńf̂íĝúr̂át̂íôń"
|
10468
10480
|
},
|
@@ -10541,6 +10553,9 @@
|
|
10541
10553
|
"panels/sources/SourcesPanel.ts | hideDebugger": {
|
10542
10554
|
"message": "Ĥíd̂é d̂éb̂úĝǵêŕ"
|
10543
10555
|
},
|
10556
|
+
"panels/sources/SourcesPanel.ts | hideIgnoreListed": {
|
10557
|
+
"message": "Ĥíd̂é îǵn̂ór̂é-l̂íŝt́êd́ ŝóûŕĉéŝ"
|
10558
|
+
},
|
10544
10559
|
"panels/sources/SourcesPanel.ts | hideNavigator": {
|
10545
10560
|
"message": "Ĥíd̂é n̂áv̂íĝát̂ór̂"
|
10546
10561
|
},
|
@@ -152,13 +152,16 @@ export class ExperimentsSupport {
|
|
152
152
|
self.localStorage['experiments'] = JSON.stringify(value);
|
153
153
|
}
|
154
154
|
|
155
|
-
register(
|
155
|
+
register(
|
156
|
+
experimentName: string, experimentTitle: string, unstable?: boolean, docLink?: string,
|
157
|
+
feedbackLink?: string): void {
|
156
158
|
Platform.DCHECK(
|
157
159
|
() => !this.#experimentNames.has(experimentName), 'Duplicate registration of experiment ' + experimentName);
|
158
160
|
this.#experimentNames.add(experimentName);
|
159
161
|
this.#experiments.push(new Experiment(
|
160
162
|
this, experimentName, experimentTitle, Boolean(unstable),
|
161
|
-
docLink as Platform.DevToolsPath.UrlString ?? Platform.DevToolsPath.EmptyUrlString
|
163
|
+
docLink as Platform.DevToolsPath.UrlString ?? Platform.DevToolsPath.EmptyUrlString,
|
164
|
+
feedbackLink as Platform.DevToolsPath.UrlString ?? Platform.DevToolsPath.EmptyUrlString));
|
162
165
|
}
|
163
166
|
|
164
167
|
isEnabled(experimentName: string): boolean {
|
@@ -257,14 +260,16 @@ export class Experiment {
|
|
257
260
|
title: string;
|
258
261
|
unstable: boolean;
|
259
262
|
docLink?: Platform.DevToolsPath.UrlString;
|
263
|
+
readonly feedbackLink?: Platform.DevToolsPath.UrlString;
|
260
264
|
readonly #experiments: ExperimentsSupport;
|
261
265
|
constructor(
|
262
266
|
experiments: ExperimentsSupport, name: string, title: string, unstable: boolean,
|
263
|
-
docLink: Platform.DevToolsPath.UrlString) {
|
267
|
+
docLink: Platform.DevToolsPath.UrlString, feedbackLink: Platform.DevToolsPath.UrlString) {
|
264
268
|
this.name = name;
|
265
269
|
this.title = title;
|
266
270
|
this.unstable = unstable;
|
267
271
|
this.docLink = docLink;
|
272
|
+
this.feedbackLink = feedbackLink;
|
268
273
|
this.#experiments = experiments;
|
269
274
|
}
|
270
275
|
|
@@ -341,7 +341,8 @@ export class MainImpl {
|
|
341
341
|
// Full Accessibility Tree
|
342
342
|
Root.Runtime.experiments.register(
|
343
343
|
'fullAccessibilityTree', 'Enable full accessibility tree view in the Elements panel', undefined,
|
344
|
-
'https://developer.chrome.com/blog/new-in-devtools-90/#accesibility-tree'
|
344
|
+
'https://developer.chrome.com/blog/new-in-devtools-90/#accesibility-tree',
|
345
|
+
'https://g.co/devtools/a11y-tree-feedback');
|
345
346
|
|
346
347
|
// Font Editor
|
347
348
|
Root.Runtime.experiments.register(
|
@@ -373,9 +374,8 @@ export class MainImpl {
|
|
373
374
|
|
374
375
|
// CSS <length> authoring tool.
|
375
376
|
Root.Runtime.experiments.register(
|
376
|
-
'cssTypeComponentLength',
|
377
|
-
'
|
378
|
-
'https://developer.chrome.com/blog/new-in-devtools-96/#length');
|
377
|
+
'cssTypeComponentLength', 'Enable CSS <length> authoring tool in the Styles pane', undefined,
|
378
|
+
'https://developer.chrome.com/blog/new-in-devtools-96/#length', 'https://g.co/devtools/length-feedback');
|
379
379
|
|
380
380
|
// Display precise changes in the Changes tab.
|
381
381
|
Root.Runtime.experiments.register(
|
@@ -407,7 +407,8 @@ export class MainImpl {
|
|
407
407
|
|
408
408
|
// Change grouping of sources panel to use Authored/Deployed trees
|
409
409
|
Root.Runtime.experiments.register(
|
410
|
-
Root.Runtime.ExperimentName.AUTHORED_DEPLOYED_GROUPING, 'Group sources into Authored and Deployed trees'
|
410
|
+
Root.Runtime.ExperimentName.AUTHORED_DEPLOYED_GROUPING, 'Group sources into Authored and Deployed trees',
|
411
|
+
undefined, 'https://goo.gle/authored-deployed', 'https://goo.gle/authored-deployed-feedback');
|
411
412
|
|
412
413
|
// Hide third party code (as determined by ignore lists or source maps)
|
413
414
|
Root.Runtime.experiments.register(
|
@@ -554,7 +554,7 @@ inspectorBackend.registerEnum("Page.AdFrameExplanation", {ParentIsAd: "ParentIsA
|
|
554
554
|
inspectorBackend.registerEnum("Page.SecureContextType", {Secure: "Secure", SecureLocalhost: "SecureLocalhost", InsecureScheme: "InsecureScheme", InsecureAncestor: "InsecureAncestor"});
|
555
555
|
inspectorBackend.registerEnum("Page.CrossOriginIsolatedContextType", {Isolated: "Isolated", NotIsolated: "NotIsolated", NotIsolatedFeatureDisabled: "NotIsolatedFeatureDisabled"});
|
556
556
|
inspectorBackend.registerEnum("Page.GatedAPIFeatures", {SharedArrayBuffers: "SharedArrayBuffers", SharedArrayBuffersTransferAllowed: "SharedArrayBuffersTransferAllowed", PerformanceMeasureMemory: "PerformanceMeasureMemory", PerformanceProfile: "PerformanceProfile"});
|
557
|
-
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", {Accelerometer: "accelerometer", AmbientLightSensor: "ambient-light-sensor", AttributionReporting: "attribution-reporting", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFull: "ch-ua-full", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaReduced: "ch-ua-reduced", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", CrossOriginIsolated: "cross-origin-isolated", DirectSockets: "direct-sockets", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FederatedCredentials: "federated-credentials", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LocalFonts: "local-fonts", Magnetometer: "magnetometer", Microphone: "microphone", Midi: "midi", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PublickeyCredentialsGet: "publickey-credentials-get", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedAutofill: "shared-autofill", SharedStorage: "shared-storage", StorageAccessAPI: "storage-access-api", SyncXhr: "sync-xhr", TrustTokenRedemption: "trust-token-redemption", Usb: "usb", VerticalScroll: "vertical-scroll", WebShare: "web-share", WindowPlacement: "window-placement", XrSpatialTracking: "xr-spatial-tracking"});
|
557
|
+
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", {Accelerometer: "accelerometer", AmbientLightSensor: "ambient-light-sensor", AttributionReporting: "attribution-reporting", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFull: "ch-ua-full", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaReduced: "ch-ua-reduced", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", CrossOriginIsolated: "cross-origin-isolated", DirectSockets: "direct-sockets", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FederatedCredentials: "federated-credentials", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LocalFonts: "local-fonts", Magnetometer: "magnetometer", Microphone: "microphone", Midi: "midi", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PublickeyCredentialsGet: "publickey-credentials-get", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedAutofill: "shared-autofill", SharedStorage: "shared-storage", StorageAccessAPI: "storage-access-api", SyncXhr: "sync-xhr", TrustTokenRedemption: "trust-token-redemption", Unload: "unload", Usb: "usb", VerticalScroll: "vertical-scroll", WebShare: "web-share", WindowPlacement: "window-placement", XrSpatialTracking: "xr-spatial-tracking"});
|
558
558
|
inspectorBackend.registerEnum("Page.PermissionsPolicyBlockReason", {Header: "Header", IframeAttribute: "IframeAttribute", InFencedFrameTree: "InFencedFrameTree", InIsolatedApp: "InIsolatedApp"});
|
559
559
|
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"});
|
560
560
|
inspectorBackend.registerEnum("Page.OriginTrialStatus", {Enabled: "Enabled", ValidTokenNotProvided: "ValidTokenNotProvided", OSNotSupported: "OSNotSupported", TrialNotAllowed: "TrialNotAllowed"});
|
@@ -567,7 +567,7 @@ inspectorBackend.registerEnum("Page.ReferrerPolicy", {NoReferrer: "noReferrer",
|
|
567
567
|
inspectorBackend.registerEnum("Page.NavigationType", {Navigation: "Navigation", BackForwardCacheRestore: "BackForwardCacheRestore"});
|
568
568
|
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReason", {NotPrimaryMainFrame: "NotPrimaryMainFrame", BackForwardCacheDisabled: "BackForwardCacheDisabled", RelatedActiveContentsExist: "RelatedActiveContentsExist", HTTPStatusNotOK: "HTTPStatusNotOK", SchemeNotHTTPOrHTTPS: "SchemeNotHTTPOrHTTPS", Loading: "Loading", WasGrantedMediaAccess: "WasGrantedMediaAccess", DisableForRenderFrameHostCalled: "DisableForRenderFrameHostCalled", DomainNotAllowed: "DomainNotAllowed", HTTPMethodNotGET: "HTTPMethodNotGET", SubframeIsNavigating: "SubframeIsNavigating", Timeout: "Timeout", CacheLimit: "CacheLimit", JavaScriptExecution: "JavaScriptExecution", RendererProcessKilled: "RendererProcessKilled", RendererProcessCrashed: "RendererProcessCrashed", SchedulerTrackedFeatureUsed: "SchedulerTrackedFeatureUsed", ConflictingBrowsingInstance: "ConflictingBrowsingInstance", CacheFlushed: "CacheFlushed", ServiceWorkerVersionActivation: "ServiceWorkerVersionActivation", SessionRestored: "SessionRestored", ServiceWorkerPostMessage: "ServiceWorkerPostMessage", EnteredBackForwardCacheBeforeServiceWorkerHostAdded: "EnteredBackForwardCacheBeforeServiceWorkerHostAdded", RenderFrameHostReused_SameSite: "RenderFrameHostReused_SameSite", RenderFrameHostReused_CrossSite: "RenderFrameHostReused_CrossSite", ServiceWorkerClaim: "ServiceWorkerClaim", IgnoreEventAndEvict: "IgnoreEventAndEvict", HaveInnerContents: "HaveInnerContents", TimeoutPuttingInCache: "TimeoutPuttingInCache", BackForwardCacheDisabledByLowMemory: "BackForwardCacheDisabledByLowMemory", BackForwardCacheDisabledByCommandLine: "BackForwardCacheDisabledByCommandLine", NetworkRequestDatAPIpeDrainedAsBytesConsumer: "NetworkRequestDatapipeDrainedAsBytesConsumer", NetworkRequestRedirected: "NetworkRequestRedirected", NetworkRequestTimeout: "NetworkRequestTimeout", NetworkExceedsBufferLimit: "NetworkExceedsBufferLimit", NavigationCancelledWhileRestoring: "NavigationCancelledWhileRestoring", NotMostRecentNavigationEntry: "NotMostRecentNavigationEntry", BackForwardCacheDisabledForPrerender: "BackForwardCacheDisabledForPrerender", UserAgentOverrideDiffers: "UserAgentOverrideDiffers", ForegroundCacheLimit: "ForegroundCacheLimit", BrowsingInstanceNotSwapped: "BrowsingInstanceNotSwapped", BackForwardCacheDisabledForDelegate: "BackForwardCacheDisabledForDelegate", UnloadHandlerExistsInMainFrame: "UnloadHandlerExistsInMainFrame", UnloadHandlerExistsInSubFrame: "UnloadHandlerExistsInSubFrame", ServiceWorkerUnregistration: "ServiceWorkerUnregistration", CacheControlNoStore: "CacheControlNoStore", CacheControlNoStoreCookieModified: "CacheControlNoStoreCookieModified", CacheControlNoStoreHTTPOnlyCookieModified: "CacheControlNoStoreHTTPOnlyCookieModified", NoResponseHead: "NoResponseHead", Unknown: "Unknown", ActivationNavigationsDisallowedForBug1234857: "ActivationNavigationsDisallowedForBug1234857", ErrorDocument: "ErrorDocument", FencedFramesEmbedder: "FencedFramesEmbedder", WebSocket: "WebSocket", WebTransport: "WebTransport", WebRTC: "WebRTC", MainResourceHasCacheControlNoStore: "MainResourceHasCacheControlNoStore", MainResourceHasCacheControlNoCache: "MainResourceHasCacheControlNoCache", SubresourceHasCacheControlNoStore: "SubresourceHasCacheControlNoStore", SubresourceHasCacheControlNoCache: "SubresourceHasCacheControlNoCache", ContainsPlugins: "ContainsPlugins", DocumentLoaded: "DocumentLoaded", DedicatedWorkerOrWorklet: "DedicatedWorkerOrWorklet", OutstandingNetworkRequestOthers: "OutstandingNetworkRequestOthers", OutstandingIndexedDBTransaction: "OutstandingIndexedDBTransaction", RequestedNotificationsPermission: "RequestedNotificationsPermission", RequestedMIDIPermission: "RequestedMIDIPermission", RequestedAudioCapturePermission: "RequestedAudioCapturePermission", RequestedVideoCapturePermission: "RequestedVideoCapturePermission", RequestedBackForwardCacheBlockedSensors: "RequestedBackForwardCacheBlockedSensors", RequestedBackgroundWorkPermission: "RequestedBackgroundWorkPermission", BroadcastChannel: "BroadcastChannel", IndexedDBConnection: "IndexedDBConnection", WebXR: "WebXR", SharedWorker: "SharedWorker", WebLocks: "WebLocks", WebHID: "WebHID", WebShare: "WebShare", RequestedStorageAccessGrant: "RequestedStorageAccessGrant", WebNfc: "WebNfc", OutstandingNetworkRequestFetch: "OutstandingNetworkRequestFetch", OutstandingNetworkRequestXHR: "OutstandingNetworkRequestXHR", AppBanner: "AppBanner", Printing: "Printing", WebDatabase: "WebDatabase", PictureInPicture: "PictureInPicture", Portal: "Portal", SpeechRecognizer: "SpeechRecognizer", IdleManager: "IdleManager", PaymentManager: "PaymentManager", SpeechSynthesis: "SpeechSynthesis", KeyboardLock: "KeyboardLock", WebOTPService: "WebOTPService", OutstandingNetworkRequestDirectSocket: "OutstandingNetworkRequestDirectSocket", InjectedJavascript: "InjectedJavascript", InjectedStyleSheet: "InjectedStyleSheet", Dummy: "Dummy", ContentSecurityHandler: "ContentSecurityHandler", ContentWebAuthenticationAPI: "ContentWebAuthenticationAPI", ContentFileChooser: "ContentFileChooser", ContentSerial: "ContentSerial", ContentFileSystemAccess: "ContentFileSystemAccess", ContentMediaDevicesDispatcherHost: "ContentMediaDevicesDispatcherHost", ContentWebBluetooth: "ContentWebBluetooth", ContentWebUSB: "ContentWebUSB", ContentMediaSessionService: "ContentMediaSessionService", ContentScreenReader: "ContentScreenReader", EmbedderPopupBlockerTabHelper: "EmbedderPopupBlockerTabHelper", EmbedderSafeBrowsingTriggeredPopupBlocker: "EmbedderSafeBrowsingTriggeredPopupBlocker", EmbedderSafeBrowsingThreatDetails: "EmbedderSafeBrowsingThreatDetails", EmbedderAppBannerManager: "EmbedderAppBannerManager", EmbedderDomDistillerViewerSource: "EmbedderDomDistillerViewerSource", EmbedderDomDistillerSelfDeletingRequestDelegate: "EmbedderDomDistillerSelfDeletingRequestDelegate", EmbedderOomInterventionTabHelper: "EmbedderOomInterventionTabHelper", EmbedderOfflinePage: "EmbedderOfflinePage", EmbedderChromePasswordManagerClientBindCredentialManager: "EmbedderChromePasswordManagerClientBindCredentialManager", EmbedderPermissionRequestManager: "EmbedderPermissionRequestManager", EmbedderModalDialog: "EmbedderModalDialog", EmbedderExtensions: "EmbedderExtensions", EmbedderExtensionMessaging: "EmbedderExtensionMessaging", EmbedderExtensionMessagingForOpenPort: "EmbedderExtensionMessagingForOpenPort", EmbedderExtensionSentMessageToCachedFrame: "EmbedderExtensionSentMessageToCachedFrame"});
|
569
569
|
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReasonType", {SupportPending: "SupportPending", PageSupportNeeded: "PageSupportNeeded", Circumstantial: "Circumstantial"});
|
570
|
-
inspectorBackend.registerEnum("Page.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", CrossOriginRedirect: "CrossOriginRedirect", CrossOriginNavigation: "CrossOriginNavigation", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", InProgressNavigation: "InProgressNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MainFrameNavigation: "MainFrameNavigation", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", MaxNumOfRunningPrerendersExceeded: "MaxNumOfRunningPrerendersExceeded", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", EmbedderTriggeredAndSameOriginRedirected: "EmbedderTriggeredAndSameOriginRedirected", EmbedderTriggeredAndCrossOriginRedirected: "EmbedderTriggeredAndCrossOriginRedirected",
|
570
|
+
inspectorBackend.registerEnum("Page.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", CrossOriginRedirect: "CrossOriginRedirect", CrossOriginNavigation: "CrossOriginNavigation", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", InProgressNavigation: "InProgressNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MainFrameNavigation: "MainFrameNavigation", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", MaxNumOfRunningPrerendersExceeded: "MaxNumOfRunningPrerendersExceeded", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", EmbedderTriggeredAndSameOriginRedirected: "EmbedderTriggeredAndSameOriginRedirected", EmbedderTriggeredAndCrossOriginRedirected: "EmbedderTriggeredAndCrossOriginRedirected", MemoryLimitExceeded: "MemoryLimitExceeded", FailToGetMemoryUsage: "FailToGetMemoryUsage", DataSaverEnabled: "DataSaverEnabled"});
|
571
571
|
inspectorBackend.registerEvent("Page.domContentEventFired", ["timestamp"]);
|
572
572
|
inspectorBackend.registerEnum("Page.FileChooserOpenedEventMode", {SelectSingle: "selectSingle", SelectMultiple: "selectMultiple"});
|
573
573
|
inspectorBackend.registerEvent("Page.fileChooserOpened", ["frameId", "mode", "backendNodeId"]);
|
@@ -90,10 +90,6 @@ export const generatedProperties = [
|
|
90
90
|
"inherited": true,
|
91
91
|
"name": "-webkit-highlight"
|
92
92
|
},
|
93
|
-
{
|
94
|
-
"inherited": true,
|
95
|
-
"name": "-webkit-hyphenate-character"
|
96
|
-
},
|
97
93
|
{
|
98
94
|
"inherited": true,
|
99
95
|
"keywords": [
|
@@ -1912,6 +1908,10 @@ export const generatedProperties = [
|
|
1912
1908
|
],
|
1913
1909
|
"name": "height"
|
1914
1910
|
},
|
1911
|
+
{
|
1912
|
+
"inherited": true,
|
1913
|
+
"name": "hyphenate-character"
|
1914
|
+
},
|
1915
1915
|
{
|
1916
1916
|
"inherited": true,
|
1917
1917
|
"keywords": [
|
@@ -5591,6 +5591,10 @@ export const generatedAliasesFor = new Map([
|
|
5591
5591
|
"-webkit-font-feature-settings",
|
5592
5592
|
"font-feature-settings"
|
5593
5593
|
],
|
5594
|
+
[
|
5595
|
+
"-webkit-hyphenate-character",
|
5596
|
+
"hyphenate-character"
|
5597
|
+
],
|
5594
5598
|
[
|
5595
5599
|
"-webkit-justify-content",
|
5596
5600
|
"justify-content"
|
@@ -2135,6 +2135,11 @@ export namespace CSS {
|
|
2135
2135
|
* The entire property range in the enclosing style declaration (if available).
|
2136
2136
|
*/
|
2137
2137
|
range?: SourceRange;
|
2138
|
+
/**
|
2139
|
+
* Parsed longhand components of this property if it is a shorthand.
|
2140
|
+
* This field will be empty if the given property is not a shorthand.
|
2141
|
+
*/
|
2142
|
+
longhandProperties?: CSSProperty[];
|
2138
2143
|
}
|
2139
2144
|
|
2140
2145
|
export const enum CSSMediaSource {
|
@@ -10377,6 +10382,7 @@ export namespace Page {
|
|
10377
10382
|
StorageAccessAPI = 'storage-access-api',
|
10378
10383
|
SyncXhr = 'sync-xhr',
|
10379
10384
|
TrustTokenRedemption = 'trust-token-redemption',
|
10385
|
+
Unload = 'unload',
|
10380
10386
|
Usb = 'usb',
|
10381
10387
|
VerticalScroll = 'vertical-scroll',
|
10382
10388
|
WebShare = 'web-share',
|
@@ -11154,9 +11160,9 @@ export namespace Page {
|
|
11154
11160
|
TriggerBackgrounded = 'TriggerBackgrounded',
|
11155
11161
|
EmbedderTriggeredAndSameOriginRedirected = 'EmbedderTriggeredAndSameOriginRedirected',
|
11156
11162
|
EmbedderTriggeredAndCrossOriginRedirected = 'EmbedderTriggeredAndCrossOriginRedirected',
|
11157
|
-
EmbedderTriggeredAndDestroyed = 'EmbedderTriggeredAndDestroyed',
|
11158
11163
|
MemoryLimitExceeded = 'MemoryLimitExceeded',
|
11159
11164
|
FailToGetMemoryUsage = 'FailToGetMemoryUsage',
|
11165
|
+
DataSaverEnabled = 'DataSaverEnabled',
|
11160
11166
|
}
|
11161
11167
|
|
11162
11168
|
export interface AddScriptToEvaluateOnLoadRequest {
|
@@ -622,19 +622,27 @@ export class NetworkPersistenceManager extends Common.ObjectWrapper.ObjectWrappe
|
|
622
622
|
}
|
623
623
|
}
|
624
624
|
|
625
|
-
mergeHeaders(baseHeaders: Protocol.Fetch.HeaderEntry[], overrideHeaders: Protocol.
|
625
|
+
mergeHeaders(baseHeaders: Protocol.Fetch.HeaderEntry[], overrideHeaders: Protocol.Fetch.HeaderEntry[]):
|
626
626
|
Protocol.Fetch.HeaderEntry[] {
|
627
|
-
const
|
628
|
-
const
|
629
|
-
|
630
|
-
headerMap.set(header.name, header.value);
|
627
|
+
const headerMap = new Platform.MapUtilities.Multimap<string, string>();
|
628
|
+
for (const {name, value} of overrideHeaders) {
|
629
|
+
headerMap.set(name.toLowerCase(), value);
|
631
630
|
}
|
632
|
-
|
633
|
-
|
631
|
+
|
632
|
+
const overriddenHeaderNames = new Set(headerMap.keysArray());
|
633
|
+
for (const {name, value} of baseHeaders) {
|
634
|
+
const lowerCaseName = name.toLowerCase();
|
635
|
+
if (!overriddenHeaderNames.has(lowerCaseName)) {
|
636
|
+
headerMap.set(lowerCaseName, value);
|
637
|
+
}
|
638
|
+
}
|
639
|
+
|
640
|
+
const result: Protocol.Fetch.HeaderEntry[] = [];
|
641
|
+
for (const headerName of headerMap.keysArray()) {
|
642
|
+
for (const headerValue of headerMap.get(headerName)) {
|
643
|
+
result.push({name: headerName, value: headerValue});
|
644
|
+
}
|
634
645
|
}
|
635
|
-
headerMap.forEach((headerValue, headerName) => {
|
636
|
-
result.push({name: headerName, value: headerValue});
|
637
|
-
});
|
638
646
|
return result;
|
639
647
|
}
|
640
648
|
|
@@ -766,20 +774,23 @@ export type EventTypes = {
|
|
766
774
|
|
767
775
|
export interface HeaderOverride {
|
768
776
|
applyTo: string;
|
769
|
-
headers: Protocol.
|
777
|
+
headers: Protocol.Fetch.HeaderEntry[];
|
770
778
|
}
|
771
779
|
|
772
780
|
interface HeaderOverrideWithRegex {
|
773
781
|
applyToRegex: RegExp;
|
774
|
-
headers: Protocol.
|
782
|
+
headers: Protocol.Fetch.HeaderEntry[];
|
775
783
|
}
|
776
784
|
|
777
785
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
778
786
|
export function isHeaderOverride(arg: any): arg is HeaderOverride {
|
779
|
-
if (!(arg && arg.applyTo && typeof
|
787
|
+
if (!(arg && arg.applyTo && typeof arg.applyTo === 'string' && arg.headers && arg.headers.length &&
|
788
|
+
Array.isArray(arg.headers))) {
|
780
789
|
return false;
|
781
790
|
}
|
782
|
-
return
|
791
|
+
return arg.headers.every(
|
792
|
+
(header: Protocol.Fetch.HeaderEntry) =>
|
793
|
+
header.name && typeof header.name === 'string' && header.value && typeof header.value === 'string');
|
783
794
|
}
|
784
795
|
|
785
796
|
export function escapeRegex(pattern: string): string {
|
@@ -139,12 +139,6 @@ const UIStrings = {
|
|
139
139
|
*/
|
140
140
|
EmbedderTriggeredAndCrossOriginRedirected:
|
141
141
|
'Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is is canceled because the navigation is redirected to another cross-origin page.',
|
142
|
-
/**
|
143
|
-
*@description Description text for Prerender2 cancellation status EmbedderTriggeredAndDestroyed.
|
144
|
-
*/
|
145
|
-
EmbedderTriggeredAndDestroyed:
|
146
|
-
'Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is is destroyed in the destructor.',
|
147
|
-
|
148
142
|
/**
|
149
143
|
*@description Description text for Prerender2 cancellation status MemoryLimitExceeded.
|
150
144
|
*/
|
@@ -154,6 +148,10 @@ const UIStrings = {
|
|
154
148
|
*@description Description text for Prerender2 cancellation status FailToGetMemoryUsage.
|
155
149
|
*/
|
156
150
|
FailToGetMemoryUsage: 'Fail to get memory usage',
|
151
|
+
/**
|
152
|
+
*@description Description text for Prerender2 cancellation status DataSaverEnabled.
|
153
|
+
*/
|
154
|
+
DataSaverEnabled: 'Data saver enabled',
|
157
155
|
};
|
158
156
|
|
159
157
|
const str_ = i18n.i18n.registerUIStrings('panels/application/components/Prerender2.ts', UIStrings);
|
@@ -194,7 +192,7 @@ export const Prerender2ReasonDescription = {
|
|
194
192
|
{name: i18nLazyString(UIStrings.EmbedderTriggeredAndSameOriginRedirected)},
|
195
193
|
'EmbedderTriggeredAndCrossOriginRedirected':
|
196
194
|
{name: i18nLazyString(UIStrings.EmbedderTriggeredAndCrossOriginRedirected)},
|
197
|
-
'EmbedderTriggeredAndDestroyed': {name: i18nLazyString(UIStrings.EmbedderTriggeredAndDestroyed)},
|
198
195
|
'MemoryLimitExceeded': {name: i18nLazyString(UIStrings.MemoryLimitExceeded)},
|
199
196
|
'FailToGetMemoryUsage': {name: i18nLazyString(UIStrings.FailToGetMemoryUsage)},
|
197
|
+
'DataSaverEnabled': {name: i18nLazyString(UIStrings.DataSaverEnabled)},
|
200
198
|
};
|
@@ -142,7 +142,7 @@ export class AlignContentValidator extends CSSRuleValidator {
|
|
142
142
|
if (this.#isRuleValid(computedStyles)) {
|
143
143
|
return;
|
144
144
|
}
|
145
|
-
const reasonPropertyDeclaration =
|
145
|
+
const reasonPropertyDeclaration = buildPropertyDefinitionText('flex-wrap', 'nowrap');
|
146
146
|
const affectedPropertyDeclarationCode = buildPropertyText('align-content');
|
147
147
|
|
148
148
|
return new Hint(
|
@@ -298,6 +298,18 @@ export class StylePropertiesSection {
|
|
298
298
|
this.parentsComputedStyles = parentsComputedStyles;
|
299
299
|
}
|
300
300
|
|
301
|
+
updateAuthoringHint(): void {
|
302
|
+
let child = this.propertiesTreeOutline.firstChild();
|
303
|
+
while (child) {
|
304
|
+
if (child instanceof StylePropertyTreeElement) {
|
305
|
+
child.setComputedStyles(this.computedStyles);
|
306
|
+
child.setParentsComputedStyles(this.parentsComputedStyles);
|
307
|
+
child.updateAuthoringHint();
|
308
|
+
}
|
309
|
+
child = child.nextSibling;
|
310
|
+
}
|
311
|
+
}
|
312
|
+
|
301
313
|
setSectionIdx(sectionIdx: number): void {
|
302
314
|
this.sectionIdx = sectionIdx;
|
303
315
|
this.onpopulate();
|
@@ -761,7 +761,7 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
761
761
|
}
|
762
762
|
}
|
763
763
|
|
764
|
-
|
764
|
+
updateAuthoringHint(): void {
|
765
765
|
if (!Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.CSS_AUTHORING_HINTS)) {
|
766
766
|
return;
|
767
767
|
}
|
@@ -785,6 +785,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
|
|
785
785
|
for (const section of this.allSections()) {
|
786
786
|
section.setComputedStyles(computedStyles);
|
787
787
|
section.setParentsComputedStyles(parentsComputedStyles);
|
788
|
+
section.updateAuthoringHint();
|
788
789
|
}
|
789
790
|
}
|
790
791
|
|
@@ -1662,7 +1662,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
1662
1662
|
}
|
1663
1663
|
|
1664
1664
|
private async copyCurlCommand(request: SDK.NetworkRequest.NetworkRequest, platform: string): Promise<void> {
|
1665
|
-
const command = await
|
1665
|
+
const command = await NetworkLogView.generateCurlCommand(request, platform);
|
1666
1666
|
Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(command);
|
1667
1667
|
}
|
1668
1668
|
|
@@ -2092,7 +2092,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
2092
2092
|
return commands.join(' ;\n');
|
2093
2093
|
}
|
2094
2094
|
|
2095
|
-
|
2095
|
+
static async generateCurlCommand(request: SDK.NetworkRequest.NetworkRequest, platform: string): Promise<string> {
|
2096
2096
|
let command: string[] = [];
|
2097
2097
|
// Most of these headers are derived from the URL and are automatically added by cURL.
|
2098
2098
|
// The |Accept-Encoding| header is ignored to prevent decompression errors. crbug.com/1015321
|
@@ -2115,7 +2115,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
2115
2115
|
gets to MS Crt parser safely.
|
2116
2116
|
|
2117
2117
|
The % character is special because MS Crt parser will try and look for
|
2118
|
-
ENV variables and fill them in
|
2118
|
+
ENV variables and fill them in its place. We cannot escape them with %
|
2119
2119
|
and cannot escape them with ^ (because it's cmd.exe's escape not MS Crt
|
2120
2120
|
parser); So we can get cmd.exe parser to escape the character after it,
|
2121
2121
|
if it is followed by a valid beginning character of an ENV variable.
|
@@ -2191,7 +2191,14 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
2191
2191
|
if (ignoredHeaders.has(name.toLowerCase())) {
|
2192
2192
|
continue;
|
2193
2193
|
}
|
2194
|
-
|
2194
|
+
if (header.value.trim()) {
|
2195
|
+
command.push('-H ' + escapeString(name + ': ' + header.value));
|
2196
|
+
} else {
|
2197
|
+
// A header passed with -H with no value or only whitespace as its
|
2198
|
+
// value tells curl to not set the header at all. To post an empty
|
2199
|
+
// header, you have to terminate it with a semicolon.
|
2200
|
+
command.push('-H ' + escapeString(name + ';'));
|
2201
|
+
}
|
2195
2202
|
}
|
2196
2203
|
command = command.concat(data);
|
2197
2204
|
command.push('--compressed');
|
@@ -2205,7 +2212,8 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
2205
2212
|
private async generateAllCurlCommand(requests: SDK.NetworkRequest.NetworkRequest[], platform: string):
|
2206
2213
|
Promise<string> {
|
2207
2214
|
const nonBlobRequests = this.filterOutBlobRequests(requests);
|
2208
|
-
const commands =
|
2215
|
+
const commands =
|
2216
|
+
await Promise.all(nonBlobRequests.map(request => NetworkLogView.generateCurlCommand(request, platform)));
|
2209
2217
|
if (platform === 'win') {
|
2210
2218
|
return commands.join(' &\r\n');
|
2211
2219
|
}
|
@@ -93,6 +93,10 @@ const UIStrings = {
|
|
93
93
|
*@description Text that is usually a hyperlink to more documentation
|
94
94
|
*/
|
95
95
|
learnMore: 'Learn more',
|
96
|
+
/**
|
97
|
+
*@description Text that is usually a hyperlink to a feedback form
|
98
|
+
*/
|
99
|
+
sendFeedback: 'Send feedback',
|
96
100
|
};
|
97
101
|
const str_ = i18n.i18n.registerUIStrings('panels/settings/SettingsScreen.ts', UIStrings);
|
98
102
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
@@ -489,6 +493,14 @@ export class ExperimentsSettingsTab extends SettingsTab {
|
|
489
493
|
p.appendChild(link);
|
490
494
|
}
|
491
495
|
|
496
|
+
if (experiment.feedbackLink) {
|
497
|
+
const link = UI.XLink.XLink.create(experiment.feedbackLink);
|
498
|
+
link.textContent = i18nString(UIStrings.sendFeedback);
|
499
|
+
link.classList.add('feedback-link');
|
500
|
+
|
501
|
+
p.appendChild(link);
|
502
|
+
}
|
503
|
+
|
492
504
|
return p;
|
493
505
|
}
|
494
506
|
}
|
@@ -199,6 +199,12 @@ label {
|
|
199
199
|
color: var(--color-text-secondary);
|
200
200
|
}
|
201
201
|
|
202
|
+
.settings-experiment .feedback-link {
|
203
|
+
color: var(--color-primary);
|
204
|
+
text-decoration-line: underline;
|
205
|
+
margin-left: 4px;
|
206
|
+
}
|
207
|
+
|
202
208
|
@media (forced-colors: active) {
|
203
209
|
.settings-window-title {
|
204
210
|
color: canvastext;
|