home *** CD-ROM | disk | FTP | other *** search
- //-------------------------------------------------------------------------------------------
- // Log module.
- //-------------------------------------------------------------------------------------------
-
- const Cc = Components.classes;
- const Ci = Components.interfaces;
-
- const SAMFIND_MODLOG_IS_ON = false;
-
- var EXPORTED_SYMBOLS = ["samfind_modlog"];
-
- var samfind_modlog =
- {
- dump : SAMFIND_MODLOG_IS_ON ?
- function(s)
- {
- this._dump(s);
- }
- :
- function(s)
- {
- },
-
- _dump : function(s)
- {
- var sidelog = samfind_modlog.getSidelog();
- if (sidelog == null)
- {
- dump("\n[samfind]: " + s);
- }
- else
- {
- var doc = sidelog.ownerDocument;
- var p = doc.createElementNS("http://www.w3.org/1999/xhtml", "p");
- p.textContent = s;
- sidelog.appendChild(p);
- }
- },
-
- dump_exception : SAMFIND_MODLOG_IS_ON ?
- function(s, e)
- {
- this._dump_exception(s, e);
- }
- :
- function(s, e)
- {
- },
-
- _dump_exception : function(s, e)
- {
- var sidelog = samfind_modlog.getSidelog();
- if (sidelog == null)
- {
- dump("\n[samfind]: " + s + ": EXCEPTION: " + e.name + ", " + e.message);
- }
- else
- {
- var doc = sidelog.ownerDocument;
- var p = doc.createElementNS("http://www.w3.org/1999/xhtml", "p");
- p.textContent = s + ": EXCEPTION: " + e.name + ", " + e.message;
- sidelog.appendChild(p);
- }
- },
-
- _start : null,
-
- dump_start : SAMFIND_MODLOG_IS_ON ?
- function(s)
- {
- this._dump_start(s);
- }
- :
- function(s)
- {
- },
-
- _dump_start : function(s)
- {
- if (s && s.length)
- {
- this._dump(s);
- }
- this._start = (new Date()).getTime();
- },
-
- dump_end : SAMFIND_MODLOG_IS_ON ?
- function(s)
- {
- this._dump_end(s);
- }
- :
- function(s)
- {
- },
-
- _dump_end : function(s)
- {
- var sidelog = samfind_modlog.getSidelog();
- if (sidelog == null)
- {
- dump("\n[samfind]: " + s + " (time = " + ((new Date()).getTime() - this._start) + "ms)");
- }
- else
- {
- var doc = sidelog.ownerDocument;
- var p = doc.createElementNS("http://www.w3.org/1999/xhtml", "p");
- p.textContent = s + " (time = " + ((new Date()).getTime() - this._start) + "ms)";
- sidelog.appendChild(p);
- }
- },
-
- dump_interfaces : SAMFIND_MODLOG_IS_ON ?
- function(c)
- {
- this._dump_interfaces(c);
- }
- :
- function(c)
- {
- },
-
- _dump_interfaces : function(c)
- {
- for each (var i in Components.interfaces)
- {
- if (c instanceof i)
- {
- dump("\n" + i);
- }
- }
- },
-
- getSidelog : function()
- {
- var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator);
- var win = wm.getMostRecentWindow("navigator:browser");
- if (win && win.document)
- {
- var sidebar_broadcaster = win.document.getElementById("samfind-sidelog-view");
- if (sidebar_broadcaster && sidebar_broadcaster.getAttribute("checked") == "true")
- {
- var sidebar = win.document.getElementById("sidebar");
- if (sidebar)
- {
- var sidelog = sidebar.contentDocument.getElementById("dumpee");
- return sidelog;
- }
- }
- }
- return null;
- }
- };