aboutsummaryrefslogtreecommitdiffstats
path: root/pages
diff options
context:
space:
mode:
authormrmr19932015-05-29 04:28:58 +0100
committermrmr19932015-06-10 17:21:22 +0100
commitdcc8d6ee0dadf4f7a473ab97bd8e20c282a3c445 (patch)
tree1a61d6de3fc5eb20f960c5871f40efba32b51b69 /pages
parent4f0cd5ba260f9b23d70bfd816efae43dc64d1e0a (diff)
downloadvimium-dcc8d6ee0dadf4f7a473ab97bd8e20c282a3c445.tar.bz2
Accept input in the HUD iframe
Diffstat (limited to 'pages')
-rw-r--r--pages/hud.coffee22
-rw-r--r--pages/hud.html2
2 files changed, 24 insertions, 0 deletions
diff --git a/pages/hud.coffee b/pages/hud.coffee
index 130d866f..c5a4130d 100644
--- a/pages/hud.coffee
+++ b/pages/hud.coffee
@@ -1,3 +1,20 @@
+document.addEventListener "keydown", (event) ->
+ inputElement = document.getElementById "hud-find-input"
+ return unless inputElement? # Don't do anything if we're not in find mode.
+ transferrableEvent = {}
+ for key, value of event
+ transferrableEvent[key] = value if typeof value in ["number", "string"]
+
+ if (event.keyCode in [keyCodes.backspace, keyCodes.deleteKey] and inputElement.textContent.length == 0) or
+ event.keyCode in [keyCodes.enter, keyCodes.upArrow, keyCodes.downArrow] or
+ KeyboardUtils.isEscape event
+
+ DomUtils.suppressEvent event
+ UIComponentServer.postMessage
+ name: "hideFindMode"
+ event: transferrableEvent
+ query: inputElement.textContent
+
handlers =
show: (data) ->
document.getElementById("hud").innerText = data.text
@@ -15,13 +32,18 @@ handlers =
hud.innerText = "/"
inputElement = document.createElement "span"
+ inputElement.contentEditable = "plaintext-only"
inputElement.textContent = data.text
inputElement.id = "hud-find-input"
hud.appendChild inputElement
+ inputElement.addEventListener "input", (event) ->
+ UIComponentServer.postMessage {name: "search", query: inputElement.textContent}
+
countElement = document.createElement "span"
countElement.id = "hud-match-count"
hud.appendChild countElement
+ inputElement.focus()
UIComponentServer.postMessage {name: "search", query: inputElement.textContent}
diff --git a/pages/hud.html b/pages/hud.html
index bcb38e04..031c2fbf 100644
--- a/pages/hud.html
+++ b/pages/hud.html
@@ -2,6 +2,8 @@
<head>
<title>HUD</title>
<link rel="stylesheet" type="text/css" href="../content_scripts/vimium.css" />
+ <script type="text/javascript" src="../lib/dom_utils.js"></script>
+ <script type="text/javascript" src="../lib/keyboard_utils.js"></script>
<script type="text/javascript" src="ui_component_server.js"></script>
<script type="text/javascript" src="hud.js"></script>
</head>