Commit Graph

801 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
2aaafaa843 Backed out changeset 3c5f96882e6c (bug 1023677) 2014-07-18 10:45:29 +02:00
Carsten "Tomcat" Book
60049afdd6 Backed out changeset 84df2aaf5e2a (bug 1023677) 2014-07-18 10:45:27 +02:00
Carsten "Tomcat" Book
0bf6463290 Backed out changeset d03cb12a166e (bug 1023677) 2014-07-18 10:45:26 +02:00
Carsten "Tomcat" Book
59202fa4d3 Backed out changeset b049e0ae4d1d (bug 1039145) 2014-07-18 10:45:24 +02:00
Matt Woodrow
9d23fbeec7 Bug 1039145 - Part 1: Clean up AreComponentAlphaLayersEnabled. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
1ab52db0e1 Bug 1023677 - Don't flatten active transform layers. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
3ebbf18e71 Bug 1023677 - Don't set mSupportComponentAlphaChildren unless we actually have them. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
d87363d969 Bug 1023677 - Don't repeat layer building if there was only a single layer. r=roc 2014-07-18 18:48:22 +12:00
Ryan VanderMeulen
c9aaac00ed Backed out 46 changesets (bug 1022612) for B2G mochitest permafails on a CLOSED TREE.
Backed out changeset 34b3014a3112 (bug 1022612)
Backed out changeset 6ae9316fd909 (bug 1022612)
Backed out changeset b8f3749c95eb (bug 1022612)
Backed out changeset caab10bf6ca3 (bug 1022612)
Backed out changeset 0c57c620c898 (bug 1022612)
Backed out changeset fac64141a00a (bug 1022612)
Backed out changeset bf0df1c9d68b (bug 1022612)
Backed out changeset b42054800020 (bug 1022612)
Backed out changeset 667793b21194 (bug 1022612)
Backed out changeset f14ada64fe1b (bug 1022612)
Backed out changeset 75b837686bdf (bug 1022612)
Backed out changeset 66de53183a22 (bug 1022612)
Backed out changeset 0ff86ced4d46 (bug 1022612)
Backed out changeset 18eecc5b1ef7 (bug 1022612)
Backed out changeset 2763c4878de5 (bug 1022612)
Backed out changeset b72413ecc385 (bug 1022612)
Backed out changeset b23f1081afb8 (bug 1022612)
Backed out changeset f7e2c6a72043 (bug 1022612)
Backed out changeset 959917c9027d (bug 1022612)
Backed out changeset 0268a46f4880 (bug 1022612)
Backed out changeset 3388856a80ad (bug 1022612)
Backed out changeset e4b17cf0f806 (bug 1022612)
Backed out changeset 2f4e9da0e4b6 (bug 1022612)
Backed out changeset 489f6a7c0c03 (bug 1022612)
Backed out changeset 8369d9ad7ad3 (bug 1022612)
Backed out changeset 0758d2a06002 (bug 1022612)
Backed out changeset f2ae9cb22edb (bug 1022612)
Backed out changeset 9c48c6ee5dc2 (bug 1022612)
Backed out changeset fe7134400f08 (bug 1022612)
Backed out changeset cc2c5397ca8b (bug 1022612)
Backed out changeset a3d1a3e8b39d (bug 1022612)
Backed out changeset 8974b74b0eb0 (bug 1022612)
Backed out changeset 75f7dbb5a2a6 (bug 1022612)
Backed out changeset 2aa04a071e60 (bug 1022612)
Backed out changeset f2ab1bcd4c39 (bug 1022612)
Backed out changeset da9152b6ea29 (bug 1022612)
Backed out changeset 58abf5b0e148 (bug 1022612)
Backed out changeset 797058a09ad2 (bug 1022612)
Backed out changeset ea3e99a92ff0 (bug 1022612)
Backed out changeset adc4a4a7aa73 (bug 1022612)
Backed out changeset 7b18dedd1505 (bug 1022612)
Backed out changeset 055dd1921e8e (bug 1022612)
Backed out changeset 42fa2c97e989 (bug 1022612)
Backed out changeset cd594236388f (bug 1022612)
Backed out changeset 9eadc5fee43d (bug 1022612)
Backed out changeset 5cc8d30ff7c9 (bug 1022612)
2014-07-17 11:24:47 -04:00
Robert O'Callahan
5d85a56fca Bug 1022612. Part 45: Increase region complexity limit for mDrawAboveRegion/mVisibleAboveRegion to fix scroll-rounding.html test failure. r=mattwoodrow
--HG--
extra : rebase_source : 27ec3c7fc9d06fa2b904ffce5324f94dff0c4ca4
2014-07-17 15:41:06 +12:00
Robert O'Callahan
8dcf2ec23f Bug 1022612. Part 43: Fix up SuppressComponentAlpha to allow component alpha in inactive layers over opaque parts of the chrome window. r=mattwoodrow
--HG--
extra : rebase_source : b3c9dae42dac31e32623accb15750ed834e3e8ed
2014-07-15 16:23:37 +12:00
Robert O'Callahan
a7b9e2d8f7 Bug 1022612. Part 42: Add opaque regions of ThebesLayer content to the "exclude glass" region. r=mattwoodrow
--HG--
extra : rebase_source : 26af2a0828f64ee9e1f481f59eba60055df4cbf2
2014-07-14 12:46:13 +12:00
Robert O'Callahan
c00477284b Bug 1022612. Part 41: Use itemType instead of calling GetType() again. r=mattwoodrow
--HG--
extra : rebase_source : 05cd56313710a435b2ba3c3dc52b8bf9e49678b0
2014-07-11 13:18:10 +12:00
Robert O'Callahan
eae958f75b Bug 1022612. Part 40: Restrict visible rect of 3D-transformed layers before converting to nsIntRect. r=mattwoodrow
--HG--
extra : rebase_source : 27f2a3d107c822dd94819e58f6ecbf9e843c0359
2014-07-11 13:17:47 +12:00
Robert O'Callahan
8fcbf3d715 Bug 1022612. Part 34: Skip RecomputeVisibilityForItems in inactive layers. r=mattwoodrow
RecomputeVisibilityForItems for the retained ThebesLayer already recomputes
visibility for all items in that layer, including items nested in other items.

--HG--
extra : rebase_source : f729f754da18d7ce67577fc5b3ca065f2103e218
2014-06-23 16:24:14 +12:00
Robert O'Callahan
3525926b7b Bug 1022612. Part 31: Perform layer-level occlusion culling in FrameLayerBuilder. r=mattwoodrow
We need this to avoid constructing and painting unncecessarily large
ThebesLayers.

--HG--
extra : rebase_source : fd56072f7932fa9c39f314c4d95cdd0d1ad13de3
2014-06-23 16:24:00 +12:00
Robert O'Callahan
e3b8462562 Bug 1022612. Part 28: Make nsLayoutUtils::GetScrollableFrameFor return null for non-scrolled-frames. r=mattwoodrow
--HG--
extra : rebase_source : 93131947e0f16746f8c0158bbedcb6fc43683716
2014-07-09 10:12:41 +12:00
Robert O'Callahan
b550e89fa5 Bug 1022612. Part 27: Make FrameLayerBuilder responsible for setting all layer visible regions. r=mattwoodrow
Calling Layer::SetVisibleRegion multiple times in a transaction can result in
unnecessary IPC traffic.

This patch removes Intersect(childGfxBounds). This is only needed to
restrict the visible region to something sane for 3D transforms, and this will
be fixed up in a later patch.

--HG--
extra : rebase_source : 5931e3462734983134193b766410593288afc296
2014-06-18 15:12:55 +12:00
Robert O'Callahan
ef40de3fc2 Bug 1022612. Part 21: Remove DidComputeVisibility checking. r=mattwoodrow
--HG--
extra : rebase_source : e0e13e5e6cc87fbc0d4f62e14465a813aa176094
2014-06-09 16:48:01 +12:00
Robert O'Callahan
a7f418ac28 Bug 1022612. Part 20: Do the business. r=mattwoodrow
--HG--
extra : rebase_source : 48f0e2563f91351cac5ce1d3ed5e52364f24ccba
2014-06-09 16:48:01 +12:00
Robert O'Callahan
46fc7f9136 Bug 1022612. Part 15.5: Use GetVisibleRectForChildren instead of GetVisibleRect. r=mattwoodrow
--HG--
extra : rebase_source : 67cd76ce64beff29af0a90db76e752585922ddab
2014-07-15 23:49:38 +12:00
Robert O'Callahan
7947f386fd Bug 1022612. Part 14: Don't compute a final transparent region anymore. r=mattwoodrow
Computing this via FrameLayerBuilder is some work and we don't really have to.

