gecko/layout/tables
Robert O'Callahan 833e8a244f 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
..
crashtests Bug 694248 - skip layout/tables/crashtests/691824-1.xhtml on Android, r=ehsan 2012-01-23 15:40:43 -08:00
test Backout 4997c6f8b24d (bug 616542) for causing locally run mochitest-browser-chrome test runs to fail 2011-11-05 18:35:59 +00:00
BasicTableLayoutStrategy.cpp Set inflation container to null during parts of intrinsic sizing that should not have inflation applied. (Bug 706609, patch 4) r=roc 2012-01-24 17:21:29 -08:00
BasicTableLayoutStrategy.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
celldata.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
FixedTableLayoutStrategy.cpp Bug 735579. Correctly handle changes to column widths in fixed-layout tables. r=ehsan 2012-03-16 15:56:41 -04:00
FixedTableLayoutStrategy.h Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Makefile.in Bug 702388 - Convert Makefiles to use |TEST_DIRS += foo| r=khuey 2012-02-04 17:32:24 +00:00
nsCellMap.cpp Bug 720142 - Use nsIntRect for table damage. r=bernd 2012-01-22 23:48:34 +01:00
nsCellMap.h Bug 720142 - Use nsIntRect for table damage. r=bernd 2012-01-22 23:48:34 +01:00
nsITableCellLayout.h Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
nsITableLayout.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsITableLayoutStrategy.h Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
nsTableCellFrame.cpp 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
nsTableCellFrame.h Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron 2011-06-15 14:03:49 -07:00
nsTableColFrame.cpp Bug 720142 - Use nsIntRect for table damage. r=bernd 2012-01-22 23:48:34 +01:00
nsTableColFrame.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsTableColGroupFrame.cpp Bug 720142 - Use nsIntRect for table damage. r=bernd 2012-01-22 23:48:34 +01:00
nsTableColGroupFrame.h Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
nsTableFrame.cpp 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
nsTableFrame.h 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
nsTableOuterFrame.cpp Bug 736915 - Print Selection prints a blank page when the selection is inside a table. r=bz 2012-04-03 02:30:45 +02:00
nsTableOuterFrame.h Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz 2012-03-08 02:57:37 +01:00
nsTablePainter.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsTablePainter.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsTableRowFrame.cpp Bug 736915 - Print Selection prints a blank page when the selection is inside a table. r=bz 2012-04-03 02:30:45 +02:00
nsTableRowFrame.h Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
nsTableRowGroupFrame.cpp Bug 736915 - Print Selection prints a blank page when the selection is inside a table. r=bz 2012-04-03 02:30:45 +02:00
nsTableRowGroupFrame.h Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
SpanningCellSorter.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
SpanningCellSorter.h Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00