From c5f7e72ca8af4a60b8498661a1137ac42e644608 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Mon, 9 Feb 2026 18:34:53 +0800 Subject: [PATCH] Fix class name iterator Used to use std.ascii.whitespace, but per spec, it's only a subset of that which are valid separators. Other characters, line line tabulation, are valid class names. --- src/browser/webapi/Document.zig | 2 +- src/browser/webapi/Element.zig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browser/webapi/Document.zig b/src/browser/webapi/Document.zig index 30a65e41..761c1c6e 100644 --- a/src/browser/webapi/Document.zig +++ b/src/browser/webapi/Document.zig @@ -239,7 +239,7 @@ pub fn getElementsByClassName(self: *Document, class_name: []const u8, page: *Pa // Parse space-separated class names var class_names: std.ArrayList([]const u8) = .empty; - var it = std.mem.tokenizeAny(u8, class_name, &std.ascii.whitespace); + var it = std.mem.tokenizeAny(u8, class_name, "\t\n\x0C\r "); while (it.next()) |name| { try class_names.append(arena, try page.dupeString(name)); } diff --git a/src/browser/webapi/Element.zig b/src/browser/webapi/Element.zig index 2e2d4194..bca5f36d 100644 --- a/src/browser/webapi/Element.zig +++ b/src/browser/webapi/Element.zig @@ -1138,7 +1138,7 @@ pub fn getElementsByClassName(self: *Element, class_name: []const u8, page: *Pag // Parse space-separated class names var class_names: std.ArrayList([]const u8) = .empty; - var it = std.mem.tokenizeAny(u8, class_name, &std.ascii.whitespace); + var it = std.mem.tokenizeAny(u8, class_name, "\t\n\x0C\r "); while (it.next()) |name| { try class_names.append(arena, try page.dupeString(name)); }