chrome-devtools-frontend 1.0.975699 → 1.0.976703
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 +8 -0
- package/config/gni/devtools_image_files.gni +2 -0
- package/front_end/Images/src/minus_icon.svg +3 -0
- package/front_end/Images/src/plus_icon.svg +3 -0
- package/front_end/core/host/UserMetrics.ts +23 -23
- package/front_end/core/i18n/locales/en-US.json +6 -0
- package/front_end/core/i18n/locales/en-XL.json +6 -0
- package/front_end/core/sdk/CSSContainerQuery.ts +1 -1
- package/front_end/core/sdk/CSSModel.ts +13 -9
- package/front_end/generated/InspectorBackendCommands.js +7 -6
- package/front_end/generated/protocol.ts +11 -9
- package/front_end/models/issues_manager/Issue.ts +1 -1
- package/front_end/models/issues_manager/IssuesManager.ts +3 -9
- package/front_end/models/issues_manager/SameSiteCookieIssue.ts +74 -78
- package/front_end/models/issues_manager/issues_manager.ts +2 -2
- package/front_end/models/persistence/NetworkPersistenceManager.ts +1 -1
- package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
- package/front_end/panels/elements/ComputedStyleModel.ts +1 -1
- package/front_end/panels/elements/ElementsTreeElement.ts +1 -1
- package/front_end/panels/elements/LayersWidget.ts +4 -3
- package/front_end/panels/elements/MetricsSidebarPane.ts +2 -2
- package/front_end/panels/elements/PlatformFontsWidget.ts +1 -1
- package/front_end/panels/elements/StylePropertyTreeElement.ts +1 -1
- package/front_end/panels/elements/StylesSidebarPane.ts +10 -8
- package/front_end/panels/emulation/MediaQueryInspector.ts +1 -1
- package/front_end/panels/issues/IssueView.ts +1 -1
- package/front_end/panels/issues/IssuesPane.ts +1 -1
- package/front_end/panels/network/NetworkLogView.ts +1 -1
- package/front_end/panels/settings/components/SyncSection.ts +5 -17
- package/front_end/panels/sources/CSSPlugin.ts +77 -22
- package/front_end/panels/sources/SourcesView.ts +23 -10
- package/front_end/panels/sources/components/HeadersView.css +32 -0
- package/front_end/panels/sources/components/HeadersView.ts +89 -0
- package/front_end/panels/sources/components/components.ts +9 -0
- package/front_end/ui/components/chrome_link/ChromeLink.ts +62 -0
- package/front_end/ui/components/chrome_link/chromeLink.css +12 -0
- package/front_end/ui/components/chrome_link/chrome_link.ts +9 -0
- package/package.json +1 -1
package/AUTHORS
CHANGED
@@ -29,6 +29,7 @@ Feng Lu <lufengd3@gmail.com>
|
|
29
29
|
Gabriel Luong <gabriel.luong@gmail.com>
|
30
30
|
Gautham Banasandra <gautham.bangalore@gmail.com>
|
31
31
|
Jake Mulhern <mulherje@gmail.com>
|
32
|
+
Jan Keitel <jan.keitel@gmail.com>
|
32
33
|
Jeffrey Chen <jeffreyca16@gmail.com>
|
33
34
|
Jesper van den Ende <jespertheend@gmail.com>
|
34
35
|
Juba Borgohain <chromiumjuba@gmail.com>
|
@@ -114,12 +114,14 @@ grd_files_release_sources = [
|
|
114
114
|
"front_end/Images/lighthouse_logo.svg",
|
115
115
|
"front_end/Images/link_icon.svg",
|
116
116
|
"front_end/Images/mediumIcons.svg",
|
117
|
+
"front_end/Images/minus_icon.svg",
|
117
118
|
"front_end/Images/navigationControls.png",
|
118
119
|
"front_end/Images/navigationControls_2x.png",
|
119
120
|
"front_end/Images/network_conditions_icon.svg",
|
120
121
|
"front_end/Images/network_panel_icon.svg",
|
121
122
|
"front_end/Images/nodeIcon.avif",
|
122
123
|
"front_end/Images/node_search_icon.svg",
|
124
|
+
"front_end/Images/plus_icon.svg",
|
123
125
|
"front_end/Images/popoverArrows.png",
|
124
126
|
"front_end/Images/preview_feature_video_thumbnail.svg",
|
125
127
|
"front_end/Images/profileGroupIcon.png",
|
@@ -438,6 +440,7 @@ grd_files_release_sources = [
|
|
438
440
|
"front_end/panels/settings/settings.js",
|
439
441
|
"front_end/panels/snippets/snippets-legacy.js",
|
440
442
|
"front_end/panels/snippets/snippets.js",
|
443
|
+
"front_end/panels/sources/components/components.js",
|
441
444
|
"front_end/panels/sources/sources-legacy.js",
|
442
445
|
"front_end/panels/sources/sources-meta.js",
|
443
446
|
"front_end/panels/sources/sources.js",
|
@@ -480,6 +483,7 @@ grd_files_release_sources = [
|
|
480
483
|
"front_end/third_party/wasmparser/wasmparser.js",
|
481
484
|
"front_end/ui/components/adorners/adorners.js",
|
482
485
|
"front_end/ui/components/buttons/buttons.js",
|
486
|
+
"front_end/ui/components/chrome_link/chrome_link.js",
|
483
487
|
"front_end/ui/components/code_highlighter/code_highlighter.js",
|
484
488
|
"front_end/ui/components/data_grid/data_grid.js",
|
485
489
|
"front_end/ui/components/diff_view/diff_view.js",
|
@@ -1235,6 +1239,8 @@ grd_files_debug_sources = [
|
|
1235
1239
|
"front_end/panels/sources/WatchExpressionsSidebarPane.js",
|
1236
1240
|
"front_end/panels/sources/breakpointEditDialog.css.js",
|
1237
1241
|
"front_end/panels/sources/callStackSidebarPane.css.js",
|
1242
|
+
"front_end/panels/sources/components/HeadersView.css.js",
|
1243
|
+
"front_end/panels/sources/components/HeadersView.js",
|
1238
1244
|
"front_end/panels/sources/debuggerPausedMessage.css.js",
|
1239
1245
|
"front_end/panels/sources/dialog.css.js",
|
1240
1246
|
"front_end/panels/sources/javaScriptBreakpointsSidebarPane.css.js",
|
@@ -1400,6 +1406,8 @@ grd_files_debug_sources = [
|
|
1400
1406
|
"front_end/ui/components/adorners/adorner.css.js",
|
1401
1407
|
"front_end/ui/components/buttons/Button.js",
|
1402
1408
|
"front_end/ui/components/buttons/button.css.js",
|
1409
|
+
"front_end/ui/components/chrome_link/ChromeLink.js",
|
1410
|
+
"front_end/ui/components/chrome_link/chromeLink.css.js",
|
1403
1411
|
"front_end/ui/components/code_highlighter/CodeHighlighter.js",
|
1404
1412
|
"front_end/ui/components/code_highlighter/codeHighlighter.css.js",
|
1405
1413
|
"front_end/ui/components/data_grid/DataGrid.js",
|
@@ -124,9 +124,11 @@ devtools_svg_sources = [
|
|
124
124
|
"lighthouse_logo.svg",
|
125
125
|
"link_icon.svg",
|
126
126
|
"mediumIcons.svg",
|
127
|
+
"minus_icon.svg",
|
127
128
|
"network_conditions_icon.svg",
|
128
129
|
"network_panel_icon.svg",
|
129
130
|
"node_search_icon.svg",
|
131
|
+
"plus_icon.svg",
|
130
132
|
"preview_feature_video_thumbnail.svg",
|
131
133
|
"refresh_12x12_icon.svg",
|
132
134
|
"resizeDiagonal.svg",
|
@@ -599,7 +599,7 @@ export enum DevtoolsExperiments {
|
|
599
599
|
export enum IssueExpanded {
|
600
600
|
CrossOriginEmbedderPolicy = 0,
|
601
601
|
MixedContent = 1,
|
602
|
-
|
602
|
+
Cookie = 2,
|
603
603
|
HeavyAd = 3,
|
604
604
|
ContentSecurityPolicy = 4,
|
605
605
|
Other = 5,
|
@@ -646,28 +646,28 @@ export enum IssueCreated {
|
|
646
646
|
'CrossOriginEmbedderPolicyIssue::CorpNotSameOrigin' = 11,
|
647
647
|
'CrossOriginEmbedderPolicyIssue::CorpNotSameOriginAfterDefaultedToSameOriginByCoep' = 12,
|
648
648
|
'CrossOriginEmbedderPolicyIssue::CorpNotSameSite' = 13,
|
649
|
-
'
|
650
|
-
'
|
651
|
-
'
|
652
|
-
'
|
653
|
-
'
|
654
|
-
'
|
655
|
-
'
|
656
|
-
'
|
657
|
-
'
|
658
|
-
'
|
659
|
-
'
|
660
|
-
'
|
661
|
-
'
|
662
|
-
'
|
663
|
-
'
|
664
|
-
'
|
665
|
-
'
|
666
|
-
'
|
667
|
-
'
|
668
|
-
'
|
669
|
-
'
|
670
|
-
'
|
649
|
+
'CookieIssue::ExcludeSameSiteNoneInsecure::ReadCookie' = 14,
|
650
|
+
'CookieIssue::ExcludeSameSiteNoneInsecure::SetCookie' = 15,
|
651
|
+
'CookieIssue::WarnSameSiteNoneInsecure::ReadCookie' = 16,
|
652
|
+
'CookieIssue::WarnSameSiteNoneInsecure::SetCookie' = 17,
|
653
|
+
'CookieIssue::WarnSameSiteStrictLaxDowngradeStrict::Secure' = 18,
|
654
|
+
'CookieIssue::WarnSameSiteStrictLaxDowngradeStrict::Insecure' = 19,
|
655
|
+
'CookieIssue::WarnCrossDowngrade::ReadCookie::Secure' = 20,
|
656
|
+
'CookieIssue::WarnCrossDowngrade::ReadCookie::Insecure' = 21,
|
657
|
+
'CookieIssue::WarnCrossDowngrade::SetCookie::Secure' = 22,
|
658
|
+
'CookieIssue::WarnCrossDowngrade::SetCookie::Insecure' = 23,
|
659
|
+
'CookieIssue::ExcludeNavigationContextDowngrade::Secure' = 24,
|
660
|
+
'CookieIssue::ExcludeNavigationContextDowngrade::Insecure' = 25,
|
661
|
+
'CookieIssue::ExcludeContextDowngrade::ReadCookie::Secure' = 26,
|
662
|
+
'CookieIssue::ExcludeContextDowngrade::ReadCookie::Insecure' = 27,
|
663
|
+
'CookieIssue::ExcludeContextDowngrade::SetCookie::Secure' = 28,
|
664
|
+
'CookieIssue::ExcludeContextDowngrade::SetCookie::Insecure' = 29,
|
665
|
+
'CookieIssue::ExcludeSameSiteUnspecifiedTreatedAsLax::ReadCookie' = 30,
|
666
|
+
'CookieIssue::ExcludeSameSiteUnspecifiedTreatedAsLax::SetCookie' = 31,
|
667
|
+
'CookieIssue::WarnSameSiteUnspecifiedLaxAllowUnsafe::ReadCookie' = 32,
|
668
|
+
'CookieIssue::WarnSameSiteUnspecifiedLaxAllowUnsafe::SetCookie' = 33,
|
669
|
+
'CookieIssue::WarnSameSiteUnspecifiedCrossSiteContext::ReadCookie' = 34,
|
670
|
+
'CookieIssue::WarnSameSiteUnspecifiedCrossSiteContext::SetCookie' = 35,
|
671
671
|
'SharedArrayBufferIssue::TransferIssue' = 36,
|
672
672
|
'SharedArrayBufferIssue::CreationIssue' = 37,
|
673
673
|
'TrustedWebActivityIssue::kHttpError' = 38,
|
@@ -9242,6 +9242,12 @@
|
|
9242
9242
|
"panels/sources/CallStackSidebarPane.ts | showMore": {
|
9243
9243
|
"message": "Show more"
|
9244
9244
|
},
|
9245
|
+
"panels/sources/components/HeadersView.ts | errorWhenParsing": {
|
9246
|
+
"message": "Error when parsing ''{PH1}''."
|
9247
|
+
},
|
9248
|
+
"panels/sources/components/HeadersView.ts | parsingErrorExplainer": {
|
9249
|
+
"message": "This is most likely due to a syntax error in ''{PH1}''. Try opening this file in an external editor to fix the error or delete the file and re-create the override."
|
9250
|
+
},
|
9245
9251
|
"panels/sources/CoveragePlugin.ts | clickToShowCoveragePanel": {
|
9246
9252
|
"message": "Click to show Coverage Panel"
|
9247
9253
|
},
|
@@ -9242,6 +9242,12 @@
|
|
9242
9242
|
"panels/sources/CallStackSidebarPane.ts | showMore": {
|
9243
9243
|
"message": "Ŝh́ôẃ m̂ór̂é"
|
9244
9244
|
},
|
9245
|
+
"panels/sources/components/HeadersView.ts | errorWhenParsing": {
|
9246
|
+
"message": "Êŕr̂ór̂ ẃĥén̂ ṕâŕŝín̂ǵ ''{PH1}''."
|
9247
|
+
},
|
9248
|
+
"panels/sources/components/HeadersView.ts | parsingErrorExplainer": {
|
9249
|
+
"message": "T̂h́îś îś m̂óŝt́ l̂ík̂él̂ý d̂úê t́ô á ŝýn̂t́âx́ êŕr̂ór̂ ín̂ ''{PH1}''. T́r̂ý ôṕêńîńĝ t́ĥíŝ f́îĺê ín̂ án̂ éx̂t́êŕn̂ál̂ éd̂ít̂ór̂ t́ô f́îx́ t̂h́ê ér̂ŕôŕ ôŕ d̂él̂ét̂é t̂h́ê f́îĺê án̂d́ r̂é-ĉŕêát̂é t̂h́ê óv̂ér̂ŕîd́ê."
|
9250
|
+
},
|
9245
9251
|
"panels/sources/CoveragePlugin.ts | clickToShowCoveragePanel": {
|
9246
9252
|
"message": "Ĉĺîćk̂ t́ô śĥóŵ Ćôv́êŕâǵê Ṕâńêĺ"
|
9247
9253
|
},
|
@@ -50,7 +50,7 @@ export class CSSContainerQueryContainer {
|
|
50
50
|
}
|
51
51
|
|
52
52
|
async getContainerSizeDetails(): Promise<ContainerQueriedSizeDetails|undefined> {
|
53
|
-
const styles = await this.containerNode.domModel().cssModel().
|
53
|
+
const styles = await this.containerNode.domModel().cssModel().getComputedStyle(this.containerNode.id);
|
54
54
|
if (!styles) {
|
55
55
|
return;
|
56
56
|
}
|
@@ -150,6 +150,10 @@ export class CSSModel extends SDKModel<EventTypes> {
|
|
150
150
|
return this.#sourceMapManager;
|
151
151
|
}
|
152
152
|
|
153
|
+
static readableLayerName(text: string): string {
|
154
|
+
return text || '<anonymous>';
|
155
|
+
}
|
156
|
+
|
153
157
|
static trimSourceURL(text: string): string {
|
154
158
|
let sourceURLIndex = text.lastIndexOf('/*# sourceURL=');
|
155
159
|
if (sourceURLIndex === -1) {
|
@@ -261,12 +265,12 @@ export class CSSModel extends SDKModel<EventTypes> {
|
|
261
265
|
await this.agent.invoke_stopRuleUsageTracking();
|
262
266
|
}
|
263
267
|
|
264
|
-
async
|
268
|
+
async getMediaQueries(): Promise<CSSMedia[]> {
|
265
269
|
const {medias} = await this.agent.invoke_getMediaQueries();
|
266
270
|
return medias ? CSSMedia.parseMediaArrayPayload(this, medias) : [];
|
267
271
|
}
|
268
272
|
|
269
|
-
async
|
273
|
+
async getRootLayer(nodeId: Protocol.DOM.NodeId): Promise<Protocol.CSS.CSSLayerData> {
|
270
274
|
const {rootLayer} = await this.agent.invoke_getLayersForNode({nodeId});
|
271
275
|
return rootLayer;
|
272
276
|
}
|
@@ -284,7 +288,7 @@ export class CSSModel extends SDKModel<EventTypes> {
|
|
284
288
|
this.dispatchEventToListeners(Events.ModelWasEnabled);
|
285
289
|
}
|
286
290
|
|
287
|
-
async
|
291
|
+
async getMatchedStyles(nodeId: Protocol.DOM.NodeId): Promise<CSSMatchedStyles|null> {
|
288
292
|
const response = await this.agent.invoke_getMatchedStylesForNode({nodeId});
|
289
293
|
|
290
294
|
if (response.getError()) {
|
@@ -302,16 +306,16 @@ export class CSSModel extends SDKModel<EventTypes> {
|
|
302
306
|
response.cssKeyframesRules || []);
|
303
307
|
}
|
304
308
|
|
305
|
-
async
|
309
|
+
async getClassNames(styleSheetId: Protocol.CSS.StyleSheetId): Promise<string[]> {
|
306
310
|
const {classNames} = await this.agent.invoke_collectClassNames({styleSheetId});
|
307
311
|
return classNames || [];
|
308
312
|
}
|
309
313
|
|
310
|
-
|
314
|
+
getComputedStyle(nodeId: Protocol.DOM.NodeId): Promise<Map<string, string>|null> {
|
311
315
|
return this.#styleLoader.computedStylePromise(nodeId);
|
312
316
|
}
|
313
317
|
|
314
|
-
async
|
318
|
+
async getBackgroundColors(nodeId: Protocol.DOM.NodeId): Promise<ContrastInfo|null> {
|
315
319
|
const response = await this.agent.invoke_getBackgroundColors({nodeId});
|
316
320
|
if (response.getError()) {
|
317
321
|
return null;
|
@@ -324,7 +328,7 @@ export class CSSModel extends SDKModel<EventTypes> {
|
|
324
328
|
};
|
325
329
|
}
|
326
330
|
|
327
|
-
async
|
331
|
+
async getPlatformFonts(nodeId: Protocol.DOM.NodeId): Promise<Protocol.CSS.PlatformFontUsage[]|null> {
|
328
332
|
const {fonts} = await this.agent.invoke_getPlatformFontsForNode({nodeId});
|
329
333
|
return fonts;
|
330
334
|
}
|
@@ -345,7 +349,7 @@ export class CSSModel extends SDKModel<EventTypes> {
|
|
345
349
|
return values;
|
346
350
|
}
|
347
351
|
|
348
|
-
async
|
352
|
+
async getInlineStyles(nodeId: Protocol.DOM.NodeId): Promise<InlineStyleResult|null> {
|
349
353
|
const response = await this.agent.invoke_getInlineStylesForNode({nodeId});
|
350
354
|
|
351
355
|
if (response.getError() || !response.inlineStyle) {
|
@@ -698,7 +702,7 @@ export class CSSModel extends SDKModel<EventTypes> {
|
|
698
702
|
this.#cachedMatchedCascadeNode = node;
|
699
703
|
if (!this.#cachedMatchedCascadePromise) {
|
700
704
|
if (node.id) {
|
701
|
-
this.#cachedMatchedCascadePromise = this.
|
705
|
+
this.#cachedMatchedCascadePromise = this.getMatchedStyles(node.id);
|
702
706
|
} else {
|
703
707
|
return Promise.resolve(null);
|
704
708
|
}
|
@@ -182,7 +182,7 @@ export function registerCommands(inspectorBackend) {
|
|
182
182
|
[]);
|
183
183
|
|
184
184
|
// Audits.
|
185
|
-
inspectorBackend.registerEnum('Audits.
|
185
|
+
inspectorBackend.registerEnum('Audits.CookieExclusionReason', {
|
186
186
|
ExcludeSameSiteUnspecifiedTreatedAsLax: 'ExcludeSameSiteUnspecifiedTreatedAsLax',
|
187
187
|
ExcludeSameSiteNoneInsecure: 'ExcludeSameSiteNoneInsecure',
|
188
188
|
ExcludeSameSiteLax: 'ExcludeSameSiteLax',
|
@@ -190,7 +190,7 @@ export function registerCommands(inspectorBackend) {
|
|
190
190
|
ExcludeInvalidSameParty: 'ExcludeInvalidSameParty',
|
191
191
|
ExcludeSamePartyCrossPartyContext: 'ExcludeSamePartyCrossPartyContext'
|
192
192
|
});
|
193
|
-
inspectorBackend.registerEnum('Audits.
|
193
|
+
inspectorBackend.registerEnum('Audits.CookieWarningReason', {
|
194
194
|
WarnSameSiteUnspecifiedCrossSiteContext: 'WarnSameSiteUnspecifiedCrossSiteContext',
|
195
195
|
WarnSameSiteNoneInsecure: 'WarnSameSiteNoneInsecure',
|
196
196
|
WarnSameSiteUnspecifiedLaxAllowUnsafe: 'WarnSameSiteUnspecifiedLaxAllowUnsafe',
|
@@ -198,9 +198,10 @@ export function registerCommands(inspectorBackend) {
|
|
198
198
|
WarnSameSiteStrictCrossDowngradeStrict: 'WarnSameSiteStrictCrossDowngradeStrict',
|
199
199
|
WarnSameSiteStrictCrossDowngradeLax: 'WarnSameSiteStrictCrossDowngradeLax',
|
200
200
|
WarnSameSiteLaxCrossDowngradeStrict: 'WarnSameSiteLaxCrossDowngradeStrict',
|
201
|
-
WarnSameSiteLaxCrossDowngradeLax: 'WarnSameSiteLaxCrossDowngradeLax'
|
201
|
+
WarnSameSiteLaxCrossDowngradeLax: 'WarnSameSiteLaxCrossDowngradeLax',
|
202
|
+
WarnAttributeValueExceedsMaxSize: 'WarnAttributeValueExceedsMaxSize'
|
202
203
|
});
|
203
|
-
inspectorBackend.registerEnum('Audits.
|
204
|
+
inspectorBackend.registerEnum('Audits.CookieOperation', {SetCookie: 'SetCookie', ReadCookie: 'ReadCookie'});
|
204
205
|
inspectorBackend.registerEnum('Audits.MixedContentResolutionStatus', {
|
205
206
|
MixedContentBlocked: 'MixedContentBlocked',
|
206
207
|
MixedContentAutomaticallyUpgraded: 'MixedContentAutomaticallyUpgraded',
|
@@ -301,7 +302,7 @@ export function registerCommands(inspectorBackend) {
|
|
301
302
|
Canceled: 'Canceled'
|
302
303
|
});
|
303
304
|
inspectorBackend.registerEnum('Audits.InspectorIssueCode', {
|
304
|
-
|
305
|
+
CookieIssue: 'CookieIssue',
|
305
306
|
MixedContentIssue: 'MixedContentIssue',
|
306
307
|
BlockedByResponseIssue: 'BlockedByResponseIssue',
|
307
308
|
HeavyAdIssue: 'HeavyAdIssue',
|
@@ -1877,7 +1878,7 @@ export function registerCommands(inspectorBackend) {
|
|
1877
1878
|
// Overlay.
|
1878
1879
|
inspectorBackend.registerEnum('Overlay.LineStylePattern', {Dashed: 'dashed', Dotted: 'dotted'});
|
1879
1880
|
inspectorBackend.registerEnum('Overlay.ContrastAlgorithm', {Aa: 'aa', Aaa: 'aaa', Apca: 'apca'});
|
1880
|
-
inspectorBackend.registerEnum('Overlay.ColorFormat', {Rgb: 'rgb', Hsl: 'hsl', Hex: 'hex'});
|
1881
|
+
inspectorBackend.registerEnum('Overlay.ColorFormat', {Rgb: 'rgb', Hsl: 'hsl', Hwb: 'hwb', Hex: 'hex'});
|
1881
1882
|
inspectorBackend.registerEnum('Overlay.InspectMode', {
|
1882
1883
|
SearchForNode: 'searchForNode',
|
1883
1884
|
SearchForUAShadowDOM: 'searchForUAShadowDOM',
|
@@ -696,7 +696,7 @@ export namespace Audits {
|
|
696
696
|
frameId: Page.FrameId;
|
697
697
|
}
|
698
698
|
|
699
|
-
export const enum
|
699
|
+
export const enum CookieExclusionReason {
|
700
700
|
ExcludeSameSiteUnspecifiedTreatedAsLax = 'ExcludeSameSiteUnspecifiedTreatedAsLax',
|
701
701
|
ExcludeSameSiteNoneInsecure = 'ExcludeSameSiteNoneInsecure',
|
702
702
|
ExcludeSameSiteLax = 'ExcludeSameSiteLax',
|
@@ -705,7 +705,7 @@ export namespace Audits {
|
|
705
705
|
ExcludeSamePartyCrossPartyContext = 'ExcludeSamePartyCrossPartyContext',
|
706
706
|
}
|
707
707
|
|
708
|
-
export const enum
|
708
|
+
export const enum CookieWarningReason {
|
709
709
|
WarnSameSiteUnspecifiedCrossSiteContext = 'WarnSameSiteUnspecifiedCrossSiteContext',
|
710
710
|
WarnSameSiteNoneInsecure = 'WarnSameSiteNoneInsecure',
|
711
711
|
WarnSameSiteUnspecifiedLaxAllowUnsafe = 'WarnSameSiteUnspecifiedLaxAllowUnsafe',
|
@@ -714,9 +714,10 @@ export namespace Audits {
|
|
714
714
|
WarnSameSiteStrictCrossDowngradeLax = 'WarnSameSiteStrictCrossDowngradeLax',
|
715
715
|
WarnSameSiteLaxCrossDowngradeStrict = 'WarnSameSiteLaxCrossDowngradeStrict',
|
716
716
|
WarnSameSiteLaxCrossDowngradeLax = 'WarnSameSiteLaxCrossDowngradeLax',
|
717
|
+
WarnAttributeValueExceedsMaxSize = 'WarnAttributeValueExceedsMaxSize',
|
717
718
|
}
|
718
719
|
|
719
|
-
export const enum
|
720
|
+
export const enum CookieOperation {
|
720
721
|
SetCookie = 'SetCookie',
|
721
722
|
ReadCookie = 'ReadCookie',
|
722
723
|
}
|
@@ -726,7 +727,7 @@ export namespace Audits {
|
|
726
727
|
* time finding a specific cookie. With this, we can convey specific error
|
727
728
|
* information without the cookie.
|
728
729
|
*/
|
729
|
-
export interface
|
730
|
+
export interface CookieIssueDetails {
|
730
731
|
/**
|
731
732
|
* If AffectedCookie is not set then rawCookieLine contains the raw
|
732
733
|
* Set-Cookie header string. This hints at a problem where the
|
@@ -735,13 +736,13 @@ export namespace Audits {
|
|
735
736
|
*/
|
736
737
|
cookie?: AffectedCookie;
|
737
738
|
rawCookieLine?: string;
|
738
|
-
cookieWarningReasons:
|
739
|
-
cookieExclusionReasons:
|
739
|
+
cookieWarningReasons: CookieWarningReason[];
|
740
|
+
cookieExclusionReasons: CookieExclusionReason[];
|
740
741
|
/**
|
741
742
|
* Optionally identifies the site-for-cookies and the cookie url, which
|
742
743
|
* may be used by the front-end as additional context.
|
743
744
|
*/
|
744
|
-
operation:
|
745
|
+
operation: CookieOperation;
|
745
746
|
siteForCookies?: string;
|
746
747
|
cookieUrl?: string;
|
747
748
|
request?: AffectedRequest;
|
@@ -1096,7 +1097,7 @@ export namespace Audits {
|
|
1096
1097
|
* information about the kind of issue.
|
1097
1098
|
*/
|
1098
1099
|
export const enum InspectorIssueCode {
|
1099
|
-
|
1100
|
+
CookieIssue = 'CookieIssue',
|
1100
1101
|
MixedContentIssue = 'MixedContentIssue',
|
1101
1102
|
BlockedByResponseIssue = 'BlockedByResponseIssue',
|
1102
1103
|
HeavyAdIssue = 'HeavyAdIssue',
|
@@ -1120,7 +1121,7 @@ export namespace Audits {
|
|
1120
1121
|
* add a new optional field to this type.
|
1121
1122
|
*/
|
1122
1123
|
export interface InspectorIssueDetails {
|
1123
|
-
|
1124
|
+
cookieIssueDetails?: CookieIssueDetails;
|
1124
1125
|
mixedContentIssueDetails?: MixedContentIssueDetails;
|
1125
1126
|
blockedByResponseIssueDetails?: BlockedByResponseIssueDetails;
|
1126
1127
|
heavyAdIssueDetails?: HeavyAdIssueDetails;
|
@@ -9587,6 +9588,7 @@ export namespace Overlay {
|
|
9587
9588
|
export const enum ColorFormat {
|
9588
9589
|
Rgb = 'rgb',
|
9589
9590
|
Hsl = 'hsl',
|
9591
|
+
Hwb = 'hwb',
|
9590
9592
|
Hex = 'hex',
|
9591
9593
|
}
|
9592
9594
|
|
@@ -44,7 +44,7 @@ export enum IssueCategory {
|
|
44
44
|
CrossOriginEmbedderPolicy = 'CrossOriginEmbedderPolicy',
|
45
45
|
Generic = 'Generic',
|
46
46
|
MixedContent = 'MixedContent',
|
47
|
-
|
47
|
+
Cookie = 'Cookie',
|
48
48
|
HeavyAd = 'HeavyAd',
|
49
49
|
ContentSecurityPolicy = 'ContentSecurityPolicy',
|
50
50
|
TrustedWebActivity = 'TrustedWebActivity',
|
@@ -22,7 +22,7 @@ import {LowTextContrastIssue} from './LowTextContrastIssue.js';
|
|
22
22
|
import {MixedContentIssue} from './MixedContentIssue.js';
|
23
23
|
import {NavigatorUserAgentIssue} from './NavigatorUserAgentIssue.js';
|
24
24
|
import {QuirksModeIssue} from './QuirksModeIssue.js';
|
25
|
-
import {
|
25
|
+
import {CookieIssue} from './SameSiteCookieIssue.js';
|
26
26
|
import {SharedArrayBufferIssue} from './SharedArrayBufferIssue.js';
|
27
27
|
import {SourceFrameIssuesManager} from './SourceFrameIssuesManager.js';
|
28
28
|
import {TrustedWebActivityIssue} from './TrustedWebActivityIssue.js';
|
@@ -49,8 +49,8 @@ const issueCodeHandlers = new Map<
|
|
49
49
|
Protocol.Audits.InspectorIssueCode,
|
50
50
|
(model: SDK.IssuesModel.IssuesModel, inspectorIssue: Protocol.Audits.InspectorIssue) => Issue[]>([
|
51
51
|
[
|
52
|
-
Protocol.Audits.InspectorIssueCode.
|
53
|
-
|
52
|
+
Protocol.Audits.InspectorIssueCode.CookieIssue,
|
53
|
+
CookieIssue.fromInspectorIssue,
|
54
54
|
],
|
55
55
|
[
|
56
56
|
Protocol.Audits.InspectorIssueCode.MixedContentIssue,
|
@@ -117,12 +117,6 @@ const issueCodeHandlers = new Map<
|
|
117
117
|
*/
|
118
118
|
function createIssuesFromProtocolIssue(
|
119
119
|
issuesModel: SDK.IssuesModel.IssuesModel, inspectorIssue: Protocol.Audits.InspectorIssue): Issue[] {
|
120
|
-
if (inspectorIssue.code.toString() === 'CookieIssue') {
|
121
|
-
// TODO: backward compatibility for the next chromium roll
|
122
|
-
const details = inspectorIssue.details as {cookieIssueDetails: Protocol.Audits.SameSiteCookieIssueDetails};
|
123
|
-
inspectorIssue.code = Protocol.Audits.InspectorIssueCode.SameSiteCookieIssue;
|
124
|
-
inspectorIssue.details.sameSiteCookieIssueDetails = details.cookieIssueDetails;
|
125
|
-
}
|
126
120
|
const handler = issueCodeHandlers.get(inspectorIssue.code);
|
127
121
|
if (handler) {
|
128
122
|
return handler(issuesModel, inspectorIssue);
|