Robert O'Callahan
815af71a46
Bug 1022612. Part 37: Remove aAllowVisibleRegionExpansion. r=mattwoodrow
...
This is no longer needed thanks to the readback simplification.
--HG--
extra : rebase_source : 659147670395fefe41647daab8af93f6c439a99c
2014-06-23 16:24:51 +12:00
Robert O'Callahan
06102a099d
Bug 1022612. Part 33: Remove InFixedPos code. r=mattwoodrow
...
This hasn't been used for a while I guess.
--HG--
extra : rebase_source : d59328f96a11cc65e141c75475c09edac5d42af2
2014-06-23 16:24:14 +12:00
Robert O'Callahan
b2460097a3
Bug 1022612. Part 32: Remove nsDisplayItem::SetVisibleRegionOnLayer. r=mattwoodrow
...
It is no longer called because FrameLayerBuilder always sets the visible
regions on layers now.
--HG--
extra : rebase_source : b6c375fbbaeb79e7332cb55bdda9943bc1ee7f3c
2014-06-23 16:24:14 +12:00
Robert O'Callahan
808792d22f
Bug 1022612. Part 30: Expose IsConstructingScrollLayerForScrolledFrame and IsDisplayPortOpaque on nsDisplayScrollLayer. r=mattwoodrow
...
--HG--
extra : rebase_source : 87d76ad3e9d560f34dad56c25cb96516871e280a
2014-06-23 16:23:58 +12:00
Robert O'Callahan
4ee42acd8c
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 : 4518bc060fa2c28dacdb7d3aaeca55a148dfe762
2014-06-18 15:12:55 +12:00
Robert O'Callahan
a438107cde
Bug 1022612. Part 24: Simplify nsDisplayList::ComputeVisibilityForSublist now that FrameLayerBuilder does most of the work. r=mattwoodrow
...
--HG--
extra : rebase_source : 0db68211898c111a465dc641bed8e3b2923f0e4e
2014-06-09 16:48:02 +12:00
Robert O'Callahan
f00b9f098c
Bug 1022612. Part 23: Remove nsDisplayItem::IsVaryingRelativeToMovingFrame. r=mattwoodrow
...
It's obsolete and no-one calls it.
--HG--
extra : rebase_source : f07121d1e5766d7b2a0ecdc2d10bc3ccf587a14b
2014-06-09 16:48:02 +12:00
Robert O'Callahan
b767cf2502
Bug 1022612. Part 22: Add MOZ_COUNT_CTOR to nsDisplayWrapList. r=mattwoodrow
...
--HG--
extra : rebase_source : 09252e01de90bd3e5c0cb77de80ee88e24b85f05
2014-06-09 16:48:01 +12:00
Robert O'Callahan
de781d04dc
Bug 1022612. Part 21: Remove DidComputeVisibility checking. r=mattwoodrow
...
--HG--
extra : rebase_source : 31b54ea4998ddc6fa62369f9f943b4c751101cad
2014-06-09 16:48:01 +12:00
Robert O'Callahan
6fb1dbced3
Bug 1022612. Part 20: Do the business. r=mattwoodrow
...
--HG--
extra : rebase_source : c13789e08893c3ac7745aa32c9002b6edb6e2192
2014-06-09 16:48:01 +12:00
Robert O'Callahan
7632a9b8c6
Bug 1022612. Part 15: Add nsDisplayItem::GetVisibleRectForChildren(). r=mattwoodrow
...
--HG--
extra : rebase_source : cf958f41493ab25762f0c3bcc0361b0810e88549
2014-07-15 23:47:46 +12:00
Robert O'Callahan
60c38334c4
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 : fa23d4980710a3961f23cedf3ebdf01b49d63518
2014-06-09 16:48:00 +12:00
Robert O'Callahan
ef4dbca93e
Bug 1022612. Part 13: Set mDidComputeVisibility in ProcessDisplayItems. r=mattwoodrow
...
--HG--
extra : rebase_source : c17d6f4c83b9a47c8d3158203ebe0cbff8d2d313
2014-07-07 17:46:28 +12:00
Robert O'Callahan
5abf69fdfb
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 : 947fe7bfe8729703ebd46288dfa29f0935fadf87
2014-06-09 16:48:00 +12:00
Robert O'Callahan
f454ea8959
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 : a3cf9106703d4946a49a73ef60a605f72b2afee3
2014-06-09 16:48:00 +12:00
Robert O'Callahan
bb2fc8e625
Bug 1022612. Part 8: nsDisplayWrapList (but not subclasses) should return true for ShouldFlattenAway. r=mattwoodrow
...
Also the assertion in TryMerge is going away because we're going to do TryMerge
first in FrameLayerBuilder.
--HG--
extra : rebase_source : de8a1a620279182bf5e33165aa9bbe9a74c08a73
2014-06-09 16:47:59 +12:00
Robert O'Callahan
a7afb232a3
Bug 1022612. Part 6: Set the initial mVisibleRect for each display item to the dirty rect when we create the item. r=mattwoodrow
...
--HG--
extra : rebase_source : b3207861e7476e954a8869a8b2d74e642ea6e56b
2014-06-09 16:47:59 +12:00
Robert O'Callahan
b928ef8d93
Bug 1022612. Part 4: Track current dirty rect in nsDisplayListBuilder. r=mattwoodrow
...
We need this to set the initial visible rect during display list construction.
Eventually we'll also be able to get rid of the dirty rect parameter to
nsIFrame::BuildDisplayList.
--HG--
extra : rebase_source : b793c7d51917b85ea2a5f39993bc1fec24b49d04
2014-05-20 15:59:14 +12:00
Robert O'Callahan
2f1bbefcfd
Bug 1022612. Part 3: Rename "cached frame" to "current frame" in nsDisplayListBuilder and take advantage of the fact it's always set. r=mattwoodrow
...
--HG--
extra : rebase_source : cde43a3f358fbb0991ed84d10fc4e1a0de255e9c
2014-05-20 15:49:54 +12:00
Robert O'Callahan
3baea5dd36
Bug 1022612. Part 2: Remove unused nsDisplayWrapList constructor. r=mattwoodrow
...
--HG--
extra : rebase_source : 724f95df1dec4a8c7e1a136e029b06e56eb7202f
2014-05-20 15:08:20 +12:00
Robert O'Callahan
8d8168a588
Bug 1022612. Part 1: Always pass a frame to AutoBuildingDisplayList. r=mattwoodrow
...
--HG--
extra : rebase_source : 7ae8b6e75e0ceeda8afd214e9792a915a21928e3
2014-05-20 15:08:18 +12:00
Ryan VanderMeulen
df23fd9dde
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
Carsten "Tomcat" Book
90cdb8090f
Backed out changeset 87ae841e4f92 (bug 1021564) for crashtest failures/assertions on a CLOSED TREE
2014-07-17 16:12:46 +02:00
Markus Stange
957c1797d3
Bug 1021564 - Invalidate filtered frames when they move in certain ways. r=roc
2014-07-17 14:58:24 +02:00
Robert O'Callahan
ca7cf8e3ba
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
666d0f69a2
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
72f7632627
Bug 1022612. Part 37: Remove aAllowVisibleRegionExpansion. r=mattwoodrow
...
This is no longer needed thanks to the readback simplification.
--HG--
extra : rebase_source : 5c288eec4f5af7b40e6e2545198000fb6e326c25
2014-06-23 16:24:51 +12:00
Robert O'Callahan
71a35072a2
Bug 1022612. Part 33: Remove InFixedPos code. r=mattwoodrow
...
This hasn't been used for a while I guess.
--HG--
extra : rebase_source : 2f1d090404040d53af34fdf129323f0ef725fc70
2014-06-23 16:24:14 +12:00
Robert O'Callahan
7abc34bc0f
Bug 1022612. Part 32: Remove nsDisplayItem::SetVisibleRegionOnLayer. r=mattwoodrow
...
It is no longer called because FrameLayerBuilder always sets the visible
regions on layers now.
--HG--
extra : rebase_source : e5a4d2985c055b3d53137e0bb4822961dbf57408
2014-06-23 16:24:14 +12:00
Robert O'Callahan
1c7e576bdb
Bug 1022612. Part 30: Expose IsConstructingScrollLayerForScrolledFrame and IsDisplayPortOpaque on nsDisplayScrollLayer. r=mattwoodrow
...
--HG--
extra : rebase_source : 0c93329b450dbf046a4a1a30cd32b1896f5b233f
2014-06-23 16:23:58 +12:00
Robert O'Callahan
a5f94f9666
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
147ce5c12a
Bug 1022612. Part 24: Simplify nsDisplayList::ComputeVisibilityForSublist now that FrameLayerBuilder does most of the work. r=mattwoodrow
...
--HG--
extra : rebase_source : be5f97d69f41cf00eaf02d0292d4630a8721952d
2014-06-09 16:48:02 +12:00
Robert O'Callahan
c680be18b6
Bug 1022612. Part 23: Remove nsDisplayItem::IsVaryingRelativeToMovingFrame. r=mattwoodrow
...
It's obsolete and no-one calls it.
--HG--
extra : rebase_source : 588144666e7abac06c19bfa5d1d3f41589bdd988
2014-06-09 16:48:02 +12:00
Robert O'Callahan
c4e7f391f8
Bug 1022612. Part 22: Add MOZ_COUNT_CTOR to nsDisplayWrapList. r=mattwoodrow
...
--HG--
extra : rebase_source : fd4ab8981669d3bf9e2c75d03e88590abb0c7ca1
2014-06-09 16:48:01 +12:00
Robert O'Callahan
8031d664e1
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
d5174e2937
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
7929f2e6de
Bug 1022612. Part 15: Add nsDisplayItem::GetVisibleRectForChildren(). r=mattwoodrow
...
--HG--
extra : rebase_source : 79f4ee133e464d10c82efc78e42ea6dbcb2571c1
2014-07-15 23:47:46 +12:00
Robert O'Callahan
527a62cc6b
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
2d1cc777ee
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
4c7064adf3
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
d143dbdffc
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
Robert O'Callahan
c73a88b148
Bug 1022612. Part 8: nsDisplayWrapList (but not subclasses) should return true for ShouldFlattenAway. r=mattwoodrow
...
Also the assertion in TryMerge is going away because we're going to do TryMerge
first in FrameLayerBuilder.
--HG--
extra : rebase_source : 62594931ff461dc1ae2c744531252d2b3c696ca0
2014-06-09 16:47:59 +12:00
Robert O'Callahan
86266739a4
Bug 1022612. Part 6: Set the initial mVisibleRect for each display item to the dirty rect when we create the item. r=mattwoodrow
...
--HG--
extra : rebase_source : 4d02f7c14c548a614cb0fd3764cab2d3060989f3
2014-06-09 16:47:59 +12:00
Robert O'Callahan
01c0570dad
Bug 1022612. Part 4: Track current dirty rect in nsDisplayListBuilder. r=mattwoodrow
...
We need this to set the initial visible rect during display list construction.
Eventually we'll also be able to get rid of the dirty rect parameter to
nsIFrame::BuildDisplayList.
--HG--
extra : rebase_source : d846866a6128bb96903e45e6bd08ef67033bf701
2014-05-20 15:59:14 +12:00
Robert O'Callahan
763ac99e28
Bug 1022612. Part 3: Rename "cached frame" to "current frame" in nsDisplayListBuilder and take advantage of the fact it's always set. r=mattwoodrow
...
--HG--
extra : rebase_source : c345a38551ccc2ba40ca4559e599845b5d83f952
2014-05-20 15:49:54 +12:00
Robert O'Callahan
56c0eda886
Bug 1022612. Part 2: Remove unused nsDisplayWrapList constructor. r=mattwoodrow
...
--HG--
extra : rebase_source : 5a93b63b19a502f2030331cb77aea8708bb11238
2014-05-20 15:08:20 +12:00
Robert O'Callahan
1c5bf642e5
Bug 1022612. Part 1: Always pass a frame to AutoBuildingDisplayList. r=mattwoodrow
...
--HG--
extra : rebase_source : c4b566cc8244b4286b49e3c1c6345b03b22b36b1
2014-05-20 15:08:18 +12:00
Carsten "Tomcat" Book
b634b7bc83
Backed out changeset e5bacdd4594c (bug 1022612) for bustage on a CLOSED TREE
2014-07-15 10:31:12 +02:00
Carsten "Tomcat" Book
6132d68cb0
Backed out changeset 4e502d50b8e1 (bug 1022612)
2014-07-15 10:30:51 +02:00
Carsten "Tomcat" Book
9ee30b1afa
Backed out changeset 18ffe0bb4d42 (bug 1022612)
2014-07-15 10:30:49 +02:00
Carsten "Tomcat" Book
3876ec672e
Backed out changeset cdaa916f6851 (bug 1022612)
2014-07-15 10:30:47 +02:00
Carsten "Tomcat" Book
44b787c2c2
Backed out changeset 1ad096055f1d (bug 1022612)
2014-07-15 10:30:44 +02:00
Carsten "Tomcat" Book
87631b62a6
Backed out changeset 5ebd2f6b65a6 (bug 1022612)
2014-07-15 10:30:41 +02:00
Carsten "Tomcat" Book
26a5361c4e
Backed out changeset 3bf33a32bfe0 (bug 1022612)
2014-07-15 10:30:38 +02:00
Carsten "Tomcat" Book
6592473bee
Backed out changeset 75fffcce9c4d (bug 1022612)
2014-07-15 10:30:36 +02:00
Carsten "Tomcat" Book
5382bc5788
Backed out changeset 121bf69509b1 (bug 1022612)
2014-07-15 10:30:33 +02:00
Carsten "Tomcat" Book
01edcafbed
Backed out changeset e95971991caa (bug 1022612)
2014-07-15 10:30:32 +02:00
Carsten "Tomcat" Book
69f40e9ed0
Backed out changeset 032ba47c6684 (bug 1022612)
2014-07-15 10:30:21 +02:00
Carsten "Tomcat" Book
00bffdd365
Backed out changeset c081917e5626 (bug 1022612)
2014-07-15 10:30:19 +02:00
Carsten "Tomcat" Book
b004dd4d30
Backed out changeset f67228df9ae0 (bug 1022612)
2014-07-15 10:30:18 +02:00
Carsten "Tomcat" Book
4169dca7be
Backed out changeset f5ec6bcf251f (bug 1022612)
2014-07-15 10:30:16 +02:00
Carsten "Tomcat" Book
95251d074c
Backed out changeset f89950384bf2 (bug 1022612)
2014-07-15 10:30:13 +02:00
Carsten "Tomcat" Book
f43cac8d8b
Backed out changeset f9564f9f4648 (bug 1022612)
2014-07-15 10:30:11 +02:00
Carsten "Tomcat" Book
25305bfd99
Backed out changeset 233345d8ffc6 (bug 1022612)
2014-07-15 10:30:06 +02:00
Carsten "Tomcat" Book
0a844f1134
Backed out changeset 21d141d01c97 (bug 1022612)
2014-07-15 10:30:03 +02:00
Carsten "Tomcat" Book
dd3c6740f3
Backed out changeset 7e9751c1302a (bug 1022612)
2014-07-15 10:30:01 +02:00
Carsten "Tomcat" Book
1bf84a5f75
Backed out changeset 3de27f6dcd31 (bug 1022612)
2014-07-15 10:29:55 +02:00
Carsten "Tomcat" Book
632c366dbe
Backed out changeset f12d7d68b685 (bug 1022612)
2014-07-15 10:29:48 +02:00
Carsten "Tomcat" Book
75c3592ce0
Backed out changeset cc1776b2606d (bug 1022612)
2014-07-15 10:29:46 +02:00
Robert O'Callahan
420f0b3320
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
5a87f018a5
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
c34cc646b6
Bug 1022612. Part 37: Remove aAllowVisibleRegionExpansion. r=mattwoodrow
...
This is no longer needed thanks to the readback simplification.
--HG--
extra : rebase_source : 6dad4c34681c478f9d4bf4829723ff9542b9d083
2014-06-23 16:24:51 +12:00
Robert O'Callahan
98fa3132db
Bug 1022612. Part 33: Remove InFixedPos code. r=mattwoodrow
...
This hasn't been used for a while I guess.
--HG--
extra : rebase_source : 8087253453b58dc4ea52a040341ced4638ffd0a7
2014-06-23 16:24:14 +12:00
Robert O'Callahan
a487cf98f5
Bug 1022612. Part 32: Remove nsDisplayItem::SetVisibleRegionOnLayer. r=mattwoodrow
...
It is no longer called because FrameLayerBuilder always sets the visible
regions on layers now.
--HG--
extra : rebase_source : 6157f9e4a6822598242f6fc9c0abaf07258613d6
2014-06-23 16:24:14 +12:00
Robert O'Callahan
9a2fe1598a
Bug 1022612. Part 30: Expose IsConstructingScrollLayerForScrolledFrame and IsDisplayPortOpaque on nsDisplayScrollLayer. r=mattwoodrow
...
--HG--
extra : rebase_source : 0eddaa98dae6ba5e5b15b818716bafd1811f16db
2014-06-23 16:23:58 +12:00
Robert O'Callahan
ad7435d1e8
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
b81611baab
Bug 1022612. Part 26: nsDisplayList::mVisibleRect is no longer used. r=mattwoodrow
...
--HG--
extra : rebase_source : c5e3161afc622a1c297e9033593c0e7eac111f7d
2014-06-12 00:09:13 +12:00
Robert O'Callahan
c22109f8a2
Bug 1022612. Part 24: Simplify nsDisplayList::ComputeVisibilityForSublist now that FrameLayerBuilder does most of the work. r=mattwoodrow
...
--HG--
extra : rebase_source : 566019828bc5c021e15bb148accc4262c69232e1
2014-06-09 16:48:02 +12:00
Robert O'Callahan
c14ce84186
Bug 1022612. Part 23: Remove nsDisplayItem::IsVaryingRelativeToMovingFrame. r=mattwoodrow
...
It's obsolete and no-one calls it.
--HG--
extra : rebase_source : c9f65e4a062a4cc641de201c40b7755706a1afca
2014-06-09 16:48:02 +12:00
Robert O'Callahan
517e77700b
Bug 1022612. Part 22: Add MOZ_COUNT_CTOR to nsDisplayWrapList. r=mattwoodrow
...
--HG--
extra : rebase_source : 40d1dcc98c182d175cddff8fadf0084ad2f831a9
2014-06-09 16:48:01 +12:00
Robert O'Callahan
82ceeb14ea
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
22b63b6fb6
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
205642625c
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
2020b5417c
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
88afa39f1c
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
Robert O'Callahan
c91f9e0d02
Bug 1022612. Part 8: nsDisplayWrapList (but not subclasses) should return true for ShouldFlattenAway. r=mattwoodrow
...
Also the assertion in TryMerge is going away because we're going to do TryMerge
first in FrameLayerBuilder.
--HG--
extra : rebase_source : d6343f0a7cb26f9848c2d2b8d46bb1787d3ae632
2014-06-09 16:47:59 +12:00
Robert O'Callahan
cf334596a8
Bug 1022612. Part 6: Set the initial mVisibleRect for each display item to the dirty rect when we create the item. r=mattwoodrow
...
--HG--
extra : rebase_source : 23fb5aefd5de004ca89037724aff7b34e1a5864e
2014-06-09 16:47:59 +12:00
Robert O'Callahan
b0d7d68c7b
Bug 1022612. Part 4: Track current dirty rect in nsDisplayListBuilder. r=mattwoodrow
...
We need this to set the initial visible rect during display list construction.
Eventually we'll also be able to get rid of the dirty rect parameter to
nsIFrame::BuildDisplayList.
--HG--
extra : rebase_source : 1ba0444270986dd799a27e4373ca16525f3ced6c
2014-05-20 15:59:14 +12:00
Robert O'Callahan
5d97232957
Bug 1022612. Part 3: Rename "cached frame" to "current frame" in nsDisplayListBuilder and take advantage of the fact it's always set. r=mattwoodrow
...
--HG--
extra : rebase_source : 78a1f6886828d88d1a9d4e96d36d86846ebb845f
2014-05-20 15:49:54 +12:00
Robert O'Callahan
5c14e65d23
Bug 1022612. Part 2: Remove unused nsDisplayWrapList constructor. r=mattwoodrow
...
--HG--
extra : rebase_source : df4241bf3f2a646b45c8653c0e36f9eea1cf823e
2014-05-20 15:08:20 +12:00
Robert O'Callahan
022839c50e
Bug 1022612. Part 1: Always pass a frame to AutoBuildingDisplayList. r=mattwoodrow
...
--HG--
extra : rebase_source : c76f7af7e65a4e98dc3ee0a8309d0c05e02cf82e
2014-05-20 15:08:18 +12:00
Benoit Girard
99cc55b9f2
Bug 1024148 - Part 2: Merge nsDisplayOpacity into nsDisplayBackgroundColor. r=mattwoodrow
...
--HG--
extra : rebase_source : c48cc799414ff83b74caff8df5503a743dbf74b1
2014-06-14 11:10:45 -04:00
Benoit Girard
57bf9f52dd
Bug 1024148 - Part 1: Merge nsDisplayOpacity items together. r=mattwoodrow
...
--HG--
extra : rebase_source : f461cb97357c854db22122b40777358a17f736ec
2014-06-12 11:34:35 -04:00
Markus Stange
9038c72547
Bug 1013392 - Put APZ scrollbar annotations on the scrollbar thumb. r=roc
2014-06-04 14:44:26 +02:00
Markus Stange
81714ca17f
Bug 1018464 - Add nsDisplayItem::IsInvisibleInRect API to expose holes in display items. r=roc
...
--HG--
extra : rebase_source : 9f362283113c0ce925ca81c3613ac8c6d19dfebe
2014-06-03 14:48:16 +02:00
Mats Palmgren
a6feda0f22
Bug 508665 - part 1, Change the signature of SetParent/GetParent from nsIFrame* to nsContainerFrame*. r=roc
2014-05-24 22:20:39 +00:00
Matt Woodrow
a7a3cbd2ad
Bug 1013771 - Dump nsDisplayTransform transforms during display list dumping. r=roc
2014-05-22 14:36:26 +12:00
Wes Kocher
8f123848f9
Backed out changeset 91d280c835b2 (bug 1013771) for b2g osx build bustage
2014-05-21 20:00:33 -07:00
Matt Woodrow
405762e159
Bug 1013771 - Dump nsDisplayTransform transforms during display list dumping. r=roc
2014-05-22 14:36:26 +12:00
Markus Stange
b529d19860
Bug 1008915 - Reorder origin translations in order to avoid variations caused by insufficient floating point precision. r=mattwoodrow
2014-05-13 13:37:55 +02:00
Matt Woodrow
5aa1f5d7fe
Bug 950312 - Part 4: Create active layers for nsDisplayMixBlendMode and nsDisplayBlendContainer if the layer manager supports all contained blend mode. r=roc
2014-05-09 21:49:27 +12:00
Kartikaya Gupta
a15a9aedef
Bug 984460 - Fill in a missing piece of code to compute the right dirty rect in the face of CSS transforms. r=mattwoodrow
2014-04-23 09:26:52 -04:00
Robert O'Callahan
d34ff747ee
Bug 972713. Part 1: Make all callers of GetAnimatedGeometryRootFor pass a display item so we can stop searching when we reach the item's reference frame. r=mattwoodrow
...
This guarantees that the animated geometry root for an item is always in the
same display list coordinate system as the frame.
--HG--
extra : rebase_source : 974434342459b76d62d89fdc04c22c518bf0c58b
2014-02-18 14:26:57 +13:00
Kartikaya Gupta
1665cb02ce
Bug 982888 - Populate the scroll parent field as appropriate. r=
2014-04-11 19:39:22 -04:00
Botond Ballo
ce19e926e0
Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn
...
--HG--
extra : rebase_source : 6ceb20abb14f3e829ea06c3b3b911455cff9db23
2014-03-19 13:29:24 -04:00
Ryan VanderMeulen
5dd9653c16
Backed out 6 changesets (bug 982141) for Windows and OSX bustage. CLOSED TREE
...
Backed out changeset 16540ab2d2cb (bug 982141)
Backed out changeset 2ad9ce9d904e (bug 982141)
Backed out changeset af219bb49c06 (bug 982141)
Backed out changeset ffe51d96e86e (bug 982141)
Backed out changeset 6642718ad3bb (bug 982141)
Backed out changeset 95b341d26f7b (bug 982141)
2014-04-10 15:27:42 -04:00
Botond Ballo
b3150ff987
Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn
...
--HG--
extra : rebase_source : cecfe35b5407d6bbe1709eb0a2abf55ab8503c2d
2014-03-19 13:29:24 -04:00
Matt Woodrow
46c95fa93b
Bug 991046 - Combine the display item clips when we flatten an nsDisplayOpacity. r=roc
2014-04-09 14:28:38 +12:00
Timothy Nikkel
25725839ca
Bug 874950. Record on display items if they are inside a fixed position subtree. r=roc
2014-03-20 18:23:16 -05:00
Markus Stange
da8c6a19ca
Bug 926292 - Put overlay scrollbars on top of the topmost positioned descendant of the scrolled frame. r=mats
2014-03-20 10:12:46 +08:00
Chris Lord
c86d3f0149
Bug 874950 - Don't let fixed position content occlude displayports. r=tn
...
Don't let opaque fixed position items occlude display items that are in
display ports and thus may be asynchronously scrolled.
2014-03-17 23:39:59 +00:00
Matt Woodrow
0cb3a2793a
Bug 982812 - Use UpdateThemeGeometry for windows region clearing. r=mstange
2014-03-17 16:42:48 +08:00
Matt Woodrow
0304720ba9
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
Mike Conley
e5ef2f1eee
Backing out bug 940455 (36e45a68452b) for numerous regressions. r=bustage-fix.
2014-03-07 16:50:30 -05:00
Matt Woodrow
205af94a59
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
L. David Baron
143d4b266e
Bug 828173 patch 4: Expose AddAnimationsAndTransitionsToLayer and allow it to be called from style change handling. r=mattwoodrow
2014-03-04 20:13:21 -08:00
James Kitchener
b9c875a48c
Bug 975935 - nsDisplaymtdBorder needs to override GetBounds. r=bz
2014-03-03 10:37:08 -05:00
Timothy Nikkel
6fa728f68f
Bug 978542. If paint dumping is enabled at build time also enable frame dumping so we can get frame names in display list dumps. r=mattwoodrow
...
Also makes DidComputeVisibility available during non-debug painting so we can use it.
2014-03-02 16:22:29 -06:00
Timothy Nikkel
21fd864c46
Bug 959847. Part 10. Implement GetBounds, GetOpaqueRegion, and ShouldBuildLayerEvenIfInvisible for nsDisplaySubDocument items that are being used as scrollable layers like scroll layer items. r=roc
2014-02-27 16:01:54 -06:00
Timothy Nikkel
25c10ba585
Bug 959847. Part 9. Subdocument items for subdocuments that have displayports need to expand the visibility region. r=roc
2014-02-27 16:01:54 -06:00
Timothy Nikkel
7d49d25691
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
Timothy Nikkel
30c667bcf3
Bug 959847. Part 4. Call RecordFrameMetrics for subdocument layers. r=roc
...
We do this by creating a new display item type: nsDisplaySubDocument.
Original patch by Kartikaya Gupta <kgupta@mozilla.com>.
2014-02-27 16:01:53 -06:00
Matt Woodrow
6fa6614065
Bug 968555 - Don't create a stacking context for backface-visibility:hidden. r=dbaron
2014-02-27 15:57:45 +13:00
Timothy Nikkel
6fb059abcc
Bug 976370. Move overlay scrollbar display items above scroll layer items for the same scroll frame. r=roc
...
This has two desirable side effects. The first and more important is that it prevents a scrollbar item from sitting between scroll layer items and preventing them from merging into one and thus preventing the creation of an async scrollable layer. The second is that scrollbars should be on top of the content they are scrolling in general, and this will make that happen in more cases.
2014-02-24 23:42:11 -06:00
Arnaud Sourioux
e53280194e
Bug 974687 - Part 2: Fix more than 80cols issues caused by MOZ_OVERRIDE annotation. r=dholbert
2014-02-24 09:41:56 -05:00
Arnaud Sourioux
a127266e74
Bug 974687 - Part 1: Add about 300 MOZ_OVERRIDE in layout/. r=dholbert
2014-02-24 09:41:56 -05:00
Robert O'Callahan
0c22df2d8c
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
Robert O'Callahan
648ec3e0c8
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
7b54370bdc
Bug 972713. Part 1: Make all callers of GetAnimatedGeometryRootFor pass a display item so we can stop searching when we reach the item's reference frame. r=mattwoodrow
...
This guarantees that the animated geometry root for an item is always in the
same display list coordinate system as the frame.
--HG--
extra : rebase_source : 249fd847a2c08f8d0846d698cce9dd4681e38a98
2014-02-18 14:26:57 +13:00
Timothy Nikkel
6b6d8746ee
Bug 966510. Scroll frame display items are never opaque. r=roc
...
The content they contain may be moved, so any region that is opaquely covered at paint time may not be later.
This problem was made worse by bug 951467 because it made the bounds of the scroll layer item be the bounds of the scrollport is all cases (making it return wrong results even at paint time), instead of the bounds of the contained content (meaning the results would only be wrong after async scroll).
2014-02-10 04:56:30 -06:00
Timothy Nikkel
a3873c8033
Bug 962791. Fail to create a scrollable layer if it would cause incorrect clipping of absolutely position items. r=roc
...
We incorrectly wrap abs pos items, but not wrapping them leads to too many sites failing to create scrollable layers that we can't do that. So instead just fix the clipping issue for now until a more robust solution can be developed.
2014-02-03 23:16:20 -06:00
Matt Woodrow
ce740641cb
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
Matt Woodrow
5ead3a7c0c
Bug 952011 - Remove some nsLayoutUtils transform functions that are no longer needed. r=roc
2014-02-04 12:25:22 +13:00
Robert O'Callahan
7a45ea7b6c
Bug 946502. Part 4: Remove mStickyPosFrame. r=mattwoodrow
...
--HG--
extra : rebase_source : 71bcbd246cf6806196a3e64d32fdde169bddfa07
2014-01-04 18:14:27 +13:00
Robert O'Callahan
01f6728b16
Bug 946502. Part 2: Remove unimplemented, unused function. r=mattwoodrow
...
--HG--
extra : rebase_source : fbc4a398d1554ffc668a18bd667b6b90fdace15f
2013-12-18 00:19:31 +13:00
Matt Woodrow
a3449e66b6
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
Timothy Nikkel
e64b543f02
Bug 962505. Put the scroll frame and the scrolled frame in the display list dump for scroll layer items. r=mats
2014-01-26 16:09:06 -06:00
Timothy Nikkel
89b437d807
Bug 962505. When dumping display lists print the entire line at once so it works better with Fennec and b2g. r=mats
2014-01-26 16:07:08 -06:00
Timothy Nikkel
382342f71e
Bug 931028. Remove app units per pixel argument from nsDisplayTransform::GetTransform. r=mattwoodrow
...
All callers were using, and should only be using, the same value.
2014-01-20 00:56:55 -06:00
Robert O'Callahan
6947f1f4f7
Bug 945203. Part 4: Add nsDisplayEventRegions and build it when painting. r=mats
...
--HG--
extra : rebase_source : 26b71b6a18681e8fc48c6082c8df6263c1bd3739
2013-12-17 00:22:11 +13:00
Robert O'Callahan
2f559956a1
Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats
...
--HG--
extra : rebase_source : 59ce23c3ab81afc624921e4543fe48dd7ae47ce2
2013-12-18 18:37:24 +13:00
Phil Ringnalda
d12a89d025
Back out f55504b0184f (bug 950427) for mochitest-4 and mochitest-oth bustage (at least)
...
CLOSED TREE
2013-12-17 23:22:20 -08:00
Robert O'Callahan
4e5e1fbf10
Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats
2013-12-18 18:37:24 +13:00
Timothy Nikkel
9e366145a2
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
Chris Lord
fd192955fd
Bug 936500 - Always build layers for nsDisplayScrollLayer. r=tn
...
APZC information is associated with layers, and having those layers suddenly
disappear because they became occluded, or their displayports are off-screen
has undesired effects.
2013-12-13 19:37:34 +00:00
Cameron McCormack
ae655160b2
Bug 773296 - Part 16: Add a ref-counted list nsCSSValue unit and use it for tranform lists; hold a strong reference to one on nsStyleDisplay. r=dbaron
...
This adds a new eCSSUnit_SharedList type for nsCSSValue, which is a
reference counted object that contains an nsCSSValueList. We need this
so that nsStyleDisplay::mSpecifiedTransform can hold a strong reference
to a specified transform list value. When 'transform' is specified
using a variable reference, the resulting nsCSSValue does not stick
around in the Declaration object, so we wouldn't be guaranteed that
it lives long enough for nsStyleDisplay to keep referencing it.
2013-12-12 13:09:44 +11:00
Kartikaya Gupta
2b78585247
Bug 814435 - Annotate layers for scrollbars as such. r=tn, BenWa
2013-12-09 22:14:53 -05:00
Nicholas Cameron
e3cb6e45db
Bug 943110. Don't use fputc in display list/layers dumps. r=BenWa
2013-11-26 15:07:41 +13:00
Matt Woodrow
146de18587
Bug 941559 - Invalidate nsDislaySolidColor display items when their color changes. r=roc
2013-11-25 14:59:00 +13:00
Benoit Girard
a735170d84
Bug 942483 - Port paint-dumping to android/b2g. r=gal
2013-11-23 17:44:18 -05:00