Commit Graph

283 Commits

Author SHA1 Message Date
Matt Woodrow
614dd14877 Bug 701656 - Include the preserve-3d parent content in preserve-3d sorting. r=roc 2011-11-17 16:45:44 +13:00
Matt Woodrow
5fcf29f23f Bug 700240 - Print nsSVGEffects types. r=roc 2011-11-17 16:44:16 +13:00
Matt Woodrow
3448ddf074 Bug 695832 - Perpsective origin offset should be relative to the transform origin. r=roc 2011-10-31 13:38:46 +13:00
Robert O'Callahan
fa7267bb72 Bug 678859. Don't create layers for content less than 16x16 pixels. r=tn 2011-10-27 09:10:48 +13:00
Phil Ringnalda
5fca043114 Back out cc6b39f2b512 and f2b1103e5177 (bug 695832) for reftest failures 2011-10-25 23:18:47 -07:00
Matt Woodrow
9550d24666 Bug 695832 - Perpsective origin offset should be relative to the transform origin. r=roc 2011-10-26 16:20:08 +13:00
Oleg Romashin
9b48bda8d7 Bug 693938 - Force mark PuppetWidget root scroll layer as opaque. r=roc 2011-10-23 10:57:47 +02:00
Robert O'Callahan
b01fcc0f65 Bug 681867. Part 2: remove nsDisplayForcePaintOnScroll. r=mats 2011-10-21 14:41:36 +13:00
Ehsan Akhgari
478ad1a412 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Matt Woodrow
d6d8f14e3a Bug 693520 - Fix backface visibility calculations, and share can-hit checks. r=derf 2011-10-12 16:16:06 +13:00
Matt Woodrow
631f5542cf Bug 693519 - Don't call GetHitDepthAtPoint if we didn't hit anything. r=roc 2011-10-12 16:16:05 +13:00
Matt Woodrow
46dd026f47 Bug 684759 - Part 3b - Add event handling for sorted preserve-3d layers. r=roc 2011-10-07 10:24:02 +13:00
Matt Woodrow
6ee9edc14b Bug 684759 - Part 3a - Sort preserve-3d layers using their z depth at points where they intersect in 2d space. r=roc 2011-10-07 10:23:18 +13:00
Matt Woodrow
9151540b7b Bug 691106 - Merge sequential nsDisplayTransforms and give them unique frame keys. r=roc 2011-10-03 17:02:25 +13:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Justin Lebar
b46423f42c Bug 688624 - Use nsAutoTArray in nsDisplayList::HitTest. r=roc 2011-09-22 23:50:57 -04:00
Jonathan Watt
6c0118bb80 Bug 664130 - Clarify some display list comments and code. r=roc. 2011-09-08 12:15:00 +01:00
Felix Fung
fa05b7e0f3 Bug 577266 - Correct misspellings in source code 2011-09-06 17:20:35 -07:00
Matt Woodrow
b2485503b8 Bug 682922 - Disable preserve-3d on scroll frames. r=roc 2011-09-05 10:25:35 +12:00
Matt Woodrow
84d05e7b91 Bug 505115 - Part 15 - Add 4D Vectors, Quaternions and gfx3DMatrix functions. r=derf 2011-08-27 12:06:03 +12:00
Matt Woodrow
465e7e7515 Bug 505115 - Part 14b - Layout support for -moz-transform-style. r=roc 2011-08-27 12:01:46 +12:00
Mats Palmgren
4e2a044a66 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Matt Woodrow
f8421b6e17 Bug 677878 - Round untransformed rects outwards. r=roc 2011-08-16 15:44:22 +12:00
Markus Stange
ee6bebfe4b Bug 676387 - XUL elements with -moz-appearance should ignore clicks in their overflow. r=roc 2011-08-08 20:31:52 +02:00
Matt Woodrow
6786a64276 Bug 505115 - Part 12b - Layout changes to use -moz-perspective-origin. r=roc 2011-08-03 15:04:24 +12:00
Matt Woodrow
db1c6d56f3 Bug 505115 - Part 11b - Layout changes to use a z component for -moz-transform-origin. r=roc 2011-08-03 15:04:23 +12:00
Matt Woodrow
ae00b43101 Bug 505115 - Part 10 - Implement the backface-visibility CSS property. r=dbaron 2011-08-03 15:04:22 +12:00
Matt Woodrow
cd48c09ded Bug 505115 - Part 9 - Implement the perspective() transform function and the perspective CSS property. r=dbaron 2011-08-03 15:04:22 +12:00
Matt Woodrow
efeba44259 Bug 505115 - Part 8c - Use ray tracing to untransform 2d points on a 3d plane. r=roc 2011-08-03 15:04:21 +12:00
Matt Woodrow
b673201b03 Bug 505115 - Part 7 - Layers support for 3d transforms. r=roc 2011-08-03 15:04:20 +12:00
Matt Woodrow
eedad1949e Bug 505115 - Part 5 - Use gfx3DMatrix in layout. r=roc 2011-07-23 10:28:51 +12:00
Matt Woodrow
648e9e83bd Bug 505115 - Part 3 - Convert nsStyleTransformMatrix to be backed by a 4x4 matrix. r=dbaron 2011-07-23 10:28:07 +12:00
Craig Topper
d1acc42088 Bug 654369 - Part 11: Remove OOM checks from layout/base r=bz 2011-04-28 22:02:40 -07:00
Mats Palmgren
c12d6a33ea Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Robert O'Callahan
5c6c40babf Bug 637852. Part 26: Ensure that FrameMetrics coordinates are correctly stored as layer coordinates. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
413134d88a Bug 637852. Part 17: Tighten up AreLayersMarkedActive so we track exactly what properties are changing. Also, clamp resolution to power-of-2 only if the frame's transform has a scale. r=tnikkel
This lets us avoid clamping the scale in more situations. We should only clamp the scale when we think
the scale is changing due to a changing transform --- the goal of clamping is to not have to redraw the content
too often when the content is zooming in or out.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
816fbcfae7 Bug 637852. Part 6: Implement resolution scaling in FrameLayerBuilder. r=tnikkel
FrameLayerBuilder::BuildContainerLayerFor takes responsibility for resolution scaling. The ContainerParameters
passed in are added to any transform requested. Then we extract the scale part of the transform, round the scale
up to the nearest power of two if the transform may be actively animated (so we don't have to redraw layer contents
constantly), pass that scale down to be applied by each child and set the residual transform on the ContainerLayer.