SuppressComponentAlpha will be true in more cases. This will be OK as long as
text in the chrome window is over opaque content in the same ThebesLayer. We
will miss some edge cases such as text in 'opacity' with no opaque background.
This should be OK.

--HG--
extra : rebase_source : 8ac6abb8f6b3ab078883935688ae1f5059b797c7
2014-06-09 16:48:00 +12:00
Robert O'Callahan
2abf8f847b Bug 1022612. Part 13: Set mDidComputeVisibility in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : 456aaeba5a9bb3e8d34e0d900dd693f337cf2b12
2014-07-07 17:46:28 +12:00
Robert O'Callahan
05127c94f7 Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : b7302f3457837f8308925ab67705e6279a80caf3
2014-06-09 16:48:00 +12:00
Robert O'Callahan
a213f11bc0 Bug 1022612. Part 11: Set opaque flag on nsDisplayList if we find an opaque item that covers the whole list. r=mattwoodrow
This is less general than what nsDisplayItem::ComputeVisibility does. This means
if multiple opaque items together cover the list bounds, but not individually,
we won't mark the list as opaque. I think that should be OK.

--HG--
extra : rebase_source : 26e5e44fa90000089f1dc64c1cb073d5b1806765
2014-06-09 16:48:00 +12:00
Robert O'Callahan
6092c9bf6a Bug 1022612. Part 10: Implement merging and flattening in ProcessDisplayItems. r=mattwoodrow
BuildContainerLayerFor now has to be able to mutate the passed-in display item
list.

--HG--
extra : rebase_source : c242006445d90372f6c7941d909f30945422321b
2014-06-09 16:48:00 +12:00
Carsten "Tomcat" Book
4fc2a6fcb3 Backed out changeset 3bf33a32bfe0 (bug 1022612) 2014-07-15 10:30:38 +02:00
Carsten "Tomcat" Book
3cf75ddd59 Backed out changeset 75fffcce9c4d (bug 1022612) 2014-07-15 10:30:36 +02:00
Carsten "Tomcat" Book
8824c3a425 Backed out changeset cc140abf7b17 (bug 1022612) 2014-07-15 10:30:35 +02:00
Carsten "Tomcat" Book
d758f9c681 Backed out changeset 121bf69509b1 (bug 1022612) 2014-07-15 10:30:33 +02:00
Carsten "Tomcat" Book
029b32a486 Backed out changeset e95971991caa (bug 1022612) 2014-07-15 10:30:32 +02:00
Carsten "Tomcat" Book
5ab48e7077 Backed out changeset 2f6cb0f412f7 (bug 1022612) 2014-07-15 10:30:23 +02:00
Carsten "Tomcat" Book
795c1dd368 Backed out changeset 032ba47c6684 (bug 1022612) 2014-07-15 10:30:21 +02:00
Carsten "Tomcat" Book
4681a11b43 Backed out changeset f9564f9f4648 (bug 1022612) 2014-07-15 10:30:11 +02:00
Carsten "Tomcat" Book
495422fb07 Backed out changeset c413b946dbc4 (bug 1022612) 2014-07-15 10:30:09 +02:00
Carsten "Tomcat" Book
79941c685b Backed out changeset f8b488c389e9 (bug 1022612) 2014-07-15 10:30:04 +02:00
Carsten "Tomcat" Book
7f4f90969e Backed out changeset 6e190d419511 (bug 1022612) 2014-07-15 10:29:59 +02:00
Carsten "Tomcat" Book
26f47cdbf0 Backed out changeset e6be65e455a2 (bug 1022612) 2014-07-15 10:29:51 +02:00
Carsten "Tomcat" Book
48feebee09 Backed out changeset 5c1f3340c45f (bug 1022612) 2014-07-15 10:29:50 +02:00
Carsten "Tomcat" Book
abd220850c Backed out changeset f12d7d68b685 (bug 1022612) 2014-07-15 10:29:48 +02:00
Carsten "Tomcat" Book
75f0b66945 Backed out changeset cc1776b2606d (bug 1022612) 2014-07-15 10:29:46 +02:00
Robert O'Callahan
216105530b Bug 1022612. Part 43: Fix up SuppressComponentAlpha to allow component alpha in inactive layers over opaque parts of the chrome window. r=mattwoodrow
--HG--
extra : rebase_source : a15fb640c4fe7917321bcea5cdf2dc5e6087a140
2014-07-15 16:23:37 +12:00
Robert O'Callahan
d3e59dec22 Bug 1022612. Part 42: Add opaque regions of ThebesLayer content to the "exclude glass" region. r=mattwoodrow
--HG--
extra : rebase_source : 2b429e274ec49b5310e69bad65ae9a399dba514a
2014-07-14 12:46:13 +12:00
Robert O'Callahan
16bcaaf5bb Bug 1022612. Part 41: Use itemType instead of calling GetType() again. r=mattwoodrow
--HG--
extra : rebase_source : 9531cbc73f01c49d22b81420c7cb3b206b6c26d4
2014-07-11 13:18:10 +12:00
Robert O'Callahan
dbc191385e Bug 1022612. Part 40: Restrict visible rect of 3D-transformed layers before converting to nsIntRect. r=mattwoodrow
--HG--
extra : rebase_source : 9d147c1adb92c17b19d259eef64557495c790b13
2014-07-11 13:17:47 +12:00
Robert O'Callahan
9de5b60bcb Bug 1022612. Part 34: Skip RecomputeVisibilityForItems in inactive layers. r=mattwoodrow
RecomputeVisibilityForItems for the retained ThebesLayer already recomputes
visibility for all items in that layer, including items nested in other items.

--HG--
extra : rebase_source : df909f3a9d6eabdb3d83a7770d090068ecca2686
2014-06-23 16:24:14 +12:00
Robert O'Callahan
797ba98165 Bug 1022612. Part 31: Perform layer-level occlusion culling in FrameLayerBuilder. r=mattwoodrow
We need this to avoid constructing and painting unncecessarily large
ThebesLayers.

--HG--
extra : rebase_source : 38cbd0b0dd7724cfdb98f3e215bd0f220a687f3c
2014-06-23 16:24:00 +12:00
Robert O'Callahan
2f179c372a Bug 1022612. Part 28: Make nsLayoutUtils::GetScrollableFrameFor return null for non-scrolled-frames. r=mattwoodrow
--HG--
extra : rebase_source : b93ce3cc94029fb6b8de51d5fc945d552a75a937
2014-07-09 10:12:41 +12:00
Robert O'Callahan
a8a94867f0 Bug 1022612. Part 27: Make FrameLayerBuilder responsible for setting all layer visible regions. r=mattwoodrow
Calling Layer::SetVisibleRegion multiple times in a transaction can result in
unnecessary IPC traffic.

This patch removes Intersect(childGfxBounds). This is only needed to
restrict the visible region to something sane for 3D transforms, and this will
be fixed up in a later patch.

--HG--
extra : rebase_source : dc1eaa8079f61648c24ac9502e837ac9f2630730
2014-06-18 15:12:55 +12:00
Robert O'Callahan
f59ff43d93 Bug 1022612. Part 21: Remove DidComputeVisibility checking. r=mattwoodrow
--HG--
extra : rebase_source : dc32021b0ba919d68a93f555cc8430e1d0a741a4
2014-06-09 16:48:01 +12:00
Robert O'Callahan
b2dedc1ddb Bug 1022612. Part 20: Do the business. r=mattwoodrow
--HG--
extra : rebase_source : a87960893a3cdf6661f25091ae9fd28b247a464b
2014-06-09 16:48:01 +12:00
Robert O'Callahan
e4542f2a87 Bug 1022612. Part 14: Don't compute a final transparent region anymore. r=mattwoodrow
Computing this via FrameLayerBuilder is some work and we don't really have to.

SuppressComponentAlpha will be true in more cases. This will be OK as long as
text in the chrome window is over opaque content in the same ThebesLayer. We
will miss some edge cases such as text in 'opacity' with no opaque background.
This should be OK.

--HG--
extra : rebase_source : dc8bbdd564cc99df1286921e59642648779b9c4a
2014-06-09 16:48:00 +12:00
Robert O'Callahan
958eac2c9b Bug 1022612. Part 13: Set mDidComputeVisibility in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : c1a929e549c437388aa308b3dfda68b923eb0236
2014-07-07 17:46:28 +12:00
Robert O'Callahan
53a92cc8dd Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : ed15b100438912f12e3c556d2a6a43e8387b2981
2014-06-09 16:48:00 +12:00
Robert O'Callahan
394c554597 Bug 1022612. Part 11: Set opaque flag on nsDisplayList if we find an opaque item that covers the whole list. r=mattwoodrow
This is less general than what nsDisplayItem::ComputeVisibility does. This means
if multiple opaque items together cover the list bounds, but not individually,
we won't mark the list as opaque. I think that should be OK.

--HG--
extra : rebase_source : 43dced732123617f85f360d13861b01d70fddef5
2014-06-09 16:48:00 +12:00
Robert O'Callahan
7ec8598426 Bug 1022612. Part 10: Implement merging and flattening in ProcessDisplayItems. r=mattwoodrow
BuildContainerLayerFor now has to be able to mutate the passed-in display item
list.

--HG--
extra : rebase_source : 6a9727998a5ffb01896a4a2bbdd8d30a24c89dcd
2014-06-09 16:48:00 +12:00
Matt Woodrow
6d89446227 Bug 1034247 - Avoid propogating scale factors down to ThebesLayers if it would result in them being larger than the max texture size. r=roc 2014-07-09 14:01:54 +12:00
Benoit Girard
439262aad7 Bug 1027380 - Paint flashing from an inactive layer manager saturates the transparent layers. r=mattwoodrow
--HG--
extra : rebase_source : 7444cf86fc14bd811d836d4c788958bf3790f572
2014-06-19 14:22:17 -04:00
Ed Morley
6269abc315 Merge mozilla-central and inbound 2014-07-10 16:29:53 +01:00
Kartikaya Gupta
2001531145 Bug 1036518 - Back out cset cc20208a6eb4 (bug 1034247) for causing blurry painting and janky scrolling on B2G/Fennec on some devices. r=me a=backout 2014-07-10 10:08:44 -04:00
Jonathan Watt
51f820ee47 Bug 933019, part 7 - Remove code for handling Thebes backed gfxContext from various files under layout/. r=Bas 2014-07-10 10:58:07 +01:00
Benoit Girard
3a53982907 Bug 1035998 - Annotate painting with display item information. r=mattwoodrow
--HG--
extra : rebase_source : ca750d2ca943d2596053b9ecf52074c5f5f53e70
2014-07-09 15:11:51 -04:00
Matt Woodrow
d3a7611535 Bug 1034247 - Avoid propogating scale factors down to ThebesLayers if it would result in them being larger than the max texture size. r=roc 2014-07-09 14:01:54 +12:00
Matt Woodrow
361e3e8a66 Bug 1031948 - Cull points that have w <= 0 when untransforming layer coordinates. r=bjacob 2014-07-08 16:55:42 +12:00
Timothy Nikkel
6dd3b29c71 Bug 1029718. Skip transform calculation if region to transform is empty for layer event regions. r=mstange
This means that we keep empty regions empty instead of rounding out causing empty regions to become non-empty. It can be significant for perf. Bug 1016525 fixed this. Bug 977831 regressed this.
2014-07-03 13:40:13 -05:00
Carsten "Tomcat" Book
4731eadb9c Backed out changeset 8179a07a4181 (bug 1009306) for m6 and m7 android test failures on a CLOSED TREE 2014-06-30 12:31:07 +02:00
Chris Lord
f589756c0f Bug 1009306 - Allow invalidation when a layer's sub-pixel scroll changes. r=roc
We #ifdef'd this out before the implementation of flexible scroll ranges,
but now there's no need for this and it ends up causing visible rendering
glitches.
2014-06-25 17:48:53 +01:00
Jonathan Watt
488b914f94 Bug 1031055 - Get rid of the Thebes backed gfxContexts in FrameLayerBuilder.cpp, and get rid of gfxASurface::DumpAsDataURL. r=mattwoodrow 2014-06-27 12:19:40 +01:00
Markus Stange
19b1984d2c Bug 1026450 - Don't let clipped animated transforms trigger layerization of elements outside the clip. r=roc
--HG--
extra : rebase_source : 2e260272a4d6aa4271d4e3231d7da3dd224b838c
2014-06-25 10:36:13 +02:00
Timothy Nikkel
695be79a62 Bug 1030370. We should be looking at the layer data for the frame we are looping over in the loop, not the starting frame each time in FrameLayerBuilder::GetThebesLayerScaleForFrame. r=mattwoodrow 2014-06-25 22:55:20 -05:00
Ed Morley
892c226532 Backed out changeset 5f35e9f7ad4a (bug 1026450) for B2G reftest failures; CLOSED TREE
--HG--
extra : amend_source : f9a3650794b0844becd8ff0ab6b284d727e463b3
2014-06-25 17:13:20 +01:00
Markus Stange
c01a620b38 Bug 1026450 - Don't let clipped animated transforms trigger layerization of elements outside the clip. r=roc 2014-06-25 10:36:13 +02:00
Mats Palmgren
7e0995dfa2 Bug 1025212 - Initialize 'last' to silence a static analyzer warning. r=dholbert 2014-06-24 17:52:18 +00:00
Jonathan Watt
f1d16eb1ff Bug 1027645 - Eliminate all nsRenderingContext::AppUnitsPerDevPixel() callers and all non-propagating nsRenderingContext::DeviceContext() callers. r=roc 2014-06-20 07:42:30 +01:00
Timothy Nikkel
cad2a6f66e Bug 977831. Store layer event regions on thebes layer data in appunits relative to the reference frame until we finalize the thebes layer and then convert to layer coordinates. r=roc
Event regions weren't in a workable state prior to this. They were already stored relative to the reference frame, but in layer pixels.

Inside inactive layer managers the scale is always 1 regardless of the scale on the containing thebes layer (which is the scale it will actually be drawn at), and so the event regions did not take into account scale in this situation.

