|
@@ -108,29 +108,6 @@ void AbortSignal::visit_edges(JS::Cell::Visitor& visitor)
|
|
|
visitor.visit(dependent_signal);
|
|
|
}
|
|
|
|
|
|
-// https://dom.spec.whatwg.org/#abortsignal-follow
|
|
|
-void AbortSignal::follow(JS::NonnullGCPtr<AbortSignal> parent_signal)
|
|
|
-{
|
|
|
- // A followingSignal (an AbortSignal) is made to follow a parentSignal (an AbortSignal) by running these steps:
|
|
|
-
|
|
|
- // 1. If followingSignal is aborted, then return.
|
|
|
- if (aborted())
|
|
|
- return;
|
|
|
-
|
|
|
- // 2. If parentSignal is aborted, then signal abort on followingSignal with parentSignal’s abort reason.
|
|
|
- if (parent_signal->aborted()) {
|
|
|
- signal_abort(parent_signal->reason());
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- // 3. Otherwise, add the following abort steps to parentSignal:
|
|
|
- // NOTE: `this` and `parent_signal` are protected by AbortSignal using JS::SafeFunction.
|
|
|
- parent_signal->add_abort_algorithm([this, parent_signal] {
|
|
|
- // 1. Signal abort on followingSignal with parentSignal’s abort reason.
|
|
|
- signal_abort(parent_signal->reason());
|
|
|
- });
|
|
|
-}
|
|
|
-
|
|
|
// https://dom.spec.whatwg.org/#dom-abortsignal-abort
|
|
|
WebIDL::ExceptionOr<JS::NonnullGCPtr<AbortSignal>> AbortSignal::abort(JS::VM& vm, JS::Value reason)
|
|
|
{
|