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

Issue 656172 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 619103



Sign in to add a comment

Incorrect paint invalidation of paint/invalidation/fixed-under-composited-absolute-scrolled.html if the fixed element has border

Project Member Reported by wangxianzhu@chromium.org, Oct 14 2016

Issue description

Found this when working on https://codereview.chromium.org/2423513002/. Though the bug doesn't cause problem of either the CL or the test, there does exist a bug case if the fixed element in the test has border.

The root cause is that the locationFromPaintInvalidationBacking of the fixed-element is incorrect. It fails to adjust the offset of the fixed-element to the absolute-position container.

It seems a bug of LayoutObject::localToAncestorPoint().
 

Comment 1 by agarip...@gmail.com, Oct 15 2016

In chrome 54 I noticed this issue as well. When the an item sticks to the top of the scrollPane and becomes fixed positioned its doesnt render properly once you continue scrolling. Backface-visibility:hidden fixes the issue. 

To reproduce the issue visit www.behance.com and click on an image then scroll down. (The popup version). It happens on Windows 7 with Chrome Version 54.0.2840.59 m. Mac OSX with a monitor plugged in only. Doesnt happen on retina macbook screen. 


IALOUSIS on Behance20161015160112.gif
6.4 MB View Download
Cc: e...@chromium.org skobes@chromium.org wangxianzhu@chromium.org trchen@chromium.org szager@chromium.org
 Issue 598762  has been merged into this issue.
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 24 2016

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

commit a4969c67949640d4a7fbe2a2ea91cb4506aaa218
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Mon Oct 24 23:16:20 2016

Fix LayoutObject::mapLocalToAncestor() for fixed under absolute

When mapping from a fixed to an absolute ancestor, mapLocalToAncestor()
deals with the case that the ancestor is skipped by fixed's container,
but forgot to adjust fixed-position offset.

Also fix the similar issue of mapAncestorToLocal().

BUG= 656172 
TEST=MapCoordinatesTest.FixedPosIn(Fixed|Absolute)PosScrollView
TEST=paint/invalidation/fixed-with-border-under-composited-absolute-scrolled.html
NOTRY=true (to workaround OOM of android bot)

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

[add] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/LayoutTests/paint/invalidation/fixed-under-composited-absolute-scrolled-expected.html
[modify] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/LayoutTests/paint/invalidation/fixed-under-composited-absolute-scrolled-expected.txt
[add] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/LayoutTests/paint/invalidation/fixed-under-composited-fixed-scrolled-expected.html
[add] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/LayoutTests/paint/invalidation/fixed-with-border-under-composited-absolute-scrolled-expected.html
[add] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/LayoutTests/paint/invalidation/fixed-with-border-under-composited-absolute-scrolled-expected.txt
[add] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/LayoutTests/paint/invalidation/fixed-with-border-under-composited-absolute-scrolled.html
[delete] https://crrev.com/30188759b05f607fd5a664bc95e78159b91340bf/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/fixed-under-composited-absolute-scrolled-expected.png
[delete] https://crrev.com/30188759b05f607fd5a664bc95e78159b91340bf/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/fixed-under-composited-fixed-scrolled-expected.png
[delete] https://crrev.com/30188759b05f607fd5a664bc95e78159b91340bf/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/fixed-under-composited-absolute-scrolled-expected.png
[delete] https://crrev.com/30188759b05f607fd5a664bc95e78159b91340bf/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/fixed-under-composited-fixed-scrolled-expected.png
[delete] https://crrev.com/30188759b05f607fd5a664bc95e78159b91340bf/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/fixed-under-composited-absolute-scrolled-expected.png
[delete] https://crrev.com/30188759b05f607fd5a664bc95e78159b91340bf/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/fixed-under-composited-fixed-scrolled-expected.png
[modify] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/Source/core/layout/LayoutView.cpp
[modify] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/Source/core/layout/MapCoordinatesTest.cpp
[modify] https://crrev.com/a4969c67949640d4a7fbe2a2ea91cb4506aaa218/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp

Status: Fixed (was: Assigned)
Cc: krajshree@chromium.org
Labels: Needs-Feedback
Tried testing this issue as per comment #1, but after navigating to www.behance.com and clicking on an image in that site did not open any image.

Attaching screen cast for reference.

wangxianzhu@ - Could you please provide any manual repro steps to test this issue.

Thanks...!!
 
656172.ogv
15.1 MB Download
I don't know how to reproduce the www.behance.com issue.

The original bug is just about the layout test paint/invalidation/fixed-under-composited-absolute-scrolled.html if it contains borders, so the bug is fixed with paint/invalidation/fixed-with-border-under-composited-absolute-scrolled.html passing (http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=paint%2Finvalidation%2Ffixed-with-border-under-composited-absolute-scrolled.html).
Tested the issue on windows 10, Ubuntu 14.04 and Mac 10.11.6 using chrome dev version #56.0.2902.0 as per the comment #6.

Attaching screen cast for reference.

wangxianzhu@ - Could you please verify the screen cast and please let us know if it is the expected behavior.

Thanks..!!
656172.mp4
1.2 MB View Download

Comment 8 by agarip...@gmail.com, Oct 28 2016

I put backface-visibility: hidden on 3 separate dom elements to fix the issue which is why you can't reproduce it. I just tested on OSX with #56.0.2903.0 and it seems to working now! Great work!


I can do a google hangout and share my screen if you are interested in seeing the issue with chrome 54 (I need to remove some styles to show you it)

Yes. The first screen reports failures of the test on bots if any. Now it shows no failures.

Sign in to add a comment