move calls that might involve network activity to *after* te enterNestedEventLoop() call so their requests go on the pushed thread. The call is made after enterNestedEventLoop (which, by definition, blocks) via a setTimeout call.
make dump tree function taka a param
remove bogus _cache dance
add matchesScriptRecord method to breakpoint record
only do the icode replacement if the breakpoint is enabled in addScriptRecord
change string concats to getMsg calls, to make bidi more better
don't duplicate setBreakpoints()s efforts by checking for matching files in onInputBreak
reimpliment onInputFBreak
remove onInputFClear. future breakpoints can now be cleared wit the standard clear command.
remove dead onScriptCreated function
dont pay attention to scripts without filenames
remove script from the script tree when it is unloaded
if a newly created script matches an existing breakpoint record, add that script to the breakpoint record.
remove obsoleted future breakpoint functions
implement next, step out, and stop state commands
bring breakpoint implementation in line with the new breakpoint and script views
add destroy() method to tear down the debugger
decrement console._stopLevel in cont() and step() functions, like good little boys and girls
initDebugger *after* setting up the console routines, we'll need them
set up the excetions submenu checkmarks correctly onCreate
load the source if it's not there in onDebugTrap
add onDebugContinue to clear our state when we continue
implement tmode command
move onclose back to onunload, onclose doesn't fire if the user selects "Quit" from the file menu.
add tmode command to trace/ break when the target throws an exception.
fix "breakpoint hit while servicing breakpoint" behavior. When we hit the second breakpoint, its stack is put on top of the current stack. Not the best solution, but better than leaving the user in an undefined state.
distunguish between executable and non-executable lines in the source array so we can distinguish the lines in CSS.
expand tabs in the source (outliner doesn't know what to do with \t.)
if we can't load a source file sync, try it async.
s/throw BadMojo/throw new BadMojo/g so we can test with instanceof later
add formatException() function
redo BadMojo() to construct a new object, we'll need the prototype chain set up right so we can test exceptions with instanceof
catch startup exceptions and complain.
use MSG_COMMASP instead of ", "
print formatted jsdIValue in the props command's error message
detach debugger onClose instead of onUnload
implement formatArguments(), returns a strig including only the argument properties of a given jsdIValue.
made the rest of the format* functions more pro-bidi (swapped out string math in favor of format strings)
add comment to loadSource about why we use new String()
factor step and continue commands.
Toggle script list mode (short name/ full url) on column header click
fix bug focusing a source file more than once
enable UI for debug commands onDebugTrap
adding support for source, stack, and script list outliners.
include venkman-outliners.js in the party.
add the three outliners mentioned above, with splitters and grippies and all that jazz.
adding support for source, stack, and script list outliners.
add startupTests() function to run a few tests on startup.
add cont() to continue from a debugTrap()
add focusSource() to bring a filename/linenumber up in the source text outliner
fix window._content code in init()
add const for "no stack" error
adding support for source, stack, and script list outliners.
add onDebugTrap and onFrameChanged handlers, to be called by debugger.js when something happens that the UI might want to know about.
moved breakpoint related display()s into debugger.js
refactored break, clear, fbreak, and fclear command handlers to use set[Future]Breakpoint()
added handlers for clicks on the three outliners
adding support for source, stack, and script list outliners.
moved breakpoint related status display()s from handlers.js to here, to that you get console feedback when you set a breakpoint with the UI.
moved initDebugger() and attachDebugger() to the top of the file.
add setCurrentFrameByIndex(), clearCurrentFrame(), getCurrentFrameIndex(), and getCurrentFrame(), migrated code that accessed console._currentFrameIndex to these functions.
make setBreakpoint() smarter (it doesn't blindly clear any breakpoints before setting the new one anymore. that spewed extra "clearing breakpoint" "setting breakpoint" messages. now we scan the breakpoint list ourselves for dupes.)
bug 82462, break in scripts that arent loaded yet
move console._scripts/_sources creation into initDebugger()
check to see if we need to set a breakpoint when new scripts are loaded
add some comments to initDebugger()
implement isFutureBreakpoint() and setFutureBreakpoint()
enumerate existing scripts on load for the case where the user has js.debugger.autoload set. This will allow for the setting of breakpoints in scripts that were loaded before the debugger.
use (a modified copy of chatzilla's) munger on output text instead of the one-off hardcoded line break code that was here.
add rules for hyperlinks and long word breaking to munger
implement matchFileName()
add stringToDOM() to turn a string into DOM nodes via the munger
add ERR_FAILURE exception type
list breakpoints if not data given tot he break command
factor filename matching code into matchFileName()
add clear command to clear breakpoints by file/line number, or breakpoint id
show source text when changing frames
add console._sources object to hold source text
clear breakpoints associated with a script when the script is deleted
show source text when the debugger stops
add findNextExecutableLine (Not done, not used)
add loadSource(), displaySource(), getBreakpoint(), clearBreakpoint(), clearBreakpointByNumber() functions
store fileName and line in breakpoint object
consolidate Hooker objects into a single _executionHook object
add script create and destroy listeners
keep track of all loaded scripts in console._scripts (insertScriptEntry(), removeScriptEntry(), addScript(), and removeScript())
Add TYPE_INTERRUPTED case to debugTrap for single stepping.
call clearAllBrakpoints() before turning the debugger off in detachDebugger()
add TYPE_BOOLEAN case to formatProperty()
add setBreakpoint() (whee!)
check type of param in display()
refactor result printing from evalIn*Scope over to routines in venkman-handlers.js
add refreshResultsArray() to call refresh() on all elements of the $ array
add new exception number
seperate VAL message types into WORD and VAL, VAL messages are words surrounded in <>, used as a variable name in a text message, WORD messages are single (well, no more than a few) words usually replaced into longer messages.
added more strings
remove the "/" before commands. No reason to use "/where" over just "where" in a debugger
implement evald, props, and propsd commands
s/VAL/SCOPE/ where appripriate
remove unused parameter from quit and where
add pgup and pgdn handkers
add tons of .js files for drag-and-drop and tooltips support
add tooltip popupset
switch from an html:iframe (which supports .contentDocument) to a xul:iframe (which supports tooltips and dnd)
promote console.display() to display()
add displayCommands(), evalInDebuggerScope(), evalInTargetScope(), fillInToolTip() [copied from chatzilla], formatEvalException() [refactored from venkman-handlers.js]
set window._content for drag-and-drop foo
call displayCommands() on startup.
add "venkman-link" to CSS class in htmlVA() for the case where the caller is providing custom attributes that do not include "class"
don't print usage if a command returns false, that's lame
imeplement /commands, /cont
factor exception formatting into formatEvalException now that there are two places that need it
make onInputEval evaluate in the target scope instead of the debugger's scope
copy tab complete code from chatzilla
add htmlVA() to create anchors with the "venkman-link" class
print hello message on successful startup, with link to sample debug target.
add exception IDs missing parameter, invalid parameter, and subscript load exceptions
add function name property to BadMojo objects
throw invalis parameter from display() if the parameter looks bad.
switch from document.createElementNS to the new html utility functions.
allow message to be a string (we create the testnode), or a DOM object (we just append it to the content tree)
remove sample output
s/console.commands/console._commands/g, leading _ indicates variable is "private"
l10n in onInputCommand()
report function name for caught exceptions, if it is available
implement /frame, /help, /scope, /quit, and /where
factor debug stop code into debugTrap()
add detachDebugger() function to cleanup the debugger onunload
add formatProperty, formatScript, formatStackFrame, and formatValue fucntions to turn jsdI* values into strings
add displayCallStack() function to dump the call stack to the console
add displayFrame() function to dump a frame to the console