mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 00:32:11 +00:00
1601a8bb80
This commit adds a scroll origin, nsGkAtoms::relative, which can be used to mark main thread scrolling that can be combined with a concurrent APZ scroll. The behavior of this is controlled by a pref, apz.relative-update. This pref is initially activated and is intended as an aid to narrowing down causes of regressions for users in bug reports. Relative scroll updates work by tracking the last sent or accepted APZ scroll offset. This is sent along with every FrameMetrics. Additionally, a flag is added to FrameMetrics, mIsRelative, indicating whether the scroll offset can be combined with a potential APZ scroll. When this flag is set, AsyncPanZoomController will apply the delta between the sent base scroll offset, and sent new scroll offset. This flag is controlled by the last scroll origin on nsGfxScrollFrame. The new origin, `relative`, is marked as being able to clobber APZ updates, but can only be set if all scrolls since the last repaint request or layers transaction have been relative. Differential Revision: https://phabricator.services.mozilla.com/D8234 --HG-- extra : rebase_source : 51351a84c9cda228a0975e22eda3fd3bd8d261c4 extra : histedit_source : 4b564c19b16fe2bd26adc671b62b7cb6106e8163 |
||
---|---|---|
.. | ||
CompositorOptions.h | ||
CompositorSession.cpp | ||
CompositorSession.h | ||
CompositorWidgetVsyncObserver.cpp | ||
CompositorWidgetVsyncObserver.h | ||
CrossProcessPaint.cpp | ||
CrossProcessPaint.h | ||
D3DMessageUtils.cpp | ||
D3DMessageUtils.h | ||
GfxMessageUtils.h | ||
GPUChild.cpp | ||
GPUChild.h | ||
GPUParent.cpp | ||
GPUParent.h | ||
GPUProcessHost.cpp | ||
GPUProcessHost.h | ||
GPUProcessImpl.cpp | ||
GPUProcessImpl.h | ||
GPUProcessListener.h | ||
GPUProcessManager.cpp | ||
GPUProcessManager.h | ||
GraphicsMessages.ipdlh | ||
InProcessCompositorSession.cpp | ||
InProcessCompositorSession.h | ||
moz.build | ||
PGPU.ipdl | ||
PVsyncBridge.ipdl | ||
RemoteCompositorSession.cpp | ||
RemoteCompositorSession.h | ||
SharedDIB.cpp | ||
SharedDIB.h | ||
SharedDIBSurface.cpp | ||
SharedDIBSurface.h | ||
SharedDIBWin.cpp | ||
SharedDIBWin.h | ||
VsyncBridgeChild.cpp | ||
VsyncBridgeChild.h | ||
VsyncBridgeParent.cpp | ||
VsyncBridgeParent.h | ||
VsyncIOThreadHolder.cpp | ||
VsyncIOThreadHolder.h |