From 2aef4ab677612036cb1a37bf56a93f45ae847bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Arrufat?= Date: Thu, 12 Mar 2026 22:32:06 +0900 Subject: [PATCH] webapi.Element: optimize checkVisibility and refactor loops --- src/browser/webapi/Element.zig | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/browser/webapi/Element.zig b/src/browser/webapi/Element.zig index fe0406b9..0d41ee1f 100644 --- a/src/browser/webapi/Element.zig +++ b/src/browser/webapi/Element.zig @@ -1044,6 +1044,7 @@ pub fn parentElement(self: *Element) ?*Element { const CSSStyleRule = @import("css/CSSStyleRule.zig"); pub fn checkVisibility(self: *Element, page: *Page) bool { + const doc_sheets = page.document.getStyleSheets(page) catch null; var current: ?*Element = self; while (current) |el| { @@ -1055,14 +1056,11 @@ pub fn checkVisibility(self: *Element, page: *Page) bool { } // Also check if any global stylesheet hides this element - const doc_sheets = page.document.getStyleSheets(page) catch null; if (doc_sheets) |sheets| { - var i: usize = 0; - while (i < sheets.length()) : (i += 1) { + for (0..sheets.length()) |i| { const sheet = sheets.item(i) orelse continue; const rules = sheet.getCssRules(page) catch continue; - var j: usize = 0; - while (j < rules.length()) : (j += 1) { + for (0..rules.length()) |j| { const rule = rules.item(j) orelse continue; if (rule.is(CSSStyleRule)) |style_rule| { const selector = style_rule.getSelectorText();