2010-10-18 Ryosuke Niwa <rniwa@webkit.org>
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Oct 2010 21:42:37 +0000 (21:42 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Oct 2010 21:42:37 +0000 (21:42 +0000)
        Reviewed by Adam Barth.

        elementCannotHaveEndTag should be a member function of MarkupAccumulator
        https://bugs.webkit.org/show_bug.cgi?id=47846

        Moved elementCannotHaveEndTag into MarkupAccumulator.

        No new tests are added since this is a cleanup.

        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added.
        * editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag.
        * editing/markup.cpp: Removed elementCannotHaveEndTag.
        * editing/markup.h: Removed elementCannotHaveEndTag.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@69994 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/editing/MarkupAccumulator.cpp
WebCore/editing/MarkupAccumulator.h
WebCore/editing/markup.cpp
WebCore/editing/markup.h

index 2018539..e075b78 100644 (file)
@@ -1,3 +1,20 @@
+2010-10-18  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Reviewed by Adam Barth.
+
+        elementCannotHaveEndTag should be a member function of MarkupAccumulator
+        https://bugs.webkit.org/show_bug.cgi?id=47846
+
+        Moved elementCannotHaveEndTag into MarkupAccumulator.
+
+        No new tests are added since this is a cleanup.
+
+        * editing/MarkupAccumulator.cpp:
+        (WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added.
+        * editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag.
+        * editing/markup.cpp: Removed elementCannotHaveEndTag.
+        * editing/markup.h: Removed elementCannotHaveEndTag.
+
 2010-10-18  Johnny Ding  <jnd@chromium.org>
 
         Reviewed by Adam Barth.
index 91a74c8..a701189 100644 (file)
@@ -439,6 +439,18 @@ bool MarkupAccumulator::shouldSelfClose(const Node* node)
     return true;
 }
 
+bool MarkupAccumulator::elementCannotHaveEndTag(const Node* node)
+{
+    if (!node->isHTMLElement())
+        return false;
+    
+    // FIXME: ieForbidsInsertHTML may not be the right function to call here
+    // ieForbidsInsertHTML is used to disallow setting innerHTML/outerHTML
+    // or createContextualFragment.  It does not necessarily align with
+    // which elements should be serialized w/o end tags.
+    return static_cast<const HTMLElement*>(node)->ieForbidsInsertHTML();
+}
+
 void MarkupAccumulator::appendEndMarkup(Vector<UChar>& result, const Node* node)
 {
     if (!node->isElementNode() || shouldSelfClose(node) || (!node->hasChildNodes() && elementCannotHaveEndTag(node)))
index b35d230..5a9c884 100644 (file)
@@ -96,6 +96,7 @@ protected:
     void appendCDATASection(Vector<UChar>& out, const String& section);
     void appendStartMarkup(Vector<UChar>& result, const Node*, Namespaces*);
     bool shouldSelfClose(const Node*);
+    bool elementCannotHaveEndTag(const Node* node);
     void appendEndMarkup(Vector<UChar>& result, const Node*);
 
     bool shouldResolveURLs() { return m_shouldResolveURLs == AbsoluteURLs; }
index 2219996..75d567e 100644 (file)
@@ -93,18 +93,6 @@ private:
     String m_value;
 };
 
-bool elementCannotHaveEndTag(const Node* node)
-{
-    if (!node->isHTMLElement())
-        return false;
-
-    // FIXME: ieForbidsInsertHTML may not be the right function to call here
-    // ieForbidsInsertHTML is used to disallow setting innerHTML/outerHTML
-    // or createContextualFragment.  It does not necessarily align with
-    // which elements should be serialized w/o end tags.
-    return static_cast<const HTMLElement*>(node)->ieForbidsInsertHTML();
-}
-
 static void completeURLs(Node* node, const String& baseURL)
 {
     Vector<AttributeChange> changes;
index fc8e431..dbf8b80 100644 (file)
@@ -56,9 +56,6 @@ namespace WebCore {
     String createFullMarkup(const Range*);
 
     String urlToMarkup(const KURL&, const String& title);
-
-    // FIXME: Should this be better encapulated somewhere?
-    bool elementCannotHaveEndTag(const Node*);
 }
 
 #endif // markup_h