gecko/layout/generic
Robert O'Callahan 7d4c3fd53a Bug 1014252. Optimize clearing of textruns via RemoveInFlows. r=matspal
We're keeping the core idea that, before we remove the frames-to-be-destroyed
from the continuation chain, their textruns need to be disconnected/destroyed.
However, nsContinuingTextFrame::DestroyFrom tries to optimize when the
destroying frames that aren't mentioned in the userdata for the textrun, and
certain other conditions are met; we need a similar optimization here. It's
simpler here because the other conditions are definitely met, since all the
text for the frames being deleted has already been consumed and reflowed by
previous frames.

We don't need the TEXT_STYLE_MATCHES_PREV_CONTINUATION state bit anymore
because nsContinuingTextFrame::DestroyFrom will never see any textruns when
called via RemoveEmptyInFlows.

--HG--
extra : rebase_source : 6544f923499ef604d48ec15961716549dd25d279
2014-05-28 15:39:25 +12:00
..
crashtests Bug 979921 - Enable some crashtests on Android 2.3; r=dminor 2014-05-27 06:46:15 -06:00
test backout c3f1ab75ea51 (bug 421436) for regressing bug 439462 2014-05-22 15:10:20 -07:00
broken-image.png
folder.png
frame-graph.py
frame-verify.js
FrameChildList.cpp
FrameChildList.h
jar.mn
loading-image.png
Makefile.in
MathMLTextRunFactory.cpp Bug 930504 - When possible, use character substitution for basic mathvariants. r=karlt 2014-05-15 02:50:00 -04:00
MathMLTextRunFactory.h
moz.build bug 1015603 part 5 - implement fake small-caps in gfx using a reduced-size clone of the font. r=roc 2014-05-26 14:23:32 +01:00
nsAbsoluteContainingBlock.cpp Bug 508665 - part 9, Remove now redundant static_cast<nsContainerFrame*> and do_QueryFrame() calls. r=roc 2014-05-24 22:20:40 +00:00
nsAbsoluteContainingBlock.h Bug 1008917 - part 14, make nsAbsoluteContainingBlock::Reflow() return type 'void'. r=roc 2014-05-13 00:47:53 +00:00
nsAutoCopyListener.h
nsBlockDebugFlags.h
nsBlockFrame.cpp Backout 38b25d5e6cf9 because assertions 2014-05-25 03:15:00 -07:00
nsBlockFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsBlockReflowContext.cpp Bug 508665 - part 9, Remove now redundant static_cast<nsContainerFrame*> and do_QueryFrame() calls. r=roc 2014-05-24 22:20:40 +00:00
nsBlockReflowContext.h Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
nsBlockReflowState.cpp Bug 998535 - Apply GetSkipSides to block border+padding to make it for work for box-decoration-break:clone. r=roc 2014-05-12 11:45:28 +00:00
nsBlockReflowState.h Bug 998535 - Apply GetSkipSides to block border+padding to make it for work for box-decoration-break:clone. r=roc 2014-05-12 11:45:28 +00:00
nsBRFrame.cpp backout c3f1ab75ea51 (bug 421436) for regressing bug 439462 2014-05-22 15:10:20 -07:00
nsBulletFrame.cpp Bug 508665 - part 15, s/mParent/GetParent()/ in a bunch of nsIFrame sub-classes. r=roc 2014-05-24 22:20:41 +00:00
nsBulletFrame.h Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
nsCanvasFrame.cpp Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsCanvasFrame.h Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
nsColumnSetFrame.cpp Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsColumnSetFrame.h Bug 508665 - part 3, Change GetContentInsertionFrame() to return a nsContainerFrame*, and return null for leaf frames. Deal with GetContentInsertionFrame() returning null in a couple of places. r=roc 2014-05-24 22:20:39 +00:00
nsContainerFrame.cpp Bug 508665 - part 9, Remove now redundant static_cast<nsContainerFrame*> and do_QueryFrame() calls. r=roc 2014-05-24 22:20:40 +00:00
nsContainerFrame.h Bug 508665 - part 8, Move child frame insertion/removal methods from nsIFrame to nsContainerFrame. r=roc 2014-05-24 22:20:40 +00:00
nsDirection.h
nsFirstLetterFrame.cpp Bug 508665 - part 9, Remove now redundant static_cast<nsContainerFrame*> and do_QueryFrame() calls. r=roc 2014-05-24 22:20:40 +00:00
nsFirstLetterFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsFlexContainerFrame.cpp Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsFlexContainerFrame.h Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsFloatManager.cpp Bug 978443 - Rename NS_STYLE_CLEAR_LEFT_AND_RIGHT to NS_STYLE_CLEAR_BOTH. r=dholbert 2014-03-02 17:42:16 +00:00
nsFloatManager.h
nsFontInflationData.cpp
nsFontInflationData.h Bug 508665 - part 1, Change the signature of SetParent/GetParent from nsIFrame* to nsContainerFrame*. r=roc 2014-05-24 22:20:39 +00:00
nsFrame.cpp Bug 508665 - part 15, s/mParent/GetParent()/ in a bunch of nsIFrame sub-classes. r=roc 2014-05-24 22:20:41 +00:00
nsFrame.h Bug 508665 - part 11, Make nsIFrame::SetParent non-virtual. r=roc 2014-05-24 22:20:41 +00:00
nsFrameIdList.h Bug 975501 part 2: Add display:{inline-,}grid behind a pref, and a stub nsGridContainerFrame. r=dholbert 2014-02-26 23:45:29 -08:00
nsFrameList.cpp Bug 508665 - part 6, Require a nsContainerFrame* for aParent in nsFrameList methods. r=roc 2014-05-24 22:20:40 +00:00
nsFrameList.h Bug 508665 - part 6, Require a nsContainerFrame* for aParent in nsFrameList methods. r=roc 2014-05-24 22:20:40 +00:00
nsFrameSelection.h Bug 950386 - Move mozilla::Selection to mozilla::dom::Selection; r=ehsan 2014-04-10 19:09:40 +03:00
nsFrameSetFrame.cpp Bug 508665 - part 15, s/mParent/GetParent()/ in a bunch of nsIFrame sub-classes. r=roc 2014-05-24 22:20:41 +00:00
nsFrameSetFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsFrameState.cpp Bug 869836 - Part 12: Use Assign('c') instead of AssignLiteral("c"). r=ehsan 2014-05-26 21:55:08 +03:00
nsFrameState.h
nsFrameStateBits.h Bug 1014252. Optimize clearing of textruns via RemoveInFlows. r=matspal 2014-05-28 15:39:25 +12:00
nsFrameUtil.cpp Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
nsGfxScrollFrame.cpp bug 966084 - don't QI the result of win->GetFrameElementInternal() when its not required r=smaug 2014-01-23 16:14:29 -05:00
nsGfxScrollFrame.h Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsGridContainerFrame.cpp Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsGridContainerFrame.h Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsHTMLCanvasFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsHTMLCanvasFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsHTMLParts.h Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsHTMLReflowMetrics.cpp
nsHTMLReflowMetrics.h Backout 38b25d5e6cf9 because assertions 2014-05-25 03:15:00 -07:00
nsHTMLReflowState.cpp Bug 1008969 - part 1, Initialize the nsHTMLReflowState "frame type" correctly for display:grid/inline-grid. Add nsIFrame::IsFlexOrGridItem(), and use it to share some flexbox code in nsHTMLReflowState. r=dholbert 2014-05-12 21:16:05 +00:00
nsHTMLReflowState.h Bug 349259 patch 1: Add an nsIContent* parameter to nsHTMLReflowState::CalcLineHeight. r=bz 2014-03-12 20:33:21 -07:00
nsIAnonymousContentCreator.h
nsIFrame.h Bug 508665 - part 16, Change the type of nsIFrame::mParent to nsContainerFrame* and make it private. r=roc 2014-05-24 22:20:41 +00:00
nsIFrameInlines.h Bug 508665 - part 15, s/mParent/GetParent()/ in a bunch of nsIFrame sub-classes. r=roc 2014-05-24 22:20:41 +00:00
nsIFrameUtil.h
nsILineIterator.h Bug 491863 - Remove IBMBIDI; r=roc 2014-04-23 21:15:29 -04:00
nsImageFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsImageFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsImageMap.cpp Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
nsImageMap.h
nsInlineFrame.cpp Backout 38b25d5e6cf9 because assertions 2014-05-25 03:15:00 -07:00
nsInlineFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsIntervalSet.cpp
nsIntervalSet.h
nsIObjectFrame.h
nsIPageSequenceFrame.h
nsIScrollableFrame.h Bug 1002426 - Check resolution restore status via specialized flag. r=kats, r=tn 2014-05-12 19:26:53 +02:00
nsIScrollbarOwner.h
nsIScrollPositionListener.h
nsIStatefulFrame.h
nsLeafFrame.cpp Bug 1008917 - part 8, make nsLeafFrame::DoRewflow() return type 'void'. r=roc 2014-05-13 00:47:53 +00:00
nsLeafFrame.h Bug 1008917 - part 8, make nsLeafFrame::DoRewflow() return type 'void'. r=roc 2014-05-13 00:47:53 +00:00
nsLineBox.cpp Bug 491863 - Remove IBMBIDI; r=roc 2014-04-23 21:15:29 -04:00
nsLineBox.h Bug 491863 - Remove IBMBIDI; r=roc 2014-04-23 21:15:29 -04:00
nsLineLayout.cpp Backout 38b25d5e6cf9 because assertions 2014-05-25 03:15:00 -07:00
nsLineLayout.h Wait for CanPlaceFrame (i.e. after reflow) to apply start-margin and test whether the frame is a last continuation and so needs its end-margin applied. Bug 999446, r=jfkthame 2014-05-20 07:04:54 -07:00
nsObjectFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsObjectFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsPageContentFrame.cpp Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsPageContentFrame.h Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsPageFrame.cpp Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsPageFrame.h Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsPlaceholderFrame.cpp Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
nsPlaceholderFrame.h Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
nsPluginUtilsOSX.h
nsPluginUtilsOSX.mm
nsQueryFrame.h
nsSelection.cpp Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
nsSimplePageSequenceFrame.cpp Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsSimplePageSequenceFrame.h Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
nsSplittableFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsSplittableFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsSubDocumentFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsSubDocumentFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsTextFrame.cpp Bug 1014252. Optimize clearing of textruns via RemoveInFlows. r=matspal 2014-05-28 15:39:25 +12:00
nsTextFrame.h Bug 1014252. Optimize clearing of textruns via RemoveInFlows. r=matspal 2014-05-28 15:39:25 +12:00
nsTextFrameUtils.cpp
nsTextFrameUtils.h
nsTextRunTransformations.cpp bug 1015603 part 6 - remove nsFontVariantTextRunFactory from layout, leaving gfx to handle small-caps. r=roc 2014-05-26 14:23:32 +01:00
nsTextRunTransformations.h bug 1015603 part 6 - remove nsFontVariantTextRunFactory from layout, leaving gfx to handle small-caps. r=roc 2014-05-26 14:23:32 +01:00
nsVideoFrame.cpp Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
nsVideoFrame.h Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
nsViewportFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsViewportFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
ScrollbarActivity.cpp Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
ScrollbarActivity.h
Selection.h Bug 950386 - Move mozilla::Selection to mozilla::dom::Selection; r=ehsan 2014-04-10 19:09:40 +03:00
StickyScrollContainer.cpp Bug 920688 - Remove FIXME comment from StickyScrollContainer::ComputeStickyLimits. r=dbaron 2014-04-22 15:30:00 +02:00
StickyScrollContainer.h
TextOverflow.cpp Make nsLineBox.mBounds a LogicalRect. Bug 789096, r=jfkthame 2014-04-16 01:03:28 -07:00
TextOverflow.h
WritingModes.h Add some more logical getters to nsIFrame.h. Bug 735577, r=jfkthame 2014-04-16 01:03:30 -07:00