New issue
Advanced search Search tips

Issue 600934 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Apr 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 3
Type: Bug-Regression



Sign in to add a comment

Invalid behavior of 'will-change' property

Reported by rumyants...@gmail.com, Apr 6 2016

Issue description

Chrome Version       : 51.0.2700.0 canary (64-bit)
URLs (if applicable) : http://codepen.io/RumyantsevMichael/pen/RajZLe
Other browsers tested:
     Safari: v9.1 - OK
      Opera: v36 - FAIL
    Firefox: v47.0a2 - FAIL
         IE: not supported
       Edge: not supported

What steps will reproduce the problem?
(1) DOM element with "will-change: transform" property
(2) child element with "position: absolute"

What is the expected result?
  The child element must be positioned relative to the document body.

What happens instead?
  The child element is positioned relative to its parent.

 
Labels: Needs-Bisect
Components: UI
Labels: Needs-Feedback
Tested the issue on Windows 7, Mac 10.10.5, Ubuntu 14.04 using 51.0.2700.0, latest canary 51.0.2701.0 with below steps:

1.Opened URL: http://codepen.io/RumyantsevMichael/pen/RajZLe
2.Hovered the cursor on 'Hover me'.
3.Observed that red square is seen on hover me inside the box in chrome and firefox.
4.Observed that nothing happened when hovered the cursor on 'Hover me' inside the box in safari.

Please find attached screencast.

rumyantsev.michael@Could you please provide expected behavior screencast for further triaging the issue.
600934.mp4
512 KB Download
Tested the issue on Windows 7, Mac 10.10.5, Ubuntu 14.04 using 51.0.2700.0, latest canary 52.0.2702.2, stable 50.0.2661.75, beta 50.0.2661.75, dev 51.0.2704.4 as per steps in comment #1.

Observed the behavior as below:
1.Observed that red square is seen on 'Hover me' when hovered inside the box in chrome and firefox.
2.Observed that nothing happened when hovered the cursor on 'Hover me' inside the box in safari.

rumyantsev.michael@Could you please provide the expected behavior for better understanding the issue to triage it further.
I think the correct behavior in Safari.
Labels: -Type-Bug -Needs-Feedback -Needs-Bisect hasbisect M-52 OS-Linux OS-Mac OS-Windows Type-Bug-Regression
Owner: ajuma@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on Windows 7, Mac 10.10.5, Ubuntu 14.04 using 51.0.2700.0, latest canary 52.0.2710.0, stable 50.0.2661.75 as per steps in comment 2.

This is regression issue broken in M-36.

Please find below bisect info:
Last good build:36.0.1948.0
First bad build:36.0.1950.0

CHANGELOG URL:
https://chromium.googlesource.com/chromium/src/+log/d9d942358cb7031681fa8a10924d69e308243e65..f0e87a679aa6d8643079250b90c9865c2b585aa6

BLINK CHANGELOG URL:
http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog_blink.html?url=/trunk&range=171874%3A171871

MANUAL BLINK CHANGELOG URL:
https://chromium.googlesource.com/chromium/blink/+log/d659a2d8aa5ecbb8f535d2b9bdc346257f9e5cd2..181ff5dcbf6852fac235233f63c936a2ff7be9ff?pretty=fuller&n=10000

From above CL, suspecting below:
https://chromium.googlesource.com/chromium/blink/+/239421ef9b505c16d2cf5c9e3bae31648808d22d

ajuma@Could you please look into this issue if it is related to your change, else feel free to assign it to an appropriate dev person.


@Could you please look into this issue if it is related to your change, else feel free to assign it to an appropriate dev person.

Comment 6 by ajuma@chromium.org, Apr 18 2016

Components: -UI Blink>Compositing
Status: WontFix (was: Assigned)
This behavior is required by the spec (https://drafts.csswg.org/css-will-change/):
"If any non-initial value of a property would cause the element to generate a containing block for absolutely positioned elements, specifying that property in will-change must cause the element to generate a containing block for absolutely positioned elements."

Since non-initial values of 'transform' establish a containing block for absolutely positioned elements, so does 'will-change: transform'. The idea is that once you've set 'will-change: transform' on an element, setting a non-initial value of transform just involves sliding that element's subtree around, not moving it relative to its children (in other words, instead of having to re-layout, we just move the composited layer corresponding to that element).

Sign in to add a comment