Граф коммитов

622 Коммитов

Автор SHA1 Сообщение Дата
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