Commit Graph

414 Commits

Author SHA1 Message Date
Robert O'Callahan
8b339cab63 Bug 868082. Allow SetIsFixedPosition to be used on layers with transforms. In CompositorParent, use the animated transform value as the base transform in CompositorParent::TransformFixedLayers when it has been set by the animation sampler. r=cwiis
--HG--
extra : rebase_source : 3b809428bf8740753a98defc30ad7b7d96339442
2013-05-17 00:34:24 +12:00
Jonathan Watt
8f5ac9f5d6 Bug 870816 - Replace DEBUG_INVALIDATIONS with a pref called nglayout.debug.invalidation. r=mattwoodrow 2013-05-14 00:47:02 +01:00
Jonathan Watt
5a8be49450 Bug 870192 - Prevent rounding issues in gfxMatrix::ScaleFactors from combinging with timing issues to cause sporadic invalidation of transforming elements. r=roc 2013-05-13 00:12:19 +01:00
Masatoshi Kimura
edb82c4095 Bug 859018 - Remove the MSVC exemption for FAIL_ON_WARNINGS in layout. r=dbaron 2013-04-28 19:02:35 +09:00
Ryan VanderMeulen
b6cd03fcbb Backed out changeset 4a55715677d7 (bug 856807) for intermittent Linux32 reftest-ipc timeouts. 2013-04-19 11:17:21 -04:00
Robert O'Callahan
a7a41f0415 Bug 862180. Part 2: Rename nsDisplayItem::GetUnderlyingFrame() to Frame(). r=mattwoodrow 2013-04-20 00:02:13 +12:00
Robert O'Callahan
1c7352a936 Bug 862180. Part 1: Remove null checks on the result of nsDisplayItem::GetUnderlyingFrame(). r=mattwoodrow 2013-04-20 00:01:41 +12:00
Robert O'Callahan
18d4a92c92 Bug 856807. Add apparently-pointless call to SetClipRect(nullptr) to avoid Android regression. r=mattwoodrow 2013-04-19 22:04:04 +12:00
Jonathan Watt
0c743dcdbd Bug 861805 - Stop layers from snapping transforms for SVG content. r=roc 2013-04-15 13:30:28 +01:00
Robert O'Callahan
04e9887192 Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
Robert O'Callahan
ddb47c1cef Bug 841192. Part 3: Make DisplayItemClip members private and encapsulate them in a real API. r=mattwoodrow
--HG--
extra : rebase_source : d6076e123603de9a1c48681f527719cd41b09883
2013-03-04 22:56:00 +13:00
Robert O'Callahan
8d47c65ff4 Bug 841192. Part 2: Move FrameLayerBuilder::Clip to DisplayItemClip. r=mattwoodrow
--HG--
extra : rebase_source : 2950e5dd64e217a406ede2dc9f6682b5e0540975
2013-03-04 22:55:59 +13:00
Nicholas Cameron
b2e31373d7 Bug 856272; don't round our mask size too early so we get a proper transform for small surfaces. r=roc 2013-04-05 16:16:38 +13:00
Matt Brubeck
87b1f4184c Back out 795e9ec338a7 (bug 856272) because of test failures 2013-04-04 17:40:16 -07:00
Nicholas Cameron
1e69a37e3a Bug 856272; don't round our mask size too early so we get a proper transform for small surfaces. r=roc 2013-04-05 12:42:14 +13:00
Matt Woodrow
9ec5ac5231 Bug 855233 - Recreate mask layers if the ContainerParameters offset changes. r=nrc 2013-04-04 15:59:24 +13:00
Robert O'Callahan
3a4355687e Bug 852489. Part 9: Avoid temporarily setting a layer's visible region to a non-final value. r=mattwoodrow
We currently set the visible region on most container layers twice: once in
BuildContainerLayerFor, where we don't take clipping from ancestors into
account, and then later ProcessDisplayItems calls RestrictVisibleRegionForLayer
which does take ancestor clipping into account. This causes unnecessary
Mutated()s.

In this patch we partially fix this by forcing transform layers to take
account of their ancestor clipping when they set the visible region in
BuildContainerLayerFor. For those layers we don't need to apply
ancestor clipping in ProcessDisplayItems. This is done in a rather
ugly way, by passing the ancestor clip rect as an extra field of
ContainerParameters. To preserve the optimization that prerendered
elements are treated as fully visible regardless of ancestor clipping,
we have to add a flag to turn that clipping off in BuildContainerLayerFor.

In bug 841192 we will be able to fix this in a much nicer way, because we can
get the ancestor clip directly off the nsDisplayItem passed to
BuildContainerLayerFor. But this approach is needed for the B2G18 branch.

