-
Minju Kim authored
crrev.com/c/2578501 introduces PlatformWindowDelegate::GetWindowMaskForWindowShape and updates window region by the window mask in ozone/wayland. This CL is the implementation to make the corner of the browser frame rounded from the window mask. It is done by XShape in x11, but there is no equivalent extension of XShape in wayland. In this CL, 1. Introduce WindowShapeUpdater to update |ui::Layer::alpha_shape_| for the rounded corner of window shape from NonClientView::GetWindowMask. - When bounds changes, ui::Layer::alpha_shape_ is updated according to the ShapeRects converted from NonClientView::GetWindowMask. - UpdateWindowTransparency when ui::Layer::alpha_shape_ is updated. 2. Set transparent:true to the compositor when NonClientView has window mask. Otherwise, AppendQuadsToFillScreen to always fill the entire screen in LayerTreeHostImpl. Bug: 1126828 Change-Id: I3a712b8c5f33f9fd32bd2cd5e6ee8664732e3ca3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2419056Reviewed-by:
Scott Violet <sky@chromium.org> Commit-Queue: MINJU KIM <mkim@igalia.com> Cr-Commit-Position: refs/heads/master@{#841784}
29032e48