Incorrect clipping about ancestor clipping layer |
|||||||||
Issue descriptionSeparated from bug 599682 : Comment 31 by ericrk@chromium.org, Apr 5, 2016 Delete comment ⚐ Here's a simple repro html. test_scroll.html 11.6 KB View Download Delete Comment 36 by vollick@chromium.org, Apr 6, 2016 Delete comment ⚐ Yep, we're certainly computing the geometry of the ancestor clipping layer incorrectly. We set up the arguments to PaintLayerClipper::backgroundClipRect here: https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp&l=817 In this case we have a composited layer tree that roughly looks like this (note: greatly simplified) * composited ancestor * scroll clip * overflow hidden clip * ancestor clipping layer * thing that's scrolled, but since the scroller isn't an overflow scroller doesn't force a stacking context. Normally content with a "scroll parent" doesn't need an ancestor clip layer. The CompositedLayerMapping decides that since its background clip rect is infinite if we ignore the overflow scroll clip, we can just set up the scroll parent pointer and we're happy. In this case, the overflow hidden layer (as can be seen in the tree) is not an ancestor of the scrolled content, so we need an ACL but the clipper produces the wrong value. I think the simplest solution is to fix the clipping container we use. In this case, the clipping container should be the scroll parent if we have one. If we do this the clipper can correctly ignore the overflow clip. I haven't yet tested for unexpected side effects, but the following patch corrects the sizing of the ACL. https://codereview.chromium.org/1863143002
,
Apr 28 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a8183a9b3e04a2b5704816aa9d40d607561ea7ed commit a8183a9b3e04a2b5704816aa9d40d607561ea7ed Author: vollick <vollick@chromium.org> Date: Thu Apr 28 17:43:15 2016 Update new expected results for clear-scroll-parent.html BUG= 603997 Review-Url: https://codereview.chromium.org/1931833002 Cr-Commit-Position: refs/heads/master@{#390413} [modify] https://crrev.com/a8183a9b3e04a2b5704816aa9d40d607561ea7ed/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/a8183a9b3e04a2b5704816aa9d40d607561ea7ed/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt [add] https://crrev.com/a8183a9b3e04a2b5704816aa9d40d607561ea7ed/third_party/WebKit/LayoutTests/platform/android/compositing/overflow/clear-scroll-parent-expected.txt [add] https://crrev.com/a8183a9b3e04a2b5704816aa9d40d607561ea7ed/third_party/WebKit/LayoutTests/platform/android/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt [modify] https://crrev.com/a8183a9b3e04a2b5704816aa9d40d607561ea7ed/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt
,
Apr 28 2016
,
Apr 29 2016
,
May 5 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/efadb1362a06b05bc877a13f50010ddf3ce50ccd commit efadb1362a06b05bc877a13f50010ddf3ce50ccd Author: vollick <vollick@chromium.org> Date: Thu May 05 21:40:02 2016 Revert of Use correct clip container when computing acl for scroll children Reason for revert: Caused issue 608410 Original issue's description: > Use correct clip container when computing acl for scroll children > > Kudos to erick@ for the reduced test case. > > BUG= 603997 > > Committed: https://crrev.com/94d5fad34f0351e61fd658ca4ed93648c415620d > Cr-Commit-Position: refs/heads/master@{#390199} TBR=wangxianzhu@chromium.org BUG= 603997 , 608410 Review-Url: https://codereview.chromium.org/1951853006 Cr-Commit-Position: refs/heads/master@{#391913} [modify] https://crrev.com/efadb1362a06b05bc877a13f50010ddf3ce50ccd/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/efadb1362a06b05bc877a13f50010ddf3ce50ccd/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp [modify] https://crrev.com/efadb1362a06b05bc877a13f50010ddf3ce50ccd/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp
,
May 6 2016
,
Jun 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d1997c29e5846c79df3efd9f383ce340f03f8efb commit d1997c29e5846c79df3efd9f383ce340f03f8efb Author: wangxianzhu <wangxianzhu@chromium.org> Date: Fri Jun 17 20:36:34 2016 Change remaining NeedsManualRebaseline to Failure or Pass Failure Some tests have been marked NeedsManualRebaseline for a long time without being rebaselined. Some tests can't be rebaselined because of flakiness. BUG=487344, 620126 , 592409 , 603997 , 597221 , 569139 Review-Url: https://codereview.chromium.org/2075993002 Cr-Commit-Position: refs/heads/master@{#400492} [modify] https://crrev.com/d1997c29e5846c79df3efd9f383ce340f03f8efb/third_party/WebKit/LayoutTests/TestExpectations
,
Aug 22 2016
So this patch landed and then was reverted, but the test rebaseline was not reverted. I think I should revert back to the original expectations that match the code as it now is. Any disagreement?
,
Aug 24 2016
Ok. Ian, what's the status of this bug? Please unassign if you aren't working on it.
,
Aug 24 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/153883be73d4f3e31514f904cb5fc5fcbf5bef46 commit 153883be73d4f3e31514f904cb5fc5fcbf5bef46 Author: schenney <schenney@chromium.org> Date: Wed Aug 24 18:54:07 2016 Rebaseline compositing/overflow/clear-scroll-parent.html The test was rebaaselined for a patch that was subsequently reverted, but the test was never itself reverted. TBR=vollick@chromium.org BUG= 603997 Review-Url: https://codereview.chromium.org/2267943002 Cr-Commit-Position: refs/heads/master@{#414116} [modify] https://crrev.com/153883be73d4f3e31514f904cb5fc5fcbf5bef46/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/153883be73d4f3e31514f904cb5fc5fcbf5bef46/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt [modify] https://crrev.com/153883be73d4f3e31514f904cb5fc5fcbf5bef46/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt
,
Aug 29 2016
I did stop looking at this after my naive fix proved incorrect. Would be great if someone had time to look into this properly.
,
Jan 24 2017
,
Apr 12 2017
Assigning to flackr@ to drive prioritizing of this bug. I'm not even clear from reading the thread what the buggy behavior is, so it's hard for me to prioritize.
,
Apr 13 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 13 2018
This seems to be working now. We match Firefox on the test case in the first comment. Any number of things might have fixed it. |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by bugdroid1@chromium.org
, Apr 27 2016