<!DOCTYPE html><html><head><scriptsrc='/resources/testharness.js'></script><scriptsrc='/resources/testharnessreport.js'></script><scriptsrc='/resources/testdriver.js'></script><scriptsrc="/resources/testdriver-vendor.js"></script></head><body><divid='fs'></div><script>varcheck_report_format=([reports,observer])=>{letreport=reports[0];assert_equals(report.type,"permissions-policy-violation");assert_equals(report.body.featureId,"serial");assert_equals(report.body.disposition,"report");};promise_test(asynct=>{constreport=newPromise(resolve=>{newReportingObserver((reports,observer)=>resolve([reports,observer]),{types:['permissions-policy-violation']}).observe();});awaittest_driver.bless('Activate document for serial.requestPort');try{awaitnavigator.serial.requestPort({filters:[]});assert_unreached('requestPort() call should fail when no port is selected.');}catch(e){assert_equals(e.code,DOMException.NOT_FOUND_ERR);}check_report_format(awaitreport);},"requestPort in serial report only mode");promise_test(asynct=>{constreport=newPromise(resolve=>{newReportingObserver((reports,observer)=>resolve([reports,observer]),{types:['permissions-policy-violation']}).observe();});awaitnavigator.serial.getPorts();check_report_format(awaitreport);},"getPorts in serial report only mode");</script></body></html>