constructor(promise, onAbort, numBytesRemainingObj) {
    super(promise, onAbort);

    /** @private {shaka.net.NetworkingEngine.NumBytesRemainingClass} */
    this.bytesRemaining_ = numBytesRemainingObj;
  }
@param {!Promise} promise
  A Promise which represents the underlying operation.  It is resolved
  when the operation is complete, and rejected if the operation fails or
  is aborted.  Aborted operations should be rejected with a
  shaka.util.Error object using the error code OPERATION_ABORTED.
@param {function():!Promise} onAbort
  Will be called by this object to abort the underlying operation.  This
  is not cancellation, and will not necessarily result in any work being
  undone.  abort() should return a Promise which is resolved when the
  underlying operation has been aborted.  The returned Promise should
  never be rejected.
@param {shaka.net.NetworkingEngine.NumBytesRemainingClass
       } numBytesRemainingObj