New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 718971 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Yesterday
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 667946
issue 644514



Sign in to add a comment

SPV2 scrolling incorrectly clips out absolutely positioned content

Project Member Reported by pdr@chromium.org, May 5 2017

Issue description

Demo, scroll down and content disappears:
http://output.jsbin.com/waximuw/quiet
 
Labels: PaintTeamTriaged-20170505 BugSource-Team
Cc: trchen@chromium.org
It's a culling bug. Replacing cull rect with infinite rect workaround the issue:

diff --git a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
index 8504021eea4c..3d9a22ccbec0 100644
--- a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
@@ -1047,9 +1047,15 @@ void PaintLayerPainter::PaintFragmentWithPhase(
                               painting_info.scroll_offset_accumulation);
     }
   }
+#if 0
   PaintInfo paint_info(context, PixelSnappedIntRect(new_cull_rect), phase,
                        painting_info.GetGlobalPaintFlags(), paint_flags,
                        &painting_info.root_layer->GetLayoutObject());
+#else
+  PaintInfo paint_info(context, LayoutRect::InfiniteIntRect(), phase,
+                       painting_info.GetGlobalPaintFlags(), paint_flags,
+                       &painting_info.root_layer->GetLayoutObject());
+#endif
 
   paint_layer_.GetLayoutObject().Paint(paint_info, paint_offset);
 }

Not sure. Maybe we shouldn't adjust cull rect with scroll accumulation on line #1033, as scroll offset inherited from ancestors are already taken into account by GeometryMapper.
----
By the way I noticed things transiently jumped around when the "Edit in JS Bin" button hides/unhides. Feels like a bad squashing. Will file a bug when I make a minimal repro.

Comment 3 by yigu@chromium.org, May 12 2017

fixed positioned element doesn't work neither. Inflow positioned element seems fine.

Comment 4 by pdr@chromium.org, Yesterday (28 hours ago)

Status: Fixed (was: Assigned)
This has been fixed.

Sign in to add a comment