It seems that now, only fixed elements of the page scroll. The others remain stuck, I'll attach a screenshot.
Created attachment 372458 [details] screenshot The header bar moves when scrolling (it should remain fixed on top of the page) while the rest of the page doesn't move (it should)
Simon, would you have any hint? Reverting your patch fixes the regression.
Have GTK take GraphicsLayer boundsOrigin into account when positioning descendant layers.
Created attachment 372478 [details] WIP
Comment on attachment 372478 [details] WIP View in context: https://bugs.webkit.org/attachment.cgi?id=372478&action=review > Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:919 > - layerState.mainBackingStore->invalidate({ { }, IntSize { m_size } }); > + layerState.mainBackingStore->invalidate({ IntPoint { m_boundsOrigin }, IntSize { m_size } }); Invalidation always needs to round out (expand). So enclosingIntRect() > Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:926 > + layerState.mainBackingStore->createTilesIfNeeded(transformedVisibleRect(), IntRect(m_boundsOrigin.x(), m_boundsOrigin.y(), m_size.width(), m_size.height())); enclosingIntRect()?
Is this GTK specific? Or coordinated graphics? isn't WPE affected?
Comment on attachment 372478 [details] WIP View in context: https://bugs.webkit.org/attachment.cgi?id=372478&action=review >> Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:919 >> + layerState.mainBackingStore->invalidate({ IntPoint { m_boundsOrigin }, IntSize { m_size } }); > > Invalidation always needs to round out (expand). So enclosingIntRect() This actually has to go unchanged as it relates to the content rectangle, not the layer one. >> Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:926 >> + layerState.mainBackingStore->createTilesIfNeeded(transformedVisibleRect(), IntRect(m_boundsOrigin.x(), m_boundsOrigin.y(), m_size.width(), m_size.height())); > > enclosingIntRect()? Same here. > Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:1112 > - m_layerTransform.setPosition(m_adjustedPosition); > + m_layerTransform.setPosition({ m_adjustedPosition.x() - m_boundsOrigin.x(), m_adjustedPosition.y() - m_boundsOrigin.y() }); Main requirement is to have the bounds origin properly complement the position value. This was a good start, but further changes are needed in computePixelAlignment().
Created attachment 372548 [details] WIP
(In reply to Zan Dobersek from comment #8) > Created attachment 372548 [details] > WIP I have tried this patch locally and so far the few websites that I tested so far (e.g. GitHub, Twitter igalia.com) are working well \o/
I reverted most of the change that caused this, so page scrolling on trunk is probably OK again. If GTK ever wants accelerated overflow scroll, then it will need this patch.
I don't know if it's related, but kinetic scrolling is broken in trunk. It jumps up a bit instead of triggering kinetic scrolling.
Repurposing.
Created attachment 379633 [details] Patch
Comment on attachment 379633 [details] Patch Clearing flags on attachment: 379633 Committed r250418: <https://trac.webkit.org/changeset/250418>
All reviewed patches have been landed. Closing bug.