diff options
author | Moonchild <moonchild@palemoon.org> | 2020-07-27 00:16:27 +0200 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-07-27 00:16:27 +0200 |
commit | 1977b8de3e4d0a2af9d34fa90b5584e439155fcb (patch) | |
tree | edfb684fae8fefeed0bd68e43ab1e199744e7ab4 /dom/fetch/FetchConsumer.cpp | |
parent | 1e0bb1d355ffd55311f9544b35cff2a58b0340a8 (diff) | |
parent | 62640d775aac66d3aa6abdda0a6d69d97e7eca37 (diff) | |
download | UXP-1977b8de3e4d0a2af9d34fa90b5584e439155fcb.tar UXP-1977b8de3e4d0a2af9d34fa90b5584e439155fcb.tar.gz UXP-1977b8de3e4d0a2af9d34fa90b5584e439155fcb.tar.lz UXP-1977b8de3e4d0a2af9d34fa90b5584e439155fcb.tar.xz UXP-1977b8de3e4d0a2af9d34fa90b5584e439155fcb.zip |
Merge branch 'abortcontroller-work'
Diffstat (limited to 'dom/fetch/FetchConsumer.cpp')
-rw-r--r-- | dom/fetch/FetchConsumer.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/dom/fetch/FetchConsumer.cpp b/dom/fetch/FetchConsumer.cpp index e82e5ec51..d2d07eaa2 100644 --- a/dom/fetch/FetchConsumer.cpp +++ b/dom/fetch/FetchConsumer.cpp @@ -284,6 +284,7 @@ template <class Derived> /* static */ already_AddRefed<Promise> FetchBodyConsumer<Derived>::Create(nsIGlobalObject* aGlobal, FetchBody<Derived>* aBody, + AbortSignal* aSignal, FetchConsumeType aType, ErrorResult& aRv) { @@ -345,6 +346,10 @@ FetchBodyConsumer<Derived>::Create(nsIGlobalObject* aGlobal, return nullptr; } + if (aSignal) { + consumer->Follow(aSignal); + } + return promise.forget(); } @@ -368,6 +373,8 @@ FetchBodyConsumer<Derived>::ReleaseObject() #ifdef DEBUG mBody = nullptr; #endif + + Unfollow(); } template <class Derived> @@ -684,6 +691,14 @@ FetchBodyConsumer<Derived>::Observe(nsISupports* aSubject, return NS_OK; } +template <class Derived> +void +FetchBodyConsumer<Derived>::Aborted() +{ + AssertIsOnTargetThread(); + ContinueConsumeBody(NS_ERROR_DOM_ABORT_ERR, 0, nullptr); +} + template <class Derived> NS_IMPL_ADDREF(FetchBodyConsumer<Derived>) |