Robert O'Callahan
82eb2f46ce
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
4bf1c2993b
Bug 637852. Part 24: Fix scale/translate order in DrawThebesLayer. r=tnikkel
2011-06-23 00:11:28 +12:00
Robert O'Callahan
9d4ace85bf
Bug 637852. Part 23: Fix incorrect call to 'abs'. r=tnikkel
2011-06-23 00:11:28 +12:00
Robert O'Callahan
6965db4c13
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
612c9f5ad3
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
42a3d21da7
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
7a97a0146f
Bug 637852. Part 19: Test (from bug 633344)
2011-06-23 00:11:28 +12:00
Robert O'Callahan
9f092ece3e
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
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
c944a09c1f
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
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
c37c544c23
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
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
Brian Birtles
3f80258e68
Bug 663288 - Don't allow instance times to be self-dependent, r=dholbert
2011-06-22 10:12:35 +09:00
Boris Zbarsky
99ce9662ba
Merge mozilla-central into mozilla-inbound
2011-06-21 17:05:11 -04:00
Boris Zbarsky
585106f219
Bug 548734. Get rid of the footgun ui.use_native_popup_windows preference. r=roc,khuey
2011-06-21 17:00:47 -04:00
Mounir Lamouri
8692cfd266
Bug 658037 (1/2) - r=bz
2011-06-21 18:52:22 +02:00
Ed Morley
089654ad1f
Bug 665723 - Fix unused variable warnings in layout/generic/; r=roc
2011-06-21 17:37:47 +02: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
fb3b384230
Add crashtest from bug 588627
2011-06-20 11:42:05 -07:00
Jesse Ruderman
0b957680dd
Add crashtest from bug 541620
2011-06-20 11:42:05 -07:00
Jesse Ruderman
770a0deaa3
Add crashtest from bug 576649
2011-06-20 11:42:05 -07:00
Doug Turner
12569c1c97
Bug 615597 - Implement devicemotion and fix up deviceorientation events. r=smaug/azakai
...
--HG--
rename : content/events/src/nsDOMOrientationEvent.cpp => content/events/src/nsDOMDeviceOrientationEvent.cpp
rename : content/events/src/nsDOMOrientationEvent.h => content/events/src/nsDOMDeviceOrientationEvent.h
rename : dom/system/android/nsAccelerometerSystem.cpp => dom/system/android/nsDeviceMotionSystem.cpp
rename : dom/system/android/nsAccelerometerSystem.h => dom/system/android/nsDeviceMotionSystem.h
rename : dom/system/cocoa/nsAccelerometerSystem.h => dom/system/cocoa/nsDeviceMotionSystem.h
rename : dom/system/cocoa/nsAccelerometerSystem.mm => dom/system/cocoa/nsDeviceMotionSystem.mm
rename : dom/system/nsAccelerometer.cpp => dom/system/nsDeviceMotion.cpp
rename : dom/system/nsAccelerometer.h => dom/system/nsDeviceMotion.h
rename : dom/system/unix/nsAccelerometerSystem.cpp => dom/system/unix/nsDeviceMotionSystem.cpp
rename : dom/system/unix/nsAccelerometerSystem.h => dom/system/unix/nsDeviceMotionSystem.h
rename : dom/system/windows/nsAccelerometerSystem.cpp => dom/system/windows/nsDeviceMotionSystem.cpp
rename : dom/system/windows/nsAccelerometerSystem.h => dom/system/windows/nsDeviceMotionSystem.h
rename : xpcom/system/nsIAccelerometer.idl => xpcom/system/nsIDeviceMotion.idl
2011-06-19 22:36:17 -07:00
Cameron McCormack
5ba25fdf72
Bug 642175 - Part 3: Make existing plugin crash mochitests clean up after themselves. r=ted
2011-06-21 12:12:15 +12: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
Robert Longson
b83c1a79d8
Bug 652832 - Support animation of use element width/height. r=jwatt
2011-06-20 21:15:42 +01:00
Mounir Lamouri
532e1d6cc7
Backed out changeset 2783e9b15954 (bug 665833) due to oranges.
2011-06-21 18:59:20 +02:00
Joe Drew
90982d8ae9
Bug 665833 - Use nsCRTGlue rather than nsCRT in nsStyleStruct.cpp. r=dbaron
2011-06-21 01:03:59 -04:00
Jonathan Watt
65290226b5
Bug 665009 - In SVG reftests, replace the link to Creative Commons' retired Public Domain Dedication with a link to the replacement, CC0. r=longsonr,gerv.
2011-06-21 13:19:35 +01:00
Joel Maher
8bce810e48
Bug 663853 - move layout/xul/test/*.xul to mochitest-chrome. r=mats, a=test-only
2011-06-19 11:56:44 -04: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
Marco Bonardo
59e0063996
Merge Places and mozilla-central
2011-06-18 13:09:31 +02:00
Olli Pettay
91010d2a7b
Bug 664430 - Make sure PopupManager doesn't keep objects alive after xpcom-shutdown, r=enndeakin
...
--HG--
extra : rebase_source : 137f6507926c47686d9542f97b6d518599e5ed0f
2011-06-18 12:11:36 +03:00
Jonas Sicking
780fc9209d
Bug 663768 Part 2: Remove syncload XPCOM service. r=jst
2011-06-17 20:05:41 -07:00
Mounir Lamouri
63b38baddf
Merging mozilla-central with mozilla-inbound.
2011-06-17 15:26:17 +02:00
Dão Gottwald
bb6e193672
Bug 654411 - Use text color at 50% opacity instead of graytext to de-emphasize text in the location bar. r=roc ui-r=faaborg
2011-06-17 08:07:03 +02:00
Robert O'Callahan
1cf4650fb9
Bug 660682. Let anonymous blocks in IB splits inherit opacity from their first inline, so that 'opacity' applies to the contents of a split inline. r=bz
2011-06-17 15:36:07 +12: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
Marco Bonardo
49621889c6
Merge Places and mozilla-central
2011-06-18 11:24:57 +02: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
Jonathan Watt
6f064bf3e9
Bug 664130 - const-ify some SVG element class methods. r=dholbert.
2011-06-16 11:53:13 +01: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 Watt
782ce5cba9
Bug 664130 - const-ify some SVG element class methods. r=dholbert.
...
--HG--
extra : rebase_source : e3efcfa1b14b36a5b7f1baefde3fbffb471c6b37
2011-06-16 11:53:13 +01:00
Jonathan Kew
0e9e1fe005
bug 467669 - pt 7 - tests for the font-face inspection API. r=roc
2011-06-16 07:31:38 +01:00