// FIXME: 2. If this's relevant global object's associated Document is not allowed to use the policy-controlled feature named "serial",
// reject promise with a "SecurityError" DOMException and return promise.
// FIXME: 3. If the relevant global object of this does not have transient activation, reject promise with a "SecurityError" DOMException and return promise.
// FIXME: 4. If options["filters"] is present, then for each filter in options["filters"] run the following steps:
// FIXME: 5. Run the following steps in parallel:
{
// FIXME: 1. Let allPorts be an empty list.
// FIXME: 2. For each Bluetooth device registered with the system:
// FIXME: 3. For each available non-Bluetooth serial port:
{
// FIXME: 1. Let port be a SerialPort representing the port.
// FIXME: 2. Append port to allPorts.
}
// FIXME: 4. Prompt the user to grant the site access to a serial port by presenting them with a list of ports
// in allPorts that match any filter in options["filters"] if present and allPorts otherwise.
// FIXME: 5. If the user does not choose a port, queue a global task on the relevant global object of this using the
// serial port task source to reject promise with a "NotFoundError" DOMException and abort these steps.
// FIXME: 6. Let port be a SerialPort representing the port chosen by the user.
// FIXME: 7. Queue a global task on the relevant global object of this using the serial port task source to resolve promise with port.