LibWeb: Add CSSGroupingRule wrapper

This commit is contained in:
Sam Atkins 2022-04-22 14:13:37 +01:00 committed by Andreas Kling
parent bc4c185aef
commit cfe5d63a1e
Notes: sideshowbarker 2024-07-17 11:05:55 +09:00
5 changed files with 13 additions and 3 deletions

View file

@ -17,6 +17,8 @@
#include <LibWeb/Bindings/AudioConstructor.h>
#include <LibWeb/Bindings/CSSFontFaceRuleConstructor.h>
#include <LibWeb/Bindings/CSSFontFaceRulePrototype.h>
#include <LibWeb/Bindings/CSSGroupingRuleConstructor.h>
#include <LibWeb/Bindings/CSSGroupingRulePrototype.h>
#include <LibWeb/Bindings/CSSRuleConstructor.h>
#include <LibWeb/Bindings/CSSRuleListConstructor.h>
#include <LibWeb/Bindings/CSSRuleListPrototype.h>
@ -358,6 +360,7 @@
ADD_WINDOW_OBJECT_INTERFACE(AbstractRange) \
ADD_WINDOW_OBJECT_INTERFACE(Crypto) \
ADD_WINDOW_OBJECT_INTERFACE(CSSFontFaceRule) \
ADD_WINDOW_OBJECT_INTERFACE(CSSGroupingRule) \
ADD_WINDOW_OBJECT_INTERFACE(CSSRule) \
ADD_WINDOW_OBJECT_INTERFACE(CSSRuleList) \
ADD_WINDOW_OBJECT_INTERFACE(CSSStyleDeclaration) \

View file

@ -452,6 +452,7 @@ endfunction()
libweb_js_wrapper(Crypto/Crypto)
libweb_js_wrapper(Crypto/SubtleCrypto)
libweb_js_wrapper(CSS/CSSFontFaceRule)
libweb_js_wrapper(CSS/CSSGroupingRule)
libweb_js_wrapper(CSS/CSSRule)
libweb_js_wrapper(CSS/CSSRuleList)
libweb_js_wrapper(CSS/CSSStyleDeclaration)

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org>
* Copyright (c) 2021-2022, Sam Atkins <atkinssj@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
@ -19,10 +19,13 @@ class CSSGroupingRule : public CSSRule {
AK_MAKE_NONMOVABLE(CSSGroupingRule);
public:
~CSSGroupingRule() = default;
using WrapperType = Bindings::CSSGroupingRuleWrapper;
virtual ~CSSGroupingRule() = default;
CSSRuleList const& css_rules() const { return m_rules; }
CSSRuleList& css_rules() { return m_rules; }
NonnullRefPtr<CSSRuleList> css_rules_for_bindings() { return m_rules; }
size_t insert_rule(StringView rule, size_t index = 0);
void delete_rule(size_t index);

View file

@ -1,8 +1,9 @@
#import <CSS/CSSRule.idl>
#import <CSS/CSSRuleList.idl>
[Exposed=Window]
interface CSSGroupingRule : CSSRule {
[SameObject] readonly attribute CSSRuleList cssRules;
[SameObject, ImplementedAs=css_rules_for_bindings] readonly attribute CSSRuleList cssRules;
unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0);
undefined deleteRule(unsigned long index);
};

View file

@ -35,6 +35,7 @@ class BorderStyleValue;
class CalculatedStyleValue;
class ColorStyleValue;
class ContentStyleValue;
class CSSGroupingRule;
class CSSImportRule;
class CSSFontFaceRule;
class CSSMediaRule;
@ -407,6 +408,7 @@ class CloseEventWrapper;
class CommentWrapper;
class CryptoWrapper;
class CSSFontFaceRuleWrapper;
class CSSGroupingRuleWrapper;
class CSSRuleListWrapper;
class CSSRuleWrapper;
class CSSStyleDeclarationWrapper;