Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(704)

Unified Diff: third_party/WebKit/Source/modules/bluetooth/BluetoothDevice.cpp

Issue 2565913002: [Onion Soup] Move WebBluetoothImpl from //content/renderer/bluetooth to Blink's bluetooth module (Closed)
Patch Set: renamed BluetoothUUID.typemap to Bluetooth.typemap Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/bluetooth/BluetoothDevice.cpp
diff --git a/third_party/WebKit/Source/modules/bluetooth/BluetoothDevice.cpp b/third_party/WebKit/Source/modules/bluetooth/BluetoothDevice.cpp
index edf8326abf33722fa21ff893961af5ea1d5c2988..8ea588a45fcb16d70fe42d70e1d46e1722ac5d0d 100644
--- a/third_party/WebKit/Source/modules/bluetooth/BluetoothDevice.cpp
+++ b/third_party/WebKit/Source/modules/bluetooth/BluetoothDevice.cpp
@@ -9,39 +9,51 @@
#include "bindings/core/v8/ScriptPromiseResolver.h"
#include "core/dom/DOMException.h"
#include "core/events/Event.h"
+#include "modules/bluetooth/Bluetooth.h"
#include "modules/bluetooth/BluetoothAttributeInstanceMap.h"
#include "modules/bluetooth/BluetoothError.h"
#include "modules/bluetooth/BluetoothRemoteGATTServer.h"
-#include "modules/bluetooth/BluetoothSupplement.h"
-#include "public/platform/modules/bluetooth/WebBluetooth.h"
-#include "public/platform/modules/bluetooth/WebBluetoothRemoteGATTCharacteristicInit.h"
#include <memory>
#include <utility>
namespace blink {
-BluetoothDevice::BluetoothDevice(
- ExecutionContext* context,
- std::unique_ptr<WebBluetoothDeviceInit> webDevice)
+BluetoothDevice::BluetoothDevice(ExecutionContext* context,
+ const String& id,
+ const String& name,
+ Bluetooth* bluetooth)
: ContextLifecycleObserver(context),
m_attributeInstanceMap(new BluetoothAttributeInstanceMap(this)),
- m_webDevice(std::move(webDevice)),
- m_gatt(BluetoothRemoteGATTServer::create(this)) {
+ m_id(id),
+ m_name(name),
+ m_gatt(BluetoothRemoteGATTServer::create(this)),
+ m_bluetooth(bluetooth) {}
+
+// static
+BluetoothDevice* BluetoothDevice::take(ScriptPromiseResolver* resolver,
+ const String& id,
+ const String& name,
+ Bluetooth* bluetooth) {
+ return new BluetoothDevice(resolver->getExecutionContext(), id, name,
+ bluetooth);
}
-BluetoothDevice* BluetoothDevice::take(
- ScriptPromiseResolver* resolver,
- std::unique_ptr<WebBluetoothDeviceInit> webDevice) {
- ASSERT(webDevice);
- return new BluetoothDevice(resolver->getExecutionContext(),
- std::move(webDevice));
+// static
+mojom::blink::WebBluetoothDeviceIdPtr BluetoothDevice::createMojoDeviceId(
+ const String& deviceId) {
+ auto result = mojom::blink::WebBluetoothDeviceId::New();
+ result->device_id = deviceId;
+ return result;
}
BluetoothRemoteGATTService*
BluetoothDevice::getOrCreateBluetoothRemoteGATTService(
- std::unique_ptr<WebBluetoothRemoteGATTService> webService) {
+ const String& serviceInstanceId,
+ const String& uuid,
+ bool isPrimary,
+ const String& deviceInstanceId) {
return m_attributeInstanceMap->getOrCreateBluetoothRemoteGATTService(
- std::move(webService));
+ serviceInstanceId, uuid, isPrimary, deviceInstanceId);
}
bool BluetoothDevice::isValidService(const String& serviceInstanceId) {
@@ -51,10 +63,14 @@ bool BluetoothDevice::isValidService(const String& serviceInstanceId) {
BluetoothRemoteGATTCharacteristic*
BluetoothDevice::getOrCreateBluetoothRemoteGATTCharacteristic(
ExecutionContext* context,
- std::unique_ptr<WebBluetoothRemoteGATTCharacteristicInit> webCharacteristic,
+ const String& characteristicInstanceId,
+ const String& serviceInstanceId,
+ const String& uuid,
+ uint32_t characteristicProperties,
BluetoothRemoteGATTService* service) {
return m_attributeInstanceMap->getOrCreateBluetoothRemoteGATTCharacteristic(
- context, std::move(webCharacteristic), service);
+ context, characteristicInstanceId, serviceInstanceId, uuid,
+ characteristicProperties, service);
}
bool BluetoothDevice::isValidCharacteristic(
@@ -75,8 +91,11 @@ void BluetoothDevice::disconnectGATTIfConnected() {
if (m_gatt->connected()) {
m_gatt->setConnected(false);
m_gatt->ClearActiveAlgorithms();
- BluetoothSupplement::fromExecutionContext(getExecutionContext())
- ->disconnect(id());
+ m_bluetooth->removeDevice(id());
+ mojom::blink::WebBluetoothService* service = m_bluetooth->service();
+ auto deviceId = mojom::blink::WebBluetoothDeviceId::New();
+ deviceId->device_id = id();
+ service->RemoteServerDisconnect(std::move(deviceId));
}
}
@@ -108,6 +127,7 @@ DEFINE_TRACE(BluetoothDevice) {
ContextLifecycleObserver::trace(visitor);
visitor->trace(m_attributeInstanceMap);
visitor->trace(m_gatt);
+ visitor->trace(m_bluetooth);
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698