<!doctype html> <meta charset=utf-8> <title>Test WebIDL conversion when querying the "midi" permission</title> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> <div id="log"></div> <script> promise_test(async (test) => { let calledCount = 0; const status = await navigator.permissions.query({ get name() { calledCount++; return "midi"; }, }); assert_true(status instanceof PermissionStatus); assert_equals(status.name, "midi", `permission's name should be "midi"`); // // First call should be from: // // Let rootDesc be the object permissionDesc refers to, converted to an // IDL value of type PermissionDescriptor. // // Second from: // // Let typedDescriptor be the object permissionDesc refers to, // converted to an IDL value of rootDesc's name's permission descriptor // type. // // See: https://w3c.github.io/permissions/#query-method // assert_equals(calledCount, 2, "midi permission should be converted twice"); }, `querying the "midi" permission requires two WebIDL conversions`); </script>