mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-11 06:04:55 +08:00
Back-end CL: https://crrev.com/c/2593087 Bug: chromium:1051466 Change-Id: Iaf0a5f4df879406bc098cc5215110709fb979205 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2593127 Reviewed-by: Wolfgang Beyer <wolfi@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
61 lines
2.1 KiB
TypeScript
61 lines
2.1 KiB
TypeScript
// Copyright 2020 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 SDK from '../sdk/sdk.js';
|
|
|
|
import {AffectedResourcesView} from './AffectedResourcesView.js';
|
|
import {AggregatedIssue} from './IssueAggregator.js';
|
|
import {IssueView} from './IssuesPane.js';
|
|
|
|
export class AffectedSharedArrayBufferTransferDetailsView extends AffectedResourcesView {
|
|
private issue: AggregatedIssue;
|
|
|
|
constructor(parentView: IssueView, issue: AggregatedIssue) {
|
|
super(parentView, {singular: ls`directive`, plural: ls`directives`});
|
|
this.issue = issue;
|
|
}
|
|
|
|
private appendStatus(element: HTMLElement, isWarning: boolean): void {
|
|
const status = document.createElement('td');
|
|
if (isWarning) {
|
|
status.classList.add('affected-resource-report-only-status');
|
|
status.textContent = ls`warning`;
|
|
} else {
|
|
status.classList.add('affected-resource-blocked-status');
|
|
status.textContent = ls`blocked`;
|
|
}
|
|
element.appendChild(status);
|
|
}
|
|
|
|
private appendDetails(sabIssues: Iterable<SDK.SharedArrayBufferTransferIssue.SharedArrayBufferTransferIssue>): void {
|
|
const header = document.createElement('tr');
|
|
this.appendColumnTitle(header, ls`Source Location`);
|
|
this.appendColumnTitle(header, ls`Status`);
|
|
|
|
this.affectedResources.appendChild(header);
|
|
let count = 0;
|
|
for (const sabIssue of sabIssues) {
|
|
count++;
|
|
this.appendDetail(sabIssue);
|
|
}
|
|
this.updateAffectedResourceCount(count);
|
|
}
|
|
|
|
private appendDetail(sabIssue: SDK.SharedArrayBufferTransferIssue.SharedArrayBufferTransferIssue): void {
|
|
const element = document.createElement('tr');
|
|
element.classList.add('affected-resource-directive');
|
|
|
|
const sabIssueDetails = sabIssue.details();
|
|
this.appendSourceLocation(element, sabIssueDetails.sourceCodeLocation);
|
|
this.appendStatus(element, sabIssueDetails.isWarning);
|
|
|
|
this.affectedResources.appendChild(element);
|
|
}
|
|
|
|
update(): void {
|
|
this.clear();
|
|
this.appendDetails(this.issue.sharedArrayBufferTransfersIssues());
|
|
}
|
|
}
|