See https://bugzilla.mozilla.org/show_bug.cgi?id=1735738 for reference.
* @class
 */
var Driver = (function DriverClosure() {
  /**
   * @constructs Driver
   * @param {DriverOptions} options
   */
  
  function Driver(options) {
    
    GlobalWorkerOptions.workerSrc = WORKER_SRC;
    
    this.inflight = options.inflight;
    this.disableScrolling = options.disableScrolling;
    this.output = options.output;
    this.end = options.end;
    
    var parameters = this._getQueryStringParameters();
    this.browser = parameters.browser;
    this.manifestFile = parameters.manifestFile;
    this.delay = parameters.delay | 0 || 0;
    this.inFlightRequests = 0;
    this.testFilter = parameters.testFilter
      ? JSON.parse(parameters.testFilter)
      : [];
    this.xfaOnly = parameters.xfaOnly === "true";
    
    this.canvas = document.createElement("canvas");
  }
  Driver.prototype = {