[webkit-changes] cvs commit: WebCore/kwq WebCoreBridge.h WebCoreBridge.mm

Eric eseidel at opensource.apple.com
Tue Nov 29 18:06:36 PST 2005


eseidel     05/11/29 18:06:35

  Modified:    .        ChangeLog
               khtml/editing markup.cpp markup.h
               kwq      WebCoreBridge.h WebCoreBridge.mm
  Log:
  Bug #: 4726
  Submitted by: Andrew Wellington  <proton at wiretapped.net>
  Reviewed by: darin
          No automated test possible.
  
          Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=4726
          Drop of multiple non-image file URLs only yields one item
  
          * khtml/editing/markup.cpp:
          (khtml::createFragmentFromNodeList):
          * khtml/editing/markup.h:
          * kwq/WebCoreBridge.h:
          * kwq/WebCoreBridge.mm:
          (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
  
  Revision  Changes    Path
  1.436     +16 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.435
  retrieving revision 1.436
  diff -u -r1.435 -r1.436
  --- ChangeLog	30 Nov 2005 01:58:40 -0000	1.435
  +++ ChangeLog	30 Nov 2005 02:06:27 -0000	1.436
  @@ -1,3 +1,19 @@
  +2005-11-29  Andrew Wellington  <proton at wiretapped.net>
  +
  +        Reviewed by darin.  Committed by eseidel.
  +
  +        No automated test possible.
  +
  +        Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=4726
  +        Drop of multiple non-image file URLs only yields one item
  +
  +        * khtml/editing/markup.cpp:
  +        (khtml::createFragmentFromNodeList):
  +        * khtml/editing/markup.h:
  +        * kwq/WebCoreBridge.h:
  +        * kwq/WebCoreBridge.mm:
  +        (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
  +
   2005-11-29  Mitz Pettel  <opendarwin.org at mitzpettel.com>
   
           Reviewed by darin.  Committed by eseidel.
  
  
  
  1.41      +29 -0     WebCore/khtml/editing/markup.cpp
  
  Index: markup.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/editing/markup.cpp,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- markup.cpp	21 Nov 2005 01:20:04 -0000	1.40
  +++ markup.cpp	30 Nov 2005 02:06:33 -0000	1.41
  @@ -600,4 +600,33 @@
       return fragment;
   }
   
  +DOM::DocumentFragmentImpl *createFragmentFromNodeList(DOM::DocumentImpl *document, const QPtrList<DOM::NodeImpl> &nodeList)
  +{
  +    if (!document)
  +        return 0;
  +    
  +    DocumentFragmentImpl *fragment = document->createDocumentFragment();
  +    fragment->ref();
  +    
  +    ElementImpl *element;
  +    int exceptionCode = 0;
  +    for (QPtrListIterator<NodeImpl> i(nodeList); i.current(); ++i) {
  +        element = createDefaultParagraphElement(document);
  +        element->ref();
  +        element->appendChild(i.current(), exceptionCode);
  +        ASSERT(exceptionCode == 0);
  +        fragment->appendChild(element, exceptionCode);
  +        ASSERT(exceptionCode == 0);
  +        element->deref();
  +    }
  +    
  +    // Trick to get the fragment back to the floating state, with 0
  +    // refs but not destroyed.
  +    fragment->setParent(document);
  +    fragment->deref();
  +    fragment->setParent(0);
  +    
  +    return fragment;
  +}
  +
   }
  
  
  
  1.2       +1 -0      WebCore/khtml/editing/markup.h
  
  Index: markup.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/editing/markup.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- markup.h	14 Dec 2004 00:10:09 -0000	1.1
  +++ markup.h	30 Nov 2005 02:06:33 -0000	1.2
  @@ -35,6 +35,7 @@
   
   DOM::DocumentFragmentImpl *createFragmentFromText(DOM::DocumentImpl *document, const QString &text);
   DOM::DocumentFragmentImpl *createFragmentFromMarkup(DOM::DocumentImpl *document, const QString &markup, const QString &baseURL);
  +DOM::DocumentFragmentImpl *createFragmentFromNodeList(DOM::DocumentImpl *document, const QPtrList<DOM::NodeImpl> &nodeList);
   
   QString createMarkup(const DOM::RangeImpl *range,
       QPtrList<DOM::NodeImpl> *nodes = 0, EAnnotateForInterchange = DoNotAnnotateForInterchange);
  
  
  
  1.351     +1 -0      WebCore/kwq/WebCoreBridge.h
  
  Index: WebCoreBridge.h
  ===================================================================
  RCS file: /cvs/root/WebCore/kwq/WebCoreBridge.h,v
  retrieving revision 1.350
  retrieving revision 1.351
  diff -u -r1.350 -r1.351
  --- WebCoreBridge.h	27 Nov 2005 01:50:49 -0000	1.350
  +++ WebCoreBridge.h	30 Nov 2005 02:06:33 -0000	1.351
  @@ -400,6 +400,7 @@
   
   - (DOMDocumentFragment *)documentFragmentWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString;
   - (DOMDocumentFragment *)documentFragmentWithText:(NSString *)text;
  +- (DOMDocumentFragment *)documentFragmentWithNodesAsParagraphs:(NSArray *)nodes;
   
   - (void)replaceSelectionWithFragment:(DOMDocumentFragment *)fragment selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace matchStyle:(BOOL)matchStyle;
   - (void)replaceSelectionWithNode:(DOMNode *)node selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace;
  
  
  
  1.435     +16 -0     WebCore/kwq/WebCoreBridge.mm
  
  Index: WebCoreBridge.mm
  ===================================================================
  RCS file: /cvs/root/WebCore/kwq/WebCoreBridge.mm,v
  retrieving revision 1.434
  retrieving revision 1.435
  diff -u -r1.434 -r1.435
  --- WebCoreBridge.mm	27 Nov 2005 07:54:53 -0000	1.434
  +++ WebCoreBridge.mm	30 Nov 2005 02:06:34 -0000	1.435
  @@ -1879,6 +1879,22 @@
       return [DOMDocumentFragment _documentFragmentWithImpl:createFragmentFromText(_part->xmlDocImpl(), QString::fromNSString(text))];
   }
   
  +- (DOMDocumentFragment *)documentFragmentWithNodesAsParagraphs:(NSArray *)nodes
  +{
  +    NSEnumerator *nodeEnum = [nodes objectEnumerator];
  +    DOMNode *node;
  +    QPtrList<DOM::NodeImpl> nodeList;
  +    
  +    if (!_part || !_part->xmlDocImpl())
  +        return 0;
  +    
  +    while ((node = [nodeEnum nextObject])) {
  +        nodeList.append([node _nodeImpl]);
  +    }
  +    
  +    return [DOMDocumentFragment _documentFragmentWithImpl:createFragmentFromNodeList(_part->xmlDocImpl(), nodeList)];
  +}
  +
   - (void)replaceSelectionWithFragment:(DOMDocumentFragment *)fragment selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace matchStyle:(BOOL)matchStyle
   {
       if (!partHasSelection(self) || !fragment)
  
  
  



More information about the webkit-changes mailing list