summaryrefslogtreecommitdiff
path: root/browser/browserview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'browser/browserview.cpp')
-rw-r--r--browser/browserview.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/browser/browserview.cpp b/browser/browserview.cpp
index 947efb0..af32053 100644
--- a/browser/browserview.cpp
+++ b/browser/browserview.cpp
@@ -103,9 +103,19 @@ void BrowserView::loadFinished(bool ok)
m_webview.page()->mainFrame()->addToJavaScriptWindowObject("inputHandler", &m_inputHandler);
m_webview.page()->mainFrame()->evaluateJavaScript(
- "document.addEventListener('focus', function(e){"
- " window.inputHandler.setCurrentFocus(e.target);"
- "}, true);");
+ "(function() {"
+ "var pocCurrentElement = null;"
+ "document.addEventListener('focus', function(e){"
+ " if (pocCurrentElement != e.target) {"
+ " window.inputHandler.setCurrentFocus(e.target);"
+ " pocCurrentElement = e.target;"
+ " }"
+ "}, true);"
+ "document.addEventListener('focusout', function(e){"
+ " pocCurrentElement = e.relatedTarget;"
+ "}, true);"
+ "})()"
+ );
m_webview.page()->mainFrame()->evaluateJavaScript(
"document.addEventListener('scroll', function(){"