rem:   return this; 
context: function CBSConnection (binary){    /* Since 2003-01-17 18:14, Mozilla has had this contract ID for the STS.     * Prior to that it didn't have one, so we also include the CID for the     * STS back then - DO NOT UPDATE THE ID if it changes in Mozilla.     */    const sockClassByName =        Components.classes["@mozilla.org/network/socket-transport-service;1"];    const sockClassByID =        Components.classesByID["{c07e81e0-ef12-11d2-92b6-00105a1b0d64}"];    var sockServiceClass = (sockClassByName || sockClassByID);    if (!sockServiceClass)        throw ("Couldn't get socket service class.");    var sockService = sockServiceClass.getService();    if (!sockService)        throw ("Couldn't get socket service.");    this._sockService = sockService.QueryInterface        (Components.interfaces.nsISocketTransportService);    /* Note: as part of the mess from bug 315288 and bug 316178, ChatZilla now     *       uses the *binary* stream interfaces for all network     *       communications.     *     *       However, these interfaces do not exist prior to 1999-11-05. To     *       make matters worse, an incompatible change to the "readBytes"     *       method of this interface was made on 2003-03-13; luckly, this     *       change also added a "readByteArray" method, which we will check     *       for below, to determin if we can use the binary streams.     */    // We want to check for working binary streams only the first time.    if (CBSConnection.prototype.workingBinaryStreams == -1)    {        CBSConnection.prototype.workingBinaryStreams = false;        if (typeof nsIBinaryInputStream != "undefined")        {            var isCls = Components.classes["@mozilla.org/binaryinputstream;1"];            var inputStream = isCls.createInstance(nsIBinaryInputStream);            if ("readByteArray" in inputStream)                CBSConnection.prototype.workingBinaryStreams = true;        }    }    this.wrappedJSObject = this;    if (typeof binary != "undefined")        this.binaryMode = binary;    else        this.binaryMode = this.workingBinaryStreams;    if (!ASSERT(!this.binaryMode || this.workingBinaryStreams,                "Unable to use binary streams in this build."))    {        throw ("Unable to use binary streams in this build.");    }    // Shut up a misguided strict warning.    return this;}
meta: 3298	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3298/490fe94c636d9e3e05827f00c1366e436087b653/connection-xpcom.js/buggy/js/lib/connection-xpcom.js