blob: 49fbef6d3417e755265d5452eccd18dc854bc35b [file] [log] [blame]
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
enum DOMRequestReadyState { "pending", "done" };
[Exposed=(Window,Worker,System)]
interface mixin DOMRequestShared {
readonly attribute DOMRequestReadyState readyState;
readonly attribute any result;
readonly attribute DOMException? error;
attribute EventHandler onsuccess;
attribute EventHandler onerror;
};
[Exposed=(Window,Worker,System)]
interface DOMRequest : EventTarget {
// The [TreatNonCallableAsNull] annotation is required since then() should do
// nothing instead of throwing errors when non-callable arguments are passed.
// See documentation for Promise.then to see why we return "any".
[NewObject, Throws]
any then([TreatNonCallableAsNull] optional AnyCallback? fulfillCallback = null,
[TreatNonCallableAsNull] optional AnyCallback? rejectCallback = null);
[ChromeOnly]
undefined fireDetailedError(DOMException aError);
};
DOMRequest includes DOMRequestShared;