LibWeb: Stub CSSCounterStyleRule

Just the interface. Adds 6 new WPT subtest passes.
This commit is contained in:
Jelle Raaijmakers 2025-07-18 10:53:55 +02:00 committed by Sam Atkins
commit 8dd259b8d8
Notes: github-actions[bot] 2025-07-18 10:52:47 +00:00
7 changed files with 70 additions and 1 deletions

View file

@ -91,6 +91,7 @@ set(SOURCES
CSS/CSS.cpp
CSS/CSSAnimation.cpp
CSS/CSSConditionRule.cpp
CSS/CSSCounterStyleRule.cpp
CSS/CSSDescriptors.cpp
CSS/CSSFontFaceDescriptors.cpp
CSS/CSSFontFaceRule.cpp

View file

@ -0,0 +1,24 @@
/*
* Copyright (c) 2025, Jelle Raaijmakers <jelle@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Bindings/CSSCounterStyleRulePrototype.h>
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/CSS/CSSCounterStyleRule.h>
namespace Web::CSS {
CSSCounterStyleRule::CSSCounterStyleRule(JS::Realm& realm, Type type)
: CSSRule(realm, type)
{
}
void CSSCounterStyleRule::initialize(JS::Realm& realm)
{
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSCounterStyleRule);
Base::initialize(realm);
}
}

View file

@ -0,0 +1,25 @@
/*
* Copyright (c) 2025, Jelle Raaijmakers <jelle@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWeb/CSS/CSSRule.h>
namespace Web::CSS {
class CSSCounterStyleRule : public CSSRule {
WEB_PLATFORM_OBJECT(CSSCounterStyleRule, CSSRule);
public:
virtual ~CSSCounterStyleRule() = default;
protected:
CSSCounterStyleRule(JS::Realm&, Type);
virtual void initialize(JS::Realm&) override;
};
}

View file

@ -0,0 +1,17 @@
#import <CSS/CSSRule.idl>
// https://drafts.csswg.org/css-counter-styles/#the-csscounterstylerule-interface
[Exposed=Window]
interface CSSCounterStyleRule : CSSRule {
[FIXME] attribute CSSOMString name;
[FIXME] attribute CSSOMString system;
[FIXME] attribute CSSOMString symbols;
[FIXME] attribute CSSOMString additiveSymbols;
[FIXME] attribute CSSOMString negative;
[FIXME] attribute CSSOMString prefix;
[FIXME] attribute CSSOMString suffix;
[FIXME] attribute CSSOMString range;
[FIXME] attribute CSSOMString pad;
[FIXME] attribute CSSOMString speakAs;
[FIXME] attribute CSSOMString fallback;
};

View file

@ -63,7 +63,7 @@ public:
virtual void clear_caches();
protected:
explicit CSSRule(JS::Realm&, Type);
CSSRule(JS::Realm&, Type);
virtual void visit_edges(Cell::Visitor&) override;

View file

@ -23,6 +23,7 @@ libweb_js_bindings(Crypto/SubtleCrypto)
libweb_js_bindings(CSS/AnimationEvent)
libweb_js_bindings(CSS/CSSAnimation)
libweb_js_bindings(CSS/CSSConditionRule)
libweb_js_bindings(CSS/CSSCounterStyleRule)
libweb_js_bindings(CSS/CSSFontFaceDescriptors)
libweb_js_bindings(CSS/CSSFontFaceRule)
libweb_js_bindings(CSS/CSSGroupingRule)

View file

@ -38,6 +38,7 @@ ByteLengthQueuingStrategy
CDATASection
CSSAnimation
CSSConditionRule
CSSCounterStyleRule
CSSFontFaceDescriptors
CSSFontFaceRule
CSSGroupingRule