mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 23:06:52 +00:00
240cfdae23
- Bug 1195615 - Log a web console warning when a HPKP header is ignored due to a non-built in root cert. r=keeler (dcd24f0163) - Bug 1156865 - Re-enable RDP logging in debugger xpcshell tests; r=jlongster (cb82a79d32) - Bug 848502 - Add a context menu to the debugger sources panel. r=vporof (58a299ded4) - Bug 1145262 - Modularize the pane views in the debugger. r=fitzgen (64b9eca0b5) - Bug 1145262 - Modularize the toolbar views in the debugger. r=fitzgen (c827d2ed92) - Bug 1167957 - Remove spidermonkey specific JS from debugger (795b7d00fb) - Bug 1160199 - Implement TabActor.listWorkers;r=jlong (b11fef647b) - Bug 1164077 - Implement WorkerActor.attach;r=jlong (d3c0a7c820) - Bug 1164564 - Clean up the helper functions for the debugger tests;r=jlong (b5d3bbbc99) - Bug 1164564 - Define an instance of the worker loader for worker threads;r=jlong (4eac1636b3) - Bug 1164564 - Implement WorkerActor.attachThread;r=jlong (fe1ac8ba3d) - Bug 1169343 - Implement DebuggerView.Workers;r=jlong (12996e5440) - Bug 1171967 - Emit newSource events on ThreadClient instead of DebuggerClient;r=pbrosset (417dce4d13) - Bug 1171967 - Implement WorkerTarget;r=jlong (c8963b9b35) - Bug 1189587: Tighten signature of pref_HashTableLookup. r=njn (de84745d54) - Bug 1188205 - Fix more constructors in netwerk; r=mcmanus (afcf42b3f8) - namespaces (867f2a3213) - Bug 1181319 - Correctly use NS_DECL_ISUPPORTS_INHERITED instead of NS_DECL_ISUPPORTS for DataChannelChild. r=mcmanus (bbe6681ea0) - Bug 1163909 - Remove nsFtpState::mSessionStartTime, which is dead. r=mcmanus. (f7c218ed91) - Bug 1170837 - Make nsMultiMixedConv not return an error when served only a package's metadata from the cache r=honzab (afb0684b1d)
210 lines
7.4 KiB
JavaScript
210 lines
7.4 KiB
JavaScript
/* 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/. */
|
|
"use strict";
|
|
|
|
// A time interval sufficient for the options popup panel to finish hiding
|
|
// itself.
|
|
const POPUP_HIDDEN_DELAY = 100; // ms
|
|
|
|
/**
|
|
* Functions handling the options UI.
|
|
*/
|
|
function OptionsView(DebuggerController, DebuggerView) {
|
|
dumpn("OptionsView was instantiated");
|
|
|
|
this.DebuggerController = DebuggerController;
|
|
this.DebuggerView = DebuggerView;
|
|
|
|
this._toggleAutoPrettyPrint = this._toggleAutoPrettyPrint.bind(this);
|
|
this._togglePauseOnExceptions = this._togglePauseOnExceptions.bind(this);
|
|
this._toggleIgnoreCaughtExceptions = this._toggleIgnoreCaughtExceptions.bind(this);
|
|
this._toggleShowPanesOnStartup = this._toggleShowPanesOnStartup.bind(this);
|
|
this._toggleShowVariablesOnlyEnum = this._toggleShowVariablesOnlyEnum.bind(this);
|
|
this._toggleShowVariablesFilterBox = this._toggleShowVariablesFilterBox.bind(this);
|
|
this._toggleShowOriginalSource = this._toggleShowOriginalSource.bind(this);
|
|
this._toggleAutoBlackBox = this._toggleAutoBlackBox.bind(this);
|
|
}
|
|
|
|
OptionsView.prototype = {
|
|
/**
|
|
* Initialization function, called when the debugger is started.
|
|
*/
|
|
initialize: function() {
|
|
dumpn("Initializing the OptionsView");
|
|
|
|
this._button = document.getElementById("debugger-options");
|
|
this._autoPrettyPrint = document.getElementById("auto-pretty-print");
|
|
this._pauseOnExceptionsItem = document.getElementById("pause-on-exceptions");
|
|
this._ignoreCaughtExceptionsItem = document.getElementById("ignore-caught-exceptions");
|
|
this._showPanesOnStartupItem = document.getElementById("show-panes-on-startup");
|
|
this._showVariablesOnlyEnumItem = document.getElementById("show-vars-only-enum");
|
|
this._showVariablesFilterBoxItem = document.getElementById("show-vars-filter-box");
|
|
this._showOriginalSourceItem = document.getElementById("show-original-source");
|
|
this._autoBlackBoxItem = document.getElementById("auto-black-box");
|
|
|
|
this._autoPrettyPrint.setAttribute("checked", Prefs.autoPrettyPrint);
|
|
this._pauseOnExceptionsItem.setAttribute("checked", Prefs.pauseOnExceptions);
|
|
this._ignoreCaughtExceptionsItem.setAttribute("checked", Prefs.ignoreCaughtExceptions);
|
|
this._showPanesOnStartupItem.setAttribute("checked", Prefs.panesVisibleOnStartup);
|
|
this._showVariablesOnlyEnumItem.setAttribute("checked", Prefs.variablesOnlyEnumVisible);
|
|
this._showVariablesFilterBoxItem.setAttribute("checked", Prefs.variablesSearchboxVisible);
|
|
this._showOriginalSourceItem.setAttribute("checked", Prefs.sourceMapsEnabled);
|
|
this._autoBlackBoxItem.setAttribute("checked", Prefs.autoBlackBox);
|
|
|
|
this._addCommands();
|
|
},
|
|
|
|
/**
|
|
* Destruction function, called when the debugger is closed.
|
|
*/
|
|
destroy: function() {
|
|
dumpn("Destroying the OptionsView");
|
|
// Nothing to do here yet.
|
|
},
|
|
|
|
/**
|
|
* Add commands that XUL can fire.
|
|
*/
|
|
_addCommands: function() {
|
|
XULUtils.addCommands(document.getElementById('debuggerCommands'), {
|
|
toggleAutoPrettyPrint: () => this._toggleAutoPrettyPrint(),
|
|
togglePauseOnExceptions: () => this._togglePauseOnExceptions(),
|
|
toggleIgnoreCaughtExceptions: () => this._toggleIgnoreCaughtExceptions(),
|
|
toggleShowPanesOnStartup: () => this._toggleShowPanesOnStartup(),
|
|
toggleShowOnlyEnum: () => this._toggleShowVariablesOnlyEnum(),
|
|
toggleShowVariablesFilterBox: () => this._toggleShowVariablesFilterBox(),
|
|
toggleShowOriginalSource: () => this._toggleShowOriginalSource(),
|
|
toggleAutoBlackBox: () => this._toggleAutoBlackBox()
|
|
});
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'gear menu' popup showing event.
|
|
*/
|
|
_onPopupShowing: function() {
|
|
this._button.setAttribute("open", "true");
|
|
window.emit(EVENTS.OPTIONS_POPUP_SHOWING);
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'gear menu' popup hiding event.
|
|
*/
|
|
_onPopupHiding: function() {
|
|
this._button.removeAttribute("open");
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'gear menu' popup hidden event.
|
|
*/
|
|
_onPopupHidden: function() {
|
|
window.emit(EVENTS.OPTIONS_POPUP_HIDDEN);
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'auto pretty print' menuitem command.
|
|
*/
|
|
_toggleAutoPrettyPrint: function(){
|
|
Prefs.autoPrettyPrint =
|
|
this._autoPrettyPrint.getAttribute("checked") == "true";
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'pause on exceptions' menuitem command.
|
|
*/
|
|
_togglePauseOnExceptions: function() {
|
|
Prefs.pauseOnExceptions =
|
|
this._pauseOnExceptionsItem.getAttribute("checked") == "true";
|
|
|
|
this.DebuggerController.activeThread.pauseOnExceptions(
|
|
Prefs.pauseOnExceptions,
|
|
Prefs.ignoreCaughtExceptions);
|
|
},
|
|
|
|
_toggleIgnoreCaughtExceptions: function() {
|
|
Prefs.ignoreCaughtExceptions =
|
|
this._ignoreCaughtExceptionsItem.getAttribute("checked") == "true";
|
|
|
|
this.DebuggerController.activeThread.pauseOnExceptions(
|
|
Prefs.pauseOnExceptions,
|
|
Prefs.ignoreCaughtExceptions);
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'show panes on startup' menuitem command.
|
|
*/
|
|
_toggleShowPanesOnStartup: function() {
|
|
Prefs.panesVisibleOnStartup =
|
|
this._showPanesOnStartupItem.getAttribute("checked") == "true";
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'show non-enumerables' menuitem command.
|
|
*/
|
|
_toggleShowVariablesOnlyEnum: function() {
|
|
let pref = Prefs.variablesOnlyEnumVisible =
|
|
this._showVariablesOnlyEnumItem.getAttribute("checked") == "true";
|
|
|
|
this.DebuggerView.Variables.onlyEnumVisible = pref;
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'show variables searchbox' menuitem command.
|
|
*/
|
|
_toggleShowVariablesFilterBox: function() {
|
|
let pref = Prefs.variablesSearchboxVisible =
|
|
this._showVariablesFilterBoxItem.getAttribute("checked") == "true";
|
|
|
|
this.DebuggerView.Variables.searchEnabled = pref;
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'show original source' menuitem command.
|
|
*/
|
|
_toggleShowOriginalSource: function() {
|
|
let pref = Prefs.sourceMapsEnabled =
|
|
this._showOriginalSourceItem.getAttribute("checked") == "true";
|
|
|
|
// Don't block the UI while reconfiguring the server.
|
|
window.once(EVENTS.OPTIONS_POPUP_HIDDEN, () => {
|
|
// The popup panel needs more time to hide after triggering onpopuphidden.
|
|
window.setTimeout(() => {
|
|
this.DebuggerController.reconfigureThread({
|
|
useSourceMaps: pref,
|
|
autoBlackBox: Prefs.autoBlackBox
|
|
});
|
|
}, POPUP_HIDDEN_DELAY);
|
|
});
|
|
},
|
|
|
|
/**
|
|
* Listener handling the 'automatically black box minified sources' menuitem
|
|
* command.
|
|
*/
|
|
_toggleAutoBlackBox: function() {
|
|
let pref = Prefs.autoBlackBox =
|
|
this._autoBlackBoxItem.getAttribute("checked") == "true";
|
|
|
|
// Don't block the UI while reconfiguring the server.
|
|
window.once(EVENTS.OPTIONS_POPUP_HIDDEN, () => {
|
|
// The popup panel needs more time to hide after triggering onpopuphidden.
|
|
window.setTimeout(() => {
|
|
this.DebuggerController.reconfigureThread({
|
|
useSourceMaps: Prefs.sourceMapsEnabled,
|
|
autoBlackBox: pref
|
|
});
|
|
}, POPUP_HIDDEN_DELAY);
|
|
});
|
|
},
|
|
|
|
_button: null,
|
|
_pauseOnExceptionsItem: null,
|
|
_showPanesOnStartupItem: null,
|
|
_showVariablesOnlyEnumItem: null,
|
|
_showVariablesFilterBoxItem: null,
|
|
_showOriginalSourceItem: null,
|
|
_autoBlackBoxItem: null
|
|
};
|
|
|
|
DebuggerView.Options = new OptionsView(DebuggerController, DebuggerView);
|