author | Liang-Heng Chen <xeonchen@mozilla.com> |
Wed, 19 Oct 2016 20:34:00 +0200 | |
changeset 319826 | ee15d36745a84ba995d4e349eca3a10690c571ec |
parent 319825 | ea39ecf49414c920b402938cd1ddef62dbb18c01 |
child 319827 | 042d532e3d9e553c89062ba169940602558755ff |
push id | 30880 |
push user | philringnalda@gmail.com |
push date | Fri, 28 Oct 2016 02:22:06 +0000 |
treeherder | mozilla-central@944cb0fd0552 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mayhemer |
bugs | 1311275 |
milestone | 52.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/netwerk/socket/nsSOCKSIOLayer.cpp +++ b/netwerk/socket/nsSOCKSIOLayer.cpp @@ -14,19 +14,18 @@ #include "nsIDNSRecord.h" #include "nsISOCKSSocketInfo.h" #include "nsISocketProvider.h" #include "nsSOCKSIOLayer.h" #include "nsNetCID.h" #include "nsIDNSListener.h" #include "nsICancelable.h" #include "nsThreadUtils.h" -#include "nsIURL.h" #include "nsIFile.h" -#include "nsNetUtil.h" +#include "nsIFileProtocolHandler.h" #include "mozilla/Logging.h" #include "mozilla/net/DNS.h" #include "mozilla/Unused.h" using mozilla::LogLevel; using namespace mozilla::net; static PRDescIdentity nsSOCKSIOLayerIdentity; @@ -128,19 +127,31 @@ private: nsresult SetDomainSocketPath(const nsACString& aDomainSocketPath, NetAddr* aProxyAddr) { #ifdef XP_UNIX nsresult rv; MOZ_ASSERT(aProxyAddr); + nsCOMPtr<nsIProtocolHandler> protocolHandler( + do_GetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "file", &rv)); + if (NS_WARN_IF(NS_FAILED(rv))) { + return rv; + } + + nsCOMPtr<nsIFileProtocolHandler> fileHandler( + do_QueryInterface(protocolHandler, &rv)); + if (NS_WARN_IF(NS_FAILED(rv))) { + return rv; + } + nsCOMPtr<nsIFile> socketFile; - rv = NS_GetFileFromURLSpec(aDomainSocketPath, - getter_AddRefs(socketFile)); + rv = fileHandler->GetFileFromURLSpec(aDomainSocketPath, + getter_AddRefs(socketFile)); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } nsAutoCString path; if (NS_WARN_IF(NS_FAILED(rv = socketFile->GetNativePath(path)))) { return rv; }