diff options
Diffstat (limited to 'netwerk/base/nsIArrayBufferInputStream.idl')
-rw-r--r-- | netwerk/base/nsIArrayBufferInputStream.idl | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/netwerk/base/nsIArrayBufferInputStream.idl b/netwerk/base/nsIArrayBufferInputStream.idl new file mode 100644 index 0000000000..9ba1dc73fa --- /dev/null +++ b/netwerk/base/nsIArrayBufferInputStream.idl @@ -0,0 +1,40 @@ +/* -*- 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<uint8_t[]>); + +/** + * 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); +}; |