gecko-dev/layout/base
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
..
crashtests Bug 735943 - Don't crash if nsSMILAnimationController::FlushResampleRequests destroyed the pres shell. r=bz 2012-03-20 19:02:38 +01:00
tests Bug 740331: Add explicit styles for links in tests for bug 708187 to combat random oranges. [r=dbaron] 2012-04-03 15:17:17 -07:00
FrameLayerBuilder.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
FrameLayerBuilder.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
FramePropertyTable.cpp Bug 712936 - Convert users of PR_STATIC_ASSERT to MOZ_STATIC_ASSERT. r=jwalden 2012-04-02 17:21:24 -07:00
FramePropertyTable.h Bug 729008 - Add memory reporter for FramePropertyTable. r=bz. 2012-02-20 21:02:24 -08:00
Makefile.in Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
nsAutoLayoutPhase.h Bug 677101 - Move nsAutoLayoutPhase to its own header; r=tn 2011-08-08 17:14:34 +02:00
nsBidi.cpp Backout 17deb5f61b4d (bug 150073) due to build bustage. a=shouldausedtryfirst 2012-04-03 20:22:42 -04:00
nsBidi.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsBidiPresUtils.cpp Check for orphaned non-fluid continuations after deleting content. Bug 730562, r=roc 2012-03-21 16:50:54 -07:00
nsBidiPresUtils.h Add a mParagraphDepth member to BidiParagraphData and cache it on frames to track nested bidi-isolated paragraphs. Use mParagraphDepth (* 2 + isRTL in order to keep LTR even and RTL odd) as the initial paragraph embedding level instead of pushing a stack of embedding codes. Pass the <bdi> frame instead of its first-child to BidiParagraphData::Reset and save a call to GetParent(). Split inline ancestors before and after bidi-isolated paragraphs, in the same way that we currently do between runs in different directions. This required also adding code to SplitInlineAncestors to handle situations where the parent frame is being split before its first child or after its last child. In JoinInlineAncestors, prevent frames that belong to paragraphs isolated from one another from being rejoined. Bug 712600, r=ehsan, roc 2012-01-11 21:26:02 +02:00
nsCaret.cpp Bug 726592 - Uninitialised value use in nsTextFrame::GetChildFrameContainingOffset; r=roc 2012-03-26 09:09:38 -07:00
nsCaret.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsChangeHint.h Bug 724502. Ensure that UpdateTransformLayer and UpdateOpacityLayer change hints generate a new change list entry for every frame whose style asks for them. r=matspal 2012-02-08 11:52:59 +13:00
nsChildIterator.cpp Bug 682420 - Rename nsINode::GetOwnerDoc to nsINode::OwnerDoc, part 2, r=jst 2011-10-18 14:19:44 +03:00
nsChildIterator.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
nsCompatibility.h
nsCounterManager.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsCounterManager.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsCSSColorUtils.cpp
nsCSSColorUtils.h Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-06-02 14:56:50 +02:00
nsCSSFrameConstructor.cpp Back out b00bf7f3869c (bug 737976) for apparently causing mochitest-1 leaks on a CLOSED TREE 2012-03-28 22:43:09 -07:00
nsCSSFrameConstructor.h Bug 740067: Make nsCSSFrameConstructor::CreateNeededTablePseudos return void. r=bz 2012-03-28 12:43:15 -07:00
nsCSSRendering.cpp Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
nsCSSRendering.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsCSSRenderingBorders.cpp Bug 711063 - Part 7: Adjust Border rendering code for Azure-Thebes wrapper. r=roc 2012-01-05 08:17:52 +01:00
nsCSSRenderingBorders.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
nsDisplayItemTypes.h Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
nsDisplayList.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
nsDisplayList.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
nsDocumentViewer.cpp Bug 641821, MutationObserver, r=sicking 2012-03-31 09:30:13 -07:00
nsFrameManager.cpp Bug 729955 - Invalidate destroyed out-of-flow frames before unregistering the placeholder frame. r=bz 2012-03-26 11:27:37 -07:00
nsFrameManager.h Bug 729955 - Invalidate destroyed out-of-flow frames before unregistering the placeholder frame. r=bz 2012-03-26 11:27:37 -07:00
nsFrameManagerBase.h Bug 714839 - Make nsCSSFrameConstructor inherit nsFrameManager. r=bz. 2012-02-02 10:06:46 +00:00
nsFrameTraversal.cpp Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
nsFrameTraversal.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
nsGenConList.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsGenConList.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsIDocumentViewerPrint.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsIFrameTraversal.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
nsILayoutDebugger.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
nsILayoutHistoryState.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
nsImageLoader.cpp Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
nsImageLoader.h Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
nsIPercentHeightObserver.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
nsIPresShell.h Back out 0cb85ff0f764 (bug 738568), 9949bb092303 (bug 730209), 095fd525afa7 (bug 729924), dcf8929a8115 (bug 633602) because of widely scattered and unclear bustage on a CLOSED TREE 2012-03-28 22:37:46 -07:00
nsIReflowCallback.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsIStyleSheetService.idl
nsLayoutDebugger.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
nsLayoutErrors.h
nsLayoutHistoryState.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsLayoutUtils.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
nsLayoutUtils.h Backout 7e28d1a2c648, 330b210f503d, 2421d39e0ab3, aa978ffa44bc, 38a71ae7e06d, b94319584a7a, 7e8278f5e814, 0b4e3c7608ab, 329c07609ca8, 0d61a0d8dba4, Due to Ts regression on Android 2012-03-17 21:51:39 -04:00
nsPresArena.cpp Bug 715453 - Remove computedSize from nsMallocSizeOfFun. r=jlebar,bhackett. 2012-01-25 00:52:51 -08:00
nsPresArena.h Bug 705987 - Use mallocSizeOf in the layout memory reporters. r=khuey,bzbarsky 2011-12-08 21:01:52 -08:00
nsPresContext.cpp Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
nsPresContext.h Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
nsPresShell.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
nsPresShell.h Bug 720126 - Update scroll API to use ScrollAxis parameters (where and when). r=roc 2012-03-19 21:09:50 -05:00
nsPresState.h Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsQuoteList.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsQuoteList.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
nsRefreshDriver.cpp Bug 641821, MutationObserver, r=sicking 2012-03-31 09:30:13 -07:00
nsRefreshDriver.h Bug 598482 part 23. Set a backup timer to update plugin geometry if we don't manage to do any painting or layout flushes for a while. r=roc 2011-12-23 22:52:26 -05:00
nsStyleChangeList.cpp
nsStyleChangeList.h Bug 711647 - Add MOZ_DELETE to a bunch of deliberately-not-implemented methods across the tree. r=dbaron 2011-12-16 14:42:07 -05:00
nsStyleConsts.h Bug 548375 - Implement css3-background background-repeat property two value syntax. r=dbaron 2012-02-24 21:23:14 -08:00
nsStyleSheetService.cpp Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron 2011-10-17 10:59:28 -04:00
nsStyleSheetService.h
PaintTracker.cpp Bug 616812 Remove extraneous CRs r+a=dbaron 2011-02-16 21:39:52 +00:00
PaintTracker.h Bug 616812 Remove extraneous CRs r+a=dbaron 2011-02-16 21:39:52 +00:00
RestyleTracker.cpp Bug 709256 part 1. Fast-path RestyleTracker::ProcessRestyles when there aren't any restyles to process. r=roc 2011-12-14 23:42:14 -05:00
RestyleTracker.h Bug 709256 part 1. Fast-path RestyleTracker::ProcessRestyles when there aren't any restyles to process. r=roc 2011-12-14 23:42:14 -05:00