Commit Graph

437 Commits

Author SHA1 Message Date
Phil Ringnalda
b679ae2f4c Back out 0a88dee3b92b:dc5cc7d7b84d (bug 911889) for beaucoup unexpected assertions
--HG--
extra : rebase_source : a2a13633b6028c99a3c732dbbafe8c800bc32071
2013-10-28 23:38:02 -07:00
Robert O'Callahan
c2cf6c85d0 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.

--HG--
extra : rebase_source : e69b8e7a95d36720bd38d74f0789ede603e58a09
2013-09-04 23:30:57 +12:00
Birunthan Mohanathas
b823b8896b Bug 784739 - Switch from NULL to nullptr in layout/; r=ehsan
--HG--
extra : rebase_source : 0d0d9e11be9d39e4457bddd0bac7e19a50b91b0b
2013-10-08 14:47:21 -04:00
Nicolas Silva
1df67b87cd Bug 922202 - Make PlanarYCbCrImage::Data forward-declarable and remove some header includes. r=bjacob 2013-10-01 17:57:50 -07:00
Benoit Jacob
0f90257361 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
bec09ce09b 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
b03b0b7668 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
989c6f730f 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
6ebf300a4f Bug 912953 - Use consistent rounding for the scroll offset transform. r=roc 2013-09-06 11:28:34 +02:00
Markus Stange
f6f7290494 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
8ca63f18ef Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Ehsan Akhgari
c2ce7e67ab Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Markus Stange
a16556961c Bug 904541 - Don't #include Layers.h in nsPresContext.h. r=roc 2013-08-14 13:33:03 +02:00
Nicholas Cameron
5c3ac83aa6 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
5d7998f39f 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
f46dc128f3 Bug 899583 - Disallow BigImage with YCbCr compositing. r=BenWa 2013-08-02 01:02:06 +02:00
David Zbarsky
f6bba95714 Backout 4c89002460da (Bug 873378) for breaking the settings app on B2G 2013-07-26 13:20:23 -07:00
Milan Sreckovic
700cdb0c5b 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
9cca89434d 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
146fa01a1e 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
28c11b7893 Backout a17b6115cdd7 for causing reftest failures 2013-07-09 12:05:04 -04:00
Matt Woodrow
efcdad9840 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
5dbeaae395 Backout Bug 861805 for causing Bug 871729. rs=roc 2013-06-10 12:13:10 +12:00
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