, m_isSelected(false)
{
setHasCustomStyleCallbacks();
- ScriptWrappable::init(this);
}
HTMLOptionElement::~HTMLOptionElement()
bool selectIsMenuList = select && select->usesMenuList();
int oldSelectedIndex = selectIsMenuList ? select->selectedIndex() : -1;
- // Handle the common special case where there's exactly 1 child node, and it's a text node.
- Node* child = firstChild();
- if (child && child->isTextNode() && !child->nextSibling())
- toText(child)->setData(text);
- else {
+ if (hasOneTextChild()) {
+ toText(firstChild())->setData(text);
+ } else {
removeChildren();
appendChild(Text::create(document(), text), exceptionState);
}
int optionIndex = 0;
- const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = selectElement->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement>>& items = selectElement->listItems();
size_t length = items.size();
for (size_t i = 0; i < length; ++i) {
if (!isHTMLOptionElement(*items[i]))
bool oldDisabled = m_disabled;
m_disabled = !value.isNull();
if (oldDisabled != m_disabled) {
- didAffectSelector(AffectedSelectorDisabled | AffectedSelectorEnabled);
+ pseudoStateChanged(CSSSelector::PseudoDisabled);
+ pseudoStateChanged(CSSSelector::PseudoEnabled);
if (renderer() && renderer()->style()->hasAppearance())
RenderTheme::theme().stateChanged(renderer(), EnabledControlState);
}
return;
m_isSelected = selected;
- didAffectSelector(AffectedSelectorChecked);
+ pseudoStateChanged(CSSSelector::PseudoChecked);
if (HTMLSelectElement* select = ownerSelectElement())
select->invalidateSelectedItems();
// FIXME: We ask our owner select to repaint regardless of which property changed.
if (HTMLSelectElement* select = ownerSelectElement()) {
if (RenderObject* renderer = select->renderer())
- renderer->paintInvalidationForWholeRenderer();
+ renderer->setShouldDoFullPaintInvalidation();
}
}
if (HTMLSelectElement* selectElement = ownerSelectElement())
return selectElement->formOwner();
- return 0;
+ return nullptr;
}
void HTMLOptionElement::didAddUserAgentShadowRoot(ShadowRoot& root)