Bug 1418048 - Part 3: Accept callbacks passed to async-returning SendXXX methods as rvalue references on a CLOSED TREE, a=bustage
authorNika Layzell <nika@thelayzells.com>
Mon, 20 Nov 2017 18:53:02 -0500
changeset 444573 c84df10506004cd3055b263e2de32401a8f8263a
parent 444572 83af876d4fa01fe675e7249c071659db55750e81
child 444574 29cc33a514b6dfe6d4ae20d9de61b90b12883ee9
push id8527
push userCallek@gmail.com
push dateThu, 11 Jan 2018 21:05:50 +0000
treeherdermozilla-beta@95342d212a7a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbustage
bugs1418048
milestone59.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1418048 - Part 3: Accept callbacks passed to async-returning SendXXX methods as rvalue references on a CLOSED TREE, a=bustage MozReview-Commit-ID: 7M1uuWr0fMM
ipc/ipdl/ipdl/lower.py
--- a/ipc/ipdl/ipdl/lower.py
+++ b/ipc/ipdl/ipdl/lower.py
@@ -1021,21 +1021,21 @@ class MessageDecl(ipdl.ast.MessageDecl):
             return Decl(Type(self.resolverName(), ref=2), 'aResolve')
 
         def makeCallbackResolveDecl(returns):
             if len(returns) > 1:
                 resolvetype = _tuple([d.bareType(side) for d in returns])
             else:
                 resolvetype = returns[0].bareType(side)
 
-            return Decl(Type("mozilla::ipc::ResolveCallback", T=resolvetype),
+            return Decl(Type("mozilla::ipc::ResolveCallback", T=resolvetype, ref=2),
                         'aResolve')
 
         def makeCallbackRejectDecl(returns):
-            return Decl(Type("mozilla::ipc::RejectCallback"), 'aReject')
+            return Decl(Type("mozilla::ipc::RejectCallback", ref=2), 'aReject')
 
         cxxparams = [ ]
         if paramsems is not None:
             cxxparams.extend([ makeDecl(d, paramsems) for d in self.params ])
 
         if returnsems is 'promise' and self.returns:
             pass
         elif returnsems is 'callback' and self.returns: