summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/preferences/removemp.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/preferences/removemp.js')
-rw-r--r--toolkit/mozapps/preferences/removemp.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/toolkit/mozapps/preferences/removemp.js b/toolkit/mozapps/preferences/removemp.js
new file mode 100644
index 000000000..1f6356eac
--- /dev/null
+++ b/toolkit/mozapps/preferences/removemp.js
@@ -0,0 +1,56 @@
+// -*- indent-tabs-mode: nil; js-indent-level: 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/. */
+
+var gRemovePasswordDialog = {
+ _token : null,
+ _bundle : null,
+ _prompt : null,
+ _okButton : null,
+ _password : null,
+ init: function ()
+ {
+ this._prompt = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
+ .getService(Components.interfaces.nsIPromptService);
+ this._bundle = document.getElementById("bundlePreferences");
+
+ this._okButton = document.documentElement.getButton("accept");
+ this._okButton.label = this._bundle.getString("pw_remove_button");
+
+ this._password = document.getElementById("password");
+
+ var pk11db = Components.classes["@mozilla.org/security/pk11tokendb;1"]
+ .getService(Components.interfaces.nsIPK11TokenDB);
+ this._token = pk11db.getInternalKeyToken();
+
+ // Initialize the enabled state of the Remove button by checking the
+ // initial value of the password ("" should be incorrect).
+ this.validateInput();
+ },
+
+ validateInput: function ()
+ {
+ this._okButton.disabled = !this._token.checkPassword(this._password.value);
+ },
+
+ removePassword: function ()
+ {
+ if (this._token.checkPassword(this._password.value)) {
+ this._token.changePassword(this._password.value, "");
+ this._prompt.alert(window,
+ this._bundle.getString("pw_change_success_title"),
+ this._bundle.getString("pw_erased_ok")
+ + " " + this._bundle.getString("pw_empty_warning"));
+ }
+ else {
+ this._password.value = "";
+ this._password.focus();
+ this._prompt.alert(window,
+ this._bundle.getString("pw_change_failed_title"),
+ this._bundle.getString("incorrect_pw"));
+ }
+ },
+};
+