ladybird/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.h
Aliaksandr Kalenik f932d5d825 LibWeb: Look for labeled control in DOM tree instead of layout tree
...because "change" event should be dispatched on control even if it
has "display: none" style.

This change fixes selection in labels dropdown on GitHub's "new issue"
page.
2024-03-23 12:46:37 +01:00

32 lines
738 B
C++

/*
* Copyright (c) 2020, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWeb/HTML/HTMLElement.h>
namespace Web::HTML {
class HTMLLabelElement final : public HTMLElement {
WEB_PLATFORM_OBJECT(HTMLLabelElement, HTMLElement);
JS_DECLARE_ALLOCATOR(HTMLLabelElement);
public:
virtual ~HTMLLabelElement() override;
virtual JS::GCPtr<Layout::Node> create_layout_node(NonnullRefPtr<CSS::StyleProperties>) override;
Optional<String> for_() const { return attribute(HTML::AttributeNames::for_); }
JS::GCPtr<HTMLElement> control() const;
private:
HTMLLabelElement(DOM::Document&, DOM::QualifiedName);
virtual void initialize(JS::Realm&) override;
};
}