Morten Sørvig e3b08a61eb wasm: clarify qtloader onExit behavior
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.

Change-Id: I72b5463c1836e8d5054e594abbd304fbc67032b7
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
(cherry picked from commit a4d1c30a1b52e797cce504f90bcf20d7943dd1f9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2023-07-10 06:46:22 +00:00
..
2023-06-07 13:10:01 +02:00
2023-06-07 13:10:01 +02:00
2022-06-29 15:09:02 +02:00

Manual tests and examples for Qt on WebAssembly

These examples demonstrates various technical aspects of the Qt for WebAssambly platform port, and can be used as a reference when writing application code.

Content

cursors         Cursor handling
eventloop       Event loops, application startup, dialog exec()
localfiles      Local file download and upload
rasterwindow    Basic GUI app, event handling
qtwasmtestlib   native auto test framework