Issue metadata
Sign in to add a comment
|
CSS applied to pseudo-element with visbility:hidden in a timeout does not take effect
Reported by
si...@freytag.org.uk,
Oct 27 2016
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 Steps to reproduce the problem: 1. Visit this URL or run the attached HTML file: https://plnkr.co/edit/uVUORydGva6xNdMjD4GL?p=preview 2. The box is red What is the expected behavior? The box should be purple What went wrong? The CSS applied to the pseudo element while its parent has visibility:hidden and during a timeout did not take effect. To verify this, either remove the timeout or change the .hidden rule to use `display:none` and the box will become purple. Did this work before? Yes Not sure of exact version number. Problem noticed this week on latest Chrome. Previously noticed on Chrome Canary. Does this work in other browsers? Yes Chrome version: 54.0.2840.71 Channel: stable OS Version: OS X 10.11.5 Flash Version: Shockwave Flash 23.0 r0
,
Oct 30 2016
Hi currently we checked this issue Chrome Canary Version 56.0.2905.0 and this bug still reproduced. This is very big issue for our production version. Do you have any information when this bug will be fixed?
,
Nov 10 2016
,
Nov 10 2016
This should be fixed by the CL rune posted above. Let's merge this fix into the stable branch.
,
Nov 10 2016
,
Nov 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/998f4790884a34c5ac5167876a13b7cb7495a617 commit 998f4790884a34c5ac5167876a13b7cb7495a617 Author: rune <rune@opera.com> Date: Fri Nov 11 00:50:20 2016 Skip independent inherited property propagation to pseudo elements. UpdatePseudoElements and IndependentInherit conflict in the following way. If we both have an independent inherit change on the actual dom element, and we detect that we need to update the style for the pseudo element we need to signal the inheritance propagation to the real dom children and signal the pseudo element recalc to the pseudo element children. If we return IndependentInherit, we lose the information about the need for a pseudo element recalc, and if we return UpdatePseudoElement, we lose the inheritance propagation for the actual dom children. We could introduce a new IndependentInheritAndUpdatePseudoElements, but if there exists pseudo element, we would always return this constant, so instead just force recalc on pseudo elements on IndependentInherit. R=sashab@chromium.org BUG= 660735 , 660089 , 657283 Review-Url: https://codereview.chromium.org/2492783002 Cr-Commit-Position: refs/heads/master@{#431430} [add] https://crrev.com/998f4790884a34c5ac5167876a13b7cb7495a617/third_party/WebKit/LayoutTests/fast/css/independent-inherit-update-pseudo.html [modify] https://crrev.com/998f4790884a34c5ac5167876a13b7cb7495a617/third_party/WebKit/Source/core/dom/Element.cpp
,
Nov 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9bbebf3ba3a5b8ff0a645d026a0ede213135521d commit 9bbebf3ba3a5b8ff0a645d026a0ede213135521d Author: Rune Lillesveen <rune@opera.com> Date: Thu Nov 17 10:53:20 2016 Skip independent inherited property propagation to pseudo elements. UpdatePseudoElements and IndependentInherit conflict in the following way. If we both have an independent inherit change on the actual dom element, and we detect that we need to update the style for the pseudo element we need to signal the inheritance propagation to the real dom children and signal the pseudo element recalc to the pseudo element children. If we return IndependentInherit, we lose the information about the need for a pseudo element recalc, and if we return UpdatePseudoElement, we lose the inheritance propagation for the actual dom children. We could introduce a new IndependentInheritAndUpdatePseudoElements, but if there exists pseudo element, we would always return this constant, so instead just force recalc on pseudo elements on IndependentInherit. R=sashab@chromium.org BUG= 660735 , 660089 , 657283 Review-Url: https://codereview.chromium.org/2492783002 Cr-Commit-Position: refs/heads/master@{#431430} (cherry picked from commit 998f4790884a34c5ac5167876a13b7cb7495a617) Review URL: https://codereview.chromium.org/2511073002 . Cr-Commit-Position: refs/branch-heads/2883@{#598} Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768} [add] https://crrev.com/9bbebf3ba3a5b8ff0a645d026a0ede213135521d/third_party/WebKit/LayoutTests/fast/css/independent-inherit-update-pseudo.html [modify] https://crrev.com/9bbebf3ba3a5b8ff0a645d026a0ede213135521d/third_party/WebKit/Source/core/dom/Element.cpp
,
Nov 21 2016
Verified the fix on Windows 10, Ubuntu 14.04 and Mac 10.11.6 using Chrome Beta version #55.0.2883.59 as per the comment #0. Observed that the fix is working as expected. Attaching the screencast for reference Hence, adding the TE-verified labels |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by hdodda@chromium.org
, Oct 28 2016Labels: hasbisect-per-revision M-56 OS-Linux OS-Windows
Owner: sashab@chromium.org
Status: Assigned (was: Unconfirmed)