Group :: Sistema/Bibliotecas
RPM: libwebkitgtk4
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: webkitgtk-2.34.3-alt-e2k.patch
Download
Download
diff --git a/webkitgtk/Source/JavaScriptCore/heap/Heap.cpp b/webkitgtk/Source/JavaScriptCore/heap/Heap.cpp
index a07b3724..94c1b35d 100644
--- a/webkitgtk/Source/JavaScriptCore/heap/Heap.cpp
+++ b/webkitgtk/Source/JavaScriptCore/heap/Heap.cpp
@@ -2825,8 +2825,15 @@ void Heap::addCoreConstraints()
m_constraintSet->add(
"O", "Output",
+#ifdef __EDG__
+#define EDG_FIX(V1, V2, ...) MarkingConstraintExecutorPair( \
+ [] (V1& visitor) { using Visitor = V1; __VA_ARGS__, \
+ [] (V2& visitor) { using Visitor = V2; __VA_ARGS__)
+ (EDG_FIX(AbstractSlotVisitor, SlotVisitor,
+#else
MAKE_MARKING_CONSTRAINT_EXECUTOR_PAIR(([] (auto& visitor) {
using Visitor = decltype(visitor);
+#endif
VM& vm = visitor.vm();
// The `visitor2` argument is strangely named because the WinCairo port
diff --git a/webkitgtk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp b/webkitgtk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
index 6df46850..ee702c9b 100644
--- a/webkitgtk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
+++ b/webkitgtk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
@@ -80,6 +80,14 @@
namespace JSC {
+#ifdef __e2k__
+// linker doesn't remove dead code
+const unsigned opcodeLengths[] = { 0 };
+const unsigned wasmOpcodeLengths[] = { 0 };
+const char* const opcodeNames[] = { nullptr };
+const char* const wasmOpcodeNames[] = { nullptr };
+#endif
+
#define OFFLINE_ASM_OFFSETOF(clazz, field) (static_cast<unsigned>(OBJECT_OFFSETOF(clazz, field)))
class LLIntOffsetsExtractor {
diff --git a/webkitgtk/Source/ThirdParty/ANGLE/src/common/mathutil.h b/webkitgtk/Source/ThirdParty/ANGLE/src/common/mathutil.h
index 1d73bbff..5c5f832f 100644
--- a/webkitgtk/Source/ThirdParty/ANGLE/src/common/mathutil.h
+++ b/webkitgtk/Source/ThirdParty/ANGLE/src/common/mathutil.h
@@ -145,7 +145,9 @@ inline unsigned int unorm(float x)
inline bool supportsSSE2()
{
-#if defined(ANGLE_USE_SSE)
+#if defined(__e2k__)
+ return true;
+#elif defined(ANGLE_USE_SSE)
static bool checked = false;
static bool supports = false;
diff --git a/webkitgtk/Source/ThirdParty/ANGLE/src/common/platform.h b/webkitgtk/Source/ThirdParty/ANGLE/src/common/platform.h
index 41f3cf4f..a61d3448 100644
--- a/webkitgtk/Source/ThirdParty/ANGLE/src/common/platform.h
+++ b/webkitgtk/Source/ThirdParty/ANGLE/src/common/platform.h
@@ -89,7 +89,7 @@
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
# include <intrin.h>
# define ANGLE_USE_SSE
-#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
+#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__) || defined(__e2k__))
# include <x86intrin.h>
# define ANGLE_USE_SSE
#endif
diff --git a/webkitgtk/Source/WTF/wtf/Compiler.h b/webkitgtk/Source/WTF/wtf/Compiler.h
index f9bc8267..77e3f5dd 100644
--- a/webkitgtk/Source/WTF/wtf/Compiler.h
+++ b/webkitgtk/Source/WTF/wtf/Compiler.h
@@ -354,7 +354,7 @@
/* UNUSED_TYPE_ALIAS */
-#if !defined(UNUSED_TYPE_ALIAS) && COMPILER(GCC_COMPATIBLE)
+#if !defined(UNUSED_TYPE_ALIAS) && COMPILER(GCC_COMPATIBLE) && !defined(__EDG__)
#define UNUSED_TYPE_ALIAS __attribute__((unused))
#endif
diff --git a/webkitgtk/Source/WTF/wtf/PlatformCPU.h b/webkitgtk/Source/WTF/wtf/PlatformCPU.h
index 23833417..69c8c6fc 100644
--- a/webkitgtk/Source/WTF/wtf/PlatformCPU.h
+++ b/webkitgtk/Source/WTF/wtf/PlatformCPU.h
@@ -112,6 +112,10 @@
#define WTF_CPU_KNOWN 1
#endif
+#if defined(__SSE2__) && defined(__e2k__)
+#define WTF_CPU_X86_SSE2 1
+#endif
+
/* CPU(ARM64) */
#if defined(__arm64__) || defined(__aarch64__)
#define WTF_CPU_ARM64 1
diff --git a/webkitgtk/Source/WTF/wtf/PlatformEnable.h b/webkitgtk/Source/WTF/wtf/PlatformEnable.h
index 041a3e28..cdde7b12 100644
--- a/webkitgtk/Source/WTF/wtf/PlatformEnable.h
+++ b/webkitgtk/Source/WTF/wtf/PlatformEnable.h
@@ -843,7 +843,7 @@
#define ENABLE_EXTRA_CTI_THUNKS 1
#endif
-#if !defined(ENABLE_BINDING_INTEGRITY) && !OS(WINDOWS)
+#if !defined(ENABLE_BINDING_INTEGRITY) && !OS(WINDOWS) && !defined(__EDG__)
#define ENABLE_BINDING_INTEGRITY 1
#endif
diff --git a/webkitgtk/Source/WTF/wtf/StdFilesystem.h b/webkitgtk/Source/WTF/wtf/StdFilesystem.h
index bdcdf446..32fd3fef 100644
--- a/webkitgtk/Source/WTF/wtf/StdFilesystem.h
+++ b/webkitgtk/Source/WTF/wtf/StdFilesystem.h
@@ -28,6 +28,7 @@
#if HAVE(STD_FILESYSTEM)
#include <filesystem>
#elif HAVE(STD_EXPERIMENTAL_FILESYSTEM)
+#define preferred_separator preferred_separator_webkitgtk4
#include <experimental/filesystem>
namespace std {
namespace filesystem = std::experimental::filesystem;
diff --git a/webkitgtk/Source/WTF/wtf/dtoa/utils.h b/webkitgtk/Source/WTF/wtf/dtoa/utils.h
index 96d5bd7b..298f44a6 100644
--- a/webkitgtk/Source/WTF/wtf/dtoa/utils.h
+++ b/webkitgtk/Source/WTF/wtf/dtoa/utils.h
@@ -83,6 +83,7 @@ int main(int argc, char** argv) {
defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
defined(__hppa__) || defined(__ia64__) || \
defined(__mips__) || \
+ defined(__e2k__) || \
defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
diff --git a/webkitgtk/Source/WebCore/Modules/webaudio/OscillatorOptions.h b/webkitgtk/Source/WebCore/Modules/webaudio/OscillatorOptions.h
index bd263c36..1e17f8e3 100644
--- a/webkitgtk/Source/WebCore/Modules/webaudio/OscillatorOptions.h
+++ b/webkitgtk/Source/WebCore/Modules/webaudio/OscillatorOptions.h
@@ -30,6 +30,9 @@
#include "AudioNodeOptions.h"
#include "OscillatorType.h"
#include <wtf/RefPtr.h>
+#ifdef __EDG__
+#include "PeriodicWave.h"
+#endif
namespace WebCore {
diff --git a/webkitgtk/Source/WebCore/inspector/agents/InspectorWorkerAgent.cpp b/webkitgtk/Source/WebCore/inspector/agents/InspectorWorkerAgent.cpp
index cc8667c1..3a08470b 100644
--- a/webkitgtk/Source/WebCore/inspector/agents/InspectorWorkerAgent.cpp
+++ b/webkitgtk/Source/WebCore/inspector/agents/InspectorWorkerAgent.cpp
@@ -137,7 +137,7 @@ void InspectorWorkerAgent::connectToAllWorkerInspectorProxiesForPage()
{
ASSERT(m_connectedProxies.isEmpty());
- for (Ref proxy : WorkerInspectorProxy::allWorkerInspectorProxies()) {
+ for (Ref<WorkerInspectorProxy> proxy : WorkerInspectorProxy::allWorkerInspectorProxies()) {
if (!is<Document>(proxy->scriptExecutionContext()))
continue;
diff --git a/webkitgtk/Source/WebCore/rendering/style/GridArea.h b/webkitgtk/Source/WebCore/rendering/style/GridArea.h
index b7ebd1d9..28addb6a 100644
--- a/webkitgtk/Source/WebCore/rendering/style/GridArea.h
+++ b/webkitgtk/Source/WebCore/rendering/style/GridArea.h
@@ -103,6 +103,9 @@ public:
operator unsigned&() { return value; }
unsigned operator*() const { return value; }
+#ifdef __EDG__
+ const GridSpanIterator &operator ++() { ++value; return *this; }
+#endif
unsigned value;
};
diff --git a/webkitgtk/Source/WebKit/UIProcess/WebPageProxy.cpp b/webkitgtk/Source/WebKit/UIProcess/WebPageProxy.cpp
index c33cfe44..dad1e505 100644
--- a/webkitgtk/Source/WebKit/UIProcess/WebPageProxy.cpp
+++ b/webkitgtk/Source/WebKit/UIProcess/WebPageProxy.cpp
@@ -5450,19 +5450,19 @@ void WebPageProxy::decidePolicyForNavigationAction(Ref<WebProcessProxy>&& proces
auto transaction = m_pageLoadState.transaction();
m_pageLoadState.setTitleFromSafeBrowsingWarning(transaction, safeBrowsingWarning->title());
- m_pageClient->showSafeBrowsingWarning(*safeBrowsingWarning, [this, protectedThis = WTFMove(protectedThis), completionHandler = WTFMove(completionHandler), policyAction] (auto&& result) mutable {
+ m_pageClient->showSafeBrowsingWarning(*safeBrowsingWarning, [self = this, protectedThis = WTFMove(protectedThis), completionHandler = WTFMove(completionHandler), policyAction] (auto&& result) mutable {
- auto transaction = m_pageLoadState.transaction();
- m_pageLoadState.setTitleFromSafeBrowsingWarning(transaction, { });
+ auto transaction = self->m_pageLoadState.transaction();
+ self->m_pageLoadState.setTitleFromSafeBrowsingWarning(transaction, { });
switchOn(result, [&] (const URL& url) {
completionHandler(PolicyAction::Ignore);
- loadRequest({ url });
+ self->loadRequest({ url });
}, [&] (ContinueUnsafeLoad continueUnsafeLoad) {
switch (continueUnsafeLoad) {
case ContinueUnsafeLoad::No:
- if (!hasCommittedAnyProvisionalLoads())
- m_uiClient->close(protectedThis.ptr());
+ if (!self->hasCommittedAnyProvisionalLoads())
+ self->m_uiClient->close(protectedThis.ptr());
completionHandler(PolicyAction::Ignore);
break;
case ContinueUnsafeLoad::Yes:
diff --git a/webkitgtk/Source/cmake/WebKitCompilerFlags.cmake b/webkitgtk/Source/cmake/WebKitCompilerFlags.cmake
index 77ebb802..df28e06c 100644
--- a/webkitgtk/Source/cmake/WebKitCompilerFlags.cmake
+++ b/webkitgtk/Source/cmake/WebKitCompilerFlags.cmake
@@ -307,6 +307,7 @@ if (COMPILER_IS_GCC_OR_CLANG)
check_cxx_source_compiles("${FILESYSTEM_TEST_SOURCE}" STD_FILESYSTEM_IS_AVAILABLE)
if (NOT STD_FILESYSTEM_IS_AVAILABLE)
set(EXPERIMENTAL_FILESYSTEM_TEST_SOURCE "
+ #define preferred_separator preferred_separator_webkitgtk4
#include <experimental/filesystem>
int main() {
std::experimental::filesystem::path p1(\"//home\");