[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