Title: [152211] trunk/Source
Revision
152211
Author
[email protected]
Date
2013-06-29 08:49:55 -0700 (Sat, 29 Jun 2013)

Log Message

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

Reviewed by Andreas Kling.

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

Source/WebCore:

* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isEnabled):
(WebCore::AccessibilityListBoxOption::stringValue):
(WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement):
* html/HTMLOptGroupElement.h:
(WebCore::isHTMLOptGroupElement):
(WebCore::toHTMLOptGroupElement):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
(WebCore::HTMLOptionElement::isDisabledFormControl):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childShouldCreateRenderer):
(WebCore::HTMLSelectElement::recalcListItems):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::hasImpliedEndTag):
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isSelectScopeMarker):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemText):
(WebCore::RenderMenuList::itemIsEnabled):
(WebCore::RenderMenuList::itemIsLabel):

Source/WebKit/blackberry:

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::openSelectPopup):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (152210 => 152211)


--- trunk/Source/WebCore/ChangeLog	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/ChangeLog	2013-06-29 15:49:55 UTC (rev 152211)
@@ -1,3 +1,45 @@
+2013-06-29  Kangil Han  <[email protected]>
+
+        Adopt is/toHTMLOptGroupElement for code cleanup
+        https://bugs.webkit.org/show_bug.cgi?id=118213
+
+        Reviewed by Andreas Kling.
+
+        To enhance readability, this patch adopts is/toHTMLOptGroupElement.
+        This also helps out to reduce duplicated use of static_cast.
+
+        * accessibility/AccessibilityListBoxOption.cpp:
+        (WebCore::AccessibilityListBoxOption::isEnabled):
+        (WebCore::AccessibilityListBoxOption::stringValue):
+        (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
+        * css/SelectorChecker.cpp:
+        (WebCore::SelectorChecker::checkOne):
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::canShareStyleWithElement):
+        * html/HTMLOptGroupElement.h:
+        (WebCore::isHTMLOptGroupElement):
+        (WebCore::toHTMLOptGroupElement):
+        * html/HTMLOptionElement.cpp:
+        (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
+        (WebCore::HTMLOptionElement::isDisabledFormControl):
+        * html/HTMLSelectElement.cpp:
+        (WebCore::HTMLSelectElement::childShouldCreateRenderer):
+        (WebCore::HTMLSelectElement::recalcListItems):
+        * html/parser/HTMLConstructionSite.cpp:
+        (WebCore::hasImpliedEndTag):
+        * html/parser/HTMLElementStack.cpp:
+        (WebCore::HTMLNames::isSelectScopeMarker):
+        * html/parser/HTMLTreeBuilder.cpp:
+        (WebCore::HTMLTreeBuilder::processStartTag):
+        (WebCore::HTMLTreeBuilder::processEndTag):
+        * rendering/RenderListBox.cpp:
+        (WebCore::RenderListBox::updateFromElement):
+        (WebCore::RenderListBox::paintItemForeground):
+        * rendering/RenderMenuList.cpp:
+        (WebCore::RenderMenuList::itemText):
+        (WebCore::RenderMenuList::itemIsEnabled):
+        (WebCore::RenderMenuList::itemIsLabel):
+
 2013-06-29  ChangSeok Oh  <[email protected]>
 
         Build fix for unguarded SVGGraphicsElement

Modified: trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp (152210 => 152211)


--- trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -66,7 +66,7 @@
     if (!m_optionElement)
         return false;
     
-    if (m_optionElement->hasTagName(optgroupTag))
+    if (isHTMLOptGroupElement(m_optionElement))
         return false;
 
     if (equalIgnoringCase(getAttribute(aria_disabledAttr), "true"))
@@ -161,8 +161,8 @@
     if (isHTMLOptionElement(m_optionElement))
         return toHTMLOptionElement(m_optionElement)->text();
     
-    if (m_optionElement->hasTagName(optgroupTag))
-        return static_cast<HTMLOptGroupElement*>(m_optionElement)->groupLabelText();
+    if (isHTMLOptGroupElement(m_optionElement))
+        return toHTMLOptGroupElement(m_optionElement)->groupLabelText();
     
     return String();
 }
