Compare commits

...

5 Commits

Author SHA1 Message Date
Michael Catanzaro
f25af2888e Upgrade to 2.41.1 2023-03-31 15:21:05 -05:00
Michael Catanzaro
75a11a9b58 Explicitly specify some required build deps 2023-03-17 21:48:23 -05:00
Michael Catanzaro
81ee50ea5f Add user content manager patch and reenable LTO 2023-03-17 15:46:38 -05:00
Michael Catanzaro
5d2c1672bc Upgrade to 2.40.0 2023-03-17 09:41:22 -05:00
Michael Catanzaro
1c16daccce Upgrade to 2.39.91 2023-03-08 14:06:21 -06:00
8 changed files with 323 additions and 121 deletions

3
.gitignore vendored
View File

@ -13,3 +13,6 @@
/webkitgtk-2.39.6.tar.xz.asc
/webkitgtk-2.39.7.tar.xz.asc
/webkitgtk-2.39.90.tar.xz.asc
/webkitgtk-2.39.91.tar.xz.asc
/webkitgtk-2.40.0.tar.xz.asc
/webkitgtk-2.41.1.tar.xz.asc

149
build.patch Normal file
View File

@ -0,0 +1,149 @@
From fd977228c791d5cf767a1e5b4ed3596add8ed6d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=BDan=20Dober=C5=A1ek?= <zdobersek@igalia.com>
Date: Thu, 30 Mar 2023 10:36:24 -0700
Subject: [PATCH] Build fix around std::variant in SourceBrush for
Clang/libstdc++ https://bugs.webkit.org/show_bug.cgi?id=254742
Unreviewed, build fix for the SourceBrush::Brush std::variant construction when
using Clang with libstdc++.
Things get mixed up when using Ref<Pattern> for constructing the variant, with
the compiler using it as initialization for the LogicalGradient type, the other
possible type in the variant, which ends up in a compile-time error.
This can be avoided by using the in-place tag when constructing the variant in
the SourceBrush::setPattern() method, specifying which variant-alternative type
should be used.
Similar fix for the same reasons is also needed in the decoding part of the
ArgumentCoder<std::variant<>> specialization, this being problematic due to the
SourceBrush::Brush decoding produced for the generated serializers purpose.
There the variant is constructed with the in-place tag that's based on the index
value of the alternative.
* Source/WebCore/platform/graphics/SourceBrush.cpp:
(WebCore::SourceBrush::setPattern):
* Source/WebCore/platform/graphics/SourceBrush.h:
* Source/WebKit/Platform/IPC/ArgumentCoders.h:
Canonical link: https://commits.webkit.org/262339@main
---
Source/WebCore/platform/graphics/SourceBrush.cpp | 2 +-
Source/WebCore/platform/graphics/SourceBrush.h | 3 ++-
Source/WebKit/Platform/IPC/ArgumentCoders.h | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/Source/WebCore/platform/graphics/SourceBrush.cpp b/Source/WebCore/platform/graphics/SourceBrush.cpp
index f42e0d42f534..44135b7706ad 100644
--- a/Source/WebCore/platform/graphics/SourceBrush.cpp
+++ b/Source/WebCore/platform/graphics/SourceBrush.cpp
@@ -91,7 +91,7 @@ void SourceBrush::setGradient(Ref<Gradient>&& gradient, const AffineTransform& s
void SourceBrush::setPattern(Ref<Pattern>&& pattern)
{
- m_brush = { WTFMove(pattern) };
+ m_brush = { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
}
WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush)
diff --git a/Source/WebCore/platform/graphics/SourceBrush.h b/Source/WebCore/platform/graphics/SourceBrush.h
index 176b9fc85c18..cd97b82c7444 100644
--- a/Source/WebCore/platform/graphics/SourceBrush.h
+++ b/Source/WebCore/platform/graphics/SourceBrush.h
@@ -42,7 +42,8 @@ class SourceBrush {
template<typename Decoder> static std::optional<LogicalGradient> decode(Decoder&);
};
- std::variant<LogicalGradient, Ref<Pattern>> brush;
+ using Variant = std::variant<LogicalGradient, Ref<Pattern>>;
+ Variant brush;
};
SourceBrush() = default;
diff --git a/Source/WebKit/Platform/IPC/ArgumentCoders.h b/Source/WebKit/Platform/IPC/ArgumentCoders.h
index ae37b2145fc2..2d93984e3f36 100644
--- a/Source/WebKit/Platform/IPC/ArgumentCoders.h
+++ b/Source/WebKit/Platform/IPC/ArgumentCoders.h
@@ -743,7 +743,7 @@ template<typename... Types> struct ArgumentCoder<std::variant<Types...>> {
auto optional = decoder.template decode<typename std::variant_alternative_t<index, std::variant<Types...>>>();
if (!optional)
return std::nullopt;
- return std::make_optional<std::variant<Types...>>(WTFMove(*optional));
+ return std::make_optional<std::variant<Types...>>(std::in_place_index<index>, WTFMove(*optional));
}
return decode(decoder, std::make_index_sequence<index + 1> { }, i);
} else
From 93920b55f52ff8b883296f4845269e2ed746acb3 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 31 Mar 2023 12:24:09 -0700
Subject: [PATCH] Fix build of SourceBrush.cpp
https://bugs.webkit.org/show_bug.cgi?id=254821
Unreviewed build fix.
* Source/WebCore/platform/graphics/SourceBrush.cpp:
(WebCore::SourceBrush::setGradient):
(WebCore::SourceBrush::setPattern):
Canonical link: https://commits.webkit.org/262434@main
---
Source/WebCore/platform/graphics/SourceBrush.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Source/WebCore/platform/graphics/SourceBrush.cpp b/Source/WebCore/platform/graphics/SourceBrush.cpp
index 44135b7706ad..5377831d7902 100644
--- a/Source/WebCore/platform/graphics/SourceBrush.cpp
+++ b/Source/WebCore/platform/graphics/SourceBrush.cpp
@@ -86,12 +86,12 @@ Pattern* SourceBrush::pattern() const
void SourceBrush::setGradient(Ref<Gradient>&& gradient, const AffineTransform& spaceTransform)
{
- m_brush = { Brush::LogicalGradient { { WTFMove(gradient) }, spaceTransform } };
+ m_brush = Brush { Brush::LogicalGradient { { WTFMove(gradient) }, spaceTransform } };
}
void SourceBrush::setPattern(Ref<Pattern>&& pattern)
{
- m_brush = { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
+ m_brush = Brush { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
}
WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush)
From 2fd83187cbe7cf7f57f4d6834f6060b00703683b Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 31 Mar 2023 13:23:45 -0500
Subject: [PATCH] [GTK] AcceleratedSurfaceDMABuf.cpp does not build on i368
https://bugs.webkit.org/show_bug.cgi?id=254828
Reviewed by NOBODY (OOPS!).
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::clientResize):
---
.../WebPage/gtk/AcceleratedSurfaceDMABuf.cpp | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp b/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
index 2aa33586b317..34cca9f11d62 100644
--- a/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
+++ b/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
@@ -130,12 +130,12 @@ void AcceleratedSurfaceDMABuf::clientResize(const WebCore::IntSize& size)
}
UnixFileDescriptor backFD(gbm_bo_get_fd(backObject), UnixFileDescriptor::Adopt);
Vector<EGLAttrib> attributes = {
- EGL_WIDTH, gbm_bo_get_width(backObject),
- EGL_HEIGHT, gbm_bo_get_height(backObject),
- EGL_LINUX_DRM_FOURCC_EXT, gbm_bo_get_format(backObject),
+ EGL_WIDTH, static_cast<EGLAttrib>(gbm_bo_get_width(backObject)),
+ EGL_HEIGHT, static_cast<EGLAttrib>(gbm_bo_get_height(backObject)),
+ EGL_LINUX_DRM_FOURCC_EXT, static_cast<EGLAttrib>(gbm_bo_get_format(backObject)),
EGL_DMA_BUF_PLANE0_FD_EXT, backFD.value(),
- EGL_DMA_BUF_PLANE0_OFFSET_EXT, gbm_bo_get_offset(backObject, 0),
- EGL_DMA_BUF_PLANE0_PITCH_EXT, gbm_bo_get_stride(backObject),
+ EGL_DMA_BUF_PLANE0_OFFSET_EXT, static_cast<EGLAttrib>(gbm_bo_get_offset(backObject, 0)),
+ EGL_DMA_BUF_PLANE0_PITCH_EXT, static_cast<EGLAttrib>(gbm_bo_get_stride(backObject)),
EGL_NONE
};
m_backImage = display.createEGLImage(EGL_NO_CONTEXT, EGL_LINUX_DMA_BUF_EXT, nullptr, attributes);

