diff -ruwN webkitgtk-2.49.1/Source/bmalloc/bmalloc/BPlatform.h source/Source/bmalloc/bmalloc/BPlatform.h --- webkitgtk-2.49.1/Source/bmalloc/bmalloc/BPlatform.h 2025-03-28 00:18:28.347204000 -0600 +++ source/Source/bmalloc/bmalloc/BPlatform.h 2025-05-12 20:54:40.104051612 -0600 @@ -40,7 +40,7 @@ #define BOS_DARWIN 1 #endif -#if defined(__unix) || defined(__unix__) +#if defined(__unix) || defined(__unix__) || defined(__redox__) #define BOS_UNIX 1 #endif @@ -339,7 +339,7 @@ /* BENABLE(LIBPAS) is enabling libpas build. But this does not mean we use libpas for bmalloc replacement. */ #if !defined(BENABLE_LIBPAS) -#if BCPU(ADDRESS64) && (BOS(DARWIN) || (BOS(LINUX) && (BCPU(X86_64) || BCPU(ARM64))) || BPLATFORM(PLAYSTATION)) +#if BCPU(ADDRESS64) && (BOS(DARWIN) || (BOS(LINUX) && (BCPU(X86_64) || BCPU(ARM64))) || BPLATFORM(PLAYSTATION)) || defined(__redox__) #define BENABLE_LIBPAS 1 #ifndef PAS_BMALLOC #define PAS_BMALLOC 1 diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/heap/BlockDirectory.cpp source/Source/JavaScriptCore/heap/BlockDirectory.cpp --- webkitgtk-2.49.1/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-03-20 11:07:59.015023500 -0600 +++ source/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-05-10 21:38:36.889325942 -0600 @@ -68,7 +68,7 @@ // FIXME: We should figure out a solution for Windows and PlayStation. // QNX doesn't have mincore(), though the information can be had. But since all mapped // pages are resident, does it matter? -#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(HAIKU) +#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(HAIKU) && !defined(__redox__) size_t pageSize = WTF::pageSize(); ASSERT(!(MarkedBlock::blockSize % pageSize)); auto numberOfPagesInMarkedBlock = MarkedBlock::blockSize / pageSize; Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator_templates.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_alternate_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_alternate_backend_dispatcher_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_implementation.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_implementation.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_implementation.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_js_backend_commands.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_js_backend_commands.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_implementation.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_implementation.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_frontend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_frontend_dispatcher_implementation.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_internal_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_internal_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_header.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_implementation.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_types_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_types_implementation.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator_templates.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/__init__.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/__init__.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/models.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/models.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator_templates.cpython-311.pyc differ diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/jsc.cpp source/Source/JavaScriptCore/jsc.cpp --- webkitgtk-2.49.1/Source/JavaScriptCore/jsc.cpp 2025-03-21 05:07:10.820055200 -0600 +++ source/Source/JavaScriptCore/jsc.cpp 2025-05-12 21:27:55.789300618 -0600 @@ -208,6 +208,8 @@ for (;;) { #if OS(WINDOWS) Sleep(1000); +#elif defined(__redox__) + //TODO #else pause(); #endif diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp --- webkitgtk-2.49.1/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-03-20 11:07:59.015023500 -0600 +++ source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-05-11 08:15:28.272811727 -0600 @@ -37,7 +37,7 @@ #include #include #include -#else +#elif !defined(__redox__) #include #endif #endif @@ -66,7 +66,7 @@ } cacheVersion.construct(0); dataLogLnIf(JSCBytecodeCacheVersionInternal::verbose, "Failed to get UUID for JavaScriptCore framework"); -#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(HAIKU) +#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(HAIKU) && !defined(__redox__) auto result = ([&] -> std::optional { Dl_info info { }; if (!dladdr(jsFunctionAddr, &info)) diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/runtime/MachineContext.h source/Source/JavaScriptCore/runtime/MachineContext.h --- webkitgtk-2.49.1/Source/JavaScriptCore/runtime/MachineContext.h 2025-03-20 11:07:59.015023500 -0600 +++ source/Source/JavaScriptCore/runtime/MachineContext.h 2025-05-12 20:27:42.492098710 -0600 @@ -158,7 +158,7 @@ { #if OS(DARWIN) return stackPointerImpl(machineContext->__ss); -#elif OS(HAIKU) +#elif OS(HAIKU) || defined(__redox__) #if CPU(X86_64) return reinterpret_cast(machineContext.rsp); #else @@ -287,7 +287,7 @@ { #if OS(DARWIN) return framePointerImpl(machineContext->__ss); -#elif OS(HAIKU) +#elif OS(HAIKU) || defined(__redox__) #if CPU(X86_64) return reinterpret_cast(machineContext.rbp); #else @@ -455,7 +455,7 @@ { #if OS(DARWIN) return instructionPointerImpl(machineContext->__ss); -#elif OS(HAIKU) +#elif OS(HAIKU) || defined(__redox__) #if CPU(X86_64) return reinterpret_cast((uintptr_t&) machineContext.rip); #else @@ -649,7 +649,7 @@ { #if OS(DARWIN) return argumentPointer<1>(machineContext->__ss); -#elif OS(HAIKU) +#elif OS(HAIKU) || defined(__redox__) #if CPU(X86_64) return reinterpret_cast((uintptr_t&) machineContext.rsi); #else @@ -760,6 +760,13 @@ #error Unknown Architecture #endif +#elif defined(__redox__) +#if CPU(X86_64) + return reinterpret_cast((uintptr_t) machineContext.rbx); +#else +#error Unknown Architecture +#endif + #else #error Need a way to get the frame pointer for another thread on this platform #endif @@ -834,7 +841,7 @@ // LLInt uses regT4 as PC. #if OS(DARWIN) return llintInstructionPointer(machineContext->__ss); -#elif OS(HAIKU) +#elif OS(HAIKU) || defined(__redox__) #if CPU(X86_64) return reinterpret_cast((uintptr_t&) machineContext.r8); #else Binary files webkitgtk-2.49.1/Source/JavaScriptCore/wasm/__pycache__/generateWasm.cpython-311.pyc and source/Source/JavaScriptCore/wasm/__pycache__/generateWasm.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/JavaScriptCore/yarr/__pycache__/hasher.cpython-311.pyc and source/Source/JavaScriptCore/yarr/__pycache__/hasher.cpython-311.pyc differ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/GLESv2.cmake source/Source/ThirdParty/ANGLE/GLESv2.cmake --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-02-17 05:59:58.567796700 -0700 +++ source/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-05-10 20:36:08.275484081 -0600 @@ -120,7 +120,7 @@ if(is_linux OR is_chromeos OR is_android OR is_fuchsia) list(APPEND libangle_common_sources - "src/common/system_utils_linux.cpp" + #"src/common/system_utils_linux.cpp" "src/common/system_utils_posix.cpp" ) endif() diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/PlatformGTK.cmake source/Source/ThirdParty/ANGLE/PlatformGTK.cmake --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2023-10-21 01:33:32.730009300 -0600 +++ source/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2025-05-10 20:22:26.792451858 -0600 @@ -1,4 +1,4 @@ -list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_LINUX EGL_NO_PLATFORM_SPECIFIC_TYPES USE_SYSTEM_EGL) +list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_POSIX EGL_NO_PLATFORM_SPECIFIC_TYPES USE_SYSTEM_EGL) include(linux.cmake) if (USE_OPENGL) diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/log_utils.h source/Source/ThirdParty/ANGLE/src/common/log_utils.h --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-02-17 05:59:58.571796700 -0700 +++ source/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-05-10 20:10:39.639595675 -0600 @@ -136,10 +136,12 @@ return FmtHexAutoSized(os, fmt.mValue, fmt.mPrefix, "0x", '0'); } +#if !defined(__redox__) friend std::wostream &operator<<(std::wostream &wos, const FmtHexHelper &fmt) { return FmtHexAutoSized(wos, fmt.mValue, fmt.mPrefix, L"0x", L'0'); } +#endif }; } // namespace priv diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/platform.h source/Source/ThirdParty/ANGLE/src/common/platform.h --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/platform.h 2024-09-03 00:28:47.067031900 -0600 +++ source/Source/ThirdParty/ANGLE/src/common/platform.h 2025-05-10 20:07:40.561378854 -0600 @@ -28,7 +28,7 @@ # define ANGLE_PLATFORM_POSIX 1 #elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ defined(__DragonFly__) || defined(__sun) || defined(__GLIBC__) || defined(__GNU__) || \ - defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) + defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) || defined(__redox__) # define ANGLE_PLATFORM_POSIX 1 #else # error Unsupported platform. diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils.h source/Source/ThirdParty/ANGLE/src/common/system_utils.h --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils.h 2024-05-30 05:59:22.953676200 -0600 +++ source/Source/ThirdParty/ANGLE/src/common/system_utils.h 2025-05-13 10:29:39.241586171 -0600 @@ -256,7 +256,9 @@ } #endif -void SetCurrentThreadName(const char *name); +#if !defined(__redox__) +void SetCurrentThreadName(const char *name) +#endif } // namespace angle #endif // COMMON_SYSTEM_UTILS_H_ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2024-05-30 05:59:22.953676200 -0600 +++ source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2025-05-10 20:28:38.268901621 -0600 @@ -33,6 +33,11 @@ # include #endif +#if defined(__redox__) +#define SEGV_MAPERR 1 +#define SEGV_ACCERR 2 +#endif + namespace angle { diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp source/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp 2024-06-25 02:04:37.142420000 -0600 +++ source/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp 2025-05-13 10:31:32.029891938 -0600 @@ -165,7 +165,9 @@ void AsyncWorkerPool::threadLoop() { +#if !defined(__redox__) angle::SetCurrentThreadName("ANGLE-Worker"); +#endif while (true) { diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-02-05 02:14:42.678567400 -0700 +++ source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-05-10 20:42:33.040029309 -0600 @@ -58,7 +58,7 @@ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" # elif ANGLE_ENABLE_CGL # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(__redox__) # include "libANGLE/renderer/gl/egl/DisplayEGL.h" # if defined(ANGLE_USE_X11) # include "libANGLE/renderer/gl/glx/DisplayGLX_api.h" @@ -422,7 +422,7 @@ impl = new rx::DisplayCGL(state); break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(__redox__) # if defined(ANGLE_USE_GBM) if (platformType == 0) { diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp 2025-02-17 05:59:58.575796600 -0700 +++ source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp 2025-05-13 10:30:15.002645630 -0600 @@ -142,7 +142,9 @@ angle::Result DispatchWorkThread::finishLoop() { +#if !defined(__redox__) angle::SetCurrentThreadName("ANGLE-CL-CQD"); +#endif while (true) { diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp 2025-02-05 02:14:42.690567300 -0700 +++ source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp 2025-05-13 10:30:05.421614993 -0600 @@ -378,7 +378,9 @@ void CleanUpThread::processTasks() { +#if !defined(__redox__) angle::SetCurrentThreadName("ANGLE-GC"); +#endif while (true) { diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libGLESv2.gni source/Source/ThirdParty/ANGLE/src/libGLESv2.gni --- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-02-17 05:59:58.587796200 -0700 +++ source/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-05-10 20:36:18.426498466 -0600 @@ -115,7 +115,7 @@ if (is_linux || is_chromeos || is_android || is_fuchsia) { libangle_common_sources += [ - "src/common/system_utils_linux.cpp", + #"src/common/system_utils_linux.cpp", "src/common/system_utils_posix.cpp", ] } diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h --- webkitgtk-2.49.1/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2024-08-14 02:56:17.506453500 -0600 +++ source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2025-05-10 21:10:41.689374796 -0600 @@ -27,7 +27,7 @@ #define HAVE_XLOCALE 0 #endif -#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) +#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__redox__) #define HAVE_LOCALE_T 0 #else #define HAVE_LOCALE_T 1 diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp --- webkitgtk-2.49.1/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2024-05-30 05:59:23.965655000 -0600 +++ source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2025-05-10 21:14:33.304664836 -0600 @@ -126,7 +126,7 @@ #elif defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 17 completeSize = malloc_usable_size(addr); SkASSERT(completeSize >= size); - #elif defined(SK_BUILD_FOR_UNIX) + #elif defined(SK_BUILD_FOR_UNIX) && !defined(__redox__) completeSize = malloc_usable_size(addr); SkASSERT(completeSize >= size); #elif defined(SK_BUILD_FOR_WIN) diff -ruwN webkitgtk-2.49.1/Source/WebCore/page/Page.cpp source/Source/WebCore/page/Page.cpp --- webkitgtk-2.49.1/Source/WebCore/page/Page.cpp 2025-04-01 01:53:09.527295000 -0600 +++ source/Source/WebCore/page/Page.cpp 2025-06-14 18:21:41.320992545 -0600 @@ -536,8 +536,10 @@ if (RefPtr scrollingCoordinator = m_scrollingCoordinator) scrollingCoordinator->pageDestroyed(); +#if ENABLE(RESOURCE_USAGE) if (RefPtr resourceUsageOverlay = m_resourceUsageOverlay) resourceUsageOverlay->detachFromPage(); +#endif checkedBackForward()->close(); if (!isUtilityPage()) @@ -2981,9 +2983,11 @@ return; m_shouldSuppressHDR = shouldSuppressHDR; + #if ENABLE(VIDEO) forEachDocument([](auto& document) { document.shouldSuppressHDRDidChange(); }); + #endif } #if ENABLE(MEDIA_STREAM) diff -ruwN webkitgtk-2.49.1/Source/WebCore/PlatformGTK.cmake source/Source/WebCore/PlatformGTK.cmake --- webkitgtk-2.49.1/Source/WebCore/PlatformGTK.cmake 2024-12-16 02:07:48.162613200 -0700 +++ source/Source/WebCore/PlatformGTK.cmake 2025-05-10 19:05:57.526658690 -0600 @@ -75,21 +75,18 @@ ) list(APPEND WebCore_LIBRARIES - ${ENCHANT_LIBRARIES} ${GLIB_GIO_LIBRARIES} ${GLIB_GMODULE_LIBRARIES} ${GLIB_GOBJECT_LIBRARIES} ${GLIB_LIBRARIES} ${LIBSECRET_LIBRARIES} ${LIBTASN1_LIBRARIES} - ${HYPHEN_LIBRARIES} ${UPOWERGLIB_LIBRARIES} ${X11_X11_LIB} GTK::GTK ) list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES - ${ENCHANT_INCLUDE_DIRS} ${GIO_UNIX_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${LIBSECRET_INCLUDE_DIRS} diff -ruwN webkitgtk-2.49.1/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp source/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp --- webkitgtk-2.49.1/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 2025-03-31 03:35:43.461813700 -0600 +++ source/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 2025-06-15 20:53:04.313171066 -0600 @@ -48,13 +48,13 @@ #include #endif -#if OS(DARWIN) +#if OS(DARWIN) || defined(__redox__) #define MSG_NOSIGNAL 0 #endif // Although it's available on Darwin, SOCK_SEQPACKET seems to work differently // than in traditional Unix so fallback to STREAM on that platform. -#if defined(SOCK_SEQPACKET) && !OS(DARWIN) +#if defined(SOCK_SEQPACKET) && !OS(DARWIN) && !defined(__redox__) #define SOCKET_TYPE SOCK_SEQPACKET #else #if USE(GLIB) diff -ruwN webkitgtk-2.49.1/Source/WebKit/PlatformGTK.cmake source/Source/WebKit/PlatformGTK.cmake --- webkitgtk-2.49.1/Source/WebKit/PlatformGTK.cmake 2025-03-05 03:09:47.273706000 -0700 +++ source/Source/WebKit/PlatformGTK.cmake 2025-05-10 18:54:43.437475299 -0600 @@ -313,7 +313,6 @@ ) list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES - ${ENCHANT_INCLUDE_DIRS} ${GIO_UNIX_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${GSTREAMER_INCLUDE_DIRS} Binary files webkitgtk-2.49.1/Source/WebKit/Scripts/webkit/__pycache__/__init__.cpython-311.pyc and source/Source/WebKit/Scripts/webkit/__pycache__/__init__.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/WebKit/Scripts/webkit/__pycache__/messages.cpython-311.pyc and source/Source/WebKit/Scripts/webkit/__pycache__/messages.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/WebKit/Scripts/webkit/__pycache__/model.cpython-311.pyc and source/Source/WebKit/Scripts/webkit/__pycache__/model.cpython-311.pyc differ Binary files webkitgtk-2.49.1/Source/WebKit/Scripts/webkit/__pycache__/parser.cpython-311.pyc and source/Source/WebKit/Scripts/webkit/__pycache__/parser.cpython-311.pyc differ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/glib/FileSystemGlib.cpp source/Source/WTF/wtf/glib/FileSystemGlib.cpp --- webkitgtk-2.49.1/Source/WTF/wtf/glib/FileSystemGlib.cpp 2024-12-16 02:07:48.134613800 -0700 +++ source/Source/WTF/wtf/glib/FileSystemGlib.cpp 2025-05-10 20:14:04.266843426 -0600 @@ -70,7 +70,7 @@ return CString({ readLinkBuffer, static_cast(result) }); WTF_ALLOW_UNSAFE_BUFFER_USAGE_END } -#elif OS(HURD) +#elif OS(HURD) || defined(__redox__) CString currentExecutablePath() { return { }; diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/InlineASM.h source/Source/WTF/wtf/InlineASM.h --- webkitgtk-2.49.1/Source/WTF/wtf/InlineASM.h 2024-09-23 04:54:44.750106000 -0600 +++ source/Source/WTF/wtf/InlineASM.h 2025-05-10 21:34:44.313517406 -0600 @@ -89,7 +89,8 @@ || OS(HURD) \ || OS(NETBSD) \ || OS(QNX) \ - || OS(WINDOWS) + || OS(WINDOWS) \ + || defined(__redox__) // GNU as-compatible syntax. #define LOCAL_LABEL_STRING(name) ".L" #name #endif diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformHave.h source/Source/WTF/wtf/PlatformHave.h --- webkitgtk-2.49.1/Source/WTF/wtf/PlatformHave.h 2025-04-02 06:09:45.800669000 -0600 +++ source/Source/WTF/wtf/PlatformHave.h 2025-05-11 08:45:52.150157369 -0600 @@ -231,7 +231,7 @@ #define HAVE_MACH_MEMORY_ENTRY 1 #endif -#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(HAIKU) || OS(NETBSD) || OS(OPENBSD) || OS(LINUX) || OS(HURD) || OS(QNX)) && (CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64))) +#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(HAIKU) || OS(NETBSD) || OS(OPENBSD) || OS(LINUX) || OS(HURD) || OS(QNX) || defined(__redox__)) && (CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64))) #define HAVE_MACHINE_CONTEXT 1 #endif diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformOS.h source/Source/WTF/wtf/PlatformOS.h --- webkitgtk-2.49.1/Source/WTF/wtf/PlatformOS.h 2025-04-02 23:49:09.282701700 -0600 +++ source/Source/WTF/wtf/PlatformOS.h 2025-05-10 21:44:33.694803473 -0600 @@ -143,7 +143,8 @@ || OS(OPENBSD) \ || defined(unix) \ || defined(__unix) \ - || defined(__unix__) + || defined(__unix__) \ + || defined(__redox__) #define WTF_OS_UNIX 1 #endif diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformRegisters.h source/Source/WTF/wtf/PlatformRegisters.h --- webkitgtk-2.49.1/Source/WTF/wtf/PlatformRegisters.h 2024-11-20 06:56:01.847236400 -0700 +++ source/Source/WTF/wtf/PlatformRegisters.h 2025-05-10 19:12:14.761916702 -0600 @@ -39,6 +39,8 @@ typedef ucontext_t mcontext_t; #elif OS(QNX) #include +#elif defined(__redox__) +#include #else #include #endif diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/CPUTimePOSIX.cpp source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp --- webkitgtk-2.49.1/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2023-09-18 01:56:45.363115500 -0600 +++ source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2025-05-10 19:30:23.676993788 -0600 @@ -47,10 +47,14 @@ Seconds CPUTime::forCurrentThread() { +#if defined(__redox__) + return Seconds(0); +#else struct timespec ts { }; int ret = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts); RELEASE_ASSERT(!ret); return Seconds(ts.tv_sec) + Seconds::fromNanoseconds(ts.tv_nsec); +#endif } } diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/FileHandlePOSIX.cpp source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp --- webkitgtk-2.49.1/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-03-21 05:07:10.828055100 -0600 +++ source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-05-10 19:26:54.845585962 -0600 @@ -39,6 +39,10 @@ #include #include +#if defined(__redox__) +#define MAP_FILE 0 +#endif + namespace WTF::FileSystemImpl { std::optional FileHandle::read(std::span data) diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/ThreadingPOSIX.cpp source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp --- webkitgtk-2.49.1/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-03-05 03:09:47.149706400 -0700 +++ source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-05-10 19:19:09.728119543 -0600 @@ -356,7 +356,7 @@ void Thread::changePriority(int delta) { -#if HAVE(PTHREAD_SETSCHEDPARAM) +#if HAVE(PTHREAD_SETSCHEDPARAM) && !defined(__redox__) Locker locker { m_mutex }; int policy; diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/RAMSize.cpp source/Source/WTF/wtf/RAMSize.cpp --- webkitgtk-2.49.1/Source/WTF/wtf/RAMSize.cpp 2024-10-01 01:40:32.303785300 -0600 +++ source/Source/WTF/wtf/RAMSize.cpp 2025-05-12 21:08:59.548628775 -0600 @@ -46,7 +46,7 @@ namespace WTF { -#if OS(WINDOWS) +#if OS(WINDOWS) || defined(__redox__) static constexpr size_t ramSizeGuess = 512 * MB; #endif @@ -64,6 +64,9 @@ struct sysinfo si; sysinfo(&si); return si.totalram * si.mem_unit; +#elif defined(__redox__) + //TODO: implement using /scheme/mem + return ramSizeGuess; #elif OS(UNIX) || OS(HAIKU) long pages = sysconf(_SC_PHYS_PAGES); long pageSize = sysconf(_SC_PAGE_SIZE); diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/StackBounds.cpp source/Source/WTF/wtf/StackBounds.cpp --- webkitgtk-2.49.1/Source/WTF/wtf/StackBounds.cpp 2025-03-18 02:33:00.063181400 -0600 +++ source/Source/WTF/wtf/StackBounds.cpp 2025-05-10 19:16:43.976048337 -0600 @@ -120,6 +120,8 @@ #if HAVE(PTHREAD_NP_H) || OS(NETBSD) // e.g. on FreeBSD 5.4, neundorf@kde.org pthread_attr_get_np(thread, &sattr); +#elif defined(__redox__) + //TODO #else // FIXME: this function is non-portable; other POSIX systems may have different np alternatives pthread_getattr_np(thread, &sattr);