зеркало из https://github.com/mozilla/gecko-dev.git
b0cbc31990
As part of the ongoing effort to port the nsIWebProgress events from RemoteWebProgress / WebProgressChild to BrowserParent / BrowserChild, we need to (de)serialize the nsITransportSecurityInfo instance across the IPC layer. The existing code was calling `NS_SerializeToString` which has the overhead of (a) allocating a buffer and also performing base64 encoding/decoding. This patch adds `IPC::ParamTraits` implementations for `nsITransportSecurityInfo`, `nsIX509Certificate`, and `nsIX509CertList` that (de)serializes the params directly onto and off of the IPC message so that we don't go through the overhead of allocating and encoding/decoding an additional buffer. This (de)serialization will address the performance issues present in the current implementation. As a side effect, I also make nsITransportSecurityInfo a builtinclass XPCOM interface, since the existing serialization code was assuming it was, there is only one implementation, and it is in C++. Differential Revision: https://phabricator.services.mozilla.com/D35090 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
moz.build | ||
nsINamedPipeService.idl | ||
nsISOCKSSocketInfo.idl | ||
nsISSLSocketControl.idl | ||
nsISocketProvider.idl | ||
nsISocketProviderService.idl | ||
nsITransportSecurityInfo.idl | ||
nsNamedPipeIOLayer.cpp | ||
nsNamedPipeIOLayer.h | ||
nsNamedPipeService.cpp | ||
nsNamedPipeService.h | ||
nsSOCKSIOLayer.cpp | ||
nsSOCKSIOLayer.h | ||
nsSOCKSSocketProvider.cpp | ||
nsSOCKSSocketProvider.h | ||
nsSocketProviderService.cpp | ||
nsSocketProviderService.h | ||
nsUDPSocketProvider.cpp | ||
nsUDPSocketProvider.h |