Reviewed by Harrison
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 29 Nov 2004 22:17:52 +0000 (22:17 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 29 Nov 2004 22:17:52 +0000 (22:17 +0000)
        Made two small changes that make it possible for comments to have DOM nodes made for them
        when pasting. This relies on some earlier work I did some days ago.

        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::startMarkup): Get the string from the comment.
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): Did some very minor
        rearranging. Now passes a flag when creating a contextual fragment, requesting that comments
        be included in the DOM.

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

WebCore/ChangeLog-2005-08-23
WebCore/khtml/xml/dom_nodeimpl.cpp
WebCore/kwq/WebCoreBridge.mm

index 2a63cbf78ba7e8e20d9d5c0f4559bbe6ba2ec9e4..d37f3e05102da2d46b031106d0dfd942ff454a38 100644 (file)
@@ -1,3 +1,17 @@
+2004-11-29  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by Harrison
+
+        Made two small changes that make it possible for comments to have DOM nodes made for them
+        when pasting. This relies on some earlier work I did some days ago.
+
+        * khtml/xml/dom_nodeimpl.cpp:
+        (NodeImpl::startMarkup): Get the string from the comment.
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): Did some very minor
+        rearranging. Now passes a flag when creating a contextual fragment, requesting that comments
+        be included in the DOM.
+
 2004-11-29  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by Harrison
index be529187031b615db6db0b7c78442368704e99a7..cae364d21e2fe6362054bf915554d4ebfccbf536 100644 (file)
@@ -313,6 +313,8 @@ QString NodeImpl::startMarkup(const RangeImpl *range) const
         Id parentID = parentNode()->id();
         bool dontEscape = (parentID == ID_SCRIPT || parentID == ID_TEXTAREA || parentID == ID_STYLE);
         return dontEscape ? str.string() : escapeHTML(str.string());        
+    } else if (type == Node::COMMENT_NODE) {
+        return static_cast<const CommentImpl *>(this)->toString().string();
     } else if (type != Node::DOCUMENT_NODE) {
         QString markup = QChar('<') + nodeName().string();
         if (type == Node::ELEMENT_NODE) {
index 9113ec2d3f4afa0a70da2b61d90a6baa8295caf6..735d4defad3a6d8ae4f30c84be254bee7f267082 100644 (file)
@@ -1545,8 +1545,9 @@ static HTMLFormElementImpl *formElementFromDOMElement(DOMElement *element)
 
 - (DOMDocumentFragment *)documentFragmentWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString 
 {
-    DOM::DocumentImpl *document = _part->xmlDocImpl();
-    DOM::DocumentFragmentImpl *fragment = static_cast<HTMLElementImpl *>(document->documentElement())->createContextualFragment(markupString);
+    DocumentImpl *document = _part->xmlDocImpl();
+    HTMLElementImpl *element = static_cast<HTMLElementImpl *>(document->documentElement());
+    DocumentFragmentImpl *fragment = element->createContextualFragment(markupString, true); // true to include comments in DOM
     ASSERT(fragment);
     
     if ([baseURLString length] > 0) {