Граф коммитов

30108 Коммитов

Автор SHA1 Сообщение Дата
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