summaryrefslogtreecommitdiffstats
path: root/toolkit/content/aboutSupport.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/aboutSupport.js')
-rw-r--r--toolkit/content/aboutSupport.js22
1 files changed, 17 insertions, 5 deletions
diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
index 016549f43..4e42a5687 100644
--- a/toolkit/content/aboutSupport.js
+++ b/toolkit/content/aboutSupport.js
@@ -879,16 +879,25 @@ function populateActionBox() {
}
}
-// Prompt user to restart the browser in safe mode
-function safeModeRestart() {
+// Prompt user to restart the browser
+function restart(safeMode) {
let cancelQuit = Cc["@mozilla.org/supports-PRBool;1"]
.createInstance(Ci.nsISupportsPRBool);
Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart");
- if (!cancelQuit.data) {
- Services.startup.restartInSafeMode(Ci.nsIAppStartup.eAttemptQuit);
+ if (cancelQuit.data) {
+ return;
+ }
+
+ let flags = Ci.nsIAppStartup.eAttemptQuit;
+
+ if (safeMode) {
+ Services.startup.restartInSafeMode(flags);
+ } else {
+ Services.startup.quit(flags | Ci.nsIAppStartup.eRestart);
}
}
+
/**
* Set up event listeners for buttons.
*/
@@ -915,9 +924,12 @@ function setupEventListeners() {
if (Services.obs.enumerateObservers("restart-in-safe-mode").hasMoreElements()) {
Services.obs.notifyObservers(null, "restart-in-safe-mode", "");
} else {
- safeModeRestart();
+ restart(true);
}
});
+ $("restart-button").addEventListener("click", function(event) {
+ restart(false);
+ });
$("verify-place-integrity-button").addEventListener("click", function(event) {
PlacesDBUtils.checkAndFixDatabase(function(aLog) {
let msg = aLog.join("\n");