mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-12 17:45:49 +08:00
Bug: chromium:1224881 Change-Id: Iebc6cc281609594dfa5da5fa9e1c56d7e79d4763 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3003261 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
70 lines
2.5 KiB
TypeScript
70 lines
2.5 KiB
TypeScript
// 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 * as i18n from '../../core/i18n/i18n.js';
|
|
import * as Protocol from '../../generated/protocol.js';
|
|
import type * as SDK from '../../core/sdk/sdk.js';
|
|
import {Issue, IssueCategory, IssueKind} from './Issue.js';
|
|
import type {MarkdownIssueDescription} from './MarkdownIssueDescription.js';
|
|
|
|
|
|
const UIStrings = {
|
|
/**
|
|
* @description Label for the link in the description of Wasm cross-origin module sharing issues, that is, issues
|
|
* that are related to the upcoming deprecation of cross-origin sharing of Wasm modules.
|
|
*/
|
|
linkTitle: 'Wasm cross-origin module sharing deprecation',
|
|
};
|
|
const str_ = i18n.i18n.registerUIStrings('models/issues_manager/WasmCrossOriginModuleSharingIssue.ts', UIStrings);
|
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
|
export class WasmCrossOriginModuleSharingIssue extends
|
|
Issue<Protocol.Audits.InspectorIssueCode.WasmCrossOriginModuleSharingIssue> {
|
|
private issueDetails: Protocol.Audits.WasmCrossOriginModuleSharingIssueDetails;
|
|
|
|
constructor(
|
|
issueDetails: Protocol.Audits.WasmCrossOriginModuleSharingIssueDetails,
|
|
issuesModel: SDK.IssuesModel.IssuesModel) {
|
|
super(Protocol.Audits.InspectorIssueCode.WasmCrossOriginModuleSharingIssue, issuesModel);
|
|
this.issueDetails = issueDetails;
|
|
}
|
|
|
|
getCategory(): IssueCategory {
|
|
return IssueCategory.Other;
|
|
}
|
|
|
|
details(): Protocol.Audits.WasmCrossOriginModuleSharingIssueDetails {
|
|
return this.issueDetails;
|
|
}
|
|
|
|
getDescription(): MarkdownIssueDescription|null {
|
|
const withoutLinks = true;
|
|
return {
|
|
file: 'wasmCrossOriginModuleSharing.md',
|
|
links: withoutLinks ? [] : [{
|
|
link: 'https://web.dev/tbd',
|
|
linkTitle: i18nString(UIStrings.linkTitle),
|
|
}],
|
|
};
|
|
}
|
|
|
|
primaryKey(): string {
|
|
return JSON.stringify(this.issueDetails);
|
|
}
|
|
|
|
getKind(): IssueKind {
|
|
return this.issueDetails.isWarning ? IssueKind.BreakingChange : IssueKind.PageError;
|
|
}
|
|
|
|
static fromInspectorIssue(issuesModel: SDK.IssuesModel.IssuesModel, inspectorIssue: Protocol.Audits.InspectorIssue):
|
|
WasmCrossOriginModuleSharingIssue[] {
|
|
const details = inspectorIssue.details.wasmCrossOriginModuleSharingIssue;
|
|
if (!details) {
|
|
console.warn('WasmCrossOriginModuleSharing issue without details received.');
|
|
return [];
|
|
}
|
|
return [new WasmCrossOriginModuleSharingIssue(details, issuesModel)];
|
|
}
|
|
}
|