diff options
| author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-07-03 16:46:12 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-03 17:07:54 +0200 |
| commit | b346c0f76c6a8f94accd1568c2f0d2c36c1cc11f (patch) | |
| tree | 7f8bb656ac1b96aa71c8122f49ef5233a4984947 | |
| parent | 801fc96bdc0e1b16cb137901cd2c11ef37ae4337 (diff) | |
| download | qtwebkit-b346c0f76c6a8f94accd1568c2f0d2c36c1cc11f.tar.gz | |
[Qt] Handle Return key without key text
https://bugs.webkit.org/show_bug.cgi?id=117239
Reviewed by Andreas Kling.
Source/WebCore:
Test added to tst_qwebpage.cpp.
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::keyTextForKeyEvent):
Source/WebKit/qt:
Test for QKeyEvent(Return_Key) without key text.
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage::inputMethods):
Change-Id: I2e6ee33d90fd740ed2cb17580b1a6fa2f196943f
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
| -rw-r--r-- | Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp | 1 | ||||
| -rw-r--r-- | Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp b/Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp index 470612c63..fc4b726fd 100644 --- a/Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp +++ b/Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp @@ -602,6 +602,7 @@ static String keyTextForKeyEvent(const QKeyEvent* event) if (event->text().isNull()) return ASCIILiteral("\t"); break; + case Qt::Key_Return: case Qt::Key_Enter: if (event->text().isNull()) return ASCIILiteral("\r"); diff --git a/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp index e5abf6b79..fe0332042 100644 --- a/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp +++ b/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp @@ -2322,6 +2322,20 @@ void tst_QWebPage::inputMethods() inputValue2 = page->mainFrame()->evaluateJavaScript("document.getElementById('input5').value").toString(); QCOMPARE(inputValue2, QString("\n\nthird line")); + // Return Key without key text + page->mainFrame()->evaluateJavaScript("var inputEle = document.getElementById('input5'); inputEle.value = ''; inputEle.focus(); inputEle.select();"); + inputValue2 = page->mainFrame()->evaluateJavaScript("document.getElementById('input5').value").toString(); + QCOMPARE(inputValue2, QString("")); + + QKeyEvent keyReturn(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier); + page->event(&keyReturn); + page->event(&eventText); + page->event(&eventText2); + qApp->processEvents(); + + inputValue2 = page->mainFrame()->evaluateJavaScript("document.getElementById('input5').value").toString(); + QCOMPARE(inputValue2, QString("\n\nthird line")); + // END - Newline test for textarea delete container; |
