diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index e4bac7307..26dad70f5 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -16,7 +16,7 @@ highmem=1 pkgname=chromium pkgver=86.0.4240.111 -pkgrel=1 +pkgrel=2 _launcher_ver=6 _gcc_patchset=6 pkgdesc="A web browser built for speed, simplicity, and security" @@ -42,6 +42,7 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn only-fall-back-to-the-i965-driver-if-we-re-on-iHD.patch remove-dead-reloc-in-nonalloc-LD-flags.patch check-for-enable-accelerated-video-decode-on-Linux.patch + xproto-fix-underflow-in-Fp1616ToDouble.patch chromium-skia-harmony.patch 0001-crashpad-include-limits.patch chromium-81.0.4044.122-Fix-sandbox-Aw-snap-for-syscalls-403-and-407.patch) @@ -52,6 +53,7 @@ sha256sums=('f27bdb02ebf3c48abe054c73f1ae57e22a22535ea34f5edf8693ab8432a7c717' '7514c6c81a64a5457b66494a366fbb39005563eecc48d1a39033dd06aec4e300' '7cace84d7494190e7882d3e637820646ec8d64808f0a2128c515bd44991a3790' '03d03a39b2afa40083eb8ccb9616a51619f71da92348effc8ee289cbda10128b' + '1ec617b362bf97cce4254debd04d8396f17dec0ae1071b52ec8c1c3d86dbd322' '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1' 'df99f49ad58b70c9a3e1827d7e80b62e4363419334ed83373cf55b79c17b6f10' '4837f797a910795bf3161805a3302d5f3701573ca90da8af32b2f4aa62510d20') @@ -118,6 +120,7 @@ prepare() { patch -Np1 -i ../only-fall-back-to-the-i965-driver-if-we-re-on-iHD.patch patch -Np1 -i ../remove-dead-reloc-in-nonalloc-LD-flags.patch patch -Np1 -i ../check-for-enable-accelerated-video-decode-on-Linux.patch + patch -Np1 -i ../xproto-fix-underflow-in-Fp1616ToDouble.patch # Fixes for building with libstdc++ instead of libc++ patch -Np1 -i ../patches/chromium-86-nearby-include.patch diff --git a/extra/chromium/xproto-fix-underflow-in-Fp1616ToDouble.patch b/extra/chromium/xproto-fix-underflow-in-Fp1616ToDouble.patch new file mode 100644 index 000000000..8fcbd7226 --- /dev/null +++ b/extra/chromium/xproto-fix-underflow-in-Fp1616ToDouble.patch @@ -0,0 +1,37 @@ +From 5ade494a9966c7a9675af86dc42aca62fb4d806d Mon Sep 17 00:00:00 2001 +From: Tom Anderson +Date: Wed, 21 Oct 2020 22:02:35 +0000 +Subject: [PATCH] [XProto] Fix underflow in Fp1616ToDouble + +x11::Input::Fp1616 should be treated as a signed integer, otherwise +-1 will underflow to 65535. When dragging a scrollbar, this would +cause the scrollbar to snap to the bottom when the cursor is dragged +above the window's y=0 coordinate. Verified that the issue is fixed +after this CL. + +BUG=1139623,1136352 +R=sky + +Change-Id: Ie318006ceadde9b9ce3e267fb453ddeba0e81da0 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2485620 +Auto-Submit: Thomas Anderson +Commit-Queue: Scott Violet +Reviewed-by: Scott Violet +Cr-Commit-Position: refs/heads/master@{#819538} +--- + ui/events/x/events_x_utils.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ui/events/x/events_x_utils.cc b/ui/events/x/events_x_utils.cc +index 3010db5f40c..856dfb221e7 100644 +--- a/ui/events/x/events_x_utils.cc ++++ b/ui/events/x/events_x_utils.cc +@@ -376,7 +376,7 @@ base::TimeTicks TimeTicksFromXEvent(const x11::Event& xev) { + + // This is ported from libxi's FP1616toDBL in XExtInt.c + double Fp1616ToDouble(x11::Input::Fp1616 x) { +- auto x32 = static_cast(x); ++ auto x32 = static_cast(x); + return x32 * 1.0 / (1 << 16); + } +