Bug 193172 - Incorrect clipping across compositing boundary.
Summary: Incorrect clipping across compositing boundary.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: zalan
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-01-05 14:33 PST by zalan
Modified: 2019-01-05 19:54 PST (History)
5 users (show)

See Also:


Attachments
Patch (8.56 KB, patch)
2019-01-05 15:34 PST, zalan
no flags Details | Formatted Diff | Diff
Patch (8.53 KB, patch)
2019-01-05 16:26 PST, zalan
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews122 for ios-simulator-wk2 (2.73 MB, application/zip)
2019-01-05 18:20 PST, EWS Watchlist
no flags Details
Patch (8.56 KB, patch)
2019-01-05 18:28 PST, zalan
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description zalan 2019-01-05 14:33:29 PST
rdar://problem/44693008
Comment 1 zalan 2019-01-05 15:34:54 PST
Created attachment 358443 [details]
Patch
Comment 2 Simon Fraser (smfr) 2019-01-05 15:39:24 PST
Comment on attachment 358443 [details]
Patch

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

> Source/WebCore/ChangeLog:12
> +        clip rect update using the wrong painting root. This happens when the layer hierarchy and the compositing contex do not match.

contex

> Source/WebCore/rendering/RenderLayer.cpp:5486
> +        auto paginationBoundary = parent()->enclosingPaginationLayer(IncludeCompositedPaginatedLayers) != enclosingPaginationLayer(IncludeCompositedPaginatedLayers);
> +        auto compositionBoundaryForRepaint = parent()->enclosingCompositingLayerForRepaint() != enclosingCompositingLayerForRepaint();

I hate auto for primitive types like bool. It doesn't save typing, and it's very unlikely that you'd ever refactor and change the type to get the benefit of auto.

Here, reading "auto paginationBoundary" makes me think that there's some complex "boundary" type I have to go look for.

These bools would read better as crossesPaginationBoundary, crossesCompositingBoundary.
Comment 3 zalan 2019-01-05 16:26:13 PST
Created attachment 358444 [details]
Patch
Comment 4 EWS Watchlist 2019-01-05 18:20:39 PST
Comment on attachment 358444 [details]
Patch

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

New failing tests:
compositing/clipping/cached-cliprect-with-compositing-boundary.html
Comment 5 EWS Watchlist 2019-01-05 18:20:41 PST
Created attachment 358448 [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.13.6
Comment 6 zalan 2019-01-05 18:25:10 PST
(In reply to Build Bot from comment #4)
> Comment on attachment 358444 [details]
> Patch
> 
> Attachment 358444 [details] did not pass ios-sim-ews (ios-simulator-wk2):
> Output: https://webkit-queues.webkit.org/results/10644279
> 
> New failing tests:
> compositing/clipping/cached-cliprect-with-compositing-boundary.html

Seriously? The bottom right corner of the iframe's inset border is different.
Comment 7 zalan 2019-01-05 18:28:31 PST
Created attachment 358449 [details]
Patch
Comment 8 WebKit Commit Bot 2019-01-05 19:54:34 PST
Comment on attachment 358449 [details]
Patch

Clearing flags on attachment: 358449

Committed r239661: <https://trac.webkit.org/changeset/239661>
Comment 9 WebKit Commit Bot 2019-01-05 19:54:35 PST
All reviewed patches have been landed.  Closing bug.