Commit Graph

8389 Commits

Author SHA1 Message Date
Robert O'Callahan
50a8bdee8e 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
5483e21601 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.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
0e8a6f7390 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.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
08cb8f63ce 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 2011-06-23 00:11:28 +12:00
Robert O'Callahan
9ddbfbb285 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
723e5c86ee 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
Ehsan Akhgari
92ab9f79c9 Merge mozilla-central into mozilla-inbound 2011-06-20 23:42:45 -04:00
Jesse Ruderman
779e2ff8f9 Add crashtest from bug 468563 2011-06-20 11:42:05 -07:00
Jesse Ruderman
770a0deaa3 Add crashtest from bug 576649 2011-06-20 11:42:05 -07:00
Matheus Kerschbaum ext:(%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
1b406143bc Bug 664924 - Remove MOZ_CSS_ANIMATIONS ifdefs. r=dbaron 2011-06-20 16:47:09 -07:00
Jan Varga
f3265d93ce Bug 617528 Part 1 - Dispatch shift right click (contextmenu event) only to chrome. r=smaug 2011-06-19 11:23:12 +02:00
Mounir Lamouri
63b38baddf Merging mozilla-central with mozilla-inbound. 2011-06-17 15:26:17 +02:00
Olli Pettay
99d89c2a1a Bug 664434 - Make sure to Destroy the old document when setting a new print document, r=roc
--HG--
extra : rebase_source : b75688d5320d9dcaf59468bd5def2fa7f2e0bbc0
2011-06-16 21:20:13 +03:00
Jonathan Watt
d7d0fe1369 Bug 664130 - Document what GetFrameBoundsForTransform is about. r=roc. 2011-06-16 12:06:05 +01:00
Jonathan Watt
53f9acfc55 Bug 664130 - Document what GetOpaqueRegion is useful for. r=roc. 2011-06-16 12:06:05 +01:00
Simon Montagu
ebb4d3b611 Don't overshoot the last sibling when iterating frames. Bug 663295 (whitespace change with correct bug number) 2011-06-15 10:51:36 +03:00
Simon Montagu
e7e3561393 Force newlines only at 0xa, not 0xd. Bug 663662, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu
e5fa7e72ec Include continuations of frames with no newline. Bug 582181, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu
432913da62 Tests for bug 582181, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu
1f51f3536b Don't overshoot the last sibling when iterating frames. Bug 66329, r=roc 2011-06-15 10:45:57 +03:00
Jonathan Watt
27ad18c773 Bug 664130 - Document what GetFrameBoundsForTransform is about. r=roc.
--HG--
extra : rebase_source : dd1843b385b0976bd318dff6cc7c59ef15970f32
2011-06-16 12:06:05 +01:00
Jonathan Watt
00a35b6a3c Bug 664130 - Document what GetOpaqueRegion is useful for. r=roc.
--HG--
extra : rebase_source : abde1fd28975506a58068725e5cbb660620760f8
2011-06-16 12:06:05 +01:00
Jonathan Kew
02b64efe12 bug 467669 - pt 2 - find the @font-face rule (if any) responsible for the font entry. r=roc 2011-06-16 07:31:36 +01:00
Jonathan Kew
4ac87a8abf bug 467669 - pt 1 - get list of fonts actually used to render a document range. r=roc sr=bzbarsky 2011-06-16 07:31:36 +01:00
Jonas Sicking
0cd6950325 Bug 659539 Part 1: Give nsINodeInfos a nodeType, nodeName and localName. r=bz 2011-06-14 00:56:49 -07:00
Jonas Sicking
da2507980f Bug 659053 Part 1: Merge nsIDOM3Node into nsIDOMNode. Also removes Node.getFeature. r=peterv 2011-06-14 00:56:48 -07:00
Ms2ger
e369dd9f77 Bug 664123 - Backout bugs 659053 and 659539 (changesets 9c49f69d8bab-1b11c64ffcdf) 2011-06-14 16:25:51 +02:00
Jonas Sicking
e3e6dd6825 Bug 659539 Part 1: Give nsINodeInfos a nodeType, nodeName and localName. r=bz 2011-06-14 00:56:49 -07:00
Jonas Sicking
48f55a5733 Bug 659053 Part 1: Merge nsIDOM3Node into nsIDOMNode. Also removes Node.getFeature. r=peterv 2011-06-14 00:56:48 -07:00
L. David Baron
cceebb9956 Remove notion of percentage of intrinsic size: remove code that handles percentages (which are no longer set thanks to the previous patch) and make them invalid. (Bug 611099) r=dholbert
Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-06-12 18:52:32 -07:00
Ms2ger
8915f62d3b Bug 660433 - Remove nsIDOMNSHTMLTextAreaElement; f=volkmar r=peterv 2011-06-11 09:52:24 +02:00
Michael Ventnor
d32c122811 Bug 663028 - Make Print Preview themable with CSS, and modernize its look r=roc 2011-06-10 20:07:26 +10:00
Josh Matthews
913b9fcd24 Bug 662795 - Remove flaky timeout from 331883-1.html. Also remove identical test 331883-2.html. r=roc 2011-06-09 18:11:13 -04:00
Robert O'Callahan
dca8b7c2d3 Bug 661471. Part 6.2: Handle dynamic changes to Cleartype enabled/disabled. r=jfkthame 2011-06-09 08:13:05 +01:00
Simon Montagu
f15e63b59e Bug 263359 part 4: resolve paragraph on encountering line breaks in preformatted elements. r=roc 2011-04-11 11:00:28 +03:00
Simon Montagu
30b6f5c9aa Crash test for bug 645193 by Jesse Ruderman 2011-06-09 09:29:09 +03:00
Simon Montagu
568db7fa48 Tests for bug 263359 2011-04-11 10:59:30 +03:00
Simon Montagu
bd31151e86 Bug 263359/Bug 229367: resolve paragraph on encountering <br> or embedded block elements. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
b439260021 Test for bug 650489 by Jesse Ruderman 2011-06-09 09:29:09 +03:00
Simon Montagu
03eab42cad Bug 263359 part 2.5: cache lines per frame in TraverseFrames. r=roc 2011-06-09 09:29:08 +03:00
Simon Montagu
8a9c0b3f06 Bug 263359 part 2: split nsBidiPresUtils::Resolve into Resolve and ResolveParagraph. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
2fcf206e42 Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
5deaf7deba Bug 263359 part 1: refactor bidi resolution code, combining InitLogicalArray and CreateBlockBuffer. r=roc 2011-04-11 10:59:30 +03:00
Tatiana Meshkova
08886a8947 Bug 653133 - Crashtest for huge background-attachment:fixed background [r=cjones] 2011-05-13 17:00:01 +03:00
Tatiana Meshkova
2712ab6a70 Bug 653133 - Recover PRPackedBools order [r=roc] 2011-05-13 15:23:19 +03:00
Mounir Lamouri
8d38f1695a Merging cedar with mozilla-central. 2011-06-03 12:06:08 +02:00
Matheus Kerschbaum
c0decf640b Bug 660762 - Remove --disable-mathml support. r=roc 2011-06-02 13:11:33 +02:00
Boris Zbarsky
0b03178d45 Bug 655549 and bug 645768. Rejigger the quirk table color rule to work more reliably. r=dbaron 2011-06-01 07:43:31 -04:00
Mounir Lamouri
ba98c26241 Merging cedar with mozilla-central. 2011-06-01 10:06:55 +02:00
Boris Zbarsky
b5bc3817ce Bug 598833 part 7. Make IntrinsicState protected. r=smaug 2011-05-31 21:46:57 -04:00