Bug 1896509 - Implement bytes() method on Blob. r=saschanaz,webidl

Differential Revision: https://phabricator.services.mozilla.com/D211615
This commit is contained in:
Tom Schuster 2024-05-31 16:43:11 +00:00
parent b62bdbe0c9
commit 904797487d
3 changed files with 6 additions and 0 deletions

View file

@ -264,6 +264,10 @@ already_AddRefed<Promise> Blob::ArrayBuffer(ErrorResult& aRv) const {
return ConsumeBody(BodyConsumer::ConsumeType::ArrayBuffer, aRv);
}
already_AddRefed<Promise> Blob::Bytes(ErrorResult& aRv) const {
return ConsumeBody(BodyConsumer::ConsumeType::Bytes, aRv);
}
already_AddRefed<Promise> Blob::ConsumeBody(
BodyConsumer::ConsumeType aConsumeType, ErrorResult& aRv) const {
if (NS_WARN_IF(!mGlobal)) {

View file

@ -124,6 +124,7 @@ class Blob : public nsSupportsWeakReference, public nsWrapperCache {
ErrorResult& aRv) const;
already_AddRefed<Promise> Text(ErrorResult& aRv) const;
already_AddRefed<Promise> ArrayBuffer(ErrorResult& aRv) const;
already_AddRefed<Promise> Bytes(ErrorResult& aRv) const;
protected:
// File constructor should never be used directly. Use Blob::Create instead.

View file

@ -34,6 +34,7 @@ interface Blob {
[NewObject, Throws] ReadableStream stream();
[NewObject] Promise<USVString> text();
[NewObject] Promise<ArrayBuffer> arrayBuffer();
[NewObject] Promise<Uint8Array> bytes();
};
enum EndingType { "transparent", "native" };