Commit Graph

193723 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
43704c4689 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
c03ee777e7 bug 991153: Fix float32 on arm to handle aliased registers (r=jandem) 2014-07-15 03:34:08 -04:00
Marty Rosenberg
114235cae7 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
2c8d256592 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
65e17ddeb1 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
50c0d86943 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
320003e025 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
138e7aaf93 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
5fc5cc16c8 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
f7866f72aa 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
6c60c59615 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
d052cde0c2 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
2682bcb1da 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
57e4fdb3bc 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
b342cdbc2b 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
c10e9b3325 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
4423605b8e 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
ff5b26dd8b 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
1ed8388eac Bug 1022612. Part 29: Expose GetAnimatedGeometryRootForFrame. r=mattwoodrow
--HG--
extra : rebase_source : ece245a6910b1be205adbfb4e684ff1ccc85f635
2014-06-23 16:21:42 +12:00
Robert O'Callahan
dd612f9423 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
30dd0c42a3 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
2aec49a3b7 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
c41fbcc4c6 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
78b02d322e 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
b96d028a45 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
3cac47df37 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
bec7151d0a 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
9ebecfa6b7 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
015b707fea 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
f1a8be6ec0 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
a69e5326d9 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
ee3e084f25 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
9105305d60 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
dcb83a5fcb 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
0911de8ef3 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
2da9e180c8 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
4169741fa7 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
eca09175de 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
a7bbcb1530 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
9419ca1934 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
ddacac6e55 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
276239307d 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
59f4b64c9f 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
5965c3d7f7 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
f0c045432e 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
5c39722fc1 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
41c95a343c Bug 1035786 - Fix namespace bug in Linux sandbox LOG_ERROR macro. r=jld 2014-07-08 05:53:00 +01:00
Jed Davis
1107be75f1 Bug 1035786 - Avoid warning-as-error sandbox build failure with an explicit cast. r=gdestuynder
getpid() is never negative, so this is safe.
2014-07-10 17:37:45 -07:00
Bob Owen
b9815be53d Bug 1035786 - Fix member variable initialisation order in LogMessage stub in Linux Sandbox.cpp. r=jld 2014-07-09 12:32:49 +01:00
Emanuel Hoogeveen
5d4d18487c Bug 1036784 - Extend freeSpanAllocate to do all the things that FreeList::allocate does, and rename it to freeListAllocate. r=terrence 2014-07-14 23:40:00 +02:00