gecko/layout/generic
Robert O'Callahan d0dd680745 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 724352 - Decrement assertion counts for some layout crashtests. r=roc 2012-04-05 16:30:21 +02:00
test Bug 668716 - Change test_bug632379.xul failure on Mac to a todo(); r=orange 2012-03-21 15:41:35 -04:00
broken-image.png
folder.png
frame-graph.py
frame-verify.js
FrameChildList.cpp
FrameChildList.h
jar.mn
loading-image.png
Makefile.in Bug 379709 - Avoid reflowing SVG twice during page load due to initially assuming we'll need space for a vertical scrollbar when the nsSVGOuterSVGFrame can tell us we won't. r=bz. 2012-03-19 08:34:19 +00:00
nsAbsoluteContainingBlock.cpp Restore merge changeset 39a3044823b0, regression fixed upstream in mc 2012-03-05 13:09:05 -05:00
nsAbsoluteContainingBlock.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsAutoCopyListener.h
nsBlockDebugFlags.h
nsBlockFrame.cpp Bug 730769 - Make nsLineBox use a frame hash table for lines with many frames. part=2/2 r=bz 2012-03-11 03:32:27 +01:00
nsBlockFrame.h Bug 730769 - Make nsLineBox use a frame hash table for lines with many frames. part=2/2 r=bz 2012-03-11 03:32:27 +01:00
nsBlockReflowContext.cpp Bug 728908 - Make the Overflow lines property have both a nsLineList and a nsFrameList for fast access to the last frame, eliminate SetNextSibling calls, and to support GetChildList(kOverflowList). part 1/2 r=bz 2012-03-08 02:57:37 +01:00
nsBlockReflowContext.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsBlockReflowState.cpp Bug 730769 - Add NewLineBox/FreeLineBox methods to nsBlockFrame. part=1/2 r=bz 2012-03-11 03:32:27 +01:00
nsBlockReflowState.h Bug 730769 - Add NewLineBox/FreeLineBox methods to nsBlockFrame. part=1/2 r=bz 2012-03-11 03:32:27 +01:00
nsBRFrame.cpp Switch nsLayoutUtils inflation methods to the new setup with state on the pres context. (Bug 706609, patch 5) r=roc 2012-01-24 17:21:29 -08:00
nsBulletFrame.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
nsBulletFrame.h Bug 714752: Make imgIContainerObserver::FrameChanged take an imgIRequest*. r=joe sr=roc 2012-01-06 07:32:38 -05:00
nsCanvasFrame.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
nsCanvasFrame.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
nsColumnSetFrame.cpp Bug 725376 - Don't do column balancing deeper than 2 nested levels to avoid hang. r=roc 2012-02-18 02:34:21 +01:00
nsContainerFrame.cpp Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz 2012-03-08 02:57:37 +01:00
nsContainerFrame.h Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz 2012-03-08 02:57:37 +01:00
nsFirstLetterFrame.cpp Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsFirstLetterFrame.h Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsFloatManager.cpp Bug 700659 - Slay nsHashSets in layout. r=dbaron 2011-11-08 15:24:37 -05:00
nsFloatManager.h Bug 704127 - Move C++ attribute support out of mozilla/Types.h and into mozilla/Attributes.h so that it can be used by code that's not yet compatible with the full mfbt experience. r=cjones 2011-11-20 12:22:51 -08:00
nsFrame.cpp Backed out changeset f5d6cc2e4726 2012-04-09 10:44:32 -07:00
nsFrame.h Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsFrameList.cpp Bug 738705: Remove dead helper-class CompareByContentOrderComparator. r=bz 2012-03-23 11:17:33 -07:00
nsFrameList.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsFrameSelection.h Bug 726592 - Uninitialised value use in nsTextFrame::GetChildFrameContainingOffset; r=roc 2012-03-26 09:09:38 -07:00
nsFrameSetFrame.cpp Restore merge changeset 39a3044823b0, regression fixed upstream in mc 2012-03-05 13:09:05 -05:00
nsFrameSetFrame.h Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
nsFrameUtil.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsGfxScrollFrame.cpp Backed out changeset 3b8a666e351e (bug 702463) 2012-04-03 16:50:25 -07:00
nsGfxScrollFrame.h Backed out changeset 3b8a666e351e (bug 702463) 2012-04-03 16:50:25 -07:00
nsHTMLCanvasFrame.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
nsHTMLCanvasFrame.h Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsHTMLParts.h Bug 728911 - Remove the nsBlockFrame::mBullet member and store it in a frame property instead (as needed). For an outside bullet, store it as a nsFrameList* to support GetChildList(kBulletList). part 2/2 r=bz 2012-03-08 02:57:37 +01:00
nsHTMLReflowMetrics.cpp
nsHTMLReflowMetrics.h Bug 711895 - Tweak the warning options used for GCC builds (3rd attempt). r=waldo,derf,khuey,mhommey. 2012-03-21 22:21:16 -07:00
nsHTMLReflowState.cpp Bug 711418 - Enable font inflation for body and html elements with fixed heights. [r=dbaron] 2012-03-23 22:47:43 -05:00
nsHTMLReflowState.h Bug 725376 - Don't do column balancing deeper than 5 nested levels to avoid hang. r=roc 2012-02-12 22:21:51 +01:00
nsIAnonymousContentCreator.h Backout changeset be42bc18185a (bug 612128) because of bug 688423 2011-10-25 22:32:55 -04:00
nsIFrame.h Bug 726592 - Uninitialised value use in nsTextFrame::GetChildFrameContainingOffset; r=roc 2012-03-26 09:09:38 -07:00
nsIFrameUtil.h
nsILineIterator.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsImageFrame.cpp Bug 721659. Update the width/height of an image synchronously when src is set to something that was preloaded. r=bholley 2012-03-19 18:22:02 -04:00
nsImageFrame.h Bug 721659. Update the width/height of an image synchronously when src is set to something that was preloaded. r=bholley 2012-03-19 18:22:02 -04:00
nsImageMap.cpp Merge inbound and central 2012-03-16 13:42:16 +01:00
nsImageMap.h Bug 732389 - image map accessible tree is not updated when image map is changed, r=bz, tbsaunde 2012-03-15 16:16:02 -04:00
nsInlineFrame.cpp Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsInlineFrame.h Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsIntervalSet.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsIntervalSet.h
nsIObjectFrame.h Bug 90268: Change plugin instance ownership from layout to content. r=roc r=bsmedberg 2012-01-31 16:55:54 -05:00
nsIPageSequenceFrame.h
nsIScrollableFrame.h Bug 737758: part 1: Propagate mouse wheel event origin from ESM [r=roc] 2012-03-26 11:50:30 +02:00
nsIStatefulFrame.h
nsLeafFrame.cpp Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
nsLeafFrame.h
nsLineBox.cpp Bug 730769 - Make nsLineBox use a frame hash table for lines with many frames. part=2/2 r=bz 2012-03-11 03:32:27 +01:00
nsLineBox.h Bug 730769 - Make nsLineBox use a frame hash table for lines with many frames. part=2/2 r=bz 2012-03-11 03:32:27 +01:00
nsLineLayout.cpp Switch nsLayoutUtils inflation methods to the new setup with state on the pres context. (Bug 706609, patch 5) r=roc 2012-01-24 17:21:29 -08:00
nsLineLayout.h Implement text-align-last. Bug 536557, r=dbaron 2012-01-12 19:52:21 +02:00
nsObjectFrame.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
nsObjectFrame.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
nsPageContentFrame.cpp Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsPageContentFrame.h Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsPageFrame.cpp Bug 10209 - Part 6: Implement the CSS "containing block" concept correctly as a binary relation, as opposed to a unary relation; r=bzbarsky 2011-05-12 00:04:30 -04:00
nsPageFrame.h Bug 10209 - Part 6: Implement the CSS "containing block" concept correctly as a binary relation, as opposed to a unary relation; r=bzbarsky 2011-05-12 00:04:30 -04:00
nsPlaceholderFrame.cpp Bug 729955 - Invalidate destroyed out-of-flow frames before unregistering the placeholder frame. r=bz 2012-03-26 11:27:37 -07:00
nsPlaceholderFrame.h Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc 2012-02-15 22:28:21 +13:00
nsPluginUtilsOSX.h
nsPluginUtilsOSX.mm Bug 90268: Change plugin instance ownership from layout to content. r=roc r=bsmedberg 2012-01-31 16:55:54 -05:00
nsQueryFrame.h Bug 738957 - Remove the nsMathMLForeignFrameWrapper class and related files. r=karlt 2012-03-26 09:59:54 +02:00
nsSelection.cpp Bug 726592 - Uninitialised value use in nsTextFrame::GetChildFrameContainingOffset; r=roc 2012-03-26 09:09:38 -07:00
nsSimplePageSequence.cpp Restore merge changeset 39a3044823b0, regression fixed upstream in mc 2012-03-05 13:09:05 -05:00
nsSimplePageSequence.h Bug 558742 - Comma doesn't work in print range, r=roc 2011-12-06 23:45:06 -05:00
nsSplittableFrame.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsSplittableFrame.h
nsSubDocumentFrame.cpp Bug 737784. Create mInnerView eagerly to ensure that its bounds will always be correctly set in Reflow. r=tnikkel 2012-03-22 16:15:19 +13:00
nsSubDocumentFrame.h Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsTextFrame.h Bug 708187: Disable caching of font inflation inside of BuildTextRunsScanner to prevent bleeding of bad values. [r=dbaron] 2012-03-26 22:37:16 -07:00
nsTextFrameTextRunCache.h
nsTextFrameThebes.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
nsTextFrameUtils.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsTextFrameUtils.h bug 703100 - pt 1 - eliminate gfxTextRunWordCache and gfxTextRunCache. r=roc 2011-12-06 12:39:18 +00:00
nsTextRunTransformations.cpp Bug 741048: Remove gfxAtoms. r=roc 2012-03-30 23:08:46 -07:00
nsTextRunTransformations.h bug 735419 - eliminate unused parameter in the gfxTextRun constructor. r=jdaggett 2012-03-15 09:03:51 +00:00
nsVideoFrame.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
nsVideoFrame.h Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
nsViewportFrame.cpp Bug 699351. Part 2: fix assertion. r=tn 2011-12-06 01:39:14 +13:00
nsViewportFrame.h Bug 10209 - Part 6: Implement the CSS "containing block" concept correctly as a binary relation, as opposed to a unary relation; r=bzbarsky 2011-05-12 00:04:30 -04:00
TextOverflow.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
TextOverflow.h Bug 672944 - Setup overflow areas for the scrolled block frame in a XUL scroll frame for the benefit of text-overflow; Make the text-overflow code grok the extra wrapper frame in this case. r=roc 2012-01-28 04:35:59 +01:00