mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-29 15:52:07 +00:00
- venkman only -
remove debug dumps in variious getContext functions warning cleanup in outliner-utils.js add chrome-filter command to set the state of console.enableChromeFilter if on, chrome files will not be displayed in the scripts view, and they will be filtered by the debugger service. If off, chrome files will be treated the same as others. chrome files are identified by a leading "chrome:" in the url. add "Display Browser Files" checkitem to View menu. add |feedback| function, which calls |display| only if the event began at the console. fix async loading issue in SourceText.loadSource fix boolean pref getter in venkman-prefs.js
This commit is contained in:
parent
8605704b12
commit
7544d3415d
@ -331,13 +331,18 @@ TreeOViewRecord.prototype.isContainerOpen = false;
|
||||
TreeOViewRecord.prototype.findContainerTree =
|
||||
function tovr_gettree ()
|
||||
{
|
||||
var parent = this.parentRecord
|
||||
if (!("parentRecord" in this))
|
||||
return null;
|
||||
var parent = this.parentRecord;
|
||||
|
||||
while (parent)
|
||||
{
|
||||
if ("_treeView" in parent)
|
||||
return parent._treeView;
|
||||
parent = parent.parentRecord
|
||||
if ("parentRecord" in parent)
|
||||
parent = parent.parentRecord;
|
||||
else
|
||||
parent = null;
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -553,8 +558,13 @@ function tovr_appchild (child)
|
||||
{
|
||||
if (this.calculateVisualRow() >= 0)
|
||||
{
|
||||
this.resort(true); /* resort, don't invalidate. we're going to do
|
||||
* that in the onVisualFootprintChanged call. */
|
||||
var tree = this.findContainerTree();
|
||||
if (tree && tree.frozen)
|
||||
this.needsResort = true;
|
||||
else
|
||||
this.resort(true); /* resort, don't invalidate. we're going
|
||||
* to do that in the
|
||||
* onVisualFootprintChanged call. */
|
||||
}
|
||||
this.onVisualFootprintChanged(child.calculateVisualRow(),
|
||||
child.visualFootprint);
|
||||
@ -627,7 +637,8 @@ function tovr_hide ()
|
||||
this.isHidden = true;
|
||||
/* go right to the parent so we don't muck with our own visualFoorptint
|
||||
* record, we'll need it to be correct if we're ever unHidden. */
|
||||
this.parentRecord.onVisualFootprintChanged (row, -this.visualFootprint);
|
||||
if ("parentRecord" in this)
|
||||
this.parentRecord.onVisualFootprintChanged (row, -this.visualFootprint);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -999,7 +1010,10 @@ function torr_vfpchange (start, amount)
|
||||
}
|
||||
else
|
||||
{
|
||||
this._treeView.changeAmount += amount;
|
||||
if ("changeAmount" in this._treeView)
|
||||
this._treeView.changeAmount += amount;
|
||||
else
|
||||
this._treeView.changeAmount = amount;
|
||||
if ("changeStart" in this._treeView)
|
||||
this._treeView.changeStart =
|
||||
Math.min (start, this._treeView.changeStart);
|
||||
@ -1052,7 +1066,7 @@ function tov_thaw ()
|
||||
return;
|
||||
}
|
||||
|
||||
if (--this.frozen == 0)
|
||||
if (--this.frozen == 0 && "changeStart" in this)
|
||||
{
|
||||
this.childData.onVisualFootprintChanged(this.changeStart,
|
||||
this.changeAmount);
|
||||
|
@ -331,13 +331,18 @@ TreeOViewRecord.prototype.isContainerOpen = false;
|
||||
TreeOViewRecord.prototype.findContainerTree =
|
||||
function tovr_gettree ()
|
||||
{
|
||||
var parent = this.parentRecord
|
||||
if (!("parentRecord" in this))
|
||||
return null;
|
||||
var parent = this.parentRecord;
|
||||
|
||||
while (parent)
|
||||
{
|
||||
if ("_treeView" in parent)
|
||||
return parent._treeView;
|
||||
parent = parent.parentRecord
|
||||
if ("parentRecord" in parent)
|
||||
parent = parent.parentRecord;
|
||||
else
|
||||
parent = null;
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -553,8 +558,13 @@ function tovr_appchild (child)
|
||||
{
|
||||
if (this.calculateVisualRow() >= 0)
|
||||
{
|
||||
this.resort(true); /* resort, don't invalidate. we're going to do
|
||||
* that in the onVisualFootprintChanged call. */
|
||||
var tree = this.findContainerTree();
|
||||
if (tree && tree.frozen)
|
||||
this.needsResort = true;
|
||||
else
|
||||
this.resort(true); /* resort, don't invalidate. we're going
|
||||
* to do that in the
|
||||
* onVisualFootprintChanged call. */
|
||||
}
|
||||
this.onVisualFootprintChanged(child.calculateVisualRow(),
|
||||
child.visualFootprint);
|
||||
@ -627,7 +637,8 @@ function tovr_hide ()
|
||||
this.isHidden = true;
|
||||
/* go right to the parent so we don't muck with our own visualFoorptint
|
||||
* record, we'll need it to be correct if we're ever unHidden. */
|
||||
this.parentRecord.onVisualFootprintChanged (row, -this.visualFootprint);
|
||||
if ("parentRecord" in this)
|
||||
this.parentRecord.onVisualFootprintChanged (row, -this.visualFootprint);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -999,7 +1010,10 @@ function torr_vfpchange (start, amount)
|
||||
}
|
||||
else
|
||||
{
|
||||
this._treeView.changeAmount += amount;
|
||||
if ("changeAmount" in this._treeView)
|
||||
this._treeView.changeAmount += amount;
|
||||
else
|
||||
this._treeView.changeAmount = amount;
|
||||
if ("changeStart" in this._treeView)
|
||||
this._treeView.changeStart =
|
||||
Math.min (start, this._treeView.changeStart);
|
||||
@ -1052,7 +1066,7 @@ function tov_thaw ()
|
||||
return;
|
||||
}
|
||||
|
||||
if (--this.frozen == 0)
|
||||
if (--this.frozen == 0 && "changeStart" in this)
|
||||
{
|
||||
this.childData.onVisualFootprintChanged(this.changeStart,
|
||||
this.changeAmount);
|
||||
|
@ -48,6 +48,7 @@ function initCommands(commandObject)
|
||||
[/* "real" commands */
|
||||
["break", cmdBreak, CMD_CONSOLE],
|
||||
["bp-props", cmdBPProps, 0],
|
||||
["chrome-filter", cmdChromeFilter, CMD_CONSOLE],
|
||||
["clear", cmdClear, CMD_CONSOLE],
|
||||
["clear-all", cmdClearAll, CMD_CONSOLE],
|
||||
["clear-script", cmdClearScript, 0],
|
||||
@ -86,6 +87,7 @@ function initCommands(commandObject)
|
||||
|
||||
/* aliases */
|
||||
["this", "props this", CMD_CONSOLE],
|
||||
["toggle-chrome", "chrome-filter toggle", 0],
|
||||
["toggle-ias", "startup-init toggle", 0],
|
||||
["em-cycle", "emode cycle", 0],
|
||||
["em-ignore", "emode ignore", 0],
|
||||
@ -174,6 +176,7 @@ function getCommandContext (id, cx)
|
||||
|
||||
case "mainmenu:debug-popup":
|
||||
case "mainmenu:view-popup":
|
||||
case "popup:console":
|
||||
cx = {
|
||||
commandManager: console.commandManager,
|
||||
contextSource: "default"
|
||||
@ -216,6 +219,7 @@ function formatCommandFlags (f)
|
||||
function cmdBreak (e)
|
||||
{
|
||||
var i;
|
||||
var bpr;
|
||||
|
||||
if (!e.fileName)
|
||||
{ /* if no input data, just list the breakpoints */
|
||||
@ -230,9 +234,9 @@ function cmdBreak (e)
|
||||
display (getMsg(MSN_BP_HEADER, bplist.length));
|
||||
for (i = 0; i < bplist.length; ++i)
|
||||
{
|
||||
var bpr = bplist[i];
|
||||
display (getMsg(MSN_BP_LINE, [i, bpr.fileName, bpr.line,
|
||||
bpr.scriptMatches]));
|
||||
bpr = bplist[i];
|
||||
feedback (e, getMsg(MSN_BP_LINE, [i, bpr.fileName, bpr.line,
|
||||
bpr.scriptMatches]));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -240,12 +244,17 @@ function cmdBreak (e)
|
||||
var matchingFiles = matchFileName (e.fileName);
|
||||
if (matchingFiles.length == 0)
|
||||
{
|
||||
display (getMsg(MSN_ERR_BP_NOSCRIPT, e.fileName), MT_ERROR);
|
||||
feedback (e, getMsg(MSN_ERR_BP_NOSCRIPT, e.fileName), MT_ERROR);
|
||||
return false;
|
||||
}
|
||||
|
||||
for (i in matchingFiles)
|
||||
setBreakpoint (matchingFiles[i], e.lineNumber);
|
||||
{
|
||||
bpr = setBreakpoint (matchingFiles[i], e.lineNumber);
|
||||
if (bpr)
|
||||
feedback (getMsg(MSN_BP_CREATED, [bpr.fileName, bpr.lineNumber,
|
||||
bpr.scriptMatches]));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -255,9 +264,61 @@ function cmdBPProps (e)
|
||||
dd ("command bp-props");
|
||||
}
|
||||
|
||||
function cmdChromeFilter (e)
|
||||
{
|
||||
var currentState = console.prefs["enableChromeFilter"];
|
||||
|
||||
if (e.toggle != null)
|
||||
{
|
||||
if (e.toggle == "toggle")
|
||||
e.toggle = !currentState;
|
||||
|
||||
if (e.toggle != currentState)
|
||||
{
|
||||
if (e.toggle)
|
||||
console.jsds.insertFilter (console.chromeFilter, null);
|
||||
else
|
||||
console.jsds.removeFilter (console.chromeFilter);
|
||||
}
|
||||
|
||||
console.scriptsView.freeze();
|
||||
for (var container in console.scripts)
|
||||
{
|
||||
if (console.scripts[container].fileName.indexOf("chrome:") == 0)
|
||||
{
|
||||
var rec = console.scripts[container];
|
||||
var scriptList = console.scriptsView.childData;
|
||||
if (e.toggle)
|
||||
{
|
||||
/* filter is on, remove chrome file from scripts view */
|
||||
if ("parentRecord" in rec)
|
||||
scriptList.removeChildAtIndex(rec.childIndex);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* filter is off, add chrome file to scripts view */
|
||||
if (!("parentRecord" in rec))
|
||||
scriptList.appendChild(rec);
|
||||
}
|
||||
}
|
||||
}
|
||||
console.scriptsView.thaw();
|
||||
|
||||
currentState =
|
||||
console.enableChromeFilter =
|
||||
console.prefs["enableChromeFilter"] = e.toggle;
|
||||
}
|
||||
|
||||
feedback (e, getMsg(MSN_CHROME_FILTER,
|
||||
currentState ? MSG_VAL_ON : MSG_VAL_OFF));
|
||||
}
|
||||
|
||||
function cmdClear (e)
|
||||
{
|
||||
return clearBreakpointByNumber (e.breakpointIndex);
|
||||
var bpr = clearBreakpointByNumber (e.breakpointIndex);
|
||||
if (bpr)
|
||||
feedback (getMsg(MSN_BP_CLEARED, [bpr.fileName, bpr.line,
|
||||
bpr.scriptMatches]));
|
||||
}
|
||||
|
||||
function cmdClearAll(e)
|
||||
|
@ -42,6 +42,7 @@ const jsdIValue = Components.interfaces.jsdIValue;
|
||||
const jsdIProperty = Components.interfaces.jsdIProperty;
|
||||
const jsdIScript = Components.interfaces.jsdIScript;
|
||||
const jsdIStackFrame = Components.interfaces.jsdIStackFrame;
|
||||
const jsdIFilter = Components.interfaces.jsdIFilter;
|
||||
|
||||
const PCMAP_SOURCETEXT = jsdIScript.PCMAP_SOURCETEXT;
|
||||
const PCMAP_PRETTYPRINT = jsdIScript.PCMAP_PRETTYPRINT;
|
||||
@ -50,7 +51,9 @@ const FTYPE_STD = 0;
|
||||
const FTYPE_SUMMARY = 1;
|
||||
const FTYPE_ARRAY = 2;
|
||||
|
||||
const FILTER_SYSTEM = 0x100; /* system filter, do not show in UI */
|
||||
const FILTER_ENABLED = jsdIFilter.FLAG_ENABLED;
|
||||
const FILTER_DISABLED = ~jsdIFilter.FLAG_ENABLED;
|
||||
const FILTER_SYSTEM = 0x100; /* system filter, do not show in UI */
|
||||
|
||||
var $ = new Array(); /* array to store results from evals in debug frames */
|
||||
|
||||
@ -176,24 +179,39 @@ function initDebugger()
|
||||
console.jsds.errorHook = console._errorHook;
|
||||
console.jsds.scriptHook = console._scriptHook;
|
||||
|
||||
console.chromeFilter = {
|
||||
glob: null,
|
||||
flags: FILTER_SYSTEM | FILTER_ENABLED,
|
||||
urlPattern: "chrome:*",
|
||||
startLine: 0,
|
||||
endLine: 0
|
||||
};
|
||||
|
||||
if (console.prefs["enableChromeFilter"])
|
||||
{
|
||||
console.enableChromeFilter = true;
|
||||
console.jsds.appendFilter(console.chromeFilter);
|
||||
}
|
||||
else
|
||||
console.enableChromeFilter = false;
|
||||
|
||||
var venkmanFilter1 = { /* glob based filter goes first, because it's the */
|
||||
glob: this, /* easiest to match. */
|
||||
flags: FILTER_SYSTEM | jsdIFilter.FLAG_ENABLED,
|
||||
flags: FILTER_SYSTEM | FILTER_ENABLED,
|
||||
urlPattern: null,
|
||||
startLine: 0,
|
||||
endLine: 0
|
||||
};
|
||||
var venkmanFilter2 = { /* url based filter for XPCOM callbacks that may */
|
||||
glob: null, /* not happen under our glob. */
|
||||
flags: FILTER_SYSTEM | jsdIFilter.FLAG_ENABLED,
|
||||
flags: FILTER_SYSTEM | FILTER_ENABLED,
|
||||
urlPattern: "chrome://venkman/*",
|
||||
startLine: 0,
|
||||
endLine: 0
|
||||
};
|
||||
|
||||
console.jsds.appendFilter (venkmanFilter1);
|
||||
console.jsds.appendFilter (venkmanFilter2);
|
||||
|
||||
|
||||
console.throwMode = TMODE_IGNORE;
|
||||
console.errorMode = EMODE_IGNORE;
|
||||
|
||||
@ -230,15 +248,17 @@ function detachDebugger()
|
||||
|
||||
function realizeScript(script)
|
||||
{
|
||||
var container
|
||||
var container;
|
||||
if (script.fileName in console.scripts)
|
||||
{
|
||||
container = console.scripts[script.fileName];
|
||||
if (!("parentRecord" in container))
|
||||
{
|
||||
/* source record exists but is not inserted in the source tree,
|
||||
/* container record exists but is not inserted in the scripts view,
|
||||
* either we are reloading it, or the user added it manually */
|
||||
console.scriptsView.childData.appendChild(container);
|
||||
if (!console.enableChromeFilter ||
|
||||
script.fileName.indexOf ("chrome:") != 0)
|
||||
console.scriptsView.childData.appendChild(container);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -246,12 +266,13 @@ function realizeScript(script)
|
||||
container = console.scripts[script.fileName] =
|
||||
new ScriptContainerRecord (script.fileName);
|
||||
container.reserveChildren();
|
||||
console.scriptsView.childData.appendChild(container);
|
||||
if (!console.enableChromeFilter ||
|
||||
script.fileName.indexOf ("chrome:") != 0)
|
||||
console.scriptsView.childData.appendChild(container);
|
||||
}
|
||||
|
||||
var scriptRec = new ScriptRecord (script);
|
||||
container.appendScriptRecord (scriptRec);
|
||||
|
||||
/* check to see if this script contains a breakpoint */
|
||||
for (var i = 0; i < console.breakpoints.childData.length; ++i)
|
||||
{
|
||||
@ -271,7 +292,7 @@ function realizeScript(script)
|
||||
setBreakpoint (scriptRec.script.fileName, bpr.line);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function unrealizeScript(script)
|
||||
@ -761,14 +782,11 @@ function clearBreakpointByNumber (number)
|
||||
if (!bpr)
|
||||
{
|
||||
display (getMsg(MSN_ERR_BP_NOINDEX, number, MT_ERROR));
|
||||
return 0;
|
||||
return null;
|
||||
}
|
||||
|
||||
bpr.enabled = false;
|
||||
|
||||
display (getMsg(MSN_BP_CLEARED, [bpr.fileName, bpr.line,
|
||||
bpr.scriptMatches]));
|
||||
|
||||
var fileName = bpr.fileName;
|
||||
var line = bpr.line;
|
||||
var sourceRecord = console.scripts[fileName];
|
||||
@ -782,7 +800,7 @@ function clearBreakpointByNumber (number)
|
||||
}
|
||||
|
||||
console.breakpoints.removeChildAtIndex(number);
|
||||
return bpr.scriptMatches;
|
||||
return bpr;
|
||||
}
|
||||
|
||||
function setBreakpoint (fileName, line)
|
||||
@ -817,7 +835,7 @@ function setBreakpoint (fileName, line)
|
||||
}
|
||||
}
|
||||
|
||||
var matches = bpr.scriptMatches
|
||||
var matches = bpr.scriptMatches;
|
||||
if (!matches)
|
||||
{
|
||||
display (getMsg(MSN_ERR_BP_NOLINE, [fileName, line]), MT_ERROR);
|
||||
@ -833,8 +851,6 @@ function setBreakpoint (fileName, line)
|
||||
}
|
||||
|
||||
console.breakpoints.appendChild (bpr);
|
||||
display (getMsg(MSN_BP_CREATED, [fileName, line, matches]));
|
||||
|
||||
return bpr;
|
||||
}
|
||||
|
||||
|
@ -127,7 +127,8 @@ function con_icline (e)
|
||||
console.lastHistoryReferenced = -1;
|
||||
console.incompleteLine = "";
|
||||
|
||||
dispatch (e.line, null, CMD_CONSOLE);
|
||||
var ev = {isInteractive: true, initialEvent: e};
|
||||
dispatch (e.line, ev, CMD_CONSOLE);
|
||||
}
|
||||
|
||||
console.onSingleLineKeypress =
|
||||
|
@ -68,9 +68,12 @@ function initMenus()
|
||||
|
||||
/* View menu */
|
||||
M("mainmenu", "view");
|
||||
m("pprint", {type: "checkbox",
|
||||
checkedif: "console.sourceView.prettyPrint"});
|
||||
m("reload");
|
||||
m("pprint", {type: "checkbox",
|
||||
checkedif: "console.sourceView.prettyPrint"});
|
||||
m("-");
|
||||
m("toggle-chrome", {type: "checkbox",
|
||||
checkedif: "console.enableChromeFilter"});
|
||||
|
||||
/* Debug menu */
|
||||
M("mainmenu", "debug");
|
||||
|
@ -175,6 +175,7 @@ const MSG_DOC_DESCRIPTION = getMsg("msg.doc.description");
|
||||
const MSG_HELP_TITLE = getMsg("msg.help.title");
|
||||
|
||||
/* message names for parameterized messages */
|
||||
const MSN_CHROME_FILTER = "msg.chrome.filter";
|
||||
const MSN_ERR_NO_SCRIPT = "msg.err.noscript";
|
||||
const MSN_IASMODE = "msg.iasmode";
|
||||
const MSN_EXTRA_PARAMS = "msg.extra.params";
|
||||
|
@ -291,8 +291,6 @@ function sv_lscroll (line)
|
||||
console.sourceView.getContext =
|
||||
function sv_getcx(cx)
|
||||
{
|
||||
dd ("get source context...");
|
||||
|
||||
if (!cx)
|
||||
cx = new Object();
|
||||
|
||||
@ -323,8 +321,6 @@ function sv_getcx(cx)
|
||||
cx.lineNumberList = new Array();
|
||||
}
|
||||
|
||||
dd ("rangeCount is " + rangeCount);
|
||||
|
||||
for (var range = 0; range < rangeCount; ++range)
|
||||
{
|
||||
var min = new Object();
|
||||
@ -333,7 +329,6 @@ function sv_getcx(cx)
|
||||
min = min.value;
|
||||
max = max.value;
|
||||
|
||||
dd ("range " + min + " ... " + max);
|
||||
for (row = min; row <= max; ++row)
|
||||
{
|
||||
cx.lineNumberList.push (row + 1);
|
||||
@ -656,6 +651,11 @@ function sr_guessname (sourceText)
|
||||
{
|
||||
var targetLine = this.script.baseLineNumber;
|
||||
var sourceLines = sourceText.lines;
|
||||
if (targetLine > sourceLines)
|
||||
{
|
||||
dd ("not enough source to guess function at line " + targetLine);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.functionName == MSG_VAL_TLSCRIPT)
|
||||
{
|
||||
@ -776,8 +776,6 @@ function scv_getcprops (index, colID, properties)
|
||||
console.scriptsView.getContext =
|
||||
function scv_getcx(cx)
|
||||
{
|
||||
dd ("get scripts context...");
|
||||
|
||||
if (!cx)
|
||||
cx = new Object();
|
||||
|
||||
@ -817,7 +815,6 @@ function scv_getcx(cx)
|
||||
cx.lineNumberList = new Array();
|
||||
}
|
||||
|
||||
dd ("rangeCount is " + rangeCount);
|
||||
if (rangeCount > 0)
|
||||
{
|
||||
cx.fileNameList = new Array();
|
||||
@ -836,7 +833,6 @@ function scv_getcx(cx)
|
||||
min = min.value;
|
||||
max = max.value;
|
||||
|
||||
dd ("range " + min + " ... " + max);
|
||||
for (row = min; row <= max; ++row)
|
||||
{
|
||||
rec = this.childData.locateChildByVisualRow(row);
|
||||
@ -878,9 +874,7 @@ function FrameRecord (frame)
|
||||
{
|
||||
this.location = sourceRec.shortName + ":" + frame.line;
|
||||
var scriptRec = sourceRec.locateChildByScript(frame.script);
|
||||
if (!scriptRec)
|
||||
dd ("no scriptrec");
|
||||
else if (fn == "anonymous")
|
||||
if (fn == "anonymous")
|
||||
fn = scriptRec.functionName;
|
||||
}
|
||||
else
|
||||
@ -946,7 +940,6 @@ function vr_refresh ()
|
||||
{
|
||||
/* if we're not an object but we have child data, then we must have just
|
||||
* turned into something other than an object. */
|
||||
dd ("we're not an object anymore!");
|
||||
delete this.childData;
|
||||
this.isContainerOpen = false;
|
||||
sizeDelta = 1 - this.visualFootprint;
|
||||
@ -1283,8 +1276,6 @@ function sv_save ()
|
||||
console.stackView.getContext =
|
||||
function sv_getcx(cx)
|
||||
{
|
||||
dd ("get stack context...");
|
||||
|
||||
if (!cx)
|
||||
cx = new Object();
|
||||
|
||||
@ -1312,8 +1303,6 @@ function sv_getcx(cx)
|
||||
if (!("frameIndex" in cx))
|
||||
{
|
||||
var parent = rec.parentRecord;
|
||||
if (!parent)
|
||||
dd ("no parent!");
|
||||
while (parent && !(parent instanceof FrameRecord))
|
||||
parent = parent.parentRecord;
|
||||
|
||||
@ -1421,8 +1410,6 @@ function pv_cellprops (index, colID, properties)
|
||||
console.projectView.getContext =
|
||||
function pv_getcx(cx)
|
||||
{
|
||||
dd ("get project context...");
|
||||
|
||||
if (!cx)
|
||||
cx = new Object();
|
||||
|
||||
|
@ -50,6 +50,7 @@ function initPrefs()
|
||||
console.prefs.prefNames = new Array();
|
||||
|
||||
// console.addPref ("input.commandchar", "/");
|
||||
console.addPref ("enableChromeFilter", false);
|
||||
console.addPref ("sourcetext.tab.width", 4);
|
||||
console.addPref ("input.history.max", 20);
|
||||
console.addPref ("input.dtab.time", 500);
|
||||
@ -70,44 +71,61 @@ function con_addpref (prefName, defaultValue)
|
||||
function prefGetter ()
|
||||
{
|
||||
var type = this.prefBranch.getPrefType (prefName);
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case nsIPrefBranch.PREF_STRING:
|
||||
return this.prefBranch.getCharPref (prefName);
|
||||
try
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case nsIPrefBranch.PREF_STRING:
|
||||
return this.prefBranch.getCharPref (prefName);
|
||||
|
||||
case nsIPrefBranch.PREF_INT:
|
||||
return this.prefBranch.getIntPref (prefName);
|
||||
|
||||
case nsIPrefBranch.PREF_INT:
|
||||
return this.prefBranch.getIntPref (prefName);
|
||||
case nsIPrefBranch.PREF_BOOL:
|
||||
return this.prefBranch.getBoolPref (prefName);
|
||||
|
||||
case nsIPrefBranch.PREF_BOOL:
|
||||
return this.prefBranch.getCharPref (prefName);
|
||||
|
||||
default:
|
||||
return defaultValue;
|
||||
}
|
||||
default:
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return null;
|
||||
return null;
|
||||
}
|
||||
catch (ex)
|
||||
{
|
||||
dd ("caught exception reading pref ``" + prefName + "'' " + type +
|
||||
"\n" + ex);
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
function prefSetter (value)
|
||||
{
|
||||
switch (typeof value)
|
||||
try
|
||||
{
|
||||
switch (typeof value)
|
||||
{
|
||||
case "int":
|
||||
this.prefBranch.setIntPref (prefName, value);
|
||||
break;
|
||||
|
||||
case "boolean":
|
||||
this.prefBranch.setBoolPref (prefName, value);
|
||||
break;
|
||||
|
||||
default:
|
||||
this.prefBranch.setCharPref (prefName, value);
|
||||
break;
|
||||
}
|
||||
|
||||
this.prefService.savePrefFile(null);
|
||||
}
|
||||
catch (ex)
|
||||
{
|
||||
case "int":
|
||||
this.prefBranch.setIntPref (prefName, value);
|
||||
break;
|
||||
|
||||
case "boolean":
|
||||
this.prefBranch.setBoolPref (prefName, value);
|
||||
break;
|
||||
|
||||
default:
|
||||
this.prefBranch.setCharPref (prefName, value);
|
||||
break;
|
||||
dd ("caught exception writing pref ``" + prefName + "''\n" + ex);
|
||||
}
|
||||
|
||||
this.prefService.savePrefFile(null);
|
||||
return value;
|
||||
|
||||
}
|
||||
|
||||
if (prefName in console.prefs)
|
||||
|
@ -67,8 +67,6 @@ console.version = "0.6.1";
|
||||
|
||||
/* |this|less functions */
|
||||
|
||||
const jsdIFilter = Components.interfaces.jsdIFilter;
|
||||
|
||||
function setStopState(state)
|
||||
{
|
||||
var tb = document.getElementById("maintoolbar-stop");
|
||||
@ -231,6 +229,12 @@ function dispatchCommand (command, e, flags)
|
||||
return null;
|
||||
}
|
||||
|
||||
function feedback(e, message, msgtype)
|
||||
{
|
||||
if ("isInteractive" in e && e.isInteractive)
|
||||
display (message, msgtype);
|
||||
}
|
||||
|
||||
function display(message, msgtype)
|
||||
{
|
||||
if (typeof message == "undefined")
|
||||
@ -748,7 +752,9 @@ function st_loadsrc (cb)
|
||||
console.popStatus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ASSERT(data, "loadSource succeeded but got no data"))
|
||||
data = "";
|
||||
|
||||
sourceText.isLoaded = true;
|
||||
var ary = data.split(/\r\n|\n|\r/m);
|
||||
for (var i = 0; i < ary.length; ++i)
|
||||
@ -780,6 +786,9 @@ function st_loadsrc (cb)
|
||||
try
|
||||
{
|
||||
src = loadURLNow(url);
|
||||
observer.onComplete (src, url, Components.results.NS_OK);
|
||||
this.invalidate();
|
||||
delete this.isLoading;
|
||||
}
|
||||
catch (ex)
|
||||
{
|
||||
@ -787,10 +796,6 @@ function st_loadsrc (cb)
|
||||
loadURLAsync (url, observer);
|
||||
}
|
||||
|
||||
observer.onComplete (src, url, Components.results.NS_OK);
|
||||
this.invalidate();
|
||||
delete this.isLoading;
|
||||
|
||||
}
|
||||
|
||||
function PPSourceText (scriptRecord)
|
||||
|
@ -291,8 +291,6 @@ function sv_lscroll (line)
|
||||
console.sourceView.getContext =
|
||||
function sv_getcx(cx)
|
||||
{
|
||||
dd ("get source context...");
|
||||
|
||||
if (!cx)
|
||||
cx = new Object();
|
||||
|
||||
@ -323,8 +321,6 @@ function sv_getcx(cx)
|
||||
cx.lineNumberList = new Array();
|
||||
}
|
||||
|
||||
dd ("rangeCount is " + rangeCount);
|
||||
|
||||
for (var range = 0; range < rangeCount; ++range)
|
||||
{
|
||||
var min = new Object();
|
||||
@ -333,7 +329,6 @@ function sv_getcx(cx)
|
||||
min = min.value;
|
||||
max = max.value;
|
||||
|
||||
dd ("range " + min + " ... " + max);
|
||||
for (row = min; row <= max; ++row)
|
||||
{
|
||||
cx.lineNumberList.push (row + 1);
|
||||
@ -656,6 +651,11 @@ function sr_guessname (sourceText)
|
||||
{
|
||||
var targetLine = this.script.baseLineNumber;
|
||||
var sourceLines = sourceText.lines;
|
||||
if (targetLine > sourceLines)
|
||||
{
|
||||
dd ("not enough source to guess function at line " + targetLine);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.functionName == MSG_VAL_TLSCRIPT)
|
||||
{
|
||||
@ -776,8 +776,6 @@ function scv_getcprops (index, colID, properties)
|
||||
console.scriptsView.getContext =
|
||||
function scv_getcx(cx)
|
||||
{
|
||||
dd ("get scripts context...");
|
||||
|
||||
if (!cx)
|
||||
cx = new Object();
|
||||
|
||||
@ -817,7 +815,6 @@ function scv_getcx(cx)
|
||||
cx.lineNumberList = new Array();
|
||||
}
|
||||
|
||||
dd ("rangeCount is " + rangeCount);
|
||||
if (rangeCount > 0)
|
||||
{
|
||||
cx.fileNameList = new Array();
|
||||
@ -836,7 +833,6 @@ function scv_getcx(cx)
|
||||
min = min.value;
|
||||
max = max.value;
|
||||
|
||||
dd ("range " + min + " ... " + max);
|
||||
for (row = min; row <= max; ++row)
|
||||
{
|
||||
rec = this.childData.locateChildByVisualRow(row);
|
||||
@ -878,9 +874,7 @@ function FrameRecord (frame)
|
||||
{
|
||||
this.location = sourceRec.shortName + ":" + frame.line;
|
||||
var scriptRec = sourceRec.locateChildByScript(frame.script);
|
||||
if (!scriptRec)
|
||||
dd ("no scriptrec");
|
||||
else if (fn == "anonymous")
|
||||
if (fn == "anonymous")
|
||||
fn = scriptRec.functionName;
|
||||
}
|
||||
else
|
||||
@ -946,7 +940,6 @@ function vr_refresh ()
|
||||
{
|
||||
/* if we're not an object but we have child data, then we must have just
|
||||
* turned into something other than an object. */
|
||||
dd ("we're not an object anymore!");
|
||||
delete this.childData;
|
||||
this.isContainerOpen = false;
|
||||
sizeDelta = 1 - this.visualFootprint;
|
||||
@ -1283,8 +1276,6 @@ function sv_save ()
|
||||
console.stackView.getContext =
|
||||
function sv_getcx(cx)
|
||||
{
|
||||
dd ("get stack context...");
|
||||
|
||||
if (!cx)
|
||||
cx = new Object();
|
||||
|
||||
@ -1312,8 +1303,6 @@ function sv_getcx(cx)
|
||||
if (!("frameIndex" in cx))
|
||||
{
|
||||
var parent = rec.parentRecord;
|
||||
if (!parent)
|
||||
dd ("no parent!");
|
||||
while (parent && !(parent instanceof FrameRecord))
|
||||
parent = parent.parentRecord;
|
||||
|
||||
@ -1421,8 +1410,6 @@ function pv_cellprops (index, colID, properties)
|
||||
console.projectView.getContext =
|
||||
function pv_getcx(cx)
|
||||
{
|
||||
dd ("get project context...");
|
||||
|
||||
if (!cx)
|
||||
cx = new Object();
|
||||
|
||||
|
@ -145,6 +145,7 @@ msg.tmode.ignore = Exceptions will now be ignored.
|
||||
msg.tmode.trace = Exceptions will now be traced.
|
||||
msg.tmode.break = Exceptions will now stop the debug target.
|
||||
msg.iasmode = Initialize at Startup is now %1$S.
|
||||
msg.chrome.filter = Chrome filtering is now %1$S.
|
||||
# 1 value, 2 frame
|
||||
msg.exception.trace = Exception %1$S thrown from %2$S.
|
||||
# 1 message, 2 flags, 3 file, 4 line, 5 pos
|
||||
@ -234,6 +235,10 @@ cmd.bp-props.label = Breakpoint &Properties
|
||||
cmd.bp-props.params = <breakpoint-rec>
|
||||
cmd.bp-props.help = Displays a properties dialog for the selected breakpoint <brekpoint-rec>.
|
||||
|
||||
cmd.chrome-filter.params = [<toggle>]
|
||||
cmd.chrome-filter.help = Enables or disabled the filtering of chrome: urls. With chrome: filtering on, the JavaScript files which make up the browser will not be displayed in the Script View, and the debugger will not step through them while debugging.
|
||||
cmd.toggle-chrome.label = &Hide Browser Files
|
||||
|
||||
cmd.clear.label = &Clear Breakpoint
|
||||
cmd.clear.params = <breakpoint-index>
|
||||
cmd.clear.help = Clears breakpoint at index <breakpoint-index>. See also: break.
|
||||
|
Loading…
Reference in New Issue
Block a user