gecko-dev/gfx/ipc
Ryan Hunt 1601a8bb80 Bug 1453425 - Add relative scroll offset updates using nsGkAtoms::relative. r=botond
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
2018-10-09 23:24:28 -05:00
..
CompositorOptions.h
CompositorSession.cpp
CompositorSession.h
CompositorWidgetVsyncObserver.cpp
CompositorWidgetVsyncObserver.h
CrossProcessPaint.cpp
CrossProcessPaint.h
D3DMessageUtils.cpp
D3DMessageUtils.h
GfxMessageUtils.h Bug 1453425 - Add relative scroll offset updates using nsGkAtoms::relative. r=botond 2018-10-09 23:24:28 -05:00
GPUChild.cpp
GPUChild.h
GPUParent.cpp
GPUParent.h
GPUProcessHost.cpp
GPUProcessHost.h
GPUProcessImpl.cpp
GPUProcessImpl.h
GPUProcessListener.h
GPUProcessManager.cpp
GPUProcessManager.h
GraphicsMessages.ipdlh Bug 1497294 - P4. Use EnumSet with D3D11DeviceStatus and checks for P010 and P016 support. r=mattwoodrow 2018-10-10 22:14:51 +00:00
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