summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorMikolaj Boc <mikolaj.boc@qt.io>2022-07-04 09:57:27 +0200
committerMikolaj Boc <mikolaj.boc@qt.io>2022-08-12 20:32:29 +0200
commitf8e460b9151ee03195dd886c58144b74b01f33f8 (patch)
tree625747c9f1410c23f643b199c786323b6747eb65 /src/corelib
parent742ae9ea1cadbb438e2d02bb58ae900c676dc41c (diff)
Use the local file APIs to save/load files on WASM
QFileDialog::saveFileContent, QFileDialog::getOpenFileContent are now using local file APIs to access files on any browser that passes a feature check. The feature is thoroughly tested using sinon and a new mock library. Task-number: QTBUG-99611 Change-Id: I3dd27a9d21eb143c71ea7db0563f70ac7db3a3ac Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/platform/wasm/qstdweb.cpp3
-rw-r--r--src/corelib/platform/wasm/qstdweb_p.h8
2 files changed, 9 insertions, 2 deletions
diff --git a/src/corelib/platform/wasm/qstdweb.cpp b/src/corelib/platform/wasm/qstdweb.cpp
index 43cd079e9d..486bfaf485 100644
--- a/src/corelib/platform/wasm/qstdweb.cpp
+++ b/src/corelib/platform/wasm/qstdweb.cpp
@@ -451,7 +451,8 @@ File FileList::operator[](int index) const
return item(index);
}
-emscripten::val FileList::val() {
+emscripten::val FileList::val() const
+{
return m_fileList;
}
diff --git a/src/corelib/platform/wasm/qstdweb_p.h b/src/corelib/platform/wasm/qstdweb_p.h
index b4b8948b3a..70f58cb85c 100644
--- a/src/corelib/platform/wasm/qstdweb_p.h
+++ b/src/corelib/platform/wasm/qstdweb_p.h
@@ -91,7 +91,7 @@ namespace qstdweb {
int length() const;
File item(int index) const;
File operator[](int index) const;
- emscripten::val val();
+ emscripten::val val() const;
private:
emscripten::val m_fileList = emscripten::val::undefined();
@@ -183,6 +183,12 @@ namespace qstdweb {
void all(std::vector<emscripten::val> promises, PromiseCallbacks callbacks);
};
+
+ inline emscripten::val window()
+ {
+ static emscripten::val savedWindow = emscripten::val::global("window");
+ return savedWindow;
+ }
}
QT_END_NAMESPACE