Changeset 152208 in webkit


Ignore:
Timestamp:
Jun 29, 2013 1:18:46 AM (11 years ago)
Author:
kangil.han@samsung.com
Message:

Adopt is/toHTMLOptionElement for code cleanup
https://bugs.webkit.org/show_bug.cgi?id=118212

Reviewed by Andreas Kling.

To enhance readability, this patch adopts is/toHTMLOptionElement.
This also helps out to reduce duplicated use of static_cast.

Source/WebCore:

  • accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::isSelected):
(WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
(WebCore::AccessibilityListBoxOption::stringValue):
(WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::setElement):
(WebCore::AccessibilityMenuListOption::isEnabled):
(WebCore::AccessibilityMenuListOption::isSelected):
(WebCore::AccessibilityMenuListOption::setSelected):
(WebCore::AccessibilityMenuListOption::stringValue):

  • accessibility/AccessibilityMenuListPopup.cpp:

(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::accessibilityHitTest):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement):

  • html/HTMLCollection.cpp:

(WebCore::isMatchingElement):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::index):

  • html/HTMLOptionElement.h:

(WebCore::isHTMLOptionElement):
(WebCore::toHTMLOptionElement):

  • html/HTMLOptionsCollection.cpp:

(WebCore::HTMLOptionsCollection::add):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
(WebCore::HTMLSelectElement::value):
(WebCore::HTMLSelectElement::setValue):
(WebCore::HTMLSelectElement::childShouldCreateRenderer):
(WebCore::HTMLSelectElement::nextValidIndex):
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::optionToListIndex):
(WebCore::HTMLSelectElement::listToOptionIndex):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::saveFormControlState):
(WebCore::HTMLSelectElement::searchOptionsForValue):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateSelectedState):
(WebCore::HTMLSelectElement::lastSelectedListIndex):
(WebCore::HTMLSelectElement::optionAtIndex):
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
(WebCore::HTMLSelectElement::length):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::hasImpliedEndTag):

  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLNames::isSelectScopeMarker):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::updateOptionsWidth):
(WebCore::RenderMenuList::setTextFromOption):
(WebCore::RenderMenuList::itemText):
(WebCore::RenderMenuList::itemIsEnabled):
(WebCore::RenderMenuList::itemIsSelected):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSliderTicks):

Source/WebKit/blackberry:

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::willOpenPopupForNode):
(BlackBerry::WebKit::InputHandler::didNodeOpenPopup):
(BlackBerry::WebKit::InputHandler::openSelectPopup):
(BlackBerry::WebKit::InputHandler::setPopupListIndexes):

  • WebKitSupport/SelectPopupClient.cpp:

(BlackBerry::WebKit::SelectPopupClient::setValueAndClosePopup):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::createInstance):

  • DOMHTMLClasses.cpp:

(DOMHTMLOptionElement::text):
(DOMHTMLOptionElement::label):

