gecko-dev/netwerk/protocol/gio
Nika Layzell 56e6865c9c Bug 1759609 - Make IPDL typedef generation happen non-recursively, r=ipc-reviewers,mccr8
Before this change, the collection of typedefs to include in IPDL
protocols was being performed in the _DecorateWithCXXStuff pass of
lower.py. This pass iterates over all included headers, including
recursively, so will also visit headers included by headers you import.

The recursive behaviour caused issues because importing and
forward-declaring imported types is non-recursive, looking at exported
types only one layer deep. This could lead to typedefs being generated
in IPDL protocols referencing types which could never be named by the
IPDL code, and which had no definition in c++, leading to build errors.

This patch changes the logic to instead happen during the
_GenerateProtocolActorCode pass of lower.py, which is also where
required forward declarations and imports are handled, allowing us to
keep the set of typedefs generated more tightly in sync with the actual
set of types available to the actor.

This required some changes in client code which was relying on
incorrectly generated typedefs, however these types have now been fixed.

Differential Revision: https://phabricator.services.mozilla.com/D141032
2022-03-17 18:09:36 +00:00
..
GIOChannelChild.cpp Bug 1749059 - Remove Quantum DOM support from IPDL, r=ipc-reviewers,mccr8 2022-01-25 20:29:46 +00:00
GIOChannelChild.h Bug 1714307 - Run modernize-use-default-member-init --fix check on netwerk r=necko-reviewers,kershaw 2021-06-11 07:10:41 +00:00
GIOChannelParent.cpp Bug 1733356 - Fix non-unified build errors in netwerk/protocol/gio r=necko-reviewers,kershaw 2021-10-14 12:58:00 +00:00
GIOChannelParent.h Bug 1759609 - Make IPDL typedef generation happen non-recursively, r=ipc-reviewers,mccr8 2022-03-17 18:09:36 +00:00
PGIOChannel.ipdl Bug 1736371 - Default new actors to be refcounted, r=alwu,media-playback-reviewers,mccr8 2022-02-09 17:29:47 +00:00
components.conf
moz.build Bug 1747165 - Replace TK_FLAGS/TK_LIBS with MOZ_GTK3_FLAGS/MOZ_GTK3_LIBS. r=firefox-build-system-reviewers,andi 2021-12-23 20:29:07 +00:00
nsGIOProtocolHandler.cpp Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw 2022-03-16 18:47:08 +00:00
nsGIOProtocolHandler.h Bug 1666725 - Make gvfs e10s compatible r=valentin,necko-reviewers 2021-02-10 07:29:38 +00:00