Commit Graph

71558 Commits

Author SHA1 Message Date
Ehsan Akhgari
6905c5d4c5 Merge the last green changeset of mozilla-inbound to mozilla-central 2011-06-22 19:17:32 -04:00
Jonas Sicking
7ac9726ad6 Bug 664932: Make update unit tests not implement nsIXMLHttpRequestEventTarget in script. r=rstrong 2011-06-22 15:17:07 -07:00
Jeff Muizelaar
9c940cc534 Bug 662649. DrawFPS: Make the conversion loop easier to follow. r=joe 2011-06-22 14:53:11 -04:00
Jeff Muizelaar
d2cc193c0b Bug 662649. DrawFPS: Add a comment about why DrawFPS is a little weird. 2011-06-22 14:49:31 -04:00
Jeff Muizelaar
f15d555c8f Bug 662649. DrawFPS: Make sure we use a 32 bit type instead of a 64 bit one. r=joe
This was causing badness on platforms where unsigned long is 64 bits.
2011-06-22 14:46:27 -04:00
Jeff Muizelaar
e70b966d11 Bug 662649. DrawFPS: free leaked buffer. r=joe
glTexImage2D will keep a copy of this data around so we don't have to.
2011-06-22 14:43:52 -04:00
Jeff Muizelaar
5db1ac6018 Bug 661658. Fix pointer as int size problem on Win64. r=joedrew
The glyph cache uses a pointer for a hash value, and uses
that hash value as a pointer. We need to ensure that the
hash type is large enough to fit a pointer.
2011-06-22 14:38:25 -04:00
Michal Novotny
6d1f6742fe Bug 504014 - Enforce RFC 3986 syntax for IPv6 literals 2011-06-23 17:04:23 +02:00
Mats Palmgren
f205bc0de5 Bug 654002 - Remove frame continuations iteratively, not recursively. r=roc 2011-06-23 01:16:00 +02:00
Ms2ger
4955fdd963 Merge backout. 2011-06-23 16:36:56 +02:00
Ms2ger
2d5d8b8638 Backed out changeset 831fabb406a1 (Bug 664821) for WinXP opt M3 crashes. 2011-06-23 16:36:07 +02:00
Igor Bazarny
39a01edf21 bug 570341 Initial implementation of web timing specification
r=smaug sr=biesi
2011-06-23 12:39:48 +02:00
Josh Matthews
722a88c01c Bug 663922 - Prevent null dereference of history transactions. r=smaug 2011-06-22 12:52:41 -04:00
Daniel Holbert
1324a1faec Bug 665209: Disable recursive image loads in content(). r=bz 2011-06-22 22:21:47 -07:00
Joe Drew
9731d1f3ee Bug 665833 - Use nsCRTGlue rather than nsCRT in nsStyleStruct.cpp. r=dbaron 2011-06-21 01:03:59 -04:00
Frédéric Wang
d0b0bcd4b5 Bug 407439 - Support for Asana Math font in MathML (add in pref). r=karlt
--HG--
extra : rebase_source : ac0adbd039b28a50ff1e8297a9e3aa53b5fe6c8a
2011-06-22 11:49:41 -04:00
Frédéric Wang
ecb832b98f Bug 407439 - Support for Asana Math font in MathML. r=karlt
--HG--
extra : rebase_source : 829d002f8d1e448d5d4b13893046873b4bb34c44
2011-06-22 11:49:26 -04:00
Frédéric Wang
6762a2aaf2 support drawing non-BMP characters for stretchy operators (bug 407439). r=karlt
--HG--
extra : rebase_source : 8a0351a8a0b45de4e783050608e513582b8a345c
2011-06-22 11:49:11 -04:00
Frédéric Wang
b1082b4246 Always start the lookup of largeop variants at size=1 (bug 584332). r=karlt
--HG--
extra : rebase_source : 05bc57d2c0b0989f887e42d0d52a7a993e27972a
2011-06-22 11:48:56 -04:00
Mark Finkle
fb1f6b2961 Bug 666321 - Discard decoded images faster [r=mbrubeck] 2011-06-22 14:16:09 -04:00
Mark Finkle
0c966bc682 Bug 604463 - Request for session store to retain the browsing history and scroll offsets [r=mbrubeck, wjohnston] 2011-06-22 14:16:09 -04:00
Mats Palmgren
fb9132ab57 Bug 312156 - Tests for CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Mats Palmgren
b19080bd1f Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Mats Palmgren
64fe4b087b Bug 312156 - Implement CSS3 text-overflow. r=dbaron 2011-06-22 20:11:47 +02:00
Mats Palmgren
0efe54035d Bug 312156 - Make gfxFont::HasCharacter work for Pango fonts. r=roc 2011-06-22 20:11:47 +02:00
Robert O'Callahan
9f293f9979 Bug 637852. Part 27: Fix RenderFrameParent rendering to handle transforms on the root layer, and fix bugs with parameters being modified. r=stechz 2011-06-23 00:11:29 +12:00
Robert O'Callahan
ae6647d4d2 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
70312fec05 Bug 637852. Part 25: Add nsSize ScaleToNearestPixels. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
36d533de88 Bug 637852. Part 24: Fix scale/translate order in DrawThebesLayer. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
2c76301582 Bug 637852. Part 23: Fix incorrect call to 'abs'. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
432a81c01e Bug 637852. Part 22: Detect when the contents of a ThebesLayer have shifted by a subpixel amount and repaint the entire layer when that happens. r=tnikkel
This fixes artifacts when we're scrolling inside scaled content, and includes a test for that (which fails without
this code change).
2011-06-23 00:11:28 +12:00
Robert O'Callahan
779fca303f Bug 637852. Part 21: Skip invalidation if aRegionToInvalidateIsEmpty (note that ScaleRoundOut on an empty bounds rect can return a non-empty rect). r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
a0cb0b9295 Bug 637852. Part 20: Allow fast scrolling within transformed content. r=tnikkel
This lets us easily test scrolling with non-identity resolution.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
a71cab3bed Bug 637852. Part 19: Test (from bug 633344) 2011-06-23 00:11:28 +12:00
Robert O'Callahan
0c48fabd49 Bug 637852. Part 18: Support computing the "residual transform" for a ThebesLayer --- the difference between its snapped transform and the ideal transform --- and use it to align ThebesLayer drawing for transforms that aren't changing. r=tnikkel
This fixes bug 637597 and probably other bugs.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
59cfc47b23 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
04565c4766 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.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
c65d66ca40 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
e90667f7e7 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
55a9350095 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.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
8a76eeceb9 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
9c74d507a9 Bug 637852. Part 11: Remove ExtendForScaling from nsRect and nsRegion. r=joe
This is good because the semantics of this method always sucked.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
7f64e9bccf Bug 637852. Part 10: Remove mX/YResolution from ThebesLayer. r=joe
These are the last vestiges of Layer-based resolution API.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
0cc6be313b Bug 637852. Part 9: Remove resolution support from BasicLayers, ShadowLayers and GL layers. r=mattwoodrow
This is not needed anymore.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
64c5e295e0 Bug 637852. Part 8: Remove resolution support from D3D9 layers. r=mattwoodrow
Layer-system resolution support is no longer needed.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
0041df680e Bug 637852. Part 7: Remove resolution support from D3D10 layers. r=mattwoodrow
Layer-system resolution support is no longer needed.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
fcf2510a5d 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
93793566d0 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
3cbadba941 Bug 637852. Part 4: Add nsRegion::ScaleInverseRoundOut and nsRegion::ScaleToOutsidePixels APIs. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
c58a20de4e Bug 637852. Part 3: Add nsPoint::ScaleToNearestPixels, nsRect::ScaleToNearestPixels, nsRect::ScaleToInsidePixels and nsRect::ScaleToOutsidePixels APIs. r=joe 2011-06-23 00:11:27 +12:00