rem: { var index = row.childIndex; if (index != getCurrentFrameIndex()) { setCurrentFrameByIndex(index); displayFrame (console.frames[index], index, false); } var scriptContainer = console.scripts[row.frame.script.fileName]; if (!scriptContainer) { dd ("frame from unknown source"); return; } var scriptRecord = scriptContainer.locateChildByScript (row.frame.script); if (!scriptRecord) { dd ("frame with unknown script"); return; } sourceView.setCurrentSourceProvider(scriptRecord); sourceView.softScrollTo(row.frame.line); var script = row.frame.script; console.highlightFile = script.fileName; console.highlightStart = script.baseLineNumber - 1; console.highlightEnd = script.baseLineNumber + script.lineExtent - 2; 
add: { dispatch ("find-frame", {frameIndex: row.childIndex}); 
context: function con_stacksel (e){    if (console.stackView.selectedIndex == -1)        return;    console.scriptsView.selectedIndex = -1;    console.projectView.selectedIndex = -1;    console.sourceView.selectedIndex  = -1;    var rowIndex = console.stackView.selectedIndex;    if (rowIndex == -1 || rowIndex > console.stackView.rowCount)        return;    var row =        console.stackView.childData.locateChildByVisualRow(rowIndex);    if (!row)    {        ASSERT (0, "bogus row index " + rowIndex);        return;    }    var source;        var sourceView = console.sourceView;    if (row instanceof FrameRecord)    {                var index = row.childIndex;        if (index != getCurrentFrameIndex())        {            setCurrentFrameByIndex(index);            displayFrame (console.frames[index], index, false);        }        var scriptContainer = console.scripts[row.frame.script.fileName];        if (!scriptContainer)        {            dd ("frame from unknown source");            return;        }        var scriptRecord =            scriptContainer.locateChildByScript (row.frame.script);        if (!scriptRecord)        {            dd ("frame with unknown script");            return;        }        sourceView.setCurrentSourceProvider(scriptRecord);        sourceView.softScrollTo(row.frame.line);        var script = row.frame.script;        console.highlightFile = script.fileName;        console.highlightStart = script.baseLineNumber - 1;        console.highlightEnd = script.baseLineNumber + script.lineExtent - 2;    }    else if (row instanceof ValueRecord && row.jsType == jsdIValue.TYPE_OBJECT)    {        if (row.parentRecord instanceof FrameRecord &&            row == row.parentRecord.scopeRec)            return;                var objVal = row.value.objectValue;        var creatorURL = objVal.creatorURL;        if (!creatorURL)        {            dd ("object with no creator");            return;        }                if (!(creatorURL in console.scripts))        {            dd ("object from unknown source ``" + creatorURL + "''");            return;        }        sourceView.setCurrentSourceProvider(console.scripts[creatorURL]);        console.highlightFile = creatorURL;        var creatorLine = objVal.creatorLine;        sourceView.scrollTo (creatorLine);        console.highlightStart = console.highlightEnd = creatorLine - 1;        console.sourceView.outliner.invalidate();    }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/89326cbcdc6feb4eef3ffc00bb488c9640e8dd81/venkman-handlers.js/clean/extensions/venkman/resources/content/venkman-handlers.js