We should have UIDelegate::doDragDrop return the OLE drag-and-drop return value just like the Windows API function it emulates, DoDragDrop <http://msdn.microsoft.com/en-us/library/ms678486%28VS.85%29.aspx>.
Created attachment 40808 [details] Patch No test included because it is not possible to test this outside of unit testing.
Comment on attachment 40808 [details] Patch > +++ WebKit/win/WebCoreSupport/WebDragClient.cpp (working copy) > @@ -161,11 +161,9 @@ void WebDragClient::startDrag(DragImageR > if (SUCCEEDED(m_webView->uiDelegate(&ui))) { > COMPtr<IWebUIDelegatePrivate> uiPrivate; > if (SUCCEEDED(ui->QueryInterface(IID_IWebUIDelegatePrivate, (void**)&uiPrivate))) > - if (SUCCEEDED(uiPrivate->doDragDrop(m_webView, dataObject.get(), source.get(), okEffect, &effect))) > - return; > - } > - > - DoDragDrop(dataObject.get(), source.get(), okEffect, &effect); > + uiPrivate->doDragDrop(m_webView, dataObject.get(), source.get(), okEffect, &effect); > + } else > + DoDragDrop(dataObject.get(), source.get(), okEffect, &effect); I don't think this change is what we want. This will require that all WebKit clients that support the IWebUIDelegatePrivate interface implement doDragDrop. I think we want to leave this code as it was. > +++ WebKitTools/DumpRenderTree/win/EventSender.h (working copy) > @@ -29,13 +29,15 @@ > #ifndef EventSender_h > #define EventSender_h > > +#include <windows.h> It would be nicer to just forward-declare HRESULT. The rest of the DRT changes look fine.
Created attachment 40812 [details] Patch As per Adam's comment, removed changes to WebDragClient::startDrag and in EventSender defined typedef for HRESULT, instead of including <window.h>.
Comment on attachment 40812 [details] Patch r=me
Comment on attachment 40812 [details] Patch Clearing flags on attachment: 40812 Committed r49336: <http://trac.webkit.org/changeset/49336>
All reviewed patches have been landed. Closing bug.