Commit Graph

371252 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
e84d7a2c4b Backed out changeset 5c1f3340c45f (bug 1022612) 2014-07-15 10:29:50 +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
Carsten "Tomcat" Book
0350362d3a Backed out changeset 2b29602d9850 (bug 995519) for suspicion of causing Reftest 20 test failure on a CLOSED TREE 2014-07-15 10:21:36 +02:00
Marty Rosenberg
b04852c37c bug 991153: Fix float32 on arm to handle aliased registers (r=jandem) 2014-07-15 03:34:08 -04:00
Marty Rosenberg
69f53e7bf4 Bug 991153: Teach the MoveResolver how to deal with the more complex cycles that can result from aliased registers (r=sunfish) 2014-07-15 03:34:08 -04:00
Marty Rosenberg
d25552f18f no bug: Fix the spew that was messed up in a merge, and refactor control flow a bit (r=sunfish) 2014-07-15 03:34:07 -04: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
00a83c16c8 Bug 1022612. Part 41: Use itemType instead of calling GetType() again. r=mattwoodrow
--HG--
extra : rebase_source : 9531cbc73f01c49d22b81420c7cb3b206b6c26d4
2014-07-11 13:18:10 +12:00
Robert O'Callahan
c6860f73d0 Bug 1022612. Part 40: Restrict visible rect of 3D-transformed layers before converting to nsIntRect. r=mattwoodrow
--HG--
extra : rebase_source : 9d147c1adb92c17b19d259eef64557495c790b13
2014-07-11 13:17:47 +12:00
Robert O'Callahan
8d95ca7cf0 Bug 1022612. Part 39: Add a little bit of reftest fuzzing. r=mattwoodrow
--HG--
extra : rebase_source : b2941b4954318e0bd93d24d7f2d4e054c0844d8a
2014-07-07 17:46:56 +12:00
Robert O'Callahan
f0cfc74865 Bug 1022612. Part 38: Avoid test failure due to antialiased pixel leakage. r=mattwoodrow
--HG--
extra : rebase_source : 00d95d307f79720a7b597cc8ca61b40bfaa85584
2014-07-07 17:46:56 +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
b1680b04d5 Bug 1022612. Part 36: Avoid redundant calls to ShouldPrerenderTransformedContent. r=mattwoodrow
--HG--
extra : rebase_source : 127a28cb37dd1953a5eb593ba4b40645c138866f
2014-06-23 16:24:15 +12:00
Robert O'Callahan
e1d3ea91be 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 : c735f4cb964d659b6778f5b43fa2e2b4c8f83933
2014-06-23 16:24:14 +12:00
Robert O'Callahan
f71690efa1 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 : df909f3a9d6eabdb3d83a7770d090068ecca2686
2014-06-23 16:24:14 +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
d43195c660 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 : 38cbd0b0dd7724cfdb98f3e215bd0f220a687f3c
2014-06-23 16:24:00 +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
4f27c04989 Bug 1022612. Part 29: Expose GetAnimatedGeometryRootForFrame. r=mattwoodrow
--HG--
extra : rebase_source : ece245a6910b1be205adbfb4e684ff1ccc85f635
2014-06-23 16:21:42 +12:00
Robert O'Callahan
025206564c Bug 1022612. Part 28: Make nsLayoutUtils::GetScrollableFrameFor return null for non-scrolled-frames. r=mattwoodrow
--HG--
extra : rebase_source : b93ce3cc94029fb6b8de51d5fc945d552a75a937
2014-07-09 10:12:41 +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
9d70c3237a Bug 1022612. Part 25: We don't need to explicitly worry about displayports anymore when computing occlusion. r=mattwoodrow
--HG--
extra : rebase_source : 22926330830072dd520ab41daa37c451bf35601d
2014-06-09 16:48:02 +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
0d67bf7f11 Bug 1022612. Part 20: Do the business. r=mattwoodrow
--HG--
extra : rebase_source : a87960893a3cdf6661f25091ae9fd28b247a464b
2014-06-09 16:48:01 +12:00
Robert O'Callahan
0344cd66ba 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 : 2534f87eec88d5eba40726032e74ce85ac13be64
2014-07-07 17:46:29 +12:00
Robert O'Callahan
d9151bef79 Bug 1022612. Part 18: When ComputeVisibility returns false, RecomputeVisibility should avoid painting the item. r=mattwoodrow
--HG--
extra : rebase_source : b11f832b412b75e9868306908a5e08fe9724a603
2014-06-20 17:24:31 +12:00
Robert O'Callahan
f58e939842 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 : b2c3694cfa2af182c8b2006633efa35a50616642
2014-06-11 23:12:14 +12:00
Robert O'Callahan
137e50884f 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 : c48e2ecaa9e7653708681011cd335d377d5bfaba
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
54efd05508 Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : ed15b100438912f12e3c556d2a6a43e8387b2981
2014-06-09 16:48:00 +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
fad84a8654 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 : 9c94f2091818bb50b31a584a53c572007cd6d0e6
2014-06-09 16:47:59 +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
d19851f025 Bug 1022612. Part 7: Enable APZC for IPC reftests. r=billm
--HG--
extra : rebase_source : 2b6f6af95eaa2fdc1a5cc63ff2e907ddf8e8b83c
2014-06-25 18:38:05 +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
948f5322d1 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 : 5e07ef9e894ef41d36d4daf4498a14d5163da337
2014-06-09 16:47:58 +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
jvoisin
20443103f0 Bug 1035786 - Fix namespace bug in Linux sandbox LOG_ERROR macro. r=jld 2014-07-08 05:53:00 +01:00