gecko-dev/ipc/glue
David Parks 6e9cde0e13 Bug 1500219: Part 1 - Add ability to send and receive UniquePtr<T> with IPDL (r=jld)
This patch adds the ability to use UniquePtr<T> in IPDL messages if T is serializable.  The behavior works as expected -- a UniquePtr in a Send is cleared and is passed by move.

Some design points:

* The UniquePtr identification is done in the parser.  This is because the parser immediately normalizes CxxTemplateInst -- an old version of the patch did hacky string-parsing to pull it apart.  I, instead, created CxxUniquePtrInst.

* The implementation allows passing to Send... by move or by reference.  This is valid UniquePtr API behavior but passing by reference is not really useful in this case (but not harmful).  This could probably piggy-back on the "moveonly" IPDL work but that is newer than this work and will require some refactoring.

Differential Revision: https://phabricator.services.mozilla.com/D9143

--HG--
extra : moz-landing-system : lando
2018-10-26 17:09:19 +00:00
..
BackgroundChild.h Bug 1499781 - remove unnecessary include from BackgroundChild.h; r=baku 2018-10-17 13:14:53 -04:00
BackgroundChildImpl.cpp Bug 1478575 - Unify CamerasChild shutdown paths. r=gcp 2018-08-20 10:44:49 +02:00
BackgroundChildImpl.h Bug 1361330 - Part 4: Core implementation; r=asuth 2018-08-20 14:33:03 +02:00
BackgroundImpl.cpp Bug 1432010 - Failures in PBackground channel creation must result in a error event in Web Workers, r=mrbkap 2018-07-18 12:07:14 +02:00
BackgroundParent.h
BackgroundParentImpl.cpp Bug 1361330 - Part 4: Core implementation; r=asuth 2018-08-20 14:33:03 +02:00
BackgroundParentImpl.h Bug 1361330 - Part 4: Core implementation; r=asuth 2018-08-20 14:33:03 +02:00
BackgroundUtils.cpp Bug 1488974 - Disable FastBlock after the load event has fired. r=mayhemer,Ehsan 2018-09-28 19:12:10 +00:00
BackgroundUtils.h Bug 1441932 P3 Forward reserved client, initial client, and controller on Redirect2Verify message back to parent. r=mayhemer 2018-06-04 09:26:51 -07:00
BrowserProcessSubThread.cpp
BrowserProcessSubThread.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
ByteBuf.h Bug 1475139 part 6 - Add move assignment operator to ByteBuf. r=jrmuizel 2018-10-02 08:07:12 -05:00
CrashReporterClient.cpp Bug 1488523 Part 2 - Don't drop delayed crash annotations at startup, r=gsvelto. 2018-09-05 09:23:03 -10:00
CrashReporterClient.h Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov 2018-07-05 15:42:11 +02:00
CrashReporterHost.cpp Bug 1463048 - Remove asynchronous minidump generation r=ted 2018-09-17 20:51:45 +00:00
CrashReporterHost.h Bug 1463048 - Remove asynchronous minidump generation r=ted 2018-09-17 20:51:45 +00:00
CrashReporterMetadataShmem.cpp Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov 2018-07-05 15:42:11 +02:00
CrashReporterMetadataShmem.h Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov 2018-07-05 15:42:11 +02:00
CrossProcessMutex.h Bug 1207696 Part 4b - Make recording optional in mozilla mutexes and monitors, r=froydnj. 2018-07-21 14:22:54 +00:00
CrossProcessMutex_posix.cpp
CrossProcessMutex_unimplemented.cpp
CrossProcessMutex_windows.cpp
CrossProcessSemaphore.h Allocate TextureReadLock at TextureClient creation and drop file handles immediately after. (bug 1416726, r=aosmond) 2018-03-12 08:10:13 -05:00
CrossProcessSemaphore_posix.cpp Allocate TextureReadLock at TextureClient creation and drop file handles immediately after. (bug 1416726, r=aosmond) 2018-03-12 08:10:13 -05:00
CrossProcessSemaphore_unimplemented.cpp Allocate TextureReadLock at TextureClient creation and drop file handles immediately after. (bug 1416726, r=aosmond) 2018-03-12 08:10:13 -05:00
CrossProcessSemaphore_windows.cpp Allocate TextureReadLock at TextureClient creation and drop file handles immediately after. (bug 1416726, r=aosmond) 2018-03-12 08:10:13 -05:00
EnvironmentMap.h Bug 1297740. r=jld 2018-01-08 10:07:16 +01:00
FileDescriptor.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
FileDescriptor.h Bug 1440511 - Part 4: Add an IPDLParamTraits implementation for FileDescriptor, r=froydnj 2018-03-05 16:00:02 -05:00
FileDescriptorSetChild.cpp
FileDescriptorSetChild.h
FileDescriptorSetParent.cpp
FileDescriptorSetParent.h
FileDescriptorShuffle.cpp Bug 1456911 - Rewrite the fd shuffling to be simpler & handle identity mappings correctly. r=froydnj 2018-04-25 17:44:08 -06:00
FileDescriptorShuffle.h Bug 1480401 - Avoid heap-allocated closures in async signal safe part of LaunchApp. r=froydnj 2018-08-02 14:18:01 -06:00
FileDescriptorUtils.cpp
FileDescriptorUtils.h
GeckoChildProcessHost.cpp Bug 1431441 - Part 3 - Start the Mac content sandbox earlier r=Alex_Gaynor 2018-10-19 18:23:16 +00:00
GeckoChildProcessHost.h Bug 1478145 - Merge GeckoChildProcessHost::PerformAsyncLaunchInternal back into PerformAsyncLaunch r=mccr8 2018-09-14 17:28:38 +00:00
IOThreadChild.h
IPCMessageUtils.cpp
IPCMessageUtils.h Bug 1475139 part 3 - Add serialization support for nsTHashtable with nsUint64HashKey. r=froydnj 2018-09-24 21:35:31 -05:00
IPCStream.ipdlh Bug 1464090 - Passing the length if known via IPCStream and use InputStreamLengthWrapper when deserialized, r=froydnj, r=mayhemer 2018-05-31 18:12:25 +02:00
IPCStreamAlloc.h
IPCStreamChild.cpp
IPCStreamDestination.cpp Bug 1464090 - Passing the length if known via IPCStream and use InputStreamLengthWrapper when deserialized, r=froydnj, r=mayhemer 2018-05-31 18:12:25 +02:00
IPCStreamDestination.h Bug 1464090 - Passing the length if known via IPCStream and use InputStreamLengthWrapper when deserialized, r=froydnj, r=mayhemer 2018-05-31 18:12:25 +02:00
IPCStreamParent.cpp
IPCStreamSource.cpp Bug 1455256 - Port more components to WorkerRef - part 2 - IPCStream, r=asuth 2018-06-18 16:37:21 -04:00
IPCStreamSource.h Bug 1455256 - Port more components to WorkerRef - part 2 - IPCStream, r=asuth 2018-06-18 16:37:21 -04:00
IPCStreamUtils.cpp Bug 1464090 - Passing the length if known via IPCStream and use InputStreamLengthWrapper when deserialized, r=froydnj, r=mayhemer 2018-05-31 18:12:25 +02:00
IPCStreamUtils.h Bug 1443954 - Part 3: Add support for RefCounted types to IPDL, r=bz,froydnj,baku 2018-04-10 17:49:48 -04:00
IPDLParamTraits.h Bug 1500219: Part 1 - Add ability to send and receive UniquePtr<T> with IPDL (r=jld) 2018-10-26 17:09:19 +00:00
InputStreamParams.ipdlh Bug 1464090 - Implement InputStreamLengthWrapper to make any stream nsIInputStreamLength and nsIAsyncInputStreamLength, r=froydnj 2018-05-31 18:12:25 +02:00
InputStreamUtils.cpp Bug 1464090 - Implement InputStreamLengthWrapper to make any stream nsIInputStreamLength and nsIAsyncInputStreamLength, r=froydnj 2018-05-31 18:12:25 +02:00
InputStreamUtils.h
MessageChannel.cpp Bug 1498765 - Clean up ContentParent::KillHard handling. r=mccr8 2018-10-19 15:29:34 -06:00
MessageChannel.h Bug 1498765 - Clean up ContentParent::KillHard handling. r=mccr8 2018-10-19 15:29:34 -06:00
MessageLink.cpp Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov 2018-07-05 15:42:11 +02:00
MessageLink.h
MessagePump.cpp
MessagePump.h Bug 1448022 - make MessagePumpForAndroidUI's constructor explicit; r=jld 2018-03-27 10:51:32 -04:00
Neutering.h
PBackground.ipdl Bug 1361330 - Part 4: Core implementation; r=asuth 2018-08-20 14:33:03 +02:00
PBackgroundSharedTypes.ipdlh Bug 1414755 - Get rid of ContentPrincipalInfoOriginNoSuffix, r=bz, r=bkelly 2017-11-15 11:19:26 +01:00
PBackgroundTest.ipdl
PChildToParentStream.ipdl
PFileDescriptorSet.ipdl
PParentToChildStream.ipdl
ProcessChild.cpp
ProcessChild.h
ProcessUtils.h
ProcessUtils_bsd.cpp
ProcessUtils_linux.cpp
ProcessUtils_mac.mm
ProcessUtils_none.cpp
ProtocolTypes.ipdlh
ProtocolUtils.cpp Bug 1486547 - renamed the mState field on generated protocol classes; r=froydnj 2018-08-27 18:20:17 +00:00
ProtocolUtils.h Bug 1486547 - renamed the mState field on generated protocol classes; r=froydnj 2018-08-27 18:20:17 +00:00
ScopedXREEmbed.cpp Bug 1495912- Remove more trivial calls to do_QueryInterface r=smaug 2018-10-03 19:52:01 +00:00
ScopedXREEmbed.h
SharedMemory.cpp
SharedMemory.h
SharedMemoryBasic.h
SharedMemoryBasic_android.cpp
SharedMemoryBasic_android.h
SharedMemoryBasic_chromium.h Bug 1440199 - Part 2: Remove named mode from IPC shared memory. r=froydnj 2018-02-20 13:07:32 -07:00
SharedMemoryBasic_mach.h Backed out 8 changesets (bug 1265824) for bustage in /builds/worker/workspace/build/src/gfx/layers/opengl/CompositorOGL.cpp on a CLOSED TREE 2018-07-19 09:33:28 +03:00
SharedMemoryBasic_mach.mm Backed out 8 changesets (bug 1265824) for bustage in /builds/worker/workspace/build/src/gfx/layers/opengl/CompositorOGL.cpp on a CLOSED TREE 2018-07-19 09:33:28 +03:00
SharedMemory_posix.cpp
SharedMemory_windows.cpp
Shmem.cpp Backed out changeset d846803d6d6e (bug 1485762) on request by dev a=backout 2018-09-28 00:06:02 +03:00
Shmem.h Bug 1452657 - rename IPDL-private Shmem token struct to something more professional; r=mccr8 2018-04-17 10:05:30 -04:00
StringUtil.cpp
TaskFactory.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
Transport.h
Transport_posix.cpp Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov 2018-07-05 15:42:11 +02:00
Transport_posix.h
Transport_win.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
Transport_win.h
URIParams.ipdlh Bug 1228139 - Remove nsIURIWithPrincipal - part 3 - main part, r=bz 2018-07-24 22:15:57 +02:00
URIUtils.cpp Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
URIUtils.h Bug 1476996 - Implement cross process redirection in Http on the parent process r=bagder,nika 2018-09-04 20:45:22 +00:00
WindowsMessageLoop.cpp Bug 1437167 - Part 1: Stop using PRIntervalTime as the argument to CondVar::Wait and Monitor::Wait, r=mstange, r=froydnj 2018-04-10 17:49:47 -04:00
WindowsMessageLoop.h
moz.build Bug 1399877 - globally define MOZ_DLL_PREFIX/MOZ_DLL_SUFFIX; r=gps 2018-09-11 13:31:20 -04:00
nsIIPCSerializableInputStream.h
nsIIPCSerializableURI.h Bug 1441688 - Remove nsIIPCSerializableURI.Deserialize r=mayhemer 2018-03-05 04:14:44 +01:00