@@ -207,8 +207,8 @@
     if (isHTMLOptionElement(m_optionElement))
         return toHTMLOptionElement(m_optionElement)->ownerSelectElement();
 
-    if (m_optionElement->hasTagName(optgroupTag))
-        return static_cast<HTMLOptGroupElement*>(m_optionElement)->ownerSelectElement();
+    if (isHTMLOptGroupElement(m_optionElement))
+        return toHTMLOptGroupElement(m_optionElement)->ownerSelectElement();
 
     return 0;
 }

Modified: trunk/Source/WebCore/css/SelectorChecker.cpp (152210 => 152211)


--- trunk/Source/WebCore/css/SelectorChecker.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/css/SelectorChecker.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -39,6 +39,7 @@
 #include "HTMLFrameElementBase.h"
 #include "HTMLInputElement.h"
 #include "HTMLNames.h"
+#include "HTMLOptGroupElement.h"
 #include "HTMLOptionElement.h"
 #include "HTMLProgressElement.h"
 #include "HTMLStyleElement.h"
@@ -656,7 +657,7 @@
             }
             break;
         case CSSSelector::PseudoEnabled:
-            if (element->isFormControlElement() || isHTMLOptionElement(element) || element->hasTagName(optgroupTag))
+            if (element->isFormControlElement() || isHTMLOptionElement(element) || isHTMLOptGroupElement(element))
                 return !element->isDisabledFormControl();
             break;
         case CSSSelector::PseudoFullPageMedia:
@@ -665,7 +666,7 @@
         case CSSSelector::PseudoDefault:
             return element->isDefaultButtonForForm();
         case CSSSelector::PseudoDisabled:
-            if (element->isFormControlElement() || isHTMLOptionElement(element) || element->hasTagName(optgroupTag))
+            if (element->isFormControlElement() || isHTMLOptionElement(element) || isHTMLOptGroupElement(element))
                 return element->isDisabledFormControl();
             break;
         case CSSSelector::PseudoReadOnly:

Modified: trunk/Source/WebCore/css/StyleResolver.cpp (152210 => 152211)


--- trunk/Source/WebCore/css/StyleResolver.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -68,6 +68,7 @@
 #include "HTMLIFrameElement.h"
 #include "HTMLInputElement.h"
 #include "HTMLNames.h"
+#include "HTMLOptGroupElement.h"
 #include "HTMLOptionElement.h"
 #include "HTMLProgressElement.h"
 #include "HTMLStyleElement.h"
@@ -659,7 +660,7 @@
     // FIXME: We should share style for option and optgroup whenever possible.
     // Before doing so, we need to resolve issues in HTMLSelectElement::recalcListItems
     // and RenderMenuList::setText. See also https://bugs.webkit.org/show_bug.cgi?id=88405
-    if (isHTMLOptionElement(element) || element->hasTagName(optgroupTag))
+    if (isHTMLOptionElement(element) || isHTMLOptGroupElement(element))
         return false;
 
     bool isControl = element->isFormControlElement();

Modified: trunk/Source/WebCore/html/HTMLOptGroupElement.h (152210 => 152211)


--- trunk/Source/WebCore/html/HTMLOptGroupElement.h	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/html/HTMLOptGroupElement.h	2013-06-29 15:49:55 UTC (rev 152211)
@@ -63,6 +63,17 @@
     RefPtr<RenderStyle> m_style;
 };
 
+inline bool isHTMLOptGroupElement(Node* node)
+{
+    return node->hasTagName(HTMLNames::optgroupTag);
+}
+
+inline HTMLOptGroupElement* toHTMLOptGroupElement(Node* node)
+{
+    ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLOptGroupElement(node));
+    return static_cast<HTMLOptGroupElement*>(node);
+}
+
 } //namespace
 
 #endif

