summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-03-13 15:35:48 +0100
committerJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-03-13 16:17:40 +0100
commitaf0305718b948ec04aa5ee9b3abfcb773ecf9865 (patch)
treebc7efc0b8591d1267a800f6a99afdbd81379bd97
parent857cdcf6521ed89e84c6eb03d5c6c9376d5c6537 (diff)
downloadbrowser-poc-af0305718b948ec04aa5ee9b3abfcb773ecf9865.tar.gz
Fixed bug where text boxes needed un-focus in order to trigger input signal upon re-focus. Click is now enough
-rw-r--r--browser/browserview.cpp5
-rw-r--r--browser/unit-tests/browserdbus/testbrowserdbus.cpp17
-rw-r--r--browser/unit-tests/browserdbus/testbrowserdbus.h1
3 files changed, 23 insertions, 0 deletions
diff --git a/browser/browserview.cpp b/browser/browserview.cpp
index 7368ae3..54b1365 100644
--- a/browser/browserview.cpp
+++ b/browser/browserview.cpp
@@ -117,6 +117,11 @@ void BrowserView::loadFinished(bool ok)
" pocCurrentElement = e.target;"
" }"
"}, true);"
+ "document.addEventListener('click', function(e){"
+ " e.target.setAttribute('value', e.target.value);"
+ " window.inputHandler.setCurrentFocus(e.target);"
+ " pocCurrentElement = e.target;"
+ "}, true);"
"document.addEventListener('focusout', function(e){"
" pocCurrentElement = e.relatedTarget;"
"}, true);"
diff --git a/browser/unit-tests/browserdbus/testbrowserdbus.cpp b/browser/unit-tests/browserdbus/testbrowserdbus.cpp
index 4d60cd9..8a7d77a 100644
--- a/browser/unit-tests/browserdbus/testbrowserdbus.cpp
+++ b/browser/unit-tests/browserdbus/testbrowserdbus.cpp
@@ -469,4 +469,21 @@ void TestBrowserDBus::testNewTextReplacesOldText() {
QVERIFY(prevValue == "New text!");
}
+void TestBrowserDBus::testDoesntNeedUnfocusToTriggerInputSignal() {
+ QSignalSpy spy (m_bdb, SIGNAL (onInputTextReceived(QString, QString, conn::brw::INPUT_ELEMENT_TYPE, int, int, int, int)));
+ m_bdb->createPageWindow(1,0,0,800,600);
+ m_bdb->loadurl(testFileUrl());
+ QTest::qSleep(300);
+ QProcess::execute("xdotool mousemove 200 350");
+ QProcess::execute("xdotool click 1");
+ QVERIFY(spy.wait(1000));
+ m_bdb->inputText(conn::brw::DR_OK, "Hello world");
+ QTest::qSleep(300);
+ QProcess::execute("xdotool mousemove 200 350");
+ QProcess::execute("xdotool click 1");
+ QVERIFY(spy.wait(1000));
+ QString prevValue = spy.last().at(1).value<QString>();
+ QVERIFY(prevValue == "Hello world");
+}
+
QTEST_MAIN (TestBrowserDBus);
diff --git a/browser/unit-tests/browserdbus/testbrowserdbus.h b/browser/unit-tests/browserdbus/testbrowserdbus.h
index 3be6fac..e06c65d 100644
--- a/browser/unit-tests/browserdbus/testbrowserdbus.h
+++ b/browser/unit-tests/browserdbus/testbrowserdbus.h
@@ -58,6 +58,7 @@ private slots:
void testCanSelectOptionsInSelectList();
void testGetOldInputText();
void testNewTextReplacesOldText();
+ void testDoesntNeedUnfocusToTriggerInputSignal();
private: