Commit Graph

800 Commits

Author SHA1 Message Date
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
Markus Stange
86dfc92fb6 Bug 1016525 - Ignore empty rects in AddTransformedBoundsToRegion. r=roc 2014-05-28 11:47:07 +02:00
Birunthan Mohanathas
a575bd9831 Bug 869836 - Part 8: Use Append('c') instead of Append("c"). r=ehsan 2014-05-22 06:48:52 +03:00
Matt Woodrow
113fda8312 Bug 1013536 - Clip paint flashing area when using single-rect painting mode. r=Bas 2014-05-22 14:36:26 +12:00
Wes Kocher
b3644a81bf 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
777bba7d5f Bug 1009680 - Disable paint flashing for inactive layer contents. r=roc 2014-05-13 23:13:11 +02:00
Markus Stange
3563ac522a 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
7ada10540d Bug 1008301 - Add invalidation logging for layer scale change invalidations. r=roc 2014-05-12 21:37:21 +02:00
Wes Kocher
4bbc392aed 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
e20692b142 Bug 1008301 - Add invalidation logging for layer scale change invalidations. r=roc 2014-05-12 21:37:21 +02:00
Matt Woodrow
f7abd42747 Bug 938395 - Enable single rect painting for d3d10. r=Bas 2014-05-08 14:56:48 +12:00
Markus Stange
e808750884 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
40b99ad71c Bug 1000382 - Don't simplify the invalidation region before calling nsSVGIntegrationUtils::AdjustInvalidAreaForSVGEffects. r=roc 2014-04-24 10:25:17 +02:00
Markus Stange
fef708038e 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.
2014-04-24 10:18:11 +02:00
Timothy Nikkel
27b52e88bf 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
37a2ac98a2 Bug 987005 - Add comments to a condition in PopThebesLayerData(). r=roc 2014-04-22 16:27:44 +02:00
Robert O'Callahan
ddcc362ebb 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
Jonathan Watt
49cc83506a Bug 960524 - Get rid of Image::DeprecatedGetAsSurface (Moz2D migration). r=mattwoodrow 2014-04-10 09:49:53 +01:00
Jonathan Watt
f1105cf491 Bug 964731 - Convert ImageLayerD3D10 and CreateOptimalSurface/CreateOptimalMaskSurface to Moz2D. r=Bas 2014-04-10 09:49:49 +01:00
Daniel Holbert
b8061599e9 (no bug) Remove whitespace at end of line in FrameLayerBuilder. (whitespace-only, DONTBUILD) 2014-03-20 14:49:27 +08:00
Matt Woodrow
543350988c Bug 982812 - Use UpdateThemeGeometry for windows region clearing. r=mstange 2014-03-17 16:42:48 +08:00