commit: 807cb87fc6bf6a6d76ad504a412306dc8b97a60e
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 3 17:32:12 2023 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Apr 3 17:32:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=807cb87f
www-client/chromium: restore InkDropHost-crash patch
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
...10.ebuild => chromium-111.0.5563.110-r1.ebuild} | 1 +
.../files/chromium-111-InkDropHost-crash.patch | 25 ++++++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/www-client/chromium/chromium-111.0.5563.110.ebuild
b/www-client/chromium/chromium-111.0.5563.110-r1.ebuild
similarity index 99%
rename from www-client/chromium/chromium-111.0.5563.110.ebuild
rename to www-client/chromium/chromium-111.0.5563.110-r1.ebuild
index d41b4c6b4d15..d83cbb6b2169 100644
--- a/www-client/chromium/chromium-111.0.5563.110.ebuild
+++ b/www-client/chromium/chromium-111.0.5563.110-r1.ebuild
@@ -342,6 +342,7 @@ src_prepare() {
"${FILESDIR}/chromium-109-system-zlib.patch"
"${FILESDIR}/chromium-109-system-openh264.patch"
"${FILESDIR}/chromium-111-ozone-platform.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
"${FILESDIR}/chromium-cross-compile.patch"
)
diff --git a/www-client/chromium/files/chromium-111-InkDropHost-crash.patch
b/www-client/chromium/files/chromium-111-InkDropHost-crash.patch
new file mode 100644
index 000000000000..21dd8e41b8c8
--- /dev/null
+++ b/www-client/chromium/files/chromium-111-InkDropHost-crash.patch
@@ -0,0 +1,25 @@
+https://chromium-review.googlesource.com/c/chromium/src/+/2959890
+
+--- a/ui/views/animation/ink_drop_host.h
++++ b/ui/views/animation/ink_drop_host.h
+@@ -238,6 +238,11 @@ class VIEWS_EXPORT InkDropHost {
+ // Used to observe View and inform the InkDrop of host-transform changes.
+ ViewLayerTransformObserver host_view_transform_observer_;
+
++ // Declared before |ink_drop_|, because InkDropImpl may call
++ // RemoveInkDropLayer on partly destructed InkDropHost. In
++ // that case |ink_drop_mask_| must be still valid.
++ std::unique_ptr<views::InkDropMask> ink_drop_mask_;
++
+ // Should not be accessed directly. Use GetInkDrop() instead.
+ std::unique_ptr<InkDrop> ink_drop_;
+
+@@ -261,8 +266,6 @@ class VIEWS_EXPORT InkDropHost {
+ int ink_drop_small_corner_radius_ = 2;
+ int ink_drop_large_corner_radius_ = 4;
+
+- std::unique_ptr<views::InkDropMask> ink_drop_mask_;
+-
+ base::RepeatingCallback<std::unique_ptr<InkDrop>()>
create_ink_drop_callback_;
+ base::RepeatingCallback<std::unique_ptr<InkDropRipple>()>
+ create_ink_drop_ripple_callback_;