author Nika Layzell <>
Sat, 20 Oct 2018 20:02:53 -0400
changeset 490730 f34bc8a40bec4df77ca477793a8932f6683baa8c
parent 484592 86dc76e74294e7c25a2d582d144b8da5f986af20
child 490734 77f4c84bebf05b7fddb3f5bdb8e7de0d2eb3ebd6
permissions -rw-r--r--
Bug 1489301 - Part 4: Remove unnecessary [Exposed=System] annotations, r=bzbarsky We don't need to expose on both Window and System anymore, as Window now implies System. I don't remove unnecessary [Exposed=Window] annotations, as WebIDL upstream has removed PrimaryGlobal. Differential Revision:

/* -*- 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 */

enum DOMRequestReadyState { "pending", "done" };

[Exposed=(Window,Worker), NoInterfaceObject]
interface DOMRequestShared {
  readonly attribute DOMRequestReadyState readyState;

  readonly attribute any result;
  readonly attribute DOMException? error;

  attribute EventHandler onsuccess;
  attribute EventHandler onerror;

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);

  void fireDetailedError(DOMException aError);

DOMRequest implements DOMRequestShared;