mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-02-04 06:23:45 +00:00
accept js.Value for element.setAttribute
This commit is contained in:
@@ -248,7 +248,7 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id=legacy></a>
|
<a id=legacy></a>
|
||||||
<script id=legacy>
|
<script id=legacy>
|
||||||
{
|
{
|
||||||
let a = document.getElementById('legacy').attributes;
|
let a = document.getElementById('legacy').attributes;
|
||||||
@@ -266,3 +266,19 @@
|
|||||||
testing.expectEqual('abc123', a[0].value);
|
testing.expectEqual('abc123', a[0].value);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<div id="nsa"></div>
|
||||||
|
<script id=non-string-attr>
|
||||||
|
{
|
||||||
|
let nsa = document.getElementById('nsa');
|
||||||
|
|
||||||
|
nsa.setAttribute('int', 1);
|
||||||
|
testing.expectEqual('1', nsa.getAttribute('int'));
|
||||||
|
|
||||||
|
nsa.setAttribute('obj', {});
|
||||||
|
testing.expectEqual('[object Object]', nsa.getAttribute('obj'));
|
||||||
|
|
||||||
|
nsa.setAttribute('arr', []);
|
||||||
|
testing.expectEqual('', nsa.getAttribute('arr'));
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -1528,6 +1528,11 @@ pub const JsApi = struct {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub const setAttribute = bridge.function(_setAttribute, .{ .dom_exception = true });
|
||||||
|
fn _setAttribute(self: *Element, name: String, value: js.Value, page: *Page) !void {
|
||||||
|
return self.setAttribute(name, .wrap(try value.toString(.{ .allocator = page.call_arena })), page);
|
||||||
|
}
|
||||||
|
|
||||||
pub const localName = bridge.accessor(Element.getLocalName, null, .{});
|
pub const localName = bridge.accessor(Element.getLocalName, null, .{});
|
||||||
pub const id = bridge.accessor(Element.getId, Element.setId, .{});
|
pub const id = bridge.accessor(Element.getId, Element.setId, .{});
|
||||||
pub const slot = bridge.accessor(Element.getSlot, Element.setSlot, .{});
|
pub const slot = bridge.accessor(Element.getSlot, Element.setSlot, .{});
|
||||||
@@ -1542,7 +1547,6 @@ pub const JsApi = struct {
|
|||||||
pub const getAttribute = bridge.function(Element.getAttribute, .{});
|
pub const getAttribute = bridge.function(Element.getAttribute, .{});
|
||||||
pub const getAttributeNS = bridge.function(Element.getAttributeNS, .{});
|
pub const getAttributeNS = bridge.function(Element.getAttributeNS, .{});
|
||||||
pub const getAttributeNode = bridge.function(Element.getAttributeNode, .{});
|
pub const getAttributeNode = bridge.function(Element.getAttributeNode, .{});
|
||||||
pub const setAttribute = bridge.function(Element.setAttribute, .{ .dom_exception = true });
|
|
||||||
pub const setAttributeNS = bridge.function(Element.setAttributeNS, .{ .dom_exception = true });
|
pub const setAttributeNS = bridge.function(Element.setAttributeNS, .{ .dom_exception = true });
|
||||||
pub const setAttributeNode = bridge.function(Element.setAttributeNode, .{});
|
pub const setAttributeNode = bridge.function(Element.setAttributeNode, .{});
|
||||||
pub const removeAttribute = bridge.function(Element.removeAttribute, .{});
|
pub const removeAttribute = bridge.function(Element.removeAttribute, .{});
|
||||||
|
|||||||
Reference in New Issue
Block a user