diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-06-20 13:38:11 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-06-20 18:27:44 +0200 |
commit | 25ccef35eb19fd656eba2a7abe5419972ed28552 (patch) | |
tree | e0c92532c3c70135d0a547675414e95d21a66822 /tests/auto/widgets/qwebenginepage | |
parent | 3398abfc1b5b789d11592aada0b5860e36a50041 (diff) | |
parent | e91f09947b55dda8a13b2aeb0963836dee2ece8d (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
src/3rdparty
src/core/permission_manager_qt.cpp
src/core/renderer/web_channel_ipc_transport.cpp
src/core/renderer/web_channel_ipc_transport.h
Change-Id: I25fd8ed7c433dadce44d8ac1e39f86e211ec25f0
Diffstat (limited to 'tests/auto/widgets/qwebenginepage')
-rw-r--r-- | tests/auto/widgets/qwebenginepage/BLACKLIST | 3 | ||||
-rw-r--r-- | tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp | 36 |
2 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/widgets/qwebenginepage/BLACKLIST b/tests/auto/widgets/qwebenginepage/BLACKLIST index fcd36ba83..507fb7dbd 100644 --- a/tests/auto/widgets/qwebenginepage/BLACKLIST +++ b/tests/auto/widgets/qwebenginepage/BLACKLIST @@ -1,2 +1,5 @@ [macCopyUnicodeToClipboard] osx + +[getUserMediaRequest] +windows diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index b39c07fc2..2461a588b 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -236,6 +236,7 @@ private Q_SLOTS: void toPlainTextLoadFinishedRace_data(); void toPlainTextLoadFinishedRace(); void setZoomFactor(); + void mouseButtonTranslation(); void printToPdf(); @@ -4886,5 +4887,40 @@ void tst_QWebEnginePage::printToPdf() QCOMPARE(failedInvalidLayoutSpy.waitForResult().length(), 0); } +void tst_QWebEnginePage::mouseButtonTranslation() +{ + QWebEngineView *view = new QWebEngineView; + + QSignalSpy spy(view, SIGNAL(loadFinished(bool))); + view->setHtml(QStringLiteral( + "<html><head><script>\ + var lastEvent = { 'button' : -1 }; \ + function saveLastEvent(event) { console.log(event); lastEvent = event; }; \ + </script></head>\ + <body>\ + <div style=\"height:600px;\" onmousedown=\"saveLastEvent(event)\">\ + </div>\ + </body></html>")); + view->show(); + QTest::qWaitForWindowExposed(view); + QTRY_VERIFY(spy.count() == 1); + + QVERIFY(view->focusProxy() != nullptr); + + QMouseEvent evpres(QEvent::MouseButtonPress, view->rect().center(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + QGuiApplication::sendEvent(view->focusProxy(), &evpres); + + QTRY_COMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.button").toInt(), 0); + QCOMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.buttons").toInt(), 1); + + QMouseEvent evpres2(QEvent::MouseButtonPress, view->rect().center(), Qt::RightButton, Qt::LeftButton | Qt::RightButton, Qt::NoModifier); + QGuiApplication::sendEvent(view->focusProxy(), &evpres2); + + QTRY_COMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.button").toInt(), 2); + QCOMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.buttons").toInt(), 3); + + delete view; +} + QTEST_MAIN(tst_QWebEnginePage) #include "tst_qwebenginepage.moc" |