diff options
author | Mikolaj Boc <mikolaj.boc@qt.io> | 2022-07-04 09:57:27 +0200 |
---|---|---|
committer | Mikolaj Boc <mikolaj.boc@qt.io> | 2022-08-12 20:32:29 +0200 |
commit | f8e460b9151ee03195dd886c58144b74b01f33f8 (patch) | |
tree | 625747c9f1410c23f643b199c786323b6747eb65 /src/corelib/platform/wasm | |
parent | 742ae9ea1cadbb438e2d02bb58ae900c676dc41c (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/platform/wasm')
-rw-r--r-- | src/corelib/platform/wasm/qstdweb.cpp | 3 | ||||
-rw-r--r-- | src/corelib/platform/wasm/qstdweb_p.h | 8 |
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 |