Commit Graph

71723 Commits

Author SHA1 Message Date
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
Igor Bukanov
ba5e71d38e bug 666091 - custom file for GCTIMER output. r=anygregor 2011-06-22 14:33:39 +02:00
Jeff Walden
55a71f2ebf Style patrol followup to bug 665835. r=consistency
--HG--
extra : rebase_source : fe11c9f93246357209608ef6db85f2c147eb1b61
2011-06-24 14:36:13 -07:00
Chris Leary
a71d61104b Followup for bug 649576 GCC 4.3.3 warning. 2011-06-25 16:35:56 -07:00
Chris Leary
0780a149be Bug 649576: Extricate JSHashTable from JSAtomList death grip. (r=luke) 2011-06-24 14:22:30 -07:00
Paul Biggar
0e43edd30e Bug 666788: Remove JS_sscanf declaration, for which there is no definition (r=cdleary) 2011-06-24 16:12:40 -07:00
Luke Wagner
822bc8b69e Bug 666094 - InitJitFrameLatePrologue should do a better modeling generatePrologue (r=dvander) 2011-06-24 16:11:21 -07:00
David Mandelin
4c436c89cd Bug 666587: revert accidentally changed control flow in fun_getProperty, r=jwalden 2011-06-24 14:26:00 -07:00
Dave Herman
4fa36afd9e Bug 666852 - crash when yield occurs in comprehension RHS (r=cdleary) 2011-06-24 14:08:29 -04:00
Andrew McCreight
4c9425df02 Bug 665044 - lift CC GC outside of the CCRunner mutex. r=bent 2011-06-21 15:06:42 -07:00
Peter Van der Beken
2cc98005f0 Fix for bug 664388 (NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS uses wrong pointer). r=bent.
--HG--
extra : rebase_source : b98acfb314f8b3e59b31d10e6ac7bc7d965287a1
2011-06-21 15:23:35 +02:00
Ted Mielczarek
62b37a06ef bug 664197 - integrate mozinfo + ManifestDestiny update into xpcshell harness. r=jmaher
--HG--
extra : rebase_source : 1783e1a39d592defa279488f0cd0266311ed35ea
2011-06-21 08:12:40 -04: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