[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

trey trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:42:34 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 8826f49ca0feb1dbef551b713dbbc12c3c4e1ac6
Author: trey <trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri May 28 00:14:45 2004 +0000

    	Two dragging tweaks:  ondragleave events are sent before ondragenter events when
    	going across element boundaries, to match WinIE.
    	For compatibility with WinIE, we honor MIME types of "Text" and "URL".
    
            Reviewed by rjw.
    
            * khtml/khtmlview.cpp:
            (KHTMLView::updateDragAndDrop):
            * kwq/KWQClipboard.mm:
            (cocoaTypeFromMIMEType):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6716 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 3a4e2e0..547d374 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,16 @@
+2004-05-27  Trey Matteson  <trey at apple.com>
+
+	Two dragging tweaks:  ondragleave events are sent before ondragenter events when
+	going across element boundaries, to match WinIE.
+	For compatibility with WinIE, we honor MIME types of "Text" and "URL".
+
+        Reviewed by rjw.
+
+        * khtml/khtmlview.cpp:
+        (KHTMLView::updateDragAndDrop):
+        * kwq/KWQClipboard.mm:
+        (cocoaTypeFromMIMEType):
+
 === Safari-142 ===
 
 2004-05-27  Vicki Murley <vicki at apple.com>
diff --git a/WebCore/khtml/khtmlview.cpp b/WebCore/khtml/khtmlview.cpp
index 4938831..77363be 100644
--- a/WebCore/khtml/khtmlview.cpp
+++ b/WebCore/khtml/khtmlview.cpp
@@ -1193,12 +1193,13 @@ bool KHTMLView::updateDragAndDrop(const QPoint &loc, DOM::ClipboardImpl *clipboa
     DOM::Node newTarget = mev.innerNode;
     
     if (d->dragTarget != newTarget) {
-        if (!d->dragTarget.isNull()) {
-            dispatchDragEvent(EventImpl::DRAGLEAVE_EVENT, d->dragTarget.handle(), loc, clipboard);
-        }
+        // note this ordering is explicitly chosen to match WinIE
         if (!newTarget.isNull()) {
             accept = dispatchDragEvent(EventImpl::DRAGENTER_EVENT, newTarget.handle(), loc, clipboard);
         }
+        if (!d->dragTarget.isNull()) {
+            dispatchDragEvent(EventImpl::DRAGLEAVE_EVENT, d->dragTarget.handle(), loc, clipboard);
+        }
     } else if (!newTarget.isNull()) {
         accept = dispatchDragEvent(EventImpl::DRAGOVER_EVENT, newTarget.handle(), loc, clipboard);
     }
diff --git a/WebCore/kwq/KWQClipboard.mm b/WebCore/kwq/KWQClipboard.mm
index 03cf09f..c13c65e 100644
--- a/WebCore/kwq/KWQClipboard.mm
+++ b/WebCore/kwq/KWQClipboard.mm
@@ -66,6 +66,13 @@ void KWQClipboard::setDropAllowed(const DOM::DOMString &s)
 static NSString *cocoaTypeFromMIMEType(const DOMString &type) {
     QString qType = type.string();
 
+    // two special cases for IE compatibility
+    if (qType == "Text") {
+        return NSStringPboardType;
+    } else if (qType == "URL") {
+        return NSURLPboardType;
+    } 
+    
     // Cut off any trailing charset - JS String are Unicode, which encapsulates this issue
     int semicolon = qType.find(';');
     if (semicolon >= 0) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list