Mercurial > nightly_tester_tools
diff chrome/content/crashreports/sidebar.js @ 2:472a16863ecc
expanded nightly.jar
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Tue, 02 Dec 2008 20:38:20 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/chrome/content/crashreports/sidebar.js Tue Dec 02 20:38:20 2008 +0900 @@ -0,0 +1,74 @@ +const Cc = Components.classes; +const Ci = Components.interfaces; +const Cr = Components.results; + +Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); + +const xulns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +var sidebar = { + +db: null, + +init: function() +{ + var service = Cc["@blueprintit.co.uk/breakpad;1"]. + getService(Ci.nttIBreakpadService); + + service.loadDatabase(); + service.addProgressListener(sidebar); +}, + +onDatabaseLoaded: function() +{ + var service = Cc["@blueprintit.co.uk/breakpad;1"]. + getService(Ci.nttIBreakpadService); + + var tree = document.getElementById("tree"); + tree.view = service.getTreeView(); + + document.getElementById("loading").hidden=true; + tree.hidden=false; +}, + +copy: function(event) +{ + var tree = document.getElementById("tree"); + var id = tree.view.getCellText(tree.currentIndex, tree.columns.getNamedColumn("incidentID")); + var clipboard = Cc["@mozilla.org/widget/clipboardhelper;1"]. + getService(Ci.nsIClipboardHelper); + clipboard.copyString(id); +}, + +command: function(tree, event, row) +{ + var prefservice = Cc['@mozilla.org/preferences-service;1']. + getService(Ci.nsIPrefBranch); + var url = prefservice.getCharPref("nightly.breakpad.searchurl"); + var id = tree.view.getCellText(row, tree.columns.getNamedColumn("incidentID")).substring(3); + window.parent.openUILink(url+id, event, false, true); +}, + +selectedCommand: function(event) +{ + var tree = document.getElementById("tree"); + sidebar.command(tree, event, tree.currentIndex); +}, + +clickCommand: function(event) +{ + var tree = document.getElementById("tree"); + var row = {}, col = {}; + tree.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, {}); + sidebar.command(tree, event, row.value); +}, + +checkPopup: function(event) +{ + var tree = document.getElementById("tree"); + var type = tree.view.getCellText(tree.currentIndex, tree.columns.getNamedColumn("type")); + return type=="incident"; +}, + +QueryInterface: XPCOMUtils.generateQI([Ci.nttIBreakpadProgressListener]) +}