
When BluetoothAdapter::Observer::GattCharacteristicValueChanged() is called WebBluetoothServiceImpl notifies all blink::BluetoothRemoteGattCharacteristic objects even if startNotifications() has not been called or there are no listeners. This is inefficient. We have decided not to fix this at the moment but we wanted to put a comment in the code so if anyone is working on that function in the future they could be aware of this inefficiency and fix it if the change becomes more straightforward. Bug: 541390 Change-Id: Icfc54cb17ac76b856effbfac97af98574a6ee17a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1724588 Reviewed-by: Reilly Grant <reillyg@chromium.org> Commit-Queue: James Hollyer <jameshollyer@chromium.org> Cr-Commit-Position: refs/heads/master@{#682070}
Web Bluetooth Service in Content
content/*/bluetooth
implements the Web Bluetooth specification
using the /device/bluetooth code module.
This service is exposed to the web in the blink bluetooth module.
Testing
Bluetooth web tests in third_party/blink/web_tests/bluetooth/
rely on
fake Bluetooth implementation classes constructed in
content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider
.
These tests span JavaScript binding to the device/bluetooth
API layer.
Design Documents
See: Class Diagram of Web Bluetooth through Bluetooth Android