[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