Robert O'Callahan
000604a34b
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
f38b84a210
Bug 1022612. Part 21: Remove DidComputeVisibility checking. r=mattwoodrow
2014-06-09 16:48:01 +12:00
Robert O'Callahan
b041721ef9
Bug 1022612. Part 20: Do the business. r=mattwoodrow
2014-06-09 16:48:01 +12:00
Robert O'Callahan
fe6256f5a1
Bug 1022612. Part 15.5: Use GetVisibleRectForChildren instead of GetVisibleRect. r=mattwoodrow
2014-07-15 23:49:38 +12:00
Robert O'Callahan
52635b7c62
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
5aa84fc0a0
Bug 1022612. Part 13: Set mDidComputeVisibility in ProcessDisplayItems. r=mattwoodrow
2014-07-07 17:46:28 +12:00
Robert O'Callahan
073fce9b6a
Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
2014-06-09 16:48:00 +12:00
Robert O'Callahan
575e2220e8
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
49f0e4c35d
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
Carsten "Tomcat" Book
afb56000fb
Backed out changeset 3bf33a32bfe0 (bug 1022612)
2014-07-15 10:30:38 +02:00
Carsten "Tomcat" Book
1aa958d3bb
Backed out changeset 75fffcce9c4d (bug 1022612)
2014-07-15 10:30:36 +02:00
Carsten "Tomcat" Book
aeb4446778
Backed out changeset cc140abf7b17 (bug 1022612)
2014-07-15 10:30:35 +02:00
Carsten "Tomcat" Book
8a1801c435
Backed out changeset 121bf69509b1 (bug 1022612)
2014-07-15 10:30:33 +02:00
Carsten "Tomcat" Book
8cbe0173e7
Backed out changeset e95971991caa (bug 1022612)
2014-07-15 10:30:32 +02:00
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