diff --git a/src/browser/tests/element/html/script/script.html b/src/browser/tests/element/html/script/script.html new file mode 100644 index 00000000..7db8b5fd --- /dev/null +++ b/src/browser/tests/element/html/script/script.html @@ -0,0 +1,12 @@ + + + + diff --git a/src/browser/webapi/element/html/Script.zig b/src/browser/webapi/element/html/Script.zig index 6b1d3823..4e845b0a 100644 --- a/src/browser/webapi/element/html/Script.zig +++ b/src/browser/webapi/element/html/Script.zig @@ -24,6 +24,7 @@ const Page = @import("../../../Page.zig"); const Node = @import("../../Node.zig"); const Element = @import("../../Element.zig"); const HtmlElement = @import("../Html.zig"); +const URL = @import("../../URL.zig"); const Script = @This(); @@ -45,8 +46,9 @@ pub fn asNode(self: *Script) *Node { return self.asElement().asNode(); } -pub fn getSrc(self: *const Script) []const u8 { - return self._src; +pub fn getSrc(self: *const Script, page: *Page) ![]const u8 { + if (self._src.len == 0) return ""; + return try URL.resolve(page.call_arena, page.base(), self._src, .{}); } pub fn setSrc(self: *Script, src: []const u8, page: *Page) !void {