| Index: device/serial/serial_connection_factory.cc
|
| diff --git a/device/serial/serial_connection_factory.cc b/device/serial/serial_connection_factory.cc
|
| index 3e309b46ca4fdf908f9b19f57bed4c4f02f8441b..6b01490ecab7d08691ce7650de7cdb8a70291b2f 100644
|
| --- a/device/serial/serial_connection_factory.cc
|
| +++ b/device/serial/serial_connection_factory.cc
|
| @@ -95,6 +95,10 @@ SerialConnectionFactory::ConnectTask::ConnectTask(
|
| connection_request_(connection_request.Pass()),
|
| sink_(sink.Pass()),
|
| source_(source.Pass()) {
|
| + if (!options_) {
|
| + options_ = serial::ConnectionOptions::New();
|
| + }
|
| + FillDefaultConnectionOptions(options_.get());
|
| }
|
|
|
| void SerialConnectionFactory::ConnectTask::Run() {
|
| @@ -109,19 +113,16 @@ SerialConnectionFactory::ConnectTask::~ConnectTask() {
|
| void SerialConnectionFactory::ConnectTask::Connect() {
|
| io_handler_ = factory_->io_handler_factory_.Run();
|
| io_handler_->Open(
|
| - path_,
|
| + path_, *options_,
|
| base::Bind(&SerialConnectionFactory::ConnectTask::OnConnected, this));
|
| }
|
|
|
| void SerialConnectionFactory::ConnectTask::OnConnected(bool success) {
|
| DCHECK(io_handler_.get());
|
| - if (!success)
|
| - return;
|
| - if (!options_)
|
| - options_ = serial::ConnectionOptions::New();
|
| - FillDefaultConnectionOptions(options_.get());
|
| - if (!io_handler_->ConfigurePort(*options_))
|
| + if (!success) {
|
| return;
|
| + }
|
| +
|
| mojo::BindToRequest(
|
| new SerialConnection(io_handler_, sink_.Pass(), source_.Pass()),
|
| &connection_request_);
|
|
|