Commit Graph

920 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
d03a773b87 Backed out changeset 2f6cb0f412f7 (bug 1022612) 2014-07-15 10:30:23 +02:00
Carsten "Tomcat" Book
db09bc5589 Backed out changeset 032ba47c6684 (bug 1022612) 2014-07-15 10:30:21 +02:00
Carsten "Tomcat" Book
ba4663e767 Backed out changeset f9564f9f4648 (bug 1022612) 2014-07-15 10:30:11 +02:00
Carsten "Tomcat" Book
b1b09a0564 Backed out changeset c413b946dbc4 (bug 1022612) 2014-07-15 10:30:09 +02:00
Carsten "Tomcat" Book
0099f57637 Backed out changeset f8b488c389e9 (bug 1022612) 2014-07-15 10:30:04 +02:00
Carsten "Tomcat" Book
6cdaec9099 Backed out changeset 6e190d419511 (bug 1022612) 2014-07-15 10:29:59 +02:00
Carsten "Tomcat" Book
59f3ef3e31 Backed out changeset e6be65e455a2 (bug 1022612) 2014-07-15 10:29:51 +02:00
Carsten "Tomcat" Book
9b6c86f5c2 Backed out changeset 5c1f3340c45f (bug 1022612) 2014-07-15 10:29:50 +02:00
Carsten "Tomcat" Book
c1f1ad44ef Backed out changeset f12d7d68b685 (bug 1022612) 2014-07-15 10:29:48 +02:00
Carsten "Tomcat" Book
8cad88aa9f Backed out changeset cc1776b2606d (bug 1022612) 2014-07-15 10:29:46 +02:00
Robert O'Callahan
5a3bacc2dd Bug 1022612. Part 43: Fix up SuppressComponentAlpha to allow component alpha in inactive layers over opaque parts of the chrome window. r=mattwoodrow 2014-07-15 16:23:37 +12:00
Robert O'Callahan
90cb6df76c Bug 1022612. Part 42: Add opaque regions of ThebesLayer content to the "exclude glass" region. r=mattwoodrow 2014-07-14 12:46:13 +12:00
Robert O'Callahan
b700b97da6 Bug 1022612. Part 41: Use itemType instead of calling GetType() again. r=mattwoodrow 2014-07-11 13:18:10 +12:00
Robert O'Callahan
62fa5085df Bug 1022612. Part 40: Restrict visible rect of 3D-transformed layers before converting to nsIntRect. r=mattwoodrow 2014-07-11 13:17:47 +12:00
Robert O'Callahan
744a6b157e 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.
2014-06-23 16:24:14 +12:00
Robert O'Callahan
24bb02aaa0 Bug 1022612. Part 31: Perform layer-level occlusion culling in FrameLayerBuilder. r=mattwoodrow
We need this to avoid constructing and painting unncecessarily large
ThebesLayers.
2014-06-23 16:24:00 +12:00
Robert O'Callahan
5dbd1652e8 Bug 1022612. Part 28: Make nsLayoutUtils::GetScrollableFrameFor return null for non-scrolled-frames. r=mattwoodrow 2014-07-09 10:12:41 +12:00
Robert O'Callahan
0b99c83012 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.
2014-06-18 15:12:55 +12:00
Robert O'Callahan
dfb53acb63 Bug 1022612. Part 21: Remove DidComputeVisibility checking. r=mattwoodrow 2014-06-09 16:48:01 +12:00
Robert O'Callahan
e0714bcb29 Bug 1022612. Part 20: Do the business. r=mattwoodrow 2014-06-09 16:48:01 +12:00
Robert O'Callahan
69bdf82c24 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.
2014-06-09 16:48:00 +12:00
Robert O'Callahan
7d11b80755 Bug 1022612. Part 13: Set mDidComputeVisibility in ProcessDisplayItems. r=mattwoodrow 2014-07-07 17:46:28 +12:00
Robert O'Callahan
033fff3861 Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow 2014-06-09 16:48:00 +12:00
Robert O'Callahan
d639a023f8 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.
2014-06-09 16:48:00 +12:00
Robert O'Callahan
3e75a284d0 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.
2014-06-09 16:48:00 +12:00
Matt Woodrow
86ffc9812d 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
27ad0c5e55 Bug 1027380 - Paint flashing from an inactive layer manager saturates the transparent layers. r=mattwoodrow 2014-06-19 14:22:17 -04:00
Ed Morley
5841a3457f Merge mozilla-central and inbound 2014-07-10 16:29:53 +01:00
Kartikaya Gupta
7e5b77f936 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
cd6ba4db18 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
d9593bb486 Bug 1035998 - Annotate painting with display item information. r=mattwoodrow 2014-07-09 15:11:51 -04:00
Matt Woodrow
7f04c55814 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
4d8b5b4300 Bug 1031948 - Cull points that have w <= 0 when untransforming layer coordinates. r=bjacob 2014-07-08 16:55:42 +12:00
Timothy Nikkel
8127cf3228 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
f28c01d696 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
2eb12c9651 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
b61ae274f5 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
07f7ea9ef4 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
Timothy Nikkel
906cda0db7 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
5bafaff53d Backed out changeset 5f35e9f7ad4a (bug 1026450) for B2G reftest failures; CLOSED TREE 2014-06-25 17:13:20 +01:00
Markus Stange
368704899f 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
3e17e44617 Bug 1025212 - Initialize 'last' to silence a static analyzer warning. r=dholbert 2014-06-24 17:52:18 +00:00
Jonathan Watt
f2402e81bb 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
203eaa2b8e 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
c36e97ca50 Bug 1027496 - Stream display list and layers dump. r=mattwoodrow 2014-06-19 18:36:25 -04:00
Jonathan Watt
f525c7d161 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
fdaa70bcb0 Bug 1006084 - Allow ThebesLayers to be recreated when the creation hint changes. r=mattwoodrow 2014-06-13 17:11:08 +01:00
Markus Stange
17c293e10c Fix a typo in a comment in ContainerState::FindThebesLayerFor. No bug, r=typo 2014-06-04 14:44:28 +02:00
Markus Stange
277c700ad9 Bug 1018464 - Make ContainerState::FindOpaqueBackgroundColorFor look through holes in display items. r=roc 2014-06-03 14:50:42 +02:00
Victor Porof
298ca2ed1b Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00