Kartikaya Gupta
2aa9d01032
Bug 1292781 - Send scroll-position-restore updates to APZ, but don't allow them to clobber user scrolls. r=tnikkel
...
Previously we weren't sending scroll position updates with origin nsGkAtoms::restore
over to the APZ at all, on the assumption that they should never clobber an APZ
scroll offset. However, there are scenarios where that is not true.
In particular, during a frame reconstruction, a layers update may be sent to the
compositor between the time a scrollframe has RestoreState() called on it, and
the time the scrollframe has ScrollToRestoredPosition() called on it. The layers
update that happens during this interval (correctly) sends a scroll position of
(0,0), and forces the APZ to scroll to that position. This is necessary to
prevent APZ from remaining at an invalid scroll offset while the frame is still
being rebuilt.
However, once ScrollToRestoredPosition() is called and the old scroll offset is
restored, that restored scroll position needs to get sent to the APZ in order to
have it properly restore to the original scroll position. In order to do this,
the main thread must flag the metrics with a scroll offset update. Since the user
may have scrolled concurrently in the compositor from the (0,0) position, we also
need to check for that case in the APZ code and avoid restoring the scroll
position. This is equivalent to the corresponding main-thread code in
ScrollToRestoredPosition().
MozReview-Commit-ID: LxRapVSrsJ3
2016-08-24 09:15:29 -04:00
Kartikaya Gupta
783f8b0fc7
Bug 1286179 - For APZ repaint requests that are triggered by main-thread updates, don't attempt to re-scroll the main thread. r=tnikkel
...
Avoiding these re-scrolls prevents APZ repaint requests from clobbering the
main-thread scroll position (which may have changed in the meantime) in some
cases. See https://bugzilla.mozilla.org/show_bug.cgi?id=1286179#c8 for an example
of a scenario where this re-scroll is problematic.
MozReview-Commit-ID: 7he2A2sygji
2016-08-18 17:00:42 -04:00
Botond Ballo
6cad6bdbaf
Bug 1277814 - Avoid division-by-zero when the cumulative resolution is zero. r=tnikkel
...
The division-by-zero was introducing NaNs into the displayport calculations,
resulting in bad displayports.
MozReview-Commit-ID: 5dbqIEOFADS
2016-06-06 18:16:06 -04:00
Botond Ballo
ad40217e32
Bug 1267438 - Give layers an optional scrolled clip that is scrolled by all scroll frames associated with the layer. r=mstange
...
MozReview-Commit-ID: EGqVZuISSZQ
2016-04-29 17:32:53 -04:00
Botond Ballo
38fa31a24e
Bug 1267438 - Group ScrollMetadata's optional clip rect and mask layer index into a LayerClip structure. r=mstange
...
MozReview-Commit-ID: 6W0GZYkioov
2016-04-29 16:14:21 -04:00
Botond Ballo
69d04c0329
Bug 1267470 - Move more fields from FrameMetrics to ScrollMetadata. r=kats
...
MozReview-Commit-ID: zxtt1NNcDe
2016-04-27 16:06:34 -04:00
Kartikaya Gupta
11b50cdf25
Bug 1267471 - Check the snap info when comparing scroll metadata for equality. rs=botond
...
MozReview-Commit-ID: 5aw7vjT3YcE
2016-04-25 20:58:11 -04:00
Kartikaya Gupta
081f83af01
Bug 1257641 - Remove now-unused code for the lightweight scroll offset update message. r=botond
...
MozReview-Commit-ID: EXGIDgO13v7
2016-04-13 10:21:13 -04:00
Kartikaya Gupta
c3335edd95
Bug 1257641 - Use empty transactions to carry scroll offset updates to APZ that don't require a repaint. r=mattwoodrow,mstange,botond
...
MozReview-Commit-ID: KNeGSKldmp7
2016-04-13 10:21:13 -04:00
Kartikaya Gupta
dae38a48d5
Bug 1257641 - Replace the mUpdateScrollOffset bool with an enum, needed in the next patch. r=botond
...
MozReview-Commit-ID: AtmpQTAUH8L
2016-04-13 10:21:13 -04:00
Kartikaya Gupta
0687ac72f8
Bug 1246290 - Add a bit to FrameMetrics to indicate if APZ-scrolling should be disabled on that APZC. r=botond
...
MozReview-Commit-ID: 5NeFP31Y0Qg
2016-04-03 13:13:58 -04:00
Botond Ballo
cb84948804
Bug 1219296 - Scroll snap directly in APZ instead of going through the main thread. r=kats
...
MozReview-Commit-ID: 3qAdSWXwOsu
2016-03-28 18:36:02 -04:00
Botond Ballo
51c46f3ee4
Bug 1219296 - Ship scroll snap information to the compositor. r=kats
...
MozReview-Commit-ID: 2aCaAEC5Csu
2016-03-11 22:04:53 -05:00
Botond Ballo
4b6e207842
Bug 1219296 - Make ScrollMetadata::sNullMetadata a StaticAutoPtr so that ScrollMetadata can admit nsTArray members. r=kats
...
MozReview-Commit-ID: LOZdnAhL5xH
2016-03-30 17:04:10 -04:00
Botond Ballo
dd4af74b0e
Bug 1219296 - Factor out scroll snap information into a form that's usable by the compositor. r=kats
...
MozReview-Commit-ID: DTvu7UsKsBg
2016-03-18 20:07:27 -04:00
Botond Ballo
aa2fd58a6a
Bug 1219296 - Split fields not needed for repaints out from FrameMetrics. r=kats
...
MozReview-Commit-ID: DymHOSI6yYK
2016-03-28 19:14:52 -04:00
Seth Fowler
f989c0c02b
Bug 1257315 (Part 1) - Add a visualization of visibility tracking to the APZ minimap. r=botond,mattwoodrow
2016-03-18 18:38:57 -07:00
Kartikaya Gupta
6e47a6ee81
Bug 1253860 - Add machinery to update APZ's scroll offset without a main-thread paint. r=botond
...
MozReview-Commit-ID: Chy40f6VNIQ
2016-03-09 22:57:14 -05:00
Kartikaya Gupta
4514368ab9
Bug 1226826 - Record paint times in the checkerboard event. r=botond
2016-01-15 16:19:59 -05:00
Nigel Babu
95736293e6
Backed out 4 changesets (bug 1226826) for widespread bustage
...
Backed out changeset 95d373bec568 (bug 1226826)
Backed out changeset bb9970d440a4 (bug 1226826)
Backed out changeset 6c1fa0dc6bd7 (bug 1226826)
Backed out changeset 400ebf504171 (bug 1226826)
2016-01-14 08:33:11 +05:30
Kartikaya Gupta
fe920e7296
Bug 1226826 - Record paint times in the checkerboard event. r=botond
2016-01-13 15:46:08 -05:00
Kartikaya Gupta
59f1e378a5
Bug 1219352 - Pack the FrameMetrics booleans. r=botond
2016-01-06 20:50:01 -05:00
Kartikaya Gupta
735c324052
Bug 1219352 - Rearrange fields in FrameMetrics. r=botond
...
This patch:
- Maintains a consistent ordering between the lists of fields in the
FrameMetrics constructor, operator==, IPC read/write functions, and the
actual order of fields in FrameMetrics. As part of this, missing default
initializers are added to the FrameMetrics constructor, and fields omitted
from the operator== are explicitly noted.
- Moves all the boolean values to the end of the set of field (for better
packing).
- Moves the scroll id and parent scroll id to the front of the list, so that
the operator== can fail faster in the common case.
2016-01-06 20:50:01 -05:00
Kartikaya Gupta
aecbdcdf85
Bug 1219352 - Update a couple of bool-setters to take a bool argument. r=botond
2016-01-06 20:50:01 -05:00
David Anderson
74090361b4
Annotate FrameMetrics that are created for ScrollInfoLayers. (bug 1192919 part 1, r=kats)
2015-12-21 09:36:36 -05:00
Nicholas Nethercote
9b0389603b
Bug 1208300 (part 4) - Remove gfxRGBA and some related things. r=jwatt.
...
Hooray!
2015-09-24 19:24:16 -07:00
Nicholas Nethercote
e98d68d03b
Bug 1208283 (part 4) - Change FrameMetrics::mBackgroundColor from gfxRGBA to gfx::Color. r=jwatt.
...
This removes some ToColor() calls.
2015-09-24 18:17:45 -07:00
Botond Ballo
d61e3f0a5b
Bug 1181832 - Keep gfxPrefs.h out of header files. r=kats
2015-07-13 11:53:10 -04:00
Birunthan Mohanathas
a29151dc87
Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
...
The bulk of this commit was generated by running:
run-clang-tidy.py \
-checks='-*,llvm-namespace-comment' \
-header-filter=^/.../mozilla-central/.* \
-fix
2015-07-13 08:25:42 -07:00
David Anderson
2511c6ca59
Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow
2015-06-21 12:27:31 -04:00
Markus Stange
3000f6c8eb
Back out bug 1148582 for static analysis bustage.
2015-07-01 01:20:59 -04:00
David Anderson
38a60e1411
Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow
2015-06-21 12:27:31 -04:00
Kartikaya Gupta
c3431f440a
Bug 1055557 - Move storage of ZoomConstraints from RemoteContentController to APZCTreeManager. r=botond
2015-06-17 12:32:41 -04:00
Botond Ballo
6792300e9d
Bug 1158424 - Remove FrameMetrics::IsRootScrollable() (it just duplicated IsRootContent()). r=kats
2015-05-27 19:40:40 -04:00
Botond Ballo
5e7ed63658
Bug 1158424 - Rename FrameMetrics::mIsRoot to mIsRootContent. r=kats
2015-06-08 16:01:26 -04:00
David Anderson
f4ad77bc5b
Fix asynchronously scrolling containerful subframes. (bug 1148582 part 6.1, r=tn)
2015-06-02 16:34:46 -07:00
Timothy Nikkel
dd15266a0a
Bug 1168630. Part 3. Add IsLayersIdRoot to frame metrics. r=botond
...
This field tells us if this frame metrics should be considered the root APZC for its layers id. Without this there doesn't seem to be a way to compute this from just the layers tree.
2015-05-31 14:44:41 -05:00
Botond Ballo
c4d7d92131
Bug 1167882 - Use the display size (includes scrollbar areas) rather than the root composition bounds (excludes scrollbar areas) to calculate the intrinsic scale. r=kats
2015-05-27 16:56:08 -04:00
David Anderson
fb219f8256
Move the APZ scroll frame clip onto FrameMetrics. (bug 1148582 part 3, r=mstange,tn)
2015-05-26 12:40:24 -07:00
Kartikaya Gupta
7482c3b09f
Bug 1160566 - Change some return values to be reference-to-const. r=botond
2015-05-07 14:44:03 -04:00
Kartikaya Gupta
cb5c22758d
Bug 1160566 - Make FrameMetrics.mCompositionBounds private and add a getter/setter for it. r=botond
2015-05-07 14:44:03 -04:00
David Anderson
1d2d302862
Fix some full zoom FrameMetrics changes not propagating to APZ. (bug 1147648, r=botond)
2015-03-25 18:34:56 -07:00
David Anderson
328fcee77d
Clamp APZ wheel event deltas to the size of a page scroll. (bug 1146676, r=kats)
2015-03-24 14:59:41 -07:00
Botond Ballo
5272cb578e
Bug 1036967 - Use ScaleFactors2D instead of ScaleFactor where appropriate in APZ and surrounding code. r=kats
2015-03-06 13:54:10 -05:00
Kartikaya Gupta
589190b6de
Bug 1137267 - Remove unneeded flags to track touch listeners and touch caret. r=smaug,dvander,botond
2015-03-10 09:29:25 -04:00
dvander@alliedmods.net
5873d3e033
Don't async scroll overflowed single-line text boxes in APZ. (bug 1126090 part 6, r=botond)
2015-03-06 14:26:59 -08:00
David Anderson
4b6ed84f09
FrameMetrics comparator does not include the scroll generation. (bug 1132715, r=kats)
2015-02-15 13:01:00 -08:00
Surabhi Anand
b5b1e8520c
Bug 1120203 - Transitioning mPresShellResolution field of FrameMetrics to use getters/setters. r=kats
2015-01-16 16:15:52 -05:00
Kushan Joshi
b4d526cbbf
Bug 1116008 - Make FrameMetrics::mCriticalDisplayPort private. r=kats
2014-12-30 14:07:57 -05:00
Leonid V. Fedorenchik
0f3923a572
Bug 1115327 - Changed FrameMetrics.mScrollableRect to be accessible by getter/setter methods. r=kats
2014-12-27 12:48:27 -05:00