Commit Graph

194345 Commits

Author SHA1 Message Date
Robert O'Callahan
774c36220a Bug 1022612. Part 35: nsDisplayPluginReadback doesn't need to hack visible regions anymore. r=mattwoodrow
One nice bit of fallout from this bug is that handling plugin background
readback is simplified. We no longer have to fiddle with display item
visibility calculations; only layer occlusion culling has to know about
readback.

--HG--
extra : rebase_source : 5aafcb5496e3d60aea705768c28836267f848ec8
2014-06-23 16:24:14 +12:00
Robert O'Callahan
8fcbf3d715 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.

--HG--
extra : rebase_source : f729f754da18d7ce67577fc5b3ca065f2103e218
2014-06-23 16:24:14 +12:00
Robert O'Callahan
c699a0a54e 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
0429a5b71b 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
3525926b7b Bug 1022612. Part 31: Perform layer-level occlusion culling in FrameLayerBuilder. r=mattwoodrow
We need this to avoid constructing and painting unncecessarily large
ThebesLayers.

--HG--
extra : rebase_source : fd56072f7932fa9c39f314c4d95cdd0d1ad13de3
2014-06-23 16:24:00 +12:00
Robert O'Callahan
4ca3ae2330 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
640e81cf2e Bug 1022612. Part 29: Expose GetAnimatedGeometryRootForFrame. r=mattwoodrow
--HG--
extra : rebase_source : c7c0b06b7c0facf664657de33bf4931979ced7db
2014-06-23 16:21:42 +12:00
Robert O'Callahan
e3b8462562 Bug 1022612. Part 28: Make nsLayoutUtils::GetScrollableFrameFor return null for non-scrolled-frames. r=mattwoodrow
--HG--
extra : rebase_source : 93131947e0f16746f8c0158bbedcb6fc43683716
2014-07-09 10:12:41 +12:00
Robert O'Callahan
b550e89fa5 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
0675636198 Bug 1022612. Part 26: nsDisplayList::mVisibleRect is no longer used. r=mattwoodrow
--HG--
extra : rebase_source : 06557875f4b3b5143c426c1408599442d61f2de5
2014-06-12 00:09:13 +12:00
Robert O'Callahan
aca4d4feff Bug 1022612. Part 25: We don't need to explicitly worry about displayports anymore when computing occlusion. r=mattwoodrow
--HG--
extra : rebase_source : f4f15db168753f48e872b60fa8ea80c20c8f7761
2014-06-09 16:48:02 +12:00
Robert O'Callahan
8d413799e5 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
94918e780b 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
179df7a4f7 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
ef40de3fc2 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
a7f418ac28 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
06299265bb Bug 1022612. Part 19: Test that merged display item lists merge their contents in the correct z-order. r=mattwoodrow
Prior to this patch, the only tests that caught this were a couple of obscure
cases on B2G. This test tests it on all platforms.

--HG--
extra : rebase_source : 7748dde5aa0d51573acec9eb163f864beabefb3b
2014-07-07 17:46:29 +12:00
Robert O'Callahan
92755e79ad Bug 1022612. Part 18: When ComputeVisibility returns false, RecomputeVisibility should avoid painting the item. r=mattwoodrow
--HG--
extra : rebase_source : 31e8a9ff9419b4aca2743d41db74b5271aae32bf
2014-06-20 17:24:31 +12:00
Robert O'Callahan
89c9a53c1e Bug 1022612. Part 17: RecordFrameMetrics should not set layer visible regions. r=mattwoodrow
This is unnecessary. FrameLayerBuilder sets the correct region.

--HG--
extra : rebase_source : 45ed3e76905a37d1099af8dd907fa86061b5a867
2014-06-11 23:12:14 +12:00
Robert O'Callahan
cdd7b62b7c Bug 1022612. Part 16: No need to exclude final transparent region from window opaque region. r=mattwoodrow
The removed code should be a no-op as long as the window opaque region is
accurate enough.

