Commit Graph

437 Commits

Author SHA1 Message Date
Phil Ringnalda
a2ef7eae17 Back out 0a88dee3b92b:dc5cc7d7b84d (bug 911889) for beaucoup unexpected assertions 2013-10-28 23:38:02 -07:00
Robert O'Callahan
ccf9176e1c Bug 911889. Part 2: Refactor MarkLayersActive code into its own class and be much more explicit about what it does. r=mattwoodrow
This also changes the functionality a little bit to track independent
per-property mutation counts and independent "content active" status.
2013-09-04 23:30:57 +12:00
Birunthan Mohanathas
e30d39fc7a Bug 784739 - Switch from NULL to nullptr in layout/; r=ehsan 2013-10-08 14:47:21 -04:00
Nicolas Silva
830e381fb6 Bug 922202 - Make PlanarYCbCrImage::Data forward-declarable and remove some header includes. r=bjacob 2013-10-01 17:57:50 -07:00
Benoit Jacob
f6f57bbbb4 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Matt Woodrow
5533037297 Bug 907926 - Try avoid having multiple path objects around since this is slow with DrawTargetCairo. r=Bas 2013-09-19 17:23:30 +12:00
Wes Kocher
4f27ce4389 Backed out 5 changesets (bug 907926, bug 911393, bug 917703) due to OSX reftest bustage during an unrelated CLOSED TREE
Backed out changeset 94a6733b01dc (bug 907926)
Backed out changeset 44108fb6f7cc (bug 917703)
Backed out changeset f2dd2a27af69 (bug 911393)
Backed out changeset fdb0d1053128 (bug 907926)
Backed out changeset b3616b786e8f (bug 907926)
2013-09-19 17:56:18 -07:00
Matt Woodrow
f6b23d6718 Bug 907926 - Try avoid having multiple path objects around since this is slow with DrawTargetCairo. r=Bas 2013-09-19 17:23:30 +12:00
Markus Stange
ad14444c6f Bug 912953 - Use consistent rounding for the scroll offset transform. r=roc 2013-09-06 11:28:34 +02:00
Markus Stange
9accddedeb Bug 912953 - Apply the scroll offset transform to inactive layer managers for LAYER_SVG_EFFECTS, too. r=roc 2013-09-06 11:28:02 +02:00
Robert O'Callahan
51222bdd45 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg 2013-09-02 20:41:57 +12:00
Ehsan Akhgari
45b9b9b617 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Markus Stange
6e4e8dcdca Bug 904541 - Don't #include Layers.h in nsPresContext.h. r=roc 2013-08-14 13:33:03 +02:00
Nicholas Cameron
d56ec9fc3a Bug 899884. Take into account the app unit to dev pixel ratio when reusing mask layers. r=roc 2013-08-09 21:42:05 +12:00
Benoit Girard
064707f0b9 Bug 873378 - Add a limit on mobile of 20 layers per container layer. r=roc 2013-07-16 16:17:18 -04:00
Nicolas Silva
500da44280 Bug 899583 - Disallow BigImage with YCbCr compositing. r=BenWa 2013-08-02 01:02:06 +02:00
David Zbarsky
22351cd58b Backout 4c89002460da (Bug 873378) for breaking the settings app on B2G 2013-07-26 13:20:23 -07:00
Milan Sreckovic
a180283e01 Bug 895003 - Introduce a second preference to control the chrome paint flashing - nglayout.debug.paint_flashing_chrome. r=roc
The original pref still controls content and chrome when set. The preference is now live, for content and chrome, the change will be seen on the next refresh. The cached value is now in nsPresContext, rather than nsRefreshDriver.
2013-07-22 11:51:38 -04:00
Benoit Girard
311b8ba662 Bug 873378 - Add a limit on mobile of 20 layers per container layer. r=roc 2013-07-16 16:17:18 -04:00
Matt Woodrow
db97b97ed1 Bug 889953 - Add a bounds property to ColorLayer to restrict the drawing region instead of using a clip. This stops our accelerated layer backends from requiring a temporary surface to render transformed ColorLayers. r=roc 2013-07-09 10:11:00 -04:00
Matt Woodrow
c0cbe6c60f Backout a17b6115cdd7 for causing reftest failures 2013-07-09 12:05:04 -04:00
Matt Woodrow
994decdfbe Bug 889953 - Add a bounds property to ColorLayer to restrict the drawing region instead of using a clip. This stops our accelerated layer backends from requiring a temporary surface to render transformed ColorLayers. r=roc 2013-07-09 10:11:00 -04:00
Matt Woodrow
23b4bff9c2 Backout Bug 861805 for causing Bug 871729. rs=roc 2013-06-10 12:13:10 +12:00
Robert O'Callahan
49706fc739 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 2013-05-17 00:34:24 +12:00
Jonathan Watt
fc115ae308 Bug 870816 - Replace DEBUG_INVALIDATIONS with a pref called nglayout.debug.invalidation. r=mattwoodrow 2013-05-14 00:47:02 +01:00
Jonathan Watt
77791f7f65 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
7dced5c200 Bug 859018 - Remove the MSVC exemption for FAIL_ON_WARNINGS in layout. r=dbaron 2013-04-28 19:02:35 +09:00
Ryan VanderMeulen
65a07feefc Backed out changeset 4a55715677d7 (bug 856807) for intermittent Linux32 reftest-ipc timeouts. 2013-04-19 11:17:21 -04:00
Robert O'Callahan
916cde3a75 Bug 862180. Part 2: Rename nsDisplayItem::GetUnderlyingFrame() to Frame(). r=mattwoodrow 2013-04-20 00:02:13 +12:00
Robert O'Callahan
0ded47a99c 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
45baa1b3b6 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
37f524bc38 Bug 861805 - Stop layers from snapping transforms for SVG content. r=roc 2013-04-15 13:30:28 +01:00
Robert O'Callahan
29d310bf8a 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.
2013-03-04 22:56:02 +13:00
Robert O'Callahan
c3bccb99ff Bug 841192. Part 3: Make DisplayItemClip members private and encapsulate them in a real API. r=mattwoodrow 2013-03-04 22:56:00 +13:00
Robert O'Callahan
25d81298ca Bug 841192. Part 2: Move FrameLayerBuilder::Clip to DisplayItemClip. r=mattwoodrow 2013-03-04 22:55:59 +13:00
Nicholas Cameron
c8a825d8a2 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
43597324cf Back out 795e9ec338a7 (bug 856272) because of test failures 2013-04-04 17:40:16 -07:00
Nicholas Cameron
957e02007d 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
3e44dd2e18 Bug 855233 - Recreate mask layers if the ContainerParameters offset changes. r=nrc 2013-04-04 15:59:24 +13:00
Robert O'Callahan
cc4bab438d 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.
2013-03-22 15:17:29 +13:00
Robert O'Callahan
6d813609a0 Bug 852489. Part 6: Don't temporarily reset clip when recycling Thebes/Image/ColorLayers. r=mattwoodrow 2013-03-22 15:17:29 +13:00
Robert O'Callahan
de4268f10b Bug 852489. Part 5: Don't temporarily reset clip rect when reusing an existing layer. r=mattwodrow 2013-03-22 15:17:29 +13:00
Robert O'Callahan
cf1577ce09 Bug 852489. Part 4: Don't call RepositionChild if the layer is already in the right position. r=mattwoodrow 2013-03-22 15:17:29 +13:00
Benoit Girard
f4b3710284 Bug 851611 - Part 3: Rename headers. r=jrmuizel 2013-03-18 15:25:50 +01:00
Benoit Girard
4146042cfd Bug 851611 - Part 2: Update profiler calls. r=jrmuizel 2013-03-16 00:47:02 -04:00
Matt Woodrow
686caae4a2 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
d38fd349ae 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
7f3e7b6853 Backed out changeset e8ffcf4b8e22 (bug 846901) 2013-03-19 14:15:07 +00:00
Robert O'Callahan
ef08683fba 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
90c9bf415e Backed out changeset c75481a07302 (bug 851611) 2013-03-18 14:10:35 +00:00