Modified: trunk/Source/WebCore/html/HTMLOptionElement.cpp (152210 => 152211)


--- trunk/Source/WebCore/html/HTMLOptionElement.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/html/HTMLOptionElement.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -32,6 +32,7 @@
 #include "ExceptionCode.h"
 #include "HTMLDataListElement.h"
 #include "HTMLNames.h"
+#include "HTMLOptGroupElement.h"
 #include "HTMLParserIdioms.h"
 #include "HTMLSelectElement.h"
 #include "NodeRenderStyle.h"
@@ -335,7 +336,7 @@
 String HTMLOptionElement::textIndentedToRespectGroupLabel() const
 {
     ContainerNode* parent = parentNode();
-    if (parent && parent->hasTagName(optgroupTag))
+    if (parent && isHTMLOptGroupElement(parent))
         return "    " + text();
     return text();
 }
@@ -349,7 +350,7 @@
         return false;
 
     HTMLElement* parentElement = static_cast<HTMLElement*>(parentNode());
-    return parentElement->hasTagName(optgroupTag) && parentElement->isDisabledFormControl();
+    return isHTMLOptGroupElement(parentElement) && parentElement->isDisabledFormControl();
 }
 
 Node::InsertionNotificationRequest HTMLOptionElement::insertedInto(ContainerNode* insertionPoint)

Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (152210 => 152211)


--- trunk/Source/WebCore/html/HTMLSelectElement.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -350,7 +350,7 @@
     if (!HTMLFormControlElementWithState::childShouldCreateRenderer(childContext))
         return false;
     if (!usesMenuList())
-        return isHTMLOptionElement(childContext.node()) || childContext.node()->hasTagName(HTMLNames::optgroupTag) || validationMessageShadowTreeContains(childContext.node());
+        return isHTMLOptionElement(childContext.node()) || isHTMLOptGroupElement(childContext.node()) || validationMessageShadowTreeContains(childContext.node());
     return validationMessageShadowTreeContains(childContext.node());
 }
 
@@ -751,7 +751,7 @@
         // optgroup tags may not nest. However, both FireFox and IE will
         // flatten the tree automatically, so we follow suit.
         // (http://www.w3.org/TR/html401/interact/forms.html#h-17.6)
