mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-02-04 06:23:45 +00:00
Merge pull request #1384 from lightpanda-io/htmlscript-src-absolute
`HTMLScriptElement` should return an absolute URL in `src`
This commit is contained in:
12
src/browser/tests/element/html/script/script.html
Normal file
12
src/browser/tests/element/html/script/script.html
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<script src="../../../testing.js"></script>
|
||||||
|
|
||||||
|
<script id="script">
|
||||||
|
{
|
||||||
|
let s = document.createElement('script');
|
||||||
|
testing.expectEqual('', s.src);
|
||||||
|
|
||||||
|
s.src = '/over.9000.js';
|
||||||
|
testing.expectEqual('http://127.0.0.1:9582/over.9000.js', s.src);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -24,6 +24,7 @@ const Page = @import("../../../Page.zig");
|
|||||||
const Node = @import("../../Node.zig");
|
const Node = @import("../../Node.zig");
|
||||||
const Element = @import("../../Element.zig");
|
const Element = @import("../../Element.zig");
|
||||||
const HtmlElement = @import("../Html.zig");
|
const HtmlElement = @import("../Html.zig");
|
||||||
|
const URL = @import("../../URL.zig");
|
||||||
|
|
||||||
const Script = @This();
|
const Script = @This();
|
||||||
|
|
||||||
@@ -45,8 +46,9 @@ pub fn asNode(self: *Script) *Node {
|
|||||||
return self.asElement().asNode();
|
return self.asElement().asNode();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn getSrc(self: *const Script) []const u8 {
|
pub fn getSrc(self: *const Script, page: *Page) ![]const u8 {
|
||||||
return self._src;
|
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 {
|
pub fn setSrc(self: *Script, src: []const u8, page: *Page) !void {
|
||||||
|
|||||||
Reference in New Issue
Block a user