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

Reply via email to