gecko-dev/dom
Nika Layzell a7666fd8fe Bug 1418048 - Add a callback-based Send API to async returning IPDL methods, r=billm
Currently if you write an async IPDL method which has a return value, we expose
a SendXXX method which returns a MozPromise. This MozPromise can then be
->Then-ed to run code when it is resolved or rejected.

Unfortunately, using this API loses ordering guarantees which IPDL provides.
MozPromise::Then takes an event target, which the resolve runnable is dispatched
to. This means that the resolve callback's code doesn't have any ordering
guarantees relative to the processing of other IPC messages coming over the same
protocol.

This adds a new overload to SendXXX with two additional arguments, a lambda
callback which is called if the call succeeds, and a lambda callback which is
called if the call fails. These will be called in order with other IPC messages
sent over the same protocol.

MozReview-Commit-ID: FZHJJaSDoZy
2017-11-20 17:55:32 -05:00
..
abort Bug 1415682 - Abort API exposed to System, r=qdot 2017-11-10 19:37:13 +01:00
animation Bug 1418220 - Drop AnimationUtils::IsCoreAPIEnabled(ForCaller) and use nsContentUtils::AnimationsAPICoreEnabled / nsDocument::IsWebAnimationsEnabled instead; r=hiro 2017-11-20 14:18:43 +09:00
asmjscache Bug 1331209 - Part 4: Prevent the state machine from continuing if QM is shutting down or the actor has been destroyed; r=asuth 2017-11-04 23:13:51 +01:00
audiochannel
base Merge inbound to mozilla-central r=merge a=merge 2017-11-21 00:01:02 +02:00
battery
bindings Bug 1379688 part 2. Make the EventTarget interface constructible. r=smaug 2017-11-20 13:59:22 -05:00
broadcastchannel Bug 1405290 - Improve logging of workers when shutting down - part 3 - WorkerHolder with names, r=asuth 2017-11-15 07:58:38 +01:00
browser-element Bug 1415389. Make ChromeUtils a WebIDL namespace. Remove ThreadSafeChromeUtils. r=kmag 2017-11-08 00:25:33 -05:00
cache Bug 1418048 - Add a callback-based Send API to async returning IPDL methods, r=billm 2017-11-20 17:55:32 -05:00
canvas Bug 1417123 - Remove or replace inclusion of js/GCAPI.h r=mccr8 2017-11-16 12:21:08 +00:00
clients Bug 1418007 P2 Track the client window or worker's event target on ClientSource. r=baku 2017-11-16 13:15:10 -05:00
commandhandler
console Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug 2017-11-09 10:44:47 -05:00
credentialmanagement Bug 1415675 - Web Authentication - Support AbortSignal types r=jcj,smaug 2017-11-17 09:44:50 +01:00
crypto Bug 1405290 - Improve logging of workers when shutting down - part 3 - WorkerHolder with names, r=asuth 2017-11-15 07:58:38 +01:00
encoding
events Bug 1379688 part 2. Make the EventTarget interface constructible. r=smaug 2017-11-20 13:59:22 -05:00
fetch Bug 1416842 - Allow fetch to reject with nsresult in chrome code. r=bkelly 2017-11-15 14:53:42 -05:00
file Bug 1416193 - Cloned nsHostObjectURI objects should be stored together with their BlobImpl by nsHostObjectProtocolHandler, r=valentin 2017-11-14 00:22:54 +01:00
filehandle Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot 2017-10-26 15:08:41 -07:00
filesystem Bug 1411257 - No MOZ_CRASH if BackgroundChild::GetOrCreateForCurrentThread() fails - part 4 - FileSystem APIs, r=asuth 2017-10-25 08:45:52 +02:00
flyweb Bug 1417123 - Remove or replace inclusion of js/GCAPI.h r=mccr8 2017-11-16 12:21:08 +00:00
gamepad Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug 2017-11-09 10:44:47 -05:00
geolocation Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug 2017-11-09 10:44:47 -05:00
grid
html Bug 1417123 - Remove or replace inclusion of js/GCAPI.h r=mccr8 2017-11-16 12:21:08 +00:00
imptests
indexedDB Bug 1394671 - Disable test browser_perwindow_privateBrowsing.js on linux/debug for frequent intermittent leaks; r=me,test-only 2017-11-16 09:11:13 -07:00
interfaces Bug 691151. Remove Event.getPreventDefault. r=smaug 2017-11-15 12:23:58 -05:00
ipc Bug 1417123 - Remove or replace inclusion of js/GCAPI.h r=mccr8 2017-11-16 12:21:08 +00:00
jsurl Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
locales Bug 691151. Remove Event.getPreventDefault. r=smaug 2017-11-15 12:23:58 -05:00
manifest Bug 1414340 part 1 - Remove non-standard array/generator comprehensions from browser code. r=mossop 2017-11-10 11:52:22 +01:00
mathml
media Merge inbound to mozilla-central r=merge a=merge 2017-11-21 00:01:02 +02:00
messagechannel Bug 1405290 - Improve logging of workers when shutting down - part 3 - WorkerHolder with names, r=asuth 2017-11-15 07:58:38 +01:00
network Bug 1405290 - Improve logging of workers when shutting down - part 3 - WorkerHolder with names, r=asuth 2017-11-15 07:58:38 +01:00
notification Bug 1405290 - Improve logging of workers when shutting down - part 3 - WorkerHolder with names, r=asuth 2017-11-15 07:58:38 +01:00
offline
payments Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot 2017-10-26 15:08:41 -07:00
performance Bug 1415740 P1 Allow PerformanceResourceTiming.workerStart to be accessed on no-cors resources without Timing-Allow-Origin. r=baku 2017-11-10 00:20:30 -08:00
permission
plugins Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
power
presentation Bug 1414974 - Part 3: Move Get{Inner,Outer}WindowWithId onto the specific subclasses, r=smaug 2017-11-09 10:44:47 -05:00
promise Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug 2017-11-09 10:44:47 -05:00
push Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot 2017-10-26 15:08:41 -07:00
quota Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot 2017-10-26 15:08:41 -07:00
res
script Bug 1417895 part 2 - Use a ValidJSVersion enum instead of JSVersion in script loader. r=bz 2017-11-18 23:16:09 +01:00
secureelement
security Bug 1398229 - Save-link-as feature should use the loading principal - part 4 - Comment updated, r=me 2017-11-19 08:53:47 +01:00
smil Bug 1414974 - Part 6: Change WebIDL bindings to refer to nsGlobalWindowInner rather than nsGlobalWindow, r=bz 2017-11-09 10:44:49 -05:00
storage
svg Bug 1415747 - Remove nsIDOMHTMLScriptElement; r=bz 2017-11-10 13:10:00 -08:00
system Bug 1416174 - part 4 - OSFileConstants should use UniquePtr instead of nsAutoPtr, r=smaug 2017-11-10 19:37:13 +01:00
tests Merge mozilla-central to inbound r=merge a=merge on a CLOSED TREE 2017-11-21 00:29:02 +02:00
time
u2f Bug 1412408 - Fix content process leak of U2FTransactionChild instances r=jcj 2017-11-02 12:18:19 +01:00
url
vr Bug 1417123 - Remove or replace inclusion of js/GCAPI.h r=mccr8 2017-11-16 12:21:08 +00:00
webauthn Bug 1419070 - [u2f-hid-rs] Implement per-device threads on Linux, don't use KeyHandleMatcher r=jcj 2017-11-20 18:25:54 +01:00
webbrowserpersist Bug 1415677 part 6. Remove nsIDOMHTMLCollection. r=qdot 2017-11-13 10:41:33 -05:00
webidl Bug 1379688 part 2. Make the EventTarget interface constructible. r=smaug 2017-11-20 13:59:22 -05:00
websocket Bug 1416151 - Moving websocket code and tests in dom/websocket, r=qdot 2017-11-10 12:00:33 +01:00
workers Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
worklet Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
xbl Merge inbound to mozilla-central r=merge a=merge 2017-11-21 00:01:02 +02:00
xhr Bug 1413741 - Improve the use of XHR.mProxy in workers after the dispatching of sync OpenRunnable, r=smaug 2017-11-14 08:18:41 +01:00
xml Bug 1415541 - No need to destroy frames if Destroy was called on the shell. r=bz 2017-11-16 18:58:29 +01:00
xslt Bug 949990 - XPath: "Assertion failure: isNode() || isIterator() || isSnapshot()", throw NOT_SUPPORTED_ERR if an invalid value is passed in. r=bz. 2017-11-07 14:17:38 +01:00
xul Bug 1418294 - Remove JSVersion related code from dom/xul. r=bz 2017-11-18 23:16:14 +01:00
jar.mn
moz.build Bug 1416151 - Moving websocket code and tests in dom/websocket, r=qdot 2017-11-10 12:00:33 +01:00