Skip to content

Commit 3ec443c

Browse files
committed
Skip reaction scope for getters
1 parent ec2abf3 commit 3ec443c

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

src/browser/CustomElementReactions.zig

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,8 @@ pub fn popAndInvoke(self: *Self, checkpoint: usize, frame: *Frame) void {
8484
/// up by the same loop instead of scheduling a redundant microtask.
8585
pub fn drainBackup(self: *Self, frame: *Frame) void {
8686
var i: usize = 0;
87-
const backup_queue = self.backup_queue;
88-
while (i < backup_queue.items.len) : (i += 1) {
89-
Custom.fireReaction(backup_queue.items[i], frame);
87+
while (i < self.backup_queue.items.len) : (i += 1) {
88+
Custom.fireReaction(self.backup_queue.items[i], frame);
9089
}
9190
self.backup_queue.clearRetainingCapacity();
9291
self.backup_scheduled = false;

src/browser/js/bridge.zig

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,15 @@ pub const Accessor = struct {
230230
};
231231

232232
if (@typeInfo(@TypeOf(getter)) != .null) {
233+
const getter_opts = if (opts.ce_reactions == false) opts else blk: {
234+
var o = opts;
235+
o.ce_reactions = false;
236+
break :blk o;
237+
};
238+
233239
accessor.getter = struct {
234240
fn wrap(handle: ?*const v8.FunctionCallbackInfo) callconv(.c) void {
235-
Caller.Function.call(T, handle.?, getter, opts);
241+
Caller.Function.call(T, handle.?, getter, getter_opts);
236242
}
237243
}.wrap;
238244
}

0 commit comments

Comments
 (0)