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 Bug 1453501 - Allow the compositor to be created in a paused state r=kats 2018-05-14 11:12:39 -05:00
CompositorSession.cpp Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
CompositorSession.h Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
CompositorWidgetVsyncObserver.cpp Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
CompositorWidgetVsyncObserver.h Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
CrossProcessPaint.cpp Fixup bug 1475139 for MSVC. r=me 2018-10-09 11:33:25 +09:00
CrossProcessPaint.h Bug 1475139 part 11 - Add CrossProcessPaint implementation. r=mattwoodrow 2018-09-24 21:48:02 -05:00
D3DMessageUtils.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
D3DMessageUtils.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
GPUChild.cpp Bug 1430038 - Part 3: Construct IPC connection for VR/GPU process; r=kip, jimm, jgilbert 2018-08-06 22:47:18 -07:00
GPUChild.h Bug 1430038 - Part 3: Construct IPC connection for VR/GPU process; r=kip, jimm, jgilbert 2018-08-06 22:47:18 -07:00
GPUParent.cpp Bug 1494556 - Remove VRListenerThread r=daoshengmu 2018-10-02 21:17:05 +00:00
GPUParent.h Bug 1491478 - Properly attribute the memory report when using the GPU process. r=mstange 2018-09-14 22:04:38 -07:00
GPUProcessHost.cpp Bug 1493835 - Don't notify VR process shutdown when no GPUChild connection. r=kip 2018-09-25 21:48:55 +00:00
GPUProcessHost.h Bug 1366808: Start passing parentBuildID to GPU process to detect buildID mismatches. r=jimm 2018-05-08 10:31:52 -04:00
GPUProcessImpl.cpp Bug 1460127: Fix null-deref to ensure that GPU processes launch and init properly. r=jimm 2018-05-11 16:35:35 -04:00
GPUProcessImpl.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
GPUProcessListener.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
GPUProcessManager.cpp Bug 1494538 - Fallback to sofware when GPU process is disabled on Windows r=mattwoodrow 2018-10-01 12:09:18 +09:00
GPUProcessManager.h Bug 1494538 - Fallback to sofware when GPU process is disabled on Windows r=mattwoodrow 2018-10-01 12:09:18 +09:00
GfxMessageUtils.h Bug 1453425 - Add relative scroll offset updates using nsGkAtoms::relative. r=botond 2018-10-09 23:24:28 -05:00
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 Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
InProcessCompositorSession.h Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
PGPU.ipdl Bug 1430038 - Part 3: Construct IPC connection for VR/GPU process; r=kip, jimm, jgilbert 2018-08-06 22:47:18 -07:00
PVsyncBridge.ipdl Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
RemoteCompositorSession.cpp Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
RemoteCompositorSession.h Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
SharedDIB.cpp Bug 1440199 - Part 2: Remove named mode from IPC shared memory. r=froydnj 2018-02-20 13:07:32 -07:00
SharedDIB.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
SharedDIBSurface.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
SharedDIBSurface.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
SharedDIBWin.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
SharedDIBWin.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
VsyncBridgeChild.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
VsyncBridgeChild.h Bug 1451363 - part 5 - remove ProtocolName virtual function; r=mccr8 2018-04-23 14:13:36 -04:00
VsyncBridgeParent.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
VsyncBridgeParent.h Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow 2018-03-24 19:06:01 -04:00
VsyncIOThreadHolder.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
VsyncIOThreadHolder.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
moz.build Bug 1475139 part 11 - Add CrossProcessPaint implementation. r=mattwoodrow 2018-09-24 21:48:02 -05:00