Commit Graph

71343 Commits

Author SHA1 Message Date
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
Robert O'Callahan
06e6b72a58 Bug 637852. Part 2: Add BaseRect::ScaleInverseRoundOut API. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
2685eb6583 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.
2011-06-23 00:11:27 +12:00
Mounir Lamouri
face2086d2 Bug 665612 - More cleanup around mInputData and IsSingleLineTextControl(). f=ehsan r=bz 2011-06-22 12:41:00 +02:00
Kai Liu
336e31923b Bug 661846: Move the Windows classic/XP native menu padding calculation from GetWidgetBorder to GetWidgetPadding. r=jmathies 2011-06-22 12:32:50 +02:00
bjarne@runitsoft.com
ec668f29cd Bug 654926 - Hang in nsDiskCacheStreamIO::CloseOutputStream while downloading WebM video from YouTube r=michal.novotny, bjarne 2011-06-22 10:49:35 +02:00
Makoto Kato
29f4482705 Bug 655655 - decom nsIPosixLocale. r=smontagu
--HG--
rename : intl/locale/public/nsIPosixLocale.h => intl/locale/public/nsPosixLocale.h
2011-06-22 16:34:27 +09:00
Makoto Kato
f8772e188e Bug 182279 - select.add() should have the second parameter optional. r=smaug 2011-06-22 16:33:30 +09:00
Ehsan Akhgari
0459d9e1ab Merge mozilla-central into mozilla-inbound 2011-06-22 03:06:01 -04:00
Masayuki Nakano
629e43938d Bug 664917 Add Preferences API for getting default pref values r=roc, feedback=bz 2011-06-22 15:39:10 +09:00
Bas Schouten
c58b307338 Followup to bug 661973: Fix bug with COM outparams and add convenience operators. r=cjones 2011-06-21 21:44:00 -07:00
Phil Ringnalda
584073fa52 Bug 665328 - Remove the unused Storage string, r=sdwilsh 2011-06-19 09:31:31 -07:00
Phil Ringnalda
ae5dee5c44 Back out bc0b2201ca85 (bug 654002) on suspicion of causing WinXP opt mochitest crashes 2011-06-22 21:46:52 -07:00
Ehsan Akhgari
f742585a1f Merge mozilla-central into mozilla-inbound 2011-06-22 20:19:47 -04:00
Dave Townsend
87b633973d Bug 665780 - "Racy code in background_update of test_blocklistchange.js". r=rs
--HG--
extra : rebase_source : f2062288a65527eb0605f94f38e731306b807f53
2011-06-22 16:49:18 -07:00
Mats Palmgren
f1dde034df Bug 654002 - Remove frame continuations iteratively, not recursively. r=roc 2011-06-23 01:16:00 +02:00
Robert Longson
5bf016d92d Bug 666068 - Speed up nsSVGIntegrationUtils::UsingEffectsForFrame. r=jwatt,jmuizelaar 2011-06-22 21:07:31 +01:00
Ehsan Akhgari
2d2949a90d Bug 595292 - browser_394759.js seems to hit network with dns failures; r=zpao
DONTBUILD
2011-06-22 18:42:10 -04:00
Tim Taubert
c3f607632f Bug 663646 - intermittent TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/tabview/browser_tabview_bug595020.js | title starts with 'title' - Got -1, expected 0; r=ehsan 2011-06-22 23:40:19 +02:00
Taras Glek
50f827a6a6 Bug 666307 - update zip telemetry r=mwu 2011-06-22 10:24:17 -07:00
Mark Finkle
49a7ea7d95 Bug 662302 - Droid Pro: Unable to pan back to content window with 3 columns of tabs open [r=vingtetun] 2011-06-22 15:46:42 -04:00
Ed Morley
c5f7f0a955 Bug 665686 - Fix unused variable warnings in layout/style/; r=dbaron
--HG--
extra : rebase_source : cadde7110be42e3523c908c095cab8852f00bfb3
2011-06-22 12:00:56 -04:00
Ed Morley
a0de3bc8be Bug 665582 - Fix unused variable warning in nsIconChannel.cpp; r=joedrew
--HG--
extra : rebase_source : 65e449aa4dddab9c51862f591dd212851506b50c
2011-06-22 12:00:27 -04:00
Ed Morley
a92663ec2a Bug 665388 - Remove unused variable rv from imgLoader::Init; r=joedrew
--HG--
extra : rebase_source : c77c9dea614b89265e9a0bf481dc070237c675f9
2011-06-22 12:00:04 -04:00
arno renevier
5e42123d15 Bug 665003 - browser/components/nsBrowserContentHandler.js contains unecessary const; r=gavin
--HG--
extra : rebase_source : 7415b9de1233a34f8c7197ed9be8f5003c50586c
2011-06-17 22:36:46 +02:00
Josh Matthews
694db62906 Bug 664821 - Use WrapNative correctly and wrap objects array to avoid compartment errors. r=mrbkap
--HG--
extra : rebase_source : 11cff24ec53820ef845f6b8c7cec910107399be0
2011-06-16 16:45:07 -04:00
Matheus Kerschbaum
2000facb4a Bug 662023 - Remove ActiveX embedding API part 2: rm /embedding/activex/ r=bsmedberg
--HG--
extra : rebase_source : 6e4d1b03af83d2af84752cfb92b6a901d82f8e6a
2011-06-22 11:57:40 -04:00
Matheus Kerschbaum
53ff6edcf5 Bug 662023 - Remove ActiveX embedding API part 1: remove support from the build system. r=bsmedberg
--HG--
extra : rebase_source : d05e2577581e76b2eedf348f5840e40619eaf4c2
2011-06-22 11:57:27 -04:00