diff options
Diffstat (limited to 'WebKitTools/DumpRenderTree/win/EventSender.cpp')
-rw-r--r-- | WebKitTools/DumpRenderTree/win/EventSender.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/WebKitTools/DumpRenderTree/win/EventSender.cpp b/WebKitTools/DumpRenderTree/win/EventSender.cpp index 721b238..dd5bf9d 100644 --- a/WebKitTools/DumpRenderTree/win/EventSender.cpp +++ b/WebKitTools/DumpRenderTree/win/EventSender.cpp @@ -194,7 +194,7 @@ static inline POINTL pointl(const POINT& point) return result; } -static void doMouseUp(MSG msg) +static void doMouseUp(MSG msg, HRESULT* oleDragAndDropReturnValue = 0) { COMPtr<IWebFramePrivate> framePrivate; if (SUCCEEDED(frame->QueryInterface(&framePrivate))) @@ -215,6 +215,8 @@ static void doMouseUp(MSG msg) didDragEnter = true; } HRESULT hr = draggingInfo->dropSource()->QueryContinueDrag(0, 0); + if (oleDragAndDropReturnValue) + *oleDragAndDropReturnValue = hr; webViewDropTarget->DragOver(0, pointl(screenPoint), &effect); if (hr == DRAGDROP_S_DROP && effect != DROPEFFECT_NONE) { DWORD effect = 0; @@ -314,7 +316,7 @@ static JSValueRef mouseMoveToCallback(JSContextRef context, JSObjectRef function return JSValueMakeUndefined(context); } -void replaySavedEvents() +void replaySavedEvents(HRESULT* oleDragAndDropReturnValue) { replayingSavedEvents = true; @@ -326,7 +328,7 @@ void replaySavedEvents() case WM_LBUTTONUP: case WM_RBUTTONUP: case WM_MBUTTONUP: - doMouseUp(msg); + doMouseUp(msg, oleDragAndDropReturnValue); break; case WM_MOUSEMOVE: doMouseMove(msg); @@ -370,7 +372,7 @@ void replaySavedEvents() case WM_LBUTTONUP: case WM_RBUTTONUP: case WM_MBUTTONUP: - doMouseUp(msg); + doMouseUp(msg, oleDragAndDropReturnValue); break; case WM_MOUSEMOVE: doMouseMove(msg); |