155
crashy-jit.patch Normal file
View File

@ -0,0 +1,155 @@
From 63f0b2d0c54093bfea054cc6b302e578260d0fcc Mon Sep 17 00:00:00 2001
From: Yusuke Suzuki <ysuzuki@apple.com>
Date: Thu, 30 Mar 2023 19:47:10 -0700
Subject: [PATCH] [JSC] Reduce # of parameters of function#bind operations
https://bugs.webkit.org/show_bug.cgi?id=254752 rdar://problem/107427493
Reviewed by Ross Kirsling.
Let's reconstruct boundArgsLength via passed args to reduce # of parameters of operations,
to mitigate issues on x64 Windows (Windows x64 does not have appropriate implementation for more parameters).
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGOperations.h:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileFunctionBind):
(JSC::DFG::SpeculativeJIT::compileNewBoundFunction):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewBoundFunction):
(JSC::FTL::DFG::LowerDFGToB3::compileFunctionBind):
Canonical link: https://commits.webkit.org/262385@main
---
Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp | 2 +-
Source/JavaScriptCore/dfg/DFGOperations.cpp | 13 +++++++++++--
Source/JavaScriptCore/dfg/DFGOperations.h | 4 ++--
Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp | 6 ++----
Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp | 5 ++---
5 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp b/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
index fc1cd9e88efc..ae1265bb4bc8 100644
--- a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
+++ b/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
@@ -3886,7 +3886,7 @@ auto ByteCodeParser::handleIntrinsicCall(Node* callee, Operand result, CallVaria
for (; index < argumentCountIncludingThis; ++index)
addVarArgChild(get(virtualRegisterForArgumentIncludingThis(index, registerOffset)));
for (; index < numChildren; ++index)
- addVarArgChild(jsConstant(jsUndefined()));
+ addVarArgChild(jsConstant(JSValue()));
Node* resultNode = addToGraph(Node::VarArg, FunctionBind, OpInfo(0), OpInfo(static_cast<unsigned>(argumentCountIncludingThis >= 2 ? argumentCountIncludingThis - 2 : 0)));
setResult(resultNode);
return CallOptimizationResult::Inlined;
diff --git a/Source/JavaScriptCore/dfg/DFGOperations.cpp b/Source/JavaScriptCore/dfg/DFGOperations.cpp
index ca316e1bd6d2..f19fcd7df41c 100644
--- a/Source/JavaScriptCore/dfg/DFGOperations.cpp
+++ b/Source/JavaScriptCore/dfg/DFGOperations.cpp
@@ -2818,7 +2818,7 @@ JSC_DEFINE_JIT_OPERATION(operationFunctionToString, JSString*, (JSGlobalObject*
return function->toString(globalObject);
}
-JSC_DEFINE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObject* globalObject, JSObject* target, unsigned boundArgsLength, EncodedJSValue boundThisValue, EncodedJSValue arg0Value, EncodedJSValue arg1Value, EncodedJSValue arg2Value))
+JSC_DEFINE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObject* globalObject, JSObject* target, EncodedJSValue boundThisValue, EncodedJSValue arg0Value, EncodedJSValue arg1Value, EncodedJSValue arg2Value))
{
VM& vm = globalObject->vm();
CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
@@ -2830,6 +2830,11 @@ JSC_DEFINE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObjec
return { };
}
+ unsigned boundArgsLength = 0;
+ boundArgsLength += !!(JSValue::decode(arg0Value));
+ boundArgsLength += !!(JSValue::decode(arg1Value));
+ boundArgsLength += !!(JSValue::decode(arg2Value));
+
JSValue boundThis = JSValue::decode(boundThisValue);
EncodedJSValue arguments[JSBoundFunction::maxEmbeddedArgs] {
arg0Value,
@@ -2871,7 +2876,7 @@ JSC_DEFINE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObjec
RELEASE_AND_RETURN(scope, JSBoundFunction::create(vm, globalObject, target, boundThis, boundArgs, length, name));
}
-JSC_DEFINE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalObject* globalObject, JSFunction* function, unsigned boundArgsLength, EncodedJSValue boundThisValue, EncodedJSValue arg0Value, EncodedJSValue arg1Value, EncodedJSValue arg2Value))
+JSC_DEFINE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalObject* globalObject, JSFunction* function, EncodedJSValue boundThisValue, EncodedJSValue arg0Value, EncodedJSValue arg1Value, EncodedJSValue arg2Value))
{
VM& vm = globalObject->vm();
CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
@@ -2880,6 +2885,10 @@ JSC_DEFINE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalO
JSValue arg0 = JSValue::decode(arg0Value);
JSValue arg1 = JSValue::decode(arg1Value);
JSValue arg2 = JSValue::decode(arg2Value);
+ unsigned boundArgsLength = 0;
+ boundArgsLength += !!(arg0);
+ boundArgsLength += !!(arg1);
+ boundArgsLength += !!(arg2);
return JSBoundFunction::createRaw(vm, globalObject, function, boundArgsLength, boundThis, arg0, arg1, arg2);
}
diff --git a/Source/JavaScriptCore/dfg/DFGOperations.h b/Source/JavaScriptCore/dfg/DFGOperations.h
index 9602feb3d66a..7e6080a3ec4e 100644
--- a/Source/JavaScriptCore/dfg/DFGOperations.h
+++ b/Source/JavaScriptCore/dfg/DFGOperations.h
@@ -274,8 +274,8 @@ JSC_DECLARE_JIT_OPERATION(operationInt32ToStringWithValidRadix, char*, (JSGlobal
JSC_DECLARE_JIT_OPERATION(operationInt52ToStringWithValidRadix, char*, (JSGlobalObject*, int64_t, int32_t));
JSC_DECLARE_JIT_OPERATION(operationDoubleToStringWithValidRadix, char*, (JSGlobalObject*, double, int32_t));
JSC_DECLARE_JIT_OPERATION(operationFunctionToString, JSString*, (JSGlobalObject*, JSFunction*));
-JSC_DECLARE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObject*, JSObject*, unsigned, EncodedJSValue, EncodedJSValue, EncodedJSValue, EncodedJSValue));
-JSC_DECLARE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalObject*, JSFunction*, unsigned, EncodedJSValue, EncodedJSValue, EncodedJSValue, EncodedJSValue));
+JSC_DECLARE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObject*, JSObject*, EncodedJSValue, EncodedJSValue, EncodedJSValue, EncodedJSValue));
+JSC_DECLARE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalObject*, JSFunction*, EncodedJSValue, EncodedJSValue, EncodedJSValue, EncodedJSValue));
JSC_DECLARE_JIT_OPERATION(operationNormalizeMapKeyHeapBigInt, EncodedJSValue, (VM*, JSBigInt*));
JSC_DECLARE_JIT_OPERATION(operationMapHash, UCPUStrictInt32, (JSGlobalObject*, EncodedJSValue input));
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
index 167e61a8d1d0..67f5def0dceb 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
@@ -6574,12 +6574,10 @@ void SpeculativeJIT::compileFunctionBind(Node* node)
speculateObject(m_graph.child(node, 0), targetGPR);
- unsigned boundArgsLength = node->numberOfBoundArguments();
-
GPRFlushedCallResult result(this);
GPRReg resultGPR = result.gpr();
flushRegisters();
- callOperation(operationFunctionBind, resultGPR, LinkableConstant::globalObject(*this, node), targetGPR, TrustedImm32(boundArgsLength), boundThisRegs, arg0Regs, arg1Regs, arg2Regs);
+ callOperation(operationFunctionBind, resultGPR, LinkableConstant::globalObject(*this, node), targetGPR, boundThisRegs, arg0Regs, arg1Regs, arg2Regs);
exceptionCheck();
cellResult(resultGPR, node);
}
@@ -6629,7 +6627,7 @@ void SpeculativeJIT::compileNewBoundFunction(Node* node)
store8(TrustedImm32(static_cast<uint8_t>(TriState::Indeterminate)), Address(resultGPR, JSBoundFunction::offsetOfCanConstruct()));
mutatorFence(vm());
- addSlowPathGenerator(slowPathCall(slowPath, this, operationNewBoundFunction, resultGPR, LinkableConstant::globalObject(*this, node), targetGPR, TrustedImm32(node->numberOfBoundArguments()), boundThisRegs, arg0Regs, arg1Regs, arg2Regs));
+ addSlowPathGenerator(slowPathCall(slowPath, this, operationNewBoundFunction, resultGPR, LinkableConstant::globalObject(*this, node), targetGPR, boundThisRegs, arg0Regs, arg1Regs, arg2Regs));
cellResult(resultGPR, node);
}
diff --git a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
index 2dda50507633..704d0dd68d8c 100644
--- a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
+++ b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
@@ -7339,7 +7339,7 @@ IGNORE_CLANG_WARNINGS_END
LValue callResult = lazySlowPath(
[=, &vm] (const Vector<Location>& locations) -> RefPtr<LazySlowPath::Generator> {
return createLazyCallGenerator(vm, operationNewBoundFunction, locations[0].directGPR(),
- CCallHelpers::TrustedImmPtr(globalObject), locations[1].directGPR(), CCallHelpers::TrustedImm32(numberOfBoundArguments),
+ CCallHelpers::TrustedImmPtr(globalObject), locations[1].directGPR(),
locations[2].directGPR(), locations[3].directGPR(), locations[4].directGPR(), locations[5].directGPR());
},
target, thisValue, arg0, arg1, arg2);
@@ -9014,8 +9014,7 @@ IGNORE_CLANG_WARNINGS_END
void compileFunctionBind()
{
JSGlobalObject* globalObject = m_graph.globalObjectFor(m_origin.semantic);
- unsigned boundArgsLength = m_node->numberOfBoundArguments();
- setJSValue(vmCall(pointerType(), operationFunctionBind, weakPointer(globalObject), lowObject(m_graph.child(m_node, 0)), m_out.constInt32(boundArgsLength), lowJSValue(m_graph.child(m_node, 1)), lowJSValue(m_graph.child(m_node, 2)), lowJSValue(m_graph.child(m_node, 3)), lowJSValue(m_graph.child(m_node, 4))));
+ setJSValue(vmCall(pointerType(), operationFunctionBind, weakPointer(globalObject), lowObject(m_graph.child(m_node, 0)), lowJSValue(m_graph.child(m_node, 1)), lowJSValue(m_graph.child(m_node, 2)), lowJSValue(m_graph.child(m_node, 3)), lowJSValue(m_graph.child(m_node, 4))));
}
void compileToPrimitive()