--HG--
extra : rebase_source : 26fbe55db84ab96e1e358b8803b0563f42590836
2013-03-22 15:17:29 +13:00
Robert O'Callahan
5d035502b3 Bug 852489. Part 6: Don't temporarily reset clip when recycling Thebes/Image/ColorLayers. r=mattwoodrow
--HG--
extra : rebase_source : 28ac0c65edef8d2f0de2e79003370520066508e7
2013-03-22 15:17:29 +13:00
Robert O'Callahan
88994b7bd5 Bug 852489. Part 5: Don't temporarily reset clip rect when reusing an existing layer. r=mattwodrow
--HG--
extra : rebase_source : 65ace15a404e25e14c02e514077997554d36f092
2013-03-22 15:17:29 +13:00
Robert O'Callahan
361f43cd8a Bug 852489. Part 4: Don't call RepositionChild if the layer is already in the right position. r=mattwoodrow
--HG--
extra : rebase_source : 1a3be842c65ab00dc7a72361e522e5343e5de967
2013-03-22 15:17:29 +13:00
Benoit Girard
6ed333dbb5 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 6ea7c660764a4390cdd8dd91561fff1d7bad6035
2013-03-18 15:25:50 +01:00
Benoit Girard
bbe4c3065e Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Matt Woodrow
122ed9c4e6 Bug 822086 - Don't build ContainerLayers that would have a singular matrix. r=roc 2013-03-21 15:33:00 +13:00
Robert O'Callahan
c35d68c457 Bug 846901 - Support prerendering elements with animated transforms that are offscreen but only by a small amount. r=mattwoodrow 2013-03-19 09:08:29 -04:00
Ed Morley
4cf89da68c Backed out changeset e8ffcf4b8e22 (bug 846901) 2013-03-19 14:15:07 +00:00
Robert O'Callahan
a6883ef2d0 Bug 846901 - Support prerendering elements with animated transforms that are offscreen but only by a small amount. r=mattwoodrow 2013-03-19 09:08:29 -04:00
Ed Morley
4a0f5f39ca Backed out changeset c75481a07302 (bug 851611) 2013-03-18 14:10:35 +00:00
Ed Morley
47bc17c5f5 Backed out changeset d195190adc48 (bug 851611)
--HG--
rename : tools/profiler/GeckoProfiler.h => tools/profiler/sampler.h
rename : tools/profiler/GeckoProfilerImpl.h => tools/profiler/sps_sampler.h
2013-03-18 14:10:30 +00:00
Benoit Girard
90f13c7e56 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 552fe1d3ff61d15b264aaf86f7c8cb4f4eff69d1
2013-03-18 14:41:02 +01:00
Benoit Girard
95a5b4c35f Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
Paul Rouget
d157a980da Bug 847890 - paint flashing for content only. r=roc 2013-03-12 11:01:00 -07:00
Ed Morley
bf11531c1c Backed out changeset eaf182f23c3a (bug 847890) for failures in test_bug847890_paintFlashing.html on a CLOSED TREE 2013-03-13 10:06:34 +00:00
Paul Rouget
7be33c0594 Bug 847890 - paint flashing for content only. r=roc 2013-03-12 11:01:00 -07:00
Matt Woodrow
d8320e5731 Bug 846971 - Don't create layers that are scaled to 0. r=roc 2013-03-06 09:04:40 +13:00
Robert O'Callahan
6cb953902b Bug 845526 - Limit complexity of invalid region in RemoveFrameFromLayerManager. r=mattwoodrow 2013-03-02 12:21:00 -05:00
Ed Morley
206b4564c9 Backed out changeset 05c35dc73323 (bug 845526) 2013-02-27 12:49:29 +00:00
Robert O'Callahan
77cfbea40e Bug 845526. Limit complexity of invalid region in RemoveFrameFromLayerManager. r=mattwoodrow
--HG--
extra : rebase_source : ca0a1d7928c991604d5979bcf35b4fcea462c31a
2013-02-27 16:05:32 +13:00
Mats Palmgren
d5826be6d7 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Anthony Jones
7cc38ffb42 Bug 825808 - Fix animations by marking transforms as not fixed. r=roc 2013-01-12 15:48:55 -05:00
Nicholas Cameron
70fc748166 Bug 824454; use the resolution scale in OMTA transforms. r=cjones; a=blocking-basecamp
--HG--
extra : rebase_source : 8f045dd319418b771c5f31ca2f3477ab5673a5ad
2013-01-08 10:39:12 +01:00
Nicholas Cameron
dd74f21d8f Bug 822231; use the maximum scale for animated scaling. r=roc 2012-12-21 16:58:17 -05:00
Justin Lebar
e1fa823a2c Bug 819791 - Part 8: Use explicit TArray copy constructors in FrameLayerBuilder. r=roc 2012-12-18 20:16:06 -05:00
Matt Woodrow
1393ebcfc4 Bug 821995 - Revert an incorrect change to matrix multiplication in ChooseScaleAndSetTransform. r=roc 2012-12-18 18:58:44 +13:00
Jeff Walden
e0523203c9 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Matt Woodrow
2839c7fa0b Backout changeset 3ba90f85653a (Bug 805343) for regressing android talos tests 2012-12-14 11:51:00 +13:00
Matt Woodrow
2b859a49cd Backout changeset e8f5182d94c5 (Bug 805343) for regressing android talos tests 2012-12-14 11:50:57 +13:00
Matt Woodrow
43871121e3 Bug 820541 - Only call ProcessRemovedDisplayItems once per transaction. r=roc 2012-12-13 09:47:05 +13:00
Robert O'Callahan
815e619d8c Bug 663776. Part 1: When determining whether the scale factors hav changed, we need to use GetBaseTransform for the old scale factors, because that's what stores the old transform that we computed scale factors from. r=mattwoodrow
--HG--
extra : rebase_source : 48be38242fa6bf51644dc45a804dd834e7eb97b7
2012-12-07 12:58:12 +13:00
Nicholas Cameron
bd26a889cc Bug 782368; undo patch from 780868. r=mattwoodrow
--HG--
extra : rebase_source : 6eb5a907d4e1eafa6bc7c6dd5d185c28a4c248be
2012-12-12 10:57:52 +13:00
Matt Woodrow
405ddbcc30 Bug 806099 - Use the 'best' active scrolled root when flattening layers, even if it isn't an ancestor of all display items. r=roc 2012-12-12 09:36:22 +13:00