From 3f94fd90dd2b883d7ebfd13a5a4d85d34ab9cf38 Mon Sep 17 00:00:00 2001 From: Halil Durak Date: Wed, 25 Feb 2026 16:10:00 +0300 Subject: [PATCH] dispatch a load event when `href` set for `Link` element Also add `lazy-href-set` test. --- src/browser/tests/element/html/link.html | 15 +++++++++++++++ src/browser/webapi/element/html/Link.zig | 7 ++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/browser/tests/element/html/link.html b/src/browser/tests/element/html/link.html index 6066403d..bed5e6ab 100644 --- a/src/browser/tests/element/html/link.html +++ b/src/browser/tests/element/html/link.html @@ -69,3 +69,18 @@ testing.eventually(() => testing.expectEqual(false, fired)); } + + diff --git a/src/browser/webapi/element/html/Link.zig b/src/browser/webapi/element/html/Link.zig index 7f6b48fc..ca2b0cbe 100644 --- a/src/browser/webapi/element/html/Link.zig +++ b/src/browser/webapi/element/html/Link.zig @@ -50,7 +50,12 @@ pub fn getHref(self: *Link, page: *Page) ![]const u8 { } pub fn setHref(self: *Link, value: []const u8, page: *Page) !void { - try self.asElement().setAttributeSafe(comptime .wrap("href"), .wrap(value), page); + const element = self.asElement(); + try element.setAttributeSafe(comptime .wrap("href"), .wrap(value), page); + + if (element.asNode().isConnected()) { + try page.linkAddedCallback(self); + } } pub fn getRel(self: *Link) []const u8 {