2008-10-31 Tony Chang <tony@chromium.org>
authordarin@chromium.org <darin@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Nov 2008 01:31:56 +0000 (01:31 +0000)
committerdarin@chromium.org <darin@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Nov 2008 01:31:56 +0000 (01:31 +0000)
        Reviewed by Oliver Hunt.

        Add a new platform specific method cleanupAfterSystemDrag
        that platforms can ue to clean up drag state after a
        system drag.  Use this method on PLAFORM(MAC).
        https://bugs.webkit.org/show_bug.cgi?id=21956

        * ChangeLog:
        * page/DragController.cpp:
        (WebCore::DragController::doSystemDrag):
        * page/DragController.h:
        * page/gtk/DragControllerGtk.cpp:
        (WebCore::DragController::cleanupAfterSystemDrag):
        * page/mac/DragControllerMac.mm:
        (WebCore::DragController::cleanupAfterSystemDrag):
        * page/qt/DragControllerQt.cpp:
        (WebCore::DragController::cleanupAfterSystemDrag):
        * page/win/DragControllerWin.cpp:
        (WebCore::DragController::cleanupAfterSystemDrag):
        * page/wx/DragControllerWx.cpp:
      (WebCore::DragController::cleanupAfterSystemDrag):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38805 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/page/DragController.cpp
WebCore/page/DragController.h
WebCore/page/gtk/DragControllerGtk.cpp
WebCore/page/mac/DragControllerMac.mm
WebCore/page/qt/DragControllerQt.cpp
WebCore/page/win/DragControllerWin.cpp
WebCore/page/wx/DragControllerWx.cpp

index 0425736..5d16bb9 100644 (file)
@@ -1,3 +1,27 @@
+2008-10-31  Tony Chang  <tony@chromium.org>
+
+        Reviewed by Oliver Hunt.
+
+        Add a new platform specific method cleanupAfterSystemDrag
+        that platforms can ue to clean up drag state after a
+        system drag.  Use this method on PLAFORM(MAC).
+        https://bugs.webkit.org/show_bug.cgi?id=21956
+
+        * ChangeLog:
+        * page/DragController.cpp:
+        (WebCore::DragController::doSystemDrag):
+        * page/DragController.h:
+        * page/gtk/DragControllerGtk.cpp:
+        (WebCore::DragController::cleanupAfterSystemDrag):
+        * page/mac/DragControllerMac.mm:
+        (WebCore::DragController::cleanupAfterSystemDrag):
+        * page/qt/DragControllerQt.cpp:
+        (WebCore::DragController::cleanupAfterSystemDrag):
+        * page/win/DragControllerWin.cpp:
+        (WebCore::DragController::cleanupAfterSystemDrag):
+        * page/wx/DragControllerWx.cpp:
+      (WebCore::DragController::cleanupAfterSystemDrag):
+
 2008-11-26  Nikolas Zimmermann  <zimmermann@kde.org>
 
         Reviewed by Oliver Hunt.
index b6540cf..b36dcb3 100644 (file)
@@ -750,11 +750,7 @@ void DragController::doSystemDrag(DragImageRef image, const IntPoint& dragLoc, c
     m_client->startDrag(image, viewProtector->windowToContents(frame->view()->contentsToWindow(dragLoc)),
         viewProtector->windowToContents(frame->view()->contentsToWindow(eventPos)), clipboard, frameProtector.get(), forLink);
     
-    // Drag has ended, dragEnded *should* have been called, however it is possible  
-    // for the UIDelegate to take over the drag, and fail to send the appropriate
-    // drag termination event.  As dragEnded just resets drag variables, we just 
-    // call it anyway to be on the safe side
-    dragEnded();
+    cleanupAfterSystemDrag();
 }
     
 // Manual drag caret manipulation
index efa8292..0c2504e 100644 (file)
@@ -107,6 +107,7 @@ namespace WebCore {
         bool doDrag(Frame* src, Clipboard* clipboard, DragImageRef dragImage, const KURL& linkURL, const KURL& imageURL, Node* node, IntPoint& dragLoc, IntPoint& dragImageOffset);
         void doImageDrag(Element*, const IntPoint&, const IntRect&, Clipboard*, Frame*, IntPoint&);
         void doSystemDrag(DragImageRef, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool forLink);
+        void cleanupAfterSystemDrag();
         Page* m_page;
         DragClient* m_client;
         
index 62f4421..9e17255 100644 (file)
@@ -63,4 +63,8 @@ const IntSize& DragController::maxDragImageSize()
     return maxDragImageSize;
 }
 
+void DragController::cleanupAfterSystemDrag()
+{
+}
+
 }
index 2ab9d41..86d8f66 100644 (file)
@@ -66,4 +66,13 @@ const IntSize& DragController::maxDragImageSize()
     return maxDragImageSize;
 }
 
+void DragController::cleanupAfterSystemDrag()
+{
+    // Drag has ended, dragEnded *should* have been called, however it is possible
+    // for the UIDelegate to take over the drag, and fail to send the appropriate
+    // drag termination event.  As dragEnded just resets drag variables, we just
+    // call it anyway to be on the safe side
+    dragEnded();
+}
+
 }
index 62372d0..1fe56b4 100644 (file)
@@ -65,4 +65,8 @@ const IntSize& DragController::maxDragImageSize()
     return maxDragImageSize;
 }
 
+void DragController::cleanupAfterSystemDrag()
+{
+}
+
 }
index 41f3008..dca8ea2 100644 (file)
@@ -61,4 +61,8 @@ const IntSize& DragController::maxDragImageSize()
     return maxDragImageSize;
 }
 
+void DragController::cleanupAfterSystemDrag()
+{
+}
+
 }
index 659364f..c288a01 100644 (file)
@@ -65,4 +65,8 @@ const IntSize& DragController::maxDragImageSize()
     return maxDragImageSize;
 }
 
+void DragController::cleanupAfterSystemDrag()
+{
+}
+
 }