diff options
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/content/aboutSupport.js | 22 | ||||
-rw-r--r-- | toolkit/content/aboutSupport.xhtml | 6 | ||||
-rw-r--r-- | toolkit/locales/en-US/chrome/global/aboutProfiles.dtd | 2 | ||||
-rw-r--r-- | toolkit/locales/en-US/chrome/global/aboutSupport.dtd | 5 | ||||
-rw-r--r-- | toolkit/modules/Troubleshoot.jsm | 13 | ||||
-rw-r--r-- | toolkit/themes/shared/aboutSupport.css | 4 |
6 files changed, 40 insertions, 12 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"); diff --git a/toolkit/content/aboutSupport.xhtml b/toolkit/content/aboutSupport.xhtml index a92dcfb4a..5eb64d437 100644 --- a/toolkit/content/aboutSupport.xhtml +++ b/toolkit/content/aboutSupport.xhtml @@ -44,6 +44,12 @@ &aboutSupport.restartInSafeMode.label; </button> </div> + <div id="restart-box"> + <h3>&aboutSupport.restartTitle;</h3> + <button id="restart-button"> + &aboutSupport.restartNormal.label; + </button> + </div> </div> <h1> diff --git a/toolkit/locales/en-US/chrome/global/aboutProfiles.dtd b/toolkit/locales/en-US/chrome/global/aboutProfiles.dtd index 48e24923e..5091517b2 100644 --- a/toolkit/locales/en-US/chrome/global/aboutProfiles.dtd +++ b/toolkit/locales/en-US/chrome/global/aboutProfiles.dtd @@ -6,5 +6,5 @@ <!ENTITY aboutProfiles.subtitle "This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons."> <!ENTITY aboutProfiles.create "Create a New Profile"> <!ENTITY aboutProfiles.restart.title "Restart"> -<!ENTITY aboutProfiles.restart.inSafeMode "Restart with Add-ons Disabled…"> +<!ENTITY aboutProfiles.restart.inSafeMode "Restart in Safe Mode…"> <!ENTITY aboutProfiles.restart.normal "Restart normally…"> diff --git a/toolkit/locales/en-US/chrome/global/aboutSupport.dtd b/toolkit/locales/en-US/chrome/global/aboutSupport.dtd index 8459300c5..a0dd3531b 100644 --- a/toolkit/locales/en-US/chrome/global/aboutSupport.dtd +++ b/toolkit/locales/en-US/chrome/global/aboutSupport.dtd @@ -110,7 +110,10 @@ variant of aboutSupport.showDir.label. --> <!ENTITY aboutSupport.copyRawDataToClipboard.label "Copy raw data to clipboard"> <!ENTITY aboutSupport.safeModeTitle "Try Safe Mode"> -<!ENTITY aboutSupport.restartInSafeMode.label "Restart with Add-ons Disabled…"> +<!ENTITY aboutSupport.restartInSafeMode.label "Restart in Safe Mode…"> + +<!ENTITY aboutSupport.restartTitle "Try Restart"> +<!ENTITY aboutSupport.restartNormal.label "Restart normally…"> <!ENTITY aboutSupport.graphicsFeaturesTitle "Features"> <!ENTITY aboutSupport.graphicsDiagnosticsTitle "Diagnostics"> diff --git a/toolkit/modules/Troubleshoot.jsm b/toolkit/modules/Troubleshoot.jsm index 20aad6770..4c6ac558d 100644 --- a/toolkit/modules/Troubleshoot.jsm +++ b/toolkit/modules/Troubleshoot.jsm @@ -347,11 +347,14 @@ var dataProviders = { QueryInterface(Ci.nsIInterfaceRequestor). getInterface(Ci.nsIDOMWindowUtils) data.supportsHardwareH264 = "Unknown"; - let promise = winUtils.supportsHardwareH264Decoding; - promise.then(function(v) { - data.supportsHardwareH264 = v; - }); - promises.push(promise); + try { + // After restart - data may not be available + let promise = winUtils.supportsHardwareH264Decoding; + promise.then(function(v) { + data.supportsHardwareH264 = v; + }); + promises.push(promise); + } catch (e) {} data.currentAudioBackend = winUtils.currentAudioBackend; diff --git a/toolkit/themes/shared/aboutSupport.css b/toolkit/themes/shared/aboutSupport.css index d26cd3cbd..69e6a95b4 100644 --- a/toolkit/themes/shared/aboutSupport.css +++ b/toolkit/themes/shared/aboutSupport.css @@ -99,6 +99,10 @@ td { width: 30%; } +#contents { + clear: right; +} + #action-box, #reset-box, #safe-mode-box { |