rem: var tabWatcher = new appContext.G_TabbedBrowserWatcher( contentArea, "safebrowsing-watcher", true /*ignore about:blank*/); 
context:   deferredStartup: function() {    var appContext = Cc["@mozilla.org/safebrowsing/application;1"]                     .getService().wrappedJSObject;    // Each new browser window needs its own controller.     var contentArea = document.getElementById("content");    safebrowsing.progressListener.QueryInterface(Ci.nsIWebProgressListener);    var phishWarden = new appContext.PROT_PhishingWarden(          safebrowsing.progressListener, document.getElementById("content"));    safebrowsing.phishWarden = phishWarden;    // Register tables    // XXX: move table names to a pref that we originally will download    // from the provider (need to workout protocol details)    phishWarden.registerWhiteTable("goog-white-domain");    phishWarden.registerWhiteTable("goog-white-url");    phishWarden.registerBlackTable("goog-black-url");    phishWarden.registerBlackTable("goog-black-enchash");    // Download/update lists if we're in non-enhanced mode    phishWarden.maybeToggleUpdateChecking();    var tabWatcher = new appContext.G_TabbedBrowserWatcher(        contentArea,        "safebrowsing-watcher",        true /*ignore about:blank*/);    safebrowsing.controller = new appContext.PROT_Controller(        window,        tabWatcher,        phishWarden);    // Remove the global progress listener.  The phishingWarden moves    // the progress listener to the tabbrowser so we don't need it anymore.    safebrowsing.progressListener.globalProgressListenerEnabled = false;        // The initial pages may be a phishing site (e.g., user clicks on a link    // in an email message and it opens a new window with a phishing site),    // so we need to check all requests that fired before deferredStartup.    if (!phishWarden.phishWardenEnabled_) {      safebrowsing.progressListenerCallback.requests = null;      safebrowsing.progressListenerCallback.onDocNavStart = null;      safebrowsing.progressListenerCallback = null;      safebrowsing.progressListener = null;      return;    }    var pendingRequests = safebrowsing.progressListenerCallback.requests;    for (var i = 0; i < pendingRequests.length; ++i) {      var request = pendingRequests[i].request;      var url = pendingRequests[i].url;      phishWarden.onDocNavStart(request, url);    }    // Cleanup    safebrowsing.progressListenerCallback.requests = null;    safebrowsing.progressListenerCallback.onDocNavStart = null;    safebrowsing.progressListenerCallback = null;    safebrowsing.progressListener = null;  },
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/8395/c153be75a2d4afc2cdc265dbede0ab523a3a8c5e/sb-loader.js/clean/browser/components/safebrowsing/content/sb-loader.js