From edfcd1a04e537891099b01520e0ab5df8758db1e Mon Sep 17 00:00:00 2001 From: "gavin%gavinsharp.com" Date: Wed, 3 Oct 2007 03:35:36 +0000 Subject: [PATCH] Bug 374723: re-design password manager API and implement in JS rather than C++, patch by Justin Dolske , r=mconnor, r=me git-svn-id: svn://10.0.0.236/trunk@237158 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/browser/modules/Sanitizer.jsm | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/mozilla/browser/modules/Sanitizer.jsm b/mozilla/browser/modules/Sanitizer.jsm index a7a9ca0f21a..3edab6d05e5 100644 --- a/mozilla/browser/modules/Sanitizer.jsm +++ b/mozilla/browser/modules/Sanitizer.jsm @@ -194,24 +194,17 @@ Sanitizer.prototype = { passwords: { clear: function () { - var pwmgr = Components.classes["@mozilla.org/passwordmanager;1"] - .getService(Components.interfaces.nsIPasswordManager); - var e = pwmgr.enumerator; - var passwds = []; - while (e.hasMoreElements()) { - var passwd = e.getNext().QueryInterface(Components.interfaces.nsIPassword); - passwds.push(passwd); - } - - for (var i = 0; i < passwds.length; ++i) - pwmgr.removeUser(passwds[i].host, passwds[i].user); + var pwmgr = Components.classes["@mozilla.org/login-manager;1"] + .getService(Components.interfaces.nsILoginManager); + pwmgr.removeAllLogins(); }, get canClear() { - var pwmgr = Components.classes["@mozilla.org/passwordmanager;1"] - .getService(Components.interfaces.nsIPasswordManager); - return pwmgr.enumerator.hasMoreElements(); + var pwmgr = Components.classes["@mozilla.org/login-manager;1"] + .getService(Components.interfaces.nsILoginManager); + var logins = pwmgr.getAllLogins({}); + return (logins.length > 0); } },