diff options
author | 2022-03-13 06:08:10 -0700 | |
---|---|---|
committer | 2022-03-13 06:08:10 -0700 | |
commit | f4504292cfd1e11bc6b4879a8b184aa6b842c8cb (patch) | |
tree | 2e0bb0f4596e739b37f76512dbc641f6102d8bcd /src/javascript/jsc/javascript.zig | |
parent | 6d71749c703d0061885230438ce5e46838700c59 (diff) | |
download | bun-f4504292cfd1e11bc6b4879a8b184aa6b842c8cb.tar.gz bun-f4504292cfd1e11bc6b4879a8b184aa6b842c8cb.tar.zst bun-f4504292cfd1e11bc6b4879a8b184aa6b842c8cb.zip |
[bun.js] Implement `Blob`
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r-- | src/javascript/jsc/javascript.zig | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig index a0198ed65..60ba111de 100644 --- a/src/javascript/jsc/javascript.zig +++ b/src/javascript/jsc/javascript.zig @@ -102,6 +102,7 @@ pub const GlobalClasses = [_]type{ WebCore.TextDecoder.Constructor.Class, JSC.Cloudflare.HTMLRewriter.Class, + WebCore.Blob.Class, // The last item in this array becomes "process.env" Bun.EnvironmentVariables.Class, @@ -1951,16 +1952,19 @@ pub const VirtualMachine = struct { } } pub fn tick(this: *EventLoop) void { - this.tickConcurrent(); + while (true) { + this.tickConcurrent(); + while (this.tickWithCount() > 0) {} + this.tickConcurrent(); - while (this.tickWithCount() > 0) {} + if (this.tickWithCount() == 0) break; + } } pub fn waitForTasks(this: *EventLoop) void { - this.tickConcurrent(); - + this.tick(); while (this.pending_tasks_count.load(.Monotonic) > 0) { - while (this.tickWithCount() > 0) {} + this.tick(); } } @@ -3429,7 +3433,7 @@ pub const EventListenerMixin = struct { fetch_event.* = FetchEvent{ .request_context = request_context, - .request = Request{ .request_context = request_context }, + .request = try Request.fromRequestContext(request_context), .onPromiseRejectionCtx = @as(*anyopaque, ctx), .onPromiseRejectionHandler = FetchEventRejectionHandler.onRejection, }; |