LGTM1

On Tue, Sep 29, 2026 at 10:20 AM Helmut Januschka <[email protected]>
wrote:

> *Contact emails*
> [email protected]
>
> *Explainer*
> https://github.com/WebBluetoothCG/web-bluetooth/pull/672
>
> *Specification*
>
> https://pr-preview.s3.amazonaws.com/hjanuschka/web-bluetooth/pull/672.html#bluetoothremotegattserver
>
> *Summary*
> BluetoothRemoteGATTServer inherits from EventTarget, exposing the standard
> addEventListener(), removeEventListener(), and dispatchEvent() methods.
> This enables connection-level events to be dispatched directly on the GATT
> server.
>
> *Blink component*
> Blink>Bluetooth
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EBluetooth%22>
>
> *Web Feature ID*
> web-bluetooth <https://webstatus.dev/features/web-bluetooth>
>
> *Motivation*
> BluetoothRemoteGATTServer represents an active GATT connection and needs
> to host connection-level events. Making it an EventTarget gives web
> applications the standard event-listener API needed by events such as the
> separately proposed maxwritewithoutresponsesizechanged event.
>
> *Initial public proposal*
> https://github.com/WebBluetoothCG/web-bluetooth/pull/672
>
> *Search tags*
> web-bluetooth <https://chromestatus.com/features#tags:web-bluetooth>,
> bluetooth <https://chromestatus.com/features#tags:bluetooth>, eventtarget
> <https://chromestatus.com/features#tags:eventtarget>
>
> *TAG review*
> *No information provided*
>
> *TAG review status*
> Issues addressed
>
> *Goals for experimentation*
> None
>
> *Risks*
>
>
> *Interoperability and Compatibility*
> This is a small but observable change to an existing interface. Existing
> content could be affected if it relies on BluetoothRemoteGATTServer not
> having addEventListener(), relies on an instance not being an instanceof
> EventTarget, or enumerates inherited properties and does not expect
> EventTarget members. The affected surface is limited to sites using Web
> Bluetooth. Firefox and Safari do not currently implement Web Bluetooth.
>
> *Gecko*: Negative (
> https://github.com/mozilla/standards-positions/issues/95) Firefox does
> not implement Web Bluetooth. The citation is Mozilla's position on the
> overall Web Bluetooth API, not a separate position on this inheritance
> change.
>
> *WebKit*: Oppose (https://github.com/WebKit/standards-positions/issues/570) 
> Safari
> does not implement Web Bluetooth. The citation is WebKit's position on the
> overall Web Bluetooth API, not a separate position on this inheritance
> change.
>
> *Web developers*: Positive this is a small preparation feature for the
> larger demanded: https://issues.chromium.org/issues/40265040
>
> *Other signals*: The WebBluetoothCG specification change is approved in
> https://github.com/WebBluetoothCG/web-bluetooth/pull/672 but has not yet
> merged.
>
> *Ergonomics*
> Low. EventTarget is the standard event-listener pattern used throughout
> the web platform. The change does not add synchronous work, thread
> constraints, or performance-sensitive behavior. It prepares
> BluetoothRemoteGATTServer to expose connection-level events alongside the
> existing Web Bluetooth APIs.
>
> *Activation*
> Low. Developers use the standard addEventListener() API and need no
> polyfill or library. This inheritance change alone does not require
> application changes; developers use it when connection-level events are
> exposed.
>
> *Security*
> This exposes only the standard EventTarget methods on an existing Web
> Bluetooth object. It does not grant access to additional devices, services,
> characteristics, data, or operations. Existing Web Bluetooth permission,
> secure-context, service allowlist, blocklist, and Permissions Policy
> protections remain unchanged.
>
> *WebView application risks*
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
> None. Android WebView does not expose Web Bluetooth, so
> BluetoothRemoteGATTServer is not available there.
>
>
> *Debuggability*
> The inherited EventTarget methods and registered listeners are inspectable
> using the existing DevTools Console and event-listener tools. No dedicated
> DevTools panel or protocol support is required.
>
> *Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?*
> No
> Supported on Windows, macOS, Linux, ChromeOS, and Android wherever Web
> Bluetooth is available. Chrome on iOS and Android WebView do not expose Web
> Bluetooth.
>
> *Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
> No
> Chromium's global interface listing tests verify that
> BluetoothRemoteGATTServer inherits from EventTarget:
> https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/webexposed/global-interface-listing.html
> The Web Bluetooth WPT IDL harness will cover the same inheritance after
> specification PR 672 merges and the generated Web Bluetooth IDL snapshot is
> updated:
> https://github.com/web-platform-tests/wpt/blob/master/bluetooth/bidi/idl/idlharness.tentative.https.window.js
> https://github.com/WebBluetoothCG/web-bluetooth/pull/672
>
> *Flag name on about://flags*
> *No information provided*
>
> *Finch feature name*
> *No information provided*
>
> *Non-finch justification*
> Blink cannot conditionally enable Web IDL inheritance. The inheritance
> change has therefore been isolated into a standalone implementation CL and
> shipping intent.
>
> *Rollout plan*
> Will ship enabled for all users
>
> *Requires code in //chrome?*
> False
>
> *Tracking bug*
> https://issues.chromium.org/issues/40265040
>
> *Measurement*
> No dedicated UseCounter is added for the inheritance change. Exposure and
> use remain associated with the existing web-bluetooth Web Feature ID. The
> change is also covered by Chromium's global interface listing tests.
>
> *Estimated milestones*
>
> Shipping on desktop
> 157
> Shipping on Android
> 157
> Shipping on WebView
> 157
> Shipping on iOS
> 157
>
> *Anticipated spec changes*
>
> Open questions about a feature may be a source of future web compat or
> interop issues. Please list open issues (e.g. links to known github issues
> in the project for the feature specification) whose resolution may
> introduce web compat/interop risk (e.g., changing to naming or structure of
> the API in a non-backward-compatible way).
> The inheritance change is included in WebBluetoothCG PR 672. The PR is
> approved and no further substantive changes to this inheritance are
> anticipated, but it must merge before shipping.
>
> *Link to entry on the Chrome Platform Status*
> https://chromestatus.com/feature/5138797158334464?gate=6155787868176384
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com/>.
>
>
> this is a "formal" feature, its a formal necessity for proceeding with
> https://chromestatus.com/feature/5177569273053184
>
> to make this easier in the future, i prepared a issue/cl - to make
> inheritance feature flaggable, and reduce similiar feature entry
> requirements for changes like this!
>
> https://issues.chromium.org/issues/558254917
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9c0d3b76-5d3d-4ff2-8537-131e89331e5cn%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9c0d3b76-5d3d-4ff2-8537-131e89331e5cn%40chromium.org?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_iue9RNdYx2z9XdnfEte318vtKr1ue3nRUHZ8uaBVXug%40mail.gmail.com.

Reply via email to