gecko-dev/layout
Robert O'Callahan 7c34e38876 Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.

With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).

FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
..
analysis
base Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel 2012-04-10 23:24:18 +12:00
build Bug 741287 part 2 - Fix layout/build/Makefile.in for missing libraries. r=ted 2012-04-06 10:17:47 +02:00
doc Backout bug 719177 (2cae7e5c62ae,07bd73451aa4,13739446fc8e,0246973f2513,f222fbece983,8f11aaac24dc). r=roc 2012-02-07 12:31:24 +01:00
forms Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel 2012-04-10 23:24:18 +12:00
generic Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel 2012-04-10 23:24:18 +12:00
inspector Bug 712936 - Convert users of PR_STATIC_ASSERT to MOZ_STATIC_ASSERT. r=jwalden 2012-04-02 17:21:24 -07:00
ipc Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel 2012-04-10 23:24:18 +12:00
mathml Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel 2012-04-10 23:24:18 +12:00
media Backout bug 644608 for subtly breaking layout/media build 2012-04-06 13:57:24 +02:00
printing Backout 17deb5f61b4d (bug 150073) due to build bustage. a=shouldausedtryfirst 2012-04-03 20:22:42 -04:00
reftests Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel 2012-04-10 23:24:18 +12:00
style Bug 742581: Make definition of nsStyleCoord::GetCoordValue() consistent with the declaration, regarding what the function's return type is. r=dbaron 2012-04-06 17:01:32 -07:00
svg Backed out changeset a329aa4bc026; r=bustage 2012-03-31 13:23:37 +02:00
tables Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel 2012-04-10 23:24:18 +12:00
tools Bug 736112 - add try/except blocks around all harnesses devicemanager initialization so we always return an error code. r=wlach 2012-03-22 10:45:30 -04:00
xul Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel 2012-04-10 23:24:18 +12:00
Makefile.in Bug 727705 - remove two copies of pageloader from m-c. r=jmaher 2012-02-22 09:24:29 -05:00