New issue
Advanced search Search tips

Issue 850523 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 8
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Transition on children applied when it should not

Reported by funda...@gmail.com, Jun 7 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36

Example URL:
http://jsfiddle.net/6e2tmz5f/27/

Steps to reproduce the problem:
1. Click one of the boxes
2. Click the green box to hide it again
3. Click the other box

What is the expected behavior?
Greenbox should be instantly over the clicked box

What went wrong?
The transition gets applied and the green box animates

Does it occur on multiple sites: N/A

Is it a problem with a plugin? N/A 

Did this work before? Yes 54

Does this work in other browsers? Yes

Chrome version: 67.0.3396.79  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: 

Works in latest Firefox and iOS Safari/Firefox(Webkit)

Only tested with 54 and 67 so versions between could also work.
 
Components: Blink>Animation
I don't see any boxes after visiting http://jsfiddle.net/6e2tmz5f/27/ in 69.0.3441.0 and 67.0.3396.79.

Comment 3 by funda...@gmail.com, Jun 7 2018

Sry,

Step 1 & 3 should be the Strings. They have the class box x)

Comment 4 by funda...@gmail.com, Jun 7 2018

Should had made it more clear

http://jsfiddle.net/6e2tmz5f/33/
Steps:
1. Click on one of the grey boxes
2. Click on the green box
3. Click on the other grey box
Labels: Needs-Triage-M67
Cc: vamshi.kommuri@chromium.org
Labels: -Pri-2 Triaged-ET Target-68 RegressedIn-65 M-69 Target-67 FoundIn-67 FoundIn-69 Target-69 FoundIn-68 hasbisect OS-Linux OS-Mac Pri-1
Owner: yiyix@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue with the URL given in comment#4 on reported chrome version 67.0.3396.79 and on the latest canary 69.0.3451.0 using Mac 10.13.1, Ubuntu 14.04 and Windows 10.

Bisect Information:
===================
Good Build:  65.0.3284.0
Bad Build:   65.0.3285.0
Providing with the Chromium bisect as running per-revision bisect resulting error(s).

You are probably looking for a change made after 521379 (known good), but no later than 521385 (first known bad).
CHANGELOG URL:
 https://chromium.googlesource.com/chromium/src/+log/ad2869c08ee6eda404d8bb2d59705492785f969f..557e241ccca2b2847c39d86a383807dc452c018a
Suspecting: https://chromium.googlesource.com/chromium/src/+/a4a3af773d712e331bfab5f2eefd30844d4c1b7d
Review URL: https://chromium-review.googlesource.com/788283

@yiyix : Please help in assigning it to the right owner if this is not related to your change.

Thanks!
Labels: -Type-Compat Type-Bug-Regression
Labels: Hotlist-Consult
Drive-by: I'm very unclear how this could be a Viz issue, but leaving assigned to yiyix@ just in case...

It looks like something strange with how we're processing style/layout lifecycles. If you insert a 'this.offsetTop' read above $('.wrapper').show() to force a lifecycle clean, then the transition doesn't happen.

It also seems pecurliar to however jquery is doing the CSS update, e.g compare http://output.jsbin.com/yefaqar to http://output.jsbin.com/kevomun - the former uses jquery, the latter plain javascript.
Cc: smcgruer@chromium.org
Some additional digging has shown that its related to how jquery handles css(), not show()/hide(): http://output.jsbin.com/qofazid

Still not particularly useful though I'm afraid.

Comment 11 by yiyix@chromium.org, Jun 21 2018

Owner: ----
Status: Available (was: Assigned)
I tried to revert my change and the bug still appears.
I ran a bisect myself, and came up with:

Revision 521379 is [(g)ood/(b)ad/(r)etry/(u)nknown/(s)tdout/(q)uit]: b
You are probably looking for a change made after 521189 (known good), but no later than 521379 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/b1abba979fd58e1ba57fb4009517268dc64f1ce8..ad2869c08ee6eda404d8bb2d59705492785f969f


This is a huge changelist, so I'm going to try an internal bisect to narrow it down.
Labels: -Pri-1 Pri-2
Internal bisect:

You are probably looking for a change made after 521239 (known good), but no later than 521240 (first known bad).
CHANGELOG URL:
The script might not always return single CL as suspect as some perf builds might get missing due to failure.
  https://chromium.googlesource.com/chromium/src/+log/3a13f63d2ad6f26c9aefdd2d2a7f8fa34571f23e..b71f5b7df345f1a8603b7cf7b59edf48288e7d96

Unfortunately nainar@ is no longer working on Chromium. But at least we have a starting point as to what might be wrong.

Reducing to P2 since it regressed back in M65 and wasn't noticed until now.
Owner: smcgruer@chromium.org
Status: Assigned (was: Available)
I checked in on this today and it appears fixed in 71.0.3578.27 to me. I'm going to run a bisect to see, since this may be a change in jquery or a change in Chrome.
Cc: futhark@chromium.org
You are probably looking for a change made after 567612 (known bad), but no later than 567614 (first known good).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/96956be1b6e8d52f9a8e9ac164f40be82026cf3f..9b2c8f90be4d44a0fa8799d3253820e975841e52

Most likely suspect is:

```
[Squad] Remove special code path for reattach recalc.

Do style recalc for re-attachment in the RecalcStyle machinery.

Change-Id: Ic16542e1914fbaf0fa4ed743e67762f577a3f320
Reviewed-on: https://chromium-review.googlesource.com/1098968
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Anders Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567614}
```

cc futhark@ to confirm that their fix may have fixed this bug (Rune; try comparing M68 to current M69 on http://output.jsbin.com/yefaqar - on the broken version there is a transition).

I am considering landing a test related to this, to make sure we don't regress accidentally.
It's certainly not unlikely. I know I fixed transition/animation bugs for pseudo elements with a Squad change at least: https://crrev.com/90351b8f23ad3c9195d54e741747a85d95755987

Status: Fixed (was: Assigned)
Thanks, good to know.

Unfortunately given that we were never able to pare down the repro to not use jquery (see #9), I haven't been able to create a simple way to test this. Closing as Fixed, and hoping the tests furthark@ added for their CL will also catch any regression here.

Sign in to add a comment