gecko-dev/xpcom
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
..
base Backed out changeset bee1c344cb47 (bug 1491909) for failures in browser/components/extensions/test/xpcshell/test_ext_geckoProfiler_control.js 2018-10-24 04:23:13 +03:00
build Bug 1492584, part 3 - Remove JS component loader registration. r=kmag 2018-10-23 23:20:38 +00:00
components Bug 1492584, part 3 - Remove JS component loader registration. r=kmag 2018-10-23 23:20:38 +00:00
doc
ds Bug 1453425 - Add relative scroll offset updates using nsGkAtoms::relative. r=botond 2018-10-09 23:24:28 -05:00
glue Bug 1489944 - Fixed some std::move warnings - r=froydnj 2018-09-10 15:51:48 +00:00
idl-parser Bug 1496622 - convert Rust nsresult type alias to newtype w/#[repr(transparent)] r=froydnj 2018-10-09 16:02:32 +00:00
io Bug 1496581 - Split nsISeekableStream in 2 classes: nsISeekableStream and nsITellableStream, f=mayhemer, r=froydnj 2018-10-18 13:35:35 +02:00
libxpt/xptcall
reflect Bug 1498938 - Support [implicit_jscontext] XPIDL calls on Linux/PPC64.; r=froydnj 2018-10-17 23:12:51 +00:00
rust Bug 1498586 - Add clang-format off to avoid the reformatting of the data structures r=Ehsan 2018-10-12 20:48:24 +00:00
string Bug 1499212 - document that Literal parameters must have a null terminator r=dbaron 2018-10-19 01:26:21 +00:00
system Bug 1489047 - Change almost all DOMString occurrences in XPIDL files to AString. r=nika 2018-09-06 18:02:43 +10:00
tests Bug 1499534: Add Pause, Resume, and IsPaused methods to ThrottledEventQueue. r=froydnj 2018-10-23 06:21:10 +00:00
threads Bug 1499534: Add Pause, Resume, and IsPaused methods to ThrottledEventQueue. r=froydnj 2018-10-23 06:21:10 +00:00
windbgdlg Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj 2018-07-31 22:10:07 +09:00
xpidl Bug 1459721 - part 7 - remove dist_idl install manifest; r=chmanchester 2018-05-15 10:05:23 -04:00
moz.build Bug 1489340 - Remove xpcom/typelib r=froydnj 2018-09-07 13:55:38 +00:00
xpcom-config.h.in
xpcom-private.h.in