1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include
"nsIInputStream.idl"
9 #include
"mozilla/UniquePtr.h"
11 native Bytes
(mozilla
::UniquePtr
<uint8_t
[]>);
14 * nsIArrayBufferInputStream
16 * Provides scriptable methods for initializing a nsIInputStream
17 * implementation with an ArrayBuffer.
19 [scriptable
, builtinclass
, uuid(3014dde6
-aa1c
-41db
-87d0
-48764a3710f6
)]
20 interface nsIArrayBufferInputStream
: nsIInputStream
23 * SetData - assign an ArrayBuffer to the input stream.
25 * @param buffer - stream data
26 * @param byteOffset - stream data offset
27 * @param byteLen - stream data length
29 [binaryname
(SetDataFromJS
)]
30 void setData
(in jsval buffer
, in uint64_t byteOffset
, in uint64_t byteLen
);
33 * SetData - assign data to the input stream.
35 * @param aBytes - stream data
36 * @param byteLen - stream data length
38 [noscript
, nostdcall
, binaryname
(SetData
)]
39 void setDataNative
(in Bytes bytes
, in uint64_t byteLen
);