OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/bluetooth_type_converters.h" | 5 #include "content/renderer/bluetooth/bluetooth_type_converters.h" |
6 | 6 |
7 #include "content/child/mojo/type_converters.h" | 7 #include "content/child/mojo/type_converters.h" |
8 #include "third_party/WebKit/public/platform/modules/bluetooth/WebRequestDeviceO ptions.h" | 8 #include "third_party/WebKit/public/platform/modules/bluetooth/WebRequestDeviceO ptions.h" |
9 | 9 |
10 namespace mojo { | 10 namespace mojo { |
11 | 11 |
12 // static | 12 // static |
13 blink::mojom::WebBluetoothScanFilterPtr TypeConverter< | 13 blink::mojom::WebBluetoothScanFilterPtr TypeConverter< |
14 blink::mojom::WebBluetoothScanFilterPtr, | 14 blink::mojom::WebBluetoothScanFilterPtr, |
15 blink::WebBluetoothScanFilter>::Convert(const blink::WebBluetoothScanFilter& | 15 blink::WebBluetoothScanFilter>::Convert(const blink::WebBluetoothScanFilter& |
16 web_filter) { | 16 web_filter) { |
17 blink::mojom::WebBluetoothScanFilterPtr filter = | 17 blink::mojom::WebBluetoothScanFilterPtr filter = |
18 blink::mojom::WebBluetoothScanFilter::New(); | 18 blink::mojom::WebBluetoothScanFilter::New(); |
19 | 19 |
20 if (!web_filter.services.isEmpty()) | 20 if (!web_filter.services.isEmpty()) { |
21 filter->services = | 21 filter->services = std::vector<device::BluetoothUUID>(); |
22 Array<base::Optional<device::BluetoothUUID>>::From(web_filter.services); | 22 for (const auto service : web_filter.services) { |
ortuno
2016/11/21 04:42:31
Make it a reference.
juncai
2016/11/21 21:27:05
Done.
| |
23 filter->services->push_back(device::BluetoothUUID(service.utf8())); | |
24 } | |
25 } | |
23 | 26 |
24 if (web_filter.hasName) | 27 if (web_filter.hasName) |
25 filter->name = String::From(web_filter.name); | 28 filter->name = web_filter.name.utf8(); |
26 | 29 |
27 if (!web_filter.namePrefix.isEmpty()) | 30 if (!web_filter.namePrefix.isEmpty()) |
28 filter->name_prefix = String::From(web_filter.namePrefix); | 31 filter->name_prefix = web_filter.namePrefix.utf8(); |
29 return filter; | 32 return filter; |
30 } | 33 } |
31 | 34 |
32 // static | 35 // static |
33 blink::mojom::WebBluetoothRequestDeviceOptionsPtr | 36 blink::mojom::WebBluetoothRequestDeviceOptionsPtr |
34 TypeConverter<blink::mojom::WebBluetoothRequestDeviceOptionsPtr, | 37 TypeConverter<blink::mojom::WebBluetoothRequestDeviceOptionsPtr, |
35 blink::WebRequestDeviceOptions>:: | 38 blink::WebRequestDeviceOptions>:: |
36 Convert(const blink::WebRequestDeviceOptions& web_options) { | 39 Convert(const blink::WebRequestDeviceOptions& web_options) { |
37 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options = | 40 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options = |
38 blink::mojom::WebBluetoothRequestDeviceOptions::New(); | 41 blink::mojom::WebBluetoothRequestDeviceOptions::New(); |
39 | 42 |
40 options->filters = mojo::Array<blink::mojom::WebBluetoothScanFilterPtr>::From( | 43 for (const auto& filter : web_options.filters) { |
41 web_options.filters); | 44 options->filters.push_back(blink::mojom::WebBluetoothScanFilter::From< |
42 options->optional_services = | 45 blink::WebBluetoothScanFilter>(filter)); |
43 mojo::Array<base::Optional<device::BluetoothUUID>>::From( | 46 } |
44 web_options.optionalServices); | 47 for (const auto& optional_service : web_options.optionalServices) { |
48 options->optional_services.push_back( | |
49 device::BluetoothUUID(optional_service.utf8())); | |
50 } | |
45 return options; | 51 return options; |
46 } | 52 } |
47 | 53 |
48 // static | 54 // static |
49 base::Optional<device::BluetoothUUID> | 55 device::BluetoothUUID |
50 TypeConverter<base::Optional<device::BluetoothUUID>, blink::WebString>::Convert( | 56 TypeConverter<device::BluetoothUUID, blink::WebString>::Convert( |
51 const blink::WebString& web_string) { | 57 const blink::WebString& web_string) { |
52 base::Optional<device::BluetoothUUID> uuid = | 58 device::BluetoothUUID uuid = device::BluetoothUUID(web_string.utf8()); |
53 device::BluetoothUUID(web_string.utf8()); | |
54 | 59 |
55 DCHECK(uuid->IsValid()); | 60 DCHECK(uuid.IsValid()); |
56 | 61 |
57 return uuid; | 62 return uuid; |
58 } | 63 } |
59 | 64 |
60 } // namespace mojo | 65 } // namespace mojo |
OLD | NEW |