| Index: third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTServer.h
|
| diff --git a/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTServer.h b/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTServer.h
|
| index 1e33026ced286671b4a9bb5da65033ec7431b407..2260f14daca0e9c7b2885f3da192f18fd13342e4 100644
|
| --- a/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTServer.h
|
| +++ b/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTServer.h
|
| @@ -8,6 +8,7 @@
|
| #include "bindings/core/v8/ScriptWrappable.h"
|
| #include "bindings/modules/v8/StringOrUnsignedLong.h"
|
| #include "modules/bluetooth/BluetoothDevice.h"
|
| +#include "mojo/public/cpp/bindings/associated_binding.h"
|
| #include "platform/heap/Heap.h"
|
| #include "public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h"
|
| #include "wtf/text/WTFString.h"
|
| @@ -21,9 +22,11 @@ class ScriptState;
|
|
|
| // BluetoothRemoteGATTServer provides a way to interact with a connected
|
| // bluetooth peripheral.
|
| -class BluetoothRemoteGATTServer final
|
| - : public GarbageCollected<BluetoothRemoteGATTServer>,
|
| - public ScriptWrappable {
|
| +class BluetoothRemoteGATTServer
|
| + : public GarbageCollectedFinalized<BluetoothRemoteGATTServer>,
|
| + public ScriptWrappable,
|
| + public mojom::blink::WebBluetoothServerClient {
|
| + USING_PRE_FINALIZER(BluetoothRemoteGATTServer, dispose);
|
| DEFINE_WRAPPERTYPEINFO();
|
|
|
| public:
|
| @@ -31,6 +34,9 @@ class BluetoothRemoteGATTServer final
|
|
|
| static BluetoothRemoteGATTServer* create(BluetoothDevice*);
|
|
|
| + // mojom::blink::WebBluetoothServerClient:
|
| + void GattServerDisconnected() override;
|
| +
|
| void setConnected(bool connected) { m_connected = connected; }
|
|
|
| // The Active Algorithms set is maintained so that disconnection, i.e.
|
| @@ -47,6 +53,10 @@ class BluetoothRemoteGATTServer final
|
| // Removes all ScriptPromiseResolvers from the set of Active Algorithms.
|
| void ClearActiveAlgorithms() { m_activeAlgorithms.clear(); }
|
|
|
| + // USING_PRE_FINALIZER interface.
|
| + // Called before the object gets garbage collected.
|
| + void dispose();
|
| +
|
| // Interface required by Garbage Collectoin:
|
| DECLARE_VIRTUAL_TRACE();
|
|
|
| @@ -70,7 +80,8 @@ class BluetoothRemoteGATTServer final
|
| String serviceUUID = String());
|
|
|
| void ConnectCallback(ScriptPromiseResolver*,
|
| - mojom::blink::WebBluetoothResult);
|
| + mojom::blink::WebBluetoothResult,
|
| + mojom::blink::WebBluetoothServerClientAssociatedRequest);
|
| void GetPrimaryServicesCallback(
|
| mojom::blink::WebBluetoothGATTQueryQuantity,
|
| ScriptPromiseResolver*,
|
| @@ -82,6 +93,9 @@ class BluetoothRemoteGATTServer final
|
| // using this server’s connection.
|
| HeapHashSet<Member<ScriptPromiseResolver>> m_activeAlgorithms;
|
|
|
| + mojo::AssociatedBinding<mojom::blink::WebBluetoothServerClient>
|
| + m_clientBinding;
|
| +
|
| Member<BluetoothDevice> m_device;
|
| bool m_connected;
|
| };
|
|
|