DragClientImpl.cpp [plain text]
#include "config.h"
#include "DragClientImpl.h"
#include "DragImageRef.h"
#include "ChromiumDataObject.h"
#include "ClipboardChromium.h"
#include "Frame.h"
#include "NativeImageSkia.h"
#include "WebCommon.h"
#include "WebDragData.h"
#include "WebImage.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
using namespace WebCore;
namespace WebKit {
void DragClientImpl::willPerformDragDestinationAction(DragDestinationAction, DragData*)
{
}
void DragClientImpl::willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*)
{
}
DragDestinationAction DragClientImpl::actionMaskForDrag(DragData*)
{
if (m_webView->client() && m_webView->client()->acceptsLoadDrops())
return DragDestinationActionAny;
return static_cast<DragDestinationAction>(
DragDestinationActionDHTML | DragDestinationActionEdit);
}
DragSourceAction DragClientImpl::dragSourceActionMaskForPoint(const IntPoint& windowPoint)
{
return DragSourceActionAny;
}
void DragClientImpl::startDrag(DragImageRef dragImage,
const IntPoint& dragImageOrigin,
const IntPoint& eventPos,
Clipboard* clipboard,
Frame* frame,
bool isLinkDrag)
{
RefPtr<Frame> frameProtector = frame;
WebDragData dragData = static_cast<ClipboardChromium*>(clipboard)->dataObject();
DragOperation dragOperationMask = clipboard->sourceOperation();
IntSize offsetSize(eventPos - dragImageOrigin);
WebPoint offsetPoint(offsetSize.width(), offsetSize.height());
m_webView->startDragging(
dragData, static_cast<WebDragOperationsMask>(dragOperationMask),
#if WEBKIT_USING_SKIA
dragImage ? WebImage(*dragImage) : WebImage(),
#else
dragImage ? WebImage(dragImage) : WebImage(),
#endif
offsetPoint);
}
DragImageRef DragClientImpl::createDragImageForLink(KURL&, const String& label, Frame*)
{
return 0;
}
void DragClientImpl::dragControllerDestroyed()
{
}
}