From 52596c6d1afbf9c2068d322b51b8fb4221c9c4c1 Mon Sep 17 00:00:00 2001
From: Kramer Ge <fangzhoug@chromium.org>
Date: Mon, 16 May 2022 19:58:27 +0000
Subject: [PATCH] [Ozone/Wayland]Send background_color only if not solid_color
 buffer

This condition is unintentionally dropped when converting from
TypeConverter to Struct Traits.

Change-Id: Iaf974d6f20c45ef84e18c700cb3032370b4c051f
Bug: 1325042
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3646258
Reviewed-by: Maksim Sisov <msisov@igalia.com>
Commit-Queue: Kramer Ge <fangzhoug@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1003890}
---
 ui/ozone/platform/wayland/common/wayland_overlay_config.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/ui/ozone/platform/wayland/common/wayland_overlay_config.cc b/ui/ozone/platform/wayland/common/wayland_overlay_config.cc
index 310fa6b0e8065..b9a35cac7ff72 100644
--- a/ui/ozone/platform/wayland/common/wayland_overlay_config.cc
+++ b/ui/ozone/platform/wayland/common/wayland_overlay_config.cc
@@ -28,7 +28,9 @@ WaylandOverlayConfig::WaylandOverlayConfig(const gfx::OverlayPlaneData& data,
                                 : gfx::GpuFenceHandle()),
       priority_hint(data.priority_hint),
       rounded_clip_bounds(data.rounded_corners),
-      background_color(data.color) {}
+      // Solid color quads are created as wl_buffers. Though, some overlays may
+      // have background data passed.
+      background_color(data.is_solid_color ? absl::nullopt : data.color) {}
 
 WaylandOverlayConfig& WaylandOverlayConfig::operator=(
     WaylandOverlayConfig&& other) = default;