Commit Graph

496 Commits

Author SHA1 Message Date
Matt Woodrow
cf2d089996 Bug 940455 - Add LayerManager functonality to clear out a portion of the window for the OS to paint. r=roc,Bas 2014-02-13 13:20:41 +13:00
Ed Morley
a96a5e92b0 Merge latest green b2g-inbound changeset and mozilla-central 2014-03-03 14:45:43 +00:00
Timothy Nikkel
4340c68e3b Bug 978655. Simplify ContainerState::FindFixedPosFrameForLayerData. r=mattwoodrow 2014-03-03 00:04:59 -06:00
Timothy Nikkel
7057743a64 Bug 974643. The displayport is not relevant to position: fixed content, only to scrolling content. r=roc
The relevant part of postion: fixed items lies within the viewport, which is the scroll position clamping scroll port size if one has been set.
2014-03-02 19:49:39 -06:00
Timothy Nikkel
5d30b2243f Bug 959847. Part 8. Don't let ProcessDisplayItems set the clip on subdocument items when they are being used to draw the display port content. r=roc 2014-02-27 16:01:54 -06:00
Matt Woodrow
dd8c6e2ee1 Bug 971720 - Allow ThebesLayers to be optimized to ColorLayers even if they have rounded rect clipping. r=roc 2014-03-01 08:52:03 +13:00
Matt Woodrow
722fc7c37a Bug 976877 - Don't build optimized layers (color/image) inside inactive layer trees. r=roc 2014-03-01 08:49:58 +13:00
Robert O'Callahan
98441ba933 Bug 976412. Part 1: Fix logic for determining when a display item can be placed in a layer. r=mattwoodrow
--HG--
extra : rebase_source : c390532cb3f6252fa388dfbe8176f4f911dfbdb3
2014-02-26 17:17:18 +13:00
Robert O'Callahan
cdf3eb974c Bug 969354. Track which ThebesLayers contain items which returned true from ShouldFixToViewport, and make sure each such item gets its own ThebesLayer. r=mattwoodrow
--HG--
extra : rebase_source : 629f91869bd4c4ad2e4e17c40c5fe0311532fb67
2014-02-21 14:11:17 +13:00
Jerry Shih
0ed94234b2 Bug 972310 - Set a suitable layer size for css scale animation/transition. r=roc 2014-02-18 09:58:01 -05:00
Robert O'Callahan
b8b97141df Backing out patches for bug 972713 (changesets b5486b9ed88c and 7829e535cdd7) due to Windows 8 test failure. 2014-02-18 22:48:18 +13:00
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