New issue
Advanced search Search tips

Issue 620394 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Aug 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

overflow issue in chrome and opera

Reported by mostafa....@gmail.com, Jun 15 2016

Issue description

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

Steps to reproduce the problem:
1. create an absolute container with 0px for: height,width,top,left,bottom,right
2. create a child div form display preloader keyframes
3. problem occurs

What is the expected behavior?

What went wrong?
i have a problem with overflow on 0px height width elements in new version.
my source code:
https://jsfiddle.net/qd8g3h91/1/
code worked nice before, but i have this problem in latest chrome and opera (not in firefox and edge)
when i change width and height to 200px , everything works nice...
but i can't change this...
because i used this code on all of my website pages and if i change that, maybe it damage all other parts

Did this work before? N/A 

Chrome version: 51.0.2704.84  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 21.0 r0
 
Cc: nyerramilli@chromium.org
Labels: -Type-Bug M-53 hasbisect OS-Linux OS-Mac Type-Bug-Regression
Owner: senorblanco@chromium.org
Status: Assigned (was: Unconfirmed)
Thanks for the report.

CL:
----
https://chromium.googlesource.com/chromium/src/+log/0b6761ff0d1339e11707b6459152396320acc1b8..3f68f09657fbab2d69bd253f163c8c1ec08d9759

suspecting https://chromium.googlesource.com/chromium/src/+/97aae274311bc2da4388dedf9c25e26692ff1f98, 
senorblanco@, Could you please check the above issue & help us in finding an owner it its not yours.

Bisect Info:
Good Build: 49.0.2568.0
Bad Build: 49.0.2569.0 (jsfiddle is not showing from this build, considered as bad build)

Able to reproduce the issue on Win7, Mac OS X 10.11.5, Ubuntu 14.04 using Chrome stable 51.0.2704.103,Beta 52.0.2743.41, Dev 53.0.2767.4 & Canary 53.0.2773.0

Note: working fine in FF & IE but not showing the jsfiddle in Safari
Project Member

Comment 2 by sheriffbot@chromium.org, Jul 5 2016

Labels: -M-53 M-54 MovedFrom-53
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Slight reduction of the above: https://jsfiddle.net/1a04qx90/

(Removed the feColorMatrix.) Makes it a little easier to see what's going on.

Looks like the "orbiting" child is not being included in the reference box computation, in ::computeReferenceBox() in FilterEffectBuilder.
Cc: chrishtr@chromium.org
Further reduction (a single orbiting dot): https://jsfiddle.net/kfv9urtw/

Seems to be something about physicalBoundingBoxIncludingReflectionAndStackingChildren ignoring the transform on the ::before child. If I force the referenceBox to (-100, -100), 200x200, all content is seen (and filtered).
Further reduction: removed everything but the y-translate animation. https://jsfiddle.net/fccLqaag/
Further reduction: removed ::before selector, and applied animation directly to child div: https://jsfiddle.net/1s5jud9t/

Problem persists, so ::before selector was a red herring.
Here's a *very* reduced test case, with the caveat that it may not be the same bug: https://jsfiddle.net/eoa0zjz0/

I've replaced the translateY animation on the child with a static translateY, and will-change: transform. Removing the will-change: transform ameliorates the problem. So this may be a problem specific to the composited path (since both will-change: transform and the animation trigger a composited layer).
Notes from investigation: it seems that physicalBoundingBoxIncludingReflectionAndStackingChildren() ignores composited children (see https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/paint/PaintLayer.cpp?sq=package:chromium&dr=CSs&rcl=1470626560&l=2189, thanks chrishtr).

But commenting this out isn't enough, since PaintLayer::boundingBoxForCompositing() doesn't apply transforms to the child rects unless they're not composited; see http://goo.gl/z1v8bt. Commenting *that* check out makes things even worse, however (test case in #7 goes blank), possibly because it's applying transforms where it shouldn't.
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 11 2016

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

commit 711409eabeacb27e2debfd5a7be631a1967f500f
Author: senorblanco <senorblanco@chromium.org>
Date: Thu Aug 11 22:47:39 2016

CSS filters: fix filtered parent with composited, transformed child.

When computing the filter region for CSS filters, we must take
composited, transformed children into account. This required
plumbing this preference through
PaintLayer::physicalBoundingBoxIncludingReflectionAndStackingChildren().

This is a followup to https://codereview.chromium.org/1459953002/,
which fixed the problem for non-composited children.

BUG= 620394 , 618642 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2230593002
Cr-Commit-Position: refs/heads/master@{#411432}

[add] https://crrev.com/711409eabeacb27e2debfd5a7be631a1967f500f/third_party/WebKit/LayoutTests/css3/filters/filter-region-transformed-composited-child-expected.html
[add] https://crrev.com/711409eabeacb27e2debfd5a7be631a1967f500f/third_party/WebKit/LayoutTests/css3/filters/filter-region-transformed-composited-child.html
[modify] https://crrev.com/711409eabeacb27e2debfd5a7be631a1967f500f/third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp
[modify] https://crrev.com/711409eabeacb27e2debfd5a7be631a1967f500f/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/711409eabeacb27e2debfd5a7be631a1967f500f/third_party/WebKit/Source/core/paint/PaintLayer.h

Status: Archived (was: Assigned)
Archiving old bugs that haven't been modified in over two years. 

If you feel this issue should still be addressed, feel free to reopen it or to file a new issue. Thanks!

Sign in to add a comment