gecko-dev/ipc/ipdl/ipdl
Kan-Ru Chen ffab50c6f8 Bug 1313200 - Allow IPC messages to async return MozPromises. r=billm,jwwang
This patch implements async returns for IPDL using MozPromises. There
are following changes:

* Initialize AbstractThreads for MessageLoops
* Record promises and their reject functions
  * When async message returns, call their resolve functions
  * When send error or channel close, call their reject functions
* Implement "unresolved-ipc-promises" count for about:memory
* Test cases

See bug attachment for generated code from test cases

MozReview-Commit-ID: 7xmg8gwDGaW

--HG--
rename : ipc/ipdl/test/ipdl/error/AsyncReturn.ipdl => ipc/ipdl/test/ipdl/ok/AsyncReturn.ipdl
extra : rebase_source : 9a5821d6c0e5f7152b8152a17a409b94e8258dc3
2017-03-16 17:36:15 +08:00
..
cxx Bug 1313200 - Allow IPC messages to async return MozPromises. r=billm,jwwang 2017-03-16 17:36:15 +08:00
__init__.py Bug 1345111 - Make the IPDL compiler error out when it finds sync-messages.ini entries without corresponding IPDL sync messages; r=billm 2017-03-08 22:43:35 -05:00
ast.py Bug 1316755, part 2 - Remove bridges, opens and spawns from IPDL. r=billm 2017-01-26 16:43:27 -08:00
builtin.py Bug 1335989 - Avoid a second copy when sending substrings through IPC. r=billm 2017-02-15 16:26:04 -08:00
cgen.py Bug 1321010 - Remove two minor bits of deritrus from IPDL Python code. r=kanru 2016-11-28 15:16:57 -08:00
checker.py Bug 1349350 - Make IPDL checker sync IPC message errors fatal. r=ehsan 2017-03-22 15:01:50 -07:00
lower.py Bug 1313200 - Allow IPC messages to async return MozPromises. r=billm,jwwang 2017-03-16 17:36:15 +08:00
parser.py Bug 1328421 - Replace MessageId with ID in the IPDL parser. r=billm 2017-02-14 09:53:25 -08:00
type.py Bug 1313200 - Allow IPC messages to async return MozPromises. r=billm,jwwang 2017-03-16 17:36:15 +08:00