Bug 1385452 - Add a keyboard shortcut in local builds to restart the browser;r=mossop

MozReview-Commit-ID: Du4PTPawzhm

--HG--
extra : rebase_source : fbfca40a61b21fd06463e7075b9e1c8f758cc52d
This commit is contained in:
Brian Grinstead 2017-08-08 11:35:47 -07:00
Родитель d47ade8089
Коммит 74f3a35a6d
4 изменённых файлов: 58 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,48 @@
/* 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/. */
/**
* Extra features for local development. This file isn't loaded in
* non-local builds.
*/
var DevelopmentHelpers = {
init() {
this.quickRestart = this.quickRestart.bind(this);
this.addRestartShortcut();
},
quickRestart() {
Services.obs.notifyObservers(null, "startupcache-invalidate");
let env = Cc["@mozilla.org/process/environment;1"].
getService(Components.interfaces.nsIEnvironment);
env.set("MOZ_DISABLE_SAFE_MODE_KEY", "1");
Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
},
addRestartShortcut() {
let command = document.createElement("command");
command.setAttribute("id", "cmd_quickRestart");
command.addEventListener("command", this.quickRestart, true);
command.setAttribute("oncommand", "void 0;"); // Needed - bug 371900
document.getElementById("mainCommandSet").prepend(command);
let key = document.createElement("key");
key.setAttribute("id", "key_quickRestart");
key.setAttribute("key", "r");
key.setAttribute("modifiers", "accel,alt");
key.setAttribute("command", "cmd_quickRestart");
key.setAttribute("oncommand", "void 0;"); // Needed - bug 371900
document.getElementById("mainKeyset").prepend(key);
let menuitem = document.createElement("menuitem");
menuitem.setAttribute("id", "menu_FileRestartItem");
menuitem.setAttribute("key", "key_quickRestart");
menuitem.setAttribute("label", "Restart (Developer)");
menuitem.addEventListener("command", this.quickRestart, true);
document.getElementById("menu_FilePopup").appendChild(menuitem);
},
};

Просмотреть файл

@ -1688,6 +1688,9 @@ var gBrowserInit = {
if (AppConstants.MOZ_DATA_REPORTING)
gDataNotificationInfoBar.init();
if (!AppConstants.MOZILLA_OFFICIAL)
DevelopmentHelpers.init();
requestIdleCallback(() => {
// setup simple gestures support
gGestureSupport.init(true);

Просмотреть файл

@ -23,3 +23,7 @@
#ifdef MOZ_DATA_REPORTING
<script type="application/javascript" src="chrome://browser/content/browser-data-submission-info-bar.js"/>
#endif
#ifndef MOZILLA_OFFICIAL
<script type="application/javascript" src="chrome://browser/content/browser-development-helpers.js"/>
#endif

Просмотреть файл

@ -69,6 +69,9 @@ browser.jar:
content/browser/browser-customization.js (content/browser-customization.js)
content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
content/browser/browser-compacttheme.js (content/browser-compacttheme.js)
#ifndef MOZILLA_OFFICIAL
content/browser/browser-development-helpers.js (content/browser-development-helpers.js)
#endif
content/browser/browser-feeds.js (content/browser-feeds.js)
content/browser/browser-fullScreenAndPointerLock.js (content/browser-fullScreenAndPointerLock.js)
content/browser/browser-fullZoom.js (content/browser-fullZoom.js)