Robert O'Callahan
74264633f3
Bug 972713. Part 2: Ignore active scrolled roots in inactive layer trees, because they don't help and could hurt. r=mattwoodrow
2014-02-18 17:00:35 +13:00
Robert O'Callahan
e8c97c2ed5
Bug 966397. Part 2: Don't look at ancestors of mContainerReferenceFrame when searching for a fixed-pos ancestor we belong to, since we'll change coordinate spaces. The metadata will be attached to an ancestor layer in that case. r=mattwoodrow
...
--HG--
extra : rebase_source : cfb56bb2111abce99cd475b9fa8c516d53621ed4
2014-02-17 14:51:49 +13:00
Robert O'Callahan
39c3f2bf7b
Bug 966397. Don't try to add fixed-pos metadata for inactive layer subtrees. r=mattwoodrow
...
--HG--
extra : rebase_source : 119635c63af471a0d6384901d99f242b14a39e9a
2014-02-17 14:51:49 +13:00
Ms2ger
479e9f45c5
Bug 952033 - Part b: Use IntSize in CreateOffscreenSurface; r=roc
2014-02-09 09:04:38 +01:00
Robert O'Callahan
4b5173050a
Bug 967587. Back out this hunk of bug 946502 part 3 until we can fix the regressions. r=mattwoodrow
...
--HG--
extra : rebase_source : d52729121395a8a59c99e4e30a4565b8eab7f13d
2014-02-07 13:17:52 +13:00
Matt Woodrow
21451501e0
Bug 952011 - Use Untransform API to safetly untransform points when we have a projective matrix. r=roc
2014-02-04 12:25:23 +13:00
Phil Ringnalda
ca40ef84b6
Backed out 4 changesets (bug 952011)
...
CLOSED TREE
Backed out changeset da7b3853cbfd (bug 952011)
Backed out changeset 413375909458 (bug 952011)
Backed out changeset 577290ff145d (bug 952011)
Backed out changeset 89491b5d0af8 (bug 952011)
2014-01-30 21:44:41 -08:00
Matt Woodrow
1339dec76d
Bug 952011 - Use Untransform API to safetly untransform points when we have a projective matrix. r=roc
2014-01-29 13:10:35 +13:00
Benoit Jacob
3991287fb7
Bug 964442 - Make CreateImage just take a plain format parameter - r=jrmuizel
2014-01-30 17:58:51 -05:00
Benoit Jacob
e6d46b061f
Bug 962784 - Convert ImageTypes.h to typed enums - r=jrmuizel
...
find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(GRALLOC_PLANAR_YCBCR\|PLANAR_YCBCR\|SHARED_RGB\|CAIRO_SURFACE\|MAC_IOSURFACE\|REMOTE_IMAGE_BITMAP\|SHARED_TEXTURE\|REMOTE_IMAGE_DXGI_TEXTURE\|D3D9_RGB32_TEXTURE\)\($\|[^A-Za-z0-9_]\)/\1ImageFormat::\2\3/g'
find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's|ImageFormat\:\:ImageFormat|ImageFormat|g'
find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)STEREO_MODE_\(MONO\|LEFT_RIGHT\|RIGHT_LEFT\|BOTTOM_TOP\|TOP_BOTTOM\)\($\|[^A-Za-z0-9_]\)/\1StereoMode::\2\3/g'
find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's|StereoMode\:\:StereoMode|StereoMode|g'
2014-01-30 17:58:49 -05:00
Robert O'Callahan
9a8f69348f
Bug 946502. Part 3: Extend FrameLayerBuilder to set fixed-pos metadata on layers created for background-attachment:fixed content. r=mattwoodrow
...
--HG--
extra : rebase_source : dbaab718d7a358bfaa40124913bcd5acf0255aa1
2013-12-18 00:30:21 +13:00
Matt Woodrow
eec83a3058
Bug 946952 - Run a 'compressed' paint up to 1 second after skipping the ColorLayer optimization. r=roc
2014-01-30 18:41:17 +13:00
David Zbarsky
bed5a418db
Bug 952977: Convert Layer's mTransform to gfx::Matrix4x4 r=nical
2014-01-27 10:29:06 -05:00
David Zbarsky
44eeb608e1
Bug 952977: Convert GetTransform to gfx::Matrix4x4 r=nical
2014-01-27 10:28:47 -05:00
David Zbarsky
1e61d187aa
Bug 952977: Convert SetBaseTransform to gfx::Matrix4x4 r=nical
2014-01-27 10:28:33 -05:00
Benoit Jacob
67a17b1047
Bug 959448 - Convert most of LayersTypes.h to typed enums - r=nrc
...
find content/media dom/ipc widget/ gfx/tests gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)LAYERS_\(NONE\|BASIC\|OPENGL\|D3D9\|D3D10\|D3D11\|CLIENT\|LAST\)\($\|[^A-Za-z0-9_]\)/\1LayersBackend::LAYERS_\2\3/g'
find widget gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)BUFFER_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1BufferMode::BUFFER_\2\3/g'
find widget gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)BUFFER_\(BUFFERED\)\($\|[^A-Za-z0-9_]\)/\1BufferMode::\2\3/g'
find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)CLIP_\(DRAW\|DRAW_SNAPPED\)\($\|[^A-Za-z0-9_]\)/\1DrawRegionClip::\2\3/g'
find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)CLIP_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1DrawRegionClip::CLIP_\2\3/g'
find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SURFACE_\(NONE\|OPAQUE\|SINGLE_CHANNEL_ALPHA\|COMPONENT_ALPHA\)\($\|[^A-Za-z0-9_]\)/\1SurfaceMode::SURFACE_\2\3/g'
find gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SCALE_\(STRETCH\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1ScaleMode::\2\3/g'
find gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SCALE_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1ScaleMode::SCALE_\2\3/g'
2014-01-23 13:26:41 -05:00
Benoit Jacob
93826fc6b0
Bug 959380 - 4/5 - Make gfxContentType a typed enum - r=jrmuizel
...
find . -type f | grep -v '\./obj' | grep -v '\.hg' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)GFX_CONTENT_\(COLOR\|ALPHA\|COLOR_ALPHA\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1gfxContentType::\2\3/g'
2014-01-23 13:26:40 -05:00
Benoit Girard
b60a7290fe
Bug 941095 - Restore subpixelaa on HIDPI. r=backout
2014-01-19 22:31:02 -05:00
Ali Akhtarzada
2b8742c537
Bug 959123 - Implement CairoImage::GetAsSourceSurface. r=nical
...
Deprecate CairoImage::Data::mSurface and add an mSourceSurface.
Also change all the callers of CairoImage::SetData to set the
SourceSurface as well.
Also change scope of CairoImage::mSource to private
2014-01-17 11:22:09 -05:00
Benoit Jacob
2d5774ca0a
Bug 958375 - 6/9 - Make BackendType and NativeSurfaceType typed enums - r=Bas
...
Specifically:
r=Bas for manual changes
f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Ms2ger
9b8e245bf9
Bug 950143 - Remove the implicit conversion operator from nsIntSize to IntSize; r=roc
2013-12-31 10:06:12 +01:00
Robert O'Callahan
5056e8e227
Bug 945203. Part 8: Add FrameLayerBuilder support for capturing nsDisplayEventRegions data into ThebesLayers. r=mattwoodrow
...
--HG--
extra : rebase_source : e61c1bcfa700ac88523fb34eab7c6afd470d0d68
2013-12-17 01:16:24 +13:00
Robert O'Callahan
9626c36371
Bug 945203. Part 7: Add ScaleRegionToOutsidePixels. r=mattwoodrow
...
--HG--
extra : rebase_source : 1c54863818607c45d04249e5df407b3fb3af40dd
2013-12-17 01:11:59 +13:00
Robert O'Callahan
78c442b875
Bug 945203. Part 6: Move ThebesLayerData to the top level so it can be referenced elsewhere .r=mattwoodrow
...
--HG--
extra : rebase_source : d0df9b439b454a1c6bef1a8f33f2f96754077ff1
2013-12-17 01:11:01 +13:00
Robert O'Callahan
56c6c3532c
Bug 945203. Part 5: Remove anonymous namespace. r=mattwoodrow
...
--HG--
extra : rebase_source : c8a35bed286161a339d4d68d4c0d21fb1c391ab2
2013-12-17 01:04:03 +13:00
David Zbarsky
42fb1763e1
Bug 952977: Switch ScaleAndTranslate to gfx::Matrix r=nical
2013-12-29 18:35:53 -05:00
Timothy Nikkel
a969eaf546
Bug 951467. Give scroll layer items the bounds of the scroll port, not the bounds of the display port. r=roc
...
The bounds of the scroll port match what will actually be drawn on the screen.
The bounds of the contained content (sized to the display port) are still accessible via mList.GetBounds, and similarly the visible rect of the contained content is mList.GetVisibleRect. The external bounds/visible rect are GetBounds and GetVisibleRect on the nsDisplayScrollLayer object itself.
We implement nsDisplayScrollInfoLayer::GetBounds solely so that it continues to return an empty rect because we expect active empty layers to have empty visible rects.
We no longer have to set our mVisibleRect in nsDisplayScrollLayer::ComputeVisibility because nsDisplayList::ComputeVisibilityForSublist now does it correctly for us (like other items).
We also have to teach ContainerState::ProcessDisplayItems to not set the visible region for scroll layers because it has the external visible region, not the larger internal display port sized visible region. We instead let BuildContainerLayer set the visible region of the layer.
2013-12-17 23:02:56 -06:00
Matt Woodrow
4b38430d54
Bug 948848 - Fold transform scale factors down to leaf layers even for temporary layer managers since it can make a difference for clips that are snapped to pixel boundaries. r=roc
2013-12-16 18:37:47 +13:00
Benoit Girard
ecabcc60cf
Bug 941095 - Part 2: Disable subpixelaa + component alpha. r=mattwoodrow
...
--HG--
extra : rebase_source : 7e3a0d3710fb29b47615cc0254135d3b44637ed8
2013-12-13 13:53:18 -05:00
Robert O'Callahan
c19c09f778
Bug 945634. The fixed-pos anchor point should be in the layer's coordinate system, whose 0,0 is the top-left of the fixed-pos frame. r=mattwoodrow
2013-12-13 01:33:02 +13:00
Brad Lassey
f30a2db1ea
Bug 915673 - Only use tiled layers for scrollable layers on b2g. r=tn,bgirard
...
Introduce a constructor for thebes layers that can take a hint about what the
layer will be used for, and use that hint to only create tiled layers when
the layer represents scrollable content.
2013-09-17 13:55:09 -04:00
Matt Woodrow
60083d6518
Bug 941050 - Don't assume fixed position layers are only created for ContainerLayers owned by the ViewportFrame. r=tn
2013-11-29 18:17:53 +13:00
Benoit Girard
f8fd653be7
Bug 942483 - Port paint-dumping to android/b2g. r=gal
2013-11-23 17:44:18 -05: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
4e3b98bb4e
Bug 919144. Part 7: Make fixed-pos frames with displayports animated geometry roots, and make FrameLayerBuilder responsible for setting fixed-pos layer parameters instead of nsDisplayFixedPosition. r=mattwoodrow
...
This patch also makes FrameLayerBuilder responsible for setting the visible region
of a fixed-pos layer to the displayport intersected with the draw-region of
the layer. This will let us remove some displaylist code in later patches.
We add special handling to GetAnimatedGeometryRootFor for nsDisplayScrollLayers,
to match what nsDisplayList::IsFixedItem does.
--HG--
extra : rebase_source : f9258243fe666d5dee33c13a88e596bbed8e2c1c
2013-09-27 18:01:16 +12:00
Robert O'Callahan
14f129a5c4
Bug 919144. Part 5: Add ThebesLayerData::mReferenceFrame. r=mattwoodrow
...
--HG--
extra : rebase_source : f569d1712be8e43aeff31ca2f045a4b87bbd1de6
2013-09-27 18:01:15 +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
Nicholas Cameron
2ed8c68721
No bug. Fix an ifdef in FrameLayerBuilder. r=mattwoodrow
2013-11-18 09:33:21 +13:00
Matt Woodrow
4fd3487757
Bug 934860 - Followup to fix build on a CLOSED TREE
2013-11-17 17:24:53 +13:00
Matt Woodrow
a2ab151d04
Bug 934860 - Part 6: Add a pref to disable single rect painting and disable it for now for causing TART regressions. r=jrmuziel
2013-11-14 13:46:19 +13:00
Matt Woodrow
95ac7eda30
Bug 880031 - Make animated transforms force all above content to be in a separate ThebesLayer. r=roc
2013-11-08 19:04:12 +13:00
Matt Woodrow
53a5b436f2
Bug 934860 - Don't paint display items that don't intersect the current invalid rects. r=roc
2013-11-07 08:10:50 +13:00
Matt Woodrow
0f1ecdc3ec
Bug 934860 - Draw each rect of the invalid region separately on Direct2D. r=roc
2013-11-07 08:10:50 +13:00
Matt Woodrow
9731cb7c16
Bug 934860 - Move paint region clipping into DrawThebesLayer. r=roc
2013-11-07 08:10:50 +13:00
Matt Woodrow
405dd8bf86
Bug 934860 - Move some parts of FrameLayerBuilder::DrawThebesLayer into helper functions. r=roc
2013-11-07 08:10:49 +13:00
Matt Woodrow
33e71bb6ac
Bug 934860 - Start and finish transactions with temporary layer managers each time we use them to ensure that these are paired. r=roc
2013-11-07 08:10:49 +13:00
Robert O'Callahan
2709003286
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
Phil Ringnalda
98204c9e49
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
58a3ced7c4
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
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
Nicolas Silva
8605f47406
Bug 922202 - Make PlanarYCbCrImage::Data forward-declarable and remove some header includes. r=bjacob
2013-10-01 17:57:50 -07:00
Benoit Jacob
c1d7f88886
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
2319f16532
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
158158f87e
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
a94f66881b
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
3feac704b4
Bug 912953 - Use consistent rounding for the scroll offset transform. r=roc
2013-09-06 11:28:34 +02:00
Markus Stange
638049433d
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
33cdb42706
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
5fa9157954
Bug 906790 - Minimize layout/base #includes; r=roc
2013-08-19 18:55:18 -04:00
Markus Stange
ed4042636b
Bug 904541 - Don't #include Layers.h in nsPresContext.h. r=roc
2013-08-14 13:33:03 +02:00
Nicholas Cameron
14c306ddce
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
7186e08ba4
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
134b1e0673
Bug 899583 - Disallow BigImage with YCbCr compositing. r=BenWa
2013-08-02 01:02:06 +02:00
David Zbarsky
4a272eb16a
Backout 4c89002460da (Bug 873378) for breaking the settings app on B2G
2013-07-26 13:20:23 -07:00
Milan Sreckovic
7482429c48
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
72ce20909b
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
93da75702f
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
68a23b3791
Backout a17b6115cdd7 for causing reftest failures
2013-07-09 12:05:04 -04:00
Matt Woodrow
c39a74c126
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
949de08277
Backout Bug 861805 for causing Bug 871729. rs=roc
2013-06-10 12:13:10 +12:00
Robert O'Callahan
7f35fbcd56
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
bf6b128469
Bug 870816 - Replace DEBUG_INVALIDATIONS with a pref called nglayout.debug.invalidation. r=mattwoodrow
2013-05-14 00:47:02 +01:00
Jonathan Watt
78d6740b24
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
761bf787f0
Bug 859018 - Remove the MSVC exemption for FAIL_ON_WARNINGS in layout. r=dbaron
2013-04-28 19:02:35 +09:00
Ryan VanderMeulen
5376b3dcca
Backed out changeset 4a55715677d7 (bug 856807) for intermittent Linux32 reftest-ipc timeouts.
2013-04-19 11:17:21 -04: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
037af48e84
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
223146b735
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
082ba25ac4
Bug 861805 - Stop layers from snapping transforms for SVG content. r=roc
2013-04-15 13:30:28 +01: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
7fde7ae78c
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
74c9caea47
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
90c04a5e03
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
11834fef4e
Back out 795e9ec338a7 (bug 856272) because of test failures
2013-04-04 17:40:16 -07:00
Nicholas Cameron
04b8d0946c
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
02007e421a
Bug 855233 - Recreate mask layers if the ContainerParameters offset changes. r=nrc
2013-04-04 15:59:24 +13: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
1cda36613a
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
9c2443b17a
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
11da332212
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
fc10a7cfe4
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
9d12529d78
Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
...
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Matt Woodrow
667dc0c39c
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
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
Ed Morley
b2109c458f
Backed out changeset c75481a07302 (bug 851611)
2013-03-18 14:10:35 +00:00
Ed Morley
2b1775b4e9
Backed out changeset d195190adc48 (bug 851611)
...
--HG--
rename : tools/profiler/GeckoProfiler.h => tools/profiler/sampler.h
rename : tools/profiler/GeckoProfilerImpl.h => tools/profiler/sps_sampler.h
2013-03-18 14:10:30 +00:00
Benoit Girard
664cf994b4
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 : 552fe1d3ff61d15b264aaf86f7c8cb4f4eff69d1
2013-03-18 14:41:02 +01:00
Benoit Girard
c4c6a0ddf5
Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
...
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
Paul Rouget
38a173fccd
Bug 847890 - paint flashing for content only. r=roc
2013-03-12 11:01:00 -07:00
Ed Morley
6a8c65a07f
Backed out changeset eaf182f23c3a (bug 847890) for failures in test_bug847890_paintFlashing.html on a CLOSED TREE
2013-03-13 10:06:34 +00:00
Paul Rouget
09f83d1399
Bug 847890 - paint flashing for content only. r=roc
2013-03-12 11:01:00 -07:00
Matt Woodrow
7876915769
Bug 846971 - Don't create layers that are scaled to 0. r=roc
2013-03-06 09:04:40 +13:00
Robert O'Callahan
ff837639e6
Bug 845526 - Limit complexity of invalid region in RemoveFrameFromLayerManager. r=mattwoodrow
2013-03-02 12:21:00 -05:00
Ed Morley
8040985ec5
Backed out changeset 05c35dc73323 (bug 845526)
2013-02-27 12:49:29 +00:00
Robert O'Callahan
bffb159b08
Bug 845526. Limit complexity of invalid region in RemoveFrameFromLayerManager. r=mattwoodrow
...
--HG--
extra : rebase_source : ca0a1d7928c991604d5979bcf35b4fcea462c31a
2013-02-27 16:05:32 +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
Anthony Jones
3c191a8ead
Bug 825808 - Fix animations by marking transforms as not fixed. r=roc
2013-01-12 15:48:55 -05:00
Nicholas Cameron
3ad3f5b421
Bug 824454; use the resolution scale in OMTA transforms. r=cjones; a=blocking-basecamp
...
--HG--
extra : rebase_source : 8f045dd319418b771c5f31ca2f3477ab5673a5ad
2013-01-08 10:39:12 +01:00
Nicholas Cameron
9b79ff5d5b
Bug 822231; use the maximum scale for animated scaling. r=roc
2012-12-21 16:58:17 -05:00
Justin Lebar
326d9f9fdf
Bug 819791 - Part 8: Use explicit TArray copy constructors in FrameLayerBuilder. r=roc
2012-12-18 20:16:06 -05:00
Matt Woodrow
35435d86a2
Bug 821995 - Revert an incorrect change to matrix multiplication in ChooseScaleAndSetTransform. r=roc
2012-12-18 18:58:44 +13:00
Jeff Walden
7146c23e80
Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger
2012-12-14 18:58:45 -05:00
Matt Woodrow
f995da7b0f
Backout changeset 3ba90f85653a (Bug 805343) for regressing android talos tests
2012-12-14 11:51:00 +13:00
Matt Woodrow
5c2d424a58
Backout changeset e8f5182d94c5 (Bug 805343) for regressing android talos tests
2012-12-14 11:50:57 +13:00
Matt Woodrow
1bc8a88aa8
Bug 820541 - Only call ProcessRemovedDisplayItems once per transaction. r=roc
2012-12-13 09:47:05 +13:00
Robert O'Callahan
2e8615df8f
Bug 663776. Part 1: When determining whether the scale factors hav changed, we need to use GetBaseTransform for the old scale factors, because that's what stores the old transform that we computed scale factors from. r=mattwoodrow
...
--HG--
extra : rebase_source : 48be38242fa6bf51644dc45a804dd834e7eb97b7
2012-12-07 12:58:12 +13:00
Nicholas Cameron
2b16f074f3
Bug 782368; undo patch from 780868. r=mattwoodrow
...
--HG--
extra : rebase_source : 6eb5a907d4e1eafa6bc7c6dd5d185c28a4c248be
2012-12-12 10:57:52 +13:00
Matt Woodrow
16aadb5e5c
Bug 806099 - Use the 'best' active scrolled root when flattening layers, even if it isn't an ancestor of all display items. r=roc
2012-12-12 09:36:22 +13:00
Robert O'Callahan
4f25ab855f
Bug 805343. Part 2: Update FrameLayerBuilder::HasVisibleRetainedDataFor to account for occluded display items. r=mattwoodrow
...
--HG--
extra : rebase_source : 293895627ef5f37c508a23fe9e9a5639527aafcc
2012-12-10 18:49:17 +13:00
Robert O'Callahan
7aebe60cc1
Bug 805343. Identify DisplayItemDatas that are completely hidden by other opaque content in their ThebesLayer, and ignore them when we check to see whether there's an image we might need to invalidate. r=mattwoodrow
...
--HG--
extra : rebase_source : 7e68dc33324d8ff26286723bdbaaea18060354ac
2012-12-10 18:47:33 +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
Ed Morley
e987323650
Backout 55d5f3cd5c85, d89ae7f40549 & 270391fca858 (bug 663776) for assertions
2012-12-07 12:37:36 +00:00
Robert O'Callahan
744c20ef54
Bug 663776. Part 1: When determining whether the scale factors hav changed, we need to use GetBaseTransform for the old scale factors, because that's what stores the old transform that we computed scale factors from. r=mattwoodrow
2012-12-07 12:58:12 +13:00
Karl Tomlinson
b14cf687ae
b=786100 consider display item snap when hunting uniform background color r=roc
...
--HG--
extra : transplant_source : P%7CO%27%D3%E6%B6-eX%BF%AAw%EA%D1.%B8j%D9%2C
2012-12-05 15:53:17 +13:00
Matt Woodrow
521e6f100b
Bug 810302 - When flattening layers together to avoid component alpha, attempt to pick the 'best' active scrolled root to minimize invalidation during scrolling. r=roc
2012-12-04 19:05:22 +13:00
Matt Woodrow
e3e63818cc
Bug 812107 - Don't attempt to do scroll compensation in FrameLayerBuilder for transformed containers. r=roc
2012-12-04 19:04:20 +13:00
Kartikaya Gupta
268082eeb3
Bug 814418 - Fix some warnings about unused variables. r=ehsan
2012-11-30 11:06:37 -05: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
7c2f1cdf21
Bug 796847 - Make AdjustInvalidAreaForSVGEffects correctly adjust for the coordinate space of the input rect. r=dholbert
2012-11-28 17:06:07 +13:00
Matt Woodrow
27cfdfd6b4
Bug 802385 - Never flatten component alpha layers when compositing with an accelerated layer manager. r=roc
2012-11-22 18:34:32 +13:00
Matt Woodrow
989deb978d
Bug 810275 - Remove the inactive layer tree offset when compute the active scrolled root position. r=roc
2012-11-22 18:33:37 +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
Ed Morley
2f9dc50bd2
Backout d30b99cfd933 (bug 802385), 58ce0ddf7611 (bug 810275), 1c96b4a67d38 (bug 810592) for reftest failures
2012-11-22 09:59:23 +00:00
Matt Woodrow
4b2c6ecf11
Bug 802385 - Never flatten component alpha layers when compositing with an accelerated layer manager. r=roc
2012-11-22 18:34:32 +13:00
Matt Woodrow
3fa36733f3
Bug 810275 - Remove the inactive layer tree offset when compute the active scrolled root position. r=roc
2012-11-22 18:33:37 +13:00
Robert O'Callahan
b665acff49
Bug 812817. Ignore TYPE_ZERO nsDisplayItemData records constructed for the root layer. r=mattwoodrow
2012-11-19 23:54:50 +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
14d5cbdb22
Bug 810470. Part 3: Remove code for invalidating background-attachment:fixed content when scrolling. r=mattwoodrow
...
New invalidation logic takes care of this automatically.
--HG--
extra : rebase_source : 0112cfe02dbaaabf04e4010823a3cceeb6549fcd
2012-11-09 18:14:14 -05:00
Robert O'Callahan
15d3d80fbd
Bug 759993. Part 0: FrameLayerBuilder::GetThebesLayerScaleForFrame should not cross popup boundaries. r=mattwoodrow
2012-11-11 00:17:16 -08:00
Ryan VanderMeulen
25c2ea1279
Backed out 8 changesets (bug 810470) due OSX reftest failures.
2012-11-14 22:14:44 -05:00
Robert O'Callahan
a198ed8fb6
Bug 810470. Part 3: Remove code for invalidating background-attachment:fixed content when scrolling. r=mattwoodrow
...
New invalidation logic takes care of this automatically.
--HG--
extra : rebase_source : f598635e58390ef868a057e8ea8ab0cf2410b8a9
2012-11-09 18:14:14 -05:00
Matt Woodrow
e2651fa885
Bug 810186 - Don't unnecessarily nest inactive layers. r=roc
2012-11-13 14:22:21 -08:00
Ryan VanderMeulen
5bbdea2881
Backed out changeset 43e4b01c0150 (bug 810186) for reftest failures.
2012-11-13 18:25:09 -05:00
Matt Woodrow
11fd423f63
Bug 810186 - Don't unnecessarily nest inactive layers. r=roc
2012-11-13 14:22:21 -08:00
Matt Woodrow
bcdaf96109
Bug 805197 - Compute a region in LayerTreeInvalidation. r=roc
2012-11-12 10:31:15 -08:00
Bas Schouten
475f579ef1
Bug 809178: Don't let the inactive layer manager keep a gfxContext alive. r=mattwoodrow
2012-11-09 07:01:24 +01:00
Matt Woodrow
3cc8cded99
Bug 798964 - Don't invalidate nsDisplayBackgroundColor if only the image changed. r=roc
2012-11-07 11:04:53 +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
Chris Lord
ede9f6a2ea
Bug 803826 - Assert the layer builder exists in DrawThebesLayer. r=mattwoodrow
...
If the layer builder is NULL, this function will cause a crash. The layer
builder being NULL indicates a bug, so assert that it isn't.
2012-10-23 12:05:29 +01:00
Chris Lord
18da1f172a
Bug 803826 - Only reset the layer builder pointer in ~ClippedDisplayItem. r=mattwoodrow
...
PaintInactiveLayer was resetting the layer manager's layer builder pointer, but
this was unnecessary as this was also being done on destruction of the
ClippedDisplayItem.
2012-10-23 12:05:14 +01:00
Matt Woodrow
89a46852c0
Bug 803194 - Update DisplayItemData and frame data when the merged frame list changes. r=roc
2012-10-19 17:36:00 +13: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
efecba6d6c
Bug 795674 - Handled merged frame changes with minimal invalidations. r=roc
2012-10-16 14:23:07 +13:00
Matt Woodrow
f9d6f7fdd4
Bug 801365 - Invalidate ThebesLayers if the zoom factor changes. r=roc
2012-10-16 14:10:51 +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 ext:(%2C%20Matt%20Woodrow%20%3Cmwoodrow%40mozilla.com%3E)
0c3c65fbc0
Bug 770001. When a display item has changed, don't bother invalidating areas that have been clipped out. r=mattwoodrow, roc
2012-10-16 14:10:43 +13:00
Chris Lord
d02d1ec010
Bug 801566 - Fix building with --disable-debug and --enable-dump-painting. r=mattwoodrow
...
Change #ifdef DEBUG to MOZ_DUMP_PAINTING for function AppUnitsPerDevPixel.
2012-10-15 19:56:11 +01:00
Matt Woodrow
378eb8c2fa
Bug 795674 - Remove mNewDisplayItemData. r=roc
2012-10-12 15:39:46 +13:00
Matt Woodrow
640446a3b7
Bug 800287 - Optimize display list processing. r=roc
2012-10-12 12:38:25 +13:00
Matt Woodrow
15482dcc1f
Bug 795674 - Add DisplayItemData debugging code. r=roc
2012-10-12 12:38:25 +13:00
Matt Woodrow
d6769ad8b7
Bug 795674 - Refactor DisplayItemData storage in FrameLayerBuilder. r=roc
2012-10-12 12:38:24 +13:00
David Zbarsky
307c734c43
[Bug 799407] Fix build warnings in layout r=roc
2012-10-10 01:00:05 -04:00
Jeff Walden
c8bc078730
Eliminate a few nullptr-to-bool conversions to avoid a clang warning (which we upgrade to error) in some clang revs. No bug, r=sparky
...
--HG--
extra : rebase_source : 6b45c8e1dd07449a5ebc34704c19e05fe155f628
2012-10-09 16:14:42 -07:00
Matt Woodrow
039c299dc9
Bug 795899 - Remove merged frame handling in BuildContainerLayerFor. r=roc
2012-10-03 13:03:34 +13:00
Phil Ringnalda
457e38f7d1
merge m-c to m-i
2012-10-01 21:50:57 -07:00
Matt Woodrow
f0b58f5226
Bug 770144 - Use FuzzyEqual to compare layer scale values. r=roc
2012-10-02 17:00:09 +13:00
Benoit Girard
c8f1bc0779
Bug 796084 - Rename MOZ_JAVA_COMPOSITOR -> MOZ_ANDROID_OMTC. r=blassey
2012-10-01 16:01:35 -04:00
Matt Woodrow
0158c64b27
Bug 795591 - Disable merged display item tracking. r=cjones
2012-09-30 13:55:10 +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
Robert O'Callahan
c54bcbb4f7
Bug 539356 - Fix mActiveScrolledRootOffset to be offset to the reference frame. r=mattwoodrow
2012-09-28 23:19:39 +12:00
Matt Woodrow
3fb0e93449
Bug 781053 - Part 2 - Trigger empty transactions when an animated image in an ImageLayer changes frame. r=roc
2012-09-25 08:31:30 +12: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
6cc55ebd06
Bug 539356 - Handled scrolled inactive layers trees correctly. r=roc
2012-09-17 10:57:22 +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
326c678fc2
Bug 539356 - Add HasRetainedDataFor. r=roc
2012-08-29 17:48:45 +12:00
Robert O'Callahan
30decdd42c
Bug 770001. When comparing clips, adjust for any change in the ThebesLayer coordinate system. When clips are different, try to accumulate differences intelligently, taking into account that changes in clips outside the bounds of the clipped display item don't matter. r=mattwoodrow
2012-08-29 17:48:44 +12:00
Matt Woodrow
c0c8a1f3bd
Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc
2012-08-29 17:48:43 +12:00
Matt Woodrow
9de7f5c346
Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc
2012-08-29 17:48:41 +12:00
Matt Woodrow
1f7adc5ccc
Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc
2012-08-29 17:48:15 +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
14d849322c
Bug 539356 - Revert changes made by bug 728983
2012-08-29 17:38:58 +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
Robert O'Callahan
b86263ecdb
Bug 539356 - Fix mActiveScrolledRootOffset to be offset to the reference frame. r=mattwoodrow
2012-09-28 01:07:40 +12:00
Matt Woodrow
8b36b9562b
Bug 781053 - Part 2 - Trigger empty transactions when an animated image in an ImageLayer changes frame. r=roc
2012-09-25 08:31:30 +12: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
e4ca2fd71e
Bug 539356 - Handled scrolled inactive layers trees correctly. r=roc
2012-09-17 10:57:22 +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
5686e267b8
Bug 539356 - Add HasRetainedDataFor. r=roc
2012-08-29 17:48:45 +12:00
Robert O'Callahan
1460b91df9
Bug 770001. When comparing clips, adjust for any change in the ThebesLayer coordinate system. When clips are different, try to accumulate differences intelligently, taking into account that changes in clips outside the bounds of the clipped display item don't matter. r=mattwoodrow
2012-08-29 17:48:44 +12:00
Matt Woodrow
275fe981a6
Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc
2012-08-29 17:48:43 +12:00
Matt Woodrow
05068168cf
Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc
2012-08-29 17:48:41 +12:00
Matt Woodrow
0725f91922
Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc
2012-08-29 17:48:15 +12:00
Matt Woodrow
c73c0db2f1
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +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
Phil Ringnalda
a74c209e3e
Back out 8bd13443d0bc (bug 579517) to get a clean backout
...
--HG--
extra : rebase_source : 63c8087f0a6de5adeddb8762ff9e410b2b818e22
2012-09-24 21:21:10 -07:00
Ehsan Akhgari
2f19f537bf
Bug 579517 follow-up: Remove NSPR types that crept in
2012-09-24 17:55:10 -04:00
Matt Woodrow
35030f54e2
Bug 781053 - Part 2 - Trigger empty transactions when an animated image in an ImageLayer changes frame. r=roc
2012-09-25 08:31:30 +12: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
65c75afdfb
Bug 788044 - Apply the ContainerState offset to ImageLayers. r=roc
2012-09-24 14:56:39 +12:00
Robert O'Callahan
6fb1b72c6e
Bug 777194. Part 5: When choosing a subpixel position to scroll to, align the new position with the position that was most recently used to rerender the scrolled layer(s). r=tnikkel
...
If we always align the new scroll position with the previous scroll position, we can accumulate error and
gradually drift out of alignment with the layer pixels until we exceed the tolerance and are forced to
rerender everything.
2012-08-17 11:40:10 +12:00
Robert O'Callahan
64c9b766be
Bug 777194. Part 8: Nudge transform matrix in ChooseScaleAndSetTransform to avoid math error. r=tnikkel
2012-08-25 16:41:46 +12:00
Matt Woodrow
ab9f5929bd
Bug 788044 - Make inactive layer subtrees relative to the ContainerLayer, not the reference frame. r=roc
2012-09-17 10:25:33 +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
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
Matt Woodrow
631a554b99
Bug 789396 - Don't overwrite the existing mContainerLayerGeneration value on ThebesLayerItemsEntrys. r=roc
2012-09-12 09:17:26 +12:00
Nicholas Cameron
ba517de324
Bug 786817. Initialise ThebesDisplayItemLayerUserData::mMaskClipCount. r=roc
2012-09-06 16:07:53 +12:00
Nicholas Cameron
b5afb8cd06
Bug 769021; fix a memory leak with mask sharing. r=khuey
2012-09-04 13:02:56 +12:00
Nicholas Cameron
99b5362c97
Bug 786817; Check multiple masks properly and invalidate after removing a mask layer. r=roc
2012-09-04 13:02:56 +12:00
Nicholas Cameron
f4d629e6dc
Back out bug 769021, bug 786817
2012-09-03 22:47:51 +12:00
Nicholas Cameron
70503d1a66
Bug 769021; fix a memory leak with mask sharing. r=khuey
2012-09-03 22:35:33 +12:00
Nicholas Cameron
a0e4293626
Bug 786817; Check multiple masks properly and invalidate after removing a mask layer. r=roc
2012-09-03 22:35:33 +12:00
Ed Morley
2ca37472a4
Backout 03cb77f8d75d (bug 769021), 04fd792509d6 (bug 786817) for burning the tree
2012-09-03 09:20:05 +01:00
Nicholas Cameron
7a6cc0c46b
Bug 769021; fix a memory leak with mask sharing. r=khuey
2012-09-03 18:58:07 +12:00
Nicholas Cameron
6201de1c7c
Bug 786817; Check multiple masks properly and invalidate after removing a mask layer. r=roc
2012-09-03 18:58:07 +12: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
Ehsan Akhgari
531525812e
Bug 579517 follow-up: Remove NSPR types that crept in
...
--HG--
extra : rebase_source : adad9af01d9168a14d87c201c1bd51a3a7a768f5
2012-08-29 10:56:51 -04:00
Chris Lord
0b93911368
Bug 785333 - Make sure layers are only associated with a single frame. r=roc
...
Use Layer user-data to ensure that a Layer doesn't end up being found multiple
times for different frames during construction.
2012-08-29 11:53:34 +01:00
Chris Lord
d322fd5f46
Bug 785333 - Keep track of merged frames with all display items. r=roc
...
This changes the display-item storage to store layers against the underlying
frame and all merged frames of an item (and similarly, to retrieve them against
all frames of an item).
2012-08-29 11:53:27 +01:00
Chris Lord
9e0e5d24bf
Bug 785333 - Store container layers against merged frames. r=roc
...
As well as storing the container layer against the underlying frame of the
container item, store it against its merged frames as well. In addition, check
for old container layers against merged frames when building a container layer.
This protects against losing the layer when the underlying frame of a container
item changes to either a new frame or an existing, merged frame.
2012-08-29 11:53:20 +01:00
Chris Lord
d538b2ed4c
Bug 785333 - Don't rely on layer ordering in ContainerState::Finish. r=roc
...
Rather than relying on a particular ordering of layers in
ContainerState::Finish, use ContainerLayer::Reposition to more reliably remove
old, unused layers.
2012-08-29 11:53:06 +01:00
Gavin Sharp
f99257a9f5
Back out bug 785333 (revisions 79345542f853 and a1756976e61d) to fix crasher bug 785626
2012-08-27 16:41:19 -07:00
Chris Lord
d844099677
Bug 785333 - Keep track of merged frames with all display items. r=roc
...
This changes the display-item storage to store layers against the underlying
frame and all merged frames of an item (and similarly, to retrieve them against
all frames of an item).
2012-08-24 16:17:22 +01:00
Chris Lord
db96f622c9
Bug 785333 - Store container layers against merged frames. r=roc
...
As well as storing the container layer against the underlying frame of the
container item, store it against its merged frames as well. In addition, check
for old container layers against merged frames when building a container layer.
This protects against losing the layer when the underlying frame of a container
item changes to either a new frame or an existing, merged frame.
2012-08-24 16:17:22 +01:00
Chris Lord
f823b5376f
Bug 781516 - Remove DisplayItemDataEntry.mIsMergedFrame. r=roc
...
This is unnecessary as it just duplicates the functionality of
mIsSharingContainerLayer.
2012-08-24 11:59:37 +01:00
Chris Lord
302322fd64
Bug 771154 - Invalidate only the frame rect when new frames come into view. r=roc
...
Instead of forcing a full-layer invalidation when new frames appear, invalidate
only the bounds of the frame. Invalidating untrusted geometry still causes a
full-layer invalidation.
2012-08-23 12:14:47 +01:00
Chris Lord
97efc4771c
Bug 781516 - Fix invalidation caused by unprocessed merged frames. r=roc
...
As clip items aren't processed, they have no associated layer entries. This is
a problem when a clip item's underlying frame is the same as one that gets
merged into a container layer, as display-item data will be created, but no
layer entry will be added. This will cause it to be removed on the next
layer-build, and cause a full invalidation.
Fix this by adding an 'mIsMergedFrame' entry to DisplayItemDataEntry and setting
it on all merged frames in BuildContainerLayerFor. This property stops the
entry from being removed when it gets updated.
2012-08-23 09:30:53 +01: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
David Zbarsky
fbb04700b6
Bug 784004 - Don't include Layers.h everywhere Part 3 r=nical
2012-08-21 00:06:46 -04:00
Matt Woodrow
31fa7e5c17
Bug 739671 - Store optimized Color/ImageLayers on the ThebesLayers that they replace. r=roc
2012-08-20 22:00:49 +12:00
Matt Woodrow
7591d1ef12
Bug 782372 - Fix clang build. r=nical
2012-08-20 14:39:10 +12: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
Chris Lord
6bdbf9e99e
Bug 777260 - Fix invalidations on transform items in container layers. r=roc
...
Since Bug 758620, it's possible for an nsDisplayTransform to appear as the
child of a container layer. This caused problems when it was inactive, as the
invalidation would not be transformed in this case.
Fix this in FrameLayerBuilder by mandating that InvalidateThebesLayerContents
takes the untransformed invalidation and apply the transform in
BuildContainerLayer.
2012-08-13 22:54:38 -04:00
Matt Woodrow
79137e0a05
Bug 780868 - Only reuse MaskLayers on LayerManagers with the same backend type. r=nrc
2012-08-13 22:11:40 +12:00
Ms2ger
26217245c9
Bug 780387 - Part f: Stop using PRBool & PRPackedBool; r=bsmedberg
2012-08-09 09:10:13 +02:00
Chris Lord
cfe2b98a1f
Bug 775431 - Make MOZ_DUMP_PAINT_LIST output terminal-friendly. r=mattwoodrow
...
Only output in HTML if we're dumping to a file, otherwise output as it did
before the HTML output change was made.
2012-08-07 18:57:26 +01:00
Robert O'Callahan
3d2256832d
Bug 776836. When invalidating ThebesLayers due to an appunits-per-dev-pixel change, we can't trust the frame geometry. r=mattwoodrow
2012-08-07 23:07:07 +12:00
Robert O'Callahan
9022336c2e
Bug 772679. Handle frame with NS_HAS_CONTAINER_LAYER having no display items. r=tnikkel
2012-08-05 20:59:06 +12:00
Robert O'Callahan
8e16c0a415
Bug 772679. RestrictToLayerPixels needs to accurately convert between appunits scroll offsets and ThebesLayer pixel coordinates. r=tnikkel
...
Change GetThebesLayerResolutionForFrame to GetThebesLayerScaleForFrame,
which just returns a scale. Ensure that the scale is as accurate as possible
even if dedicated layers for scrolled content (or any layers at all) have not
been created yet, by taking into account transforms that have not yet
generated layers. This makes the decisions made by
nsGfxScrollFrameInner::ScrollToImpl independent of whether there is
currently an active layer for the scrolled content (or much more nearly so).
In nsGfxScrollFrameInner::ScrollToImpl, do not use the current internal
fractional offset of the ThebesLayer, which is in a mostly unrelated
coordinate space to our scroll positions. Instead, just try to make sure
that the previous and next scroll position differ by a whole number of
layer pixels.
2012-08-05 00:26:38 +12:00
Ed Morley
438c915d9b
Backout 6ea008b301da, 14d17919e235, b15fb3603bfe & f89ae41eed63 (bug 772679) for turning test_offsets.html perma-orange on native Android mochitest-7
2012-08-05 14:35:08 +01:00
Robert O'Callahan
669e2512a7
Bug 772679. Handle frame with NS_HAS_CONTAINER_LAYER having no display items. r=tnikkel
2012-08-05 20:59:06 +12:00
Robert O'Callahan
77a535e992
Bug 772679. RestrictToLayerPixels needs to accurately convert between appunits scroll offsets and ThebesLayer pixel coordinates. r=tnikkel
...
Change GetThebesLayerResolutionForFrame to GetThebesLayerScaleForFrame,
which just returns a scale. Ensure that the scale is as accurate as possible
even if dedicated layers for scrolled content (or any layers at all) have not
been created yet, by taking into account transforms that have not yet
generated layers. This makes the decisions made by
nsGfxScrollFrameInner::ScrollToImpl independent of whether there is
currently an active layer for the scrolled content (or much more nearly so).
In nsGfxScrollFrameInner::ScrollToImpl, do not use the current internal
fractional offset of the ThebesLayer, which is in a mostly unrelated
coordinate space to our scroll positions. Instead, just try to make sure
that the previous and next scroll position differ by a whole number of
layer pixels.
2012-08-05 00:26:38 +12:00
Ms2ger
434ae84f40
Back out bug 772679 for crashes.
2012-08-04 15:10:45 +02:00
Robert O'Callahan
e165f64efd
Bug 772679. RestrictToLayerPixels needs to accurately convert between appunits scroll offsets and ThebesLayer pixel coordinates. r=tnikkel
...
Change GetThebesLayerResolutionForFrame to GetThebesLayerScaleForFrame,
which just returns a scale. Ensure that the scale is as accurate as possible
even if dedicated layers for scrolled content (or any layers at all) have not
been created yet, by taking into account transforms that have not yet
generated layers. This makes the decisions made by
nsGfxScrollFrameInner::ScrollToImpl independent of whether there is
currently an active layer for the scrolled content (or much more nearly so).
In nsGfxScrollFrameInner::ScrollToImpl, do not use the current internal
fractional offset of the ThebesLayer, which is in a mostly unrelated
coordinate space to our scroll positions. Instead, just try to make sure
that the previous and next scroll position differ by a whole number of
layer pixels.
2012-08-05 00:26:38 +12:00
David Zbarsky
a2c20d2493
Bug 706179 Part 3: Turn on the use of scaling for layers in FrameLayerBuilder r=mattwoodrow
2012-08-03 14:29:22 -07:00