LibWeb: Stub out an "open" state on <select>
elements
The CSS Selectors-4 spec suggests that `:open` and `:closed` should apply to `<select>` elements, so let's add a way of storing and exposing that state. We don't yet actually generate any layout for `<select>` elements, so they will always report that they are closed.
This commit is contained in:
parent
b1632c58bf
commit
29bb0f0ae6
Notes:
sideshowbarker
2024-07-17 09:37:30 +09:00
Author: https://github.com/AtkinsSJ Commit: https://github.com/SerenityOS/serenity/commit/29bb0f0ae6 Pull-request: https://github.com/SerenityOS/serenity/pull/21059
2 changed files with 13 additions and 0 deletions
|
@ -175,4 +175,13 @@ Optional<ARIA::Role> HTMLSelectElement::default_role() const
|
|||
return ARIA::Role::combobox;
|
||||
}
|
||||
|
||||
void HTMLSelectElement::set_is_open(bool open)
|
||||
{
|
||||
if (open == m_is_open)
|
||||
return;
|
||||
|
||||
m_is_open = open;
|
||||
invalidate_style();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -33,6 +33,9 @@ public:
|
|||
int selected_index() const;
|
||||
void set_selected_index(int);
|
||||
|
||||
bool is_open() const { return m_is_open; }
|
||||
void set_is_open(bool);
|
||||
|
||||
Vector<JS::Handle<HTMLOptionElement>> list_of_options() const;
|
||||
|
||||
// ^EventTarget
|
||||
|
@ -72,6 +75,7 @@ private:
|
|||
virtual i32 default_tab_index_value() const override;
|
||||
|
||||
JS::GCPtr<HTMLOptionsCollection> m_options;
|
||||
bool m_is_open { false };
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue