Bug 199133 - [Async overflow scroll] Clipped composited layers inside overflow scroll jitter and get incorrectly clipped
Summary: [Async overflow scroll] Clipped composited layers inside overflow scroll jitt...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Scrolling (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on: 199132
Blocks:
  Show dependency treegraph
 
Reported: 2019-06-22 21:46 PDT by Simon Fraser (smfr)
Modified: 2019-07-16 11:34 PDT (History)
7 users (show)

See Also:


Attachments
Patch (259.44 KB, patch)
2019-06-22 22:22 PDT, Simon Fraser (smfr)
koivisto: review+
Details | Formatted Diff | Diff
Patch (259.34 KB, patch)
2019-06-23 13:59 PDT, Simon Fraser (smfr)
ews: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-highsierra (3.61 MB, application/zip)
2019-06-23 15:13 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews105 for mac-highsierra-wk2 (3.13 MB, application/zip)
2019-06-23 15:21 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews116 for mac-highsierra (3.39 MB, application/zip)
2019-06-23 15:52 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews124 for ios-simulator-wk2 (3.36 MB, application/zip)
2019-06-23 16:03 PDT, Build Bot
no flags Details
Patch (260.94 KB, patch)
2019-06-23 17:05 PDT, Simon Fraser (smfr)
ews: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-highsierra (3.20 MB, application/zip)
2019-06-23 18:20 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews115 for mac-highsierra (3.05 MB, application/zip)
2019-06-23 19:00 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews122 for ios-simulator-wk2 (2.66 MB, application/zip)
2019-06-23 19:09 PDT, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2019-06-22 21:46:21 PDT
[Async overflow scroll] Clipped composited layers inside overflow scroll jitter and get incorrectly clipped
Comment 1 Simon Fraser (smfr) 2019-06-22 22:22:03 PDT
Created attachment 372693 [details]
Patch
Comment 2 Simon Fraser (smfr) 2019-06-22 22:23:36 PDT
<rdar://problem/43614439>
Comment 3 Antti Koivisto 2019-06-23 12:19:31 PDT
Comment on attachment 372693 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=372693&action=review

> Source/WebCore/ChangeLog:54
> +        With this patch, ScrollingTreePositionedNode are purely for absolute position inside non-containing-block
> +        stacking context overflow scroll. LayoutConstraints is renamed to AbsolutePositionConstraints accordingly.

You might also want to rename ScrollingTreePositionedNode to something more specific (AbsolutePositionedNode?).

> LayoutTests/compositing/scrolling/async-overflow-scrolling/clipped-layer-in-overflow-clipped-by-scroll.html:50
> +                document.getElementById('layers').innerText = window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_CLIPPING);

It would be good to also have some dynamic reftests showing element moving like they should, not just tree dumps.
Comment 4 Antti Koivisto 2019-06-23 12:37:18 PDT
Comment on attachment 372693 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=372693&action=review

> Source/WebCore/rendering/LayerAncestorClippingStack.cpp:124
> +    int numClipEntries = clipDataStack.size();
> +    int numStackEntries = m_stack.size();

I prefer 'clipEntryCount', 'stackEntryCount'

> Source/WebCore/rendering/RenderLayerCompositor.cpp:4237
> +            // FIXME: The child might be in a child frame. Need to do something that crosses frame boundaries.

The child might be a child frame but this doesn't shouldn't happen in any more general case (and is already handled by frame hosting nodes perhaps?).
Comment 5 Simon Fraser (smfr) 2019-06-23 13:59:36 PDT
Created attachment 372709 [details]
Patch
Comment 6 Build Bot 2019-06-23 15:13:19 PDT Comment hidden (obsolete)
Comment 7 Build Bot 2019-06-23 15:13:20 PDT Comment hidden (obsolete)
Comment 8 Build Bot 2019-06-23 15:21:17 PDT Comment hidden (obsolete)
Comment 9 Build Bot 2019-06-23 15:21:19 PDT Comment hidden (obsolete)
Comment 10 Build Bot 2019-06-23 15:52:49 PDT Comment hidden (obsolete)
Comment 11 Build Bot 2019-06-23 15:52:51 PDT Comment hidden (obsolete)
Comment 12 Build Bot 2019-06-23 16:03:43 PDT Comment hidden (obsolete)
Comment 13 Build Bot 2019-06-23 16:03:45 PDT Comment hidden (obsolete)
Comment 14 Simon Fraser (smfr) 2019-06-23 17:05:56 PDT
Created attachment 372720 [details]
Patch
Comment 15 Build Bot 2019-06-23 18:20:27 PDT
Comment on attachment 372720 [details]
Patch

Attachment 372720 [details] did not pass mac-ews (mac):
Output: https://webkit-queues.webkit.org/results/12558068

New failing tests:
compositing/rtl/rtl-scrolling-with-transformed-descendants.html
compositing/overflow/scrolling-content-clip-to-viewport.html
Comment 16 Build Bot 2019-06-23 18:20:29 PDT
Created attachment 372724 [details]
Archive of layout-test-results from ews101 for mac-highsierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-highsierra  Platform: Mac OS X 10.13.6
Comment 17 Build Bot 2019-06-23 19:00:52 PDT
Comment on attachment 372720 [details]
Patch

Attachment 372720 [details] did not pass mac-debug-ews (mac):
Output: https://webkit-queues.webkit.org/results/12558098

New failing tests:
compositing/rtl/rtl-scrolling-with-transformed-descendants.html
compositing/overflow/scrolling-content-clip-to-viewport.html
Comment 18 Build Bot 2019-06-23 19:00:54 PDT
Created attachment 372727 [details]
Archive of layout-test-results from ews115 for mac-highsierra

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115  Port: mac-highsierra  Platform: Mac OS X 10.13.6
Comment 19 Build Bot 2019-06-23 19:09:26 PDT
Comment on attachment 372720 [details]
Patch

Attachment 372720 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/12558110

New failing tests:
platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html
Comment 20 Build Bot 2019-06-23 19:09:28 PDT
Created attachment 372728 [details]
Archive of layout-test-results from ews122 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122  Port: ios-simulator-wk2  Platform: Mac OS X 10.14.5
Comment 21 Simon Fraser (smfr) 2019-06-23 20:10:21 PDT
https://trac.webkit.org/r246725
Comment 22 Radar WebKit Bug Importer 2019-06-23 20:11:29 PDT
<rdar://problem/52039797>
Comment 23 Michael Catanzaro 2019-07-16 10:11:04 PDT
I'm seeing spam from GraphicsContext now:

GraphicsContext 0x7ffd8765f6b0 stack changed by 1
GraphicsContext 0x7ffd8765f830 stack changed by 1
GraphicsContext 0x7ffd8765f6b0 stack changed by 1

WebKit shouldn't print anything during normal use. Simon, can we remove this?
Comment 24 Simon Fraser (smfr) 2019-07-16 10:38:52 PDT
Ooops, I left those in by mistake. I'll remove.
Comment 25 Simon Fraser (smfr) 2019-07-16 11:34:42 PDT
Removing via bug 199834.