dom/webidl/Worker.webidl
author Nika Layzell <nika@thelayzells.com>
Sat, 20 Oct 2018 20:02:53 -0400
changeset 442679 fbfcfc27ab30434eaac667cbbf9d33ded0abb571
parent 442402 77f4c84bebf05b7fddb3f5bdb8e7de0d2eb3ebd6
child 443382 815f3200c6ce8c09b5f25991996618f8b8a09427
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: https://phabricator.services.mozilla.com/D9399

/* -*- 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/.
 *
 * The origin of this IDL file is
 * https://html.spec.whatwg.org/multipage/workers.html
 *
 * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera
 * Software ASA.
 * You are granted a license to use, reproduce and create derivative works of
 * this document.
 */

[Constructor(USVString scriptURL, optional WorkerOptions options),
 Exposed=(Window,DedicatedWorker,SharedWorker)]
interface Worker : EventTarget {
  void terminate();

  [Throws]
  void postMessage(any message, optional sequence<object> transfer = []);

  attribute EventHandler onmessage;
  attribute EventHandler onmessageerror;
};

Worker implements AbstractWorker;

dictionary WorkerOptions {
  // WorkerType type = "classic"; TODO: Bug 1247687
  // RequestCredentials credentials = "omit"; // credentials is only used if type is "module" TODO: Bug 1247687
  DOMString name = "";
};

[Constructor(USVString scriptURL),
 Func="mozilla::dom::ChromeWorker::WorkerAvailable",
 Exposed=(Window,DedicatedWorker,SharedWorker)]
interface ChromeWorker : Worker {
};