summaryrefslogtreecommitdiffstats
path: root/tests/manual/wasm
Commit message (Collapse)AuthorAgeFilesLines
* Correct SPDX license tagLucie Gérard13 hours1-1/+1
| | | | | | | Task-number: QTBUG-124453 Change-Id: I75622ead8bdc42181df0c359260e09859aaf95db Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Correct license for tools filesLucie Gérard2024-03-051-1/+1
| | | | | | | | | | | | According to QUIP-18 [1], all tools file should be LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: Icd5d5be2e04819617e68ff142924de1773bebbad Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Correct license for test fileLucie Gérard2024-03-051-1/+1
| | | | | | | | | | | | | According to QUIP-18 [1], all test files should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: If06da73cecbbf718338d1b785b5eca36ac819ccb Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* wasm: add local font loading manual testMorten Sørvig2024-02-205-0/+270
| | | | | | | | | This tests allows configuring font loading options from the test web page. Change-Id: I15d850addb38329423722d1763ace8836dca2484 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: Refractor Selenium manual test into auto testPiotr Wierciński2024-02-075-1315/+0
| | | | | | | | | | | | | | Using Selenium for WebAssembly testing enables us to test user interactions, which is very valuable. Turning this test into automated allows us to run it in CI pipeline. This will help with detecting regressions. Two of these tests are currently failing on CI machine and they have been temporarily disabled. Change-Id: I754dd05955e55eb031070f5328ef715b7826c2b5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Change license for tests filesLucie Gérard2024-02-0436-36/+36
| | | | | | | | | | | | According to QUIP-18 [1], all tests file should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I9657df5d660820e56c96d511ea49d321c54682e8 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Compile with getOpenGileContent() API changesMorten Sørvig2024-01-081-1/+2
| | | | | | | | | | | getOpenGileContent() takes a parent now, and the compat API is behind a QT_WIDGETS_REMOVED_SINCE(6, 7) which the manual tests can't access. Pick-to: 6.7 Change-Id: I81784baed178bb8efd1a848d32c9ee4510971e26 Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: update manual test to handle dropped filesMorten Sørvig2024-01-081-15/+16
| | | | | | | | | | | | | Verify that the file is saved correctly to the local file system by loading it and printing the sha1 of its contents. Also add indents in order to improve legibility. The output lines should now be correctly nested. Pick-to: 6.7 Change-Id: I698c016253656aef29f04129da5f01a9dc35191e Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: Don't suppress exceptions during main()Morten Sørvig2023-12-202-1/+39
| | | | | | | | | | | | | | | | | If there's e.g. an infinite loop during main() that would previously result in a blank page, but not error message. The expected case is that we would get a RangeError exception, but that exception never reaches the catch handlers in qtloader.js. Work around this by setting noInitialRun, followed by calling main manually. We then need to handle the case where the app.exec() workaround throws, which should not trigger an error. Pick-to: 6.7 Change-Id: Ia8431279308770981316cd168e4316341bfb2531 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm tests: Fix and clean manual Selenium testPiotr Wierciński2023-11-081-45/+13
| | | | | | | | | | | Remove obsolete parent_window_limits_moves_of_children test of moving child window in parent. Child windows no longer have decorations, therefore they cannot be dragged by a title bar. Fix child_window_activation test, which now uses correct coordinates to probe for stacked windows. Change-Id: If5ddd8d4486673a961572de7c57df72c3cea9350 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm tests: Fix manual Selenium testsPiotr Wierciński2023-11-062-5/+12
| | | | | | | | | | Manual tests using Selenium for browser automation were not properly updated when we introduced changes to our DOM structure. Update the testing framework so elements in shadow root may be properly accessed. Change-Id: I45f7d63a833bc48a3b68016ef937e56425bdff87 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: add QIODevices for accessing JS dataMorten Sørvig2023-10-253-0/+138
| | | | | | | | | | | | | | | | BlobIoDevice: Supports reading data from a JS Blob, which can be a File (on disk) or some other object which can provide data. The native access functions are async and using this class requires that asyncify is available. Uint8ArrayIODevice: Supports reading and writing to a Uint8Array / ArrayBuffer. Similar to the existing QByteArray::fromEcmaUint8Array() API, except that it supports incremental accesss. Change-Id: Ic5de3534ff75eb6c745287b73b15ccd92d74ac2c Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Mark all of Qt as free of Q_FOREACH, except where it isn'tMarc Mutz2023-08-192-0/+4
| | | | | | | | | | | | | | | | | | | | | | The density of Q_FOREACH uses in this and some other modules is still extremely high, too high for anyone to tackle in a short amount of time. Even if they're not concentrated in just a few TUs, we need to make progress on a global QT_NO_FOREACH default, so grab the nettle and stick to our strategy: Mark the whole of Qt with QT_NO_FOREACH, to prevent new uses from creeping in, and whitelist the affected TUs by #undef'ing QT_NO_FOREACH locally, at the top of each file. For TUs that are part of a larger executable, this requires these files to be compiled separately, so add them to NO_PCH_SOURCES (which implies NO_UNITY_BUILD_SOURCES, too). In tst_qglobal.cpp and tst_qcollections.cpp change the comment on the #undef QT_NO_FOREACH to indicate that these actually test the macro. Task-number: QTBUG-115839 Change-Id: Iecc444eb7d43d7e4d037f6e155abe0e14a00a5d6 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Move the selenium qwasmwindow test to the selenium dirMikolaj Boc2023-07-245-1/+1
| | | | | | | | This is done in anticipation of another test for dragging Change-Id: I56961eb1d16a4a6b6c58890c9c882dea813dfa08 Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* Use new entry function name in qwasmwindow testMikolaj Boc2023-07-241-1/+1
| | | | | | | | Use qwasmwindow_harness_entry instead of the old createQtAppInstance. Change-Id: I381dd43d9144fe70f055c19db4cd95f90313883b Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* wasm: clarify qtloader onExit behaviorMorten Sørvig2023-07-102-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | onExit is called whenever the application exits, i.e. when the app canvas should no longer be displayed and the loader/embedder code should take some action. Emscripten provides two callbacks which can be used here: - onExit, called when the app exits (but see EXIT_RUNTIME) - onAbort, called on abort errors. These map to the two cases Qt's onExit supports. onExit is not called when EXIT_RUNTIME is disabled, which means we don't need the special case for exit code 0. In addition call onExit on any exception. The second call to showUi() in html_shell.html is then not needed any more and we avoid duplicating the UI state handling in user code. Update the qtloader_integration test to handle changes in behavior (we no longer set the error text on exit). Use emscripten_force_exit() to simulate application exit - using this function makes Emscripten call onExit even when EXIT_RUNTIME is disabled. Pick-to: 6.6 Change-Id: I72b5463c1836e8d5054e594abbd304fbc67032b7 Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* wasm: add "preload" qtloader config propertyMorten Sørvig2023-07-044-0/+46
| | | | | | | | | | | | | | | | | | | | | | | Add support for downloading files from the web server to the in-memory file system at application load time. See included documentation for usage. This preload functionality is different from Emscripten's --preload-file and --embed-file in that the files are not packed to a single data file or embedded in the JavaScript runtime. Instead, the files are downloaded individually from the web server, which means that they can be cached individually, and also updated individually without rebuilding the application. Any file type can be preloaded. The primary use case (at the moment) is preloading Qt plugins and QML imports. Pick-to: 6.6 Task-number: QTBUG-63925 Change-Id: I2b71b0d6a2c12ecd3ec58e319c679cd3f6b16631 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Make WASM export names different across modulesMikolaj Boc2023-06-2010-30/+54
| | | | | | | | The export name is now ${TARGET_NAME}Entry. This can also be overridden by using QT_WASM_EXPORT_NAME, both in CMake and qmake Change-Id: I59c97ae6e22f0b2720716e9d7eff7b6b13d37ab5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: Document (and rename) config.qt.moduleMorten Sørvig2023-06-201-5/+17
| | | | | | | | | | This property can take a either a WebAssembly.Module or a promise to a module, and we don't have to specify the exact type in the property name. Pick-to: 6.6 Change-Id: Iebaf52178253afe8c93cf78bbe0853461bf48b67 Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* Add keyboard input testcase to the QWasmWindow testMikolaj Boc2023-06-201-0/+49
| | | | | | | | | | | | | The test checks whether correct windows get correct keyboard input, having been activated with mouse clicks. Also fixes the event propagation error found. Key events would propagate to parent windows, which is something that should not happen with window managers. Change-Id: I18bae8c14cce5ccae151c2a00c84ffdba3b4587f Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
* Add test filter argument to wasm js test runnerMikolaj Boc2023-06-151-1/+17
| | | | | | Change-Id: I8e0c5d7b9049fb3c3248749db8dc8c616db293f0 Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
* Add window painting testcase to the QWasmWindow testMikolaj Boc2023-06-152-4/+102
| | | | | | | | | The test checks whether windows repaint correctly by sampling the background after their backing stores have been flushed. Change-Id: Ib544457074d7d477a4acdc5c331ef83e5ba471d2 Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* Support child windows on WASMMikolaj Boc2023-06-153-54/+446
| | | | | | | | | | | | | | Setting parents for WASM platform windows is now supported. This means that windows now reside in a hierarchical window tree, with the screen and individual windows being nodes (QWasmWindowTreeNode), each maintaining their own child window stack. The divs backing windows are properly reparented in response to Qt window parent changes, so that the html structure reflects what is happening in Qt. Change-Id: I55c91d90caf58714342dcd747043967ebfdf96bb Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Correctly focus WASM windows on showMikolaj Boc2023-06-093-2/+84
| | | | | | | | | | | Since first requestActivate may happen before the window div is actually displayed on-screen, we need to sync Qt's activation state with DOM as soon as DOM element becomes visible. Focusing an invisible element is impossible. Fixes: QTBUG-79934 Change-Id: I04cf9b4ead006c9b8b135b3b6967d7938c581833 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Modernize the qtloaderMikolaj Boc2023-06-056-9/+726
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minimal version of qtloader. The load function accepts the same arguments as emscripten runtime with a few additions: - qt.environment - qt.onExit - qt.containerElements - qt.fontDpi - qt.onLoaded - qt.entryFunction State handling has been removed in favor of making the load async (assume loading when the promise is live). Public APIs getting crashed status, exit text and code have been refactored into the new qt.onExit event fed to load. No need for keeping the state in the loader. The loader is integration-tested. A test module with test APIs has been created as a test harness. The runtime APIs exposed by Qt (font dpi and screen API) are handled by the qtloader seamlessly. Change-Id: Iaee65702667da0349a475feae6b83244d966d98d Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* rhi: Make it a QPA-style private but semi-public APILaszlo Agocs2023-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qrhi.h, qshader.h, qshaderdescription.h (and qshaderbaker.h from shadertools; done separately) become "RHI APIs", following the concept of QPA APIs. Mirror completely what is done for QPA headers, but using the "rhi" prefix for the headers. This involves updating syncqt to handle the new category of headers. (a note on the regex: matching everything starting with "qrhi" is not acceptable due to incorrectly matching existing and future headers, hence specifying the four header names explicitly) There is going to be one difference to QPA: the documentation for everything RHI is going to be public and part of the regular docs, not hidden with \internal. In addition to the header renaming and adding the comments and documentation notes and warnings, there is one significant change here: there is no longer a need to do API-specific includes, such as qrhid3d11[_p].h, qrhivulkan[_p].h, etc. These are simply merged into a single header that is then included from qrhi.h. This means that users within Qt, and any future applications can just do #include <rhi/qrhi.h> (or rhi/qshader.h if the QRhi stuff is not relevant), no other headers are needed. There are no changes to functionality in this patch. Only the documentation is expanded, quite a lot, to eliminate all qdoc warnings and make the generated API docs complete. An example, with a quite extensive doc page is added as well. Task-number: QTBUG-113331 Change-Id: I91c749826348f14320cb335b1c83e9d1ea2b1d8b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Replace PUBLIC_LIBRARIES with LIBRARIES in qt_internal_add_manual_testAmir Masoud Abdol2023-04-133-4/+4
| | | | | | | | Noticed the warnings when building the manual tests. Pick-to: 6.5 Change-Id: I7f927f42f11d234ec3c980f36d8e12c0c49be712 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* rhi: Remove unused init flagLaszlo Agocs2023-04-121-1/+1
| | | | | Change-Id: I289452f39fd161da0e0d7bf329e0922df6bbde8a Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Wasm testing: Refactor test framework and update testsPiotr Wierciński2023-03-171-310/+367
| | | | | | | | | Update tests so they take into account minimum QWasmWindow size constraints. Refactor test framework and make it easier to read and write new tests. Change-Id: I621c5eee6577f1569eef93e883d1cf0828e3946f Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* Fix the files_main testMikolaj Boc2023-02-231-9/+9
| | | | | | | | | The test does not build due to fbf2a3's change to QWasmLocalFileAccess API. Align it with the new API. Change-Id: I8e70e471c1f7dd812d3b2cf8e1bf33fd58310e81 Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* Add multitouch test cases to qwasmwindow testMikolaj Boc2023-02-232-4/+126
| | | | | | | | Three touch points that move/resize three windows simultaneously are tested Change-Id: I17d0c8c6c5c90f5121a098e5b67174167cd5aaa5 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Polish the qwasmwindow manual testMikolaj Boc2023-02-223-26/+21
| | | | | Change-Id: I9d21404bcf6da7650ec63ef41d5134bb89485a84 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Autopep qwasmwindow.pyMikolaj Boc2023-02-201-11/+22
| | | | | | | Change-Id: I96a5f17a8c2e4f544d8a2d5a5a3685fec54ee0cb Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* tests: Remove remains of qmake conversion from CMakeLists.txt filesFriedemann Kleint2023-02-171-11/+0
| | | | | | | Pick-to: 6.5 Change-Id: I8d106554bb86ac1ec9bb7a4083de4c376bcbab1d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add a manual test for wasm window resizing/movingMikolaj Boc2023-02-146-1/+535
| | | | | | | | | | | This tests resizing and moving in various setups. The test driver communicates with the actual modules to assert various postconditions. It's semi-automated so that minimum interaction is required. Change-Id: I745d689c6ffa6aa6d478b795dd433f5b067241f1 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: Work on wasm accessibility elements and eventsSharad Sahu2022-12-276-20/+260
| | | | | | | | | | Implement a11y support by adding html elements (Toolbar, Menu, DialogBox) and events of the appropriate type and/or with the appropriate ARIA attribute behind the canvas. Pick-to: 6.5 Change-Id: If9c9fbff9a451b44e57de5d8834f4a78f33f41bc Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Fix the qwasmcompositor_main testMikolaj Boc2022-12-071-8/+10
| | | | | | | This got broken with the introduction of the compositor patch. Change-Id: I7d85795eb537449855a4cce3c8b6b031095c3f7f Reviewed-by: David Skoland <david.skoland@qt.io>
* Set up a manual test for qt loaderMikolaj Boc2022-11-245-0/+170
| | | | | | | | Skeleton tests included. Run the test with run.sh. Fixes: QTBUG-107744 Change-Id: Ic2734e24025f8edc0f8e710d981367aa321f9066 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use SPDX license identifiersLucie Gérard2022-11-155-245/+10
| | | | | | | | | Amends commit 05fc3aef53348fb58be6308076e000825b704e58. Some files were still missing. Task-number: QTBUG-67283 Change-Id: I78b3cbf31138192805b7e186337c6fda4ac844aa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Fix the workaround in ~QWasmOpenGLContextMikolaj Boc2022-10-213-0/+208
| | | | | | | | | | | | | The workaround stopped working because JSEvents is now not a global object. Update the workaround by exporting the JSEvents object from emscripten runtime and replacing the function that removes the event handlers to a dummy function that does nothing temporarily, only to revert it when the context is destroyed. Fixes: QTBUG-107197 Pick-to: 6.4 Change-Id: Icceae884c85e04fdafcca6cf3c563094d3f6f0dc Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Introduce centralized means of checking for asyncifyMikolaj Boc2022-09-232-8/+7
| | | | | | | | The new function has an advantage of not requring EM_JS. Change-Id: Ib9ad0e6b59cfe2e6864697a14b5cfdb39f62af2d Reviewed-by: David Skoland <david.skoland@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: add manual auto-test for websockify-tunneled socketsMorten Sørvig2022-08-243-0/+404
| | | | | | | | | Test TCP sockets usage on the main thread, on secondary threads, and with asyncify. Pick-to: 6.4 Change-Id: I466df8c253c6a18a9c12d44fa8f53e76f81a0437 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: add echo_server test TCP serverMorten Sørvig2022-08-242-0/+141
| | | | | | | | Test server for in-browser TCP usage. Pick-to: 6.4 Change-Id: Ia1a29c0e14a6d2ee8075ce202c9f6998a3ccc4c9 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-2311-11/+11
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Rename QT_DISABLE_DEPRECATED_BEFORE -> QT_DISABLE_DEPRECATED_UP_TOIvan Solovev2022-08-191-1/+1
| | | | | | | | | | | | | | The new name describes the behavior in a better way. [ChangeLog][Build System] The QT_DISABLE_DEPRECATED_BEFORE macro is renamed to QT_DISABLE_DEPRECATED_UP_TO. The old name is deprecated, but is still recognized if it is defined during configuration and the new name is not defined. Task-number: QTBUG-104944 Change-Id: Ifc34323e0bbd9e3dc2f86c3e80d4d0940ebccbb8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* wasm: always build asyncify tests for eventloop_autoMorten Sørvig2022-08-173-10/+58
| | | | | | | | | Add a runtime test for asyncify availability; skip tests if asyncify is not available. Add new build target which builds with asyncify enabled. Change-Id: Idaeff0a24aa01525927b012af2a0ba135c7839c3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* wasm: add "skip" support to qtwasmtestlibMorten Sørvig2022-08-173-4/+28
| | | | | | | | | | | We're not looking to skip faulty tests, but there are cases where we would like to indicate that a test function exists but can't run because some precondition is not met. Pick-to: 6.4 Change-Id: Ifaaafcfa7a55beaaf56d8b25fabbe3dc2566350f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* wasm: include asyncify support unconditionallyMorten Sørvig2022-08-172-8/+5
| | | | | | | | | | | | | | | | | | | Emscripten's option for enabling asyncify (-sASYNCIFY) is a link-time option, which means there is no requirement to have a separate asyncify build, at least for static builds. Replace the current QT_HAVE_EMSCRIPTEN_ASYNCIFY compile-time option with a run-time option which checks if the asyncify API is available. Keep support for configuring with "-device-option QT_EMSCRIPTEN_ASYNCIFY=1" for backwards compatibility and for the use case where want asyncify support to be on by default for a given Qt build. Enable asyncify for the asyncify_exec example. Pick-to: 6.4 Change-Id: I301fd7e2d3c0367532c886f4e34b23e1093646ad Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Use the local file APIs to save/load files on WASMMikolaj Boc2022-08-125-46/+650
| | | | | | | | | | | | 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>
* wasm: add event loop auto testMorten Sørvig2022-08-087-1/+352
| | | | | | | | | | Add basic tests for timers and event processing, for different use cases such as on the main thread, on a secondary thread, and with asyncify. Pick-to: 6.4 Change-Id: Ie0f82b5de97f639867b1e65dbb0ab8b11db86f85 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>