Commit Graph

338 Commits

Author SHA1 Message Date
Scott Johnson
bb83cf55dd 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
c2ce7e67ab Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Benoit Girard
5d7998f39f 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
3717325909 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
David Zbarsky
f6bba95714 Backout 4c89002460da (Bug 873378) for breaking the settings app on B2G 2013-07-26 13:20:23 -07:00
Ms2ger
a9d7b5923b Bug 896261 - Remove aAppendedThemedBackground arguments from nsDisplayBackgroundImage::AppendBackgroundItemsToTop, nsFrame::DisplayBackgroundUnconditional; r=roc 2013-07-24 09:38:55 +02:00
Benoit Girard
9cca89434d 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
3e8b8685fb Bug 894905 - Create a separate nsDisplayItem subclass for -moz-appearance backgrounds. r=roc 2013-07-18 08:34:58 +02:00
Markus Stange
b62c7b8f7a Bug 894905 - Make AppendBackgroundItemsToTop return a bool instead of an nsDisplayBackgroundImage. r=roc 2013-07-18 08:34:10 +02:00
Timothy Nikkel
424910d9f9 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
f3277d1b19 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
784c573287 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
2838778b53 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
6a09b1c5b5 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
ac3b24a51f Bug 867770 - Layerize all animated images. r=mattwoodrow 2013-05-30 09:50:50 -04:00
Arnaud Sourioux
ae5aa58dbc Bug 875367: Annotate ~280 more methods with MOZ_OVERRIDE in /layout. r=dholbert 2013-05-29 12:37:49 -07:00
Markus Stange
07bad85738 Bug 676241 part 8: Remove alternate layer manager handling. r=mattwoodrow 2013-05-23 16:49:18 +02:00
Markus Stange
8ade205eb2 Bug 871590 - Make unified titlebar / toolbar handling more robust. r=roc 2013-05-22 11:50:57 +02:00
Markus Stange
e129b2f0f9 Backed out 2 changesets (bug 871590) CLOSED TREE 2013-05-22 14:10:46 +02:00
Markus Stange
359f366595 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
a57d318afa Bug 870516: Annotate ~600 more methods with MOZ_OVERRIDE in /layout r=dholbert 2013-05-14 09:33:23 -07:00
Robert O'Callahan
5bf8a17b77 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
80bc58886e 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
c05f10b133 Backed out changeset dc2ced1dd175 (bug 860524) for reftest failures 2013-04-19 13:51:24 +01: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
7bd1081c33 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
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
e5cb7ecc6e 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
0d562762b5 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
92f7c062ff 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
9ce2e2126a Bug 855920 - Remove unused nsDisplayTransform ctor. r=roc 2013-04-01 18:45:18 +02: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
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
Matt Woodrow
1ad187f836 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
a020fc6a32 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
5ef4421fa5 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
013943dc4f 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
a2485753ff 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
aba96f20c7 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
c2fad8e94f 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
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
Matt Woodrow
d395ad24f5 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
30cca3144a Bug 820246 - Split nsDisplayCanvasBackground into separate color and image items. r=roc 2012-12-13 14:15:55 +13:00
Ed Morley
437e9d9372 Backout 4777ad9776ec (bug 820246) for causing frequent failures in background-image-zoom-1.html on Android 2012-12-13 12:25:12 +00:00
Matt Woodrow
77a22aa86c Bug 820246 - Split nsDisplayCanvasBackground into separate color and image items. r=roc 2012-12-13 14:15:55 +13:00
Matt Woodrow
7d9d1178c3 Bug 820131 - Compute a more accurate bounds for nsDisplayBoxShadowOuter. r=roc 2012-12-12 09:36:54 +13:00
Robert O'Callahan
dbadcb07b6 Bug 818643. Issue an NotifyRenderingChanged callback on nsDisplayItems when we invalidate anything to do with the display item. Make nsDisplayCanvasBackground override NotifyRenderingChanged to invalidate the cached background image. r=mattwoodrow
--HG--
extra : rebase_source : c28b2804d647a991f7d2cb8167fcf039c1835d75
2012-12-10 18:34:31 +13:00
Matt Woodrow
b703eaf5e8 Bug 791644 - Refactor nsDisplayTransform::GetResultingTransformMatrix into two functions with less optional parameters. r=roc 2012-09-18 10:34:21 +12:00