home *** CD-ROM | disk | FTP | other *** search
- //TODO JVL: Dupe in masterpassword.js const nsPK11TokenDB = "@mozilla.org/security/pk11tokendb;1";
- //TODO JVL: Dupe in masterpassword.js const nsIPK11TokenDB = Components.interfaces.nsIPK11TokenDB;
-
- var gpk11dbService = null;
- var gToken = null;
- var proceed;
-
- /**
- * Handle on load event
- **/
- function ChildPassword_OnLoad()
- {
- var dialogTitle = window.arguments[0];
- var passwordLabel = window.arguments[1];
- //dump("Dialog Title: " + dialogTitle + ", Password Label: " + passwordLabel + "\n");
-
- if (dialogTitle != "")
- document.getElementById("SimplePasswordPrompt").setAttribute("title", dialogTitle);
- if (passwordLabel != "")
- document.getElementById("passwordLabel").value = passwordLabel;
- }
-
- /**
- * Handle Cancel event
- **/
- function ChildPassword_OnCancel()
- {
- proceed.result = "CANCEL";
- }
-
- /**
- * Handle on textbox change event
- **/
- function ChildPassword_OnTextChange()
- {
- if (proceed.errorMessage == "")
- return;
-
- proceed.errorMessage = "";
- document.getElementById("errorMessage").value = "";
- }
-
- /**
- * Handle on load event
- **/
- function SimplePassword_OnLoad()
- {
- ChildPassword_OnLoad();
- document.getElementById("password").value = "";
-
- proceed = window.arguments[2];
- if (proceed)
- document.getElementById("errorMessage").value = proceed.errorMessage;
- }
-
- /**
- * Handle OK event for the Simple Password dialog
- **/
- function SimplePassword_OnOK()
- {
- if (IsMatchingMasterPassword(document.getElementById("password").value))
- {
- proceed.result = "OK";
- return true;
- }
- else
- {
- proceed.errorMessage = GetStringLocale("passwordError");
- document.getElementById("errorMessage").value = proceed.errorMessage;
- return false;
- }
- }
-
- /**
- * Handle on load event
- **/
- function ConfirmPassword_OnLoad()
- {
- document.getElementById("oldPass").value = "";
- document.getElementById("newPass").value = "";
- document.getElementById("confirmPass").value = "";
-
- proceed = window.arguments[0];
- if (proceed)
- {
- document.getElementById("errorMessage").value = proceed.errorMessage;
- if (proceed.password.length <= 0)
- document.getElementById("oldPass").setAttribute("disabled", true);
- }
- }
-
- /**
- * Handle OK event for the Confirm Password dialog
- **/
- function ConfirmPassword_OnOK()
- {
- var password = document.getElementById("newPass").value;
- if (proceed.password == document.getElementById("oldPass").value)
- {
- if (password == document.getElementById("confirmPass").value)
- {
- proceed.password = password;
- proceed.result = "OK";
- }
- else
- {
- proceed.errorMessage = GetStringLocale("newPasswordError");
- }
- }
- else
- {
- proceed.errorMessage = GetStringLocale("oldPasswordError");
- }
- window.close();
- }
-
- /**
- * Get the localized string
- **/
- function GetStringLocale(val)
- {
- if (val.length > 0)
- {
- var bundle = document.getElementById("formfillpasscardBundle");
- if (bundle)
- return bundle.getString(val);
- }
- return "";
- }
-
- /**
- * Check if the Master Password matches the given password
- * Note: Duplicated from masterpassword.js
- **/
- function IsMatchingMasterPassword(againstPassword)
- {
- var tokenName = "";
-
- if (gpk11dbService == null)
- {
- gpk11dbService = Components.classes[nsPK11TokenDB].getService(nsIPK11TokenDB);
- if (gpk11dbService && gToken == null)
- gToken = gpk11dbService.findTokenByName(tokenName);
- }
-
- if (gToken == null)
- return false;
-
- return gToken.checkPassword(againstPassword);
- }
-