LibWeb: Implement HTMLSelectElement.add()

HTMLSelectElement simply defers to its HTMLOptionsCollection.
This commit is contained in:
Timothy Flynn 2022-03-21 20:03:37 -04:00 committed by Andreas Kling
parent ff9856a214
commit 27eb70cbba
Notes: sideshowbarker 2024-07-17 16:57:54 +09:00
3 changed files with 11 additions and 0 deletions

View File

@ -34,6 +34,13 @@ RefPtr<HTMLOptionsCollection> const& HTMLSelectElement::options()
return m_options;
}
// https://html.spec.whatwg.org/multipage/form-elements.html#dom-select-add
DOM::ExceptionOr<void> HTMLSelectElement::add(HTMLOptionOrOptGroupElement element, Optional<HTMLElementOrElementIndex> before)
{
// Similarly, the add(element, before) method must act like its namesake method on that same options collection.
return const_cast<RefPtr<HTMLOptionsCollection>&>(options())->add(move(element), move(before));
}
// https://html.spec.whatwg.org/multipage/form-elements.html#concept-select-option-list
NonnullRefPtrVector<HTMLOptionElement> HTMLSelectElement::list_of_options() const
{

View File

@ -23,6 +23,8 @@ public:
RefPtr<HTMLOptionsCollection> const& options();
DOM::ExceptionOr<void> add(HTMLOptionOrOptGroupElement element, Optional<HTMLElementOrElementIndex> before = {});
int selected_index() const;
void set_selected_index(int);

View File

@ -8,6 +8,8 @@ interface HTMLSelectElement : HTMLElement {
[Reflect] attribute boolean required;
[SameObject] readonly attribute HTMLOptionsCollection options;
[CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
attribute long selectedIndex;
};