From 07959ef1a382a75ee1da16f4bd6a87cfa4e535aa Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 9 May 2023 19:04:04 +0000 Subject: [PATCH] extra/firefox to 113.0-1 --- ...and-Don-t-commit-wl_buffer-if-buffer.patch | 81 ------------------- ...the-vendored-glean_parser-for-all-of.patch | 39 +++++++++ extra/firefox/PKGBUILD | 18 ++--- 3 files changed, 48 insertions(+), 90 deletions(-) delete mode 100644 extra/firefox/0001-Bug-1803016-Wayland-Don-t-commit-wl_buffer-if-buffer.patch create mode 100644 extra/firefox/0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch diff --git a/extra/firefox/0001-Bug-1803016-Wayland-Don-t-commit-wl_buffer-if-buffer.patch b/extra/firefox/0001-Bug-1803016-Wayland-Don-t-commit-wl_buffer-if-buffer.patch deleted file mode 100644 index 37333e253..000000000 --- a/extra/firefox/0001-Bug-1803016-Wayland-Don-t-commit-wl_buffer-if-buffer.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: stransky -Date: Thu, 30 Mar 2023 11:49:53 +0000 -Subject: [PATCH] Bug 1803016 [Wayland] Don't commit wl_buffer if buffer scale - doesn't match its size r=emilio - -Differential Revision: https://phabricator.services.mozilla.com/D173814 ---- - widget/gtk/MozContainerWayland.cpp | 7 +++++++ - widget/gtk/MozContainerWayland.h | 3 +++ - widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp | 17 ++++++++++++++--- - 3 files changed, 24 insertions(+), 3 deletions(-) - -diff --git a/widget/gtk/MozContainerWayland.cpp b/widget/gtk/MozContainerWayland.cpp -index 2a4a492077c3..0d9aacc954b7 100644 ---- a/widget/gtk/MozContainerWayland.cpp -+++ b/widget/gtk/MozContainerWayland.cpp -@@ -597,6 +597,13 @@ void moz_container_wayland_set_scale_factor(MozContainer* container) { - } - } - -+bool moz_container_wayland_size_matches_scale_factor_locked( -+ const MutexAutoLock& aProofOfLock, MozContainer* container, int aWidth, -+ int aHeight) { -+ return aWidth % container->wl_container.buffer_scale == 0 && -+ aHeight % container->wl_container.buffer_scale == 0; -+} -+ - static bool moz_container_wayland_surface_create_locked( - const MutexAutoLock& aProofOfLock, MozContainer* container) { - MozContainerWayland* wl_container = &container->wl_container; -diff --git a/widget/gtk/MozContainerWayland.h b/widget/gtk/MozContainerWayland.h -index d3c49baae8ac..369d40a55250 100644 ---- a/widget/gtk/MozContainerWayland.h -+++ b/widget/gtk/MozContainerWayland.h -@@ -85,6 +85,9 @@ bool moz_container_wayland_egl_window_needs_size_update(MozContainer* container, - void moz_container_wayland_set_scale_factor(MozContainer* container); - void moz_container_wayland_set_scale_factor_locked( - const mozilla::MutexAutoLock& aProofOfLock, MozContainer* container); -+bool moz_container_wayland_size_matches_scale_factor_locked( -+ const mozilla::MutexAutoLock& aProofOfLock, MozContainer* container, -+ int aWidth, int aHeight); - - void moz_container_wayland_add_initial_draw_callback_locked( - MozContainer* container, const std::function& initial_draw_cb); -diff --git a/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp b/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp -index 85ab1942d9e6..31091f4b9848 100644 ---- a/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp -+++ b/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp -@@ -285,8 +285,8 @@ void WindowSurfaceWaylandMB::Commit( - mFrameInProcess = false; - - MozContainer* container = mWindow->GetMozContainer(); -- MozContainerSurfaceLock lock(container); -- struct wl_surface* waylandSurface = lock.GetSurface(); -+ MozContainerSurfaceLock MozContainerLock(container); -+ struct wl_surface* waylandSurface = MozContainerLock.GetSurface(); - if (!waylandSurface) { - LOGWAYLAND( - "WindowSurfaceWaylandMB::Commit [%p] frame queued: can't lock " -@@ -319,8 +319,19 @@ void WindowSurfaceWaylandMB::Commit( - } - } - -+ // aProofOfLock is a kind of substitution of MozContainerSurfaceLock. -+ // MozContainer is locked but MozContainerSurfaceLock doen't convert to -+ // MutexAutoLock& so we use aProofOfLock here. - moz_container_wayland_set_scale_factor_locked(aProofOfLock, container); -- mInProgressBuffer->AttachAndCommit(waylandSurface); -+ -+ // It's possible that scale factor changed between Lock() and Commit() -+ // but window size is the same. -+ // Don't attach such buffer as it may have incorrect size, -+ // we'll paint new content soon. -+ if (moz_container_wayland_size_matches_scale_factor_locked( -+ aProofOfLock, container, mWindowSize.width, mWindowSize.height)) { -+ mInProgressBuffer->AttachAndCommit(waylandSurface); -+ } - - mInProgressBuffer->ResetBufferAge(); - mFrontBuffer = mInProgressBuffer; diff --git a/extra/firefox/0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch b/extra/firefox/0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch new file mode 100644 index 000000000..3a7118ec6 --- /dev/null +++ b/extra/firefox/0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: ahochheiden +Date: Sat, 6 May 2023 21:07:09 +0000 +Subject: [PATCH] Bug 1831691 - Use the vendored 'glean_parser' for all of + `mach` r=firefox-build-system-reviewers,glandium + +Differential Revision: https://phabricator.services.mozilla.com/D177340 +--- + python/sites/build.txt | 1 - + python/sites/mach.txt | 1 + + python/sites/python-test.txt | 1 - + 3 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/python/sites/build.txt b/python/sites/build.txt +index b43f7680d200..4e6f6c51d9ad 100644 +--- a/python/sites/build.txt ++++ b/python/sites/build.txt +@@ -1,2 +1 @@ +-vendored:third_party/python/glean_parser + pth:third_party/python/vsdownload +diff --git a/python/sites/mach.txt b/python/sites/mach.txt +index b9fafd0b9c59..a18691184312 100644 +--- a/python/sites/mach.txt ++++ b/python/sites/mach.txt +@@ -78,6 +78,7 @@ vendored:third_party/python/esprima + vendored:third_party/python/fluent.migrate + vendored:third_party/python/fluent.syntax + vendored:third_party/python/giturlparse ++vendored:third_party/python/glean_parser + vendored:third_party/python/gyp/pylib + vendored:third_party/python/idna + vendored:third_party/python/importlib_metadata +diff --git a/python/sites/python-test.txt b/python/sites/python-test.txt +index 48cdcd2b8f48..74889365a22b 100644 +--- a/python/sites/python-test.txt ++++ b/python/sites/python-test.txt +@@ -1,2 +1 @@ +-vendored:third_party/python/glean_parser + pypi:pytest==7.0.1 diff --git a/extra/firefox/PKGBUILD b/extra/firefox/PKGBUILD index 2fbb28da2..a57a1df5b 100644 --- a/extra/firefox/PKGBUILD +++ b/extra/firefox/PKGBUILD @@ -10,8 +10,8 @@ highmem=1 pkgname=firefox -pkgver=112.0.2 -pkgrel=2 +pkgver=113.0 +pkgrel=1 pkgdesc="Standalone web browser from mozilla.org" url="https://www.mozilla.org/firefox/" arch=(x86_64) @@ -69,21 +69,21 @@ source=( https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc} $pkgname.desktop identity-icons-brand.svg - 0001-Bug-1803016-Wayland-Don-t-commit-wl_buffer-if-buffer.patch + 0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch ) validpgpkeys=( '14F26682D0916CDD81E37B6D61B7B526D98F0353' # Mozilla Software Releases ) -sha256sums=('e6a4819a3b82b1ca6c45296e50e6c9ab653306eeb540e50ba8683e339565992e' +sha256sums=('7a266044cb9d0c63079b3453507ea0c80a23389f4cbf6a4f6fd15146c6072627' 'SKIP' '298eae9de76ec53182f38d5c549d0379569916eebf62149f9d7f4a7edef36abf' 'a9b8b4a0a1f4a7b4af77d5fc70c2686d624038909263c795ecc81e0aec7711e9' - 'bfe15651a99ac6d0037867c9db00a0d4340353cdc0ac4a39e43ad61cc2589ed6') -b2sums=('44f2fae6c7260a1a6cad24ee31bbd52bc7efad15ac5b9f64f4bceabda7a371f20a490512cee324e53373b9a96fd218572c1478b76e5931383dbef00cc25743aa' + '1976c0c5e98b0f67e83de778a4fd7729de9b140efa47b77b5879ea2e907987e9') +b2sums=('1506901352ea84b8016080aa81a0f431b8620c64c0c54364ec56d1878b6413ad965c2d9f39a9bb06d2356c206702283400918b4fb0fa3dac380360f54e60b146' 'SKIP' 'e18f2c22e394ca3b6758bc130245b254947e4d15921be3da443d6d7c3c4b0d22ead1b39fbc10a4f896edd19e2a1dffbd1cbb34dc4beb0621a6ddb70ccc53b3a7' '63a8dd9d8910f9efb353bed452d8b4b2a2da435857ccee083fc0c557f8c4c1339ca593b463db320f70387a1b63f1a79e709e9d12c69520993e26d85a3d742e34' - 'ab11b185f32da7a10c22a075d2bf16adadfcfc2d197fc88bd61a03d1873d5cd914cd96edf8af9f054a3cab12629f3f5c29d70d0dce0f0f4bef85f1cfc5a219ee') + '4ac97b908afb915911212686e41c09137bfa909023dc6fa0808cb6cb12f2dcef9597f0d679c98ad1a6b110d11a92025435cd30dd7b87194428b693c555e2bae7') # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) # Note: These are for Arch Linux use ONLY. For your own distribution, please @@ -102,8 +102,8 @@ prepare() { mkdir mozbuild cd firefox-$pkgver - # https://bugzilla.mozilla.org/show_bug.cgi?id=1803016 - patch -Np1 -i ../0001-Bug-1803016-Wayland-Don-t-commit-wl_buffer-if-buffer.patch + # https://bugzilla.mozilla.org/show_bug.cgi?id=1831691 + patch -Np1 -i ../0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch echo -n "$_google_api_key" >google-api-key echo -n "$_mozilla_api_key" >mozilla-api-key