SVG element animated into viewport does not display
Reported by
eric.and...@gmail.com,
Jul 10
|
|||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36 Steps to reproduce the problem: 1. Visit this page: https://agreeable-turtle.glitch.me/ 2. In Chrome 66, you'll see two rectangles scrolling down the page. 3. In Chrome 67, you'll see only one rectangle scrolling down the page. What is the expected behavior? The rectangle that is not shown since Chrome 67. It has a negative y value applied to it, so it is not in the visible portion of the svg content. The group element the rect is contained in has translateY set in an animation on it, which brings the element into the visible portion. However, the element does not display. What went wrong? ? Did this work before? Yes 66 Does this work in other browsers? N/A Chrome version: 67.0.3396.99 Channel: stable OS Version: OS X 10.13.5 Flash Version: Shockwave Flash 30.0 r0
,
Jul 11
,
Jul 11
I used the bisect-builds program and got this output: You are probably looking for a change made after 543289 (known good), but no later than 543294 (first known bad). CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/ea38ede3b18e99aff19e5e17c664850b1958a09f..209644b1c73164f277f6a94e0a37d22ac1daeda2 I would guess it has to do with enabling SlimmingPaintV175 by default (https://chromium.googlesource.com/chromium/src/+/3a3c78a924a686ed0d3f90d765b00cdd78453e11) but I know very little about these commits.
,
Jul 11
Thanks for filing the issue! Able to reproduce the issue on reported chrome version 67.0.3396.99 and on the latest canary 69.0.3487.0 using Mac 10.13.1, Windows 10 and Ubuntu 14.04. Bisect Information: =================== Good Build: 67.0.3371.0 Bad Build: 67.0.3372.0 You are probably looking for a change made after 543290 (known good), but no later than 543291 (first known bad). CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/63667eca2a1d86f5de61f29c7c5c6417cc351757..3a3c78a924a686ed0d3f90d765b00cdd78453e11 Suspecting: https://chromium.googlesource.com/chromium/src/+/3a3c78a924a686ed0d3f90d765b00cdd78453e11 @Xianzhu Wang: Please help in assigning it to the right owner if this is not related to your change. Note: As this seems to be recent regression, Adding Release block stable for M-68, please remove/change if not needed.
,
Jul 11
,
Jul 11
We're not planning any further M67 release. Pls target fix for M68.
,
Jul 13
Since this is already present in M67, removing RBS label. Let's try to get this fixed for M69.
,
Jul 17
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f63a06d5f863ce949265ce072d1d6d99cf5d3be commit 6f63a06d5f863ce949265ce072d1d6d99cf5d3be Author: Chris Harrelson <chrishtr@chromium.org> Date: Tue Jul 17 23:55:30 2018 Reset the cull rect to an infinite rect underneath an SVG child transform. This matches behavior already implemented in PaintLayerPainter, which was added to greatly simplify the problem of detecting clip property node invalidations upon change of clip (but not addition or removal of such clips). With the rollout of SPv175, invalidation under SVG transforms is also subject to this need. Before SPv175, non-composited transform mutations caused a forced subtree invalidation. Now there is an invalidation of the property on the PaintChunk under the transform, but the chunk itself is not re-painted. This requires the chunk to be complete and not partially culled out, which is why there is a requirement for an infinite cull rect. Note that this will increase performance of animations under SVG transform, which no longer need to paint the sub-content. (This same type of use case for CSS transform was another justification for the infinite cull rect in PaintLayerPainter). Bug: 862318 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ibb65c7fd491b1be725a6aa05a33e9ba7cc03782d Reviewed-on: https://chromium-review.googlesource.com/1139583 Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Reviewed-by: Stephen Chenney <schenney@chromium.org> Cr-Commit-Position: refs/heads/master@{#575855} [modify] https://crrev.com/6f63a06d5f863ce949265ce072d1d6d99cf5d3be/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/cull-rect-change-crash-expected.txt [modify] https://crrev.com/6f63a06d5f863ce949265ce072d1d6d99cf5d3be/third_party/WebKit/LayoutTests/paint/invalidation/cull-rect-change-crash-expected.txt [add] https://crrev.com/6f63a06d5f863ce949265ce072d1d6d99cf5d3be/third_party/WebKit/LayoutTests/svg/transforms/cull-rect-transform-change-expected.html [add] https://crrev.com/6f63a06d5f863ce949265ce072d1d6d99cf5d3be/third_party/WebKit/LayoutTests/svg/transforms/cull-rect-transform-change.html [modify] https://crrev.com/6f63a06d5f863ce949265ce072d1d6d99cf5d3be/third_party/blink/renderer/core/paint/paint_info.h [modify] https://crrev.com/6f63a06d5f863ce949265ce072d1d6d99cf5d3be/third_party/blink/renderer/core/paint/paint_layer_painter.cc [modify] https://crrev.com/6f63a06d5f863ce949265ce072d1d6d99cf5d3be/third_party/blink/renderer/core/paint/svg_container_painter.cc
,
Jul 17
,
Jul 24
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/109f9eed0257629f9073dc5dfebefaa04fc48b3c commit 109f9eed0257629f9073dc5dfebefaa04fc48b3c Author: Philip Rogers <pdr@chromium.org> Date: Tue Jul 24 17:19:22 2018 Do not cull svg image or shape painting when there are transform styles This patch stops culling out painting of svg images and svg shapes in the presence of transform styles. This was done for containers in crrev.com/575855 but needs to apply to all svg painting. SVGModelObjectPainter has been introduced so the cull rect optimization can be shared by shapes, images, and containers. A lengthy comment has been added in SVGModelObjectPainter::CullRectSkipsPainting describing why. While we're in the area and thinking about sharing code, the common outline painting code for has also been unified (SVGModelObjectPainter::PaintOutline). Bug: 865965, 862318 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I5bb3d43ae089d4bd6c617957abf9c401dfb89e0c Reviewed-on: https://chromium-review.googlesource.com/1146147 Commit-Queue: Philip Rogers <pdr@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#577593} [add] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/WebKit/LayoutTests/svg/transforms/image-cull-rect-transform-change-expected.html [add] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/WebKit/LayoutTests/svg/transforms/image-cull-rect-transform-change.html [add] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/WebKit/LayoutTests/svg/transforms/rect-cull-rect-transform-change-expected.html [add] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/WebKit/LayoutTests/svg/transforms/rect-cull-rect-transform-change.html [modify] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/blink/renderer/core/paint/BUILD.gn [modify] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/blink/renderer/core/paint/paint_layer_painter.cc [modify] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/blink/renderer/core/paint/svg_container_painter.cc [modify] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/blink/renderer/core/paint/svg_image_painter.cc [add] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/blink/renderer/core/paint/svg_model_object_painter.cc [add] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/blink/renderer/core/paint/svg_model_object_painter.h [modify] https://crrev.com/109f9eed0257629f9073dc5dfebefaa04fc48b3c/third_party/blink/renderer/core/paint/svg_shape_painter.cc
,
Jul 25
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ffcfe703596bfd94f82548d299caf42a1a6ce4b9 commit ffcfe703596bfd94f82548d299caf42a1a6ce4b9 Author: Philip Rogers <pdr@chromium.org> Date: Wed Jul 25 21:41:01 2018 Do not cull svg image or shape painting when there are transform styles This patch stops culling out painting of svg images and svg shapes in the presence of transform styles. This was done for containers in crrev.com/575855 but needs to apply to all svg painting. SVGModelObjectPainter has been introduced so the cull rect optimization can be shared by shapes, images, and containers. A lengthy comment has been added in SVGModelObjectPainter::CullRectSkipsPainting describing why. While we're in the area and thinking about sharing code, the common outline painting code for has also been unified (SVGModelObjectPainter::PaintOutline). Bug: 865965, 862318 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I5bb3d43ae089d4bd6c617957abf9c401dfb89e0c Reviewed-on: https://chromium-review.googlesource.com/1146147 Commit-Queue: Philip Rogers <pdr@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#577593}(cherry picked from commit 109f9eed0257629f9073dc5dfebefaa04fc48b3c) Reviewed-on: https://chromium-review.googlesource.com/1150586 Reviewed-by: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/branch-heads/3497@{#91} Cr-Branched-From: 271eaf50594eb818c9295dc78d364aea18c82ea8-refs/heads/master@{#576753} [add] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/WebKit/LayoutTests/svg/transforms/image-cull-rect-transform-change-expected.html [add] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/WebKit/LayoutTests/svg/transforms/image-cull-rect-transform-change.html [add] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/WebKit/LayoutTests/svg/transforms/rect-cull-rect-transform-change-expected.html [add] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/WebKit/LayoutTests/svg/transforms/rect-cull-rect-transform-change.html [modify] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/blink/renderer/core/paint/BUILD.gn [modify] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/blink/renderer/core/paint/paint_layer_painter.cc [modify] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/blink/renderer/core/paint/svg_container_painter.cc [modify] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/blink/renderer/core/paint/svg_image_painter.cc [add] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/blink/renderer/core/paint/svg_model_object_painter.cc [add] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/blink/renderer/core/paint/svg_model_object_painter.h [modify] https://crrev.com/ffcfe703596bfd94f82548d299caf42a1a6ce4b9/third_party/blink/renderer/core/paint/svg_shape_painter.cc
,
Aug 20
Issue 875689 has been merged into this issue.
,
Aug 20
Able to reproduce the issue on chrome reported version 67.0.3396.99(Build without fix) Verified the fix on Mac 10.12.6, Windows-10 & Ubuntu 14.04 on Chrome version #69.0.3497.42 and #70.0.3528.0 as per the comment#0 Attaching screen cast for reference. Observed "Able to see two rectangles scrolling down the page" Hence, the fix is working as expected. Adding the verified label. Thanks! |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by eric.and...@gmail.com
, Jul 101.5 MB
1.5 MB View Download
1.5 MB
1.5 MB View Download