Commit Graph

920 Commits

Author SHA1 Message Date
Botond Ballo
2632abca68 Bug 1166301 - If APZ is enabled, clip fixed background images at the layer level rather than the display item level. r=mattwoodrow
This ensures that regions beyond the clip are painted, and async scrolling can reveal them by moving the layer-level clip.

This patch also ensures that we continue creating mask layers for fixed background layers correctly, where appropriate.
2015-09-11 20:00:22 -04:00
Botond Ballo
254f373aa5 Bug 1166301 - Annotate fixed background layers with scroll metadata for the animated geometry root of the frame they're the background of. r=mattwoodrow 2015-08-26 18:16:51 -04:00
Matt Woodrow
349795e2fc Bug 1204597 - Use Move constructor for opaque region in FrameLayerBuilder instead of copying. r=jrmuizel 2015-09-14 14:18:20 -04:00
Wes Kocher
5c560941dd Backed out changeset 5b9886673514 (bug 1201541) for android reftest orange CLOSED TREE 2015-09-11 11:21:22 -07:00
James Willcox
f9ce1ed97b Bug 1201541 - Use SingleTiledContentClient for non-scrollable layers on Android r=mattwoodrow 2015-09-11 09:09:44 -05:00
Markus Stange
236500b79f Bug 1181135 - Copy DisplayItemClips in order to avoid dangling pointers. r=tn 2015-09-09 19:08:03 -04:00
Botond Ballo
bb4f2a8d79 Bug 1201548 - When testing whether the visible rect intersects event regions in FindPaintedLayerFor(), only use the bounds of the event regions. r=mstange
This is done for performance reasons, as the event regions can be complex.
2015-09-04 12:14:28 -04:00
Botond Ballo
745e873115 Bug 1200158 - Avoid expensive computations involving the maybe-hit region in hot code paths. r=mstange 2015-08-31 19:53:34 -04:00
Botond Ballo
c95ef68a5d Bug 1200158 - Define PaintedLayerData::AccumulateEventRegions() out of line. r=mstange 2015-08-31 19:59:22 -04:00
Victor Porof
535b2097d0 Bug 1195838 - Maintain all the TimelineMarker subclasses in a single place, r=tromey 2015-08-31 14:56:37 +02:00
Victor Porof
71e2411058 Bug 1194707 - Remove the docshell param from TimelineMarker constructors, r=tromey 2015-08-31 11:42:35 +02:00
Botond Ballo
85a0f85f3f Bug 1177018 - When finding a painted layer for a display item, include event regions in a layer's visible region. r=tn 2015-06-26 17:26:06 -04:00
Phil Ringnalda
502c5bc50e Back out 7 changesets (bug 1177018) for debug b2g assertion failures in test_bug982141.html
CLOSED TREE

Backed out changeset 40fdd735520d (bug 1177018)
Backed out changeset a82c39bb97ab (bug 1177018)
Backed out changeset dbb14a5cd2cd (bug 1177018)
Backed out changeset 112ec6bdaf4e (bug 1177018)
Backed out changeset 486f9a11fcbd (bug 1177018)
Backed out changeset 8e54cc5e6901 (bug 1177018)
Backed out changeset c2a30b4f3a7c (bug 1177018)
2015-08-26 21:38:05 -07:00
Botond Ballo
accf983f20 Bug 1177018 - When finding a painted layer for a display item, include event regions in a layer's visible region. r=tn 2015-06-26 17:26:06 -04:00
Robert O'Callahan
15b74b7905 Bug 1059519. Relax assertion. r=mstange 2015-08-19 13:23:06 +12:00
Jamie Nicol
6e0e1d166c Bug 1187619 - Only optmimize FrameLayerBuilder visibility calculations if correct. r=mattwoodrow
Bug 1176077 introduced the parameter aDirtyRegion to
DrawPaintedLayerCallback, which allows the callback to recompute the
visibility of all items to be painted in that transaction in a single
go. However, this parameter can not always be determined correctly
when using RotatedBuffer, and using an incorrect value was causing
graphical glitches.

