Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Morten Sørvig 01412ff16e wasm: add native QByteArray conversion functions
Add functions which converts to and from JavaScript
data arrays:

  static QByteArray::fromUint8Array(emscripten::val array)
  emscripten::val QByteArray::toUint8Array() const

with corresponding internal qstdweb API:

  static Uint8Array Uint8Array::copyFrom(const QByteArray &buffer)
  QByteArray Uint8Array::copyToQByteArray() const

Both functions will make a copy of the data, i.e. there
is no shared reference counting. They take and return
Uint8Array typed array views, via emscripten::val JavaScript
object references.

Unlike other native conversion functions, these have
the special property that the data referenced by the
native Uint8Array exists outside the heap memory area.

This means we can’t e.g. memcpy the data. However, the
heap is itself a JavaScript ArrayBuffer, and we can
create a Uint8Array view to the buffer owned by the
QByteArray, and then use JavaScript API to copy. See
the qstdweb::Uint8Array::copy() implementation.

That also means that a fromRawUint8Array() variant
(which does not copy) is not possible to implement,
since we can’t create a pointer to the source data.

The inverse toRawUint8Array() is implementable - it
would return a Uint8Array view which references the
heap’s ArrayBuffer. However, this may turn out to be
ill-advised, since Emscripten will create a new ArrayBuffer
if/when it resizes the heap. In any case this left for
a future expansion.

Change-Id: Icaf48fd17ea8686bf04cb523cc1eb581ce63ed34
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2022-12-05 13:04:51 +00:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
LICENSES Add license text file for Creative Commons Zero (CC0) 1.0 2022-10-19 12:06:09 +02:00
bin Minor fixes for qt-configure-module 2022-06-27 17:55:19 +02:00
cmake fix pcre2 detection 2022-12-03 15:41:35 +01:00
coin Generally disable leak sanitizer in tests 2022-11-30 18:01:46 +01:00
config.tests Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Doc: Add a dark offline CSS 2022-11-11 18:48:50 +02:00
examples Avoid continuous texture alloc in Composition Modes example 2022-12-02 20:53:01 +01:00
lib
libexec Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
mkspecs Remove QMAKE_RANLIB and QMAKE_LINK_SHLIB from android/default_pre.prf 2022-12-01 02:23:52 +01:00
qmake Windows: centralize how we handle error messages 2022-11-16 19:44:43 +08:00
src wasm: add native QByteArray conversion functions 2022-12-05 13:04:51 +00:00
tests Fix missing text when Harfbuzz fails to shape a substring 2022-12-05 07:55:43 +01:00
util LocaleDB: Make passing qtbase root dir on command-lines optional 2022-11-01 19:14:14 +02:00
.cmake.conf Introduce QT_NO_AS_CONST and mark QtBase free of it 2022-11-27 17:14:28 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
conanfile.py Conan: Do not force 'qt_host_path' usage in cross-build context 2022-06-22 18:18:42 +03:00
config_help.txt Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure.bat Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure.cmake Disable openslv(11|30) if -no-openssl is passed to configure 2022-11-30 13:48:50 +00:00
dependencies.yaml
qt_cmdline.cmake QCryptographicHash: implement OpenSSL 3.0 support 2022-09-26 17:26:37 +02:00
sync.profile Move qurltlds_p.h out of src/network, and make it a .cpp file 2022-10-01 06:24:51 +00:00