/* * Copyright (C) 2019-2022 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "config.h" #include "JSDOMWrapper.h" #include "wtf/NeverDestroyed.h" #include "JSAbortSignal.h" namespace WebCore { bool JSAbortSignalOwner::isReachableFromOpaqueRoots(JSC::Handle handle, void*, JSC::AbstractSlotVisitor& visitor, const char** reason) { auto& abortSignal = JSC::jsCast(handle.slot()->asCell())->wrapped(); if (abortSignal.isFiringEventListeners()) { if (UNLIKELY(reason)) *reason = "EventTarget firing event listeners"; return true; } if (abortSignal.aborted()) return false; if (abortSignal.isFollowingSignal()) return true; if (abortSignal.hasAbortEventListener() && abortSignal.hasActiveTimeoutTimer()) return true; return visitor.containsOpaqueRoot(&abortSignal); } template void JSAbortSignal::visitAdditionalChildren(Visitor& visitor) { } DEFINE_VISIT_ADDITIONAL_CHILDREN(JSAbortSignal); } // namespace WebCore n> Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
2022-12-05`process.stdin` exists but doesn't totally work yetGravatar Jarred Sumner 3-31/+150
2022-12-05[Bun.stdin] Fix handling ttyGravatar Jarred Sumner 2-4/+18
2022-12-05[internal] Add some logs for string encodingGravatar Jarred Sumner 1-1/+11
2022-12-05Fix "is not event emitter" errrorGravatar Jarred Sumner 1-4/+5
2022-12-05more tests for event emitter weirdnessGravatar Jarred Sumner 1-0/+59
2022-12-05"Fix" monkey-patching EventEmitter prototypeGravatar Jarred Sumner 4-35/+73
2022-12-04Update test-test.test.tsGravatar Jarred Sumner 1-0/+8
2022-12-04[bun:test] Fix crash when `test("foo")` is called without passing a functionGravatar Jarred Sumner 1-6/+13
2022-12-04Clean up more casesGravatar Jarred Sumner 1-6/+6
2022-12-04Fix race condition in child_processGravatar Jarred Sumner 1-9/+17
2022-12-04Update ZigGeneratedClasses.cppGravatar Jarred Sumner 1-0/+16
2022-12-04Handle exception when creating stdout/stderrGravatar Jarred Sumner 1-3/+10
2022-12-04Update ffi.zigGravatar Jarred Sumner 1-6/+6
2022-12-04Update child_processGravatar Jarred Sumner 5-22/+23
2022-12-04[breaking] `onExit` callback in Bun.spawn sets the first property to be the S...Gravatar Jarred Sumner 2-5/+40
2022-12-04[Bun.spawn] Introduce `Subprocess.prototype.signalCode`Gravatar Jarred Sumner 2-39/+118
2022-12-04Fix console.log sometimes incorrectly reporting undefinedGravatar Jarred Sumner 1-4/+4
2022-12-04[test] Ensure console.log(globalThis) doesn't crashGravatar Jarred Sumner 1-0/+1
2022-12-04Rename fileGravatar Jarred Sumner 1-0/+0
2022-12-04[internal] Make string comparisons fasterGravatar Jarred Sumner 25-256/+150
2022-12-04Fix running zig testsGravatar Jarred Sumner 1-1/+1
2022-12-04Mildly faster startup timeGravatar Jarred Sumner 11-52/+63
2022-12-04:scissors:Gravatar Jarred Sumner 3-3/+3
2022-12-04Add some basic tests for process.stdoutGravatar Jarred Sumner 9-58/+124
2022-12-04Re-add missing globalGravatar Jarred Sumner 1-0/+1
2022-12-04Silence incorrect test failureGravatar Jarred Sumner 1-0/+1
2022-12-04content-range is inclusiveGravatar Jarred Sumner 1-1/+1
2022-12-04Update README.mdGravatar Jarred Sumner 1-6/+33
2022-12-04[Bun.serve] Implement `Content-Range` support with `Bun.file()`Gravatar Jarred Sumner 5-16/+286
2022-12-04[may revert later] Coerce Infinity to max int 64, -Infinity & NaN to min int64Gravatar Jarred Sumner 1-2/+22
2022-12-03Update .gitignoreGravatar Jarred Sumner 1-0/+1
2022-12-03[test] Add a couple tests for subarray toEqualGravatar Jarred Sumner 1-0/+3
2022-12-03[fetch] Fix bug where .arrayBuffer() on an empty Response body returned a `Ui...Gravatar Jarred Sumner 1-1/+1
2022-12-03Don't invalidate previous file descriptro to avoid tripping assertionGravatar Jarred Sumner 1-5/+0
2022-12-03miscGravatar Jarred Sumner 3-1/+31
2022-12-03Add missing typeGravatar Jarred Sumner 1-0/+5
2022-12-03`process.stdout` and `process.stderr`Gravatar Jarred Sumner 15-564/+1537
2022-12-03simdutf ascii validation is about 20% faster on arm64 than our zig simd @Vect...Gravatar Jarred Sumner 1-0/+3
2022-12-03typo in readme (#1576)Gravatar Reed Jones 1-2/+2