mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-06-11 01:25:53 -04:00
add Element.style setter
This commit is contained in:
@@ -167,6 +167,18 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<script id=style>
|
||||
{
|
||||
const el = document.createElement('div');
|
||||
el.style = 'color:red';
|
||||
const s1 = el.style;
|
||||
testing.expectEqual('red', el.style.color);
|
||||
el.style = 'color:blue';
|
||||
testing.expectEqual('blue', el.style.color);
|
||||
testing.expectEqual(true, s1 === el.style);
|
||||
}
|
||||
</script>
|
||||
|
||||
<script id=click>
|
||||
{
|
||||
let clicked = 0;
|
||||
|
||||
@@ -883,6 +883,11 @@ fn getStyle(self: *Element, frame: *Frame) ?*CSSStyleProperties {
|
||||
return frame._element_styles.get(self);
|
||||
}
|
||||
|
||||
pub fn setStyle(self: *Element, value: []const u8, frame: *Frame) !void {
|
||||
const style = try self.getOrCreateStyle(frame);
|
||||
try style.asCSSStyleDeclaration().setCssText(value, frame);
|
||||
}
|
||||
|
||||
pub fn getClassList(self: *Element, frame: *Frame) !*collections.DOMTokenList {
|
||||
const gop = try frame._element_class_lists.getOrPut(frame.arena, self);
|
||||
if (!gop.found_existing) {
|
||||
@@ -1832,7 +1837,7 @@ pub const JsApi = struct {
|
||||
pub const className = bridge.accessor(Element.getClassName, Element.setClassName, .{ .ce_reactions = true });
|
||||
pub const classList = bridge.accessor(Element.getClassList, Element.setClassList, .{ .ce_reactions = true });
|
||||
pub const dataset = bridge.accessor(Element.getDataset, null, .{});
|
||||
pub const style = bridge.accessor(Element.getOrCreateStyle, null, .{});
|
||||
pub const style = bridge.accessor(Element.getOrCreateStyle, Element.setStyle, .{});
|
||||
pub const attributes = bridge.accessor(Element.getAttributeNamedNodeMap, null, .{});
|
||||
pub const hasAttribute = bridge.function(Element.hasAttribute, .{});
|
||||
pub const hasAttributes = bridge.function(Element.hasAttributes, .{});
|
||||
|
||||
Reference in New Issue
Block a user