diff --git a/netwerk/ipc/SocketProcessChild.cpp b/netwerk/ipc/SocketProcessChild.cpp index 274a6e1ff2fc..761e69bf08a0 100644 --- a/netwerk/ipc/SocketProcessChild.cpp +++ b/netwerk/ipc/SocketProcessChild.cpp @@ -123,6 +123,26 @@ bool SocketProcessChild::Init(base::ProcessId aParentPid, // because it's not running a native event loop. See bug 1384336. CGSShutdownServerConnections(); #endif // XP_MACOSX + + nsresult rv; + nsCOMPtr ios = do_GetIOService(&rv); + if (NS_FAILED(rv)) { + return false; + } + + nsCOMPtr handler; + rv = ios->GetProtocolHandler("http", getter_AddRefs(handler)); + if (NS_FAILED(rv)) { + return false; + } + + // Initialize DNS Service here, since it needs to be done in main thread. + nsCOMPtr dns = + do_GetService("@mozilla.org/network/dns-service;1", &rv); + if (NS_FAILED(rv)) { + return false; + } + return true; } @@ -313,31 +333,8 @@ PFileDescriptorSetChild* SocketProcessChild::SendPFileDescriptorSetConstructor( already_AddRefed SocketProcessChild::AllocPHttpConnectionMgrChild() { LOG(("SocketProcessChild::AllocPHttpConnectionMgrChild \n")); - if (!gHttpHandler) { - nsresult rv; - nsCOMPtr ios = do_GetIOService(&rv); - if (NS_FAILED(rv)) { - return nullptr; - } - - nsCOMPtr handler; - rv = ios->GetProtocolHandler("http", getter_AddRefs(handler)); - if (NS_FAILED(rv)) { - return nullptr; - } - - // Initialize DNS Service here, since it needs to be done in main thread. - nsCOMPtr dns = - do_GetService("@mozilla.org/network/dns-service;1", &rv); - if (NS_FAILED(rv)) { - return nullptr; - } - - RefPtr actor = new HttpConnectionMgrChild(); - return actor.forget(); - } - - return nullptr; + RefPtr actor = new HttpConnectionMgrChild(); + return actor.forget(); } mozilla::ipc::IPCResult