chrome-devtools-frontend 1.0.1531367 → 1.0.1532884
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 +3 -0
- package/front_end/core/platform/ArrayUtilities.ts +1 -1
- package/front_end/core/protocol_client/ConnectionTransport.ts +26 -0
- package/front_end/core/protocol_client/InspectorBackend.ts +24 -42
- package/front_end/core/protocol_client/protocol_client.ts +2 -10
- package/front_end/core/root/Runtime.ts +0 -2
- package/front_end/core/sdk/ChildTargetManager.ts +3 -3
- package/front_end/core/sdk/Connections.ts +8 -8
- package/front_end/core/sdk/NetworkManager.ts +20 -0
- package/front_end/core/sdk/RehydratingConnection.ts +6 -4
- package/front_end/core/sdk/Target.ts +2 -1
- package/front_end/core/sdk/TargetManager.ts +2 -1
- package/front_end/entrypoints/node_app/NodeMain.ts +1 -1
- package/front_end/generated/ARIAProperties.js +1301 -174
- package/front_end/generated/Deprecation.ts +7 -0
- package/front_end/generated/InspectorBackendCommands.js +1 -0
- package/front_end/generated/protocol-mapping.d.ts +4 -0
- package/front_end/generated/protocol-proxy-api.d.ts +5 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +1 -1
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +1 -1
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +4 -3
- package/front_end/models/issues_manager/BounceTrackingIssue.ts +4 -3
- package/front_end/models/issues_manager/ClientHintIssue.ts +4 -3
- package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +4 -3
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +5 -3
- package/front_end/models/issues_manager/CookieIssue.ts +4 -4
- package/front_end/models/issues_manager/CorsIssue.ts +3 -3
- package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -1
- package/front_end/models/issues_manager/DeprecationIssue.ts +4 -3
- package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +4 -3
- package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +4 -3
- package/front_end/models/issues_manager/GenericIssue.ts +3 -3
- package/front_end/models/issues_manager/HeavyAdIssue.ts +3 -3
- package/front_end/models/issues_manager/IssuesManager.ts +3 -3
- package/front_end/models/issues_manager/LowTextContrastIssue.ts +5 -3
- package/front_end/models/issues_manager/MixedContentIssue.ts +4 -3
- package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +5 -3
- package/front_end/models/issues_manager/PropertyRuleIssue.ts +4 -3
- package/front_end/models/issues_manager/QuirksModeIssue.ts +4 -3
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +5 -3
- package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +5 -3
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +5 -3
- package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +5 -3
- package/front_end/models/issues_manager/UnencodedDigestIssue.ts +5 -3
- package/front_end/models/issues_manager/UserReidentificationIssue.ts +4 -3
- package/front_end/models/javascript_metadata/NativeFunctions.js +1 -1
- package/front_end/models/trace/extras/TraceTree.ts +13 -3
- package/front_end/models/trace/insights/ForcedReflow.ts +1 -1
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +16 -3
- package/front_end/panels/console/ConsoleInsightTeaser.ts +40 -48
- package/front_end/panels/console/consoleInsightTeaser.css +13 -0
- package/front_end/panels/lighthouse/LighthousePanel.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +1 -1
- package/front_end/panels/network/{BlockedURLsPane.ts → RequestConditionsDrawer.ts} +78 -28
- package/front_end/panels/network/network-meta.ts +33 -9
- package/front_end/panels/network/network.ts +3 -3
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +18 -6
- package/front_end/panels/recorder/components/stepView.css +2 -2
- package/front_end/panels/sources/SourcesPanel.ts +10 -9
- package/front_end/panels/sources/SourcesSearchScope.ts +5 -0
- package/front_end/panels/timeline/TimelinePanel.ts +1 -2
- package/front_end/panels/timeline/TimingsTrackAppender.ts +10 -8
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +2 -8
- package/front_end/panels/timeline/components/insights/ForcedReflow.ts +2 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +20 -14
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.js +16 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js +2 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.js +30 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +18 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +22 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +20 -14
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.js +16 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js +2 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.js +31 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +18 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/package.json +5 -4
- package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +24 -14
- package/front_end/third_party/puppeteer/package/src/bidi/Connection.ts +16 -0
- package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +2 -4
- package/front_end/third_party/puppeteer/package/src/bidi/core/Request.ts +35 -5
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +20 -0
- package/front_end/third_party/puppeteer/package/src/cdp/ExecutionContext.ts +6 -2
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +2 -1
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPResponse.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/JSHandle.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/utils.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/tooltips/Tooltip.ts +5 -0
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +31 -5
- package/front_end/ui/legacy/components/utils/TargetDetachedDialog.ts +3 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +2 -0
- package/package.json +1 -1
- /package/front_end/panels/network/{blockedURLsPane.css → requestConditionsDrawer.css} +0 -0
|
@@ -218,6 +218,10 @@ export const UIStrings = {
|
|
|
218
218
|
* @description A deprecation warning shown in the DevTools Issues tab. The placeholder is always the noun 'SharedArrayBuffer' which refers to a JavaScript construct. 'Extensions' refers to Chrome extensions. The warning is shown when Chrome Extensions attempt to use 'SharedArrayBuffer's under insecure circumstances.
|
|
219
219
|
*/
|
|
220
220
|
V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.",
|
|
221
|
+
/**
|
|
222
|
+
* @description This warning occurs when the deprecated `BluetoothRemoteGATTCharacteristic.writeValue()` method is used. Developers should use `writeValueWithResponse()` or `writeValueWithoutResponse()` instead.
|
|
223
|
+
*/
|
|
224
|
+
WebBluetoothRemoteCharacteristicWriteValue: "`BluetoothRemoteGATTCharacteristic.writeValue()` is deprecated. Use `writeValueWithResponse()` or `writeValueWithoutResponse()` instead.",
|
|
221
225
|
/**
|
|
222
226
|
* @description Warning displayed to developers that they are using `XMLHttpRequest` API in a way that they expect an unsupported character encoding `UTF-16` could be used in the server reply.
|
|
223
227
|
*/
|
|
@@ -341,6 +345,9 @@ export const DEPRECATIONS_METADATA: Partial<Record<string, DeprecationDescriptor
|
|
|
341
345
|
"V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
|
|
342
346
|
"milestone": 96
|
|
343
347
|
},
|
|
348
|
+
"WebBluetoothRemoteCharacteristicWriteValue": {
|
|
349
|
+
"chromeStatusFeature": 5088568590598144
|
|
350
|
+
},
|
|
344
351
|
"XHRJSONEncodingDetection": {
|
|
345
352
|
"milestone": 93
|
|
346
353
|
}
|
|
@@ -696,6 +696,7 @@ inspectorBackend.registerType("Input.DragData", [{"name": "items", "type": "arra
|
|
|
696
696
|
inspectorBackend.registerEvent("Inspector.detached", ["reason"]);
|
|
697
697
|
inspectorBackend.registerEvent("Inspector.targetCrashed", []);
|
|
698
698
|
inspectorBackend.registerEvent("Inspector.targetReloadedAfterCrash", []);
|
|
699
|
+
inspectorBackend.registerEvent("Inspector.workerScriptLoaded", []);
|
|
699
700
|
inspectorBackend.registerCommand("Inspector.disable", [], [], "Disables inspector domain notifications.");
|
|
700
701
|
inspectorBackend.registerCommand("Inspector.enable", [], [], "Enables inspector domain notifications.");
|
|
701
702
|
|
|
@@ -233,6 +233,10 @@ export namespace ProtocolMapping {
|
|
|
233
233
|
* Fired when debugging target has reloaded after crash
|
|
234
234
|
*/
|
|
235
235
|
'Inspector.targetReloadedAfterCrash': [];
|
|
236
|
+
/**
|
|
237
|
+
* Fired on worker targets when main worker script and any imported scripts have been evaluated.
|
|
238
|
+
*/
|
|
239
|
+
'Inspector.workerScriptLoaded': [];
|
|
236
240
|
'LayerTree.layerPainted': [Protocol.LayerTree.LayerPaintedEvent];
|
|
237
241
|
'LayerTree.layerTreeDidChange': [Protocol.LayerTree.LayerTreeDidChangeEvent];
|
|
238
242
|
/**
|
|
@@ -2248,6 +2248,11 @@ declare namespace ProtocolProxyApi {
|
|
|
2248
2248
|
*/
|
|
2249
2249
|
targetReloadedAfterCrash(): void;
|
|
2250
2250
|
|
|
2251
|
+
/**
|
|
2252
|
+
* Fired on worker targets when main worker script and any imported scripts have been evaluated.
|
|
2253
|
+
*/
|
|
2254
|
+
workerScriptLoaded(): void;
|
|
2255
|
+
|
|
2251
2256
|
}
|
|
2252
2257
|
|
|
2253
2258
|
export interface LayerTreeApi {
|
package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt
CHANGED
|
@@ -1009,7 +1009,7 @@ The following is the top function call that caused forced reflow(s):
|
|
|
1009
1009
|
|
|
1010
1010
|
Total reflow time: 26 ms
|
|
1011
1011
|
|
|
1012
|
-
|
|
1012
|
+
Call frames that trigger reflow (including total time):
|
|
1013
1013
|
|
|
1014
1014
|
- 56 ms in sidemenuitemintoview @ https://www.w3schools.com/lib/w3schools_footer.js?update=20240910:383:11
|
|
1015
1015
|
- 5 ms in ko @ https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202411070102/pubads_impl.js?cb=31088843:32:197203
|
|
@@ -514,7 +514,7 @@ Duplication grouped by Node modules: ${filesFormatted}`;
|
|
|
514
514
|
}
|
|
515
515
|
|
|
516
516
|
if (insight.aggregatedBottomUpData.length > 0) {
|
|
517
|
-
output += '\n' + Trace.Insights.Models.ForcedReflow.UIStrings.
|
|
517
|
+
output += '\n' + Trace.Insights.Models.ForcedReflow.UIStrings.reflowCallFrames + ' (including total time):\n';
|
|
518
518
|
for (const data of insight.aggregatedBottomUpData) {
|
|
519
519
|
output += `\n - ${this.#formatMicro(data.totalTime)} in ${callFrameToString(data.bottomUpData)}`;
|
|
520
520
|
}
|
|
@@ -93,7 +93,7 @@ export class AttributionReportingIssue extends Issue<IssueCode> {
|
|
|
93
93
|
issueDetails: Readonly<Protocol.Audits.AttributionReportingIssueDetails>;
|
|
94
94
|
|
|
95
95
|
constructor(
|
|
96
|
-
issueDetails: Protocol.Audits.AttributionReportingIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
96
|
+
issueDetails: Protocol.Audits.AttributionReportingIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
97
97
|
super(getIssueCode(issueDetails), issuesModel);
|
|
98
98
|
this.issueDetails = issueDetails;
|
|
99
99
|
}
|
|
@@ -236,8 +236,9 @@ export class AttributionReportingIssue extends Issue<IssueCode> {
|
|
|
236
236
|
return IssueKind.PAGE_ERROR;
|
|
237
237
|
}
|
|
238
238
|
|
|
239
|
-
static fromInspectorIssue(
|
|
240
|
-
|
|
239
|
+
static fromInspectorIssue(
|
|
240
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
241
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): AttributionReportingIssue[] {
|
|
241
242
|
const {attributionReportingIssueDetails} = inspectorIssue.details;
|
|
242
243
|
if (!attributionReportingIssueDetails) {
|
|
243
244
|
console.warn('Attribution Reporting issue without details received.');
|
|
@@ -21,7 +21,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
21
21
|
export class BounceTrackingIssue extends Issue {
|
|
22
22
|
readonly #issueDetails: Protocol.Audits.BounceTrackingIssueDetails;
|
|
23
23
|
|
|
24
|
-
constructor(issueDetails: Protocol.Audits.BounceTrackingIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
24
|
+
constructor(issueDetails: Protocol.Audits.BounceTrackingIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
25
25
|
super(Protocol.Audits.InspectorIssueCode.BounceTrackingIssue, issuesModel);
|
|
26
26
|
this.#issueDetails = issueDetails;
|
|
27
27
|
}
|
|
@@ -61,8 +61,9 @@ export class BounceTrackingIssue extends Issue {
|
|
|
61
61
|
return [];
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
static fromInspectorIssue(
|
|
65
|
-
|
|
64
|
+
static fromInspectorIssue(
|
|
65
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
66
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): BounceTrackingIssue[] {
|
|
66
67
|
const details = inspectorIssue.details.bounceTrackingIssueDetails;
|
|
67
68
|
if (!details) {
|
|
68
69
|
console.warn('Bounce tracking issue without details received.');
|
|
@@ -25,7 +25,7 @@ const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined
|
|
|
25
25
|
export class ClientHintIssue extends Issue {
|
|
26
26
|
private issueDetails: Protocol.Audits.ClientHintIssueDetails;
|
|
27
27
|
|
|
28
|
-
constructor(issueDetails: Protocol.Audits.ClientHintIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
28
|
+
constructor(issueDetails: Protocol.Audits.ClientHintIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
29
29
|
super(
|
|
30
30
|
{
|
|
31
31
|
code: Protocol.Audits.InspectorIssueCode.ClientHintIssue,
|
|
@@ -63,8 +63,9 @@ export class ClientHintIssue extends Issue {
|
|
|
63
63
|
return IssueKind.BREAKING_CHANGE;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
static fromInspectorIssue(
|
|
67
|
-
|
|
66
|
+
static fromInspectorIssue(
|
|
67
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
68
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): ClientHintIssue[] {
|
|
68
69
|
const details = inspectorIssue.details.clientHintIssueDetails;
|
|
69
70
|
if (!details) {
|
|
70
71
|
console.warn('Client Hint issue without details received.');
|
|
@@ -42,7 +42,7 @@ export class ContentSecurityPolicyIssue extends Issue {
|
|
|
42
42
|
#issueDetails: Protocol.Audits.ContentSecurityPolicyIssueDetails;
|
|
43
43
|
|
|
44
44
|
constructor(
|
|
45
|
-
issueDetails: Protocol.Audits.ContentSecurityPolicyIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel,
|
|
45
|
+
issueDetails: Protocol.Audits.ContentSecurityPolicyIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
46
46
|
issueId?: Protocol.Audits.IssueId) {
|
|
47
47
|
const issueCode = [
|
|
48
48
|
Protocol.Audits.InspectorIssueCode.ContentSecurityPolicyIssue,
|
|
@@ -89,8 +89,9 @@ export class ContentSecurityPolicyIssue extends Issue {
|
|
|
89
89
|
return IssueKind.PAGE_ERROR;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
static fromInspectorIssue(
|
|
93
|
-
|
|
92
|
+
static fromInspectorIssue(
|
|
93
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
94
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): ContentSecurityPolicyIssue[] {
|
|
94
95
|
const cspDetails = inspectorIssue.details.contentSecurityPolicyIssueDetails;
|
|
95
96
|
if (!cspDetails) {
|
|
96
97
|
console.warn('Content security policy issue without details received.');
|
|
@@ -23,7 +23,8 @@ export class CookieDeprecationMetadataIssue extends Issue {
|
|
|
23
23
|
readonly #issueDetails: Protocol.Audits.CookieDeprecationMetadataIssueDetails;
|
|
24
24
|
|
|
25
25
|
constructor(
|
|
26
|
-
issueDetails: Protocol.Audits.CookieDeprecationMetadataIssueDetails,
|
|
26
|
+
issueDetails: Protocol.Audits.CookieDeprecationMetadataIssueDetails,
|
|
27
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
27
28
|
// Set a distinct code for ReadCookie and SetCookie issues, so they are grouped separately.
|
|
28
29
|
const issueCode = Protocol.Audits.InspectorIssueCode.CookieDeprecationMetadataIssue + '_' + issueDetails.operation;
|
|
29
30
|
super(issueCode, issuesModel);
|
|
@@ -70,8 +71,9 @@ export class CookieDeprecationMetadataIssue extends Issue {
|
|
|
70
71
|
return JSON.stringify(this.#issueDetails);
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
static fromInspectorIssue(
|
|
74
|
-
|
|
74
|
+
static fromInspectorIssue(
|
|
75
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
76
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): CookieDeprecationMetadataIssue[] {
|
|
75
77
|
const details = inspectorIssue.details.cookieDeprecationMetadataIssueDetails;
|
|
76
78
|
if (!details) {
|
|
77
79
|
console.warn('Cookie deprecation metadata issue without details received.');
|
|
@@ -72,7 +72,7 @@ export class CookieIssue extends Issue {
|
|
|
72
72
|
#issueDetails: Protocol.Audits.CookieIssueDetails;
|
|
73
73
|
|
|
74
74
|
constructor(
|
|
75
|
-
code: string, issueDetails: Protocol.Audits.CookieIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel,
|
|
75
|
+
code: string, issueDetails: Protocol.Audits.CookieIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
76
76
|
issueId: Protocol.Audits.IssueId|undefined) {
|
|
77
77
|
super(code, issuesModel, issueId);
|
|
78
78
|
this.#issueDetails = issueDetails;
|
|
@@ -96,7 +96,7 @@ export class CookieIssue extends Issue {
|
|
|
96
96
|
* Returns an array of issues from a given CookieIssueDetails.
|
|
97
97
|
*/
|
|
98
98
|
static createIssuesFromCookieIssueDetails(
|
|
99
|
-
cookieIssueDetails: Protocol.Audits.CookieIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel,
|
|
99
|
+
cookieIssueDetails: Protocol.Audits.CookieIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
100
100
|
issueId: Protocol.Audits.IssueId|undefined): CookieIssue[] {
|
|
101
101
|
const issues: CookieIssue[] = [];
|
|
102
102
|
|
|
@@ -294,8 +294,8 @@ export class CookieIssue extends Issue {
|
|
|
294
294
|
return;
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
-
static fromInspectorIssue(
|
|
298
|
-
CookieIssue[] {
|
|
297
|
+
static fromInspectorIssue(
|
|
298
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null, inspectorIssue: Protocol.Audits.InspectorIssue): CookieIssue[] {
|
|
299
299
|
const cookieIssueDetails = inspectorIssue.details.cookieIssueDetails;
|
|
300
300
|
if (!cookieIssueDetails) {
|
|
301
301
|
console.warn('Cookie issue without details received.');
|
|
@@ -119,7 +119,7 @@ export class CorsIssue extends Issue<IssueCode> {
|
|
|
119
119
|
#issueDetails: Protocol.Audits.CorsIssueDetails;
|
|
120
120
|
|
|
121
121
|
constructor(
|
|
122
|
-
issueDetails: Protocol.Audits.CorsIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel,
|
|
122
|
+
issueDetails: Protocol.Audits.CorsIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
123
123
|
issueId: Protocol.Audits.IssueId|undefined) {
|
|
124
124
|
super(getIssueCode(issueDetails), issuesModel, issueId);
|
|
125
125
|
this.#issueDetails = issueDetails;
|
|
@@ -284,8 +284,8 @@ export class CorsIssue extends Issue<IssueCode> {
|
|
|
284
284
|
return IssueKind.PAGE_ERROR;
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
static fromInspectorIssue(
|
|
288
|
-
CorsIssue[] {
|
|
287
|
+
static fromInspectorIssue(
|
|
288
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null, inspectorIssue: Protocol.Audits.InspectorIssue): CorsIssue[] {
|
|
289
289
|
const corsIssueDetails = inspectorIssue.details.corsIssueDetails;
|
|
290
290
|
if (!corsIssueDetails) {
|
|
291
291
|
console.warn('Cors issue without details received.');
|
|
@@ -45,7 +45,8 @@ export function isCrossOriginEmbedderPolicyIssue(reason: Protocol.Audits.Blocked
|
|
|
45
45
|
export class CrossOriginEmbedderPolicyIssue extends Issue {
|
|
46
46
|
#issueDetails: Protocol.Audits.BlockedByResponseIssueDetails;
|
|
47
47
|
|
|
48
|
-
constructor(
|
|
48
|
+
constructor(
|
|
49
|
+
issueDetails: Protocol.Audits.BlockedByResponseIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
49
50
|
super(`CrossOriginEmbedderPolicyIssue::${issueDetails.reason}`, issuesModel);
|
|
50
51
|
this.#issueDetails = issueDetails;
|
|
51
52
|
}
|
|
@@ -36,7 +36,7 @@ const i18nLazyDeprecationString = i18n.i18n.getLazilyComputedLocalizedString.bin
|
|
|
36
36
|
export class DeprecationIssue extends Issue {
|
|
37
37
|
#issueDetails: Protocol.Audits.DeprecationIssueDetails;
|
|
38
38
|
|
|
39
|
-
constructor(issueDetails: Protocol.Audits.DeprecationIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
39
|
+
constructor(issueDetails: Protocol.Audits.DeprecationIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
40
40
|
const issueCode = [
|
|
41
41
|
Protocol.Audits.InspectorIssueCode.DeprecationIssue,
|
|
42
42
|
issueDetails.type,
|
|
@@ -101,8 +101,9 @@ export class DeprecationIssue extends Issue {
|
|
|
101
101
|
return IssueKind.BREAKING_CHANGE;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
static fromInspectorIssue(
|
|
105
|
-
|
|
104
|
+
static fromInspectorIssue(
|
|
105
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
106
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): DeprecationIssue[] {
|
|
106
107
|
const details = inspectorIssue.details.deprecationIssueDetails;
|
|
107
108
|
if (!details) {
|
|
108
109
|
console.warn('Deprecation issue without details received.');
|
|
@@ -16,7 +16,7 @@ export class ElementAccessibilityIssue extends Issue {
|
|
|
16
16
|
private issueDetails: Protocol.Audits.ElementAccessibilityIssueDetails;
|
|
17
17
|
|
|
18
18
|
constructor(
|
|
19
|
-
issueDetails: Protocol.Audits.ElementAccessibilityIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel,
|
|
19
|
+
issueDetails: Protocol.Audits.ElementAccessibilityIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
20
20
|
issueId?: Protocol.Audits.IssueId) {
|
|
21
21
|
const issueCode = [
|
|
22
22
|
Protocol.Audits.InspectorIssueCode.ElementAccessibilityIssue,
|
|
@@ -64,8 +64,9 @@ export class ElementAccessibilityIssue extends Issue {
|
|
|
64
64
|
Protocol.Audits.ElementAccessibilityIssueReason.InteractiveContentSummaryDescendant);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
static fromInspectorIssue(
|
|
68
|
-
|
|
67
|
+
static fromInspectorIssue(
|
|
68
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
69
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): ElementAccessibilityIssue[] {
|
|
69
70
|
const elementAccessibilityIssueDetails = inspectorIssue.details.elementAccessibilityIssueDetails;
|
|
70
71
|
if (!elementAccessibilityIssueDetails) {
|
|
71
72
|
console.warn('Element Accessibility issue without details received.');
|
|
@@ -26,7 +26,7 @@ export class FederatedAuthRequestIssue extends Issue {
|
|
|
26
26
|
readonly #issueDetails: Protocol.Audits.FederatedAuthRequestIssueDetails;
|
|
27
27
|
|
|
28
28
|
constructor(
|
|
29
|
-
issueDetails: Protocol.Audits.FederatedAuthRequestIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
29
|
+
issueDetails: Protocol.Audits.FederatedAuthRequestIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
30
30
|
super(
|
|
31
31
|
{
|
|
32
32
|
code: Protocol.Audits.InspectorIssueCode.FederatedAuthRequestIssue,
|
|
@@ -63,8 +63,9 @@ export class FederatedAuthRequestIssue extends Issue {
|
|
|
63
63
|
return IssueKind.PAGE_ERROR;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
static fromInspectorIssue(
|
|
67
|
-
|
|
66
|
+
static fromInspectorIssue(
|
|
67
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
68
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): FederatedAuthRequestIssue[] {
|
|
68
69
|
const details = inspectorIssue.details.federatedAuthRequestIssueDetails;
|
|
69
70
|
if (!details) {
|
|
70
71
|
console.warn('Federated auth request issue without details received.');
|
|
@@ -47,7 +47,7 @@ export class GenericIssue extends Issue {
|
|
|
47
47
|
#issueDetails: Protocol.Audits.GenericIssueDetails;
|
|
48
48
|
|
|
49
49
|
constructor(
|
|
50
|
-
issueDetails: Protocol.Audits.GenericIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel,
|
|
50
|
+
issueDetails: Protocol.Audits.GenericIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
51
51
|
issueId?: Protocol.Audits.IssueId) {
|
|
52
52
|
const issueCode = [
|
|
53
53
|
Protocol.Audits.InspectorIssueCode.GenericIssue,
|
|
@@ -90,8 +90,8 @@ export class GenericIssue extends Issue {
|
|
|
90
90
|
return issueTypes.get(this.#issueDetails.errorType) || IssueKind.IMPROVEMENT;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
static fromInspectorIssue(
|
|
94
|
-
GenericIssue[] {
|
|
93
|
+
static fromInspectorIssue(
|
|
94
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null, inspectorIssue: Protocol.Audits.InspectorIssue): GenericIssue[] {
|
|
95
95
|
const genericDetails = inspectorIssue.details.genericIssueDetails;
|
|
96
96
|
if (!genericDetails) {
|
|
97
97
|
console.warn('Generic issue without details received.');
|
|
@@ -21,7 +21,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
21
21
|
export class HeavyAdIssue extends Issue {
|
|
22
22
|
#issueDetails: Protocol.Audits.HeavyAdIssueDetails;
|
|
23
23
|
|
|
24
|
-
constructor(issueDetails: Protocol.Audits.HeavyAdIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
24
|
+
constructor(issueDetails: Protocol.Audits.HeavyAdIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
25
25
|
const umaCode = [Protocol.Audits.InspectorIssueCode.HeavyAdIssue, issueDetails.reason].join('::');
|
|
26
26
|
super({code: Protocol.Audits.InspectorIssueCode.HeavyAdIssue, umaCode}, issuesModel);
|
|
27
27
|
this.#issueDetails = issueDetails;
|
|
@@ -60,8 +60,8 @@ export class HeavyAdIssue extends Issue {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
static fromInspectorIssue(
|
|
64
|
-
HeavyAdIssue[] {
|
|
63
|
+
static fromInspectorIssue(
|
|
64
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null, inspectorIssue: Protocol.Audits.InspectorIssue): HeavyAdIssue[] {
|
|
65
65
|
const heavyAdIssueDetails = inspectorIssue.details.heavyAdIssueDetails;
|
|
66
66
|
if (!heavyAdIssueDetails) {
|
|
67
67
|
console.warn('Heavy Ad issue without details received.');
|
|
@@ -40,7 +40,7 @@ export {Events} from './IssuesManagerEvents.js';
|
|
|
40
40
|
let issuesManagerInstance: IssuesManager|null = null;
|
|
41
41
|
|
|
42
42
|
function createIssuesForBlockedByResponseIssue(
|
|
43
|
-
issuesModel: SDK.IssuesModel.IssuesModel,
|
|
43
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
44
44
|
inspectorIssue: Protocol.Audits.InspectorIssue): CrossOriginEmbedderPolicyIssue[] {
|
|
45
45
|
const blockedByResponseIssueDetails = inspectorIssue.details.blockedByResponseIssueDetails;
|
|
46
46
|
if (!blockedByResponseIssueDetails) {
|
|
@@ -55,7 +55,7 @@ function createIssuesForBlockedByResponseIssue(
|
|
|
55
55
|
|
|
56
56
|
const issueCodeHandlers = new Map<
|
|
57
57
|
Protocol.Audits.InspectorIssueCode,
|
|
58
|
-
(model: SDK.IssuesModel.IssuesModel, inspectorIssue: Protocol.Audits.InspectorIssue) => Issue[]>([
|
|
58
|
+
(model: SDK.IssuesModel.IssuesModel|null, inspectorIssue: Protocol.Audits.InspectorIssue) => Issue[]>([
|
|
59
59
|
[
|
|
60
60
|
Protocol.Audits.InspectorIssueCode.CookieIssue,
|
|
61
61
|
CookieIssue.fromInspectorIssue,
|
|
@@ -156,7 +156,7 @@ const issueCodeHandlers = new Map<
|
|
|
156
156
|
* Handlers are simple functions hard-coded into a map.
|
|
157
157
|
*/
|
|
158
158
|
export function createIssuesFromProtocolIssue(
|
|
159
|
-
issuesModel: SDK.IssuesModel.IssuesModel, inspectorIssue: Protocol.Audits.InspectorIssue): Issue[] {
|
|
159
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null, inspectorIssue: Protocol.Audits.InspectorIssue): Issue[] {
|
|
160
160
|
const handler = issueCodeHandlers.get(inspectorIssue.code);
|
|
161
161
|
if (handler) {
|
|
162
162
|
return handler(issuesModel, inspectorIssue);
|
|
@@ -21,7 +21,8 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
21
21
|
export class LowTextContrastIssue extends Issue {
|
|
22
22
|
#issueDetails: Protocol.Audits.LowTextContrastIssueDetails;
|
|
23
23
|
|
|
24
|
-
constructor(
|
|
24
|
+
constructor(
|
|
25
|
+
issueDetails: Protocol.Audits.LowTextContrastIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
25
26
|
super('LowTextContrastIssue', issuesModel);
|
|
26
27
|
this.#issueDetails = issueDetails;
|
|
27
28
|
}
|
|
@@ -56,8 +57,9 @@ export class LowTextContrastIssue extends Issue {
|
|
|
56
57
|
return IssueKind.IMPROVEMENT;
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
static fromInspectorIssue(
|
|
60
|
-
|
|
60
|
+
static fromInspectorIssue(
|
|
61
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
62
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): LowTextContrastIssue[] {
|
|
61
63
|
const lowTextContrastIssueDetails = inspectorIssue.details.lowTextContrastIssueDetails;
|
|
62
64
|
if (!lowTextContrastIssueDetails) {
|
|
63
65
|
console.warn('LowTextContrast issue without details received.');
|
|
@@ -21,7 +21,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
21
21
|
export class MixedContentIssue extends Issue {
|
|
22
22
|
#issueDetails: Protocol.Audits.MixedContentIssueDetails;
|
|
23
23
|
|
|
24
|
-
constructor(issueDetails: Protocol.Audits.MixedContentIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
24
|
+
constructor(issueDetails: Protocol.Audits.MixedContentIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
25
25
|
super(Protocol.Audits.InspectorIssueCode.MixedContentIssue, issuesModel);
|
|
26
26
|
this.#issueDetails = issueDetails;
|
|
27
27
|
}
|
|
@@ -64,8 +64,9 @@ export class MixedContentIssue extends Issue {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
static fromInspectorIssue(
|
|
68
|
-
|
|
67
|
+
static fromInspectorIssue(
|
|
68
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
69
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): MixedContentIssue[] {
|
|
69
70
|
const mixedContentDetails = inspectorIssue.details.mixedContentIssueDetails;
|
|
70
71
|
if (!mixedContentDetails) {
|
|
71
72
|
console.warn('Mixed content issue without details received.');
|
|
@@ -26,7 +26,8 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
26
26
|
export class PartitioningBlobURLIssue extends Issue {
|
|
27
27
|
readonly #issueDetails: Protocol.Audits.PartitioningBlobURLIssueDetails;
|
|
28
28
|
|
|
29
|
-
constructor(
|
|
29
|
+
constructor(
|
|
30
|
+
issueDetails: Protocol.Audits.PartitioningBlobURLIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
30
31
|
super(Protocol.Audits.InspectorIssueCode.PartitioningBlobURLIssue, issuesModel);
|
|
31
32
|
this.#issueDetails = issueDetails;
|
|
32
33
|
}
|
|
@@ -67,8 +68,9 @@ export class PartitioningBlobURLIssue extends Issue {
|
|
|
67
68
|
return JSON.stringify(this.#issueDetails);
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
static fromInspectorIssue(
|
|
71
|
-
|
|
71
|
+
static fromInspectorIssue(
|
|
72
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
73
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): PartitioningBlobURLIssue[] {
|
|
72
74
|
const details = inspectorIssue.details.partitioningBlobURLIssueDetails;
|
|
73
75
|
if (!details) {
|
|
74
76
|
console.warn('Partitioning BlobURL issue without details received.');
|
|
@@ -11,7 +11,7 @@ import type {MarkdownIssueDescription} from './MarkdownIssueDescription.js';
|
|
|
11
11
|
export class PropertyRuleIssue extends Issue {
|
|
12
12
|
readonly #issueDetails: Protocol.Audits.PropertyRuleIssueDetails;
|
|
13
13
|
readonly #primaryKey: string;
|
|
14
|
-
constructor(issueDetails: Protocol.Audits.PropertyRuleIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
14
|
+
constructor(issueDetails: Protocol.Audits.PropertyRuleIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
15
15
|
const code = JSON.stringify(issueDetails);
|
|
16
16
|
super(code, issuesModel);
|
|
17
17
|
this.#primaryKey = code;
|
|
@@ -66,8 +66,9 @@ export class PropertyRuleIssue extends Issue {
|
|
|
66
66
|
return IssueKind.PAGE_ERROR;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
static fromInspectorIssue(
|
|
70
|
-
|
|
69
|
+
static fromInspectorIssue(
|
|
70
|
+
issueModel: SDK.IssuesModel.IssuesModel|null,
|
|
71
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): PropertyRuleIssue[] {
|
|
71
72
|
const propertyRuleIssueDetails = inspectorIssue.details.propertyRuleIssueDetails;
|
|
72
73
|
if (!propertyRuleIssueDetails) {
|
|
73
74
|
console.warn('Property rule issue without details received');
|
|
@@ -21,7 +21,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
21
21
|
export class QuirksModeIssue extends Issue {
|
|
22
22
|
#issueDetails: Protocol.Audits.QuirksModeIssueDetails;
|
|
23
23
|
|
|
24
|
-
constructor(issueDetails: Protocol.Audits.QuirksModeIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
24
|
+
constructor(issueDetails: Protocol.Audits.QuirksModeIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
25
25
|
const mode = issueDetails.isLimitedQuirksMode ? 'LimitedQuirksMode' : 'QuirksMode';
|
|
26
26
|
const umaCode = [Protocol.Audits.InspectorIssueCode.QuirksModeIssue, mode].join('::');
|
|
27
27
|
super({code: Protocol.Audits.InspectorIssueCode.QuirksModeIssue, umaCode}, issuesModel);
|
|
@@ -56,8 +56,9 @@ export class QuirksModeIssue extends Issue {
|
|
|
56
56
|
return IssueKind.IMPROVEMENT;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
static fromInspectorIssue(
|
|
60
|
-
|
|
59
|
+
static fromInspectorIssue(
|
|
60
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
61
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): QuirksModeIssue[] {
|
|
61
62
|
const quirksModeIssueDetails = inspectorIssue.details.quirksModeIssueDetails;
|
|
62
63
|
if (!quirksModeIssueDetails) {
|
|
63
64
|
console.warn('Quirks Mode issue without details received.');
|
|
@@ -44,7 +44,8 @@ function generateGroupingIssueCode(details: Protocol.Audits.SRIMessageSignatureI
|
|
|
44
44
|
export class SRIMessageSignatureIssue extends Issue<string> {
|
|
45
45
|
readonly #issueDetails: Protocol.Audits.SRIMessageSignatureIssueDetails;
|
|
46
46
|
|
|
47
|
-
constructor(
|
|
47
|
+
constructor(
|
|
48
|
+
issueDetails: Protocol.Audits.SRIMessageSignatureIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
48
49
|
super(
|
|
49
50
|
{
|
|
50
51
|
code: generateGroupingIssueCode(issueDetails),
|
|
@@ -102,8 +103,9 @@ export class SRIMessageSignatureIssue extends Issue<string> {
|
|
|
102
103
|
return this.details().request ? [this.details().request] : [];
|
|
103
104
|
}
|
|
104
105
|
|
|
105
|
-
static fromInspectorIssue(
|
|
106
|
-
|
|
106
|
+
static fromInspectorIssue(
|
|
107
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
108
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): SRIMessageSignatureIssue[] {
|
|
107
109
|
const details = inspectorIssue.details.sriMessageSignatureIssueDetails;
|
|
108
110
|
if (!details) {
|
|
109
111
|
console.warn('SRI Message Signature issue without details received.');
|
|
@@ -22,7 +22,8 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
22
22
|
export class SharedArrayBufferIssue extends Issue {
|
|
23
23
|
#issueDetails: Protocol.Audits.SharedArrayBufferIssueDetails;
|
|
24
24
|
|
|
25
|
-
constructor(
|
|
25
|
+
constructor(
|
|
26
|
+
issueDetails: Protocol.Audits.SharedArrayBufferIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
26
27
|
const umaCode = [Protocol.Audits.InspectorIssueCode.SharedArrayBufferIssue, issueDetails.type].join('::');
|
|
27
28
|
super({code: Protocol.Audits.InspectorIssueCode.SharedArrayBufferIssue, umaCode}, issuesModel);
|
|
28
29
|
this.#issueDetails = issueDetails;
|
|
@@ -57,8 +58,9 @@ export class SharedArrayBufferIssue extends Issue {
|
|
|
57
58
|
return IssueKind.PAGE_ERROR;
|
|
58
59
|
}
|
|
59
60
|
|
|
60
|
-
static fromInspectorIssue(
|
|
61
|
-
|
|
61
|
+
static fromInspectorIssue(
|
|
62
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
63
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): SharedArrayBufferIssue[] {
|
|
62
64
|
const sabIssueDetails = inspectorIssue.details.sharedArrayBufferIssueDetails;
|
|
63
65
|
if (!sabIssueDetails) {
|
|
64
66
|
console.warn('SAB transfer issue without details received.');
|
|
@@ -111,7 +111,8 @@ function getIssueCode(details: Protocol.Audits.SharedDictionaryIssueDetails): Is
|
|
|
111
111
|
export class SharedDictionaryIssue extends Issue {
|
|
112
112
|
readonly #issueDetails: Protocol.Audits.SharedDictionaryIssueDetails;
|
|
113
113
|
|
|
114
|
-
constructor(
|
|
114
|
+
constructor(
|
|
115
|
+
issueDetails: Protocol.Audits.SharedDictionaryIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
115
116
|
super(
|
|
116
117
|
{
|
|
117
118
|
code: getIssueCode(issueDetails),
|
|
@@ -155,8 +156,9 @@ export class SharedDictionaryIssue extends Issue {
|
|
|
155
156
|
return IssueKind.PAGE_ERROR;
|
|
156
157
|
}
|
|
157
158
|
|
|
158
|
-
static fromInspectorIssue(
|
|
159
|
-
|
|
159
|
+
static fromInspectorIssue(
|
|
160
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
161
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): SharedDictionaryIssue[] {
|
|
160
162
|
const details = inspectorIssue.details.sharedDictionaryIssueDetails;
|
|
161
163
|
if (!details) {
|
|
162
164
|
console.warn('Shared Dictionary issue without details received.');
|
|
@@ -15,7 +15,8 @@ export const lateImportStylesheetLoadingCode = [
|
|
|
15
15
|
|
|
16
16
|
export class StylesheetLoadingIssue extends Issue {
|
|
17
17
|
#issueDetails: Protocol.Audits.StylesheetLoadingIssueDetails;
|
|
18
|
-
constructor(
|
|
18
|
+
constructor(
|
|
19
|
+
issueDetails: Protocol.Audits.StylesheetLoadingIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
19
20
|
const code =
|
|
20
21
|
`${Protocol.Audits.InspectorIssueCode.StylesheetLoadingIssue}::${issueDetails.styleSheetLoadingIssueReason}`;
|
|
21
22
|
super(code, issuesModel);
|
|
@@ -67,8 +68,9 @@ export class StylesheetLoadingIssue extends Issue {
|
|
|
67
68
|
return IssueKind.PAGE_ERROR;
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
static fromInspectorIssue(
|
|
71
|
-
|
|
71
|
+
static fromInspectorIssue(
|
|
72
|
+
issueModel: SDK.IssuesModel.IssuesModel|null,
|
|
73
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): StylesheetLoadingIssue[] {
|
|
72
74
|
const stylesheetLoadingDetails = inspectorIssue.details.stylesheetLoadingIssueDetails;
|
|
73
75
|
if (!stylesheetLoadingDetails) {
|
|
74
76
|
console.warn('Stylesheet loading issue without details received');
|
|
@@ -29,7 +29,8 @@ const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined
|
|
|
29
29
|
export class UnencodedDigestIssue extends Issue<string> {
|
|
30
30
|
readonly #issueDetails: Protocol.Audits.UnencodedDigestIssueDetails;
|
|
31
31
|
|
|
32
|
-
constructor(
|
|
32
|
+
constructor(
|
|
33
|
+
issueDetails: Protocol.Audits.UnencodedDigestIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
33
34
|
super(
|
|
34
35
|
{
|
|
35
36
|
code: `${Protocol.Audits.InspectorIssueCode.UnencodedDigestIssue}::${issueDetails.error}`,
|
|
@@ -76,8 +77,9 @@ export class UnencodedDigestIssue extends Issue<string> {
|
|
|
76
77
|
return this.details().request ? [this.details().request] : [];
|
|
77
78
|
}
|
|
78
79
|
|
|
79
|
-
static fromInspectorIssue(
|
|
80
|
-
|
|
80
|
+
static fromInspectorIssue(
|
|
81
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
82
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): UnencodedDigestIssue[] {
|
|
81
83
|
const details = inspectorIssue.details.unencodedDigestIssueDetails;
|
|
82
84
|
if (!details) {
|
|
83
85
|
console.warn('Unencoded-Digest issue without details received.');
|
|
@@ -16,7 +16,7 @@ export class UserReidentificationIssue extends Issue {
|
|
|
16
16
|
#issueDetails: Protocol.Audits.UserReidentificationIssueDetails;
|
|
17
17
|
|
|
18
18
|
constructor(
|
|
19
|
-
issueDetails: Protocol.Audits.UserReidentificationIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
19
|
+
issueDetails: Protocol.Audits.UserReidentificationIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
20
20
|
super('UserReidentificationIssue', issuesModel);
|
|
21
21
|
this.#issueDetails = issueDetails;
|
|
22
22
|
}
|
|
@@ -46,8 +46,9 @@ export class UserReidentificationIssue extends Issue {
|
|
|
46
46
|
return IssueKind.IMPROVEMENT;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
static fromInspectorIssue(
|
|
50
|
-
|
|
49
|
+
static fromInspectorIssue(
|
|
50
|
+
issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
51
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): UserReidentificationIssue[] {
|
|
51
52
|
const userReidentificationIssueDetails = inspectorIssue.details.userReidentificationIssueDetails;
|
|
52
53
|
if (!userReidentificationIssueDetails) {
|
|
53
54
|
console.warn('User Reidentification issue without details received.');
|