WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
198998
[CoordinatedGraphics] support bounds origin
https://bugs.webkit.org/show_bug.cgi?id=198998
Summary
[CoordinatedGraphics] support bounds origin
Philippe Normand
Reported
2019-06-19 06:18:15 PDT
It seems that now, only fixed elements of the page scroll. The others remain stuck, I'll attach a screenshot.
Attachments
screenshot
(231.95 KB, image/png)
2019-06-19 06:21 PDT
,
Philippe Normand
no flags
Details
WIP
(10.28 KB, patch)
2019-06-19 10:50 PDT
,
Zan Dobersek
no flags
Details
Formatted Diff
Diff
WIP
(9.33 KB, patch)
2019-06-20 01:47 PDT
,
Zan Dobersek
no flags
Details
Formatted Diff
Diff
Patch
(9.62 KB, patch)
2019-09-26 05:29 PDT
,
Zan Dobersek
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2019-06-19 06:21:57 PDT
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)
Philippe Normand
Comment 2
2019-06-19 06:23:00 PDT
Simon, would you have any hint? Reverting your patch fixes the regression.
Simon Fraser (smfr)
Comment 3
2019-06-19 09:16:47 PDT
Have GTK take GraphicsLayer boundsOrigin into account when positioning descendant layers.
Zan Dobersek
Comment 4
2019-06-19 10:50:12 PDT
Created
attachment 372478
[details]
WIP
Simon Fraser (smfr)
Comment 5
2019-06-19 11:31:29 PDT
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()?
Carlos Garcia Campos
Comment 6
2019-06-20 00:35:04 PDT
Is this GTK specific? Or coordinated graphics? isn't WPE affected?
Zan Dobersek
Comment 7
2019-06-20 01:13:14 PDT
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().
Zan Dobersek
Comment 8
2019-06-20 01:47:56 PDT
Created
attachment 372548
[details]
WIP
Adrian Perez
Comment 9
2019-06-20 02:20:32 PDT
(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/
Simon Fraser (smfr)
Comment 10
2019-06-20 08:27:28 PDT
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.
Alice Mikhaylenko
Comment 11
2019-06-22 23:50:11 PDT
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.
Zan Dobersek
Comment 12
2019-09-26 03:23:27 PDT
Repurposing.
Zan Dobersek
Comment 13
2019-09-26 05:29:29 PDT
Created
attachment 379633
[details]
Patch
Zan Dobersek
Comment 14
2019-09-27 03:34:35 PDT
Comment on
attachment 379633
[details]
Patch Clearing flags on attachment: 379633 Committed
r250418
: <
https://trac.webkit.org/changeset/250418
>
Zan Dobersek
Comment 15
2019-09-27 03:34:40 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug