Commit Graph

920 Commits

Author SHA1 Message Date
Robert O'Callahan
21b91ec109 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
aa0649262d Bug 1022612. Part 41: Use itemType instead of calling GetType() again. r=mattwoodrow 2014-07-11 13:18:10 +12:00
Robert O'Callahan
d26d89d408 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
c40683e83e 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
c3ca54a25d 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
686672cfd0 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
89460546b7 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
f2d23aeeea Bug 1022612. Part 21: Remove DidComputeVisibility checking. r=mattwoodrow 2014-06-09 16:48:01 +12:00
Robert O'Callahan
9e2dab2fef Bug 1022612. Part 20: Do the business. r=mattwoodrow 2014-06-09 16:48:01 +12:00
Robert O'Callahan
dee0cd4561 Bug 1022612. Part 15.5: Use GetVisibleRectForChildren instead of GetVisibleRect. r=mattwoodrow 2014-07-15 23:49:38 +12:00
Robert O'Callahan
2e0072cfe2 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
e4425f16a2 Bug 1022612. Part 13: Set mDidComputeVisibility in ProcessDisplayItems. r=mattwoodrow 2014-07-07 17:46:28 +12:00
Robert O'Callahan
c44679289c Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow 2014-06-09 16:48:00 +12:00
Robert O'Callahan
16c125cbdd 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
a521d8328a 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
1fdc226af0 Bug 1039145 - Part 1: Clean up AreComponentAlphaLayersEnabled. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
48effa20b5 Bug 1023677 - Don't flatten active transform layers. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
a95a955d3d Bug 1023677 - Don't set mSupportComponentAlphaChildren unless we actually have them. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
7c92e0ade7 Bug 1023677 - Don't repeat layer building if there was only a single layer. r=roc 2014-07-18 18:48:22 +12:00
Carsten "Tomcat" Book
d10cdacc30 Backed out changeset 3c5f96882e6c (bug 1023677) 2014-07-18 10:45:29 +02:00
Carsten "Tomcat" Book
ae03105a25 Backed out changeset 84df2aaf5e2a (bug 1023677) 2014-07-18 10:45:27 +02:00
Carsten "Tomcat" Book
081b71c63e Backed out changeset d03cb12a166e (bug 1023677) 2014-07-18 10:45:26 +02:00
Carsten "Tomcat" Book
52a205ef04 Backed out changeset b049e0ae4d1d (bug 1039145) 2014-07-18 10:45:24 +02:00
Matt Woodrow
741db2aed5 Bug 1039145 - Part 1: Clean up AreComponentAlphaLayersEnabled. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
30ffd467c5 Bug 1023677 - Don't flatten active transform layers. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
d311dedd78 Bug 1023677 - Don't set mSupportComponentAlphaChildren unless we actually have them. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
9fde888037 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
c55b45acd3 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
6549ff77c2 Bug 1022612. Part 45: Increase region complexity limit for mDrawAboveRegion/mVisibleAboveRegion to fix scroll-rounding.html test failure. r=mattwoodrow 2014-07-17 15:41:06 +12:00
Robert O'Callahan
af19be11bf 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
83a6deb536 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
9d764909a5 Bug 1022612. Part 41: Use itemType instead of calling GetType() again. r=mattwoodrow 2014-07-11 13:18:10 +12:00
Robert O'Callahan
a00f1820c8 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
7d68b653f0 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
b84a327b96 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
021e41bf3f 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
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