Issue metadata
Sign in to add a comment
|
Regression : Unwanted black traces of 'Device Model' are seen after clicking on 'Reset' button in 'Sensors' tab.
Reported by
yfulgaon...@etouch.net,
Apr 28 2016
|
||||||||||||||||||||||
Issue descriptionChrome version : 52.0.2719.0 db7757b63f29696b9b465949f9704a0d9d149f2b-refs/heads/master@{#390251} 32/64 bit OS : Windows (7, 8, 10), Mac 10.10.5 What steps will reproduce the problem? 1. Launch chrome, open NTP and hit F12 key to open dev tools. 2. Press Esc key, click on 'More tools' icon and select 'Sensors' option. 3. Click on 'Accelerometer' drop down list, select 'Landscape left' option and click on 'Reset' button. 4. Again click on 'Accelerometer' drop down, select 'Landscape right' option and click on 'Reset' button. 5. Repeat step 3 and 4, observe. Actual : Unwanted black traces of 'Device Model' are seen after clicking on 'Reset' button in 'Sensors' tab. Expected : Unwanted black traces of 'Device Model' should not be seen after clicking on 'Reset' button. This is a regression issue, broken in 'M-52', below is manual bisect and will soon update other info. Good Build : 52.0.2718.0 Bad Build : 52.0.2719.0
,
Apr 28 2016
Adding RB label as this is a recent regression.
,
Apr 29 2016
@samli, I think this may be an animations issue. Whenever the orientation option is selected or the reset button is clicked, it boils down to a _setBoxOrientation() call in SensorsView.js If the view adds a CSS transition class and updates the value of 'webkitTransform', there shouldn't be unwanted traces. Could you please take a look or offer advice, Sam?
,
Apr 29 2016
Unable to reproduce on Mac 52.0.2720.0.
,
May 3 2016
Unable to reproduce the issue on Windows 7 using chrome latest canary M52-52.0.2723.0. Observed no black traces while flipping the Device model. yfulgaonkar@ - Could you please recheck this issue on latest chrome canary and kindly update this bug. Thanks!
,
May 3 2016
Update from my end: Able to repro this bug on Windows 7 using 52.0.2720.0. Unable to reproduce on Mac or Linux 52.0.2723.0. I'm not sure why this occurs, since it should be declaratively setting the 3D transforms. Maybe someone on [blink-paint] can offer insight? Also, there is an upcoming CL currently in review that will update the 3D phone with new images, which may impact this issue. https://codereview.chromium.org/1923843003/
,
May 3 2016
,
May 3 2016
,
May 3 2016
I can repro this on Win7, but the behavior is inconsistent. It seems like we sometimes update the animation but fail to invalidate correctly for that frame. Most of the time we get it right, which suggest some race condition. Also, the artifact tends to get painted over quite quickly. This should be a compositor animation if a 3D transform is involved (how do I run DevTools on DevTools?). So adding Compositor component, marking it as Untriaged, and CCing some of the usual suspects. I personally have no idea how invalidation works in this case.
,
May 3 2016
luoe@ can confirm. But yes, just some transforms. You can run Devtools on Devtools by popping out the Devtools window and using Ctrl+Shift+I shortcut again. (https://chromium.googlesource.com/chromium/src/+/c80c8d6b64756dbd6b3a34cbf2f7f5e6473eed0c/third_party/WebKit/Source/devtools/front_end/emulation/sensors.css)
,
May 3 2016
,
May 3 2016
I can reproduce on Linux.
,
May 3 2016
@luoe: are you simply setting the transform: matrix(...) property on the element with class accelerometer-box? I tried that directly by inspecting the inspector and setting the property directly; it had no artifacts (not sure why, but it didn't). Can you reproduce this on a standalone webpage?
,
May 3 2016
This could be a damage tracking bug in cc, particularly if it only happens when using a composited animation and not when setting the property directly.
,
May 3 2016
I had a similar thought. It also doesn't repro if you turn on "paint flashing" or the frame rate widget in cc. What's an easy way to hack the code to test this theory?
,
May 3 2016
Making LayerImpl::LayerPropertyChanged always return true should do it (assuming the bug is failing to note that a layer property changed, rather than incorrectly computing the union of the old position and new one).
,
May 3 2016
@chrishtr: I am just setting the style.webkitTransform to a new matrix on an element with a transition rule. Let me see if I can make a standalone webpage for repro and forward it to you.
,
May 3 2016
ps. use unprefixed transform.
,
May 3 2016
That did the trick. Returning true from LayerImpl::LayerPropertyChanged causes the bug to no longer reproduce. Ali, sending to you for next steps.
,
May 3 2016
,
May 4 2016
With response to comment #5 Rechecked this issue on Windows 7 using latest canary M52-52.0.2723.0 and still able to reproduce the issue. Kindly review the attached screen cast.
,
May 4 2016
Still able to repro this issue on Windows 7 & MAC (10.11.4) for Google Chrome Canary Version - 52.0.2724.0
,
May 4 2016
,
May 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2da9a217f5c47d24bc75a1c7829b104b26bb5aac commit 2da9a217f5c47d24bc75a1c7829b104b26bb5aac Author: ajuma <ajuma@chromium.org> Date: Wed May 04 22:35:41 2016 cc: Ensure damage in property tree nodes gets propagated to descendants This propagates damage stored in property tree nodes to descendants, when damage is copied over from old property trees to new ones. This ensures that damage is up-to-date even if there are no other reasons to do a full tree update. BUG= 607423 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/1948163002 Cr-Commit-Position: refs/heads/master@{#391667} [modify] https://crrev.com/2da9a217f5c47d24bc75a1c7829b104b26bb5aac/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/2da9a217f5c47d24bc75a1c7829b104b26bb5aac/cc/trees/property_tree.cc
,
May 5 2016
,
May 5 2016
Is this bug in M51 also?
,
May 5 2016
The underlying damage tracking bug in cc is indeed a regression in M51 (and can affect regular web content), so we should merge back the fix.
,
May 5 2016
,
May 5 2016
Your change meets the bar and is auto-approved for M51 (branch: 2704)
,
May 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ef6b72f211b9882a7264ceec91f3486855f8b84e commit ef6b72f211b9882a7264ceec91f3486855f8b84e Author: Ali Juma <ajuma@chromium.org> Date: Fri May 06 14:58:40 2016 cc: Ensure damage in property tree nodes gets propagated to descendants This propagates damage stored in property tree nodes to descendants, when damage is copied over from old property trees to new ones. This ensures that damage is up-to-date even if there are no other reasons to do a full tree update. BUG= 607423 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/1948163002 Cr-Commit-Position: refs/heads/master@{#391667} (cherry picked from commit 2da9a217f5c47d24bc75a1c7829b104b26bb5aac) Review URL: https://codereview.chromium.org/1949253006 . Cr-Commit-Position: refs/branch-heads/2704@{#418} Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251} [modify] https://crrev.com/ef6b72f211b9882a7264ceec91f3486855f8b84e/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/ef6b72f211b9882a7264ceec91f3486855f8b84e/cc/trees/property_tree.cc [modify] https://crrev.com/ef6b72f211b9882a7264ceec91f3486855f8b84e/cc/trees/property_tree.h
,
May 6 2016
,
May 6 2016
Updating milestone to match the issue that was merged into this one. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by yfulgaon...@etouch.net
, Apr 28 2016Owner: l...@chromium.org
Status: Assigned (was: Unconfirmed)