Storing the regions in appunits relative to the reference frame means we can just transform to the new reference frame (if it is different) when passing event regions up and out of inactive layer managers. The proper scale will be applied when we apply the event regions to the layer.
2014-06-19 22:56:36 -05:00
Benoit Girard
c1e4a09735 Bug 1027496 - Stream display list and layers dump. r=mattwoodrow 2014-06-19 18:36:25 -04:00
Jonathan Watt
f0cc7f7531 Bug 1027763, part 2 - Make non-Moz2D callers of DrawTarget::GetType() call DrawTarget::GetBackendType() instead. r=Bas 2014-06-19 21:35:33 +01:00
Chris Lord
43310b9b82 Bug 1006084 - Allow ThebesLayers to be recreated when the creation hint changes. r=mattwoodrow 2014-06-13 17:11:08 +01:00
Markus Stange
3dbd763a09 Fix a typo in a comment in ContainerState::FindThebesLayerFor. No bug, r=typo 2014-06-04 14:44:28 +02:00
Markus Stange
508c4ef238 Bug 1018464 - Make ContainerState::FindOpaqueBackgroundColorFor look through holes in display items. r=roc
--HG--
extra : rebase_source : 69d82381327e1114a6264d5ed360dd16aca39166
2014-06-03 14:50:42 +02:00
Victor Porof
5643294005 Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00
Markus Stange
d4da42b2cc Bug 1016525 - Ignore empty rects in AddTransformedBoundsToRegion. r=roc 2014-05-28 11:47:07 +02:00
Birunthan Mohanathas
2deaba6d91 Bug 869836 - Part 8: Use Append('c') instead of Append("c"). r=ehsan 2014-05-22 06:48:52 +03:00
Matt Woodrow
85cabc53ea Bug 1013536 - Clip paint flashing area when using single-rect painting mode. r=Bas 2014-05-22 14:36:26 +12:00
Wes Kocher
2e8e65d92c Backed out changeset 6761e016c804 (bug 1009680) for m-oth bustage on an otherwise CLOSED TREE 2014-05-13 15:56:42 -07:00
Markus Stange
9556722d11 Bug 1009680 - Disable paint flashing for inactive layer contents. r=roc 2014-05-13 23:13:11 +02:00
Markus Stange
5a0c83aa45 Bug 1009020 - Use a fixed epsilon when nudging the transform to integers in ChooseScaleAndSetTransform. r=roc 2014-05-12 21:37:21 +02:00
Markus Stange
c88e5a72fc Bug 1008301 - Add invalidation logging for layer scale change invalidations. r=roc 2014-05-12 21:37:21 +02:00
Wes Kocher
bb8774167c Backed out 4 changesets (bug 1008301) for possibly breaking OSX 10.8 reftests on a CLOSED TREE
Backed out changeset 6a9b7a423db8 (bug 1008301)
Backed out changeset bd16c8833501 (bug 1008301)
Backed out changeset d1fab05aa5f5 (bug 1008301)
Backed out changeset 16ddb5b9eb6d (bug 1008301)
2014-05-12 14:35:46 -07:00
Markus Stange
484881a5f6 Bug 1008301 - Add invalidation logging for layer scale change invalidations. r=roc 2014-05-12 21:37:21 +02:00
Matt Woodrow
d54248516a Bug 938395 - Enable single rect painting for d3d10. r=Bas 2014-05-08 14:56:48 +12:00
Markus Stange
c7338a1b7a Bug 1000875 - Add invalidation debugging annotations for changes of a layer's forced background color. r=roc 2014-05-05 10:26:28 +02:00
Markus Stange
d963582a48 Bug 1000382 - Don't simplify the invalidation region before calling nsSVGIntegrationUtils::AdjustInvalidAreaForSVGEffects. r=roc
--HG--
extra : rebase_source : a0eb465b54735c13e7b1934c3f6379ef74fd3f35
2014-04-24 10:25:17 +02:00
Markus Stange
9a26ffaabc Bug 1000167 - Choose the right animated geometry root for inactive layer contents. r=roc
Choosing a frame that is scrolled along with the inactive layer results in a fixed offset between the two, so the transform that we set on the thebes layer in the basic layer manager of the inactive layer doesn't change when the page is scrolled.

--HG--
extra : rebase_source : 9b7996e2979e7d833aaddada2eebdd3c15ab621e
2014-04-24 10:18:11 +02:00
Timothy Nikkel
dc5c4979ef Bug 1000266. Don't purge the canvas fixed background image cache if we are only scrolling. r=mattwoodrow
Also NotifyRenderingChanged was on the canvas background color item, not the background image item.

Bug 818643 was a problem where the cache didn't get purged enough, but the fix meant we basically always purged the cached and never got to use it, making it useless. It meant that we purged the cache anytime the item has any type of invalidation whatsoever, even if the item would be drawn the same but the layer contents needed to be invalidated so that it would be redrawn (ie due to staying at the same position on screen but a different position in the layer).

This is really hacky, but NotifyRenderingChanged is only observed on one type of display item. So we just isolate the case where the only thing that changed is the offset (due to scrolling) and skip the NotifyRenderingChanged in that case.
2014-04-23 21:56:15 -05:00
Markus Stange
5c83daaf1f Bug 987005 - Add comments to a condition in PopThebesLayerData(). r=roc 2014-04-22 16:27:44 +02:00
Robert O'Callahan
84543bbdaa Bug 972713. Part 2: Ignore active scrolled roots in inactive layer trees, because they don't help and could hurt. r=mattwoodrow
--HG--
extra : rebase_source : 3c1c4abb6685f106f927f0f43dbb62fe64a37038
2014-02-18 17:00:35 +13:00
Jonathan Watt
3e160b2c76 Bug 960524 - Get rid of Image::DeprecatedGetAsSurface (Moz2D migration). r=mattwoodrow 2014-04-10 09:49:53 +01:00
Jonathan Watt
1aa33ab749 Bug 964731 - Convert ImageLayerD3D10 and CreateOptimalSurface/CreateOptimalMaskSurface to Moz2D. r=Bas 2014-04-10 09:49:49 +01:00
Daniel Holbert
128cc39b95 (no bug) Remove whitespace at end of line in FrameLayerBuilder. (whitespace-only, DONTBUILD) 2014-03-20 14:49:27 +08:00
Matt Woodrow
007105ff82 Bug 982812 - Use UpdateThemeGeometry for windows region clearing. r=mstange 2014-03-17 16:42:48 +08:00
Matt Woodrow
e638200a0e Bug 940455 - Add LayerManager functonality to clear out a portion of the window for the OS to paint. r=roc,Bas 2014-02-13 13:20:41 +13:00
Matt Woodrow
7ab34aad65 Bug 981252 - Initialize all values in MaskLayerUserData so that equality comparisons make sense. r=dbaron 2014-03-11 11:12:48 +13:00
Mike Conley
4611b5bdb4 Backing out bug 940455 (36e45a68452b) for numerous regressions. r=bustage-fix. 2014-03-07 16:50:30 -05:00
Matt Woodrow
9d2ab6314e Bug 978911 - Add the entire visible region to the layers invalid region when we invalidate the whole thing. r=roc 2014-03-07 12:31:47 +13:00
Matt Woodrow
cf2d089996 Bug 940455 - Add LayerManager functonality to clear out a portion of the window for the OS to paint. r=roc,Bas 2014-02-13 13:20:41 +13:00
Ed Morley
a96a5e92b0 Merge latest green b2g-inbound changeset and mozilla-central 2014-03-03 14:45:43 +00:00
Timothy Nikkel
4340c68e3b Bug 978655. Simplify ContainerState::FindFixedPosFrameForLayerData. r=mattwoodrow 2014-03-03 00:04:59 -06:00
Timothy Nikkel
7057743a64 Bug 974643. The displayport is not relevant to position: fixed content, only to scrolling content. r=roc
The relevant part of postion: fixed items lies within the viewport, which is the scroll position clamping scroll port size if one has been set.
2014-03-02 19:49:39 -06:00
Timothy Nikkel
5d30b2243f Bug 959847. Part 8. Don't let ProcessDisplayItems set the clip on subdocument items when they are being used to draw the display port content. r=roc 2014-02-27 16:01:54 -06:00
Matt Woodrow
dd8c6e2ee1 Bug 971720 - Allow ThebesLayers to be optimized to ColorLayers even if they have rounded rect clipping. r=roc 2014-03-01 08:52:03 +13:00
Matt Woodrow
722fc7c37a Bug 976877 - Don't build optimized layers (color/image) inside inactive layer trees. r=roc 2014-03-01 08:49:58 +13:00
Robert O'Callahan
98441ba933 Bug 976412. Part 1: Fix logic for determining when a display item can be placed in a layer. r=mattwoodrow
--HG--
extra : rebase_source : c390532cb3f6252fa388dfbe8176f4f911dfbdb3
2014-02-26 17:17:18 +13:00
Robert O'Callahan
cdf3eb974c Bug 969354. Track which ThebesLayers contain items which returned true from ShouldFixToViewport, and make sure each such item gets its own ThebesLayer. r=mattwoodrow
--HG--
extra : rebase_source : 629f91869bd4c4ad2e4e17c40c5fe0311532fb67
2014-02-21 14:11:17 +13:00
Jerry Shih
0ed94234b2 Bug 972310 - Set a suitable layer size for css scale animation/transition. r=roc 2014-02-18 09:58:01 -05:00
Robert O'Callahan
b8b97141df Backing out patches for bug 972713 (changesets b5486b9ed88c and 7829e535cdd7) due to Windows 8 test failure. 2014-02-18 22:48:18 +13:00
Robert O'Callahan
74264633f3 Bug 972713. Part 2: Ignore active scrolled roots in inactive layer trees, because they don't help and could hurt. r=mattwoodrow 2014-02-18 17:00:35 +13:00
Robert O'Callahan
e8c97c2ed5 Bug 966397. Part 2: Don't look at ancestors of mContainerReferenceFrame when searching for a fixed-pos ancestor we belong to, since we'll change coordinate spaces. The metadata will be attached to an ancestor layer in that case. r=mattwoodrow
--HG--
extra : rebase_source : cfb56bb2111abce99cd475b9fa8c516d53621ed4
2014-02-17 14:51:49 +13:00
Robert O'Callahan
39c3f2bf7b Bug 966397. Don't try to add fixed-pos metadata for inactive layer subtrees. r=mattwoodrow
--HG--
extra : rebase_source : 119635c63af471a0d6384901d99f242b14a39e9a
2014-02-17 14:51:49 +13:00
Ms2ger
479e9f45c5 Bug 952033 - Part b: Use IntSize in CreateOffscreenSurface; r=roc 2014-02-09 09:04:38 +01:00
Robert O'Callahan
4b5173050a Bug 967587. Back out this hunk of bug 946502 part 3 until we can fix the regressions. r=mattwoodrow
--HG--
extra : rebase_source : d52729121395a8a59c99e4e30a4565b8eab7f13d
2014-02-07 13:17:52 +13:00
Matt Woodrow
21451501e0 Bug 952011 - Use Untransform API to safetly untransform points when we have a projective matrix. r=roc 2014-02-04 12:25:23 +13:00
Phil Ringnalda
ca40ef84b6 Backed out 4 changesets (bug 952011)
CLOSED TREE

