commit | 29032e48929471a747069454f3317e87a436405d | [log] [tgz] |
---|---|---|
author | Minju Kim <mkim@igalia.com> | Sat Jan 09 04:23:39 2021 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sat Jan 09 04:23:39 2021 |
tree | 5a10fd2da5850a3d591955b2e7dc27c47b9444de | |
parent | 0b548ee5e8324b84a0d7e5966023ab5124a11ff8 [diff] |
Make rounded corner of browser frame from NonClientView::GetWindowMask 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/+/2419056 Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: MINJU KIM <mkim@igalia.com> Cr-Commit-Position: refs/heads/master@{#841784}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.