The various functions on this interface all expect to take promises but
don't want the WebIDL behavior of assimilating random passed-in objects
into promises. They also want to treat Promise subclass instances as
promises instead of wrapping them in a vanilla Promise, which is what the
IDL spec says to do. So we list all our arguments as "object" instead of
"Promise" and check for them being a Promise internally.
The various functions on this interface all expect to take promises but don't want the WebIDL behavior of assimilating random passed-in objects into promises. They also want to treat Promise subclass instances as promises instead of wrapping them in a vanilla Promise, which is what the IDL spec says to do. So we list all our arguments as "object" instead of "Promise" and check for them being a Promise internally.
/** Get the current state of the given promise. /