code: function WebSocket(url, opt_protocols) {
      var scope = ctorEvent();
      goog.base(this, descriptor);
  
      /**
       * Underlying WS.
       * @type {!WebSocket}
       * @private
       */
      this.handle_ = arguments.length == 1 ?
          new originalWs(url) :
          new originalWs(url, opt_protocols);
  
      /**
       * Event type trackers, by name.
       * @type {!Object.<Function>}
       * @private
       */
      this.trackers_ = {};
  
      /**
       * Properties, accumulated during setup before send().
       * @type {!Object}
       * @private
       */
      this.props_ = {
        'url': url,
        'protocol': opt_protocols
      };
  
      wtf.trace.Scope.leave(scope);
    }
docs: Proxy WebSocket.
  @constructor
  @param {string} url Destination URL.
  @param {string=} opt_protocols Optional protocol.
  @extends {wtf.trace.eventtarget.BaseEventTarget}