diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2023-04-17 16:22:49 +1000 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-04-20 20:18:43 +0000 |
commit | cc3f2d4b3f99f3c4b2ba5fa33d0bb2c839b870f2 (patch) | |
tree | 4681081a8f01a298f46786a9da2c5b27eb428af1 | |
parent | cbee5282620e3ac7bf29ef1d3c303739ab56f203 (diff) | |
download | qtbase-cc3f2d4b3f99f3c4b2ba5fa33d0bb2c839b870f2.tar.gz |
wasm: add setting type to Blob
Blobs can be any mime type, add function that sets up mime type
This allows Safari to play videos that are Blobs
Change-Id: Ide63851934058935d94f42721b246d832e3bcb85
Reviewed-by: MikoĊaj Boc <Mikolaj.Boc@qt.io>
(cherry picked from commit 589c6d066f84833a7c3dda1638037f4b2e91b7aa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/corelib/platform/wasm/qstdweb.cpp | 11 | ||||
-rw-r--r-- | src/corelib/platform/wasm/qstdweb_p.h | 1 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/corelib/platform/wasm/qstdweb.cpp b/src/corelib/platform/wasm/qstdweb.cpp index 98275a012e..cae15d07fd 100644 --- a/src/corelib/platform/wasm/qstdweb.cpp +++ b/src/corelib/platform/wasm/qstdweb.cpp @@ -512,18 +512,23 @@ uint32_t Blob::size() const return m_blob["size"].as<uint32_t>(); } -// Copies content from the given buffer into a Blob object -Blob Blob::copyFrom(const char *buffer, uint32_t size) +Blob Blob::copyFrom(const char *buffer, uint32_t size, std::string mimeType) { Uint8Array contentCopy = Uint8Array::copyFrom(buffer, size); emscripten::val contentArray = emscripten::val::array(); contentArray.call<void>("push", contentCopy.val()); emscripten::val type = emscripten::val::object(); - type.set("type","application/octet-stream"); + type.set("type", std::move(mimeType)); return Blob(emscripten::val::global("Blob").new_(contentArray, type)); } +// Copies content from the given buffer into a Blob object +Blob Blob::copyFrom(const char *buffer, uint32_t size) +{ + return copyFrom(buffer, size, "application/octet-stream"); +} + emscripten::val Blob::val() { return m_blob; diff --git a/src/corelib/platform/wasm/qstdweb_p.h b/src/corelib/platform/wasm/qstdweb_p.h index 204343baaa..2f154180e2 100644 --- a/src/corelib/platform/wasm/qstdweb_p.h +++ b/src/corelib/platform/wasm/qstdweb_p.h @@ -64,6 +64,7 @@ namespace qstdweb { public: explicit Blob(const emscripten::val &blob); uint32_t size() const; + static Blob copyFrom(const char *buffer, uint32_t size, std::string mimeType); static Blob copyFrom(const char *buffer, uint32_t size); emscripten::val val(); std::string type() const; |