Incorrect paint invalidation of paint/invalidation/fixed-under-composited-absolute-scrolled.html if the fixed element has border |
||||
Issue descriptionFound 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().
,
Oct 21 2016
Issue 598762 has been merged into this issue.
,
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
,
Oct 24 2016
,
Oct 27 2016
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...!!
,
Oct 27 2016
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).
,
Oct 28 2016
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..!!
,
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)
,
Oct 28 2016
Yes. The first screen reports failures of the test on bots if any. Now it shows no failures. |
||||
►
Sign in to add a comment |
||||
Comment 1 by agarip...@gmail.com
, Oct 15 20166.4 MB
6.4 MB View Download