diff -r 000000000000 -r 6474c204b198 toolkit/components/passwordmgr/content/passwordManagerCommon.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/components/passwordmgr/content/passwordManagerCommon.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,233 @@ +// -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/*** =================== INITIALISATION CODE =================== ***/ + +var kObserverService; + +// interface variables +var passwordmanager = null; + +// password-manager lists +var signons = []; +var rejects = []; +var deletedSignons = []; +var deletedRejects = []; + +var signonsTree; +var rejectsTree; + +var showingPasswords = false; + +function Startup() { + // xpconnect to password manager interfaces + passwordmanager = Components.classes["@mozilla.org/login-manager;1"] + .getService(Components.interfaces.nsILoginManager); + + // be prepared to reload the display if anything changes + kObserverService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService); + kObserverService.addObserver(signonReloadDisplay, "passwordmgr-storage-changed", false); + + signonsTree = document.getElementById("signonsTree"); + rejectsTree = document.getElementById("rejectsTree"); +} + +function Shutdown() { + kObserverService.removeObserver(signonReloadDisplay, "passwordmgr-storage-changed"); +} + +var signonReloadDisplay = { + observe: function(subject, topic, data) { + if (topic == "passwordmgr-storage-changed") { + switch (data) { + case "addLogin": + case "modifyLogin": + case "removeLogin": + case "removeAllLogins": + if (!signonsTree) { + return; + } + signons.length = 0; + LoadSignons(); + // apply the filter if needed + if (document.getElementById("filter") && document.getElementById("filter").value != "") { + _filterPasswords(); + } + break; + case "hostSavingEnabled": + case "hostSavingDisabled": + if (!rejectsTree) { + return; + } + rejects.length = 0; + if (lastRejectSortColumn == "hostname") { + lastRejectSortAscending = !lastRejectSortAscending; // prevents sort from being reversed + } + LoadRejects(); + break; + } + kObserverService.notifyObservers(null, "passwordmgr-dialog-updated", null); + } + } +} + +/*** =================== GENERAL CODE =================== ***/ + +function DeleteAllFromTree(tree, view, table, deletedTable, removeButton, removeAllButton) { + + // remove all items from table and place in deleted table + for (var i=0; i