For child layers built via BuildLayer, we just pass the requested scale factor in via the ContainerParameters.
If the returned layer is a ContainerLayer then BuildLayer is guaranteed to have already done necessary scaling.
If the returned layer is not a ContainerLayer then we apply the scale ourselves by adding the scale to the
child layer's transform.

For child ThebesLayers containing non-layer display items, we scale the drawing of those display items so that
the child ThebesLayers are simply larger or smaller (larger or smaller visible regions).

We have to scale all visible rects, clip rects etc that are in the coordinates of ThebesLayers or the parent
ContainerLayer. To keep things simple we do this whenever we convert from appunits to integer layer coordinates.

When a ThebesLayer's resolution changes we need to rerender the whole thing.

nsDisplayList::PaintForFrame needs to respect the presshell's resolution setting. We do that by building a layer tree
with a ContainerParameters requesting a scale up by the presshell resolution; once that layer tree is built, we
adjust the root layer transform to scale back down by the resolution.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
e10d741e46 Bug 637852: Part 5: Create ContainerParameters structure to carry resolution scale factors through layer creation. r=tnikkel
This patch shouldn't change any behavior. It just passes the ContainerParameters around, which will contain scale factors that should have been
applied when BuildLayer returns a ContainerLayer.

This patch also adds an aTransform parameter to BuildContainerLayerFor, which nsDisplayTransform uses to set the
transform for the ContainerLayer. This way BuildContainerLayerFor knows what the container's transform is going to be
before constructing the children, which in the next patch will let us construct the children with the right resolution.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
7d73aa6b87 Bug 646757. Don't snap display item bounds during hit-testing. r=tnikkel 2011-05-31 09:44:10 +12:00
Ed Morley
6e443492c7 Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Robert O'Callahan
f8afaa00ab Bug 656749. Only optimize away zero-opacity elements when we're painting, not for any other kind of display list construction such as plugin geometry. r=tnikkel 2011-05-23 12:28:47 +12:00
Tatiana Meshkova
a76da0fa82 Bug 656167 - Temporarily disable or back out fixed layers. Visibility part. r=roc 2011-05-13 16:21:59 +03:00
Jim Mathies
d90c2a9b93 Bug 633282 - manual backout of 'fixup UpdatePossiblyTransparentRegion v.3' in bug 622328 due to merge conflicts. r=tn 2011-05-13 11:40:46 -05:00
Mounir Lamouri
2182229951 Merging cedar with mozilla-central. 2011-05-13 10:59:05 +02:00
Robert O'Callahan
3366b0c922 Bug 654641. Make nsDisplaySolidColor::GetBounds reflect any snapping that's going on. r=tnikkel 2011-05-13 02:59:09 +12:00
Tatiana Meshkova
4a73a82d7d Bug 653133 - Fennec crashes when loading a page with huge background-attachment:fixed background r=roc 2011-05-09 11:40:09 +03:00
Benjamin Stover
b99501404f Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-05-01 18:53:01 -07:00
Mark Finkle
f71817d719 Backed out changeset c7f62d818af2. Causes content crashes Bug 653889 2011-04-30 00:01:29 -04:00
Benjamin Stover
9745be065b Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-04-29 10:15:44 -07:00
Robert O'Callahan
bb51b2359c Bug 641426. Part 6: Rename Empty to SetEmpty. r=cjones 2011-04-19 15:07:23 +12:00