View File

@ -1,62 +0,0 @@
From 166cdf23242165c9c84f621a4121c80432211c50 Mon Sep 17 00:00:00 2001
From: Adrian Perez de Castro <aperez@igalia.com>
Date: Mon, 20 Feb 2023 16:26:28 +0200
Subject: [PATCH] [GLib] Installed API headers are unusable with the new 2022
API https://bugs.webkit.org/show_bug.cgi?id=252562
Reviewed by NOBODY (OOPS!).
* Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in: Only
include JavaScriptCore/JSBase.h with the old API, change a !USE(GTK4)
guard to !ENABLE(2022_GLIB_API) as it is more correct.
* Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in: Ditto.
---
Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in | 4 ++--
Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in | 4 +++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in b/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in
index b7eece231000..78ba2120b225 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in
+++ b/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in
@@ -26,7 +26,7 @@
#include <glib-object.h>
#include <@API_INCLUDE_PREFIX@/WebKitDefines.h>
-#if PLATFORM(GTK)
+#if PLATFORM(GTK) && !ENABLE(2022_GLIB_API)
#include <JavaScriptCore/JSBase.h>
#endif
@@ -46,7 +46,7 @@ webkit_javascript_result_ref (WebKitJavascriptResult *js_result);
WEBKIT_API void
webkit_javascript_result_unref (WebKitJavascriptResult *js_result);
-#if PLATFORM(GTK) && !USE(GTK4)
+#if PLATFORM(GTK) && !ENABLE(2022_GLIB_API)
WEBKIT_DEPRECATED JSGlobalContextRef
webkit_javascript_result_get_global_context (WebKitJavascriptResult *js_result);
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in b/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
index 45949e44e4a3..293aa3841695 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
@@ -59,7 +59,9 @@
#endif
#if PLATFORM(GTK)
+#if !ENABLE(2022_GLIB_API)
#include <JavaScriptCore/JSBase.h>
+#endif
#include <webkit/WebKitColorChooserRequest.h>
#include <webkit/WebKitWebInspector.h>
#include <webkit/WebKitWebViewBase.h>
@@ -628,7 +630,7 @@ webkit_web_view_execute_editing_command_with_argument(WebKitWebView
WEBKIT_API WebKitFindController *
webkit_web_view_get_find_controller (WebKitWebView *web_view);
-#if PLATFORM(GTK) && !USE(GTK4)
+#if PLATFORM(GTK) && !ENABLE(2022_GLIB_API)
WEBKIT_DEPRECATED JSGlobalContextRef
webkit_web_view_get_javascript_global_context (WebKitWebView *web_view);
#endif

View File

@ -1,29 +0,0 @@
diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
index 94b9740c8a82..43b961c996c3 100644
--- a/Source/cmake/OptionsCommon.cmake
+++ b/Source/cmake/OptionsCommon.cmake
@@ -154,19 +154,11 @@ if (USE_THIN_ARCHIVES)
endif ()
set(ENABLE_DEBUG_FISSION_DEFAULT OFF)
-check_cxx_compiler_flag(-gsplit-dwarf CXX_COMPILER_SUPPORTS_GSPLIT_DWARF)
-if (CXX_COMPILER_SUPPORTS_GSPLIT_DWARF AND LD_SUPPORTS_SPLIT_DEBUG)
- set(ENABLE_DEBUG_FISSION_DEFAULT ON)
-endif ()
-
-if (ENABLE_DEBUG_FISSION_DEFAULT AND SCCACHE_FOUND AND COMPILER_IS_CLANG AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
- # https://github.com/mozilla/sccache/issues/1593
- message("The SCCache clang backend doesn't support split-dwarf for non-debug builds yet. Keeping default value of DEBUG_FISSION to OFF.")
- set(ENABLE_DEBUG_FISSION_DEFAULT OFF)
-endif ()
-
-if (CMAKE_GENERATOR MATCHES "Visual Studio")
- set(ENABLE_DEBUG_FISSION_DEFAULT OFF)
+if ((CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") AND NOT CMAKE_GENERATOR MATCHES "Visual Studio")
+ check_cxx_compiler_flag(-gsplit-dwarf CXX_COMPILER_SUPPORTS_GSPLIT_DWARF)
+ if (CXX_COMPILER_SUPPORTS_GSPLIT_DWARF AND LD_SUPPORTS_SPLIT_DEBUG)
+ set(ENABLE_DEBUG_FISSION_DEFAULT ON)
+ endif ()
endif ()
option(DEBUG_FISSION "Use Debug Fission support" ${ENABLE_DEBUG_FISSION_DEFAULT})

View File

@ -1,2 +1,2 @@
SHA512 (webkitgtk-2.39.90.tar.xz) = 1a17a60443072253c9b2a4a04356213ea9a3f36976ebad048048b1bf6a5dd15a9fb161df1cabbf4258b001a5ab326161887cc8e6f1863a3e32834a35f607e4d4
SHA512 (webkitgtk-2.39.90.tar.xz.asc) = 772e584f3caa3141d3cdc0abdd747c2c08990c244740f138fe9f64f3aedb01a08f39fea59e27906e27063aaebf41432a25a6326f4841af7b3075c4da70b16f09
SHA512 (webkitgtk-2.41.1.tar.xz) = a64e112855b53329d99b3f06239e2a7e593a4b22c4c91d87ae67cc37441fdd57458cfcd69151c43a614e10406b25d5f77c43f6865bb5883e32c25c993a506c37
SHA512 (webkitgtk-2.41.1.tar.xz.asc) = a622232ba91291e3a19cb3693b415e2cf2005bdb52e92054dbe5ced56663d471a1a8942c1a2f53f46124910a270aaec72272ee03e3a590729e195571eab329fe

View File

@ -1,12 +0,0 @@
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
index 97e22b7ec4c1..64397ee50cf7 100644
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
@@ -39,6 +39,7 @@
#include "LLIntData.h"
#include "LLIntSlowPaths.h"
#include "JSCInlines.h"
+#include "SuperSampler.h"
#include <wtf/Assertions.h>
#include <wtf/MathExtras.h>

View File

@ -1,6 +1,3 @@
# https://bugs.webkit.org/show_bug.cgi?id=249368
%global _lto_cflags %{nil}
## NOTE: Lots of files in various subdirectories have the same name (such as
## "LICENSE") so this short macro allows us to distinguish them by using their
## directory names (from the source tree) as prefixes for the files.
@ -19,7 +16,7 @@
%bcond_without docs
Name: webkitgtk
Version: 2.39.90
Version: 2.41.1
Release: %autorelease
Summary: GTK web content engine library
@ -32,14 +29,13 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc
# $ gpg --export --export-options export-minimal D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg
Source2: webkitgtk-keys.gpg
# https://github.com/WebKit/WebKit/pull/10362
Patch0: fix-installed-headers.patch
# https://commits.webkit.org/262385@main
Patch0: crashy-jit.patch
# https://bugs.webkit.org/show_bug.cgi?id=252617
Patch1: super-sampler.patch
# https://bugs.webkit.org/show_bug.cgi?id=252679
Patch2: no-debug-fission.patch
# https://commits.webkit.org/262339@main
# https://commits.webkit.org/262434@main
# https://github.com/WebKit/WebKit/pull/12250
Patch1: build.patch
BuildRequires: bison
BuildRequires: bubblewrap
@ -72,6 +68,7 @@ BuildRequires: pkgconfig(enchant-2)
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glesv2)
@ -85,6 +82,7 @@ BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(icu-uc)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libavif)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libgcrypt)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libnotify)
@ -434,10 +432,10 @@ export NINJA_STATUS="[3/3][%f/%t %es] "
%license _license_files/*WebCore*
%license _license_files/*WebInspectorUI*
%license _license_files/*WTF*
%{_libdir}/libwebkitgtk-6.0.so.3*
%{_libdir}/libwebkitgtk-6.0.so.4*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/WebKit-6.0.typelib
%{_libdir}/girepository-1.0/WebKitWebExtension-6.0.typelib
%{_libdir}/girepository-1.0/WebKitWebProcessExtension-6.0.typelib
%{_libdir}/webkitgtk-6.0/
%{_libexecdir}/webkitgtk-6.0/
%exclude %{_libexecdir}/webkitgtk-6.0/MiniBrowser
@ -478,10 +476,10 @@ export NINJA_STATUS="[3/3][%f/%t %es] "
%exclude %{_includedir}/webkitgtk-6.0/jsc
%{_libdir}/libwebkitgtk-6.0.so
%{_libdir}/pkgconfig/webkitgtk-6.0.pc
%{_libdir}/pkgconfig/webkitgtk-web-extension-6.0.pc
%{_libdir}/pkgconfig/webkitgtk-web-process-extension-6.0.pc
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/WebKit-6.0.gir
%{_datadir}/gir-1.0/WebKitWebExtension-6.0.gir
%{_datadir}/gir-1.0/WebKitWebProcessExtension-6.0.gir
%files -n webkit2gtk4.1-devel
%{_libexecdir}/webkit2gtk-4.1/MiniBrowser
@ -560,7 +558,7 @@ export NINJA_STATUS="[3/3][%f/%t %es] "
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/javascriptcoregtk-6.0/
%{_datadir}/gtk-doc/html/webkitgtk-6.0/
%{_datadir}/gtk-doc/html/webkitgtk-web-extension-6.0/
%{_datadir}/gtk-doc/html/webkitgtk-web-process-extension-6.0/
%files -n webkit2gtk4.1-doc
%dir %{_datadir}/gtk-doc