summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2023-04-17 16:22:49 +1000
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-04-20 20:18:43 +0000
commitcc3f2d4b3f99f3c4b2ba5fa33d0bb2c839b870f2 (patch)
tree4681081a8f01a298f46786a9da2c5b27eb428af1
parentcbee5282620e3ac7bf29ef1d3c303739ab56f203 (diff)
downloadqtbase-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.cpp11
-rw-r--r--src/corelib/platform/wasm/qstdweb_p.h1
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;