From 206e34ac803bebbe1957c65a4d571194db8d3dfa Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Thu, 15 May 2025 13:09:16 +0800 Subject: [PATCH] Explicit error if an AddEventListenerOption flag is set that we dont' support --- src/browser/dom/event_target.zig | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/browser/dom/event_target.zig b/src/browser/dom/event_target.zig index 7a8d21b5..33f61395 100644 --- a/src/browser/dom/event_target.zig +++ b/src/browser/dom/event_target.zig @@ -65,7 +65,18 @@ pub const EventTarget = struct { if (opts_) |opts| { switch (opts) { .capture => |c| capture = c, - .opts => |o| capture = o.capture orelse false, + .opts => |o| { + // Done this way so that, for common cases that _only_ set + // capture, i.e. {captrue: true}, it works. + // But for any case that sets any of the other flags, we + // error. If we don't error, this function call would succeed + // but the behavior might be wrong. At this point, it's + // better to be explicit and error. + if (o.once orelse false) return error.NotImplemented; + if (o.signal orelse false) return error.NotImplemented; + if (o.passive orelse false) return error.NotImplemented; + capture = o.capture orelse false; + }, } }