New issue
Advanced search Search tips

Issue 616584 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , All
Pri: 3
Type: Bug



Sign in to add a comment

Incorrect paint invalidation rect for position:sticky with sticky offset in vertical-rl.

Project Member Reported by wkorman@chromium.org, Jun 1 2016

Issue description

Breakout while working on failing layout tests as part of  http://crbug.com/529938 .

To repro:

1. open fast/css/sticky/sticky-writing-mode-vertical-rl.html in content shell with --enable-blink-features=CSSStickyPosition
2. turn on paint flashing in dev console rendering settings
3. dev-tools inspect the rightmost div.sticky box
4. toggle background-color: green in the css .sticky class in dev tools to cause invalidation/repaint of the sticky boxes.
5. note that the rightmost box does not invalidate/repaint correctly.

From logging via showDebugData() in PaintController, it looks like the paint invalidation rect is missing application of the sticky offset. I can hack it by adding:

    if (isStickyPositioned())
        newBounds.setLocation(newLocation);

to LayoutObject.cpp:1434 but chrishtr@ notes this should likely be more properly done somewhere in the mapToVisualRectInAncestorSpace() and affiliated methods.

Leaving as P3 as this is an experimental feature.
 

Comment 1 by flackr@chromium.org, May 23 2017

Cc: yigu@chromium.org
Owner: smcgruer@chromium.org
Status: WontFix (was: Assigned)
This seems to no longer reproduce.

Sign in to add a comment