1 /* See license.txt for terms of usage */
  2 
  3 // Our global trace object.
  4 
  5 var FBTrace = Components.classes["@joehewitt.com/firebug-trace-service;1"]
  6                  .getService(Components.interfaces.nsISupports).wrappedJSObject.getTracer("extensions.firebug");
  7 FBTrace.setScope(window);
  8 function clearFBTraceScope()
  9 {
 10     window.removeEventListener('unload', clearFBTraceScope, true);
 11     FBTrace.setScope(null);
 12 }
 13 window.addEventListener('unload', clearFBTraceScope, true);
 14 // ************************************************************************************************
 15 // Some examples of tracing APIs
 16 
 17 // 1) Log "Hello World!" into the console.
 18 //    FBTrace.sysout("Hello World!")
 19 //
 20 // 2) Log "Hello World!" if the DBG_ERRORS option is true.
 21 //    if (FBTrace.DBG_ERRORS)
 22 //       FBTrace.sysout("Hello World!");
 23 //
 24 // 3) Log "Hello World!" and various info about 'world' object.
 25 //    FBTrace.sysout("Hello World!", world);
 26 //
 27 // 4) Log into specific console (created by Firebug extension).
 28 //    FBTrace.dump("firebug.extensions", "Hello World!", world);
 29 //    FBTrace.dump("chromebug.extensions", "Hello World!", world);
 30 //
 31 // TODO: how to open another console.