summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2017-07-13 14:37:18 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2017-07-14 18:49:25 +0000
commit19e5c2057b9f127726018d3e39a62066317a983f (patch)
treefafbd781906eeff88326b10cc3d0ecab40f1ca52 /tests
parenta0f7ba909905ea917f47154cb5b18b8f108e0613 (diff)
Fix propagation of unhandled key press events
Unhandled key presses for printable keys were not received by the parent widget anymore. This was a regression from 5.8.0. The propagation is suppressed if NativeWebKeyboardEvent::skip_in_browser is true. Commit 4501b9d8 accidentally removed the wrong skip_in_browser assignment. Task-number: QTBUG-61621 Change-Id: I7eafa1fac5fb9a7edc4af2bc1aac21c106264713 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index 8509e9a2d..7fbbd63d3 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -447,16 +447,25 @@ void tst_QWebEngineView::unhandledKeyEventPropagation()
QTRY_COMPARE(parentWidget.releaseEvents.size(), 3);
QCOMPARE(evaluateJavaScriptSync(webView.page(), "document.activeElement.id").toString(), QStringLiteral("second_div"));
+ // Focus the button and press 'y'.
+ evaluateJavaScriptSync(webView.page(), "document.getElementById('submit_button').focus()");
+ QTRY_COMPARE(evaluateJavaScriptSync(webView.page(), "document.activeElement.id").toString(), QStringLiteral("submit_button"));
+ QTest::sendKeyEvent(QTest::Press, webView.focusProxy(), Qt::Key_Y, 'y', Qt::NoModifier);
+ QTest::sendKeyEvent(QTest::Release, webView.focusProxy(), Qt::Key_Y, 'y', Qt::NoModifier);
+ QTRY_COMPARE(parentWidget.releaseEvents.size(), 4);
+
// The page will consume the Tab key to change focus between elements while the arrow
// keys won't be used.
- QCOMPARE(parentWidget.pressEvents.size(), 2);
+ QCOMPARE(parentWidget.pressEvents.size(), 3);
QCOMPARE(parentWidget.pressEvents[0].key(), (int)Qt::Key_Right);
QCOMPARE(parentWidget.pressEvents[1].key(), (int)Qt::Key_Left);
+ QCOMPARE(parentWidget.pressEvents[2].key(), (int)Qt::Key_Y);
// Key releases will all come back unconsumed.
QCOMPARE(parentWidget.releaseEvents[0].key(), (int)Qt::Key_Right);
QCOMPARE(parentWidget.releaseEvents[1].key(), (int)Qt::Key_Tab);
QCOMPARE(parentWidget.releaseEvents[2].key(), (int)Qt::Key_Left);
+ QCOMPARE(parentWidget.releaseEvents[3].key(), (int)Qt::Key_Y);
}
void tst_QWebEngineView::horizontalScrollbarTest()