--HG--
extra : rebase_source : ecdfdbd02fdf8df23a71514ada32a8d20926913f
2014-06-09 16:48:01 +12:00
Robert O'Callahan
46fc7f9136 Bug 1022612. Part 15.5: Use GetVisibleRectForChildren instead of GetVisibleRect. r=mattwoodrow
--HG--
extra : rebase_source : 67cd76ce64beff29af0a90db76e752585922ddab
2014-07-15 23:49:38 +12:00
Robert O'Callahan
9e398baf3b 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
7947f386fd 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
2abf8f847b 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
05127c94f7 Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : b7302f3457837f8308925ab67705e6279a80caf3
2014-06-09 16:48:00 +12:00
Robert O'Callahan
a213f11bc0 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
6092c9bf6a 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
940f6c6de3 Bug 1022612. Part 9: nsDisplayScrollInfoLayer destructor does not need to destroy ScrollLayerCount. r=mattwoodrow
Getting the timing of this right without processing display items in reverse
order is hard. But it doesn't matter if this property sticks around anyway.

--HG--
extra : rebase_source : 52cf25ce39a6ab38f89e0231ea044fdf3cac0a2d
2014-06-09 16:47:59 +12:00
Robert O'Callahan
3909a08cf6 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
02bea4736b Bug 1022612. Part 7: Enable APZC for IPC reftests. r=billm
--HG--
extra : rebase_source : 79e216bfb54db5df2c69b6e3c78fcd421cf5246b
2014-06-25 18:38:05 +12:00
Robert O'Callahan
f3d5561e9f 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
caf3b0f63b Bug 1022612. Part 5: BuildDisplayListForExtraPage needs to pass the correct dirty rect in. r=mattwoodrow
When printing, every page has the same origin. So doing this change naively
would result in the first page having all the display items for every page
added to it, and all but the first page's display items being pruned
away by PruneDisplayListForExtraPage. This would making printing long documents
very slow. We avoid that problem with the new check for
NS_FRAME_FORCE_DISPLAY_LIST_DESCEND_INTO, so the only pages other than the
current page we descend into are the ones with placeholders for abs-pos content
on the current page.

--HG--
extra : rebase_source : 29c7b2a43f4cb67b4c778851b18dba3e3e2ebd3d
2014-06-09 16:47:58 +12:00
Robert O'Callahan
9f0ddcc23a 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
7f4ae2181d 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
3fbc303c7a 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
315473f995 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
dc01687415 Backed out changeset b208f5144753 (bug 948265) for windows 7 debug Refest Crashes on a CLOSED TREE 2014-07-17 14:26:18 +02:00
Carsten "Tomcat" Book
c45209b087 Backed out changeset 8ab800159525 (bug 948265) 2014-07-17 14:25:52 +02:00
Carsten "Tomcat" Book
5346917654 Backed out changeset a5d4d7450d02 (bug 948265) 2014-07-17 14:25:48 +02:00
Marco Castelluccio
d39c5547b7 Bug 1039852 - Report error stack on INVALID_PACKAGE. r=fabrice 2014-07-17 14:09:07 +02:00
Olli Pettay
4a433a02f6 backout Bug 378775 because of several regressions, r=backout 2014-07-17 13:27:27 +03:00
Nicolas B. Pierron
573733ed95 Bug 992845 - Add Scalar replacement of objects with simplest escape analysis. r=jandem 2014-07-17 03:04:30 -07:00
Kartikaya Gupta
26d12a7184 Bug 1009733 - Follow-up to fix a logging-only build error. r=me and DONTBUILD because NPOTB 2014-07-17 05:58:48 -04:00
Arnav Sharma
3367b52344 Bug 1037532 - "mozversion should have documentation on how to use its API". r=wlachance 2014-07-16 12:56:00 +02:00
Bruce Sun
1a3f03656f Bug 904177 - Add media.omx.async.enabled preference. r=sotaro, r=cpearce 2014-07-16 15:40:05 +08:00
Max Vujovic
df83e29cef Bug 948265 - Remove kPrimitiveIndexSourceAlpha since nsSVGFilterInstance creates ToAlpha filter nodes now. r=mstange 2014-07-15 11:50:00 +02:00
Max Vujovic
5183b27846 Bug 948265 - Add public domain copyright notice to SVG filter chain tests. r=longsonr 2014-07-15 11:41:00 +02:00
Max Vujovic
09f849de4b Bug 948265 - Support SourceAlpha keyword in SVG filter chains. r=mstange 2014-07-15 11:37:00 +02:00
Tooru Fujisawa
c4c975d7b8 Bug 1022962 - Part 2: Add test for function call inside default parameter. r=jorendorff 2014-07-16 15:05:00 +02:00
Gabor Krizsanits
2d26e1168d Bug 1016875 - Part10: GetPrincipal for imports. r=mrbkap 2014-07-17 10:51:11 +02:00