From b3980dc2ee73079b12be5cd344b532ff2d08e3a1 Mon Sep 17 00:00:00 2001 From: Keith Yeung Date: Mon, 5 May 2025 19:38:40 +0800 Subject: [PATCH] script: Ensure `EventSource` field value is ignored if the null character exists in the field name (#36854) Spec has updated so that any null characters in the `id` field name would result in the value being ignored. Testing: Covered by `tests/wpt/tests/eventsource/format-field-id-null.window.js` Signed-off-by: Keith Yeung --- components/script/dom/eventsource.rs | 4 +++- .../format-field-id-null.window.js.ini | 15 --------------- 2 files changed, 3 insertions(+), 16 deletions(-) delete mode 100644 tests/wpt/meta/eventsource/format-field-id-null.window.js.ini diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs index 428eabc8ad8..434a2b84504 100644 --- a/components/script/dom/eventsource.rs +++ b/components/script/dom/eventsource.rs @@ -183,7 +183,9 @@ impl EventSourceContext { self.data.push_str(&self.value); self.data.push('\n'); }, - "id" => mem::swap(&mut self.last_event_id, &mut self.value), + "id" if !self.value.contains('\0') => { + mem::swap(&mut self.last_event_id, &mut self.value); + }, "retry" => { if let Ok(time) = u64::from_str(&self.value) { self.event_source diff --git a/tests/wpt/meta/eventsource/format-field-id-null.window.js.ini b/tests/wpt/meta/eventsource/format-field-id-null.window.js.ini deleted file mode 100644 index 30d62256c66..00000000000 --- a/tests/wpt/meta/eventsource/format-field-id-null.window.js.ini +++ /dev/null @@ -1,15 +0,0 @@ -[format-field-id-null.window.html] - [EventSource: id field set to %00%00] - expected: FAIL - - [EventSource: id field set to x%00] - expected: FAIL - - [EventSource: id field set to %00x] - expected: FAIL - - [EventSource: id field set to x%00x] - expected: FAIL - - [EventSource: id field set to %20%00] - expected: FAIL