@@ -297,70 +297,43 @@ void QmlWebViewCmdExecutor::MouseDoubleClick(Error** error) {
297297 CHECK_VIEW_EXISTANCE
298298
299299 QPoint point = QCommonUtil::ConvertPointToQPoint (session_->get_mouse_position ());
300- QPointF scenePoint = view_->mapToScene (point.x (), point.y ());
301-
302- QGraphicsSceneMouseEvent *dbClckEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMouseDoubleClick);
303- dbClckEvent->setScenePos (scenePoint);
304- dbClckEvent->setButton (Qt::LeftButton);
305- dbClckEvent->setButtons (Qt::LeftButton);
306-
307- QGraphicsSceneMouseEvent *releaseEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMouseRelease);
308- releaseEvent->setScenePos (scenePoint);
309- releaseEvent->setButton (Qt::LeftButton);
310- releaseEvent->setButtons (Qt::NoButton);
300+
301+ QMouseEvent *dbEvent = new QMouseEvent (QEvent::MouseButtonDblClick, point, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
302+ QMouseEvent *releaseEvent = new QMouseEvent (QEvent::MouseButtonRelease, point, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
311303
312- QApplication::postEvent (container_-> scene (), dbClckEvent );
313- QApplication::postEvent (container_-> scene (), releaseEvent);
304+ QApplication::postEvent (view_-> page (), dbEvent );
305+ QApplication::postEvent (view_-> page (), releaseEvent);
314306}
315307
316308void QmlWebViewCmdExecutor::MouseButtonUp (Error** error) {
317309 CHECK_VIEW_EXISTANCE
318310
319311 QPoint point = QCommonUtil::ConvertPointToQPoint (session_->get_mouse_position ());
320- QPointF scenePoint = view_->mapToScene (point.x (), point.y ());
321-
322- QGraphicsSceneMouseEvent *releaseEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMouseRelease);
323- releaseEvent->setScenePos (scenePoint);
324- releaseEvent->setButton (Qt::LeftButton);
325- releaseEvent->setButtons (Qt::NoButton);
326-
327- QApplication::postEvent (container_->scene (), releaseEvent);
312+
313+ QMouseEvent *releaseEvent = new QMouseEvent (QEvent::MouseButtonRelease, point, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
314+ QApplication::postEvent (view_->page (), releaseEvent);
328315}
329316
330317void QmlWebViewCmdExecutor::MouseButtonDown (Error** error) {
331318 CHECK_VIEW_EXISTANCE
332319
333320 QPoint point = QCommonUtil::ConvertPointToQPoint (session_->get_mouse_position ());
334- QPointF scenePoint = view_->mapToScene (point.x (), point.y ());
335-
336- QGraphicsSceneMouseEvent *pressEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMousePress);
337- pressEvent->setScenePos (scenePoint);
338- pressEvent->setButton (Qt::LeftButton);
339- pressEvent->setButtons (Qt::LeftButton);
340-
341- QApplication::postEvent (container_->scene (), pressEvent);
321+
322+ QMouseEvent *pressEvent = new QMouseEvent (QEvent::MouseButtonPress, point, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
323+ QApplication::sendEvent (view_->page (), pressEvent);
342324}
343325
344326void QmlWebViewCmdExecutor::MouseClick (MouseButton button, Error** error) {
345327 CHECK_VIEW_EXISTANCE
346328
347329 QPoint point = QCommonUtil::ConvertPointToQPoint (session_->get_mouse_position ());
348- QPointF scenePoint = view_->mapToScene (point.x (), point.y ());
349-
350330 Qt::MouseButton mouseButton = QCommonUtil::ConvertMouseButtonToQtMouseButton (button);
351331
352- QGraphicsSceneMouseEvent *pressEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMousePress);
353- pressEvent->setScenePos (scenePoint);
354- pressEvent->setButton (mouseButton);
355- pressEvent->setButtons (mouseButton);
356-
357- QGraphicsSceneMouseEvent *releaseEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMouseRelease);
358- releaseEvent->setScenePos (scenePoint);
359- releaseEvent->setButton (mouseButton);
360- releaseEvent->setButtons (Qt::NoButton);
332+ QMouseEvent *pressEvent = new QMouseEvent (QEvent::MouseButtonPress, point, mouseButton, Qt::NoButton, Qt::NoModifier);
333+ QMouseEvent *releaseEvent = new QMouseEvent (QEvent::MouseButtonRelease, point, mouseButton, Qt::NoButton, Qt::NoModifier);
361334
362- QApplication::postEvent (container_-> scene (), pressEvent);
363- QApplication::postEvent (container_-> scene (), releaseEvent);
335+ QApplication::postEvent (view_-> page (), pressEvent);
336+ QApplication::postEvent (view_-> page (), releaseEvent);
364337}
365338
366339void QmlWebViewCmdExecutor::MouseMove (const int x_offset, const int y_offset, Error** error) {
@@ -370,15 +343,13 @@ void QmlWebViewCmdExecutor::MouseMove(const int x_offset, const int y_offset, Er
370343 prev_pos.Offset (x_offset, y_offset);
371344
372345 QPoint point = QCommonUtil::ConvertPointToQPoint (prev_pos);
373- QPointF scenePoint = view_->mapToScene (point.x (), point.y ());
374-
375- QGraphicsSceneMouseEvent *moveEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMouseMove);
376- moveEvent->setScenePos (scenePoint);
377- QApplication::postEvent (container_->scene (), moveEvent);
346+
347+ QMouseEvent *moveEvent = new QMouseEvent (QEvent::MouseMove, point, Qt::NoButton, Qt::NoButton, Qt::NoModifier);
348+ QApplication::postEvent (view_->page (), moveEvent);
378349
379350 session_->logger ().Log (kFineLogLevel , base::StringPrintf (" mouse move to: %d, %d" ,
380- (int )scenePoint .x (),
381- (int )scenePoint .y ()));
351+ (int )point .x (),
352+ (int )point .y ()));
382353
383354 session_->set_mouse_position (prev_pos);
384355}
@@ -394,15 +365,13 @@ void QmlWebViewCmdExecutor::MouseMove(const ElementId& element, int x_offset, co
394365 location.Offset (x_offset, y_offset);
395366
396367 QPoint point = QCommonUtil::ConvertPointToQPoint (location);
397- QPointF scenePoint = view_->mapToScene (point.x (), point.y ());
398-
399- QGraphicsSceneMouseEvent *moveEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMouseMove);
400- moveEvent->setScenePos (scenePoint);
401- QApplication::postEvent (container_->scene (), moveEvent);
368+
369+ QMouseEvent *moveEvent = new QMouseEvent (QEvent::MouseMove, point, Qt::NoButton, Qt::NoButton, Qt::NoModifier);
370+ QApplication::postEvent (view_->page (), moveEvent);
402371
403372 session_->logger ().Log (kFineLogLevel , base::StringPrintf (" mouse move to: %d, %d" ,
404- (int )scenePoint .x (),
405- (int )scenePoint .y ()));
373+ (int )point .x (),
374+ (int )point .y ()));
406375
407376 session_->set_mouse_position (location);
408377}
@@ -426,15 +395,13 @@ void QmlWebViewCmdExecutor::MouseMove(const ElementId& element, Error** error) {
426395 location.Offset (size.width () / 2 , size.height () / 2 );
427396
428397 QPoint point = QCommonUtil::ConvertPointToQPoint (location);
429- QPointF scenePoint = view_->mapToScene (point.x (), point.y ());
430-
431- QGraphicsSceneMouseEvent *moveEvent = new QGraphicsSceneMouseEvent (QEvent::GraphicsSceneMouseMove);
432- moveEvent->setScenePos (scenePoint);
433- QApplication::postEvent (container_->scene (), moveEvent);
398+
399+ QMouseEvent *moveEvent = new QMouseEvent (QEvent::MouseMove, point, Qt::NoButton, Qt::NoButton, Qt::NoModifier);
400+ QApplication::postEvent (view_->page (), moveEvent);
434401
435402 session_->logger ().Log (kFineLogLevel , base::StringPrintf (" mouse move to: %d, %d" ,
436- (int )scenePoint .x (),
437- (int )scenePoint .y ()));
403+ (int )point .x (),
404+ (int )point .y ()));
438405
439406 session_->set_mouse_position (location);
440407}
0 commit comments