Index: chrome/browser/extensions/api/messaging/message_service.cc |
diff --git a/chrome/browser/extensions/api/messaging/message_service.cc b/chrome/browser/extensions/api/messaging/message_service.cc |
index afc9407a64ebb14a26314acb76299963ec47f808..23fb7f3aaf8fe5a87d3b6ffb15dfef519ef32954 100644 |
--- a/chrome/browser/extensions/api/messaging/message_service.cc |
+++ b/chrome/browser/extensions/api/messaging/message_service.cc |
@@ -216,7 +216,7 @@ void MessageService::OpenChannelToNativeApp( |
NativeMessageProcessHost::TYPE_CONNECT; |
content::BrowserThread::PostTask( |
- content::BrowserThread::FILE, |
+ content::BrowserThread::IO, |
FROM_HERE, |
base::Bind(&NativeMessageProcessHost::Create, |
base::WeakPtr<NativeMessageProcessHost::Client>( |
@@ -242,6 +242,8 @@ void MessageService::FinalizeOpenChannelToNativeApp( |
// Abandon the channel |
if (!native_process.get()) { |
LOG(ERROR) << "Failed to create native process."; |
+ channel->opener->DispatchOnDisconnect( |
+ GET_OPPOSITE_PORT_ID(receiver_port_id), true); |
return; |
} |
channel->receiver.reset(new NativeMessagePort(native_process.release())); |