Title: [152567] trunk/Source/WebCore
- Revision
- 152567
- Author
- [email protected]
- Date
- 2013-07-11 05:43:14 -0700 (Thu, 11 Jul 2013)
Log Message
Introduce isHTMLTitleElement and toHTMLTitleElement
https://bugs.webkit.org/show_bug.cgi?id=118558
Reviewed by Andreas Kling.
To enhance readability, this patch introduces isHTMLTitleElement and toHTMLTitleElement.
This also helps out to reduce duplicated use of static_cast.
* dom/Document.cpp:
(WebCore::Document::setTitle):
(WebCore::Document::removeTitle):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::removeHeadContents):
* html/HTMLTitleElement.h:
(WebCore::isHTMLTitleElement):
(WebCore::toHTMLTitleElement):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (152566 => 152567)
--- trunk/Source/WebCore/ChangeLog 2013-07-11 11:43:53 UTC (rev 152566)
+++ trunk/Source/WebCore/ChangeLog 2013-07-11 12:43:14 UTC (rev 152567)
@@ -1,3 +1,22 @@
+2013-07-11 Kangil Han <[email protected]>
+
+ Introduce isHTMLTitleElement and toHTMLTitleElement
+ https://bugs.webkit.org/show_bug.cgi?id=118558
+
+ Reviewed by Andreas Kling.
+
+ To enhance readability, this patch introduces isHTMLTitleElement and toHTMLTitleElement.
+ This also helps out to reduce duplicated use of static_cast.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setTitle):
+ (WebCore::Document::removeTitle):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::removeHeadContents):
+ * html/HTMLTitleElement.h:
+ (WebCore::isHTMLTitleElement):
+ (WebCore::toHTMLTitleElement):
+
2013-07-11 Patrick Gansterer <[email protected]>
Remove unused Windows CE files
Modified: trunk/Source/WebCore/dom/Document.cpp (152566 => 152567)
--- trunk/Source/WebCore/dom/Document.cpp 2013-07-11 11:43:53 UTC (rev 152566)
+++ trunk/Source/WebCore/dom/Document.cpp 2013-07-11 12:43:14 UTC (rev 152567)
@@ -1536,9 +1536,9 @@
updateTitle(StringWithDirection(title, LTR));
if (m_titleElement) {
- ASSERT(m_titleElement->hasTagName(titleTag));
- if (m_titleElement->hasTagName(titleTag))
- static_cast<HTMLTitleElement*>(m_titleElement.get())->setText(title);
+ ASSERT(isHTMLTitleElement(m_titleElement.get()));
+ if (isHTMLTitleElement(m_titleElement.get()))
+ toHTMLTitleElement(m_titleElement.get())->setText(title);
}
}
@@ -1565,8 +1565,8 @@
// Update title based on first title element in the head, if one exists.
if (HTMLElement* headElement = head()) {
for (Node* e = headElement->firstChild(); e; e = e->nextSibling())
- if (e->hasTagName(titleTag)) {
- HTMLTitleElement* titleElement = static_cast<HTMLTitleElement*>(e);
+ if (isHTMLTitleElement(e)) {
+ HTMLTitleElement* titleElement = toHTMLTitleElement(e);
setTitleElement(titleElement->textWithDirection(), titleElement);
break;
}
Modified: trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp (152566 => 152567)
--- trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp 2013-07-11 11:43:53 UTC (rev 152566)
+++ trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp 2013-07-11 12:43:14 UTC (rev 152567)
@@ -44,6 +44,7 @@
#include "HTMLInputElement.h"
#include "HTMLInterchange.h"
#include "HTMLNames.h"
+#include "HTMLTitleElement.h"
#include "NodeList.h"
#include "NodeRenderStyle.h"
#include "NodeTraversal.h"
@@ -705,7 +706,7 @@
|| node->hasTagName(linkTag)
|| node->hasTagName(metaTag)
|| node->hasTagName(styleTag)
- || node->hasTagName(titleTag)) {
+ || isHTMLTitleElement(node)) {
next = NodeTraversal::nextSkippingChildren(node);
fragment.removeNode(node);
} else
Modified: trunk/Source/WebCore/html/HTMLTitleElement.h (152566 => 152567)
--- trunk/Source/WebCore/html/HTMLTitleElement.h 2013-07-11 11:43:53 UTC (rev 152566)
+++ trunk/Source/WebCore/html/HTMLTitleElement.h 2013-07-11 12:43:14 UTC (rev 152567)
@@ -46,6 +46,22 @@
StringWithDirection m_title;
};
+inline bool isHTMLTitleElement(const Node* node)
+{
+ return node->hasTagName(HTMLNames::titleTag);
+}
+
+inline bool isHTMLTitleElement(const Element* element)
+{
+ return element->hasTagName(HTMLNames::titleTag);
+}
+
+inline HTMLTitleElement* toHTMLTitleElement(Node* node)
+{
+ ASSERT_WITH_SECURITY_IMPLICATION(!node || isHTMLTitleElement(node));
+ return static_cast<HTMLTitleElement*>(node);
+}
+
} //namespace
#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes