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