Commit Graph

358 Commits

Author SHA1 Message Date
Rik Cabanier
fc566afdce Bug 902525 - Part 3: create a layer for content that stores the blend mode r=roc 2013-09-14 20:40:11 -07:00
Rik Cabanier
0383e51844 Bug 902525 - Part 2: Create layers for isolated groups when blending is involved r=roc 2013-09-14 20:30:00 -07:00
Corey Ford
d5b2deaa8e Bug 897105 - Part 4: Build display items and layers for sticky positioned elements. r=roc 2013-09-12 18:56:57 -07:00
Nicholas Cameron
4b66038b85 Bug 893330. Invalidate the frame area for box shadow display list items with border radius. r=mattwoodrow 2013-08-23 13:47:54 +12:00
Scott Johnson
cca0d1756f Bug 746015: Add a nsDisplayGenericOverflow class that uses a frame's visual overflow rect as its bounds to correctly display column rules that lie outside of a column set frame's bounds. [r=dbaron] 2013-08-20 16:38:29 -05:00
Ehsan Akhgari
2621b190f1 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Benoit Girard
084ae6868c Bug 873378 - Add a limit on mobile of 20 layers per container layer. r=roc 2013-07-16 16:17:18 -04:00
Ehsan Akhgari
ef4b479714 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
David Zbarsky
0c95eabb49 Backout 4c89002460da (Bug 873378) for breaking the settings app on B2G 2013-07-26 13:20:23 -07:00
Ms2ger
fe97b4a6ec Bug 896261 - Remove aAppendedThemedBackground arguments from nsDisplayBackgroundImage::AppendBackgroundItemsToTop, nsFrame::DisplayBackgroundUnconditional; r=roc 2013-07-24 09:38:55 +02:00
Benoit Girard
1591216c2a Bug 873378 - Add a limit on mobile of 20 layers per container layer. r=roc 2013-07-16 16:17:18 -04:00
Markus Stange
cddb8f5c57 Bug 894905 - Create a separate nsDisplayItem subclass for -moz-appearance backgrounds. r=roc 2013-07-18 08:34:58 +02:00
Markus Stange
da419264b0 Bug 894905 - Make AppendBackgroundItemsToTop return a bool instead of an nsDisplayBackgroundImage. r=roc 2013-07-18 08:34:10 +02:00
Timothy Nikkel
5942372742 Bug 695763. Part 3. Invalidate the background images of buttons, fieldsets, and mathml chars if they are not decoded and we are asked to do a sync decode. r=matt.woodrow 2013-06-26 11:43:26 -05:00
Robert O'Callahan
50ed09d4f7 Bug 876092. Copy the DisplayItemClip into OutOfFlowDisplayData instead of storing a pointer. r=mats 2013-06-18 21:15:39 +12:00
Robert O'Callahan
3626efe7eb Bug 876092. Part 1. Don't let effects of MarkFramesForDisplayList carry over between pages. r=mats 2013-06-18 21:15:37 +12:00
Timothy Nikkel
c29d266b4a Bug 878612. Make sure to pass through the background painting flags through in all cases. r=matt.woodrow 2013-06-03 23:49:03 -05:00
Joe Drew
339528e31f Bug 878062 - Don't call TryOptimizeToImageLayer if we are definitely not going to optimize to an image layer, since it uses lots of memory. r=mattwoodrow 2013-06-03 10:57:06 -04:00
Joe Drew
64fe79505a Bug 867770 - Layerize all animated images. r=mattwoodrow 2013-05-30 09:50:50 -04:00
Arnaud Sourioux
c6d0c9ac5d Bug 875367: Annotate ~280 more methods with MOZ_OVERRIDE in /layout. r=dholbert 2013-05-29 12:37:49 -07:00
Markus Stange
08702570d3 Bug 676241 part 8: Remove alternate layer manager handling. r=mattwoodrow 2013-05-23 16:49:18 +02:00
Markus Stange
df0daeb0fd Bug 871590 - Make unified titlebar / toolbar handling more robust. r=roc 2013-05-22 11:50:57 +02:00
Markus Stange
78a27ca962 Backed out 2 changesets (bug 871590) CLOSED TREE 2013-05-22 14:10:46 +02:00
Markus Stange
ac855585e9 Bug 871590 - Make unified titlebar / toolbar handling more robust. r=roc
--HG--
extra : rebase_source : dc4c5dff4f0a392e096976b355bcf2140f7b2879
2013-05-22 11:50:57 +02:00
Arnaud Sourioux
623d2ed378 Bug 870516: Annotate ~600 more methods with MOZ_OVERRIDE in /layout r=dholbert 2013-05-14 09:33:23 -07:00
Robert O'Callahan
7e20e1ed1a Bug 866579. Don't bother adding an arena-allocated DisplayItemClip to mDisplayItemClipsToDestroy if its destructor isn't going to do anything interesting. r=mattwoodrow
--HG--
extra : rebase_source : b8b64d9697cd2f19a42ff751cbfb7a1566f28209
2013-05-07 22:16:30 -07:00
Robert O'Callahan
e38cade512 Bug 860524. Remove hacky (and buggy) pseudo-destruction of DisplayItemClips created by GetCurrentClip; ensure that they're all destroyed properly when the arena goes away, by tracking them explicitly in nsDisplayListBuilder. r=mattwoodrow
--HG--
extra : rebase_source : f5d572ed37255b9036ce2678645788768e0a52ae
2013-04-15 17:11:10 +12:00
Ed Morley
15cd88965f Backed out changeset dc2ced1dd175 (bug 860524) for reftest failures 2013-04-19 13:51:24 +01:00
Robert O'Callahan
4bd8d8b1e8 Bug 862180. Part 2: Rename nsDisplayItem::GetUnderlyingFrame() to Frame(). r=mattwoodrow 2013-04-20 00:02:13 +12:00
Robert O'Callahan
cb5a9410ab Bug 860524. Remove hacky (and buggy) pseudo-destruction of DisplayItemClips created by GetCurrentClip; ensure that they're all destroyed properly when the arena goes away, by tracking them explicitly in nsDisplayListBuilder. r=mattwoodrow 2013-04-15 17:11:10 +12:00
Robert O'Callahan
613ea8adbd 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
37d2be7018 Bug 841192. Part 8: On encountering out-of-flow frames during display list construction, save their clip rect as well as their dirty rect for later use when we traverse the placeholder. r=mattwoodrow
--HG--
extra : rebase_source : 3a41e2eb4940f1ae7c0748f27211a7d0cf7ad638
2013-03-04 22:56:02 +13:00
Robert O'Callahan
53204f6f2c Bug 841192. Part 6: Save and restore DisplayListClipState when we start building display lists for a frame. r=mattwoodrow
--HG--
extra : rebase_source : 9c9cb95acfb4d802ecf045e6d4c30811af647218
2013-03-04 22:56:01 +13:00
Robert O'Callahan
f37a0ff8b0 Bug 841192. Part 5: Add "current DisplayListClipState" to nsDisplayListBuilder. r=mattwoodrow
--HG--
extra : rebase_source : e8f99c3f0e6f9d516bfbed189ee42ad16cb8a6ee
2013-03-04 22:56:01 +13:00
Mats Palmgren
d82140fe1a Bug 855920 - Remove unused nsDisplayTransform ctor. r=roc 2013-04-01 18:45:18 +02:00
Robert O'Callahan
c4e65b7b56 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
e5a41a4488 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
ce12de97d2 Backed out changeset e8ffcf4b8e22 (bug 846901) 2013-03-19 14:15:07 +00:00
Robert O'Callahan
9dda8169b5 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
Matt Woodrow
88bb93c3e4 Bug 725981 - Only invalidate the difference in bounds when a solid color moves or resizes. r=roc 2013-03-08 15:15:10 +13:00
Timothy Nikkel
76533032be Bug 689623. Part 5. Add mechanism to update image visibility upon some amount of scrolling. r=mats 2013-02-24 18:59:21 -06:00
L. David Baron
c5b9eee040 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Robert O'Callahan
42e294f8cb Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
Robert O'Callahan
5c77da3630 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00
Matt Woodrow
e839f6795f Bug 836179 - Add WriteDebugInfo so that display items can add extra information when printing display lists. r=roc 2013-01-30 18:07:30 +13:00
Matt Woodrow
c4cfe33e02 Bug 820839 - Draw OSX titlebar content into a retained buffer during the ThebesLayer painting phase, before we clear invalidation state. r=roc 2013-01-17 11:59:23 +13:00
Mats Palmgren
b7ae90666d 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
Matt Woodrow
eec2430465 Bug 829921 - Make sure that we don't choose a reference frame that is an ancestor of the root reference frame. r=roc 2013-01-14 18:30:47 +13:00
Matt Woodrow
012ebe70a2 Bug 820246 - Split nsDisplayCanvasBackground into separate color and image items. r=roc 2012-12-13 14:15:55 +13:00
Ed Morley
8755366625 Backout 4777ad9776ec (bug 820246) for causing frequent failures in background-image-zoom-1.html on Android 2012-12-13 12:25:12 +00:00