From 5a0c4ae27a800c22dde67dc234d59961805382c3 Mon Sep 17 00:00:00 2001 From: jijinbei Date: Sat, 18 Apr 2026 16:14:06 +0900 Subject: [PATCH 1/5] linux.d/debian: use libwebkit2gtk-4.1-dev Co-Authored-By: Claude Opus 4.7 (1M context) --- linux.d/debian | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/linux.d/debian b/linux.d/debian index c076b25e23..f76d5e0acc 100644 --- a/linux.d/debian +++ b/linux.d/debian @@ -35,17 +35,7 @@ REQUIRED_DEV_PACKAGES=( if [[ -n "$UPDATE_LIB" ]] then - # for ubuntu 22+ and 23+: - ubu_major_version="$(grep VERSION_ID /etc/os-release | cut -d "=" -f 2 | cut -d "." -f 1 | tr -d /\"/)" - if [ $ubu_major_version = "22" ] || [ $ubu_major_version = "23" ] - then - REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.0-dev curl libfuse-dev libssl-dev libcurl4-openssl-dev m4) - elif [ $ubu_major_version = "24" ] - then - REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.1-dev) - else - REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.0-dev) - fi + REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.1-dev) if [[ -n "$BUILD_DEBUG" ]] then REQUIRED_DEV_PACKAGES+=(libssl-dev libcurl4-openssl-dev) From 02499f97707df933b26541a56f38b317217f447d Mon Sep 17 00:00:00 2001 From: jijinbei Date: Sat, 18 Apr 2026 16:14:15 +0900 Subject: [PATCH 2/5] linux.d/fedora: use webkit2gtk4.1-devel Co-Authored-By: Claude Opus 4.7 (1M context) --- linux.d/fedora | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/linux.d/fedora b/linux.d/fedora index cae064e15e..da9cfc8361 100644 --- a/linux.d/fedora +++ b/linux.d/fedora @@ -44,13 +44,7 @@ REQUIRED_DEV_PACKAGES=( if [[ -n "$UPDATE_LIB" ]] then NEEDED_PKGS="" - fedora_version=$(awk -F= '/^VERSION_ID=/ {print $2}' /etc/os-release) - if [ $fedora_version == "40" ] - then - REQUIRED_DEV_PACKAGES+=(webkit2gtk4.1-devel) - else - REQUIRED_DEV_PACKAGES+=(webkit2gtk4.0-devel) - fi + REQUIRED_DEV_PACKAGES+=(webkit2gtk4.1-devel) for PKG in ${REQUIRED_DEV_PACKAGES[@]}; do rpm -q ${PKG} > /dev/null || NEEDED_PKGS+=" ${PKG}" done From 4373cbea3def7e0464087621f2600079577ab6ce Mon Sep 17 00:00:00 2001 From: jijinbei Date: Sat, 18 Apr 2026 16:14:27 +0900 Subject: [PATCH 3/5] Containerfile: libwebkit2gtk-4.0-dev -> 4.1-dev Co-Authored-By: Claude Opus 4.7 (1M context) --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 5c953408c7..48e679c074 100644 --- a/Containerfile +++ b/Containerfile @@ -41,7 +41,7 @@ RUN apt-get update && apt-get install -y \ libgtk-3-dev \ libdbus-1-dev \ libcairo2-dev \ - libgtk-3-dev libwebkit2gtk-4.0-dev \ + libgtk-3-dev libwebkit2gtk-4.1-dev \ libsoup2.4-dev \ libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev libgstreamerd-3-dev \ libosmesa6-dev \ From fcdd98eb8627bf8a106272d6a6ae322e3960b1ae Mon Sep 17 00:00:00 2001 From: jijinbei Date: Sat, 18 Apr 2026 16:14:35 +0900 Subject: [PATCH 4/5] Containerfile: libsoup2.4-dev -> libsoup-3.0-dev Co-Authored-By: Claude Opus 4.7 (1M context) --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 48e679c074..a328f48435 100644 --- a/Containerfile +++ b/Containerfile @@ -42,7 +42,7 @@ RUN apt-get update && apt-get install -y \ libdbus-1-dev \ libcairo2-dev \ libgtk-3-dev libwebkit2gtk-4.1-dev \ - libsoup2.4-dev \ + libsoup-3.0-dev \ libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev libgstreamerd-3-dev \ libosmesa6-dev \ libssl3 libssl-dev libcurl4-openssl-dev libsecret-1-dev \ From 87fb4ba9ae2af8b955972b6c35dee9c4d1d96c91 Mon Sep 17 00:00:00 2001 From: jijinbei Date: Sat, 18 Apr 2026 16:15:10 +0900 Subject: [PATCH 5/5] WebView.cpp: migrate to webkit_web_view_evaluate_javascript Co-Authored-By: Claude Opus 4.7 (1M context) --- src/slic3r/GUI/Widgets/WebView.cpp | 33 ++++++++++++++++-------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/slic3r/GUI/Widgets/WebView.cpp b/src/slic3r/GUI/Widgets/WebView.cpp index c55a9ddf2e..8932e38963 100644 --- a/src/slic3r/GUI/Widgets/WebView.cpp +++ b/src/slic3r/GUI/Widgets/WebView.cpp @@ -23,20 +23,22 @@ #include #define WEBKIT_API struct WebKitWebView; -struct WebKitJavascriptResult; +struct _JSCValue; +typedef struct _JSCValue JSCValue; extern "C" { WEBKIT_API void -webkit_web_view_run_javascript (WebKitWebView *web_view, +webkit_web_view_evaluate_javascript (WebKitWebView *web_view, const gchar *script, + gssize length, + const gchar *world_name, + const gchar *source_uri, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -WEBKIT_API WebKitJavascriptResult * -webkit_web_view_run_javascript_finish (WebKitWebView *web_view, +WEBKIT_API JSCValue * +webkit_web_view_evaluate_javascript_finish (WebKitWebView *web_view, GAsyncResult *result, - GError **error); -WEBKIT_API void -webkit_javascript_result_unref (WebKitJavascriptResult *js_result); + GError **error); } static GOnce register_handler_once = G_ONCE_INIT; @@ -357,15 +359,16 @@ bool WebView::RunScript(wxWebView *webView, wxString const &javascript) return true; #else WebKitWebView *wkWebView = (WebKitWebView *) webView->GetNativeBackend(); - webkit_web_view_run_javascript( - wkWebView, javascript.utf8_str(), NULL, + webkit_web_view_evaluate_javascript( + wkWebView, javascript.utf8_str(), -1, NULL, NULL, NULL, [](GObject *wkWebView, GAsyncResult *res, void *) { - GError * error = NULL; - auto result = webkit_web_view_run_javascript_finish((WebKitWebView*)wkWebView, res, &error); - if (!result) - g_error_free (error); - else - webkit_javascript_result_unref (result); + GError *error = NULL; + JSCValue *result = webkit_web_view_evaluate_javascript_finish((WebKitWebView*)wkWebView, res, &error); + if (!result) { + if (error) g_error_free(error); + } else { + g_object_unref(result); + } }, NULL); return true; #endif