| Index: chrome/browser/extensions/api/serial/serial_api.cc
|
| diff --git a/chrome/browser/extensions/api/serial/serial_api.cc b/chrome/browser/extensions/api/serial/serial_api.cc
|
| index c2d6f5a963e3ac410b6890debe6bfa9a9feb84fc..2a1d6f735f1c4933a075e27d4dff40138b293f19 100644
|
| --- a/chrome/browser/extensions/api/serial/serial_api.cc
|
| +++ b/chrome/browser/extensions/api/serial/serial_api.cc
|
| @@ -9,9 +9,9 @@
|
| #include "base/values.h"
|
| #include "chrome/browser/extensions/api/serial/serial_connection.h"
|
| #include "chrome/browser/extensions/api/serial/serial_event_dispatcher.h"
|
| -#include "chrome/browser/extensions/api/serial/serial_port_enumerator.h"
|
| #include "chrome/common/extensions/api/serial.h"
|
| #include "content/public/browser/browser_thread.h"
|
| +#include "device/serial/serial_device_enumerator.h"
|
| #include "extensions/browser/extension_system.h"
|
|
|
| using content::BrowserThread;
|
| @@ -84,18 +84,23 @@ bool SerialGetDevicesFunction::Prepare() {
|
| void SerialGetDevicesFunction::Work() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
|
|
|
| - std::vector<linked_ptr<serial::DeviceInfo> > devices;
|
| - SerialPortEnumerator::StringSet port_names =
|
| - SerialPortEnumerator::GenerateValidSerialPortNames();
|
| - for (SerialPortEnumerator::StringSet::const_iterator iter =
|
| - port_names.begin();
|
| - iter != port_names.end();
|
| - ++iter) {
|
| + std::vector<device::SerialDeviceInfo> devices;
|
| + scoped_ptr<device::SerialDeviceEnumerator> enumerator =
|
| + device::SerialDeviceEnumerator::Create();
|
| + enumerator->GetDevices(&devices);
|
| +
|
| + std::vector<linked_ptr<serial::DeviceInfo> > out_devices;
|
| + std::vector<device::SerialDeviceInfo>::const_iterator iter = devices.begin();
|
| + for (; iter != devices.end(); ++iter) {
|
| linked_ptr<serial::DeviceInfo> info(new serial::DeviceInfo);
|
| - info->path = *iter;
|
| - devices.push_back(info);
|
| + info->path = iter->path;
|
| + info->vendor_id = iter->vendor_id;
|
| + info->product_id = iter->product_id;
|
| + info->display_name = iter->display_name;
|
| + out_devices.push_back(info);
|
| }
|
| - results_ = serial::GetDevices::Results::Create(devices);
|
| +
|
| + results_ = serial::GetDevices::Results::Create(out_devices);
|
| }
|
|
|
| SerialConnectFunction::SerialConnectFunction() {}
|
|
|