OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/bluetooth/web_bluetooth_impl.h" | 5 #include "content/renderer/bluetooth/web_bluetooth_impl.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 base::Bind(&WebBluetoothImpl::DispatchCharacteristicValueChanged, | 179 base::Bind(&WebBluetoothImpl::DispatchCharacteristicValueChanged, |
180 base::Unretained(this), characteristic_instance_id, | 180 base::Unretained(this), characteristic_instance_id, |
181 value.PassStorage())); | 181 value.PassStorage())); |
182 } | 182 } |
183 | 183 |
184 void WebBluetoothImpl::OnRequestDeviceComplete( | 184 void WebBluetoothImpl::OnRequestDeviceComplete( |
185 std::unique_ptr<blink::WebBluetoothRequestDeviceCallbacks> callbacks, | 185 std::unique_ptr<blink::WebBluetoothRequestDeviceCallbacks> callbacks, |
186 const blink::mojom::WebBluetoothResult result, | 186 const blink::mojom::WebBluetoothResult result, |
187 blink::mojom::WebBluetoothDevicePtr device) { | 187 blink::mojom::WebBluetoothDevicePtr device) { |
188 if (result == blink::mojom::WebBluetoothResult::SUCCESS) { | 188 if (result == blink::mojom::WebBluetoothResult::SUCCESS) { |
189 blink::WebVector<blink::WebString> uuids(device->uuids.size()); | |
190 for (size_t i = 0; i < device->uuids.size(); ++i) | |
191 uuids[i] = blink::WebString::fromUTF8(device->uuids[i]); | |
192 | |
193 callbacks->onSuccess(base::MakeUnique<blink::WebBluetoothDeviceInit>( | 189 callbacks->onSuccess(base::MakeUnique<blink::WebBluetoothDeviceInit>( |
194 blink::WebString::fromUTF8(device->id.str()), | 190 blink::WebString::fromUTF8(device->id.str()), |
195 device->name.is_null() ? blink::WebString() | 191 device->name.is_null() ? blink::WebString() |
196 : blink::WebString::fromUTF8(device->name), | 192 : blink::WebString::fromUTF8(device->name))); |
197 uuids)); | |
198 } else { | 193 } else { |
199 callbacks->onError(ToInt32(result)); | 194 callbacks->onError(ToInt32(result)); |
200 } | 195 } |
201 } | 196 } |
202 | 197 |
203 void WebBluetoothImpl::GattServerDisconnected( | 198 void WebBluetoothImpl::GattServerDisconnected( |
204 const WebBluetoothDeviceId& device_id) { | 199 const WebBluetoothDeviceId& device_id) { |
205 auto device_iter = connected_devices_.find(device_id); | 200 auto device_iter = connected_devices_.find(device_id); |
206 if (device_iter != connected_devices_.end()) { | 201 if (device_iter != connected_devices_.end()) { |
207 // Remove device from the map before calling dispatchGattServerDisconnected | 202 // Remove device from the map before calling dispatchGattServerDisconnected |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 // Create an associated interface ptr and pass it to the WebBluetoothService | 318 // Create an associated interface ptr and pass it to the WebBluetoothService |
324 // so that it can send us events without us prompting. | 319 // so that it can send us events without us prompting. |
325 blink::mojom::WebBluetoothServiceClientAssociatedPtrInfo ptr_info; | 320 blink::mojom::WebBluetoothServiceClientAssociatedPtrInfo ptr_info; |
326 binding_.Bind(&ptr_info, web_bluetooth_service_.associated_group()); | 321 binding_.Bind(&ptr_info, web_bluetooth_service_.associated_group()); |
327 web_bluetooth_service_->SetClient(std::move(ptr_info)); | 322 web_bluetooth_service_->SetClient(std::move(ptr_info)); |
328 } | 323 } |
329 return *web_bluetooth_service_; | 324 return *web_bluetooth_service_; |
330 } | 325 } |
331 | 326 |
332 } // namespace content | 327 } // namespace content |
OLD | NEW |