Backed out changeset da7b3853cbfd (bug 952011)
Backed out changeset 413375909458 (bug 952011)
Backed out changeset 577290ff145d (bug 952011)
Backed out changeset 89491b5d0af8 (bug 952011)
2014-01-30 21:44:41 -08:00
Matt Woodrow
1339dec76d Bug 952011 - Use Untransform API to safetly untransform points when we have a projective matrix. r=roc 2014-01-29 13:10:35 +13:00
Benoit Jacob
3991287fb7 Bug 964442 - Make CreateImage just take a plain format parameter - r=jrmuizel 2014-01-30 17:58:51 -05:00
Benoit Jacob
e6d46b061f Bug 962784 - Convert ImageTypes.h to typed enums - r=jrmuizel
find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(GRALLOC_PLANAR_YCBCR\|PLANAR_YCBCR\|SHARED_RGB\|CAIRO_SURFACE\|MAC_IOSURFACE\|REMOTE_IMAGE_BITMAP\|SHARED_TEXTURE\|REMOTE_IMAGE_DXGI_TEXTURE\|D3D9_RGB32_TEXTURE\)\($\|[^A-Za-z0-9_]\)/\1ImageFormat::\2\3/g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's|ImageFormat\:\:ImageFormat|ImageFormat|g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)STEREO_MODE_\(MONO\|LEFT_RIGHT\|RIGHT_LEFT\|BOTTOM_TOP\|TOP_BOTTOM\)\($\|[^A-Za-z0-9_]\)/\1StereoMode::\2\3/g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's|StereoMode\:\:StereoMode|StereoMode|g'
2014-01-30 17:58:49 -05:00
Robert O'Callahan
9a8f69348f Bug 946502. Part 3: Extend FrameLayerBuilder to set fixed-pos metadata on layers created for background-attachment:fixed content. r=mattwoodrow
--HG--
extra : rebase_source : dbaab718d7a358bfaa40124913bcd5acf0255aa1
2013-12-18 00:30:21 +13:00
Matt Woodrow
eec83a3058 Bug 946952 - Run a 'compressed' paint up to 1 second after skipping the ColorLayer optimization. r=roc 2014-01-30 18:41:17 +13:00
David Zbarsky
bed5a418db Bug 952977: Convert Layer's mTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:29:06 -05:00
David Zbarsky
44eeb608e1 Bug 952977: Convert GetTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:28:47 -05:00
David Zbarsky
1e61d187aa Bug 952977: Convert SetBaseTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:28:33 -05:00
Benoit Jacob
67a17b1047 Bug 959448 - Convert most of LayersTypes.h to typed enums - r=nrc
find content/media dom/ipc widget/ gfx/tests gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)LAYERS_\(NONE\|BASIC\|OPENGL\|D3D9\|D3D10\|D3D11\|CLIENT\|LAST\)\($\|[^A-Za-z0-9_]\)/\1LayersBackend::LAYERS_\2\3/g'

find widget gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)BUFFER_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1BufferMode::BUFFER_\2\3/g'

find widget gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)BUFFER_\(BUFFERED\)\($\|[^A-Za-z0-9_]\)/\1BufferMode::\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)CLIP_\(DRAW\|DRAW_SNAPPED\)\($\|[^A-Za-z0-9_]\)/\1DrawRegionClip::\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)CLIP_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1DrawRegionClip::CLIP_\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SURFACE_\(NONE\|OPAQUE\|SINGLE_CHANNEL_ALPHA\|COMPONENT_ALPHA\)\($\|[^A-Za-z0-9_]\)/\1SurfaceMode::SURFACE_\2\3/g'

find gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SCALE_\(STRETCH\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1ScaleMode::\2\3/g'

find gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SCALE_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1ScaleMode::SCALE_\2\3/g'
2014-01-23 13:26:41 -05:00
Benoit Jacob
93826fc6b0 Bug 959380 - 4/5 - Make gfxContentType a typed enum - r=jrmuizel
find . -type f | grep -v '\./obj' | grep -v '\.hg' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)GFX_CONTENT_\(COLOR\|ALPHA\|COLOR_ALPHA\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1gfxContentType::\2\3/g'
2014-01-23 13:26:40 -05:00
Benoit Girard
b60a7290fe Bug 941095 - Restore subpixelaa on HIDPI. r=backout 2014-01-19 22:31:02 -05:00
Ali Akhtarzada
2b8742c537 Bug 959123 - Implement CairoImage::GetAsSourceSurface. r=nical
Deprecate CairoImage::Data::mSurface and add an mSourceSurface.
Also change all the callers of CairoImage::SetData to set the
SourceSurface as well.

Also change scope of CairoImage::mSource to private
2014-01-17 11:22:09 -05:00
Benoit Jacob
2d5774ca0a Bug 958375 - 6/9 - Make BackendType and NativeSurfaceType typed enums - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Ms2ger
9b8e245bf9 Bug 950143 - Remove the implicit conversion operator from nsIntSize to IntSize; r=roc 2013-12-31 10:06:12 +01:00
Robert O'Callahan
5056e8e227 Bug 945203. Part 8: Add FrameLayerBuilder support for capturing nsDisplayEventRegions data into ThebesLayers. r=mattwoodrow
--HG--
extra : rebase_source : e61c1bcfa700ac88523fb34eab7c6afd470d0d68
2013-12-17 01:16:24 +13:00
Robert O'Callahan
9626c36371 Bug 945203. Part 7: Add ScaleRegionToOutsidePixels. r=mattwoodrow
--HG--
extra : rebase_source : 1c54863818607c45d04249e5df407b3fb3af40dd
2013-12-17 01:11:59 +13:00
Robert O'Callahan
78c442b875 Bug 945203. Part 6: Move ThebesLayerData to the top level so it can be referenced elsewhere .r=mattwoodrow
--HG--
extra : rebase_source : d0df9b439b454a1c6bef1a8f33f2f96754077ff1
2013-12-17 01:11:01 +13:00
Robert O'Callahan
56c6c3532c Bug 945203. Part 5: Remove anonymous namespace. r=mattwoodrow
--HG--
extra : rebase_source : c8a35bed286161a339d4d68d4c0d21fb1c391ab2
2013-12-17 01:04:03 +13:00
David Zbarsky
42fb1763e1 Bug 952977: Switch ScaleAndTranslate to gfx::Matrix r=nical 2013-12-29 18:35:53 -05:00
Timothy Nikkel
a969eaf546 Bug 951467. Give scroll layer items the bounds of the scroll port, not the bounds of the display port. r=roc
The bounds of the scroll port match what will actually be drawn on the screen.

The bounds of the contained content (sized to the display port) are still accessible via mList.GetBounds, and similarly the visible rect of the contained content is mList.GetVisibleRect. The external bounds/visible rect are GetBounds and GetVisibleRect on the nsDisplayScrollLayer object itself.

We implement nsDisplayScrollInfoLayer::GetBounds solely so that it continues to return an empty rect because we expect active empty layers to have empty visible rects.

We no longer have to set our mVisibleRect in nsDisplayScrollLayer::ComputeVisibility because nsDisplayList::ComputeVisibilityForSublist now does it correctly for us (like other items).

We also have to teach ContainerState::ProcessDisplayItems to not set the visible region for scroll layers because it has the external visible region, not the larger internal display port sized visible region. We instead let BuildContainerLayer set the visible region of the layer.
2013-12-17 23:02:56 -06:00
Matt Woodrow
4b38430d54 Bug 948848 - Fold transform scale factors down to leaf layers even for temporary layer managers since it can make a difference for clips that are snapped to pixel boundaries. r=roc 2013-12-16 18:37:47 +13:00
Benoit Girard
ecabcc60cf Bug 941095 - Part 2: Disable subpixelaa + component alpha. r=mattwoodrow
--HG--
extra : rebase_source : 7e3a0d3710fb29b47615cc0254135d3b44637ed8
2013-12-13 13:53:18 -05:00
Robert O'Callahan
c19c09f778 Bug 945634. The fixed-pos anchor point should be in the layer's coordinate system, whose 0,0 is the top-left of the fixed-pos frame. r=mattwoodrow 2013-12-13 01:33:02 +13:00
Brad Lassey
f30a2db1ea Bug 915673 - Only use tiled layers for scrollable layers on b2g. r=tn,bgirard
Introduce a constructor for thebes layers that can take a hint about what the
layer will be used for, and use that hint to only create tiled layers when
the layer represents scrollable content.
2013-09-17 13:55:09 -04:00
Matt Woodrow
60083d6518 Bug 941050 - Don't assume fixed position layers are only created for ContainerLayers owned by the ViewportFrame. r=tn 2013-11-29 18:17:53 +13:00
Benoit Girard
f8fd653be7 Bug 942483 - Port paint-dumping to android/b2g. r=gal 2013-11-23 17:44:18 -05:00
Robert O'Callahan
d1b9afa1b6 Bug 919144. Part 10: Fold nsDisplayFixedPosition into nsDisplayStickyPosition. r=mattwoodrow
--HG--
extra : rebase_source : 597e2a178762509421a32d53be6242cd588c7995
2013-09-27 18:02:03 +12:00
Robert O'Callahan
ac362be738 Bug 919144. Part 9: Move FrameLayerBuilder::ContainerParameters to mozilla::ContainerLayerParameters. r=mattwoodrow
This is to avoid having to #include FrameLayerBuilder.h in nsLayoutUtils.h in the next patch.

--HG--
extra : rebase_source : 5f3c3ae2785267949766ae094414781133d4ce44
2013-09-27 18:01:16 +12:00
Robert O'Callahan
4e3b98bb4e Bug 919144. Part 7: Make fixed-pos frames with displayports animated geometry roots, and make FrameLayerBuilder responsible for setting fixed-pos layer parameters instead of nsDisplayFixedPosition. r=mattwoodrow
This patch also makes FrameLayerBuilder responsible for setting the visible region
of a fixed-pos layer to the displayport intersected with the draw-region of
the layer. This will let us remove some displaylist code in later patches.
We add special handling to GetAnimatedGeometryRootFor for nsDisplayScrollLayers,
to match what nsDisplayList::IsFixedItem does.

--HG--
extra : rebase_source : f9258243fe666d5dee33c13a88e596bbed8e2c1c
2013-09-27 18:01:16 +12:00
Robert O'Callahan
14f129a5c4 Bug 919144. Part 5: Add ThebesLayerData::mReferenceFrame. r=mattwoodrow
--HG--
extra : rebase_source : f569d1712be8e43aeff31ca2f045a4b87bbd1de6
2013-09-27 18:01:15 +12:00
Robert O'Callahan
6a8e8942c3 Bug 919144. Part 1: Rename identifiers from 'active scroll(ed) root' to 'animated geometry root'. r=mattwoodrow
Also sneaks in a couple of other refactorings:

--HG--
extra : rebase_source : 8b0e0729f26231d98ed069b54dd4f7c1e51b10b5
2013-09-26 09:07:26 +12:00
Nicholas Cameron
2ed8c68721 No bug. Fix an ifdef in FrameLayerBuilder. r=mattwoodrow 2013-11-18 09:33:21 +13:00
Matt Woodrow
4fd3487757 Bug 934860 - Followup to fix build on a CLOSED TREE 2013-11-17 17:24:53 +13:00
Matt Woodrow
a2ab151d04 Bug 934860 - Part 6: Add a pref to disable single rect painting and disable it for now for causing TART regressions. r=jrmuziel 2013-11-14 13:46:19 +13:00
Matt Woodrow
95ac7eda30 Bug 880031 - Make animated transforms force all above content to be in a separate ThebesLayer. r=roc 2013-11-08 19:04:12 +13:00
Matt Woodrow
53a5b436f2 Bug 934860 - Don't paint display items that don't intersect the current invalid rects. r=roc 2013-11-07 08:10:50 +13:00
Matt Woodrow
0f1ecdc3ec Bug 934860 - Draw each rect of the invalid region separately on Direct2D. r=roc 2013-11-07 08:10:50 +13:00
Matt Woodrow
9731cb7c16 Bug 934860 - Move paint region clipping into DrawThebesLayer. r=roc 2013-11-07 08:10:50 +13:00
Matt Woodrow
405dd8bf86 Bug 934860 - Move some parts of FrameLayerBuilder::DrawThebesLayer into helper functions. r=roc 2013-11-07 08:10:49 +13:00
Matt Woodrow
33e71bb6ac Bug 934860 - Start and finish transactions with temporary layer managers each time we use them to ensure that these are paired. r=roc 2013-11-07 08:10:49 +13:00
Robert O'Callahan
2709003286 Bug 911889. Part 2: Refactor MarkLayersActive code into its own class and be much more explicit about what it does. r=mattwoodrow
This also changes the functionality a little bit to track independent
per-property mutation counts and independent "content active" status.
2013-09-04 23:30:57 +12:00
Phil Ringnalda
98204c9e49 Back out 0a88dee3b92b:dc5cc7d7b84d (bug 911889) for beaucoup unexpected assertions
--HG--
extra : rebase_source : a2a13633b6028c99a3c732dbbafe8c800bc32071
2013-10-28 23:38:02 -07:00
Robert O'Callahan
58a3ced7c4 Bug 911889. Part 2: Refactor MarkLayersActive code into its own class and be much more explicit about what it does. r=mattwoodrow
This also changes the functionality a little bit to track independent
per-property mutation counts and independent "content active" status.

--HG--
extra : rebase_source : e69b8e7a95d36720bd38d74f0789ede603e58a09
2013-09-04 23:30:57 +12:00
Birunthan Mohanathas
967e556c1c Bug 784739 - Switch from NULL to nullptr in layout/; r=ehsan
--HG--
extra : rebase_source : 0d0d9e11be9d39e4457bddd0bac7e19a50b91b0b
2013-10-08 14:47:21 -04:00
Nicolas Silva
8605f47406 Bug 922202 - Make PlanarYCbCrImage::Data forward-declarable and remove some header includes. r=bjacob 2013-10-01 17:57:50 -07:00
Benoit Jacob
c1d7f88886 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Matt Woodrow
2319f16532 Bug 907926 - Try avoid having multiple path objects around since this is slow with DrawTargetCairo. r=Bas 2013-09-19 17:23:30 +12:00
Wes Kocher
158158f87e Backed out 5 changesets (bug 907926, bug 911393, bug 917703) due to OSX reftest bustage during an unrelated CLOSED TREE
Backed out changeset 94a6733b01dc (bug 907926)
Backed out changeset 44108fb6f7cc (bug 917703)
Backed out changeset f2dd2a27af69 (bug 911393)
Backed out changeset fdb0d1053128 (bug 907926)
Backed out changeset b3616b786e8f (bug 907926)
2013-09-19 17:56:18 -07:00
Matt Woodrow
a94f66881b Bug 907926 - Try avoid having multiple path objects around since this is slow with DrawTargetCairo. r=Bas 2013-09-19 17:23:30 +12:00
Markus Stange
3feac704b4 Bug 912953 - Use consistent rounding for the scroll offset transform. r=roc 2013-09-06 11:28:34 +02:00
Markus Stange
638049433d Bug 912953 - Apply the scroll offset transform to inactive layer managers for LAYER_SVG_EFFECTS, too. r=roc 2013-09-06 11:28:02 +02:00
Robert O'Callahan
33cdb42706 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Ehsan Akhgari
5fa9157954 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Markus Stange
ed4042636b Bug 904541 - Don't #include Layers.h in nsPresContext.h. r=roc 2013-08-14 13:33:03 +02:00
Nicholas Cameron
14c306ddce Bug 899884. Take into account the app unit to dev pixel ratio when reusing mask layers. r=roc 2013-08-09 21:42:05 +12:00
Benoit Girard
7186e08ba4 Bug 873378 - Add a limit on mobile of 20 layers per container layer. r=roc 2013-07-16 16:17:18 -04:00
Nicolas Silva
134b1e0673 Bug 899583 - Disallow BigImage with YCbCr compositing. r=BenWa 2013-08-02 01:02:06 +02:00
David Zbarsky
4a272eb16a Backout 4c89002460da (Bug 873378) for breaking the settings app on B2G 2013-07-26 13:20:23 -07:00
Milan Sreckovic
7482429c48 Bug 895003 - Introduce a second preference to control the chrome paint flashing - nglayout.debug.paint_flashing_chrome. r=roc
The original pref still controls content and chrome when set. The preference is now live, for content and chrome, the change will be seen on the next refresh. The cached value is now in nsPresContext, rather than nsRefreshDriver.
2013-07-22 11:51:38 -04:00
Benoit Girard
72ce20909b Bug 873378 - Add a limit on mobile of 20 layers per container layer. r=roc 2013-07-16 16:17:18 -04:00
Matt Woodrow
93da75702f Bug 889953 - Add a bounds property to ColorLayer to restrict the drawing region instead of using a clip. This stops our accelerated layer backends from requiring a temporary surface to render transformed ColorLayers. r=roc 2013-07-09 10:11:00 -04:00
Matt Woodrow
68a23b3791 Backout a17b6115cdd7 for causing reftest failures 2013-07-09 12:05:04 -04:00
Matt Woodrow
c39a74c126 Bug 889953 - Add a bounds property to ColorLayer to restrict the drawing region instead of using a clip. This stops our accelerated layer backends from requiring a temporary surface to render transformed ColorLayers. r=roc 2013-07-09 10:11:00 -04:00
Matt Woodrow
949de08277 Backout Bug 861805 for causing Bug 871729. rs=roc 2013-06-10 12:13:10 +12:00
Robert O'Callahan
7f35fbcd56 Bug 868082. Allow SetIsFixedPosition to be used on layers with transforms. In CompositorParent, use the animated transform value as the base transform in CompositorParent::TransformFixedLayers when it has been set by the animation sampler. r=cwiis
--HG--
extra : rebase_source : 3b809428bf8740753a98defc30ad7b7d96339442
2013-05-17 00:34:24 +12:00
Jonathan Watt
bf6b128469 Bug 870816 - Replace DEBUG_INVALIDATIONS with a pref called nglayout.debug.invalidation. r=mattwoodrow 2013-05-14 00:47:02 +01:00
Jonathan Watt
78d6740b24 Bug 870192 - Prevent rounding issues in gfxMatrix::ScaleFactors from combinging with timing issues to cause sporadic invalidation of transforming elements. r=roc 2013-05-13 00:12:19 +01:00
Masatoshi Kimura
761bf787f0 Bug 859018 - Remove the MSVC exemption for FAIL_ON_WARNINGS in layout. r=dbaron 2013-04-28 19:02:35 +09:00
Ryan VanderMeulen
5376b3dcca Backed out changeset 4a55715677d7 (bug 856807) for intermittent Linux32 reftest-ipc timeouts. 2013-04-19 11:17:21 -04:00
Robert O'Callahan
2817c39fd2 Bug 862180. Part 2: Rename nsDisplayItem::GetUnderlyingFrame() to Frame(). r=mattwoodrow 2013-04-20 00:02:13 +12:00
Robert O'Callahan
037af48e84 Bug 862180. Part 1: Remove null checks on the result of nsDisplayItem::GetUnderlyingFrame(). r=mattwoodrow 2013-04-20 00:01:41 +12:00
Robert O'Callahan
223146b735 Bug 856807. Add apparently-pointless call to SetClipRect(nullptr) to avoid Android regression. r=mattwoodrow 2013-04-19 22:04:04 +12:00
Jonathan Watt
082ba25ac4 Bug 861805 - Stop layers from snapping transforms for SVG content. r=roc 2013-04-15 13:30:28 +01:00
Robert O'Callahan
7cbe6380ff Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
Robert O'Callahan
7fde7ae78c Bug 841192. Part 3: Make DisplayItemClip members private and encapsulate them in a real API. r=mattwoodrow
--HG--
extra : rebase_source : d6076e123603de9a1c48681f527719cd41b09883
2013-03-04 22:56:00 +13:00
Robert O'Callahan
74c9caea47 Bug 841192. Part 2: Move FrameLayerBuilder::Clip to DisplayItemClip. r=mattwoodrow
--HG--
extra : rebase_source : 2950e5dd64e217a406ede2dc9f6682b5e0540975
2013-03-04 22:55:59 +13:00
Nicholas Cameron
90c04a5e03 Bug 856272; don't round our mask size too early so we get a proper transform for small surfaces. r=roc 2013-04-05 16:16:38 +13:00
Matt Brubeck
11834fef4e Back out 795e9ec338a7 (bug 856272) because of test failures 2013-04-04 17:40:16 -07:00
Nicholas Cameron
04b8d0946c Bug 856272; don't round our mask size too early so we get a proper transform for small surfaces. r=roc 2013-04-05 12:42:14 +13:00
Matt Woodrow
02007e421a Bug 855233 - Recreate mask layers if the ContainerParameters offset changes. r=nrc 2013-04-04 15:59:24 +13:00
Robert O'Callahan
ec730ddcc9 Bug 852489. Part 9: Avoid temporarily setting a layer's visible region to a non-final value. r=mattwoodrow
We currently set the visible region on most container layers twice: once in
BuildContainerLayerFor, where we don't take clipping from ancestors into
account, and then later ProcessDisplayItems calls RestrictVisibleRegionForLayer
which does take ancestor clipping into account. This causes unnecessary
Mutated()s.

In this patch we partially fix this by forcing transform layers to take
account of their ancestor clipping when they set the visible region in
BuildContainerLayerFor. For those layers we don't need to apply
ancestor clipping in ProcessDisplayItems. This is done in a rather
ugly way, by passing the ancestor clip rect as an extra field of
ContainerParameters. To preserve the optimization that prerendered
elements are treated as fully visible regardless of ancestor clipping,
we have to add a flag to turn that clipping off in BuildContainerLayerFor.

In bug 841192 we will be able to fix this in a much nicer way, because we can
get the ancestor clip directly off the nsDisplayItem passed to
BuildContainerLayerFor. But this approach is needed for the B2G18 branch.

--HG--
extra : rebase_source : 26fbe55db84ab96e1e358b8803b0563f42590836
2013-03-22 15:17:29 +13:00
Robert O'Callahan
1cda36613a Bug 852489. Part 6: Don't temporarily reset clip when recycling Thebes/Image/ColorLayers. r=mattwoodrow
--HG--
extra : rebase_source : 28ac0c65edef8d2f0de2e79003370520066508e7
2013-03-22 15:17:29 +13:00
Robert O'Callahan
9c2443b17a Bug 852489. Part 5: Don't temporarily reset clip rect when reusing an existing layer. r=mattwodrow
--HG--
extra : rebase_source : 65ace15a404e25e14c02e514077997554d36f092
2013-03-22 15:17:29 +13:00
Robert O'Callahan
11da332212 Bug 852489. Part 4: Don't call RepositionChild if the layer is already in the right position. r=mattwoodrow
--HG--
extra : rebase_source : 1a3be842c65ab00dc7a72361e522e5343e5de967
2013-03-22 15:17:29 +13:00
Benoit Girard
fc10a7cfe4 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 6ea7c660764a4390cdd8dd91561fff1d7bad6035
2013-03-18 15:25:50 +01:00
Benoit Girard
9d12529d78 Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Matt Woodrow
667dc0c39c Bug 822086 - Don't build ContainerLayers that would have a singular matrix. r=roc 2013-03-21 15:33:00 +13:00
Robert O'Callahan
3f62f02bdc Bug 846901 - Support prerendering elements with animated transforms that are offscreen but only by a small amount. r=mattwoodrow 2013-03-19 09:08:29 -04:00
Ed Morley
3be8543796 Backed out changeset e8ffcf4b8e22 (bug 846901) 2013-03-19 14:15:07 +00:00
Robert O'Callahan
e0e3473650 Bug 846901 - Support prerendering elements with animated transforms that are offscreen but only by a small amount. r=mattwoodrow 2013-03-19 09:08:29 -04:00
Ed Morley
b2109c458f Backed out changeset c75481a07302 (bug 851611) 2013-03-18 14:10:35 +00:00
Ed Morley
2b1775b4e9 Backed out changeset d195190adc48 (bug 851611)
--HG--
rename : tools/profiler/GeckoProfiler.h => tools/profiler/sampler.h
rename : tools/profiler/GeckoProfilerImpl.h => tools/profiler/sps_sampler.h
2013-03-18 14:10:30 +00:00
Benoit Girard
664cf994b4 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 552fe1d3ff61d15b264aaf86f7c8cb4f4eff69d1
2013-03-18 14:41:02 +01:00
Benoit Girard
c4c6a0ddf5 Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
Paul Rouget
38a173fccd Bug 847890 - paint flashing for content only. r=roc 2013-03-12 11:01:00 -07:00
Ed Morley
6a8c65a07f Backed out changeset eaf182f23c3a (bug 847890) for failures in test_bug847890_paintFlashing.html on a CLOSED TREE 2013-03-13 10:06:34 +00:00
Paul Rouget
09f83d1399 Bug 847890 - paint flashing for content only. r=roc 2013-03-12 11:01:00 -07:00
Matt Woodrow
7876915769 Bug 846971 - Don't create layers that are scaled to 0. r=roc 2013-03-06 09:04:40 +13:00
Robert O'Callahan
ff837639e6 Bug 845526 - Limit complexity of invalid region in RemoveFrameFromLayerManager. r=mattwoodrow 2013-03-02 12:21:00 -05:00
Ed Morley
8040985ec5 Backed out changeset 05c35dc73323 (bug 845526) 2013-02-27 12:49:29 +00:00
Robert O'Callahan
bffb159b08 Bug 845526. Limit complexity of invalid region in RemoveFrameFromLayerManager. r=mattwoodrow
--HG--
extra : rebase_source : ca0a1d7928c991604d5979bcf35b4fcea462c31a
2013-02-27 16:05:32 +13:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Anthony Jones
3c191a8ead Bug 825808 - Fix animations by marking transforms as not fixed. r=roc 2013-01-12 15:48:55 -05:00
Nicholas Cameron
3ad3f5b421 Bug 824454; use the resolution scale in OMTA transforms. r=cjones; a=blocking-basecamp
--HG--
extra : rebase_source : 8f045dd319418b771c5f31ca2f3477ab5673a5ad
2013-01-08 10:39:12 +01:00
Nicholas Cameron
9b79ff5d5b Bug 822231; use the maximum scale for animated scaling. r=roc 2012-12-21 16:58:17 -05:00
Justin Lebar
326d9f9fdf Bug 819791 - Part 8: Use explicit TArray copy constructors in FrameLayerBuilder. r=roc 2012-12-18 20:16:06 -05:00
Matt Woodrow
35435d86a2 Bug 821995 - Revert an incorrect change to matrix multiplication in ChooseScaleAndSetTransform. r=roc 2012-12-18 18:58:44 +13:00
Jeff Walden
7146c23e80 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Matt Woodrow
f995da7b0f Backout changeset 3ba90f85653a (Bug 805343) for regressing android talos tests 2012-12-14 11:51:00 +13:00
Matt Woodrow
5c2d424a58 Backout changeset e8f5182d94c5 (Bug 805343) for regressing android talos tests 2012-12-14 11:50:57 +13:00
Matt Woodrow
1bc8a88aa8 Bug 820541 - Only call ProcessRemovedDisplayItems once per transaction. r=roc 2012-12-13 09:47:05 +13:00
Robert O'Callahan
2e8615df8f Bug 663776. Part 1: When determining whether the scale factors hav changed, we need to use GetBaseTransform for the old scale factors, because that's what stores the old transform that we computed scale factors from. r=mattwoodrow
--HG--
extra : rebase_source : 48be38242fa6bf51644dc45a804dd834e7eb97b7
2012-12-07 12:58:12 +13:00
Nicholas Cameron
2b16f074f3 Bug 782368; undo patch from 780868. r=mattwoodrow
--HG--
extra : rebase_source : 6eb5a907d4e1eafa6bc7c6dd5d185c28a4c248be
2012-12-12 10:57:52 +13:00
Matt Woodrow
16aadb5e5c Bug 806099 - Use the 'best' active scrolled root when flattening layers, even if it isn't an ancestor of all display items. r=roc 2012-12-12 09:36:22 +13:00
Robert O'Callahan
4f25ab855f Bug 805343. Part 2: Update FrameLayerBuilder::HasVisibleRetainedDataFor to account for occluded display items. r=mattwoodrow
--HG--
extra : rebase_source : 293895627ef5f37c508a23fe9e9a5639527aafcc
2012-12-10 18:49:17 +13:00
Robert O'Callahan
7aebe60cc1 Bug 805343. Identify DisplayItemDatas that are completely hidden by other opaque content in their ThebesLayer, and ignore them when we check to see whether there's an image we might need to invalidate. r=mattwoodrow
--HG--
extra : rebase_source : 7e68dc33324d8ff26286723bdbaaea18060354ac
2012-12-10 18:47:33 +13:00
Robert O'Callahan
06e395c355 Bug 818643. Issue an NotifyRenderingChanged callback on nsDisplayItems when we invalidate anything to do with the display item. Make nsDisplayCanvasBackground override NotifyRenderingChanged to invalidate the cached background image. r=mattwoodrow
--HG--
extra : rebase_source : c28b2804d647a991f7d2cb8167fcf039c1835d75
2012-12-10 18:34:31 +13:00
Ed Morley
e987323650 Backout 55d5f3cd5c85, d89ae7f40549 & 270391fca858 (bug 663776) for assertions 2012-12-07 12:37:36 +00:00
Robert O'Callahan
744c20ef54 Bug 663776. Part 1: When determining whether the scale factors hav changed, we need to use GetBaseTransform for the old scale factors, because that's what stores the old transform that we computed scale factors from. r=mattwoodrow 2012-12-07 12:58:12 +13:00
Karl Tomlinson
b14cf687ae b=786100 consider display item snap when hunting uniform background color r=roc
--HG--
extra : transplant_source : P%7CO%27%D3%E6%B6-eX%BF%AAw%EA%D1.%B8j%D9%2C
2012-12-05 15:53:17 +13:00
Matt Woodrow
521e6f100b Bug 810302 - When flattening layers together to avoid component alpha, attempt to pick the 'best' active scrolled root to minimize invalidation during scrolling. r=roc 2012-12-04 19:05:22 +13:00
Matt Woodrow
e3e63818cc Bug 812107 - Don't attempt to do scroll compensation in FrameLayerBuilder for transformed containers. r=roc 2012-12-04 19:04:20 +13:00
Kartikaya Gupta
268082eeb3 Bug 814418 - Fix some warnings about unused variables. r=ehsan 2012-11-30 11:06:37 -05:00
Robert O'Callahan
4fd3be0cc7 Bug 815593. Don't layerize images that exceed MaxTextureSize. r=mattwoodrow
--HG--
extra : rebase_source : f94300b24b90d063df095324663c9d8fa49e42e9
2012-11-28 15:34:45 +13:00
Matt Woodrow
7c2f1cdf21 Bug 796847 - Make AdjustInvalidAreaForSVGEffects correctly adjust for the coordinate space of the input rect. r=dholbert 2012-11-28 17:06:07 +13:00
Matt Woodrow
27cfdfd6b4 Bug 802385 - Never flatten component alpha layers when compositing with an accelerated layer manager. r=roc 2012-11-22 18:34:32 +13:00
Matt Woodrow
989deb978d Bug 810275 - Remove the inactive layer tree offset when compute the active scrolled root position. r=roc 2012-11-22 18:33:37 +13:00