/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ // https://webbluetoothcg.github.io/web-bluetooth/#bluetooth dictionary BluetoothDataFilterInit { BufferSource dataPrefix; BufferSource mask; }; dictionary BluetoothLEScanFilterInit { sequence services; DOMString name; DOMString namePrefix; // Maps unsigned shorts to BluetoothDataFilters. record manufacturerData; // Maps BluetoothServiceUUIDs to BluetoothDataFilters. record serviceData; }; dictionary RequestDeviceOptions { sequence filters; sequence optionalServices = []; boolean acceptAllDevices = false; }; [Exposed=Window, Pref="dom_bluetooth_enabled"] interface Bluetooth : EventTarget { [SecureContext] Promise getAvailability(); [SecureContext] attribute EventHandler onavailabilitychanged; // [SecureContext, SameObject] // readonly attribute BluetoothDevice? referringDevice; [SecureContext] Promise requestDevice(optional RequestDeviceOptions options = {}); }; // Bluetooth includes BluetoothDeviceEventHandlers; // Bluetooth includes CharacteristicEventHandlers; // Bluetooth includes ServiceEventHandlers;