/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsIInputStream.idl" %{C++ #include "mozilla/UniquePtr.h" %} native Bytes(mozilla::UniquePtr); /** * nsIArrayBufferInputStream * * Provides scriptable methods for initializing a nsIInputStream * implementation with an ArrayBuffer. */ [scriptable, builtinclass, uuid(3014dde6-aa1c-41db-87d0-48764a3710f6)] interface nsIArrayBufferInputStream : nsIInputStream { /** * SetData - assign an ArrayBuffer to the input stream. * * @param buffer - stream data * @param byteOffset - stream data offset * @param byteLen - stream data length */ [binaryname(SetDataFromJS)] void setData(in jsval buffer, in uint64_t byteOffset, in uint64_t byteLen); /** * SetData - assign data to the input stream. * * @param aBytes - stream data * @param byteLen - stream data length */ [noscript, nostdcall, binaryname(SetData)] void setDataNative(in Bytes bytes, in uint64_t byteLen); };