| Index: content/browser/navigator_connect/navigator_connect_context_impl.cc
|
| diff --git a/content/browser/navigator_connect/navigator_connect_context_impl.cc b/content/browser/navigator_connect/navigator_connect_context_impl.cc
|
| index 9911b3ca05e67d24d8bc9f97ae26d7db50227bc1..35a02d1029aac29b11bf3bb8a9fc7939dc9305a4 100644
|
| --- a/content/browser/navigator_connect/navigator_connect_context_impl.cc
|
| +++ b/content/browser/navigator_connect/navigator_connect_context_impl.cc
|
| @@ -68,10 +68,8 @@ void NavigatorConnectContextImpl::Connect(
|
|
|
| if (!factory) {
|
| // No factories found.
|
| - // Destroy ports since connection failed.
|
| - message_port_service->Destroy(client_port);
|
| - message_port_service->Destroy(service_port);
|
| - callback.Run(MSG_ROUTING_NONE, MSG_ROUTING_NONE, false);
|
| + OnConnectResult(client, client_port, client_port_route_id,
|
| + callback, nullptr);
|
| return;
|
| }
|
|
|
| @@ -92,12 +90,15 @@ void NavigatorConnectContextImpl::OnConnectResult(
|
| // Update service side port with delegate.
|
| MessagePortService::GetInstance()->UpdateMessagePort(
|
| client.message_port_id, delegate, client.message_port_id);
|
| - callback.Run(client_message_port_id, client_port_route_id, true);
|
| + TransferredMessagePort port;
|
| + port.id = client_message_port_id;
|
| + // TODO(mek): Set port.send_value_as_messages depending on connect result.
|
| + callback.Run(port, client_port_route_id, true);
|
| } else {
|
| // Destroy ports since connection failed.
|
| MessagePortService::GetInstance()->Destroy(client.message_port_id);
|
| MessagePortService::GetInstance()->Destroy(client_message_port_id);
|
| - callback.Run(MSG_ROUTING_NONE, MSG_ROUTING_NONE, false);
|
| + callback.Run(TransferredMessagePort(), MSG_ROUTING_NONE, false);
|
| }
|
| }
|
|
|
|
|