Bug 162634
| Summary: | Add a second, pre-order updateGeometry() pass to the layer update. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | alan <zalan> |
| Component: | Compositing | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | fred.wang, simon.fraser |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
alan
And remove the workaround from RenderLayerBacking::updateAfterLayout()
if (!compositor().compositingLayersNeedRebuild()) {
// Calling updateGeometry() here gives incorrect results, because the
// position of this layer's GraphicsLayer depends on the position of our compositing
// ancestor's GraphicsLayer. That cannot be determined until all the descendant
// RenderLayers of that ancestor have been processed via updateLayerPositions().
//
// The solution is to update compositing children of this layer here,
// via updateCompositingChildrenGeometry().
(We need to position the parent graphics layer in order to be able to compute the correct descendant graphics layers positions.)
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Simon Fraser (smfr)
I think this is fixed now?