Nicholas Cameron
792ecf9509
Bug 943110. Don't use fputc in display list/layers dumps. r=BenWa
2013-11-26 15:07:41 +13:00
Matt Woodrow
0cc69e6803
Bug 941559 - Invalidate nsDislaySolidColor display items when their color changes. r=roc
2013-11-25 14:59:00 +13:00
Benoit Girard
f8fd653be7
Bug 942483 - Port paint-dumping to android/b2g. r=gal
2013-11-23 17:44:18 -05:00
Matt Woodrow
4122bef511
Bug 939607 - Part 3: Try fold nsDisplayOpacity items opacity value into their children. r=roc
2013-11-18 22:32:09 +13:00
Matt Woodrow
7bb2bbae86
Bug 939607 - Part 2: Add an API for storing an opacity on a display item, and implement it for nsDisplayBoxShadowOuter. r=roc
2013-11-18 22:32:09 +13:00
Robert O'Callahan
d1b9afa1b6
Bug 919144. Part 10: Fold nsDisplayFixedPosition into nsDisplayStickyPosition. r=mattwoodrow
...
--HG--
extra : rebase_source : 597e2a178762509421a32d53be6242cd588c7995
2013-09-27 18:02:03 +12:00
Robert O'Callahan
ac362be738
Bug 919144. Part 9: Move FrameLayerBuilder::ContainerParameters to mozilla::ContainerLayerParameters. r=mattwoodrow
...
This is to avoid having to #include FrameLayerBuilder.h in nsLayoutUtils.h in the next patch.
--HG--
extra : rebase_source : 5f3c3ae2785267949766ae094414781133d4ce44
2013-09-27 18:01:16 +12:00
Robert O'Callahan
c7ac6cec44
Bug 919144. Part 8: Delete lots of code that's no longer needed. r=mattwoodrow
...
I never liked nsDisplayListBuilder::IsFixedItem anyway, its behavior and
naming was confusing. Also, it assumed there's only one viewport displayport,
on the rootmost document, and that's a bad assumption in general.
We're able to remove calls to ForceVisiblityForFixedItem because FrameLayerBuilder
is now responsible for inflating the visible region of the fixed-pos layers.
--HG--
extra : rebase_source : e93d8e25d2f5c7f3e167e47203d961e6b4293b81
2013-09-27 18:01:16 +12:00
Robert O'Callahan
6a8e8942c3
Bug 919144. Part 1: Rename identifiers from 'active scroll(ed) root' to 'animated geometry root'. r=mattwoodrow
...
Also sneaks in a couple of other refactorings:
--HG--
extra : rebase_source : 8b0e0729f26231d98ed069b54dd4f7c1e51b10b5
2013-09-26 09:07:26 +12:00
Robert O'Callahan
654b2fe263
Backout changesets 37f9a5424227, c1578a4fc86d and a417424f9213 (for bugs 933354, 929021 and 923193 respectively) while we figure out performance regressions
...
--HG--
extra : rebase_source : e4a004a15c92b5a8a8b780e7da779ac86d1c29be
2013-11-11 15:23:56 +13:00
Robert O'Callahan
5a7f1f55e0
Bug 933354. Avoid calling GetDeltaToPerspectiveOrigin for elements that don't have perspective. r=heycam
...
--HG--
extra : rebase_source : 2e887376cc3529191799e6e7726c336199121e96
2013-11-05 23:03:38 -08:00
Kartikaya Gupta
b0a97ce747
Bug 732971 - Create a new layer type for subdocuments with a resolution. r=tn
...
The new nsDisplayResolution layer type is created for any subdocument whose
presShell specifies a non-1.0 resolution. This is specifically needed for
platforms such as Android and Metro, where the presShells corresponding to
the tabs (which have non-1.0 resolutions) are not the root presShell.
2013-10-29 09:27:15 -04:00
L. David Baron
ccbb4acceb
Bug 929673 Patch 3: Rename GetDeltaToMoz{Transform,Perspective}Origin to remove the Moz to avoid use of deprecated CSS prefixes in variable names. r=dzbarsky
2013-10-24 14:46:00 +02:00
L. David Baron
a84ee2a5cd
Bug 929673 Patch 2: Rename mToMozOrigin to mToTransformOrigin to avoid use of deprecated CSS prefixes in variable names. r=dzbarsky
2013-10-24 14:46:00 +02:00
Robert O'Callahan
3e2355be8b
Bug 903340. Make nsDisplayScrollInfoLayer::ShouldFlattenAway side-effect-free. r=tn
2013-10-21 15:47:26 -07:00
Birunthan Mohanathas
967e556c1c
Bug 784739 - Switch from NULL to nullptr in layout/; r=ehsan
...
--HG--
extra : rebase_source : 0d0d9e11be9d39e4457bddd0bac7e19a50b91b0b
2013-10-08 14:47:21 -04:00
Markus Stange
203d1cece9
Bug 532828 - Don't invalidate the whole window on window activation/deactivation. r=roc
2013-09-27 17:24:32 +02:00
Rik Cabanier
37cda4a234
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
48ef519963
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
54030945f9
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
4517b466e2
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
2c9180dedd
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
5fa9157954
Bug 906790 - Minimize layout/base #includes; r=roc
2013-08-19 18:55:18 -04:00
Benoit Girard
7186e08ba4
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
9854ac6166
Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted
2013-07-30 10:25:31 -04:00
David Zbarsky
4a272eb16a
Backout 4c89002460da (Bug 873378) for breaking the settings app on B2G
2013-07-26 13:20:23 -07:00
Ms2ger
65809ecc1e
Bug 896261 - Remove aAppendedThemedBackground arguments from nsDisplayBackgroundImage::AppendBackgroundItemsToTop, nsFrame::DisplayBackgroundUnconditional; r=roc
2013-07-24 09:38:55 +02:00
Benoit Girard
72ce20909b
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
925f3877d6
Bug 894905 - Create a separate nsDisplayItem subclass for -moz-appearance backgrounds. r=roc
2013-07-18 08:34:58 +02:00
Markus Stange
a3bbc51f36
Bug 894905 - Make AppendBackgroundItemsToTop return a bool instead of an nsDisplayBackgroundImage. r=roc
2013-07-18 08:34:10 +02:00
Timothy Nikkel
89a1d139e5
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
5b98f9c1a4
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
133d433fda
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
c3a504ac61
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
c1f4978ba3
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
9a5d492da7
Bug 867770 - Layerize all animated images. r=mattwoodrow
2013-05-30 09:50:50 -04:00
Arnaud Sourioux
043b0fd84c
Bug 875367: Annotate ~280 more methods with MOZ_OVERRIDE in /layout. r=dholbert
2013-05-29 12:37:49 -07:00
Markus Stange
66fb5cfd84
Bug 676241 part 8: Remove alternate layer manager handling. r=mattwoodrow
2013-05-23 16:49:18 +02:00
Markus Stange
ea03392fcc
Bug 871590 - Make unified titlebar / toolbar handling more robust. r=roc
2013-05-22 11:50:57 +02:00
Markus Stange
7b49365fa6
Backed out 2 changesets (bug 871590) CLOSED TREE
2013-05-22 14:10:46 +02:00
Markus Stange
7343081400
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
9a8c47ea32
Bug 870516: Annotate ~600 more methods with MOZ_OVERRIDE in /layout r=dholbert
2013-05-14 09:33:23 -07:00
Robert O'Callahan
5e25d35f87
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
fd709d6e6f
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
d84e7e16cb
Backed out changeset dc2ced1dd175 (bug 860524) for reftest failures
2013-04-19 13:51:24 +01:00
Robert O'Callahan
2817c39fd2
Bug 862180. Part 2: Rename nsDisplayItem::GetUnderlyingFrame() to Frame(). r=mattwoodrow
2013-04-20 00:02:13 +12:00
Robert O'Callahan
305561c096
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
7cbe6380ff
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
96f57a5820
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
c57aa1a36d
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
ab135d1d50
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
76816cc92f
Bug 855920 - Remove unused nsDisplayTransform ctor. r=roc
2013-04-01 18:45:18 +02:00
Robert O'Callahan
ec730ddcc9
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
3f62f02bdc
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
3be8543796
Backed out changeset e8ffcf4b8e22 (bug 846901)
2013-03-19 14:15:07 +00:00
Robert O'Callahan
e0e3473650
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
43a03870a5
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
d695637b6c
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
822b2ca3bc
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
d9665619b9
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
59dfd955a1
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
6ff7e265f4
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
23cabe0437
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
6c53161814
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
4c9c3921d4
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
bb271e80fa
Bug 820246 - Split nsDisplayCanvasBackground into separate color and image items. r=roc
2012-12-13 14:15:55 +13:00
Ed Morley
5c0064f135
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
0ef5d0e471
Bug 820246 - Split nsDisplayCanvasBackground into separate color and image items. r=roc
2012-12-13 14:15:55 +13:00
Matt Woodrow
d12fc1cdaf
Bug 820131 - Compute a more accurate bounds for nsDisplayBoxShadowOuter. r=roc
2012-12-12 09:36:54 +13:00
Robert O'Callahan
06e395c355
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
d79e024902
Bug 791644 - Refactor nsDisplayTransform::GetResultingTransformMatrix into two functions with less optional parameters. r=roc
2012-09-18 10:34:21 +12:00
Robert O'Callahan
4fd3be0cc7
Bug 815593. Don't layerize images that exceed MaxTextureSize. r=mattwoodrow
...
--HG--
extra : rebase_source : f94300b24b90d063df095324663c9d8fa49e42e9
2012-11-28 15:34:45 +13:00
Matt Woodrow
ec0f46bf5a
Bug 814272 - Cache the bounds of nsDisplayBackgroundImage items. r=roc
2012-11-28 17:05:32 +13:00
Nicholas Cameron
75dacf4dde
Bug 812908; add a debug pref for forcing active layers; r=roc
2012-11-23 12:29:05 +13:00
Matt Woodrow
5dc466f953
Bug 811927 - Allow conversion of nsDisplayBackgroundImage into ImageLayers. r=roc
2012-11-19 16:28:18 +13:00
Robert O'Callahan
57460ca6e6
Bug 810470. Part 8: Limit the BasicLayers background-caching optimization to cases where the destination context has an integer translation only, and snap the image rectangle. r=mattwoodrow
...
Previous patches in this bug enabled the nsDisplayCanvasBackground
background-caching optimization for the test 402807-1.html. That exposed
an existing bug where we don't snap the background image to pixel
boundaries when drawing through that path. This patch fixes it.
This patch also stops the IsSingleFixedPositionImage path from using
mDestRect, returning the rect as an out-parameter instead.
--HG--
extra : rebase_source : b7a496dfc7584dd8c73cddd0809fc5aa31992d53
2012-11-14 17:35:18 -08:00
Robert O'Callahan
72186d552d
Bug 810470. Part 7: Simplify TryOptimizeToImageLayer/IsSingleFixedPositionImage now that colors are not involved. r=mattwoodrow
...
--HG--
extra : rebase_source : 42177253b513be84e55a6ad2e9ba1db6a1f76eef
2012-11-10 00:42:10 -05:00
Robert O'Callahan
9c308072cc
Bug 810470. Part 6: Rename nsDisplayBackground to nsDisplayBackgroundImage. r=mattwoodrow
...
--HG--
extra : rebase_source : c532ae41706db6c9d5488bc2b7901c3bf0f0fc25
2012-11-09 18:14:59 -05:00
Robert O'Callahan
9e3732f25f
Bug 810470. Part 4: Make only background-attachment:fixed backgrounds that have propagated to the viewport use a dedicated layer, and refactor how we do that. r=mattwoodrow
...
--HG--
extra : rebase_source : f1085ce640e50617b687f9902edd83816512f786
2012-11-09 18:14:14 -05:00
Robert O'Callahan
e8d8fdb494
Bug 810470. Part 2: Change nsDisplayBackground invalidation to store and compare the background positioning rect. r=mattwoodrow
...
--HG--
extra : rebase_source : c9141ba46d034fc496a3e9e33efce5b022bec41c
2012-11-08 10:05:32 -05:00
Robert O'Callahan
98fc051fd7
Bug 810470. Part 1: Cache nsStyleBackground pointer in nsDisplayBackground. r=mattwoodrow
...
--HG--
extra : rebase_source : a104cfa5d8c72e208866b56507c56174e14ef143
2012-11-07 23:08:40 -05:00
Matt Woodrow
6a40d5fd04
Bug 808491 - Force 3d transformed layers to always be active. r=roc
2012-11-13 22:26:29 -08:00
Bas Schouten
dec539af30
Bug 811173. Part 1: Allow nsDisplayBackgroundColor::GetBounds to enable snapping. r=roc
...
--HG--
extra : rebase_source : 4eb0dadaaf17d7c30a82454c98390fd5c01eb4ec
2012-11-13 11:57:59 -08:00
Matt Woodrow
a5b3f77bcf
Bug 798964 - Add nsDisplayBackground color and make the bounds of nsDisplayBackground match the image. r=roc
2012-10-25 18:32:25 +13:00
Robert O'Callahan
c71a6efb72
Bug 805331. Part 1: Refactor nsDisplayList::GetList
...
Renames GetList to GetSameCoordinateSystemChildren, and adds an assertion
to verify that the children have the same reference frame as the parent.
Adds nsDisplayList::GetChildren to return whatever children there are.
Obsoletes nsDisplayTransform::GetStoredList.
2012-11-03 01:59:03 +13:00
Matt Woodrow
85acfcddf9
Bug 800041 - Make nsDisplayWrapList set its own reference frame correctly, and sanity check during ComputeVisibilityForSublist. r=roc
2012-10-25 18:32:25 +13:00
Phil Ringnalda
aad1519dae
Back out c95958e3b85d and e8a8bf41e0c4 (bug 798964) for Android reftest-4 failures
2012-10-25 01:19:57 -07:00
Phil Ringnalda
29d12d417c
Back out 8bffa268afd8 (bug 800041) for reftest assertions in 745934-1.html
2012-10-24 23:49:39 -07:00
Matt Woodrow
df721374f4
Bug 800041 - Make nsDisplayWrapList set its own reference frame correctly, and sanity check during ComputeVisibilityForSublist. r=roc
2012-10-25 18:32:25 +13:00
Matt Woodrow
19592164ef
Bug 798964 - Add nsDisplayBackground color and make the bounds of nsDisplayBackground match the image. r=roc
2012-10-25 18:32:25 +13:00
Timothy Nikkel
ada10776c7
Bug 642257. If there are no plugins in the display list skip a potentially expensive compute visibility pass with accurate visible regions to determine plugin geometry because it is not needed. r=roc
...
If there is a plugin in a background tab and a complex scene in a foreground tab the accurate visible regions can cause us to bog down, for no good reason.
2012-10-18 00:34:58 -05:00
Matt Woodrow
ba464dd210
Bug 802321 - Don't compare geometry objects for inactive layers. r=roc
2012-10-17 21:00:00 +13:00
Matt Woodrow
7c4e5b5701
Bug 800198 - Make mContainerReferenceFrame the reference frame for the items inside the container, not the container itself. r=roc
2012-10-16 14:10:48 +13:00
Robert O'Callahan
e7f231d6c8
Bug 626245. Part 4: Compute plugin widget geometry updates via the refresh driver's painting, and defer actual widget updates until we've just composited the window. r=mats
...
Updating plugin widget geometry every time we paint means we don't have to
explicitly request plugin geometry updates.
This patch stops us from flushing plugin geometry changes in
FlushPendingNotifications(Flush_Layout). There are too many Flush_Layouts and
flushing plugin geometry changes on them produces frequent
desynchronization of the plugin geometry with the rendered window contents.
There is some Web compatibility risk there --- it means we have to change
our tests, for one thing --- but hopefully it's OK.
--HG--
extra : rebase_source : 87adde45795ea2cab362ed9df54e62c5cc97e16c
2012-10-07 02:03:23 +13:00
Matt Woodrow
640446a3b7
Bug 800287 - Optimize display list processing. r=roc
2012-10-12 12:38:25 +13:00
Isaac Aggrey
997db4d142
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
Matt Woodrow
28ef42bcbf
Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc
2012-09-25 08:29:14 +12:00
Matt Woodrow
5f32437ca2
Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc
2012-08-29 17:48:45 +12:00
Matt Woodrow
5a14809d04
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
2012-08-29 17:47:18 +12:00
Matt Woodrow
4e75c1edde
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
...
* * *
imported patch move-by-correctly
2012-08-29 17:47:15 +12:00
Matt Woodrow
cdbc43ed27
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
2012-08-29 17:39:01 +12:00
Ed Morley
c863356300
Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE
2012-09-27 16:34:46 +01:00
Matt Woodrow
297a694be4
Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc
2012-09-25 08:29:14 +12:00
Matt Woodrow
7d7084a2d1
Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc
2012-08-29 17:48:45 +12:00
Matt Woodrow
c73c0db2f1
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +12:00
Matt Woodrow
b01a10cd1c
Bug 793132 - Make sure that only display lists get the reference frame adjusted transform. r=roc
2012-09-26 10:47:41 +12:00
Phil Ringnalda
dd13abdce5
Back out 85d6cbd01d39, 56fc051c1932, a2ad17b87332 (bug 781053) for OS X debug assertions and crashes
...
--HG--
extra : rebase_source : ab24a2f8e9eddcf33ea39344abb7afbf400bf6e0
2012-09-24 21:23:05 -07:00
Matt Woodrow
addff1531c
Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc
2012-09-25 08:29:14 +12:00
Matt Woodrow
944b66cc36
Bug 792314 - Make nsDisplayTransform support untransformed frames. r=roc
2012-09-20 11:14:07 +12:00
Matt Woodrow
891faaf4e5
Bug 788044 - Make transformed frames the reference frame for their display list tree. r=roc
2012-09-16 22:32:59 +12:00
Matt Woodrow
77745de1bf
Bug 788044 - Make various functions take const parameters. r=roc
2012-09-13 12:32:53 +12:00
Arnaud Sourioux
815396c1bb
Bug 733186: Annotate ~1000 methods with MOZ_OVERRIDE in /layout r=dholbert r=dbaron
2012-09-14 09:10:08 -07:00
Chris Lord
b3a668dd2a
Bug 786502 - Fix background-attachment:fixed scrolling with page. r=roc
...
Fix the size check in nsDisplayBackground::ShouldFixToViewport so that async
scrolling of fixed backgrounds works correctly when zoomed in on Firefox
Mobile. Also make IsFixedItem in nsDisplayList public and use it in
FrameLayerBuilder, so that fixed items are determined and treated consistently.
2012-09-13 11:34:34 +01:00
Chris Lord
6b2dc34a0b
Bug 786502 - Separate background layers into separate items. r=roc
...
Separate out background layers into separate display-list items, so that
backgrounds that are a mix of fixed and non-fixed layers will be treated
individually.
2012-09-13 11:34:23 +01:00
Chris Lord
040162f094
Bug 786672 - Use the scrolled frame for nsDisplayScrollLayer when finding the active scrolled root. r=roc
...
The underlying frame of an nsDisplayScrollLayer can change and end up returning
different values when finding the active scrolled root. Instead of relying on
display-item ordering/merging, get the scrolled frame from the item (which was
already storing it).
2012-08-30 08:31:16 +01:00
David Zbarsky
6a9972f334
Bug 785648 - Improve OMTA logging r=cjones
2012-08-25 21:27:28 -04:00
David Zbarsky
6b65174cd9
Bug 784846 - The ShouldPrerender check for async animations is wrong r=mattwoodrow
2012-08-23 02:05:27 -04:00
Ehsan Akhgari
0fd9123eac
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Nicolas Silva
047b99ba78
Bug 782372 - Splits ImageLayers.h into ImageLayers.h ImageContainer.h and ImageTypes.h, r=bgirard
2012-08-19 15:33:25 -04:00
Aryeh Gregor
6a9cec29c8
Bug 626472 part 3 - Remove nsnull for good; r=ehsan
2012-08-12 13:43:47 +03:00
Matt Woodrow
c9d19fc306
Bug 539356 - Part 8b - Move painting of retained layers to the view manager flush, and only composite on the paint event. r=roc
...
* * *
Fix Empty transactions with the new paint timing
2012-08-13 22:10:10 +12:00
Chris Lord
6a36ed7746
Bug 779269 - Implement a TryMerge method for nsDisplayFixedPosition. r=roc
...
Allow nsDisplayFixedPosition items that share the same fixed-pos frame to be
merged. This avoids a bug where the Google PDF viewer document image gets
re-rendered offset on the initial frame of a scroll when layer acceleration is
enabled.
2012-08-10 09:36:33 +01:00
Cameron McCormack
de15c57651
Bug 655877 - Part 32: Allow nsCharClipDisplayItems to be constructed without an nsDisplayListBuilder. r=roc
2012-08-08 21:37:14 +10:00
David Zbarsky
c0fdd4656f
Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron
2012-07-31 10:28:22 -07:00
David Zbarsky
f386a1e940
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-31 10:28:21 -07:00
Mark Finkle
70a01196ec
Backout 169ff207ed19, a34baed70c1b, f9ccdd490bd7, 39550ed860e6, 2194a2dd66b2, 908eb2e26843, a76e0a267f26 due to mobile viewport bustage (bug 778580)
2012-07-30 14:36:12 -04:00
Aryeh Gregor
e806eeab4f
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
David Zbarsky
e83accbdd6
Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron
2012-07-27 13:23:45 -07:00
David Zbarsky
5a900008c4
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-27 13:23:44 -07:00
Matt Woodrow
aece3ea32b
Bug 777617 - Allow component alpha flattening of fixed position and zoomed display items. r=roc
2012-07-27 15:02:01 +12:00
Ed Morley
be8bf4beae
Backout 1244b8a8e57a (bug 755084), 32d16d0f87c9 (bug 706179), 8548e016d4a9 (bug 768440), 697f5b87eae9 (bug 768440), 808fc2bd4e8c (bug 755084), 54b1484cd125 (bug 755084), 876726b632c0 (bug 706179) for xul android R3 failures
2012-07-25 16:37:04 +01:00
David Zbarsky
e14b114016
Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron
2012-07-25 01:48:10 -07:00
David Zbarsky
0fe356e5ed
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-25 01:48:09 -07:00
Chris Lord
887bd58e00
Bug 769541 - Fix display list creation for positioned descendants of fixed position frames. r=roc
...
Positioned descendants of positioned frames escape the child display list to
their parent's positioned descendants list when they don't have a z-index set.
This caused their invalidations to be logged against the incorrect layer.
To fix this, wrap each extra positioned descendant of a fixed-position frame
in its own nsDisplayFixedPosition so they receive their own layers.
2012-07-25 08:06:19 +01:00
Matt Brubeck
2e41f92cb5
Back out f4f5189b1d0c, 3b4f0606c547, b8a5a1ab8a5f, 5078933d6954, 7e0260c45de9 (bug 768440, bug 755084, bug 706179) because of reftest failures
2012-07-23 20:25:51 -07:00
David Zbarsky
3c4a102656
Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron
2012-07-23 17:34:49 -07:00
David Zbarsky
5deebe2e9b
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-23 17:34:46 -07:00
Matt Woodrow
35775825fa
Bug 539356 - Part 28 - Cached nsDisplayBackground rasterizations with BasicLayers. r=roc
2012-07-23 15:00:36 +12:00
Matt Woodrow
0bc8f48c38
Bug 741682 - Flatten component alpha layers into their parent layer with BasicLayers. r=roc
2012-07-23 15:00:36 +12:00
Daniel Holbert
075f9841d5
Bug 776306: When prepending to a display list, only update its 'mTop' pointer if it was empty. r=roc
2012-07-21 22:06:58 -04:00
Jonathan Watt
77a641125d
Bug 614732 - Implement display list based painting and hit-testing for SVG. r=roc.
...
--HG--
extra : rebase_source : 77e55885fbbf428008f5be787ddeb7e561c0d9bd
2012-07-20 14:12:29 -04:00
David Zbarsky
88371b030a
[Bug 774505] Don't include Layers.h everywhere r=cjones
2012-07-18 12:31:40 -04:00
Matt Woodrow
55c47b5cde
Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc
2012-07-17 13:03:51 -04:00
Matt Woodrow
7ff6103aa6
Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc
2012-07-17 13:03:51 -04:00
Rafael Ávila de Espíndola
f2824f38d7
Bug 774031 - Remove extra ;. r=roc.
2012-07-15 00:16:47 -04:00
Chris Lord
37292f8877
Bug 772079 - Fix ThebesLayerInvalidRegion being destroyed too soon. r=roc
...
A comment in ApplyThebesLayerInvalidation says that it preserves the content
of ThebesLayerInvalidRegion, in case there are multiple container layers for
the same frame. SetHasContainerLayer, however, immediately clears said property.
This was causing invalidations to be lost since Bug 758620 on fixed-position
elements, as they were being separated out onto their own layers but were still
merged in the root scroll layer. This is tracked in Bug 769541.
This fixes the problem by storing the new invalid region in DisplayItemDataEntry
and clearing/setting the ThebesLayerInvalidRegion property in the
UpdateDisplayItemData callback from FrameLayerBuilder::WillEndTransaction.
2012-07-14 08:49:05 +01:00
Ehsan Akhgari
4644ee9d96
Backout changeset eea5704272d0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:28:32 -04:00
Ehsan Akhgari
ebecf18be9
Backout changeset 60affaedccc3 (bug 539356) because of performance and correctness regressions
2012-07-03 20:26:55 -04:00
Ehsan Akhgari
e678c17f63
Backout changeset bd0a91621ea9 (bug 539356) because of performance and correctness regressions
2012-07-03 20:25:57 -04:00
Ehsan Akhgari
5e6974df88
Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:24:55 -04:00
Ehsan Akhgari
392100a449
Backout changeset 65410094add4 (bug 539356) because of performance and correctness regressions
2012-07-03 20:19:18 -04:00
Ehsan Akhgari
64c98e2147
Backout changeset 6234134d4430 (bug 539356) because of performance and correctness regressions
2012-07-03 20:08:19 -04:00
Matt Woodrow
660deac456
Bug 539356 - Part 28 - Cached nsDisplayBackground rasterizations with BasicLayers. r=roc
2012-06-30 15:06:14 +12:00
Matt Woodrow
ffcd727240
Bug 741682 - Disable component alpha layers with BasicLayers. r=roc
2012-06-30 15:06:12 +12:00
Matt Woodrow
cbd39105d9
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-06-30 15:06:11 +12:00
Matt Woodrow
9193c41326
Bug 539356 - Part 8b - Move painting of retained layers to the view manager flush, and only composite on the paint event. r=roc
2012-06-30 15:06:10 +12:00
Matt Woodrow
a072bd4903
Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc
2012-06-30 15:06:10 +12:00
Matt Woodrow
147e839dc3
Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc
2012-06-30 15:06:10 +12:00
Chris Lord
9fd49ed93f
Bug 758620 - Force fixed-position frames to have their own layers. r=roc
...
Introduce a new display-list item 'nsDisplayFixedPosition' that represents
fixed-position elements. This item cannot be merged, which forces fixed
position elements to have their own layer, and has a BuildLayer implementation
that sets the necessary metadata on a Layer to be able to maintain its
position correctly during composition when asynchronously panning and zooming.
2012-06-27 16:43:57 +01:00
Ed Morley
ef4179d2d4
Backout de70e79ced32, ddd519d0767e, 9b952d924953 & 03efce585669 (bug 758620) for reftest failures
2012-06-26 16:13:33 +01:00
Chris Lord
1448e862c1
Bug 758620 - Force fixed-position frames to have their own layers. r=roc
...
Introduce a new display-list item 'nsDisplayFixedPosition' that represents
fixed-position elements. This item cannot be merged, which forces fixed
position elements to have their own layer, and has a BuildLayer implementation
that sets the necessary metadata on a Layer to be able to maintain its
position correctly during composition when asynchronously panning and zooming.
2012-06-26 14:43:11 +01:00
Kartikaya Gupta
5ace9309ab
Bug 763570 - Part 1 - Back out 18b206c111cd from bug 747493 as we have a better solution that also fixes other broken frameset behaviours. r=tnikkel
2012-06-15 17:49:46 -04:00
Ed Morley
a73fc227f9
Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms
2012-06-11 10:08:32 +01:00
Matt Woodrow
e1af0db87a
Bug 741682 - Disable component alpha layers with BasicLayers. r=roc
2012-06-11 16:45:38 +12:00
Matt Woodrow
147cab5783
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
...
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Matt Woodrow
1b5d7c74d7
Bug 539356 - Part 8b - Move painting of retained layers to the view manager flush, and only composite on the paint event. r=roc
2012-06-11 16:44:09 +12:00
Matt Woodrow
7b18141336
Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc
2012-06-11 16:44:08 +12:00
Matt Woodrow
e15259b14a
Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc
2012-06-11 16:44:08 +12:00
Timothy Nikkel
7437c32e01
Bug 747493. Give frameset documents a basic scroll layer so we can communicate the document's metrics to the compositor and frontend. r=roc,mats
2012-06-09 19:26:57 -05:00
Gervase Markham
ca171eec44
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Jonathan Watt
75835eecfc
Bug 734082 - Compute and store bounds and visual overflow bounds for both SVG leaf and container frames. r=roc.
2012-05-17 05:05:09 +01:00
Matt Woodrow
5939c267ea
Bug 722603 - Improve dirty rect calculation with 3d transforms and preserve-3d. r=roc
2012-05-11 19:49:14 +12:00
Andreas Gal
f02dd1247e
Do background image scaling on the GPU. Part 2: Support turning simple background images into image layers (bug 750172, r=roc).
2012-05-03 13:13:12 -07:00
Andreas Gal
6ced71cf11
Do image scaling on the GPU (bug 650988, r=roc,cjones).
2012-05-03 07:05:55 -07:00
Robert O'Callahan
3e30bf4a46
Bug 749075. Part 1: Refactor the nsDisplayItem API for testing whether the item needs to be rendered to a transparent surface. r=mattwoodrow
...
Currently we return an extra out parameter on GetOpaqueRegion. This is ugly and it's also going to be inefficient
because in a followup patch I'm going to avoid calls to GetOpaqueRegion, but we still need to know whether the item
needs a transparent surface. So this patch removes that out parameter. Instead, we rely on the fact that only
Windows' glass-window-background display item needs to force a transparent surface, and there can only be one
of those per window. So we store a reference to it in the nsDisplayListBuilder if there is one, and then we can
efficiently tell if any leaf display item is the one that forces a transparent surface. For display items that
wrap a list, we continue to store whether they need to force a transparent surface in a boolean in the list.
2012-05-03 16:29:05 +12:00
Robert O'Callahan
8a99107167
Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec
2012-04-19 14:40:43 +12:00
Ehsan Akhgari
c609eff858
Backout changeset 0b25ccd32a49 (bug 745934) for reftest failures; a=bustage
2012-04-18 23:52:59 -04:00
Robert O'Callahan
c47ff166e8
Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec
2012-04-19 14:40:43 +12:00
Robert O'Callahan
08d74c5ace
Bug 735898. Part 6: Avoid nsIFrame::GetOffsetTo calls by caching a frame/offset pair in nsDisplayListBuilder, using the cache from nsDisplayListBuilder::ToReferenceFrame, and having BuildDisplayListForChild efficiently update the cached frame from parent to child when possible. Also, use display items' precalculated ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame where possible. r=mattwoodrow,a=blocking-fennec
2012-04-18 17:14:14 +12:00
Robert O'Callahan
e94e05578d
Bug 735898. Part 5.9: Remove nsDisplaySVGEffects::mEffectsFrame since it's always the same as mFrame. r=mattwoodrow,a=blocking-fennec
2012-04-18 17:12:53 +12:00
Robert O'Callahan
e7e04f4dc1
Bug 728983. Part 1: Add nsDisplayItem::GetMergedFrames. r=mattwoodrow
2012-04-17 17:44:32 +12:00
Robert O'Callahan
3d0a865462
Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
...
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-13 23:44:06 +12:00
Robert O'Callahan
ec5d3ef73c
Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow
2012-04-13 23:44:06 +12:00
Mark Capella
1a44f1208f
Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
...
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Robert O'Callahan
c1fcb8ec46
Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures.
2012-04-12 00:34:23 +12:00
Robert O'Callahan
09dac64814
Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
...
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-11 16:49:34 +12:00
Robert O'Callahan
84a03695da
Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow
2012-04-11 16:48:47 +12:00
Robert O'Callahan
04eb195d7e
Bug 735898. Part 0: Fix comment.
2012-04-11 16:48:37 +12:00
Robert O'Callahan
d0dd680745
Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
...
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.
With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).
FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Matt Woodrow
bf3005c3f4
Bug 700240 - Print display lists to a file. r=roc,bjacob
2012-03-01 21:26:09 +13:00
Jonathan Watt
738cd09b8c
Bug 727805 - Give aFactor in nsDisplayList.cpp a more meaningful name. r=mattwoodrow.
2012-02-17 06:08:33 +00:00
Matt Woodrow
77b2ac0b85
Bug 722603 - Part 2: Use cached transform as much as possible (r=roc).
2012-02-14 01:12:49 -08:00
Mats Palmgren
1e2a52a8bd
Bug 619273 - Move the selection state bit from frames to content nodes. r=smaug
2011-12-20 10:15:41 +01:00
Robert O'Callahan
9324e765b3
Bug 702739. When a element has an active transform and the element's content (before being transformed) is no larger than the window, prerender its entire contents into layers when any of it is visible, so we don't have to rerender it and/or resize its layers as it moves into or out of view. r=mats
2011-12-19 10:57:35 +13:00
Matt Brubeck
7d451f6bac
Back out bug 710521, bug 672013, bug 702739 because of Mac reftest failures
2011-12-18 08:15:09 -08:00
Robert O'Callahan
cfa4fb4af5
Bug 702739. When a element has an active transform and the element's content (before being transformed) is no larger than the window, prerender its entire contents into layers when any of it is visible, so we don't have to rerender it and/or resize its layers as it moves into or out of view. r=mats
2011-12-18 21:46:44 +13:00
Matt Woodrow
0f4f45950d
Bug 700240 - Print nsSVGEffects types. r=roc
2011-11-17 16:44:16 +13:00
Matt Woodrow
353e3c17e7
Bug 700240 - Make display list debugging independent of DEBUG. r=khuey,roc
2011-11-17 16:44:16 +13:00
Robert O'Callahan
88740ba6da
Bug 681867. Part 2: remove nsDisplayForcePaintOnScroll. r=mats
2011-10-21 14:41:36 +13:00
Ehsan Akhgari
2a602a5685
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00