libicu: revbump revdeps(4)

This commit is contained in:
Kevin Williams 2024-04-20 14:39:32 +08:00 committed by Chongyun Lee
parent 54f3c0107f
commit 19f1c57cc1
4 changed files with 266 additions and 21 deletions

View File

@ -1,20 +0,0 @@
+++ a/Source/WebCore/xml/XSLTProcessorLibxslt.cpp
@@ -131,7 +131,7 @@
Frame* frame = globalProcessor->xslStylesheet()->ownerDocument()->frame();
if (frame && frame->page())
console = &frame->page()->console();
- xmlSetStructuredErrorFunc(console, XSLTProcessor::parseErrorFunc);
+ xmlSetStructuredErrorFunc(console, (xmlStructuredErrorFunc) XSLTProcessor::parseErrorFunc);
xmlSetGenericErrorFunc(console, XSLTProcessor::genericErrorFunc);
// We don't specify an encoding here. Neither Gecko nor WinIE respects
+++ a/Source/WebCore/xml/XSLStyleSheetLibxslt.cpp
@@ -140,7 +140,7 @@
if (frame && frame->page())
console = &frame->page()->console();
- XMLDocumentParserScope scope(cachedResourceLoader(), XSLTProcessor::genericErrorFunc, XSLTProcessor::parseErrorFunc, console);
+ XMLDocumentParserScope scope(cachedResourceLoader(), XSLTProcessor::genericErrorFunc, (xmlStructuredErrorFunc) XSLTProcessor::parseErrorFunc, (void*) console);
auto upconvertedCharacters = StringView(string).upconvertedCharacters();
const char* buffer = reinterpret_cast<const char*>(upconvertedCharacters.get());

View File

@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="A full-featured port of the WebKit rendering engine"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="2.42.4"
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://webkitgtk.org/releases/webkitgtk-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=52288b30bda22373442cecb86f9c9a569ad8d4769a1f97b352290ed92a67ed86
TERMUX_PKG_DEPENDS="atk, enchant, fontconfig, freetype, glib, gst-plugins-bad, gst-plugins-base, gst-plugins-good, gstreamer, gtk3, harfbuzz, harfbuzz-icu, libc++, libcairo, libgcrypt, libhyphen, libicu, libjpeg-turbo, libpng, libsoup3, libtasn1, libwebp, libxml2, libx11, libxcomposite, libxdamage, libxslt, libxt, littlecms, openjpeg, pango, woff2, zlib"
@ -17,6 +18,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DUSE_LIBSECRET=OFF
-DENABLE_INTROSPECTION=ON
-DENABLE_DOCUMENTATION=OFF
-DENABLE_WAYLAND_TARGET=OFF
-DUSE_WPE_RENDERER=OFF
-DENABLE_BUBBLEWRAP_SANDBOX=OFF
-DUSE_LD_GOLD=OFF

View File

