gecko/layout/generic
Ehsan Akhgari d54aaab73b Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
This patch adds a change hint to signal that one of the offsets on a
frame has been changed.  When processing the hint, we do one of the
following things based on the position property of the frame.

* For static frames, we ignore the offset changes completely, as they
  will not change the layout.
* For relative positioned frames, this patch refactors the
  nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
  used from other callers, and it uses that to compute the new relative
  offsets, and uses the offsets computed previously to compute the new
  position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
  object, and then we create a new reflow state object for the frame in
  question.  This setup is similar to what nsFrame::BoxReflow does.
  Once we have the new reflow state object, we use it to compute the
  absolute offsets, and then we use the computed offsets to set the new
  position of the frame.  The offset computation is similar to what
  nsAbsoluteContainingBlock::ReflowAbsoluteFrame does.  In some cases
  where it is possible for the dimensions of the frame to change based
  on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
..
crashtests Update bug number (no bug, DONTBUILD) 2012-05-21 18:24:50 -07:00
test Bug 758179. Part 5: Test. r=mats 2012-05-30 01:13:37 +12:00
broken-image.png
folder.png
frame-graph.py Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
frame-verify.js Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
FrameChildList.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
FrameChildList.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
jar.mn Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
loading-image.png
Makefile.in Bug 751521 - Separate pixman detection from cairo. r=glandium 2012-05-26 08:44:00 +02:00
nsAbsoluteContainingBlock.cpp Remove nsStyleBorder::GetActualBorder, since it now does the same thing as nsStyleBorder::GetComputedBorder. (Bug 713643, patch 3) r=bzbarsky 2012-05-30 22:19:49 -07:00
nsAbsoluteContainingBlock.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsAutoCopyListener.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsBlockDebugFlags.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsBlockFrame.cpp Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc 2012-06-05 19:13:41 -07:00
nsBlockFrame.h Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc 2012-06-05 19:13:41 -07:00
nsBlockReflowContext.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsBlockReflowContext.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsBlockReflowState.cpp Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
nsBlockReflowState.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsBRFrame.cpp bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsBulletFrame.cpp Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
nsBulletFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsCanvasFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsCanvasFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsColumnSetFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsContainerFrame.cpp Rename nsStyleBorder::GetActualBorderWidth to GetComputedBorderWidth. (Bug 713643, patch 4) r=bzbarsky 2012-05-30 22:19:49 -07:00
nsContainerFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFirstLetterFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFirstLetterFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFloatManager.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFloatManager.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFontInflationData.cpp Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc 2012-06-05 19:13:41 -07:00
nsFontInflationData.h Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
nsFrame.cpp Rename nsStyleBorder::GetActualBorderWidth to GetComputedBorderWidth. (Bug 713643, patch 4) r=bzbarsky 2012-05-30 22:19:49 -07:00
nsFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsFrameList.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFrameList.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFrameSelection.h Bug 757807. Don't store an nsMouseEvent in nsFrameSelection, it's unnecessary and leaky. r=smaug 2012-05-24 22:36:08 +12:00
nsFrameSetFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFrameSetFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsFrameUtil.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsGfxScrollFrame.cpp bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsGfxScrollFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsHTMLCanvasFrame.cpp bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsHTMLCanvasFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsHTMLParts.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsHTMLReflowMetrics.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsHTMLReflowMetrics.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsHTMLReflowState.cpp Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron 2012-06-06 00:53:48 -04:00
nsHTMLReflowState.h Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron 2012-06-06 00:53:48 -04:00
nsIAnonymousContentCreator.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsIFrame.h Bug 464758. Don't try to check for :before/:after pseudos for frames that can't have them. r=dbaron 2012-05-29 23:45:17 -04:00
nsIFrameUtil.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsILineIterator.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsImageFrame.cpp bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsImageFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsImageMap.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsImageMap.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsInlineFrame.cpp Rename nsStyleBorder::GetActualBorderWidth to GetComputedBorderWidth. (Bug 713643, patch 4) r=bzbarsky 2012-05-30 22:19:49 -07:00
nsInlineFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsIntervalSet.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsIntervalSet.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsIObjectFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsIPageSequenceFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsIScrollableFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsIStatefulFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsLeafFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsLeafFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsLineBox.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsLineBox.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsLineLayout.cpp Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
nsLineLayout.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsObjectFrame.cpp Bug 758432: Fix SetScaleToSize call for plugins. r=roc 2012-05-30 07:14:30 +02:00
nsObjectFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsPageContentFrame.cpp Rename nsStyleBorder::GetActualBorderWidth to GetComputedBorderWidth. (Bug 713643, patch 4) r=bzbarsky 2012-05-30 22:19:49 -07:00
nsPageContentFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsPageFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsPageFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsPlaceholderFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsPlaceholderFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsPluginUtilsOSX.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsPluginUtilsOSX.mm Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsQueryFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsSelection.cpp Bug 758589 - Make Selection.toString() return early (with empty result string) if the shell is destroyed. r=smaug 2012-05-30 15:03:19 +02:00
nsSimplePageSequence.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsSimplePageSequence.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsSplittableFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsSplittableFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsSubDocumentFrame.cpp bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsSubDocumentFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsTextFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsTextFrameTextRunCache.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsTextFrameThebes.cpp Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc 2012-06-05 19:13:41 -07:00
nsTextFrameUtils.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsTextFrameUtils.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsTextRunTransformations.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsTextRunTransformations.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsTypedSelection.h Bug 750053 - Part a: Add nsISelection::Collapsed(); r=smaug 2012-05-18 10:29:39 +02:00
nsVideoFrame.cpp bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsVideoFrame.h bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
nsViewportFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsViewportFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
TextOverflow.cpp Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
TextOverflow.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00