Diff
Modified: trunk/Source/WebCore/ChangeLog (152352 => 152353)
--- trunk/Source/WebCore/ChangeLog 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/ChangeLog 2013-07-03 14:18:34 UTC (rev 152353)
@@ -1,3 +1,45 @@
+2013-07-03 Kangil Han <[email protected]>
+
+ Append overloading function for isFooElement
+ https://bugs.webkit.org/show_bug.cgi?id=118334
+
+ Reviewed by Antti Koivisto.
+
+ Node::hasTagName needs additional isElementNode() check when it is triggered.
+ So conversion from Element* to Node* in isFooElement should be avoided.
+ Therefore, to support both Node* and Element* as an argument of isFooElement,
+ this patch appends overloading inline function.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::isAcceptableCSSStyleSheetParent):
+ * css/StyleScopeResolver.cpp:
+ (WebCore::StyleScopeResolver::scopeFor):
+ * dom/Node.cpp:
+ (WebCore::Node::numberOfScopedHTMLStyleChildren):
+ * html/HTMLAnchorElement.h:
+ (WebCore::isHTMLAnchorElement):
+ * html/HTMLAreaElement.h:
+ (WebCore::isHTMLAreaElement):
+ * html/HTMLAudioElement.h:
+ (WebCore::isHTMLAudioElement):
+ * html/HTMLFormElement.h:
+ (WebCore::isHTMLFormElement):
+ * html/HTMLImageElement.h:
+ (WebCore::isHTMLImageElement):
+ * html/HTMLInputElement.h:
+ (WebCore::isHTMLInputElement):
+ * html/HTMLLabelElement.h:
+ (WebCore::isHTMLLabelElement):
+ * html/HTMLOptGroupElement.h:
+ (WebCore::isHTMLOptGroupElement):
+ * html/HTMLOptionElement.h:
+ (WebCore::isHTMLOptionElement):
+ * html/HTMLStyleElement.h:
+ (WebCore::isHTMLStyleElement):
+ (WebCore::toHTMLStyleElement):
+ * html/HTMLTextAreaElement.h:
+ (WebCore::isHTMLTextAreaElement):
+
2013-07-03 Balazs Kelemen <[email protected]>
Gif: zero filling should use memset instead of setRGBA for every pixel
Modified: trunk/Source/WebCore/css/CSSStyleSheet.cpp (152352 => 152353)
--- trunk/Source/WebCore/css/CSSStyleSheet.cpp 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/css/CSSStyleSheet.cpp 2013-07-03 14:18:34 UTC (rev 152353)
@@ -65,7 +65,7 @@
return !parentNode
|| parentNode->isDocumentNode()
|| parentNode->hasTagName(HTMLNames::linkTag)
- || (parentNode->isElementNode() && isHTMLStyleElement(toElement(parentNode)))
+ || isHTMLStyleElement(parentNode)
#if ENABLE(SVG)
|| parentNode->hasTagName(SVGNames::styleTag)
#endif
Modified: trunk/Source/WebCore/css/StyleScopeResolver.cpp (152352 => 152353)
--- trunk/Source/WebCore/css/StyleScopeResolver.cpp 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/css/StyleScopeResolver.cpp 2013-07-03 14:18:34 UTC (rev 152353)
@@ -60,10 +60,10 @@
if (!document)
return 0;
Node* ownerNode = sheet->ownerNode();
- if (!ownerNode || !ownerNode->isHTMLElement() || !isHTMLStyleElement(toElement(ownerNode)))
+ if (!ownerNode || !ownerNode->isHTMLElement() || !isHTMLStyleElement(ownerNode))
return 0;
- HTMLStyleElement* styleElement = toHTMLStyleElement(toElement(ownerNode));
+ HTMLStyleElement* styleElement = toHTMLStyleElement(ownerNode);
if (!styleElement->scoped())
return styleElement->isInShadowTree() ? styleElement->containingShadowRoot() : 0;
Modified: trunk/Source/WebCore/dom/Node.cpp (152352 => 152353)
--- trunk/Source/WebCore/dom/Node.cpp 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/dom/Node.cpp 2013-07-03 14:18:34 UTC (rev 152353)
@@ -2536,10 +2536,9 @@
size_t Node::numberOfScopedHTMLStyleChildren() const
{
size_t count = 0;
- for (Element* element = ElementTraversal::firstWithin(this); element; element = ElementTraversal::next(element, this)) {
+ for (Element* element = ElementTraversal::firstWithin(this); element; element = ElementTraversal::next(element, this))
if (isHTMLStyleElement(element) && toHTMLStyleElement(element)->isRegisteredAsScoped())
count++;
- }
return count;
}
Modified: trunk/Source/WebCore/html/HTMLAnchorElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLAnchorElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -159,6 +159,11 @@
return node->hasTagName(HTMLNames::aTag);
}
+inline bool isHTMLAnchorElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::aTag);
+}
+
inline HTMLAnchorElement* toHTMLAnchorElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLAnchorElement(node));
Modified: trunk/Source/WebCore/html/HTMLAreaElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLAreaElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLAreaElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -80,6 +80,11 @@
return node->hasTagName(HTMLNames::areaTag);
}
+inline bool isHTMLAreaElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::areaTag);
+}
+
inline HTMLAreaElement* toHTMLAreaElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLAreaElement(node));
Modified: trunk/Source/WebCore/html/HTMLAudioElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLAudioElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLAudioElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -48,6 +48,11 @@
return node->hasTagName(HTMLNames::audioTag);
}
+inline bool isHTMLAudioElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::audioTag);
+}
+
inline HTMLAudioElement* toHTMLAudioElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLAudioElement(node));
Modified: trunk/Source/WebCore/html/HTMLFormElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLFormElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLFormElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -166,6 +166,11 @@
return node->hasTagName(HTMLNames::formTag);
}
+inline bool isHTMLFormElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::formTag);
+}
+
inline HTMLFormElement* toHTMLFormElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLFormElement(node));
Modified: trunk/Source/WebCore/html/HTMLImageElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLImageElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLImageElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -117,6 +117,11 @@
return node->hasTagName(HTMLNames::imgTag);
}
+inline bool isHTMLImageElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::imgTag);
+}
+
inline HTMLImageElement* toHTMLImageElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLImageElement(node));
Modified: trunk/Source/WebCore/html/HTMLInputElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLInputElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLInputElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -444,6 +444,11 @@
return node->hasTagName(HTMLNames::inputTag);
}
+inline bool isHTMLInputElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::inputTag);
+}
+
inline HTMLInputElement* toHTMLInputElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLInputElement(node));
Modified: trunk/Source/WebCore/html/HTMLLabelElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLLabelElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLLabelElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -60,6 +60,11 @@
return node->hasTagName(HTMLNames::labelTag);
}
+inline bool isHTMLLabelElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::labelTag);
+}
+
inline HTMLLabelElement* toHTMLLabelElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLLabelElement(node));
Modified: trunk/Source/WebCore/html/HTMLOptGroupElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLOptGroupElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLOptGroupElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -68,6 +68,11 @@
return node->hasTagName(HTMLNames::optgroupTag);
}
+inline bool isHTMLOptGroupElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::optgroupTag);
+}
+
inline HTMLOptGroupElement* toHTMLOptGroupElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLOptGroupElement(node));
Modified: trunk/Source/WebCore/html/HTMLOptionElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLOptionElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLOptionElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -100,6 +100,11 @@
return node->hasTagName(HTMLNames::optionTag);
}
+inline bool isHTMLOptionElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::optionTag);
+}
+
inline HTMLOptionElement* toHTMLOptionElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLOptionElement(node));
Modified: trunk/Source/WebCore/html/HTMLStyleElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLStyleElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLStyleElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -97,15 +97,20 @@
ScopedStyleRegistrationState m_scopedStyleRegistrationState;
};
+inline bool isHTMLStyleElement(Node* node)
+{
+ return node->hasTagName(HTMLNames::styleTag);
+}
+
inline bool isHTMLStyleElement(Element* element)
{
return element->hasTagName(HTMLNames::styleTag);
}
-inline HTMLStyleElement* toHTMLStyleElement(Element* element)
+inline HTMLStyleElement* toHTMLStyleElement(Node* node)
{
- ASSERT_WITH_SECURITY_IMPLICATION(!element || isHTMLStyleElement(element));
- return static_cast<HTMLStyleElement*>(element);
+ ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLStyleElement(node));
+ return static_cast<HTMLStyleElement*>(node);
}
} //namespace
Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.h (152352 => 152353)
--- trunk/Source/WebCore/html/HTMLTextAreaElement.h 2013-07-03 13:54:45 UTC (rev 152352)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.h 2013-07-03 14:18:34 UTC (rev 152353)
@@ -132,6 +132,11 @@
return node->hasTagName(HTMLNames::textareaTag);
}
+inline bool isHTMLTextAreaElement(Element* element)
+{
+ return element->hasTagName(HTMLNames::textareaTag);
+}
+
inline HTMLTextAreaElement* toHTMLTextAreaElement(Node* node)
{
ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLTextAreaElement(node));