summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty')
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog17
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/resources/input_types.html5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp19
5 files changed, 47 insertions, 3 deletions
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 358024b..7c85fcd 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -8,4 +8,4 @@ The commit imported was from the
and has the sha1 checksum
- d521d7d81e8f0297c94be9ebd8af67ee130d0edb
+ bbff6182e525fcf58dbc7426a1fbbf8f31588214
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 7d419d5..c99109f 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,20 @@
+2010-08-05 David Leong <david.leong@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Input mode states are not reset after entering a password field
+ https://bugs.webkit.org/show_bug.cgi?id=43530
+
+ Input mode hints are not reset if clicking on password <input> elements then
+ clicking on <textarea> elements
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::setInputMethodState):
+ * tests/qwebview/resources/input_types.html:
+ * tests/qwebview/tst_qwebview.cpp:
+ (tst_QWebView::focusInputTypes):
+
+
2010-07-27 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index cb0758b..b48ea92 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -601,6 +601,13 @@ void EditorClientQt::setInputMethodState(bool active)
QWebPageClient* webPageClient = m_page->d->client;
if (webPageClient) {
#if QT_VERSION >= 0x040600
+ // Make sure to reset input method hint
+ webPageClient->setInputMethodHint(Qt::ImhDialableCharactersOnly, false);
+ webPageClient->setInputMethodHint(Qt::ImhDigitsOnly, false);
+ webPageClient->setInputMethodHint(Qt::ImhEmailCharactersOnly, false);
+ webPageClient->setInputMethodHint(Qt::ImhUrlCharactersOnly, false);
+ webPageClient->setInputMethodHint(Qt::ImhHiddenText, false);
+
HTMLInputElement* inputElement = 0;
Frame* frame = m_page->d->page->focusController()->focusedOrMainFrame();
if (frame && frame->document() && frame->document()->focusedNode())
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/resources/input_types.html b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/resources/input_types.html
index 18ab314..2e893af 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/resources/input_types.html
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/resources/input_types.html
@@ -4,5 +4,6 @@
<input type='tel' style='position: absolute; left: 10px; top: 100px; height: 50px; width: 100px;'/><br>
<input type='number' style='position: absolute; left: 10px; top: 150px; height: 50px; width: 100px;'/><br>
<input type='email' style='position: absolute; left: 10px; top: 200px; height: 50px; width: 100px;'/><br>
-<input type='url' style='position: absolute; left: 10px; top: 250px; height: 50px; width: 100px;'/><br>"
-</body></html> \ No newline at end of file
+<input type='url' style='position: absolute; left: 10px; top: 250px; height: 50px; width: 100px;'/><br>
+<textarea style='position: absolute; left: 10px; top: 310px; height: 50px; width: 100px;' rows="2" cols="20">blah blah blah blah</textarea><br>
+</body></html>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
index facee59..14f2362 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
@@ -251,30 +251,37 @@ void tst_QWebView::focusInputTypes()
#else
QVERIFY(webView->inputMethodHints() == Qt::ImhNone);
#endif
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
// 'password' field
webView->fireMouseClick(QPoint(20, 60));
QVERIFY(webView->inputMethodHints() == Qt::ImhHiddenText);
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
// 'tel' field
webView->fireMouseClick(QPoint(20, 110));
QVERIFY(webView->inputMethodHints() == Qt::ImhDialableCharactersOnly);
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
// 'number' field
webView->fireMouseClick(QPoint(20, 160));
QVERIFY(webView->inputMethodHints() == Qt::ImhDigitsOnly);
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
// 'email' field
webView->fireMouseClick(QPoint(20, 210));
QVERIFY(webView->inputMethodHints() == Qt::ImhEmailCharactersOnly);
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
// 'url' field
webView->fireMouseClick(QPoint(20, 260));
QVERIFY(webView->inputMethodHints() == Qt::ImhUrlCharactersOnly);
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
// 'password' field
webView->fireMouseClick(QPoint(20, 60));
QVERIFY(webView->inputMethodHints() == Qt::ImhHiddenText);
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
// 'text' type
webView->fireMouseClick(QPoint(20, 10));
@@ -284,6 +291,18 @@ void tst_QWebView::focusInputTypes()
#else
QVERIFY(webView->inputMethodHints() == Qt::ImhNone);
#endif
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
+
+ // 'password' field
+ webView->fireMouseClick(QPoint(20, 60));
+ QVERIFY(webView->inputMethodHints() == Qt::ImhHiddenText);
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
+
+ qWarning("clicking on text area");
+ // 'text area' field
+ webView->fireMouseClick(QPoint(20, 320));
+ QVERIFY(webView->inputMethodHints() == Qt::ImhNone);
+ QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled));
delete webView;