Commit Graph

194346 Commits

Author SHA1 Message Date
Robert O'Callahan
ca216442cf Bug 1022612. Part 36: Avoid redundant calls to ShouldPrerenderTransformedContent. r=mattwoodrow
--HG--
extra : rebase_source : 65430671c665a7cfdf7bab2593d6b8af33986d30
2014-06-23 16:24:15 +12:00
Robert O'Callahan
45d36e5828 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
182824d481 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
d841e9f6c6 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
659051ae25 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
9121e8fe38 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
5a959e4b09 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
b58d7f56a1 Bug 1022612. Part 29: Expose GetAnimatedGeometryRootForFrame. r=mattwoodrow
--HG--
extra : rebase_source : c7c0b06b7c0facf664657de33bf4931979ced7db
2014-06-23 16:21:42 +12:00
Robert O'Callahan
77245f6bd4 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
aef5eaece1 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
e8fe9d1dc7 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
f67a9ec557 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
7d4b604d3b 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
fdc7ee7b83 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
e810e4e83c 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
9f8695ff79 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
50ae0c3fcf 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
e2033d8c1a 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
cd280c928b 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
6c1814a971 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
d388546525 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
2c5cd68ffe 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
877d060771 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
83e047b4e3 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
6c2ae13c2c 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
0dfd170485 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
f6db07a39a 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
6c9f51cb6f 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
161128e0d4 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
22a706b872 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
080219004e 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
73d72d020d 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
7fd1e8f051 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
3cdebc3d5d 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
bae6b4724b 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
8e366fe4bf 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
0fb2c65aba 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
19b583139e 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
4f39f8a262 Backed out changeset 8ab800159525 (bug 948265) 2014-07-17 14:25:52 +02:00
Carsten "Tomcat" Book
6e52f878a7 Backed out changeset a5d4d7450d02 (bug 948265) 2014-07-17 14:25:48 +02:00
Marco Castelluccio
f95f42fd86 Bug 1039852 - Report error stack on INVALID_PACKAGE. r=fabrice 2014-07-17 14:09:07 +02:00
Olli Pettay
8a95213cde backout Bug 378775 because of several regressions, r=backout 2014-07-17 13:27:27 +03:00
Nicolas B. Pierron
3496d46720 Bug 992845 - Add Scalar replacement of objects with simplest escape analysis. r=jandem 2014-07-17 03:04:30 -07:00
Kartikaya Gupta
e7d6b75c35 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
f41482e9c9 Bug 1037532 - "mozversion should have documentation on how to use its API". r=wlachance 2014-07-16 12:56:00 +02:00
Bruce Sun
d01416c279 Bug 904177 - Add media.omx.async.enabled preference. r=sotaro, r=cpearce 2014-07-16 15:40:05 +08:00
Max Vujovic
c31b14afd3 Bug 948265 - Remove kPrimitiveIndexSourceAlpha since nsSVGFilterInstance creates ToAlpha filter nodes now. r=mstange 2014-07-15 11:50:00 +02:00
Max Vujovic
64388f83b5 Bug 948265 - Add public domain copyright notice to SVG filter chain tests. r=longsonr 2014-07-15 11:41:00 +02:00
Max Vujovic
0b690430d6 Bug 948265 - Support SourceAlpha keyword in SVG filter chains. r=mstange 2014-07-15 11:37:00 +02:00
Tooru Fujisawa
d46848570f Bug 1022962 - Part 2: Add test for function call inside default parameter. r=jorendorff 2014-07-16 15:05:00 +02:00