    getContextMenuItems: function(object, target)    {        var row = getAncestorByClass(target, "memberRow");        var items = [];                if (row)        {            var rowName = getRowName(row);            var rowObject = this.getRowObject(row);            var rowValue = this.getRowPropertyValue(row);            var isWatch = hasClass(row, "watchRow");            var isStackFrame = rowObject instanceof jsdIStackFrame;            if (typeof(rowValue) == "string" || typeof(rowValue) == "number")            {                // Functions already have a copy item in their context menu                items.push(                    "-",                    {label: "CopyValue",                        command: bindFixed(this.copyProperty, this, row) }                );            }                        items.push(                "-",                {label: isWatch ? "EditWatch" : (isStackFrame ? "EditVariable" : "EditProperty"),                    command: bindFixed(this.editProperty, this, row) }            );                        if (isWatch || (!isStackFrame && !isDOMMember(rowObject, rowName)))            {                items.push(                    {label: isWatch ? "DeleteWatch" : "DeleteProperty",                        command: bindFixed(this.deleteProperty, this, row) }                );            }        }                items.push(            "-",            {label: "Refresh", command: bindFixed(this.rebuild, this, true) }        );                return items;    },
2454	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/2454/e1d42ad3fad63b72826a4e2ed0726866484c9ac3/dom.js/clean/extension/content/firebug/dom.js