mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-28 14:43:28 +00:00
Merge pull request #1081 from lightpanda-io/nikneym/link-rel
Some checks failed
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
Some checks failed
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
Add `rel` property to `HTMLLinkElement`
This commit is contained in:
@@ -757,13 +757,21 @@ pub const HTMLLinkElement = struct {
|
||||
pub const prototype = *HTMLElement;
|
||||
pub const subtype = .node;
|
||||
|
||||
pub fn get_rel(self: *parser.Link) ![]const u8 {
|
||||
return parser.linkGetRel(self);
|
||||
}
|
||||
|
||||
pub fn set_rel(self: *parser.Link, rel: []const u8) !void {
|
||||
return parser.linkSetRel(self, rel);
|
||||
}
|
||||
|
||||
pub fn get_href(self: *parser.Link) ![]const u8 {
|
||||
return try parser.linkGetHref(self);
|
||||
return parser.linkGetHref(self);
|
||||
}
|
||||
|
||||
pub fn set_href(self: *parser.Link, href: []const u8, page: *const Page) !void {
|
||||
const full = try urlStitch(page.call_arena, href, page.url.raw, .{});
|
||||
return try parser.linkSetHref(self, full);
|
||||
return parser.linkSetHref(self, full);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1934,6 +1934,19 @@ pub fn anchorSetRel(a: *Anchor, rel: []const u8) !void {
|
||||
|
||||
// HTMLLinkElement
|
||||
|
||||
pub fn linkGetRel(link: *Link) ![]const u8 {
|
||||
var res: ?*String = null;
|
||||
const err = c.dom_html_link_element_get_rel(link, &res);
|
||||
try DOMErr(err);
|
||||
if (res == null) return "";
|
||||
return strToData(res.?);
|
||||
}
|
||||
|
||||
pub fn linkSetRel(link: *Link, rel: []const u8) !void {
|
||||
const err = c.dom_html_link_element_set_rel(link, try strFromData(rel));
|
||||
return DOMErr(err);
|
||||
}
|
||||
|
||||
pub fn linkGetHref(link: *Link) ![]const u8 {
|
||||
var res: ?*String = null;
|
||||
const err = c.dom_html_link_element_get_href(link, &res);
|
||||
|
||||
@@ -280,3 +280,12 @@
|
||||
divElement.dir = "auto";
|
||||
testing.expectEqual("auto", divElement.dir);
|
||||
</script>
|
||||
|
||||
<script id=linkRel>
|
||||
const linkElement = document.createElement("link");
|
||||
// A newly created link element must have it's rel set to empty string.
|
||||
testing.expectEqual("", linkElement.rel);
|
||||
|
||||
linkElement.rel = "stylesheet";
|
||||
testing.expectEqual("stylesheet", linkElement.rel);
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user