NS_IMETHODIMP Blob::Slice(int64_t aStart, int64_t aEnd, const nsAString& aContentType, uint8_t aArgc, nsIDOMBlob **aBlob) { Optional<int64_t> start; if (aArgc > 0) { start.Construct(aStart); } Optional<int64_t> end; if (aArgc > 1) { end.Construct(aEnd); } ErrorResult rv; nsRefPtr<Blob> blob = Slice(start, end, aContentType, rv); if (rv.Failed()) { return rv.StealNSResult(); } blob.forget(aBlob); return NS_OK; }