1 /* See license.txt for terms of usage */
  2 
  3 // ********************************************************************************************* //
  4 // Our global trace object.
  5 
  6 var FBTrace = {};
  7 
  8 // ********************************************************************************************* //
  9 
 10 (function() {
 11 
 12 // ********************************************************************************************* //
 13     
 14 try
 15 {
 16     var scope = {};
 17     Components.utils["import"]("resource://firebug/fbtrace.js", scope);
 18     FBTrace = scope.FBTrace;
 19     FBTrace.setScope(window);
 20 
 21     function clearFBTraceScope()
 22     {
 23         window.removeEventListener("unload", clearFBTraceScope, true);
 24         FBTrace.setScope(null);
 25     }
 26 
 27     window.addEventListener("unload", clearFBTraceScope, true);
 28     FBTrace.time("SCRIPTTAG_TIME");
 29 }
 30 catch (err)
 31 {
 32     Components.utils.reportError(err);
 33 }
 34 
 35 // ********************************************************************************************* //
 36 // Some examples of tracing APIs
 37 
 38 // 1) Log "Hello World!" into the console.
 39 //    FBTrace.sysout("Hello World!")
 40 //
 41 // 2) Log "Hello World!" if the DBG_ERRORS option is true.
 42 //    if (FBTrace.DBG_ERRORS)
 43 //       FBTrace.sysout("Hello World!");
 44 //
 45 // 3) Log "Hello World!" and various info about 'world' object.
 46 //    FBTrace.sysout("Hello World!", world);
 47 //
 48 // 4) Log into specific console (created by Firebug extension).
 49 //    FBTrace.dump("firebug.extensions", "Hello World!", world);
 50 //    FBTrace.dump("chromebug.extensions", "Hello World!", world);
 51 //
 52 // TODO: how to open another console.
 53 
 54 // ********************************************************************************************* //
 55 })();
 56