LibWeb: Add CSSConditionRule

https://www.w3.org/TR/css-conditional-3/#the-cssconditionrule-interface

This simply exposes a condition string, which is implemented differently
in each sub-class.
This commit is contained in:
Sam Atkins 2021-09-28 16:53:15 +01:00 committed by Andreas Kling
parent 06f9395056
commit 0b23a20ad5
Notes: sideshowbarker 2024-07-18 03:20:27 +09:00
4 changed files with 53 additions and 0 deletions

View file

@ -12,6 +12,7 @@ set(SOURCES
Bindings/ScriptExecutionContext.cpp
Bindings/WindowObject.cpp
Bindings/Wrappable.cpp
CSS/CSSConditionRule.cpp
CSS/CSSGroupingRule.cpp
CSS/CSSImportRule.cpp
CSS/CSSRule.cpp

View file

@ -0,0 +1,20 @@
/*
* Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/CSS/CSSConditionRule.h>
namespace Web::CSS {
CSSConditionRule::CSSConditionRule(NonnullRefPtrVector<CSSRule>&& rules)
: CSSGroupingRule(move(rules))
{
}
CSSConditionRule::~CSSConditionRule()
{
}
}

View file

@ -0,0 +1,29 @@
/*
* Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/NonnullRefPtr.h>
#include <LibWeb/CSS/CSSGroupingRule.h>
#include <LibWeb/Forward.h>
namespace Web::CSS {
class CSSConditionRule : public CSSGroupingRule {
AK_MAKE_NONCOPYABLE(CSSConditionRule);
AK_MAKE_NONMOVABLE(CSSConditionRule);
public:
~CSSConditionRule();
virtual String condition_text() const = 0;
virtual void set_condition_text(String) = 0;
protected:
explicit CSSConditionRule(NonnullRefPtrVector<CSSRule>&&);
};
}

View file

@ -0,0 +1,3 @@
interface CSSConditionRule : CSSGroupingRule {
attribute CSSOMString conditionText;
};