Fix lastpass script for latest dwb

This commit is contained in:
Ian Adam Naval 2014-10-23 16:17:19 -04:00
parent d45d49286d
commit a55438fba9

View File

@ -1,11 +1,10 @@
//!javascript //!javascript
Signal.connect("documentLoaded", function(wv, frame) { Signal.connect("documentLoaded", function(wv, frame) {
autofillForm(); autofillForm(frame.document);
}); });
function fillUsername(name, username) { function fillUsername(doc, name, username) {
var doc = tabs.current.focusedFrame.document;
var box = doc.querySelector('input[name="' + name + '"]'); var box = doc.querySelector('input[name="' + name + '"]');
if (!box) { if (!box) {
box = doc.querySelector("input[name*=user]"); box = doc.querySelector("input[name*=user]");
@ -24,8 +23,7 @@ function fillUsername(name, username) {
} }
} }
function fillPassword(name, password) { function fillPassword(doc, name, password) {
var doc = tabs.current.focusedFrame.document;
var box = doc.querySelector('input[name="' + name + '"]'); var box = doc.querySelector('input[name="' + name + '"]');
if (!box) { if (!box) {
box = doc.querySelector("input[type=password]"); box = doc.querySelector("input[type=password]");
@ -51,23 +49,23 @@ function lastPassFind(url, callbacks) {
}); });
} }
function autofillForm() { function autofillForm(doc) {
var username, password; var username, password;
lastPassFind(tabs.current.uri, { lastPassFind(tabs.current.uri, {
onGetUsername: function (val) { onGetUsername: function (val) {
username = val; username = val;
fillUsername("", val); fillUsername(doc, "", val);
}, },
onGetPassword: function (val) { onGetPassword: function (val) {
password = val; password = val;
fillPassword("", val); fillPassword(doc, "", val);
}, },
onGetFieldName: function (line, name) { onGetFieldName: function (line, name) {
if (username && line.indexOf(username) > -1) { if (username && line.indexOf(username) > -1) {
fillUsername(name, username); fillUsername(doc, name, username);
} }
if (password && line.indexOf(password) > -1) { if (password && line.indexOf(password) > -1) {
fillPassword(name, password); fillPassword(doc, name, password);
} }
} }
}); });