[webkit-changes] cvs commit: WebCore/khtml/editing markup.cpp
Anders
andersca at opensource.apple.com
Fri Dec 30 06:51:32 PST 2005
andersca 05/12/30 06:51:32
Modified: . ChangeLog
khtml/ecma xmlserializer.cpp
khtml/editing markup.cpp
Log:
2005-12-30 Anders Carlsson <andersca at mac.com>
Reviewed by Eric.
- Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6297
XMLSerializer should use createMarkup.
* khtml/ecma/xmlserializer.cpp:
(KJS::XMLSerializerProtoFunc::callAsFunction):
Use createMarkup instead of NodeImpl::toString.
* khtml/editing/markup.cpp:
(khtml::startMarkup):
escape attribute values and ignore document fragment nodes.
Revision Changes Path
1.66 +15 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- ChangeLog 30 Dec 2005 09:48:55 -0000 1.65
+++ ChangeLog 30 Dec 2005 14:51:30 -0000 1.66
@@ -1,3 +1,18 @@
+2005-12-30 Anders Carlsson <andersca at mac.com>
+
+ Reviewed by Eric.
+
+ - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6297
+ XMLSerializer should use createMarkup.
+
+ * khtml/ecma/xmlserializer.cpp:
+ (KJS::XMLSerializerProtoFunc::callAsFunction):
+ Use createMarkup instead of NodeImpl::toString.
+
+ * khtml/editing/markup.cpp:
+ (khtml::startMarkup):
+ escape attribute values and ignore document fragment nodes.
+
2005-12-30 Eric Seidel <eseidel at apple.com>
Reviewed by mjs.
1.13 +3 -1 WebCore/khtml/ecma/xmlserializer.cpp
Index: xmlserializer.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/xmlserializer.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- xmlserializer.cpp 22 Dec 2005 21:10:54 -0000 1.12
+++ xmlserializer.cpp 30 Dec 2005 14:51:31 -0000 1.13
@@ -27,6 +27,8 @@
#include "dom/dom_exception.h"
#include "xml/dom_docimpl.h"
+#include "markup.h"
+
#include <kdebug.h>
using DOM::NodeImpl;
@@ -88,7 +90,7 @@
}
NodeImpl *node = static_cast<NodeImpl *>(static_cast<DOMNode *>(args[0]->toObject(exec))->impl());
- return jsStringOrNull(node->toString());
+ return jsStringOrNull(createMarkup(node));
}
}
1.45 +4 -3 WebCore/khtml/editing/markup.cpp
Index: markup.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/editing/markup.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- markup.cpp 23 Dec 2005 18:44:14 -0000 1.44
+++ markup.cpp 30 Dec 2005 14:51:31 -0000 1.45
@@ -67,7 +67,7 @@
static inline bool doesHTMLForbidEndTag(const NodeImpl *node);
static inline bool shouldSelfClose(const NodeImpl *node);
-static QString escapeHTML(const QString &in)
+static QString escapeTextForMarkup(const QString &in)
{
QString s = "";
@@ -178,7 +178,7 @@
node->parentNode()->hasTagName(textareaTag))
return stringValueForRange(node, range).qstring();
}
- QString markup = annotate ? escapeHTML(renderedText(node, range)) : escapeHTML(stringValueForRange(node, range).qstring());
+ QString markup = annotate ? escapeTextForMarkup(renderedText(node, range)) : escapeTextForMarkup(stringValueForRange(node, range).qstring());
if (defaultStyle) {
NodeImpl *element = node->parentNode();
if (element) {
@@ -197,6 +197,7 @@
case Node::COMMENT_NODE:
return static_cast<const CommentImpl *>(node)->toString().qstring();
case Node::DOCUMENT_NODE:
+ case Node::DOCUMENT_FRAGMENT_NODE:
return "";
case Node::PROCESSING_INSTRUCTION_NODE:
return static_cast<const ProcessingInstructionImpl *>(node)->toString().qstring();
@@ -233,7 +234,7 @@
markup += " " + attr->name().localName().qstring();
else
markup += " " + attr->name().toString().qstring();
- markup += "=\"" + value.qstring() + "\"";
+ markup += "=\"" + escapeTextForMarkup(value.qstring()) + "\"";
}
}
}
More information about the webkit-changes
mailing list