Make the parameter optional, and on null values do not perform the
optimisation. Pass null from ClientPaintedLayer, which uses
RotatedBuffer and was causing problems, but continue to pass the
correct value from other Layer implementations. This optimisation was
most important for tiled layers using progressive paint, so this is
okay.
2015-08-03 04:07:00 -04:00
Matt Woodrow
a20bd93cc8 Bug 1180326 - Part 6: Use SingleTiledContentClient for non-scrollable layers on b2g and OSX. r=jrmuizel 2015-07-29 12:03:01 -04:00
Victor Porof
e89678a96c Bug 1184376 - Remove nsDocShell::AddProfileTimelineMarker, r=smaug 2015-07-18 09:35:59 -04:00
Jamie Nicol
a1feb12475 Bug 1176077 - Only recompute PaintedLayer item visibility when display list has changed. r=mattwoodrow
FrameLayerManager::RecomputeItemsVisibility() was being called on every
call to FrameLayerBuilder::DrawPaintedLayer(), each time for the region
to be painted by that paint call. This is inefficient when progressive
paint is enabled. Change it so that we compute the visibility of all the
layer's items within the total region to be painted, but only on the
first paint after the display list has been modified.
2015-07-21 09:19:25 +01:00
Ting-Yu Lin
cee87e8b73 Bug 1182963 - Use nsTHashTable::Iterator in FrameLayerBuilder. r=roc,njn
Get rid of EnumerateEntries by inlining those enumerate functions. Also
move gPaintedDisplayItemLayerUserData, gColorLayerUserData, etc. to the
front of the file since LayerManagerData::Dump() references to one of
them.
2015-07-15 17:05:06 +08:00
Michael Layzell
57ef4ea53f Bug 1073219 - Use a simple RAII struct instead of nsRefPtr to manage mLayerCount for MaskLayerImageKey. r=dholbert 2015-07-12 21:09:57 -07:00
Markus Stange
a77397e44f Bug 1178745 - Respect scroll clips when flattening. r=roc 2015-07-02 17:04:14 -04:00
Markus Stange
b0daa13804 Bug 1178745 - Move some code around. r=roc 2015-07-02 17:00:17 -04:00
Markus Stange
5d72e01de8 Bug 990974 - Treat carets in async scrolled scrollframes differently from non-caret content. r=roc
This makes those caret display items not share a layer with any other display items, and uses a different async scroll frame clip for that layer.
2015-07-02 15:02:34 -04:00
Markus Stange
a6e7ac6e23 Bug 990974 - Give PaintedLayerDataTree a generic way of restricting a PaintedLayer to exactly one display item. r=roc 2015-07-01 22:08:20 -04:00
Markus Stange
13dceaa237 Bug 990974 - Add a flag to ComputeFrameMetrics so that a different clip can be returned for the caret and non-caret content. r=roc 2015-07-02 13:42:34 -04:00
Lee Salzman
fad233b142 Bug 771367 - Support compositor animation for pseudo-elements. r=dbaron 2015-07-01 11:55:51 -04:00
David Anderson
b6ae93bccf Bug 1148582 - Recycle mask layers attached to FrameMetrics. r=mattwoodrow 2015-06-21 12:28:10 -04: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
David Anderson
af394b857e Bug 1148582 - Factor mask layer creation out of ContainerState::SetupMaskLayer. r=mstange 2015-06-20 19:47:57 -04:00
Markus Stange
3000f6c8eb Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
David Anderson
7af232025b Bug 1148582 - Recycle mask layers attached to FrameMetrics. r=mattwoodrow 2015-06-21 12:28:10 -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
David Anderson
77b9f53ecf Bug 1148582 - Factor mask layer creation out of ContainerState::SetupMaskLayer. r=mstange 2015-06-20 19:47:57 -04:00
L. David Baron
c48942ef3f Bug 1122526 patch 4 - Use the nearest widget size as the maximum size for an animated layer, in case it's a popup larger than the toplevel window. r=roc 2015-06-29 16:46:17 -07:00
L. David Baron
9bba6fba70 Bug 1122526 patch 2 - Only do OMTA transform scale choosing for layers that are for transform display items. r=roc
This fixes the scaling choice when we have more than one layer for the
same element, e.g., because it animates both transform and opacity.
2015-06-29 16:46:16 -07:00
L. David Baron
b245b7ea11 Bug 1122526 patch 1 - Factor in the scale from ancestors when computing scale for layer with OMT animation of transform. r=roc 2015-06-29 16:46:16 -07:00
Lee Salzman
d297740a77 Bug 633097 - Fix jittering animated text by disallowing flattening into a container layer that has animated text. r=mwoodrow 2015-06-26 18:13:50 -04:00
Markus Stange
c915056786 Bug 1165185 - Nudge layer prescale to integers. r=roc 2015-06-16 17:02:58 -04:00
Markus Stange
6a63440575 Bug 1165185 - Try to avoid invalidations when scrolling transformed elements. r=roc 2015-06-15 19:20:59 -04:00
Ryan VanderMeulen
059733186c Backed out changeset cc153acac9df (bug 1169502) for test_leaf_layers_partition_browser_window.xul permafail on Win7/8 debug.
CLOSED TREE
2015-06-16 13:41:59 -04:00
Markus Stange
0380bf0d33 Bug 1169502 - Simplify visible regions to tiles, not to a number of rects. r=jrmuizel, r=roc 2015-06-10 15:54:20 -04:00
David Anderson
e4bdc9d5b3 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
David Anderson
0bcecd4273 Fix PostprocessRetainedLayers to not test occlusion with asynchronous clips. (bug 1148582 part 5, r=tn) 2015-06-02 16:34:28 -07:00
Markus Stange
d19b3cb583 Bug 1164227 - Don't allow invalid region simplification to invalidate unchanged scrolled contents. r=roc 2015-05-28 17:39:34 -04:00
Birunthan Mohanathas
956e8c7eca Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElement calls. r=froydnj 2015-05-28 11:07:44 -07: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
David Anderson
6383725210 Use Maybe to communicate the APZ scrollframe clip. (bug 1148582 part 1, r=mstange) 2015-05-26 12:39:29 -07:00
Markus Stange
f2a690e32d Bug 1152461 - Don't use tiled layers for overflow:hidden scroll frames. r=tn 2015-05-08 14:10:00 -04:00
Seth Fowler
b5801ac549 Bug 1163878 (Followup) - Fix a warning about implicit conversion of nullptr to bool in FrameLayerBuilder on a CLOSED TREE. r=me 2015-05-13 14:23:52 -07:00