diff options
| author | mrmr1993 | 2015-05-29 04:28:58 +0100 |
|---|---|---|
| committer | mrmr1993 | 2015-06-10 17:21:22 +0100 |
| commit | dcc8d6ee0dadf4f7a473ab97bd8e20c282a3c445 (patch) | |
| tree | 1a61d6de3fc5eb20f960c5871f40efba32b51b69 /pages | |
| parent | 4f0cd5ba260f9b23d70bfd816efae43dc64d1e0a (diff) | |
| download | vimium-dcc8d6ee0dadf4f7a473ab97bd8e20c282a3c445.tar.bz2 | |
Accept input in the HUD iframe
Diffstat (limited to 'pages')
| -rw-r--r-- | pages/hud.coffee | 22 | ||||
| -rw-r--r-- | pages/hud.html | 2 |
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> |
