gecko-dev/ipc
Barret Rennie 4ab0fd7d38 Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler,mayhemer
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
2019-08-28 18:00:16 +00:00
..
app Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
chromium Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj 2019-08-21 12:25:42 +00:00
contentproc Bug 1574421 - Don't recurse in ipc/contentproc. r=froydnj 2019-08-16 13:11:46 +00:00
glue Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler,mayhemer 2019-08-28 18:00:16 +00:00
gtest Bug 1479960 - Add unit tests for shared memory freezing. r=froydnj 2019-08-14 22:48:52 +00:00
ipdl Bug 1568047. r=froydnj 2019-08-12 18:50:09 +00:00
mscom Bug 1576925: Make AgileReference copyable; r=Jamie 2019-08-28 15:05:32 +00:00
testshell Bug 1574573 - Disambiguate a use of Handle in XPCShellEnvironment.cpp r=Ehsan 2019-08-17 01:06:19 +00:00
moz.build Bug 1574421 - Don't recurse in ipc/contentproc. r=froydnj 2019-08-16 13:11:46 +00:00
pull-chromium.py