@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 4.21 kB
JavaScript
import*as Host from"../../core/host/host.js";import*as i18n from"../../core/i18n/i18n.js";import*as IssuesManager from"../../models/issues_manager/issues_manager.js";import{AffectedResourcesView}from"./AffectedResourcesView.js";const UIStrings={nViolations:"{n, plural, =1 {# violation} other {# violations}}",element:"Element",invalidHeaderValue:"Invalid Header Value",request:"Request",untrustworthyOrigin:"Untrustworthy origin"},str_=i18n.i18n.registerUIStrings("panels/issues/AttributionReportingIssueDetailsView.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);export class AttributionReportingIssueDetailsView extends AffectedResourcesView{getResourceNameWithCount(e){return i18nString(UIStrings.nViolations,{n:e})}update(){this.clear();const e=this.issue.getAttributionReportingIssues();e.size>0?this.#e(e.values().next().value.code(),e):this.updateAffectedResourceCount(0)}#e(e,t){const i=document.createElement("tr");switch(e){case"AttributionReportingIssue::InvalidRegisterSourceHeader":case"AttributionReportingIssue::InvalidRegisterTriggerHeader":case"AttributionReportingIssue::InvalidRegisterOsSourceHeader":case"AttributionReportingIssue::InvalidRegisterOsTriggerHeader":case"AttributionReportingIssue::OsSourceIgnored":case"AttributionReportingIssue::OsTriggerIgnored":case"AttributionReportingIssue::SourceIgnored":case"AttributionReportingIssue::TriggerIgnored":this.appendColumnTitle(i,i18nString(UIStrings.request)),this.appendColumnTitle(i,i18nString(UIStrings.invalidHeaderValue));break;case"AttributionReportingIssue::InsecureContext":case"AttributionReportingIssue::UntrustworthyReportingOrigin":this.appendColumnTitle(i,i18nString(UIStrings.element)),this.appendColumnTitle(i,i18nString(UIStrings.request)),this.appendColumnTitle(i,i18nString(UIStrings.untrustworthyOrigin));break;case"AttributionReportingIssue::PermissionPolicyDisabled":this.appendColumnTitle(i,i18nString(UIStrings.element)),this.appendColumnTitle(i,i18nString(UIStrings.request));break;case"AttributionReportingIssue::SourceAndTriggerHeaders":case"AttributionReportingIssue::WebAndOsHeaders":this.appendColumnTitle(i,i18nString(UIStrings.request));break;case"AttributionReportingIssue::NavigationRegistrationWithoutTransientUserActivation":this.appendColumnTitle(i,i18nString(UIStrings.element))}this.affectedResources.appendChild(i);let s=0;for(const i of t)s++,this.#t(e,i);this.updateAffectedResourceCount(s)}async#t(e,t){const i=document.createElement("tr");i.classList.add("affected-resource-directive");const s=t.issueDetails;switch(e){case"AttributionReportingIssue::InvalidRegisterSourceHeader":case"AttributionReportingIssue::InvalidRegisterTriggerHeader":case"AttributionReportingIssue::InvalidRegisterOsSourceHeader":case"AttributionReportingIssue::InvalidRegisterOsTriggerHeader":case"AttributionReportingIssue::OsSourceIgnored":case"AttributionReportingIssue::OsTriggerIgnored":case"AttributionReportingIssue::SourceIgnored":case"AttributionReportingIssue::TriggerIgnored":this.#i(i,s.request),this.appendIssueDetailCell(i,s.invalidParameter||"");break;case"AttributionReportingIssue::InsecureContext":case"AttributionReportingIssue::UntrustworthyReportingOrigin":await this.#s(i,t),this.#i(i,s.request),this.appendIssueDetailCell(i,s.invalidParameter||"");break;case"AttributionReportingIssue::PermissionPolicyDisabled":await this.#s(i,t),this.#i(i,s.request);break;case"AttributionReportingIssue::SourceAndTriggerHeaders":case"AttributionReportingIssue::WebAndOsHeaders":this.#i(i,s.request);break;case"AttributionReportingIssue::NavigationRegistrationWithoutTransientUserActivation":await this.#s(i,t)}this.affectedResources.appendChild(i)}async#s(e,t){const i=t.issueDetails;if(void 0!==i.violatingNodeId){const s=t.model()?.target()||null;e.appendChild(await this.createElementCell({backendNodeId:i.violatingNodeId,target:s,nodeName:"Attribution source element"},t.getCategory()))}else this.appendIssueDetailCell(e,"")}#i(e,t){if(!t)return void this.appendIssueDetailCell(e,"");const i={additionalOnClickAction(){Host.userMetrics.issuesPanelResourceOpened(IssuesManager.Issue.IssueCategory.AttributionReporting,"Request")}};e.appendChild(this.createRequestCell(t,i))}}