| Index: third_party/WebKit/Source/core/page/DragController.cpp
|
| diff --git a/third_party/WebKit/Source/core/page/DragController.cpp b/third_party/WebKit/Source/core/page/DragController.cpp
|
| index c9eef0f9997b00a53efadaa829616a57da7d9be2..07385275214487ba6a20e3a88b079696ab80abe5 100644
|
| --- a/third_party/WebKit/Source/core/page/DragController.cpp
|
| +++ b/third_party/WebKit/Source/core/page/DragController.cpp
|
| @@ -118,12 +118,19 @@ static bool dragTypeIsValid(DragSourceAction action) {
|
| }
|
| #endif // DCHECK_IS_ON()
|
|
|
| -static PlatformMouseEvent createMouseEvent(DragData* dragData) {
|
| - return PlatformMouseEvent(
|
| - dragData->clientPosition(), dragData->globalPosition(),
|
| - WebPointerProperties::Button::Left, PlatformEvent::MouseMoved, 0,
|
| +static WebMouseEvent createMouseEvent(DragData* dragData) {
|
| + WebMouseEvent result(
|
| + WebInputEvent::MouseMove, WebFloatPoint(dragData->clientPosition().x(),
|
| + dragData->clientPosition().y()),
|
| + WebFloatPoint(dragData->globalPosition().x(),
|
| + dragData->globalPosition().y()),
|
| + WebPointerProperties::Button::Left, 0,
|
| static_cast<PlatformEvent::Modifiers>(dragData->modifiers()),
|
| - PlatformMouseEvent::RealOrIndistinguishable, TimeTicks::Now());
|
| + TimeTicks::Now().InSeconds());
|
| + // TODO(dtapuska): Really we should chnage DragData to store the viewport
|
| + // coordinates and scale.
|
| + result.setFrameScale(1);
|
| + return result;
|
| }
|
|
|
| static DataTransfer* createDraggingDataTransfer(DataTransferAccessPolicy policy,
|
| @@ -719,7 +726,7 @@ bool DragController::tryDHTMLDrag(DragData* dragData,
|
| DragOperation srcOpMask = dragData->draggingSourceOperationMask();
|
| dataTransfer->setSourceOperation(srcOpMask);
|
|
|
| - PlatformMouseEvent event = createMouseEvent(dragData);
|
| + WebMouseEvent event = createMouseEvent(dragData);
|
| if (localRoot.eventHandler().updateDragAndDrop(event, dataTransfer) ==
|
| WebInputEventResult::NotHandled) {
|
| dataTransfer->setAccessPolicy(
|
| @@ -1050,7 +1057,7 @@ static std::unique_ptr<DragImage> dragImageForLink(
|
|
|
| bool DragController::startDrag(LocalFrame* src,
|
| const DragState& state,
|
| - const PlatformMouseEvent& dragEvent,
|
| + const WebMouseEvent& dragEvent,
|
| const IntPoint& dragOrigin) {
|
| #if DCHECK_IS_ON()
|
| DCHECK(dragTypeIsValid(state.m_dragType));
|
| @@ -1072,8 +1079,8 @@ bool DragController::startDrag(LocalFrame* src,
|
| const KURL& linkURL = hitTestResult.absoluteLinkURL();
|
| const KURL& imageURL = hitTestResult.absoluteImageURL();
|
|
|
| - IntPoint mouseDraggedPoint =
|
| - src->view()->rootFrameToContents(dragEvent.position());
|
| + IntPoint mouseDraggedPoint = src->view()->rootFrameToContents(
|
| + flooredIntPoint(dragEvent.positionInRootFrame()));
|
|
|
| IntPoint dragLocation;
|
| IntPoint dragOffset;
|
|
|