@ -0,0 +1,263 @@
https://github.com/WebKit/WebKit/commit/910ab18a82d45d05c146999c32b0c517bf78b56a
https://github.com/WebKit/WebKit/commit/3a1c08120188470f531a1a3a4837b496cc900bd7
diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
index c782b8e2c8af..6b4dd14806a8 100644
--- a/Source/WebKit/PlatformGTK.cmake
+++ b/Source/WebKit/PlatformGTK.cmake
@@ -369,6 +369,12 @@ if (ENABLE_MEDIA_STREAM)
)
endif ()
+if ("${GI_VERSION}" VERSION_GREATER_EQUAL 1.79.2)
+ set(USE_GI_FINISH_FUNC_ANNOTATION 1)
+else ()
+ set(USE_GI_FINISH_FUNC_ANNOTATION 0)
+endif ()
+
GENERATE_GLIB_API_HEADERS(WebKit WebKitGTK_HEADER_TEMPLATES
${WebKitGTK_DERIVED_SOURCES_DIR}/webkit
WebKitGTK_INSTALLED_HEADERS
@@ -376,7 +382,9 @@ GENERATE_GLIB_API_HEADERS(WebKit WebKitGTK_HEADER_TEMPLATES
"-DWTF_PLATFORM_WPE=0"
"-DUSE_GTK4=$<BOOL:${USE_GTK4}>"
"-DENABLE_2022_GLIB_API=$<BOOL:${ENABLE_2022_GLIB_API}>"
+ "-DUSE_GI_FINISH_FUNC_ANNOTATION=${USE_GI_FINISH_FUNC_ANNOTATION}"
)
+unset(USE_GI_FINISH_FUNC_ANNOTATION)
GENERATE_GLIB_API_HEADERS(WebKit WebKitWebProcessExtension_HEADER_TEMPLATES
${WebKitGTK_DERIVED_SOURCES_DIR}/webkit
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
index 989bea31f5a0..b309ffff12b1 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
@@ -4489,75 +4489,6 @@ void webkit_web_view_run_javascript_in_world(WebKitWebView* webView, const gchar
webkitWebViewEvaluateJavascriptInternal(webView, script, -1, worldName, nullptr, RunJavascriptReturnType::WebKitJavascriptResult, cancellable, callback, userData);
}
-/**
- * webkit_web_view_run_async_javascript_function_in_world:
- * @web_view: a #WebKitWebView
- * @body: the JavaScript function body
- * @arguments: a #GVariant with format `{&sv}` storing the function arguments. Function argument values must be one of the following types, or contain only the following GVariant types: number, string, array, and dictionary.
- * @world_name (nullable): the name of a #WebKitScriptWorld, if no name (i.e. %NULL) is provided, the default world is used. Any value that is not %NULL is a distinct world.
- * @cancellable: (allow-none): a #GCancellable or %NULL to ignore
- * @callback: (scope async): a #GAsyncReadyCallback to call when the script finished
- * @user_data: the data to pass to callback function
- *
- * Asynchronously run @body in the script world with name @world_name of the current page context in
- * @web_view. If WebKitSettings:enable-javascript is FALSE, this method will do nothing. This API
- * differs from webkit_web_view_run_javascript_in_world() in that the JavaScript function can return a
- * Promise and its result will be properly passed to the callback.
- *
- * When the operation is finished, @callback will be called. You can then call
- * webkit_web_view_run_javascript_in_world_finish() to get the result of the operation.
- *
- * For instance here is a dummy example that shows how to pass arguments to a JS function that
- * returns a Promise that resolves with the passed argument:
- *
- * ```c
- * static void
- * web_view_javascript_finished (GObject *object,
- * GAsyncResult *result,
- * gpointer user_data)
- * {
- * WebKitJavascriptResult *js_result;
- * JSCValue *value;
- * GError *error = NULL;
- *
- * js_result = webkit_web_view_run_javascript_finish (WEBKIT_WEB_VIEW (object), result, &error);
- * if (!js_result) {
- * g_warning ("Error running javascript: %s", error->message);
- * g_error_free (error);
- * return;
- * }
- *
- * value = webkit_javascript_result_get_js_value (js_result);
- * if (jsc_value_is_number (value)) {
- * gint32 int_value = jsc_value_to_string (value);
- * JSCException *exception = jsc_context_get_exception (jsc_value_get_context (value));
- * if (exception)
- * g_warning ("Error running javascript: %s", jsc_exception_get_message (exception));
- * else
- * g_print ("Script result: %d\n", int_value);
- * g_free (str_value);
- * } else {
- * g_warning ("Error running javascript: unexpected return value");
- * }
- * webkit_javascript_result_unref (js_result);
- * }
- *
- * static void
- * web_view_evaluate_promise (WebKitWebView *web_view)
- * {
- * GVariantDict dict;
- * g_variant_dict_init (&dict, NULL);
- * g_variant_dict_insert (&dict, "count", "u", 42);
- * GVariant *args = g_variant_dict_end (&dict);
- * const gchar *body = "return new Promise((resolve) => { resolve(count); });";
- * webkit_web_view_run_async_javascript_function_in_world (web_view, body, arguments, NULL, NULL, web_view_javascript_finished, NULL);
- * }
- * ```
- *
- * Since: 2.38
- *
- * Deprecated: 2.40: Use webkit_web_view_call_async_javascript_function() instead.
- */
void webkit_web_view_run_async_javascript_function_in_world(WebKitWebView* webView, const gchar* body, GVariant* arguments, const char* worldName, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer userData)
{
webkitWebViewCallAsyncJavascriptFunctionInternal(webView, body, -1, arguments, worldName, nullptr, RunJavascriptReturnType::WebKitJavascriptResult, cancellable, callback, userData);
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in b/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
index 959dd985c166..f385fd67b107 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
@@ -905,6 +905,148 @@ webkit_web_view_get_web_extension_mode (WebKitWebView
WEBKIT_API const gchar*
webkit_web_view_get_default_content_security_policy (WebKitWebView *web_view);
+#if USE(GI_FINISH_FUNC_ANNOTATION)
+/**
+ * webkit_web_view_run_async_javascript_function_in_world: (finish-func webkit_web_view_run_javascript_in_world_finish)
+ * @web_view: a #WebKitWebView
+ * @body: the JavaScript function body
+ * @arguments: a #GVariant with format `{&sv}` storing the function arguments. Function argument values must be one of the following types, or contain only the following GVariant types: number, string, array, and dictionary.
+ * @world_name: (nullable): the name of a #WebKitScriptWorld, if no name (i.e. %NULL) is provided, the default world is used. Any value that is not %NULL is a distinct world.
+ * @cancellable: (allow-none): a #GCancellable or %NULL to ignore
+ * @callback: (scope async): a #GAsyncReadyCallback to call when the script finished
+ * @user_data: the data to pass to callback function
+ *
+ * Asynchronously run @body in the script world with name @world_name of the current page context in
+ * @web_view. If WebKitSettings:enable-javascript is FALSE, this method will do nothing. This API
+ * differs from webkit_web_view_run_javascript_in_world() in that the JavaScript function can return a
+ * Promise and its result will be properly passed to the callback.
+ *
+ * When the operation is finished, @callback will be called. You can then call
+ * webkit_web_view_run_javascript_in_world_finish() to get the result of the operation.
+ *
+ * For instance here is a dummy example that shows how to pass arguments to a JS function that
+ * returns a Promise that resolves with the passed argument:
+ *
+ * ```c
+ * static void
+ * web_view_javascript_finished (GObject *object,
+ * GAsyncResult *result,
+ * gpointer user_data)
+ * {
+ * WebKitJavascriptResult *js_result;
+ * JSCValue *value;
+ * GError *error = NULL;
+ *
+ * js_result = webkit_web_view_run_javascript_finish (WEBKIT_WEB_VIEW (object), result, &error);
+ * if (!js_result) {
+ * g_warning ("Error running javascript: %s", error->message);
+ * g_error_free (error);
+ * return;
+ * }
+ *
+ * value = webkit_javascript_result_get_js_value (js_result);
+ * if (jsc_value_is_number (value)) {
+ * gint32 int_value = jsc_value_to_string (value);
+ * JSCException *exception = jsc_context_get_exception (jsc_value_get_context (value));
+ * if (exception)
+ * g_warning ("Error running javascript: %s", jsc_exception_get_message (exception));
+ * else
+ * g_print ("Script result: %d\n", int_value);
+ * g_free (str_value);
+ * } else {
+ * g_warning ("Error running javascript: unexpected return value");
+ * }
+ * webkit_javascript_result_unref (js_result);
+ * }
+ *
+ * static void
+ * web_view_evaluate_promise (WebKitWebView *web_view)
+ * {
+ * GVariantDict dict;
+ * g_variant_dict_init (&dict, NULL);
+ * g_variant_dict_insert (&dict, "count", "u", 42);
+ * GVariant *args = g_variant_dict_end (&dict);
+ * const gchar *body = "return new Promise((resolve) => { resolve(count); });";
+ * webkit_web_view_run_async_javascript_function_in_world (web_view, body, arguments, NULL, NULL, web_view_javascript_finished, NULL);
+ * }
+ * ```
+ *
+ * Since: 2.38
+ *
+ * Deprecated: 2.40: Use webkit_web_view_call_async_javascript_function() instead.
+ */
+#else
+/**
+ * webkit_web_view_run_async_javascript_function_in_world:
+ * @web_view: a #WebKitWebView
+ * @body: the JavaScript function body
+ * @arguments: a #GVariant with format `{&sv}` storing the function arguments. Function argument values must be one of the following types, or contain only the following GVariant types: number, string, array, and dictionary.
+ * @world_name: (nullable): the name of a #WebKitScriptWorld, if no name (i.e. %NULL) is provided, the default world is used. Any value that is not %NULL is a distinct world.
+ * @cancellable: (allow-none): a #GCancellable or %NULL to ignore
+ * @callback: (scope async): a #GAsyncReadyCallback to call when the script finished
+ * @user_data: the data to pass to callback function
+ *
+ * Asynchronously run @body in the script world with name @world_name of the current page context in
+ * @web_view. If WebKitSettings:enable-javascript is FALSE, this method will do nothing. This API
+ * differs from webkit_web_view_run_javascript_in_world() in that the JavaScript function can return a
+ * Promise and its result will be properly passed to the callback.
+ *
+ * When the operation is finished, @callback will be called. You can then call
+ * webkit_web_view_run_javascript_in_world_finish() to get the result of the operation.
+ *
+ * For instance here is a dummy example that shows how to pass arguments to a JS function that
+ * returns a Promise that resolves with the passed argument:
+ *
+ * ```c
+ * static void
+ * web_view_javascript_finished (GObject *object,
+ * GAsyncResult *result,
+ * gpointer user_data)
+ * {
+ * WebKitJavascriptResult *js_result;
+ * JSCValue *value;
+ * GError *error = NULL;
+ *
+ * js_result = webkit_web_view_run_javascript_finish (WEBKIT_WEB_VIEW (object), result, &error);
+ * if (!js_result) {
+ * g_warning ("Error running javascript: %s", error->message);
+ * g_error_free (error);
+ * return;
+ * }
+ *
+ * value = webkit_javascript_result_get_js_value (js_result);
+ * if (jsc_value_is_number (value)) {
+ * gint32 int_value = jsc_value_to_string (value);
+ * JSCException *exception = jsc_context_get_exception (jsc_value_get_context (value));
+ * if (exception)
+ * g_warning ("Error running javascript: %s", jsc_exception_get_message (exception));
+ * else
+ * g_print ("Script result: %d\n", int_value);
+ * g_free (str_value);
+ * } else {
+ * g_warning ("Error running javascript: unexpected return value");
+ * }
+ * webkit_javascript_result_unref (js_result);
+ * }
+ *
+ * static void
+ * web_view_evaluate_promise (WebKitWebView *web_view)
+ * {
+ * GVariantDict dict;
+ * g_variant_dict_init (&dict, NULL);
+ * g_variant_dict_insert (&dict, "count", "u", 42);
+ * GVariant *args = g_variant_dict_end (&dict);
+ * const gchar *body = "return new Promise((resolve) => { resolve(count); });";
+ * webkit_web_view_run_async_javascript_function_in_world (web_view, body, arguments, NULL, NULL, web_view_javascript_finished, NULL);
+ * }
+ * ```
+ *
+ * Since: 2.38
+ *
+ * Deprecated: 2.40: Use webkit_web_view_call_async_javascript_function() instead.
+ */
+#endif
+
G_END_DECLS
#endif

View File

@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="A full-featured port of the WebKit rendering engine"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=2.40.3
TERMUX_PKG_REVISION=2
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL=https://webkitgtk.org/releases/webkitgtk-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=cc0aa83f40dbc64c1c6ae42ec6b85af4be2a9dbf524cfcb95f89a367fb5098dd
TERMUX_PKG_DEPENDS="enchant, fontconfig, freetype, glib, gst-plugins-bad, gst-plugins-base, gst-plugins-good, gstreamer, gtk4, harfbuzz, harfbuzz-icu, libc++, libcairo, libgcrypt, libhyphen, libicu, libjpeg-turbo, libpng, libsoup3, libtasn1, libwebp, libxml2, libx11, libxcomposite, libxdamage, libxslt, libxt, littlecms, openjpeg, pango, woff2, zlib"