Location:
trunk/Source
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r152207 r152208  
     12013-06-29  Kangil Han  <kangil.han@samsung.com>
     2
     3        Adopt is/toHTMLOptionElement for code cleanup
     4        https://bugs.webkit.org/show_bug.cgi?id=118212
     5
     6        Reviewed by Andreas Kling.
     7
     8        To enhance readability, this patch adopts is/toHTMLOptionElement.
     9        This also helps out to reduce duplicated use of static_cast.
     10
     11        * accessibility/AccessibilityListBoxOption.cpp:
     12        (WebCore::AccessibilityListBoxOption::isSelected):
     13        (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
     14        (WebCore::AccessibilityListBoxOption::stringValue):
     15        (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
     16        * accessibility/AccessibilityMenuListOption.cpp:
     17        (WebCore::AccessibilityMenuListOption::setElement):
     18        (WebCore::AccessibilityMenuListOption::isEnabled):
     19        (WebCore::AccessibilityMenuListOption::isSelected):
     20        (WebCore::AccessibilityMenuListOption::setSelected):
     21        (WebCore::AccessibilityMenuListOption::stringValue):
     22        * accessibility/AccessibilityMenuListPopup.cpp:
     23        (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
     24        * accessibility/AccessibilityRenderObject.cpp:
     25        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
     26        * css/SelectorChecker.cpp:
     27        (WebCore::SelectorChecker::checkOne):
     28        * css/StyleResolver.cpp:
     29        (WebCore::StyleResolver::canShareStyleWithElement):
     30        * html/HTMLCollection.cpp:
     31        (WebCore::isMatchingElement):
     32        * html/HTMLOptionElement.cpp:
     33        (WebCore::HTMLOptionElement::index):
     34        * html/HTMLOptionElement.h:
     35        (WebCore::isHTMLOptionElement):
     36        (WebCore::toHTMLOptionElement):
     37        * html/HTMLOptionsCollection.cpp:
     38        (WebCore::HTMLOptionsCollection::add):
     39        * html/HTMLSelectElement.cpp:
     40        (WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
     41        (WebCore::HTMLSelectElement::value):
     42        (WebCore::HTMLSelectElement::setValue):
     43        (WebCore::HTMLSelectElement::childShouldCreateRenderer):
     44        (WebCore::HTMLSelectElement::nextValidIndex):
     45        (WebCore::HTMLSelectElement::saveLastSelection):
     46        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
     47        (WebCore::HTMLSelectElement::updateListBoxSelection):
     48        (WebCore::HTMLSelectElement::listBoxOnChange):
     49        (WebCore::HTMLSelectElement::recalcListItems):
     50        (WebCore::HTMLSelectElement::selectedIndex):
     51        (WebCore::HTMLSelectElement::selectOption):
     52        (WebCore::HTMLSelectElement::optionToListIndex):
     53        (WebCore::HTMLSelectElement::listToOptionIndex):
     54        (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
     55        (WebCore::HTMLSelectElement::saveFormControlState):
     56        (WebCore::HTMLSelectElement::searchOptionsForValue):
     57        (WebCore::HTMLSelectElement::restoreFormControlState):
     58        (WebCore::HTMLSelectElement::appendFormData):
     59        (WebCore::HTMLSelectElement::reset):
     60        (WebCore::HTMLSelectElement::updateSelectedState):
     61        (WebCore::HTMLSelectElement::lastSelectedListIndex):
     62        (WebCore::HTMLSelectElement::optionAtIndex):
     63        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
     64        (WebCore::HTMLSelectElement::length):
     65        * html/parser/HTMLConstructionSite.cpp:
     66        (WebCore::hasImpliedEndTag):
     67        * html/parser/HTMLElementStack.cpp:
     68        (WebCore::HTMLNames::isSelectScopeMarker):
     69        * html/parser/HTMLTreeBuilder.cpp:
     70        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
     71        (WebCore::HTMLTreeBuilder::processStartTag):
     72        (WebCore::HTMLTreeBuilder::processEndTag):
     73        * rendering/RenderListBox.cpp:
     74        (WebCore::RenderListBox::updateFromElement):
     75        (WebCore::RenderListBox::addFocusRingRects):
     76        (WebCore::RenderListBox::paintItemForeground):
     77        (WebCore::RenderListBox::paintItemBackground):
     78        * rendering/RenderMenuList.cpp:
     79        (WebCore::RenderMenuList::updateOptionsWidth):
     80        (WebCore::RenderMenuList::setTextFromOption):
     81        (WebCore::RenderMenuList::itemText):
     82        (WebCore::RenderMenuList::itemIsEnabled):
     83        (WebCore::RenderMenuList::itemIsSelected):
     84        * rendering/RenderTheme.cpp:
     85        (WebCore::RenderTheme::paintSliderTicks):
     86
    1872013-06-29  Carlos Garcia Campos  <cgarcia@igalia.com>
    288
  • trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp

    r147135 r152208  
    8484        return false;
    8585
    86     if (!m_optionElement->hasTagName(optionTag))
    87         return false;
    88    
    89     return static_cast<HTMLOptionElement*>(m_optionElement)->selected();
     86    if (!isHTMLOptionElement(m_optionElement))
     87        return false;
     88
     89    return toHTMLOptionElement(m_optionElement)->selected();
    9090}
    9191
     
    137137        return false;
    138138   
    139     if (!m_optionElement->hasTagName(optionTag))
     139    if (!isHTMLOptionElement(m_optionElement))
    140140        return false;
    141141   
     
    159159        return ariaLabel;
    160160   
    161     if (m_optionElement->hasTagName(optionTag))
    162         return static_cast<HTMLOptionElement*>(m_optionElement)->text();
     161    if (isHTMLOptionElement(m_optionElement))
     162        return toHTMLOptionElement(m_optionElement)->text();
    163163   
    164164    if (m_optionElement->hasTagName(optgroupTag))
     
    204204    if (!m_optionElement)
    205205        return 0;
    206    
    207     if (m_optionElement->hasTagName(optionTag))
    208         return static_cast<HTMLOptionElement*>(m_optionElement)->ownerSelectElement();
    209    
     206
     207    if (isHTMLOptionElement(m_optionElement))
     208        return toHTMLOptionElement(m_optionElement)->ownerSelectElement();
     209
    210210    if (m_optionElement->hasTagName(optgroupTag))
    211211        return static_cast<HTMLOptGroupElement*>(m_optionElement)->ownerSelectElement();
    212    
     212
    213213    return 0;
    214214}
  • trunk/Source/WebCore/accessibility/AccessibilityMenuListOption.cpp

    r147135 r152208  
    4242void AccessibilityMenuListOption::setElement(HTMLElement* element)
    4343{
    44     ASSERT_ARG(element, element->hasTagName(optionTag));
     44    ASSERT_ARG(element, isHTMLOptionElement(element));
    4545    m_element = element;
    4646}
     
    5555    // isDisabledFormControl() returns true if the parent <select> element is disabled,
    5656    // which we don't want.
    57     return !static_cast<HTMLOptionElement*>(m_element.get())->ownElementDisabled();
     57    return !toHTMLOptionElement(m_element.get())->ownElementDisabled();
    5858}
    5959
     
    7676bool AccessibilityMenuListOption::isSelected() const
    7777{
    78     return static_cast<HTMLOptionElement*>(m_element.get())->selected();
     78    return toHTMLOptionElement(m_element.get())->selected();
    7979}
    8080
     
    8484        return;
    8585
    86     static_cast<HTMLOptionElement*>(m_element.get())->setSelected(b);
     86    toHTMLOptionElement(m_element.get())->setSelected(b);
    8787}
    8888
     
    115115String AccessibilityMenuListOption::stringValue() const
    116116{
    117     return static_cast<HTMLOptionElement*>(m_element.get())->text();
     117    return toHTMLOptionElement(m_element.get())->text();
    118118}
    119119
  • trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp

    r145988 r152208  
    3131#include "AccessibilityMenuListOption.h"
    3232#include "HTMLNames.h"
     33#include "HTMLOptionElement.h"
    3334#include "HTMLSelectElement.h"
    3435#include "RenderMenuList.h"
     
    7071AccessibilityMenuListOption* AccessibilityMenuListPopup::menuListOptionAccessibilityObject(HTMLElement* element) const
    7172{
    72     if (!element || !element->hasTagName(optionTag))
     73    if (!element || !isHTMLOptionElement(element))
    7374        return 0;
    7475
  • trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp

    r152203 r152208  
    22092209        return accessibilityImageMapHitTest(toHTMLAreaElement(node), point);
    22102210   
    2211     if (node->hasTagName(optionTag))
    2212         node = static_cast<HTMLOptionElement*>(node)->ownerSelectElement();
     2211    if (isHTMLOptionElement(node))
     2212        node = toHTMLOptionElement(node)->ownerSelectElement();
    22132213   
    22142214    RenderObject* obj = node->renderer();
  • trunk/Source/WebCore/css/SelectorChecker.cpp

    r152001 r152208  
    657657            break;
    658658        case CSSSelector::PseudoEnabled:
    659             if (element->isFormControlElement() || element->hasTagName(optionTag) || element->hasTagName(optgroupTag))
     659            if (element->isFormControlElement() || isHTMLOptionElement(element) || element->hasTagName(optgroupTag))
    660660                return !element->isDisabledFormControl();
    661661            break;
     
    666666            return element->isDefaultButtonForForm();
    667667        case CSSSelector::PseudoDisabled:
    668             if (element->isFormControlElement() || element->hasTagName(optionTag) || element->hasTagName(optgroupTag))
     668            if (element->isFormControlElement() || isHTMLOptionElement(element) || element->hasTagName(optgroupTag))
    669669                return element->isDisabledFormControl();
    670670            break;
     
    691691                if (inputElement && inputElement->shouldAppearChecked() && !inputElement->shouldAppearIndeterminate())
    692692                    return true;
    693                 if (element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected())
     693                if (isHTMLOptionElement(element) && toHTMLOptionElement(element)->selected())
    694694                    return true;
    695695                break;
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r152149 r152208  
    660660    // Before doing so, we need to resolve issues in HTMLSelectElement::recalcListItems
    661661    // and RenderMenuList::setText. See also https://bugs.webkit.org/show_bug.cgi?id=88405
    662     if (element->hasTagName(optionTag) || element->hasTagName(optgroupTag))
     662    if (isHTMLOptionElement(element) || element->hasTagName(optgroupTag))
    663663        return false;
    664664
  • trunk/Source/WebCore/html/HTMLCollection.cpp

    r151947 r152208  
    226226    case DataListOptions:
    227227        if (element->hasLocalName(optionTag)) {
    228             HTMLOptionElement* option = static_cast<HTMLOptionElement*>(element);
     228            HTMLOptionElement* option = toHTMLOptionElement(element);
    229229            if (!option->isDisabledFormControl() && !option->value().isEmpty())
    230230                return true;
  • trunk/Source/WebCore/html/HTMLOptionElement.cpp

    r151947 r152208  
    176176    size_t length = items.size();
    177177    for (size_t i = 0; i < length; ++i) {
    178         if (!items[i]->hasTagName(optionTag))
     178        if (!isHTMLOptionElement(items[i]))
    179179            continue;
    180180        if (items[i] == this)
     
    384384}
    385385
    386 #ifndef NDEBUG
    387 
    388 HTMLOptionElement* toHTMLOptionElement(Node* node)
    389 {
    390     ASSERT_WITH_SECURITY_IMPLICATION(!node || node->hasTagName(optionTag));
    391     return static_cast<HTMLOptionElement*>(node);
    392 }
    393 
    394 const HTMLOptionElement* toHTMLOptionElement(const Node* node)
    395 {
    396     ASSERT_WITH_SECURITY_IMPLICATION(!node || node->hasTagName(optionTag));
    397     return static_cast<const HTMLOptionElement*>(node);
    398 }
    399 
    400 #endif
    401 
    402386} // namespace
  • trunk/Source/WebCore/html/HTMLOptionElement.h

    r151717 r152208  
    9696};
    9797
    98 HTMLOptionElement* toHTMLOptionElement(Node*);
    99 const HTMLOptionElement* toHTMLOptionElement(const Node*);
    100 void toHTMLOptionElement(const HTMLOptionElement*); // This overload will catch anyone doing an unnecessary cast.
    101 
    102 #ifdef NDEBUG
    103 
    104 // The debug versions of these, with assertions, are not inlined.
     98inline bool isHTMLOptionElement(Node* node)
     99{
     100    return node->hasTagName(HTMLNames::optionTag);
     101}
    105102
    106103inline HTMLOptionElement* toHTMLOptionElement(Node* node)
    107104{
     105    ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLOptionElement(node));
    108106    return static_cast<HTMLOptionElement*>(node);
    109107}
    110 
    111 inline const HTMLOptionElement* toHTMLOptionElement(const Node* node)
    112 {
    113     return static_cast<const HTMLOptionElement*>(node);
    114 }
    115 
    116 #endif
    117108
    118109} // namespace
  • trunk/Source/WebCore/html/HTMLOptionsCollection.cpp

    r142247 r152208  
    6464        select->add(newOption, 0, ec);
    6565    else
    66         select->add(newOption, static_cast<HTMLOptionElement*>(item(index)), ec);
     66        select->add(newOption, toHTMLOptionElement(item(index)), ec);
    6767
    6868    ASSERT(!ec);
  • trunk/Source/WebCore/html/HTMLSelectElement.cpp

    r151947 r152208  
    144144    if (listIndex < 0)
    145145        return false;
    146     HTMLOptionElement* option = static_cast<HTMLOptionElement*>(listItems()[listIndex]);
     146    HTMLOptionElement* option = toHTMLOptionElement(listItems()[listIndex]);
    147147    return !listIndex && option->value().isEmpty();
    148148}
     
    242242    const Vector<HTMLElement*>& items = listItems();
    243243    for (unsigned i = 0; i < items.size(); i++) {
    244         if (items[i]->hasLocalName(optionTag) && static_cast<HTMLOptionElement*>(items[i])->selected())
    245             return static_cast<HTMLOptionElement*>(items[i])->value();
     244        if (items[i]->hasLocalName(optionTag)) {
     245            HTMLOptionElement* option = toHTMLOptionElement(items[i]);
     246            if (option->selected())
     247                return option->value();
     248        }
    246249    }
    247250    return "";
     
    261264    for (unsigned i = 0; i < items.size(); i++) {
    262265        if (items[i]->hasLocalName(optionTag)) {
    263             if (static_cast<HTMLOptionElement*>(items[i])->value() == value) {
     266            if (toHTMLOptionElement(items[i])->value() == value) {
    264267                setSelectedIndex(optionIndex);
    265268                return;
     
    348351        return false;
    349352    if (!usesMenuList())
    350         return childContext.node()->hasTagName(HTMLNames::optionTag) || childContext.node()->hasTagName(HTMLNames::optgroupTag) || validationMessageShadowTreeContains(childContext.node());
     353        return isHTMLOptionElement(childContext.node()) || childContext.node()->hasTagName(HTMLNames::optgroupTag) || validationMessageShadowTreeContains(childContext.node());
    351354    return validationMessageShadowTreeContains(childContext.node());
    352355}
     
    499502    for (listIndex += direction; listIndex >= 0 && listIndex < size; listIndex += direction) {
    500503        --skip;
    501         if (!listItems[listIndex]->isDisabledFormControl() && listItems[listIndex]->hasTagName(optionTag)) {
     504        if (!listItems[listIndex]->isDisabledFormControl() && isHTMLOptionElement(listItems[listIndex])) {
    502505            lastGoodIndex = listIndex;
    503506            if (skip <= 0)
     
    581584    for (unsigned i = 0; i < items.size(); ++i) {
    582585        HTMLElement* element = items[i];
    583         m_lastOnChangeSelection.append(element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected());
     586        m_lastOnChangeSelection.append(isHTMLOptionElement(element) && toHTMLOptionElement(element)->selected());
    584587    }
    585588}
     
    596599    for (unsigned i = 0; i < items.size(); ++i) {
    597600        HTMLElement* element = items[i];
    598         m_cachedStateForActiveSelection.append(element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected());
     601        m_cachedStateForActiveSelection.append(isHTMLOptionElement(element) && toHTMLOptionElement(element)->selected());
    599602    }
    600603}
     
    616619    for (unsigned i = 0; i < items.size(); ++i) {
    617620        HTMLElement* element = items[i];
    618         if (!element->hasTagName(optionTag) || toHTMLOptionElement(element)->isDisabledFormControl())
     621        if (!isHTMLOptionElement(element) || toHTMLOptionElement(element)->isDisabledFormControl())
    619622            continue;
    620623
     
    649652    for (unsigned i = 0; i < items.size(); ++i) {
    650653        HTMLElement* element = items[i];
    651         bool selected = element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected();
     654        bool selected = isHTMLOptionElement(element) && toHTMLOptionElement(element)->selected();
    652655        if (selected != m_lastOnChangeSelection[i])
    653656            fireOnChange = true;
     
    757760        }
    758761
    759         if (current->hasTagName(optionTag)) {
     762        if (isHTMLOptionElement(current)) {
    760763            m_listItems.append(current);
    761764
     
    799802    for (size_t i = 0; i < items.size(); ++i) {
    800803        HTMLElement* element = items[i];
    801         if (element->hasTagName(optionTag)) {
     804        if (isHTMLOptionElement(element)) {
    802805            if (toHTMLOptionElement(element)->selected())
    803806                return index;
     
    835838    if (listIndex >= 0) {
    836839        element = items[listIndex];
    837         if (element->hasTagName(optionTag)) {
     840        if (isHTMLOptionElement(element)) {
    838841            if (m_activeSelectionAnchorIndex < 0 || shouldDeselect)
    839842                setActiveSelectionAnchorIndex(listIndex);
     
    878881    int optionIndex2 = -1;
    879882    for (int listIndex = 0; listIndex < listSize; ++listIndex) {
    880         if (items[listIndex]->hasTagName(optionTag)) {
     883        if (isHTMLOptionElement(items[listIndex])) {
    881884            ++optionIndex2;
    882885            if (optionIndex2 == optionIndex)
     
    891894{
    892895    const Vector<HTMLElement*>& items = listItems();
    893     if (listIndex < 0 || listIndex >= static_cast<int>(items.size()) || !items[listIndex]->hasTagName(optionTag))
     896    if (listIndex < 0 || listIndex >= static_cast<int>(items.size()) || !isHTMLOptionElement(items[listIndex]))
    894897        return -1;
    895898
     
    897900    int optionIndex = 0;
    898901    for (int i = 0; i < listIndex; ++i) {
    899         if (items[i]->hasTagName(optionTag))
     902        if (isHTMLOptionElement(items[i]))
    900903            ++optionIndex;
    901904    }
     
    928931    for (unsigned i = 0; i < items.size(); ++i) {
    929932        HTMLElement* element = items[i];
    930         if (element != excludeElement && element->hasTagName(optionTag))
     933        if (element != excludeElement && isHTMLOptionElement(element))
    931934            toHTMLOptionElement(element)->setSelectedState(false);
    932935    }
     
    939942    FormControlState state;
    940943    for (unsigned i = 0; i < length; ++i) {
    941         if (!items[i]->hasTagName(optionTag))
     944        if (!isHTMLOptionElement(items[i]))
    942945            continue;
    943946        HTMLOptionElement* option = toHTMLOptionElement(items[i]);
     
    958961        if (!items[i]->hasLocalName(optionTag))
    959962            continue;
    960         if (static_cast<HTMLOptionElement*>(items[i])->value() == value)
     963        if (toHTMLOptionElement(items[i])->value() == value)
    961964            return i;
    962965    }
     
    976979        if (!items[i]->hasLocalName(optionTag))
    977980            continue;
    978         static_cast<HTMLOptionElement*>(items[i])->setSelectedState(false);
     981        toHTMLOptionElement(items[i])->setSelectedState(false);
    979982    }
    980983
     
    10211024    for (unsigned i = 0; i < items.size(); ++i) {
    10221025        HTMLElement* element = items[i];
    1023         if (element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected() && !toHTMLOptionElement(element)->isDisabledFormControl()) {
     1026        if (isHTMLOptionElement(element) && toHTMLOptionElement(element)->selected() && !toHTMLOptionElement(element)->isDisabledFormControl()) {
    10241027            list.appendData(name, toHTMLOptionElement(element)->value());
    10251028            successful = true;
     
    10411044    for (unsigned i = 0; i < items.size(); ++i) {
    10421045        HTMLElement* element = items[i];
    1043         if (!element->hasTagName(optionTag))
     1046        if (!isHTMLOptionElement(element))
    10441047            continue;
    10451048
     
    12581261
    12591262    HTMLElement* clickedElement = listItems()[listIndex];
    1260     if (clickedElement->hasTagName(optionTag)) {
     1263    if (isHTMLOptionElement(clickedElement)) {
    12611264        // Keep track of whether an active selection (like during drag
    12621265        // selection), should select or deselect.
     
    12791282
    12801283    // Set the selection state of the clicked option.
    1281     if (clickedElement->hasTagName(optionTag) && !toHTMLOptionElement(clickedElement)->isDisabledFormControl())
     1284    if (isHTMLOptionElement(clickedElement) && !toHTMLOptionElement(clickedElement)->isDisabledFormControl())
    12821285        toHTMLOptionElement(clickedElement)->setSelectedState(true);
    12831286
     
    14841487    for (size_t i = items.size(); i;) {
    14851488        HTMLElement* element = items[--i];
    1486         if (element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected())
     1489        if (isHTMLOptionElement(element) && toHTMLOptionElement(element)->selected())
    14871490            return i;
    14881491    }
     
    15051508   
    15061509    HTMLElement* element = items[index];
    1507     if (!element->hasTagName(optionTag) || toHTMLOptionElement(element)->isDisabledFormControl())
     1510    if (!isHTMLOptionElement(element) || toHTMLOptionElement(element)->isDisabledFormControl())
    15081511        return String();
    15091512    return toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
     
    15411544    if (listIndex >= 0) {
    15421545        HTMLElement* element = items[listIndex];
    1543         if (element->hasTagName(optionTag)) {
     1546        if (isHTMLOptionElement(element)) {
    15441547            if (toHTMLOptionElement(element)->selected())
    15451548                toHTMLOptionElement(element)->setSelectedState(false);
     
    15631566    const Vector<HTMLElement*>& items = listItems();
    15641567    for (unsigned i = 0; i < items.size(); ++i) {
    1565         if (items[i]->hasTagName(optionTag))
     1568        if (isHTMLOptionElement(items[i]))
    15661569            ++options;
    15671570    }
  • trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp

    r151949 r152208  
    4040#include "HTMLHtmlElement.h"
    4141#include "HTMLNames.h"
     42#include "HTMLOptionElement.h"
    4243#include "HTMLParserIdioms.h"
    4344#include "HTMLScriptElement.h"
     
    6465        || item->hasTagName(dtTag)
    6566        || item->hasTagName(liTag)
    66         || item->hasTagName(optionTag)
     67        || isHTMLOptionElement(item->node())
    6768        || item->hasTagName(optgroupTag)
    6869        || item->hasTagName(pTag)
  • trunk/Source/WebCore/html/parser/HTMLElementStack.cpp

    r147441 r152208  
    3131#include "Element.h"
    3232#include "HTMLNames.h"
     33#include "HTMLOptionElement.h"
    3334#include "MathMLNames.h"
    3435#include "SVGNames.h"
     
    123124inline bool isSelectScopeMarker(HTMLStackItem* item)
    124125{
    125     return !item->hasTagName(optgroupTag)
    126         && !item->hasTagName(optionTag);
     126    return !item->hasTagName(optgroupTag) && !isHTMLOptionElement(item->node());
    127127}
    128128
  • trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp

    r151949 r152208  
    3434#include "HTMLFormElement.h"
    3535#include "HTMLNames.h"
     36#include "HTMLOptionElement.h"
    3637#include "HTMLParserIdioms.h"
    3738#include "HTMLStackItem.h"
     
    896897    }
    897898    if (token->name() == optgroupTag || token->name() == optionTag) {
    898         if (m_tree.currentStackItem()->hasTagName(optionTag)) {
     899        if (isHTMLOptionElement(m_tree.currentStackItem()->node())) {
    899900            AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
    900901            processEndTag(&endOption);
     
    13751376        }
    13761377        if (token->name() == optionTag) {
    1377             if (m_tree.currentStackItem()->hasTagName(optionTag)) {
     1378            if (isHTMLOptionElement(m_tree.currentStackItem()->node())) {
    13781379                AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
    13791380                processEndTag(&endOption);
     
    13831384        }
    13841385        if (token->name() == optgroupTag) {
    1385             if (m_tree.currentStackItem()->hasTagName(optionTag)) {
     1386            if (isHTMLOptionElement(m_tree.currentStackItem()->node())) {
    13861387                AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
    13871388                processEndTag(&endOption);
     
    22512252        ASSERT(insertionMode() == InSelectMode || insertionMode() == InSelectInTableMode);
    22522253        if (token->name() == optgroupTag) {
    2253             if (m_tree.currentStackItem()->hasTagName(optionTag) && m_tree.oneBelowTop() && m_tree.oneBelowTop()->hasTagName(optgroupTag))
     2254            if (isHTMLOptionElement(m_tree.currentStackItem()->node()) && m_tree.oneBelowTop() && m_tree.oneBelowTop()->hasTagName(optgroupTag))
    22542255                processFakeEndTag(optionTag);
    22552256            if (m_tree.currentStackItem()->hasTagName(optgroupTag)) {
     
    22612262        }
    22622263        if (token->name() == optionTag) {
    2263             if (m_tree.currentStackItem()->hasTagName(optionTag)) {
     2264            if (isHTMLOptionElement(m_tree.currentStackItem()->node())) {
    22642265                m_tree.openElements()->pop();
    22652266                return;
  • trunk/Source/WebCore/rendering/RenderListBox.cpp

    r151799 r152208  
    125125            String text;
    126126            Font itemFont = style()->font();
    127             if (element->hasTagName(optionTag))
     127            if (isHTMLOptionElement(element))
    128128                text = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
    129129            else if (element->hasTagName(optgroupTag)) {
     
    348348    for (int i = 0; i < size; ++i) {
    349349        HTMLElement* element = listItems[i];
    350         if (element->hasTagName(optionTag) && !element->isDisabledFormControl()) {
     350        if (isHTMLOptionElement(element) && !element->isDisabledFormControl()) {
    351351            rects.append(pixelSnappedIntRect(itemBoundingBoxRect(additionalOffset, i)));
    352352            return;
     
    404404
    405405    String itemText;
    406     bool isOptionElement = element->hasTagName(optionTag);
     406    bool isOptionElement = isHTMLOptionElement(element);
    407407    if (isOptionElement)
    408408        itemText = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
     
    445445
    446446    Color backColor;
    447     if (element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected()) {
     447    if (isHTMLOptionElement(element) && toHTMLOptionElement(element)->selected()) {
    448448        if (frame()->selection()->isFocusedAndActive() && document()->focusedElement() == node())
    449449            backColor = theme()->activeListBoxSelectionBackgroundColor();
  • trunk/Source/WebCore/rendering/RenderMenuList.cpp

    r150214 r152208  
    179179    for (int i = 0; i < size; ++i) {
    180180        HTMLElement* element = listItems[i];
    181         if (!element->hasTagName(optionTag))
     181        if (!isHTMLOptionElement(element))
    182182            continue;
    183183
     
    228228    if (i >= 0 && i < size) {
    229229        Element* element = listItems[i];
    230         if (element->hasTagName(optionTag)) {
     230        if (isHTMLOptionElement(element)) {
    231231            text = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
    232232            m_optionStyle = element->renderStyle();
     
    408408    if (element->hasTagName(optgroupTag))
    409409        itemString = static_cast<const HTMLOptGroupElement*>(element)->groupLabelText();
    410     else if (element->hasTagName(optionTag))
     410    else if (isHTMLOptionElement(element))
    411411        itemString = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
    412412
     
    448448        return false;
    449449    HTMLElement* element = listItems[listIndex];
    450     if (!element->hasTagName(optionTag))
     450    if (!isHTMLOptionElement(element))
    451451        return false;
    452452
     
    606606        return false;
    607607    HTMLElement* element = listItems[listIndex];
    608     return element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected();
     608    return isHTMLOptionElement(element) && toHTMLOptionElement(element)->selected();
    609609}
    610610
  • trunk/Source/WebCore/rendering/RenderTheme.cpp

    r151783 r152208  
    10331033    paintInfo.context->setFillColor(o->style()->visitedDependentColor(CSSPropertyColor), ColorSpaceDeviceRGB);
    10341034    for (unsigned i = 0; Node* node = options->item(i); i++) {
    1035         ASSERT(node->hasTagName(optionTag));
     1035        ASSERT(isHTMLOptionElement(node));
    10361036        HTMLOptionElement* optionElement = toHTMLOptionElement(node);
    10371037        String value = optionElement->value();
  • trunk/Source/WebKit/blackberry/ChangeLog

    r152203 r152208  
     12013-06-29  Kangil Han  <kangil.han@samsung.com>
     2
     3        Adopt is/toHTMLOptionElement for code cleanup
     4        https://bugs.webkit.org/show_bug.cgi?id=118212
     5
     6        Reviewed by Andreas Kling.
     7
     8        To enhance readability, this patch adopts is/toHTMLOptionElement.
     9        This also helps out to reduce duplicated use of static_cast.
     10
     11        * WebKitSupport/InputHandler.cpp:
     12        (BlackBerry::WebKit::InputHandler::willOpenPopupForNode):
     13        (BlackBerry::WebKit::InputHandler::didNodeOpenPopup):
     14        (BlackBerry::WebKit::InputHandler::openSelectPopup):
     15        (BlackBerry::WebKit::InputHandler::setPopupListIndexes):
     16        * WebKitSupport/SelectPopupClient.cpp:
     17        (BlackBerry::WebKit::SelectPopupClient::setValueAndClosePopup):
     18
    1192013-06-28  Kangil Han  <kangil.han@samsung.com>
    220
  • trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp

    r152149 r152208  
    19861986    ASSERT(!node->isInShadowTree());
    19871987
    1988     if (node->hasTagName(HTMLNames::selectTag) || node->hasTagName(HTMLNames::optionTag)) {
     1988    if (node->hasTagName(HTMLNames::selectTag) || isHTMLOptionElement(node)) {
    19891989        // We open list popups for options and selects.
    19901990        return true;
     
    20112011        return openSelectPopup(static_cast<HTMLSelectElement*>(node));
    20122012
    2013     if (node->hasTagName(HTMLNames::optionTag)) {
    2014         HTMLOptionElement* optionElement = static_cast<HTMLOptionElement*>(node);
     2013    if (isHTMLOptionElement(node)) {
     2014        HTMLOptionElement* optionElement = toHTMLOptionElement(node);
    20152015        return openSelectPopup(optionElement->ownerSelectElement());
    20162016    }
     
    20572057        selecteds = new bool[size];
    20582058        for (int i = 0; i < size; i++) {
    2059             if (listItems[i]->hasTagName(HTMLNames::optionTag)) {
    2060                 HTMLOptionElement* option = static_cast<HTMLOptionElement*>(listItems[i]);
     2059            if (isHTMLOptionElement(listItems[i])) {
     2060                HTMLOptionElement* option = toHTMLOptionElement(listItems[i]);
    20612061                labels[i] = option->textIndentedToRespectGroupLabel();
    20622062                enableds[i] = option->isDisabledFormControl() ? 0 : 1;
     
    21232123    HTMLOptionElement* option;
    21242124    for (int i = 0; i < size; i++) {
    2125         if (items[i]->hasTagName(HTMLNames::optionTag)) {
    2126             option = static_cast<HTMLOptionElement*>(items[i]);
     2125        if (isHTMLOptionElement(items[i])) {
     2126            option = toHTMLOptionElement(items[i]);
    21272127            option->setSelectedState(selecteds[i]);
    21282128        }
  • trunk/Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.cpp

    r150756 r152208  
    156156        HTMLOptionElement* option;
    157157        for (unsigned i = 0; i < m_size; i++) {
    158             if (items[i]->hasTagName(HTMLNames::optionTag)) {
    159                 option = static_cast<HTMLOptionElement*>(items[i]);
     158            if (isHTMLOptionElement(items[i])) {
     159                option = toHTMLOptionElement(items[i]);
    160160                option->setSelectedState(selecteds[i]);
    161161            }
  • trunk/Source/WebKit/win/ChangeLog

    r152169 r152208  
     12013-06-29  Kangil Han  <kangil.han@samsung.com>
     2
     3        Adopt is/toHTMLOptionElement for code cleanup
     4        https://bugs.webkit.org/show_bug.cgi?id=118212
     5
     6        Reviewed by Andreas Kling.
     7
     8        To enhance readability, this patch adopts is/toHTMLOptionElement.
     9        This also helps out to reduce duplicated use of static_cast.
     10
     11        * DOMCoreClasses.cpp:
     12        (DOMElement::createInstance):
     13        * DOMHTMLClasses.cpp:
     14        (DOMHTMLOptionElement::text):
     15        (DOMHTMLOptionElement::label):
     16
    1172013-06-28  peavo@outlook.com  <peavo@outlook.com>
    218
  • trunk/Source/WebKit/win/DOMCoreClasses.cpp

    r152149 r152208  
    15041504        DOMHTMLInputElement* newElement = new DOMHTMLInputElement(e);
    15051505        hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
    1506     } else if (e->hasTagName(optionTag)) {
     1506    } else if (isHTMLOptionElement(e)) {
    15071507        DOMHTMLOptionElement* newElement = new DOMHTMLOptionElement(e);
    15081508        hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
  • trunk/Source/WebKit/win/DOMHTMLClasses.cpp

    r152149 r152208  
    863863
    864864    ASSERT(m_element);
    865     ASSERT(m_element->hasTagName(optionTag));
    866     HTMLOptionElement* optionElement = static_cast<HTMLOptionElement*>(m_element);
     865    ASSERT(isHTMLOptionElement(m_element));
     866    HTMLOptionElement* optionElement = toHTMLOptionElement(m_element);
    867867
    868868    *result = BString(optionElement->text()).release();
     
    900900
    901901    ASSERT(m_element);
    902     ASSERT(m_element->hasTagName(optionTag));
    903     HTMLOptionElement* optionElement = static_cast<HTMLOptionElement*>(m_element);
     902    ASSERT(isHTMLOptionElement(m_element));
     903    HTMLOptionElement* optionElement = toHTMLOptionElement(m_element);
    904904
    905905    *result = BString(optionElement->label()).release();
Note: See TracChangeset for help on using the changeset viewer.