void EventSender::beginDragWithFiles(const CppArgumentList& arguments, CppVariant* result) { currentDragData.initialize(); Vector<string> files = arguments[0].toStringVector(); for (size_t i = 0; i < files.size(); ++i) currentDragData.appendToFilenames(webkit_support::GetAbsoluteWebStringFromUTF8Path(files[i])); currentDragEffectsAllowed = WebKit::WebDragOperationCopy; // Provide a drag source. webview()->dragTargetDragEnter(currentDragData, lastMousePos, lastMousePos, currentDragEffectsAllowed); // dragMode saves events and then replays them later. We don't need/want that. dragMode.set(false); // Make the rest of eventSender think a drag is in progress. pressedButton = WebMouseEvent::ButtonLeft; result->setNull(); }