diff --git a/src/browser/webapi/element/html/Image.zig b/src/browser/webapi/element/html/Image.zig
index 1e33b3c0..6277a613 100644
--- a/src/browser/webapi/element/html/Image.zig
+++ b/src/browser/webapi/element/html/Image.zig
@@ -50,7 +50,10 @@ pub fn getSrc(self: *const Image, page: *Page) ![]const u8 {
}
pub fn setSrc(self: *Image, value: []const u8, page: *Page) !void {
- try self.asElement().setAttributeSafe(comptime .wrap("src"), .wrap(value), page);
+ const element = self.asElement();
+ try element.setAttributeSafe(comptime .wrap("src"), .wrap(value), page);
+ // No need to check if `Image` is connected to DOM; this is a special case.
+ return page.imageAddedCallback(self);
}
pub fn getAlt(self: *const Image) []const u8 {
@@ -145,13 +148,7 @@ pub const JsApi = struct {
pub const Build = struct {
pub fn created(node: *Node, page: *Page) !void {
const self = node.as(Image);
- const image = self.asElement();
- // Exit if src not set.
- // TODO: We might want to check if src point to valid image.
- _ = image.getAttributeSafe(comptime .wrap("src")) orelse return;
-
- // Push to `_to_load` to dispatch load event just before window load event.
- return page._to_load.append(page.arena, self._proto);
+ return page.imageAddedCallback(self);
}
};