Debian package: Add support for xulrunner 18
[conkeror.git] / modules / formfill.js
blob5607357c8be246d54226a9d4500f6b16fb3bf70f
1 /**
2  * (C) Copyright 2010 John J. Foerch
3  *
4  * Use, modification, and distribution are subject to the terms specified in the
5  * COPYING file.
6 **/
8 /*
9 This module manages formfill_keymap, the keymap for interacting with the
10 popup_autocomplete panel.
12 notes for future development:
14 http://mxr.mozilla.org/mozilla-central/source/xpfe/components/autocomplete/resources/content/autocomplete.xml
17 interactive("formfill-next",
18     "Select next item in the formfill popup.",
19     function (I) {
20         var p = I.window.document.getElementById("popup_autocomplete");
21         var reverse = false, page = false;
22         p.selectBy(reverse, page);
23     });
25 interactive("formfill-previous",
26     "Select previous item in the formfill popup.",
27     function (I) {
28         var p = I.window.document.getElementById("popup_autocomplete");
29         var reverse = true, page = false;
30         p.selectBy(reverse, page);
31     });
33 function formfill_modality (buffer) {
34     buffer.keymaps.push(formfill_keymap);
37 function formfill_mode (arg, panel) {
38     var buffer = panel.buffer;
39     if (buffer) {
40         var i = buffer.modalities.indexOf(formfill_modality);
41         if (i > -1)
42             buffer.modalities.splice(i, 1);
43         delete panel.buffer;
44     }
45     if (arg) {
46         buffer = panel.ownerDocument.defaultView.buffers.current;
47         buffer.modalities.push(formfill_modality);
48         panel.buffer = buffer;
49     }
50     buffer.set_input_mode();
53 provide("formfill");