1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 06:57:44 +00:00

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
5 changed files with 13 additions and 3 deletions

View file

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

View file

@ -452,6 +452,7 @@ endfunction()
libweb_js_wrapper(Crypto/Crypto) libweb_js_wrapper(Crypto/Crypto)
libweb_js_wrapper(Crypto/SubtleCrypto) libweb_js_wrapper(Crypto/SubtleCrypto)
libweb_js_wrapper(CSS/CSSFontFaceRule) libweb_js_wrapper(CSS/CSSFontFaceRule)
libweb_js_wrapper(CSS/CSSGroupingRule)
libweb_js_wrapper(CSS/CSSRule) libweb_js_wrapper(CSS/CSSRule)
libweb_js_wrapper(CSS/CSSRuleList) libweb_js_wrapper(CSS/CSSRuleList)
libweb_js_wrapper(CSS/CSSStyleDeclaration) 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 * SPDX-License-Identifier: BSD-2-Clause
*/ */
@ -19,10 +19,13 @@ class CSSGroupingRule : public CSSRule {
AK_MAKE_NONMOVABLE(CSSGroupingRule); AK_MAKE_NONMOVABLE(CSSGroupingRule);
public: public:
~CSSGroupingRule() = default; using WrapperType = Bindings::CSSGroupingRuleWrapper;
virtual ~CSSGroupingRule() = default;
CSSRuleList const& css_rules() const { return m_rules; } CSSRuleList const& css_rules() const { return m_rules; }
CSSRuleList& css_rules() { 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); size_t insert_rule(StringView rule, size_t index = 0);
void delete_rule(size_t index); void delete_rule(size_t index);

View file

@ -1,8 +1,9 @@
#import <CSS/CSSRule.idl> #import <CSS/CSSRule.idl>
#import <CSS/CSSRuleList.idl> #import <CSS/CSSRuleList.idl>
[Exposed=Window]
interface CSSGroupingRule : CSSRule { 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); unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0);
undefined deleteRule(unsigned long index); undefined deleteRule(unsigned long index);
}; };

View file

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