-        if (current->hasTagName(optgroupTag)) {
+        if (isHTMLOptGroupElement(current)) {
             m_listItems.append(current);
             if (Element* nextElement = ElementTraversal::firstWithin(current)) {
                 currentElement = nextElement;

Modified: trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp (152210 => 152211)


--- trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -39,6 +39,7 @@
 #include "HTMLFormElement.h"
 #include "HTMLHtmlElement.h"
 #include "HTMLNames.h"
+#include "HTMLOptGroupElement.h"
 #include "HTMLOptionElement.h"
 #include "HTMLParserIdioms.h"
 #include "HTMLScriptElement.h"
@@ -65,7 +66,7 @@
         || item->hasTagName(dtTag)
         || item->hasTagName(liTag)
         || isHTMLOptionElement(item->node())
-        || item->hasTagName(optgroupTag)
+        || isHTMLOptGroupElement(item->node())
         || item->hasTagName(pTag)
         || item->hasTagName(rpTag)
         || item->hasTagName(rtTag);

Modified: trunk/Source/WebCore/html/parser/HTMLElementStack.cpp (152210 => 152211)


--- trunk/Source/WebCore/html/parser/HTMLElementStack.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/html/parser/HTMLElementStack.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -30,6 +30,7 @@
 #include "DocumentFragment.h"
 #include "Element.h"
 #include "HTMLNames.h"
+#include "HTMLOptGroupElement.h"
 #include "HTMLOptionElement.h"
 #include "MathMLNames.h"
 #include "SVGNames.h"
@@ -123,7 +124,7 @@
 
 inline bool isSelectScopeMarker(HTMLStackItem* item)
 {
-    return !item->hasTagName(optgroupTag) && !isHTMLOptionElement(item->node());
+    return !isHTMLOptGroupElement(item->node()) && !isHTMLOptionElement(item->node());
 }
 
 }

Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (152210 => 152211)


--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -33,6 +33,7 @@
 #include "HTMLDocumentParser.h"
 #include "HTMLFormElement.h"
 #include "HTMLNames.h"
+#include "HTMLOptGroupElement.h"
 #include "HTMLOptionElement.h"
 #include "HTMLParserIdioms.h"
 #include "HTMLStackItem.h"
@@ -1387,7 +1388,7 @@
                 AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
                 processEndTag(&endOption);
             }
-            if (m_tree.currentStackItem()->hasTagName(optgroupTag)) {
+            if (isHTMLOptGroupElement(m_tree.currentStackItem()->node())) {
                 AtomicHTMLToken endOptgroup(HTMLToken::EndTag, optgroupTag.localName());
                 processEndTag(&endOptgroup);
             }
@@ -2251,9 +2252,9 @@
     case InSelectMode:
         ASSERT(insertionMode() == InSelectMode || insertionMode() == InSelectInTableMode);
         if (token->name() == optgroupTag) {
-            if (isHTMLOptionElement(m_tree.currentStackItem()->node()) && m_tree.oneBelowTop() && m_tree.oneBelowTop()->hasTagName(optgroupTag))
+            if (isHTMLOptionElement(m_tree.currentStackItem()->node()) && m_tree.oneBelowTop() && isHTMLOptGroupElement(m_tree.oneBelowTop()->node()))
                 processFakeEndTag(optionTag);
-            if (m_tree.currentStackItem()->hasTagName(optgroupTag)) {
+            if (isHTMLOptGroupElement(m_tree.currentStackItem()->node())) {
                 m_tree.openElements()->pop();
                 return;
             }

Modified: trunk/Source/WebCore/rendering/RenderListBox.cpp (152210 => 152211)


--- trunk/Source/WebCore/rendering/RenderListBox.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/rendering/RenderListBox.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -126,8 +126,8 @@
             Font itemFont = style()->font();
             if (isHTMLOptionElement(element))
                 text = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
-            else if (element->hasTagName(optgroupTag)) {
-                text = static_cast<const HTMLOptGroupElement*>(element)->groupLabelText();
+            else if (isHTMLOptGroupElement(element)) {
+                text = toHTMLOptGroupElement(element)->groupLabelText();
                 FontDescription d = itemFont.fontDescription();
                 d.setWeight(d.bolderWeight());
                 itemFont = Font(d, itemFont.letterSpacing(), itemFont.wordSpacing());
@@ -406,8 +406,8 @@
     bool isOptionElement = isHTMLOptionElement(element);
     if (isOptionElement)
         itemText = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
-    else if (element->hasTagName(optgroupTag))
-        itemText = static_cast<const HTMLOptGroupElement*>(element)->groupLabelText();
+    else if (isHTMLOptGroupElement(element))
+        itemText = toHTMLOptGroupElement(element)->groupLabelText();
     applyTextTransform(style(), itemText, ' ');
 
     Color textColor = element->renderStyle() ? element->renderStyle()->visitedDependentColor(CSSPropertyColor) : style()->visitedDependentColor(CSSPropertyColor);
@@ -427,7 +427,7 @@
     LayoutRect r = itemBoundingBoxRect(paintOffset, listIndex);
     r.move(itemOffsetForAlignment(textRun, itemStyle, itemFont, r));
 
-    if (element->hasTagName(optgroupTag)) {
+    if (isHTMLOptGroupElement(element)) {
         FontDescription d = itemFont.fontDescription();
         d.setWeight(d.bolderWeight());
         itemFont = Font(d, itemFont.letterSpacing(), itemFont.wordSpacing());

Modified: trunk/Source/WebCore/rendering/RenderMenuList.cpp (152210 => 152211)


--- trunk/Source/WebCore/rendering/RenderMenuList.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebCore/rendering/RenderMenuList.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -405,8 +405,8 @@
 
     String itemString;
     Element* element = listItems[listIndex];
-    if (element->hasTagName(optgroupTag))
-        itemString = static_cast<const HTMLOptGroupElement*>(element)->groupLabelText();
+    if (isHTMLOptGroupElement(element))
+        itemString = toHTMLOptGroupElement(element)->groupLabelText();
     else if (isHTMLOptionElement(element))
         itemString = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
 
@@ -452,7 +452,7 @@
 
     bool groupEnabled = true;
     if (Element* parentElement = element->parentElement()) {
-        if (parentElement->hasTagName(optgroupTag))
+        if (isHTMLOptGroupElement(parentElement))
             groupEnabled = !parentElement->isDisabledFormControl();
     }
     if (!groupEnabled)
@@ -596,7 +596,7 @@
 bool RenderMenuList::itemIsLabel(unsigned listIndex) const
 {
     const Vector<HTMLElement*>& listItems = selectElement()->listItems();
-    return listIndex < listItems.size() && listItems[listIndex]->hasTagName(optgroupTag);
+    return listIndex < listItems.size() && isHTMLOptGroupElement(listItems[listIndex]);
 }
 
 bool RenderMenuList::itemIsSelected(unsigned listIndex) const

Modified: trunk/Source/WebKit/blackberry/ChangeLog (152210 => 152211)


--- trunk/Source/WebKit/blackberry/ChangeLog	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2013-06-29 15:49:55 UTC (rev 152211)
@@ -1,5 +1,18 @@
 2013-06-29  Kangil Han  <[email protected]>
 
+        Adopt is/toHTMLOptGroupElement for code cleanup
+        https://bugs.webkit.org/show_bug.cgi?id=118213
+
+        Reviewed by Andreas Kling.
+
+        To enhance readability, this patch adopts is/toHTMLOptGroupElement.
+        This also helps out to reduce duplicated use of static_cast.
+
+        * WebKitSupport/InputHandler.cpp:
+        (BlackBerry::WebKit::InputHandler::openSelectPopup):
+
+2013-06-29  Kangil Han  <[email protected]>
+
         Adopt is/toHTMLOptionElement for code cleanup
         https://bugs.webkit.org/show_bug.cgi?id=118212
 

Modified: trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp (152210 => 152211)


--- trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp	2013-06-29 15:15:10 UTC (rev 152210)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp	2013-06-29 15:49:55 UTC (rev 152211)
@@ -2061,9 +2061,9 @@
                 labels[i] = option->textIndentedToRespectGroupLabel();
                 enableds[i] = option->isDisabledFormControl() ? 0 : 1;
                 selecteds[i] = option->selected();
-                itemTypes[i] = option->parentNode() && option->parentNode()->hasTagName(HTMLNames::optgroupTag) ? TypeOptionInGroup : TypeOption;
-            } else if (listItems[i]->hasTagName(HTMLNames::optgroupTag)) {
-                HTMLOptGroupElement* optGroup = static_cast<HTMLOptGroupElement*>(listItems[i]);
+                itemTypes[i] = option->parentNode() && isHTMLOptGroupElement(option->parentNode()) ? TypeOptionInGroup : TypeOption;
+            } else if (isHTMLOptGroupElement(listItems[i])) {
+                HTMLOptGroupElement* optGroup = toHTMLOptGroupElement(listItems[i]);
                 labels[i] = optGroup->groupLabelText();
                 enableds[i] = optGroup->isDisabledFormControl() ? 0 : 1;
                 selecteds[i] = false;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to