diff --git a/extensions/venkman/resources/content/outliner-utils.js b/extensions/venkman/resources/content/outliner-utils.js index d392d8f9b468..e21e987e5dc4 100644 --- a/extensions/venkman/resources/content/outliner-utils.js +++ b/extensions/venkman/resources/content/outliner-utils.js @@ -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); diff --git a/extensions/venkman/resources/content/tree-utils.js b/extensions/venkman/resources/content/tree-utils.js index d392d8f9b468..e21e987e5dc4 100644 --- a/extensions/venkman/resources/content/tree-utils.js +++ b/extensions/venkman/resources/content/tree-utils.js @@ -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); diff --git a/extensions/venkman/resources/content/venkman-commands.js b/extensions/venkman/resources/content/venkman-commands.js index 5301706e7cb2..e95e75623cc3 100644 --- a/extensions/venkman/resources/content/venkman-commands.js +++ b/extensions/venkman/resources/content/venkman-commands.js @@ -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) diff --git a/extensions/venkman/resources/content/venkman-debugger.js b/extensions/venkman/resources/content/venkman-debugger.js index aed5d5dc4f27..24a9a92e7721 100644 --- a/extensions/venkman/resources/content/venkman-debugger.js +++ b/extensions/venkman/resources/content/venkman-debugger.js @@ -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; } diff --git a/extensions/venkman/resources/content/venkman-handlers.js b/extensions/venkman/resources/content/venkman-handlers.js index fcd9b4b936c1..be84c2f9276f 100644 --- a/extensions/venkman/resources/content/venkman-handlers.js +++ b/extensions/venkman/resources/content/venkman-handlers.js @@ -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 = diff --git a/extensions/venkman/resources/content/venkman-menus.js b/extensions/venkman/resources/content/venkman-menus.js index ee04ae21417f..4b0626468982 100644 --- a/extensions/venkman/resources/content/venkman-menus.js +++ b/extensions/venkman/resources/content/venkman-menus.js @@ -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"); diff --git a/extensions/venkman/resources/content/venkman-msg.js b/extensions/venkman/resources/content/venkman-msg.js index 2047502db6e8..c743d0481642 100644 --- a/extensions/venkman/resources/content/venkman-msg.js +++ b/extensions/venkman/resources/content/venkman-msg.js @@ -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"; diff --git a/extensions/venkman/resources/content/venkman-outliners.js b/extensions/venkman/resources/content/venkman-outliners.js index b7dbd2109d08..7f4917e0cc87 100644 --- a/extensions/venkman/resources/content/venkman-outliners.js +++ b/extensions/venkman/resources/content/venkman-outliners.js @@ -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(); diff --git a/extensions/venkman/resources/content/venkman-prefs.js b/extensions/venkman/resources/content/venkman-prefs.js index 93c134ba109f..0e41ab39e292 100644 --- a/extensions/venkman/resources/content/venkman-prefs.js +++ b/extensions/venkman/resources/content/venkman-prefs.js @@ -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) diff --git a/extensions/venkman/resources/content/venkman-static.js b/extensions/venkman/resources/content/venkman-static.js index 41adfca31384..adedc3feb975 100644 --- a/extensions/venkman/resources/content/venkman-static.js +++ b/extensions/venkman/resources/content/venkman-static.js @@ -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) diff --git a/extensions/venkman/resources/content/venkman-trees.js b/extensions/venkman/resources/content/venkman-trees.js index b7dbd2109d08..7f4917e0cc87 100644 --- a/extensions/venkman/resources/content/venkman-trees.js +++ b/extensions/venkman/resources/content/venkman-trees.js @@ -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(); diff --git a/extensions/venkman/resources/locale/en-US/venkman.properties b/extensions/venkman/resources/locale/en-US/venkman.properties index 7f41bb676436..fa98b0d012b1 100644 --- a/extensions/venkman/resources/locale/en-US/venkman.properties +++ b/extensions/venkman/resources/locale/en-US/venkman.properties @@ -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 = cmd.bp-props.help = Displays a properties dialog for the selected breakpoint . +cmd.chrome-filter.params = [] +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 = cmd.clear.help = Clears breakpoint at index . See also: break.