mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 19:55:06 +00:00
LibWeb: Implement reset algorithm for HTMLSelectElement
This commit is contained in:
parent
de44e0faf5
commit
b55c9f36dc
2 changed files with 16 additions and 0 deletions
|
@ -90,6 +90,20 @@ Vector<JS::Handle<HTMLOptionElement>> HTMLSelectElement::list_of_options() const
|
|||
return list;
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/form-elements.html#the-select-element:concept-form-reset-control
|
||||
void HTMLSelectElement::reset_algorithm()
|
||||
{
|
||||
// The reset algorithm for select elements is to go through all the option elements in the element's list of options,
|
||||
for (auto const& option_element : list_of_options()) {
|
||||
// set their selectedness to true if the option element has a selected attribute, and false otherwise,
|
||||
option_element->m_selected = option_element->has_attribute(AttributeNames::selected);
|
||||
// set their dirtiness to false,
|
||||
option_element->m_dirty = false;
|
||||
// and then have the option elements ask for a reset.
|
||||
option_element->ask_for_a_reset();
|
||||
}
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/form-elements.html#dom-select-selectedindex
|
||||
int HTMLSelectElement::selected_index() const
|
||||
{
|
||||
|
|
|
@ -56,6 +56,8 @@ public:
|
|||
// https://html.spec.whatwg.org/multipage/forms.html#category-label
|
||||
virtual bool is_labelable() const override { return true; }
|
||||
|
||||
virtual void reset_algorithm() override;
|
||||
|
||||
DeprecatedString const& type() const;
|
||||
|
||||
private:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue