1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:48:14 +00:00

LibWeb: Implement CSSRule.parentRule and .parentStyleSheet

Both of these are supposed to be set when the CSSRule is created. The
spec is silent on setting it when a CSSRule is added to a parent. So,
this is a bit ad-hoc.

The parent rule gets set whenever a rule is added to a new parent. The
parent stylesheet gets set whenever the rule or one of its ancestors is
added to a different stylesheet. There may be some nuance there that
I'm missing, but I'm sure we'll find out quickly once we have WPT
running!
This commit is contained in:
Sam Atkins 2022-04-22 19:56:22 +01:00 committed by Andreas Kling
parent 6e6607a92f
commit c718ba5947
7 changed files with 65 additions and 11 deletions

View file

@ -80,7 +80,9 @@ DOM::ExceptionOr<void> CSSRuleList::remove_a_css_rule(u32 index)
// 5. Remove rule old rule from list at the zero-indexed position index.
m_rules.remove(index);
// FIXME: 6. Set old rules parent CSS rule and parent CSS style sheet to null.
// 6. Set old rules parent CSS rule and parent CSS style sheet to null.
old_rule.set_parent_rule(nullptr);
old_rule.set_parent_style_sheet(nullptr);
return {};
}