gecko-dev/ipc/glue
Nika Layzell 5853ed26e9 Bug 1550560 - Part 2: Generate logic for refcounted IPDL actors, r=mccr8
This takes the approach of directly tying the `AddRef()` and `Release()` calls
on the underlying actor object to the lifecycle of the ActorLifecycleProxy
object, by adding another virtual `ActorAlloc()` method as the counterpart to
`ActorDealloc()`.

The changes to the methods called from C++ are relatively minimal:

1. The `SendPFooConstructor(...)` methods have the same signature, but now will
   AddRef() internally (through `ActorAlloc()`), so an `do_AddRef(foo).take()`
   isn't needed. Same with the `{Bind,Open}PFooEndpoint` methods.

   This was done to reduce the number of invasive internal changes in the
   codegen which were required to pipe a passed-in `already_AddRefed` to the
   underlying `ActorLifecycleProxy` which is created by generic code.

2. The `AllocPFoo{Parent,Child}` methods have been modified to return an
   `already_AddRefed` by default, and the callsites will store the result in a
   `RefPtr<T>` if the type is refcounted.

3. No `DeallocPFoo...` method is called anymore. Unfortunately due to
   devirtualization, it won't be an error if an unused method is still present,
   though it won't be called.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:16 +00:00
..
BackgroundChild.h Bug 1513057 - P6: Create Background between content process and socket process r=dragana,mayhemer 2019-01-11 20:56:39 +00:00
BackgroundChildImpl.cpp Bug 1560636: Avoid using main thread with PMediaTransport. r=mjf,kershaw 2019-07-15 15:49:30 +00:00
BackgroundChildImpl.h Bug 1560636: Avoid using main thread with PMediaTransport. r=mjf,kershaw 2019-07-15 15:49:30 +00:00
BackgroundImpl.cpp Bug 1562763 - Don't crash child or parent on failed InitBackground. r=nika 2019-07-10 22:37:32 +00:00
BackgroundParent.h Bug 1513057 - P6: Create Background between content process and socket process r=dragana,mayhemer 2019-01-11 20:56:39 +00:00
BackgroundParentImpl.cpp Bug 1563139 - Remove StaticPrefs.h. r=glandium 2019-07-26 01:10:23 +00:00
BackgroundParentImpl.h Bug 1560636: Avoid using main thread with PMediaTransport. r=mjf,kershaw 2019-07-15 15:49:30 +00:00
BackgroundUtils.cpp Bug 1566453: Added flag to detect if a load was initiated by a form submission r=ckerschb 2019-07-22 13:41:47 +00:00
BackgroundUtils.h Bug 965637: Move CSP from Principal into Client, part 1: backend changes. r=mccr8 2019-05-21 23:14:27 +00:00
BrowserProcessSubThread.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
BrowserProcessSubThread.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ByteBuf.h Bug 1441651 - Part 1 - pass Shmem and ByteBuf by rvalref to ParamTraits; r=nika 2019-03-04 16:07:37 +00:00
CrashReporterClient.cpp Bug 1555917 - Exception handler and crash reporter client cleanup r=froydnj 2019-05-31 21:54:03 +00:00
CrashReporterClient.h Bug 1555917 - Exception handler and crash reporter client cleanup r=froydnj 2019-05-31 21:54:03 +00:00
CrashReporterHost.cpp Bug 1555917 - Exception handler and crash reporter client cleanup r=froydnj 2019-05-31 21:54:03 +00:00
CrashReporterHost.h Bug 1555917 - Exception handler and crash reporter client cleanup r=froydnj 2019-05-31 21:54:03 +00:00
CrashReporterMetadataShmem.cpp Bug 1555917 - Exception handler and crash reporter client cleanup r=froydnj 2019-05-31 21:54:03 +00:00
CrashReporterMetadataShmem.h Bug 1555917 - Exception handler and crash reporter client cleanup r=froydnj 2019-05-31 21:54:03 +00:00
CrossProcessMutex.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
CrossProcessMutex_posix.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
CrossProcessMutex_unimplemented.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
CrossProcessMutex_windows.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
CrossProcessSemaphore.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
CrossProcessSemaphore_posix.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
CrossProcessSemaphore_unimplemented.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
CrossProcessSemaphore_windows.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
EnvironmentMap.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
FileDescriptor.cpp Bug 1534780 - Add free interconversion between UniqueFileHandle and ipc::FileDescriptor and use it in a few places. r=froydnj 2019-06-28 19:46:58 +00:00
FileDescriptor.h Bug 1534780 - Add free interconversion between UniqueFileHandle and ipc::FileDescriptor and use it in a few places. r=froydnj 2019-06-28 19:46:58 +00:00
FileDescriptorSetChild.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
FileDescriptorSetChild.h Bug 1522579 - Part 3: Remove consumers of nsIContentChild, r=mccr8 2019-02-25 20:04:49 +00:00
FileDescriptorSetParent.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
FileDescriptorSetParent.h Bug 1522579 - Part 2: Remove consumers of nsIContentParent, r=mccr8 2019-02-25 20:04:47 +00:00
FileDescriptorShuffle.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
FileDescriptorShuffle.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
FileDescriptorUtils.cpp Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
FileDescriptorUtils.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
GeckoChildProcessHost.cpp Bug 1566583 - Bridge GeckoResult to MozPromise and return a GeckoResult from GeckoProcessManager::start. r=snorp 2019-07-24 21:10:14 +00:00
GeckoChildProcessHost.h Bug 1563832 - Create an inheritance hierarchy for the platform-specific bits of process launching. r=jld 2019-07-11 15:27:47 +00:00
IOThreadChild.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
IPCMessageUtils.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
IPCMessageUtils.h Backed out 3 changesets (bug 1547351) for assertion failures on a CLOSED TREE 2019-07-15 17:47:40 +03:00
IPCStream.ipdlh Bug 1528493 - Part 2: Move OptionalIPCStream to use new maybe types, r=baku 2019-02-22 18:46:14 +00:00
IPCStreamAlloc.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
IPCStreamChild.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
IPCStreamDestination.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
IPCStreamDestination.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
IPCStreamParent.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
IPCStreamSource.cpp Bug 1484524: Allow creating a StrongWorkerRef for IPC in the Canceling state r=asuth 2019-03-04 23:05:34 +00:00
IPCStreamSource.h Bug 1522579 - Part 3: Remove consumers of nsIContentChild, r=mccr8 2019-02-25 20:04:49 +00:00
IPCStreamUtils.cpp Bug 1553270 - Part 2: Allow getting a protocol's name from its ProtocolID, r=froydnj 2019-05-24 22:36:49 +00:00
IPCStreamUtils.h Bug 1547218 - Part 2: Stop special casing pointer types in ParamTraits specialization, r=froydnj 2019-05-21 17:04:39 +00:00
IPDLParamTraits.h Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs 2019-07-08 09:27:47 +00:00
InProcessChild.cpp Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE 2019-07-23 05:13:32 +03:00
InProcessChild.h Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE 2019-07-23 05:13:32 +03:00
InProcessImpl.cpp Bug 1553270 - Part 1: Store the protocol ID on IProtocol directly, r=froydnj 2019-05-24 20:21:35 +00:00
InProcessParent.cpp Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE 2019-07-23 05:13:32 +03:00
InProcessParent.h Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE 2019-07-23 05:13:32 +03:00
InputStreamParams.ipdlh Bug 1534666 - replace OptionalInputStreamParams with InputStreamParams? in IPDL; r=mccr8 2019-03-12 15:52:26 +00:00
InputStreamUtils.cpp Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - IPCBlobInputStream actors, r=qdot 2019-04-26 18:04:02 +00:00
InputStreamUtils.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-03-13 10:19:06 +01:00
MessageChannel.cpp Bug 1566294 - Use distinct sequence numbers for messages sent from middleman processes, r=nika. 2019-07-17 05:47:35 -10:00
MessageChannel.h Bug 1566294 - Use distinct sequence numbers for messages sent from middleman processes, r=nika. 2019-07-17 05:47:35 -10:00
MessageLink.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
MessageLink.h Bug 1540731 - Part 1: Manage actor object lifecycles within IPC, r=froydnj 2019-05-21 17:04:14 +00:00
MessagePump.cpp Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
MessagePump.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
Neutering.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
PBackground.ipdl Bug 1560636: Avoid using main thread with PMediaTransport. r=mjf,kershaw 2019-07-15 15:49:30 +00:00
PBackgroundSharedTypes.ipdlh Bug 965637: Move CSP from Principal into Client, part 1: backend changes. r=mccr8 2019-05-21 23:14:27 +00:00
PBackgroundTest.ipdl
PChildToParentStream.ipdl Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8 2019-02-25 20:04:45 +00:00
PFileDescriptorSet.ipdl Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8 2019-02-25 20:04:45 +00:00
PInProcess.ipdl Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE 2019-07-23 05:13:32 +03:00
PParentToChildStream.ipdl Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8 2019-02-25 20:04:45 +00:00
ProcessChild.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
ProcessChild.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ProcessUtils.h Backed out 15 changesets (bug 1479960, bug 1426526, bug 1534780, bug 1536697) for toolchain bustages on UniquePtrExtensions.h . CLOSED TREE 2019-06-28 22:42:00 +03:00
ProcessUtils_bsd.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ProcessUtils_common.cpp Bug 1534780 - Add free interconversion between UniqueFileHandle and ipc::FileDescriptor and use it in a few places. r=froydnj 2019-06-28 19:46:58 +00:00
ProcessUtils_linux.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ProcessUtils_mac.mm Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ProcessUtils_none.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ProtocolTypes.ipdlh
ProtocolUtils.cpp Bug 1550560 - Part 2: Generate logic for refcounted IPDL actors, r=mccr8 2019-07-29 19:54:16 +00:00
ProtocolUtils.h Bug 1550560 - Part 2: Generate logic for refcounted IPDL actors, r=mccr8 2019-07-29 19:54:16 +00:00
ScopedXREEmbed.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ScopedXREEmbed.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
SharedMemory.cpp Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj 2019-02-25 16:08:36 -06:00
SharedMemory.h Backed out 15 changesets (bug 1479960, bug 1426526, bug 1534780, bug 1536697) for toolchain bustages on UniquePtrExtensions.h . CLOSED TREE 2019-06-28 22:42:00 +03:00
SharedMemoryBasic.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
SharedMemoryBasic_android.cpp Bug 1515551 - Add functionality to SharedMemoryBasic to help map the shared memory at an arbitrary address. r=kmag 2019-03-22 00:11:51 +00:00
SharedMemoryBasic_android.h Bug 1515551 - Add functionality to SharedMemoryBasic to help map the shared memory at an arbitrary address. r=kmag 2019-03-22 00:11:51 +00:00
SharedMemoryBasic_chromium.h Bug 1515551 - Add functionality to SharedMemoryBasic to help map the shared memory at an arbitrary address. r=kmag 2019-03-22 00:11:51 +00:00
SharedMemoryBasic_mach.h Bug 1515551 - Add functionality to SharedMemoryBasic to help map the shared memory at an arbitrary address. r=kmag 2019-03-22 00:11:51 +00:00
SharedMemoryBasic_mach.mm Bug 1533675 - Name all threads in Firefox r=Ehsan 2019-06-06 21:07:29 +00:00
SharedMemory_posix.cpp Backed out 15 changesets (bug 1479960, bug 1426526, bug 1534780, bug 1536697) for toolchain bustages on UniquePtrExtensions.h . CLOSED TREE 2019-06-28 22:42:00 +03:00
SharedMemory_windows.cpp Backed out 15 changesets (bug 1479960, bug 1426526, bug 1534780, bug 1536697) for toolchain bustages on UniquePtrExtensions.h . CLOSED TREE 2019-06-28 22:42:00 +03:00
Shmem.cpp Bug 1441651 - Part 1 - pass Shmem and ByteBuf by rvalref to ParamTraits; r=nika 2019-03-04 16:07:37 +00:00
Shmem.h Bug 1441651 - Part 1 - pass Shmem and ByteBuf by rvalref to ParamTraits; r=nika 2019-03-04 16:07:37 +00:00
StringUtil.cpp Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
TaskFactory.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
Transport.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
Transport_posix.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
Transport_posix.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
Transport_win.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
Transport_win.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
URIParams.ipdlh Bug 1532727 - replace OptionalURIParams with URIParams? in IPDL; r=froydnj 2019-03-06 14:05:50 +00:00
URIUtils.cpp Bug 1532727 - replace OptionalURIParams with URIParams? in IPDL; r=froydnj 2019-03-06 14:05:50 +00:00
URIUtils.h Bug 1547218 - Part 2: Stop special casing pointer types in ParamTraits specialization, r=froydnj 2019-05-21 17:04:39 +00:00
WindowsMessageLoop.cpp Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan 2019-04-05 21:41:42 +00:00
WindowsMessageLoop.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
moz.build Bug 1525086 - Part 3a - Move sandbox param logic to GeckoChildProcessHost and MacSandboxInfo to be more reusable r=Alex_Gaynor 2019-03-28 02:25:52 +00:00
nsIIPCSerializableInputStream.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-03-13 10:19:06 +01:00