Commit Graph

495 Commits

Author SHA1 Message Date
Ed Morley
46cd2a9fc8 Merge latest green b2g-inbound changeset and mozilla-central 2014-03-03 14:45:43 +00:00
Timothy Nikkel
be8bb76db2 Bug 978655. Simplify ContainerState::FindFixedPosFrameForLayerData. r=mattwoodrow 2014-03-03 00:04:59 -06:00
Timothy Nikkel
b46e8f3a85 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
7d49d25691 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
e528934d7f 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
0827270cd6 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
d4a1d76dc4 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
0c22df2d8c 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
cbf26b902d 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
648ec3e0c8 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
9153867fae 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
e588ddb104 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
7d9c8a7b9e 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
42aa546e2f Bug 952033 - Part b: Use IntSize in CreateOffscreenSurface; r=roc 2014-02-09 09:04:38 +01:00
Robert O'Callahan
b275242936 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
ce740641cb 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
03e1420fe8 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
7bd69c5a95 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
757acc5d48 Bug 964442 - Make CreateImage just take a plain format parameter - r=jrmuizel 2014-01-30 17:58:51 -05:00
Benoit Jacob
684ce17489 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
2a1134e322 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
a3449e66b6 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
8f05aaacbd Bug 952977: Convert Layer's mTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:29:06 -05:00
David Zbarsky
9bdd10281d Bug 952977: Convert GetTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:28:47 -05:00
David Zbarsky
bab894b2de Bug 952977: Convert SetBaseTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:28:33 -05:00
Benoit Jacob
61df69f208 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
aebf0bb92a 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
4d480a3fbd Bug 941095 - Restore subpixelaa on HIDPI. r=backout 2014-01-19 22:31:02 -05:00
Ali Akhtarzada
cd930785a2 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
ccaa35314d 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
fc0c5d7215 Bug 950143 - Remove the implicit conversion operator from nsIntSize to IntSize; r=roc 2013-12-31 10:06:12 +01:00
Robert O'Callahan
54a2b48649 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
4732dc025c Bug 945203. Part 7: Add ScaleRegionToOutsidePixels. r=mattwoodrow
--HG--
extra : rebase_source : 1c54863818607c45d04249e5df407b3fb3af40dd
2013-12-17 01:11:59 +13:00
Robert O'Callahan
6191abbe99 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
4827243c03 Bug 945203. Part 5: Remove anonymous namespace. r=mattwoodrow
--HG--
extra : rebase_source : c8a35bed286161a339d4d68d4c0d21fb1c391ab2
2013-12-17 01:04:03 +13:00
David Zbarsky
c706f9f1f9 Bug 952977: Switch ScaleAndTranslate to gfx::Matrix r=nical 2013-12-29 18:35:53 -05:00
Timothy Nikkel
9e366145a2 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
9a1498bda7 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
892081b54a 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
182a8c2ebe 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
5a78ec0d22 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
e347d400d7 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
a735170d84 Bug 942483 - Port paint-dumping to android/b2g. r=gal 2013-11-23 17:44:18 -05:00
Robert O'Callahan
01aedc2359 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
f994dec6df 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
145e514bf9 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
4b277c1f8b 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
fd9ce678dc 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
4b89c5262b No bug. Fix an ifdef in FrameLayerBuilder. r=mattwoodrow 2013-11-18 09:33:21 +13:00
Matt Woodrow
8480b24f62 Bug 934860 - Followup to fix build on a CLOSED TREE 2013-11-17 17:24:53 +13:00