From 4219e6c36c3d18236e817f187ecbea420d194bf8 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Fri, 18 Jun 2021 09:24:48 +0200 Subject: [PATCH] webkit: upgrade packages to include i.MX performance improvements Igalia has included performance improvements for i.MX platforms in the latest versions of different packages related to webkit. Even though the recipes for these versions are not yet available in meta-webkit, we can add our own to meta-digi to take advantage of these improvements. Update the cog patches so they apply cleanly over v0.9.90. https://onedigi.atlassian.net/browse/DEL-7578 Signed-off-by: Gabriel Valcazar --- ...latform-parameter-and-hardcode-the-F.patch | 21 ++++++++---------- ...tform-fdo-always-use-fullscreen-mode.patch | 22 ++++++++++++------- .../webkit/recipes-browser/cog/cog_0.9.90.bb | 10 +++++++++ .../recipes-browser/libwpe/libwpe_1.10.0.bb | 8 +++++++ .../wpebackend-fdo/wpebackend-fdo_1.9.92.bb | 7 ++++++ .../wpewebkit/wpewebkit_2.32.1.bb | 11 ++++++++++ 6 files changed, 59 insertions(+), 20 deletions(-) create mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.9.90.bb create mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/libwpe/libwpe_1.10.0.bb create mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.9.92.bb create mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit_2.32.1.bb diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch index ba486efc5..1c95a3570 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch @@ -1,5 +1,5 @@ From: Gabriel Valcazar -Date: Tue, 10 Nov 2020 16:32:15 +0100 +Date: Wed, 23 Jun 2021 10:05:24 +0200 Subject: [PATCH 1/2] cog: remove the --platform parameter and hardcode the FDO platform @@ -8,38 +8,36 @@ platforms, so always use the FDO one by default. Signed-off-by: Gabriel Valcazar --- - cog.c | 27 ++++----------------------- - 1 file changed, 4 insertions(+), 23 deletions(-) + cog.c | 25 ++++--------------------- + 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/cog.c b/cog.c -index 950b14d..5f47d87 100644 +index 2fdc7b2..bb64506 100644 --- a/cog.c +++ b/cog.c -@@ -43,10 +43,7 @@ static struct { +@@ -40,10 +40,7 @@ static struct { + GStrv dir_handlers; GStrv arguments; char *background_color; - #if !COG_USE_WEBKITGTK - union { - char *platform_name; - CogPlatform *platform; - }; + CogPlatform *platform; - #endif // !COG_USE_WEBKITGTK union { char *action_name; -@@ -95,11 +92,6 @@ static GOptionEntry s_cli_options[] = + enum webprocess_fail_action action_id; +@@ -92,9 +89,6 @@ static GOptionEntry s_cli_options[] = { "bg-color", 'b', 0, G_OPTION_ARG_STRING, &s_options.background_color, "Background color, as a CSS name or in #RRGGBBAA hex syntax (default: white)", "BG_COLOR" }, --#if !COG_USE_WEBKITGTK - { "platform", 'P', 0, G_OPTION_ARG_STRING, &s_options.platform_name, - "Platform plug-in to use.", - "NAME" }, --#endif // !COG_USE_WEBKITGTK { "web-extensions-dir", '\0', 0, G_OPTION_ARG_STRING, &s_options.web_extensions_dir, "Load Web Extensions from given directory.", "PATH"}, -@@ -301,21 +293,10 @@ platform_setup (CogShell *shell) +@@ -299,21 +293,10 @@ platform_setup (CogShell *shell) * a given platform. */ @@ -63,4 +61,3 @@ index 950b14d..5f47d87 100644 + strerror (errno)); return FALSE; } - diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-cog-platform-fdo-always-use-fullscreen-mode.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-cog-platform-fdo-always-use-fullscreen-mode.patch index 3c4687e89..4626a6398 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-cog-platform-fdo-always-use-fullscreen-mode.patch +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-cog-platform-fdo-always-use-fullscreen-mode.patch @@ -1,19 +1,19 @@ From: Gabriel Valcazar -Date: Tue, 10 Nov 2020 16:36:21 +0100 +Date: Wed, 23 Jun 2021 10:17:59 +0200 Subject: [PATCH 2/2] cog-platform-fdo: always use fullscreen mode Otherwise, the browser will spawn on a random place on the desktop every time. Signed-off-by: Gabriel Valcazar --- - platform/cog-platform-fdo.c | 44 ++++++++++--------------------------- - 1 file changed, 12 insertions(+), 32 deletions(-) + platform/fdo/cog-platform-fdo.c | 50 ++++++++++----------------------- + 1 file changed, 15 insertions(+), 35 deletions(-) -diff --git a/platform/cog-platform-fdo.c b/platform/cog-platform-fdo.c -index 7bdf075..08b0b21 100644 ---- a/platform/cog-platform-fdo.c -+++ b/platform/cog-platform-fdo.c -@@ -1911,39 +1911,19 @@ create_window (GError **error) +diff --git a/platform/fdo/cog-platform-fdo.c b/platform/fdo/cog-platform-fdo.c +index c7e1eea..4f6c0c7 100644 +--- a/platform/fdo/cog-platform-fdo.c ++++ b/platform/fdo/cog-platform-fdo.c +@@ -2134,42 +2134,22 @@ create_window (GError **error) configure_surface_geometry (0, 0); } @@ -26,6 +26,9 @@ index 7bdf075..08b0b21 100644 - - if (wl_data.xdg_shell != NULL) { - xdg_toplevel_set_fullscreen (win_data.xdg_toplevel, NULL); +- } else if (wl_data.fshell != NULL) { +- win_data.should_resize_to_largest_output = true; +- resize_to_largest_output (); - } else if (wl_data.shell != NULL) { - wl_shell_surface_set_fullscreen (win_data.shell_surface, - WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE, @@ -54,6 +57,9 @@ index 7bdf075..08b0b21 100644 - } + if (wl_data.xdg_shell != NULL) { + xdg_toplevel_set_fullscreen (win_data.xdg_toplevel, NULL); ++ } else if (wl_data.fshell != NULL) { ++ win_data.should_resize_to_largest_output = true; ++ resize_to_largest_output (); + } else if (wl_data.shell != NULL) { + wl_shell_surface_set_fullscreen (win_data.shell_surface, + WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE, diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.9.90.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.9.90.bb new file mode 100644 index 000000000..4bef62e4a --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.9.90.bb @@ -0,0 +1,10 @@ +require recipes-browser/cog/cog.inc +require conf/include/devupstream.inc + +SRC_URI = "https://wpewebkit.org/releases/${P}.tar.xz" +SRC_URI[sha256sum] = "933adc74e7b2b7f879a0159b073aa601d58865621891c443d1c2481f9eee6c97" + +SRC_URI_class-devupstream = "git://github.com/Igalia/cog.git;protocol=https;branch=cog-0.10" +SRCREV_class-devupstream = "1e422e5055f72e9914341ce9535aaf375b821946" + +DEPENDS += "wpewebkit (>= 2.30) wpebackend-fdo (>= 1.8)" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/libwpe/libwpe_1.10.0.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/libwpe/libwpe_1.10.0.bb new file mode 100644 index 000000000..54d2068ae --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/libwpe/libwpe_1.10.0.bb @@ -0,0 +1,8 @@ +require recipes-browser/libwpe/libwpe.inc +require conf/include/devupstream.inc + +SRC_URI = "https://wpewebkit.org/releases//${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "2415e270d45e3595ed4052bc105f733744dc2d3677e12ff4a831e5029841084d" + +SRC_URI_class-devupstream = "git://github.com/WebPlatformForEmbedded/libwpe.git;protocol=https;branch=libwpe-1.10" +SRCREV_class-devupstream = "55877263583716303a893945418ec23cffdfcbbf" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.9.92.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.9.92.bb new file mode 100644 index 000000000..b591e4923 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.9.92.bb @@ -0,0 +1,7 @@ +require recipes-browser/wpebackend-fdo/wpebackend-fdo.inc +inherit meson + +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "5c2f7fab6623e0964bc0d1b4a01719f0" +SRC_URI[sha1sum] = "d07fdfec0df53c57e3ed36a1efffecf30d1b418c" +SRC_URI[sha256sum] = "fc5b388a91d6f2c22803e1a21a6759a314b4539e5169c6e272bfc953a05fbb85" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit_2.32.1.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit_2.32.1.bb new file mode 100644 index 000000000..466da5744 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit_2.32.1.bb @@ -0,0 +1,11 @@ +require recipes-browser/wpewebkit/wpewebkit.inc + +SRC_URI = "https://wpewebkit.org/releases/${P}.tar.xz" +SRC_URI[md5sum] = "1dd3f56b8eba16266166d757acb979fc" +SRC_URI[sha1sum] = "c5b3a48d886375a6982dd2dc5c9cc2f92f5a9690" +SRC_URI[sha256sum] = "7b6b39a12ccf3f84da4cc6ac59e02fbe328f7476eaeb9c23de9b9288c2c2f39c" + +DEPENDS += "libwpe" +RCONFLICTS_${PN} = "libwpe (< 1.8) wpebackend-fdo (< 1.8)" + +LIC_FILES_CHKSUM = "file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 "