From a8602cc877cb4fc007655cd0f52b52b1e7165bc8 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 10 Jun 2020 21:08:58 +0000 Subject: Issue #1587 - Part 1: Implement FetchController/FetchSignal interface --- dom/webidl/FetchController.webidl | 15 +++++++++++++++ dom/webidl/FetchSignal.webidl | 13 +++++++++++++ dom/webidl/Request.webidl | 3 +++ dom/webidl/moz.build | 2 ++ 4 files changed, 33 insertions(+) create mode 100644 dom/webidl/FetchController.webidl create mode 100644 dom/webidl/FetchSignal.webidl (limited to 'dom/webidl') diff --git a/dom/webidl/FetchController.webidl b/dom/webidl/FetchController.webidl new file mode 100644 index 000000000..c5b1cc6da --- /dev/null +++ b/dom/webidl/FetchController.webidl @@ -0,0 +1,15 @@ +/* -*- 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/. + */ + +[Constructor(), Exposed=(Window,Worker), + Func="FetchController::IsEnabled"] +interface FetchController { + readonly attribute FetchSignal signal; + + void abort(); + void follow(FetchSignal signal); + void unfollow(FetchSignal signal); +}; diff --git a/dom/webidl/FetchSignal.webidl b/dom/webidl/FetchSignal.webidl new file mode 100644 index 000000000..965355c20 --- /dev/null +++ b/dom/webidl/FetchSignal.webidl @@ -0,0 +1,13 @@ +/* -*- 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/. + */ + +[Exposed=(Window,Worker), + Func="FetchController::IsEnabled"] +interface FetchSignal : EventTarget { + readonly attribute boolean aborted; + + attribute EventHandler onabort; +}; diff --git a/dom/webidl/Request.webidl b/dom/webidl/Request.webidl index e29c084d0..00497456a 100644 --- a/dom/webidl/Request.webidl +++ b/dom/webidl/Request.webidl @@ -47,6 +47,9 @@ dictionary RequestInit { RequestCache cache; RequestRedirect redirect; DOMString integrity; + + [Func="FetchController::IsEnabled"] + FetchSignal signal; }; // Gecko currently does not ship RequestContext, so please don't use it in IDL diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build index 45bf92a97..e21cd7530 100644 --- a/dom/webidl/moz.build +++ b/dom/webidl/moz.build @@ -141,7 +141,9 @@ WEBIDL_FILES = [ 'ExtendableMessageEvent.webidl', 'FakePluginTagInit.webidl', 'Fetch.webidl', + 'FetchController.webidl', 'FetchEvent.webidl', + 'FetchSignal.webidl', 'File.webidl', 'FileList.webidl', 'FileMode.webidl', -- cgit v1.2.3