mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-06 16:09:30 +00:00
LibWeb: Implement HTMLStyleElement.disabled
(cherry picked from commit 1114bbf2f155aeaa8d6b368a4eb567469c5d4fe3)
This commit is contained in:
parent
33262421a2
commit
214797a69a
|
@ -1,6 +1,7 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
|
||||
* Copyright (c) 2021, the SerenityOS developers.
|
||||
* Copyright (c) 2024, Jamie Mansfield <jmansfield@cadixdev.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
@ -49,6 +50,33 @@ void HTMLStyleElement::removed_from(Node* old_parent)
|
|||
Base::removed_from(old_parent);
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/semantics.html#dom-style-disabled
|
||||
bool HTMLStyleElement::disabled()
|
||||
{
|
||||
// 1. If this does not have an associated CSS style sheet, return false.
|
||||
if (!sheet())
|
||||
return false;
|
||||
|
||||
// 2. If this's associated CSS style sheet's disabled flag is set, return true.
|
||||
if (sheet()->disabled())
|
||||
return true;
|
||||
|
||||
// 3. Return false.
|
||||
return false;
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/semantics.html#dom-style-disabled
|
||||
void HTMLStyleElement::set_disabled(bool disabled)
|
||||
{
|
||||
// 1. If this does not have an associated CSS style sheet, return.
|
||||
if (!sheet())
|
||||
return;
|
||||
|
||||
// 2. If the given value is true, set this's associated CSS style sheet's disabled flag.
|
||||
// Otherwise, unset this's associated CSS style sheet's disabled flag.
|
||||
sheet()->set_disabled(disabled);
|
||||
}
|
||||
|
||||
// https://www.w3.org/TR/cssom/#dom-linkstyle-sheet
|
||||
CSS::CSSStyleSheet* HTMLStyleElement::sheet()
|
||||
{
|
||||
|
|
|
@ -23,6 +23,9 @@ public:
|
|||
virtual void inserted() override;
|
||||
virtual void removed_from(Node*) override;
|
||||
|
||||
bool disabled();
|
||||
void set_disabled(bool disabled);
|
||||
|
||||
CSS::CSSStyleSheet* sheet();
|
||||
CSS::CSSStyleSheet const* sheet() const;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
interface HTMLStyleElement : HTMLElement {
|
||||
[HTMLConstructor] constructor();
|
||||
|
||||
[FIXME] attribute boolean disabled;
|
||||
attribute boolean disabled;
|
||||
[Reflect, CEReactions] attribute DOMString media;
|
||||
[FIXME, SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
|
||||
|
||||
|
|
Loading…
Reference in a new issue