mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 19:45:07 +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;
|
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
|
// https://html.spec.whatwg.org/multipage/form-elements.html#dom-select-selectedindex
|
||||||
int HTMLSelectElement::selected_index() const
|
int HTMLSelectElement::selected_index() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -56,6 +56,8 @@ public:
|
||||||
// https://html.spec.whatwg.org/multipage/forms.html#category-label
|
// https://html.spec.whatwg.org/multipage/forms.html#category-label
|
||||||
virtual bool is_labelable() const override { return true; }
|
virtual bool is_labelable() const override { return true; }
|
||||||
|
|
||||||
|
virtual void reset_algorithm() override;
|
||||||
|
|
||||||
DeprecatedString const& type() const;
|
DeprecatedString const& type() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue