Date: Friday, May 3, 2019 @ 22:59:24 Author: foutrelis Revision: 352453
upgpkg: chromium 74.0.3729.131-2 Fix black flash affecting new windows and context menus (only on composited desktops though: https://crbug.com/956061#c13). Added: chromium/trunk/chromium-fix-the-flash-for-new-windows.patch Modified: chromium/trunk/PKGBUILD ----------------------------------------------+ PKGBUILD | 7 ++- chromium-fix-the-flash-for-new-windows.patch | 54 +++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-05-03 21:16:47 UTC (rev 352452) +++ PKGBUILD 2019-05-03 22:59:24 UTC (rev 352453) @@ -5,7 +5,7 @@ pkgname=chromium pkgver=74.0.3729.131 -pkgrel=1 +pkgrel=2 _launcher_ver=6 pkgdesc="A web browser built for speed, simplicity, and security" arch=('x86_64') @@ -25,6 +25,7 @@ chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz chromium-system-icu.patch chromium-glibc-2.29.patch + chromium-fix-the-flash-for-new-windows.patch chromium-widevine.patch chromium-skia-harmony.patch) sha256sums=('d178c7842f8f858ac876d88ce866cbd2132d7ca6c73940613ebf7e9c3fada986' @@ -31,6 +32,7 @@ '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' 'e2d284311f49c529ea45083438a768db390bde52949995534034d2a814beab89' 'dd791f154b48e69cd47fd94753c45448655b529590995fd71ac1591c53a3d60c' + '6d82c052eb1f1ae5644a09f7ad7a88d9e2966d1836124445ca4df93b7657c10a' 'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b' '5887f78b55c4ecbbcba5930f3f0bb7bc0117c2a41c2f761805fcf7f46f1ca2b3') @@ -85,6 +87,9 @@ # https://crbug.com/949312 patch -Np1 -i ../chromium-glibc-2.29.patch + # https://crbug.com/956061 + patch -Np1 -i ../chromium-fix-the-flash-for-new-windows.patch + # Load Widevine CDM if available patch -Np1 -i ../chromium-widevine.patch Added: chromium-fix-the-flash-for-new-windows.patch =================================================================== --- chromium-fix-the-flash-for-new-windows.patch (rev 0) +++ chromium-fix-the-flash-for-new-windows.patch 2019-05-03 22:59:24 UTC (rev 352453) @@ -0,0 +1,54 @@ +From adc543fe6a7b3bae9522257e651205140615fecb Mon Sep 17 00:00:00 2001 +From: Peng Huang <penghu...@chromium.org> +Date: Fri, 3 May 2019 20:40:41 +0000 +Subject: [PATCH] Fix the flash for any new created window. + +The flash is because the child window created by GLSurfaceGLX doesn't +match the visual of parent window. Fix the problem by always creating +parent window with the same visual. + +Bug: 956061 +Change-Id: I88cb65b4a0313be6fdea1bd8d6770d351500ccbb +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1591946 +Reviewed-by: Thomas Anderson <thomasander...@chromium.org> +Reviewed-by: Antoine Labour <pi...@chromium.org> +Commit-Queue: Peng Huang <penghu...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#656497} +--- + .../desktop_window_tree_host_x11.cc | 19 +++++-------------- + 1 file changed, 5 insertions(+), 14 deletions(-) + +diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc +index 4dda760a4d..8bdb7b026d 100644 +--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc ++++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc +@@ -1426,24 +1426,15 @@ void DesktopWindowTreeHostX11::InitX11Window( + if (override_redirect_) + attribute_mask |= CWOverrideRedirect; + +- bool enable_transparent_visuals; +- switch (params.opacity) { +- case Widget::InitParams::OPAQUE_WINDOW: +- enable_transparent_visuals = false; +- break; +- case Widget::InitParams::TRANSLUCENT_WINDOW: +- enable_transparent_visuals = true; +- break; +- case Widget::InitParams::INFER_OPACITY: +- default: +- enable_transparent_visuals = params.type == Widget::InitParams::TYPE_DRAG; +- } +- + Visual* visual = CopyFromParent; + int depth = CopyFromParent; + Colormap colormap = CopyFromParent; ++ ++ // GLSurfaceGLX always create child window with alpha channel. If the parent ++ // window doesn't have alpha channel, it causes flash, so always request argb ++ // visual. + ui::XVisualManager::GetInstance()->ChooseVisualForWindow( +- enable_transparent_visuals, &visual, &depth, &colormap, ++ true /* want_argb_visual */, &visual, &depth, &colormap, + &use_argb_visual_); + + if (colormap != CopyFromParent) {