Commit Graph

907 Commits

Author SHA1 Message Date
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
Seth Fowler
69bd34af46 Bug 1163878 (Part 2) - Use IsImageContainerAvailable() when making layerization decisions and only call GetImageContainer() if we layerize. r=tn 2015-05-13 00:23:46 -07:00
Ehsan Akhgari
8e90a84114 Bug 1163397 - Convert PaintedLayerData::mLog to an nsCString in order to make it possible to safely store PaintedLayerData inside nsTArrays; r=roc 2015-05-12 10:12:01 -04:00
Kartikaya Gupta
5c55f94ee0 Bug 1022080 - Split out the paint item dumping from the rest of the paint dumping. r=mattwoodrow 2015-05-12 09:16:54 -04:00
Morris Tseng
9372f985dd Bug 1161662 - Exclude post scale from layer.GetTransform(). r=roc 2015-05-07 01:18:00 +02:00
L. David Baron
613a1db1d8 Bug 1153539 patch 2 - Compute scale for rasterizing off-main-thread transform animations based on ratio to display size in addition to maximum and minimum scale. r=roc
This fixes bug 1153539 with the Firefox download arrow being pixellated
(verified by testing locally).

I also confirmed what happens on a flame device with the transform
unlocking the Firefox OS homescreen (bug 945082 / bug 972310).  For that
transform (which had a maximum scale of 2), I see four calls to
GetSuitableScale:
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000000
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000586
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000000
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000586
(Presumably the first and third are for width, and the second and fourth
are for height.)  I believe this shows that bug 972310 will remain fixed
with this patch.

I chose to use the pres context's visible area rather than the screen
size because it seemed more appropriate, and also because (if memory
serves correctly) it's much cheaper to get.
2015-05-06 08:52:20 +02:00
Morris Tseng
c3bd218aa6 Bug 1156636 - Remove post scale multiplication for event regions. r=roc 2015-04-28 01:46:00 +02:00
Markus Stange
6d6e33904f Bug 1147194 - Do scroll info layer hoisting when building the display list. r=tn 2015-04-30 14:54:48 -04:00
Markus Stange
8c4b6a72b0 Bug 1141089 - Add more asserts for DisplayItemData, trying to catch whether we're accessing deleted instances. r=roc 2015-04-21 14:13:54 -04:00
Nicolas Silva
d73f54cb00 Bug 1155621 - Make nsIntRect and nsIntPoint typedefs of mozilla::gfx::IntRect and mozilla::gfx::IntPoint. r=Bas 2015-04-21 17:04:57 +02:00
Timothy Nikkel
e30d596402 Bug 1156598. Remove old, dead scroll layer item code. r=mstange 2015-04-20 22:48:10 -05:00
Morris Tseng
2ce5c1a8dd Bug 1147279 - Get correct translation when layer optimize away. r=roc 2015-04-14 22:39:00 +02:00
Ying-Ruei Liang (KK)
2c219b4aaf Bug 1143522 - Convert Layer::mClipRect to ParentLayerIntRect. r=botond
Change interface of getter/setter for mClipRect,
also necessary modification for codes that use these resources.

* * *
Bundle mUseClipRect and mClipRect as Maybe<ParentLayerIntRect> mClipRect
2015-04-11 22:03:00 -04:00
Markus Stange
a9c4cfe989 Bug 1141089 - Check that we're unsetting sDestroyedFrame correctly. r=roc 2015-04-10 17:34:28 -04:00