key-kill-mode: a page-mode for blocking keyup and keydown events
[conkeror.git] / modules / page-modes / key-kill.js
blob61f79c62d21d491fa1a7517f1239aba00e8decd2
1 /**
2  * (C) Copyright 2013 John J Foerch
3  *
4  * Use, modification, and distribution are subject to the terms specified in the
5  * COPYING file.
6 **/
8 function key_kill_event_kill (event) {
9     var elem = event.target;
10     if (elem instanceof Ci.nsIDOMHTMLInputElement ||
11         elem instanceof Ci.nsIDOMHTMLTextAreaElement)
12     {
13         return;
14     }
15     event_kill(event);
18 define_page_mode("key-kill-mode",
19     [],
20     function enable (buffer) {
21         buffer.browser.addEventListener("keyup", key_kill_event_kill, true);
22         buffer.browser.addEventListener("keydown", key_kill_event_kill, true);
23     },
24     function disable (buffer) {
25         buffer.browser.removeEventListener("keyup", key_kill_event_kill, true);
26         buffer.browser.removeEventListener("keydown", key_kill_event_kill, true);
27     },
28     $display_name = "Key-kill");
30 page_mode_activate(key_kill_mode);
32 provide("key-kill");