debug-server-next
Version:
Dev server for hippy-core.
90 lines (89 loc) • 4.7 kB
JavaScript
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import { Issue, IssueCategory, IssueKind } from './Issue.js';
function getIssueCode(details) {
switch (details.violationType) {
case "PermissionPolicyDisabled" /* PermissionPolicyDisabled */:
return "AttributionReportingIssue::PermissionPolicyDisabled" /* PermissionPolicyDisabled */;
case "InvalidAttributionSourceEventId" /* InvalidAttributionSourceEventId */:
return "AttributionReportingIssue::InvalidAttributionSourceEventId" /* InvalidAttributionSourceEventId */;
case "InvalidAttributionData" /* InvalidAttributionData */:
return details.invalidParameter !== undefined ? "AttributionReportingIssue::InvalidAttributionData" /* InvalidAttributionData */ :
"AttributionReportingIssue::MissingAttributionData" /* MissingAttributionData */;
case "AttributionSourceUntrustworthyOrigin" /* AttributionSourceUntrustworthyOrigin */:
return details.frame !== undefined ? "AttributionReportingIssue::AttributionSourceUntrustworthyFrameOrigin" /* AttributionSourceUntrustworthyFrameOrigin */ :
"AttributionReportingIssue::AttributionSourceUntrustworthyOrigin" /* AttributionSourceUntrustworthyOrigin */;
case "AttributionUntrustworthyOrigin" /* AttributionUntrustworthyOrigin */:
return details.frame !== undefined ? "AttributionReportingIssue::AttributionUntrustworthyFrameOrigin" /* AttributionUntrustworthyFrameOrigin */ :
"AttributionReportingIssue::AttributionUntrustworthyOrigin" /* AttributionUntrustworthyOrigin */;
}
}
export class AttributionReportingIssue extends Issue {
issueDetails;
constructor(issueDetails, issuesModel) {
super(getIssueCode(issueDetails), issuesModel);
this.issueDetails = issueDetails;
}
getCategory() {
return IssueCategory.AttributionReporting;
}
getDescription() {
switch (this.code()) {
case "AttributionReportingIssue::PermissionPolicyDisabled" /* PermissionPolicyDisabled */:
return {
file: 'arPermissionPolicyDisabled.md',
links: [],
};
case "AttributionReportingIssue::InvalidAttributionSourceEventId" /* InvalidAttributionSourceEventId */:
return {
file: 'arInvalidAttributionSourceEventId.md',
links: [],
};
case "AttributionReportingIssue::InvalidAttributionData" /* InvalidAttributionData */:
return {
file: 'arInvalidAttributionData.md',
links: [],
};
case "AttributionReportingIssue::MissingAttributionData" /* MissingAttributionData */:
return {
file: 'arMissingAttributionData.md',
links: [],
};
case "AttributionReportingIssue::AttributionSourceUntrustworthyFrameOrigin" /* AttributionSourceUntrustworthyFrameOrigin */:
return {
file: 'arAttributionSourceUntrustworthyFrameOrigin.md',
links: [],
};
case "AttributionReportingIssue::AttributionSourceUntrustworthyOrigin" /* AttributionSourceUntrustworthyOrigin */:
return {
file: 'arAttributionSourceUntrustworthyOrigin.md',
links: [],
};
case "AttributionReportingIssue::AttributionUntrustworthyFrameOrigin" /* AttributionUntrustworthyFrameOrigin */:
return {
file: 'arAttributionUntrustworthyFrameOrigin.md',
links: [],
};
case "AttributionReportingIssue::AttributionUntrustworthyOrigin" /* AttributionUntrustworthyOrigin */:
return {
file: 'arAttributionUntrustworthyOrigin.md',
links: [],
};
}
}
primaryKey() {
return JSON.stringify(this.issueDetails);
}
getKind() {
return IssueKind.PageError;
}
static fromInspectorIssue(issuesModel, inspectorIssue) {
const { attributionReportingIssueDetails } = inspectorIssue.details;
if (!attributionReportingIssueDetails) {
console.warn('Attribution Reporting issue without details received.');
return [];
}
return [new AttributionReportingIssue(attributionReportingIssueDetails, issuesModel)];
}
}