500265c61f37887aa038076384a94717bdb65737: 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
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71806
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
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.
c6c5f217fedffde4c5f37dd3832bb9aee7e2d783: Bug 637852. Part 16: Mark newly-passing reftests.
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71805
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 16: Mark newly-passing reftests. Various tests that used to fail on Android now pass. One test that used to fail on Mac passes now too.
9ae31ef1ae05802ac28a5d800b262b5926c1a143: Bug 637852. Part 15: Don't round mOuterRect/mInnerRect if there's a scale factor in the current transform. r=joe
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71804
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 15: Don't round mOuterRect/mInnerRect if there's a scale factor in the current transform. r=joe This avoids losing information when we're drawing into a high-resolution ThebesLayer. It works well with the previous patch; for identity scale, this rounding of the inner/outer rects ensures pixel alignment of the edges, but with non-identity scale the rectangle snapping ensures pixel alignment of the edges. This fixes reftest failures.
9c05bcab628fb6f0aeea60612c32e77ecc68f2fd: Bug 637852. Part 14: Try to use snappable rects to draw solid borders instead of using stroke, when a scaling transform is present. r=joe
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71803
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 14: Try to use snappable rects to draw solid borders instead of using stroke, when a scaling transform is present. r=joe The goal here is to avoid antialiased border edges when drawing into high-resolution ThebesLayers. This fixes test failures.
2c7a42271f31aba0507fbec85a6622dba44f45a3: Bug 637852. Part 13: Allow snapping of text baselines to occur when there's a scale in the current transform. r=tnikkel
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71802
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 13: Allow snapping of text baselines to occur when there's a scale in the current transform. r=tnikkel This allows baselines to be snapped properly when drawing into high-resolution ThebesLayers.
e552be420a02acc127554b582f7f6c062418965c: Bug 637852. Part 12: Dump layer trees and display lists to stdout instead of stderr so that they stay in order with window.dump() and other output. r=tnikkel
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71801
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 12: Dump layer trees and display lists to stdout instead of stderr so that they stay in order with window.dump() and other output. r=tnikkel
a63a96b9571e572d0f0ca4272f6c48a9cb3a35c6: Bug 637852. Part 11: Remove ExtendForScaling from nsRect and nsRegion. r=joe
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71800
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 11: Remove ExtendForScaling from nsRect and nsRegion. r=joe This is good because the semantics of this method always sucked.
5b2a58c9c279d1a6e27c8fba6cb24c931063dcf5: Bug 637852. Part 10: Remove mX/YResolution from ThebesLayer. r=joe
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71799
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 10: Remove mX/YResolution from ThebesLayer. r=joe These are the last vestiges of Layer-based resolution API.
123d2c2f626066e8b5d393ea13da451e09594ea3: Bug 637852. Part 9: Remove resolution support from BasicLayers, ShadowLayers and GL layers. r=mattwoodrow
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:28 +1200 - rev 71798
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 9: Remove resolution support from BasicLayers, ShadowLayers and GL layers. r=mattwoodrow This is not needed anymore.
602d13dcab537ff844d20e9698658619d35f24fa: Bug 637852. Part 8: Remove resolution support from D3D9 layers. r=mattwoodrow
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:27 +1200 - rev 71797
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 8: Remove resolution support from D3D9 layers. r=mattwoodrow Layer-system resolution support is no longer needed.
198d6364abb9747d612f4c20e244fe02e49a1e77: Bug 637852. Part 7: Remove resolution support from D3D10 layers. r=mattwoodrow
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:27 +1200 - rev 71796
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 7: Remove resolution support from D3D10 layers. r=mattwoodrow Layer-system resolution support is no longer needed.
45b7622bc948e52af00b993d08fb2a5a98471f62: Bug 637852. Part 6: Implement resolution scaling in FrameLayerBuilder. r=tnikkel
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:27 +1200 - rev 71795
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
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.
31c47102a6fc579e2bb5eda089e9c662e8b00c04: Bug 637852: Part 5: Create ContainerParameters structure to carry resolution scale factors through layer creation. r=tnikkel
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:27 +1200 - rev 71794
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
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.
1da2c78a1a72954bcddcb0eb62be930f48802dcd: Bug 637852. Part 4: Add nsRegion::ScaleInverseRoundOut and nsRegion::ScaleToOutsidePixels APIs. r=joe
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:27 +1200 - rev 71793
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 4: Add nsRegion::ScaleInverseRoundOut and nsRegion::ScaleToOutsidePixels APIs. r=joe
b53df216be6181b6488332f66fa0954a29c019a8: Bug 637852. Part 3: Add nsPoint::ScaleToNearestPixels, nsRect::ScaleToNearestPixels, nsRect::ScaleToInsidePixels and nsRect::ScaleToOutsidePixels APIs. r=joe
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:27 +1200 - rev 71792
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 3: Add nsPoint::ScaleToNearestPixels, nsRect::ScaleToNearestPixels, nsRect::ScaleToInsidePixels and nsRect::ScaleToOutsidePixels APIs. r=joe
c9dd59391c7d104e4d9faa863b3cbf655f562a41: Bug 637852. Part 2: Add BaseRect::ScaleInverseRoundOut API. r=joe
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:27 +1200 - rev 71791
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 2: Add BaseRect::ScaleInverseRoundOut API. r=joe
7853e5cf72f7700cfe63e4c9e25315800e2fb52d: Bug 637852. Part 1: Don't snap BasicThebesLayer effective transforms when we're not retaining layers. r=tnikkel
Robert O'Callahan <robert@ocallahan.org> - Thu, 23 Jun 2011 00:11:27 +1200 - rev 71790
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 637852. Part 1: Don't snap BasicThebesLayer effective transforms when we're not retaining layers. r=tnikkel The ThebesLayer contents are going to be drawn through directly without retaining, so there's no point in snapping.
a23353de5415ddd677f3b75e40696cba9c01864e: Bug 666221 - Inspector leaks browser and content window through the highlighter. r=dietrich
Dão Gottwald <dao@mozilla.com> - Wed, 22 Jun 2011 19:22:14 +0200 - rev 71789
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 666221 - Inspector leaks browser and content window through the highlighter. r=dietrich
00290f0912fd991a5ef6ae0015989460236e7796: Merging last green changeset of mozilla-inbound into mozilla-central.
Mounir Lamouri <mounir.lamouri@gmail.com> - Wed, 22 Jun 2011 16:13:49 +0200 - rev 71788
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Merging last green changeset of mozilla-inbound into mozilla-central.
ff8bd5d40a57621efc07de0ddcd46e155e63ad4b: Bug 665612 - More cleanup around mInputData and IsSingleLineTextControl(). f=ehsan r=bz
Mounir Lamouri <mounir.lamouri@gmail.com> - Wed, 22 Jun 2011 12:41:00 +0200 - rev 71787
Push 209 by bzbarsky@mozilla.com at Tue, 05 Jul 2011 17:42:16 +0000
Bug 665612 - More cleanup around mInputData and IsSingleLineTextControl(). f=ehsan r=bz
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip