New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 860367 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 854807
issue 860137



Sign in to add a comment

ui::Layer's mask doesn't update after it's set

Project Member Reported by tetsui@chromium.org, Jul 5

Issue description

What steps will reproduce the problem?
(1) Create two ui::Layer. Set one as a mask to another by SetMaskLayer().
(2) Resize layer by SetBounds, or update the contents of the mask layer.

What is the expected result?
They should change the mask size or mask shape.

What happens instead?
It doesn't change.


ui::Layer::SetMaskLayer has only three call sites (until recently there was only one and that one had workaround for the bug) so I expect this to be broken from the beginning.
 
Blocking: 860137
Blocking: 854807
Cc: -weiliangc@chromium.org tetsui@chromium.org
Owner: weiliangc@chromium.org
weiliangc@: Could you take a look? We're workarounding this issue right now but it'd be nice if this can be fixed in the first place
Where is the other workaround?

2 workarounds seems like the root cause should be fixed.

I thought TrayBackgroundView::CreateInkDropHighlight() was the workaround, but it was my misunderstanding. It's a workaround for another issue (highlight resizing not implemented). So "we're workarounding this issue right now" part was not correct.
https://cs.chromium.org/chromium/src/ash/system/tray/tray_background_view.cc?l=340&rcl=0711fb3f73039037a4617087b158cf2071203593
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d35da84fdaae2a3c745a4e0703573da403aa8df6

commit d35da84fdaae2a3c745a4e0703573da403aa8df6
Author: Tetsui Ohkubo <tetsui@chromium.org>
Date: Tue Aug 28 16:55:18 2018

Unified: Workaround tray btn highlight resize bug

This CL workarounds a ui::Layer mask bug for UnifiedSystemTray.
ui::Layer mask does not update properly when a layer is resized.
I reached out to cc OWNERS but couldn't figure out the way to fix the
bug on cc:: or ui:: side. As the tray button highlight issue is easily
noticeable by users, we workaround the problem in ash for now.

Steps to repro:
1. Open UnifiedSystemTray
2. Click do-not-disturb button
3. System Tray button highlight does not resize
   (See the screenshot on the bug)

TEST=manual
BUG= 854807 ,860367

Change-Id: Ic6dcefde8d0263e2e31953621b8c43f522696aba
Reviewed-on: https://chromium-review.googlesource.com/1193042
Commit-Queue: Tetsui Ohkubo <tetsui@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586749}
[modify] https://crrev.com/d35da84fdaae2a3c745a4e0703573da403aa8df6/ash/system/unified/unified_system_tray.cc
[modify] https://crrev.com/d35da84fdaae2a3c745a4e0703573da403aa8df6/ash/system/unified/unified_system_tray.h

Looks like the layer bounds change are passed over. Tried turning on layer borders, the high light layer size did change. So it's probably later in the pipeline.

Sign in to add a comment