diff options
Diffstat (limited to 'WebCore/wml/WMLOptionElement.cpp')
-rw-r--r-- | WebCore/wml/WMLOptionElement.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/WebCore/wml/WMLOptionElement.cpp b/WebCore/wml/WMLOptionElement.cpp index 1087134..764d3a1 100644 --- a/WebCore/wml/WMLOptionElement.cpp +++ b/WebCore/wml/WMLOptionElement.cpp @@ -125,7 +125,15 @@ bool WMLOptionElement::selected() const void WMLOptionElement::setSelectedState(bool selected) { + if (this->selected() == selected) + return; + OptionElement::setSelectedState(m_data, this, selected); + + if (WMLSelectElement* select = ownerSelectElement(this)) { + if (select->multiple() || selected) + handleIntrinsicEventIfNeeded(); + } } String WMLOptionElement::value() const @@ -135,7 +143,7 @@ String WMLOptionElement::value() const String WMLOptionElement::text() const { - return OptionElement::collectOptionText(m_data, this); + return OptionElement::collectOptionLabelOrText(m_data, this); } String WMLOptionElement::textIndentedToRespectGroupLabel() const |