browser_object_follow: do not give $opener for following non-element/window in new...
[conkeror.git] / modules / formfill.js
blob3e698318efe428c1de128643f382ff61e5ddda32
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 in_module(null);
19 interactive("formfill-next",
20     "Select next item in the formfill popup.",
21     function (I) {
22         var p = I.window.document.getElementById("popup_autocomplete");
23         var reverse = false, page = false;
24         p.selectBy(reverse, page);
25     });
27 interactive("formfill-previous",
28     "Select previous item in the formfill popup.",
29     function (I) {
30         var p = I.window.document.getElementById("popup_autocomplete");
31         var reverse = true, page = false;
32         p.selectBy(reverse, page);
33     });
35 function formfill_modality (buffer) {
36     buffer.keymaps.push(formfill_keymap);
39 function formfill_mode (arg, panel) {
40     var buffer = panel.buffer;
41     if (buffer) {
42         var i = buffer.modalities.indexOf(formfill_modality);
43         if (i > -1)
44             buffer.modalities.splice(i, 1);
45         delete panel.buffer;
46     }
47     if (arg) {
48         buffer = panel.ownerDocument.defaultView.buffers.current;
49         buffer.modalities.push(formfill_modality);
50         panel.buffer = buffer;
51     }
52     buffer.set_input_mode();
55 provide("formfill");