From d31701cad1eb8f8edf4890f1293d64fecd7da75e Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Thu, 6 Feb 2014 17:45:33 -0800 Subject: [PATCH] Bug 91419 patch 9: Fix comments and debugging output referring to "special" frames. r=mats --- layout/base/RestyleManager.cpp | 47 +++++++++-------- layout/base/nsCSSFrameConstructor.cpp | 64 ++++++++++++------------ layout/base/nsCSSFrameConstructor.h | 2 +- layout/base/nsCSSRendering.cpp | 2 +- layout/base/nsLayoutUtils.cpp | 2 +- layout/base/nsLayoutUtils.h | 5 +- layout/generic/StickyScrollContainer.cpp | 2 +- layout/generic/nsFrame.cpp | 22 ++++---- layout/generic/nsFrameStateBits.h | 5 +- layout/generic/nsInlineFrame.cpp | 4 +- layout/generic/nsLineLayout.cpp | 7 +-- layout/style/nsStyleContext.h | 2 +- layout/svg/nsSVGIntegrationUtils.cpp | 4 +- 13 files changed, 89 insertions(+), 79 deletions(-) diff --git a/layout/base/RestyleManager.cpp b/layout/base/RestyleManager.cpp index 30f0c42d7a42..6e4caefb8fcc 100644 --- a/layout/base/RestyleManager.cpp +++ b/layout/base/RestyleManager.cpp @@ -708,9 +708,11 @@ RestyleManager::ProcessRestyledFrames(nsStyleChangeList& aChangeList) nsIFrame* hintFrame = GetFrameForChildrenOnlyTransformHint(frame); nsIFrame* childFrame = hintFrame->GetFirstPrincipalChild(); NS_ASSERTION(!nsLayoutUtils::GetNextContinuationOrIBSplitSibling(frame), - "SVG frames should not have continuations or special siblings"); + "SVG frames should not have continuations " + "or ib-split siblings"); NS_ASSERTION(!nsLayoutUtils::GetNextContinuationOrIBSplitSibling(hintFrame), - "SVG frames should not have continuations or special siblings"); + "SVG frames should not have continuations " + "or ib-split siblings"); for ( ; childFrame; childFrame = childFrame->GetNextSibling()) { NS_ABORT_IF_FALSE(childFrame->IsFrameOfType(nsIFrame::eSVG), "Not expecting non-SVG children"); @@ -721,7 +723,8 @@ RestyleManager::ProcessRestyledFrames(nsStyleChangeList& aChangeList) mOverflowChangedTracker.AddFrame(childFrame); } NS_ASSERTION(!nsLayoutUtils::GetNextContinuationOrIBSplitSibling(childFrame), - "SVG frames should not have continuations or special siblings"); + "SVG frames should not have continuations " + "or ib-split siblings"); NS_ASSERTION(childFrame->GetParent() == hintFrame, "SVG child frame not expected to have different parent"); } @@ -1009,7 +1012,7 @@ RestyleManager::AttributeChanged(Element* aElement, // let the frame deal with it now, so we don't have to deal later primaryFrame->AttributeChanged(aNameSpaceID, aAttribute, aModType); - // XXXwaterson should probably check for special IB siblings + // XXXwaterson should probably check for IB split siblings // here, and propagate the AttributeChanged notification to // them, as well. Currently, inline frames don't do anything on // this notification, so it's not that big a deal. @@ -1773,16 +1776,18 @@ static nsIFrame* GetPrevContinuationWithPossiblySameStyle(nsIFrame* aFrame) { // Account for {ib} splits when looking for "prevContinuation". In - // particular, for the first-continuation of a part of an {ib} split we - // want to use the special prevsibling of the special prevsibling of - // aFrame, which should have the same style context as aFrame itself. - // In particular, if aFrame is the first continuation of an inline part - // of an {ib} split then its special prevsibling is a block, and the - // special prevsibling of _that_ is an inline, just like aFrame. - // Similarly, if aFrame is the first continuation of a block part of an - // {ib} split (an {ib} wrapper block), then its special prevsibling is - // an inline and the special prevsibling of that is either another {ib} - // wrapper block block or null. + // particular, for the first-continuation of a part of an {ib} split + // we want to use the previous ib-split sibling of the previous + // ib-split sibling of aFrame, which should have the same style + // context as aFrame itself. In particular, if aFrame is the first + // continuation of an inline part of a block-in-inline split then its + // previous ib-split sibling is a block, and the previous ib-split + // sibling of _that_ is an inline, just like aFrame. Similarly, if + // aFrame is the first continuation of a block part of an + // block-in-inline split (a block-in-inline wrapper block), then its + // previous ib-split sibling is an inline and the previous ib-split + // sibling of that is either another block-in-inline wrapper block box + // or null. nsIFrame *prevContinuation = aFrame->GetPrevContinuation(); if (!prevContinuation && (aFrame->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT)) { @@ -1804,7 +1809,7 @@ GetPrevContinuationWithPossiblySameStyle(nsIFrame* aFrame) } /** - * Get the previous continuation or similar special sibling (assuming + * Get the previous continuation or similar ib-split sibling (assuming * block/inline alternation), conditionally on it having the same style. * This assumes that we're not between resolving the two (i.e., that * they're both already resolved. @@ -1829,7 +1834,7 @@ GetPrevContinuationWithSameStyle(nsIFrame* aFrame) } /** - * Get the next continuation or similar special sibling (assuming + * Get the next continuation or similar ib-split sibling (assuming * block/inline alternation), conditionally on it having the same style. * * Since this is used when deciding to copy the new style context, it @@ -2202,7 +2207,7 @@ ElementRestyler::CaptureChange(nsStyleContext* aOldContext, /** * Recompute style for mFrame (which should not have a prev continuation * with the same style), all of its next continuations with the same - * style, and all special siblings of the same type (either block or + * style, and all ib-split siblings of the same type (either block or * inline, skipping the intermediates of the other type) and accumulate * changes into mChangeList given that mHintsHandled is already accumulated * for an ancestor. @@ -2840,7 +2845,7 @@ GetNextBlockInInlineSibling(FramePropertyTable* aPropTable, nsIFrame* aFrame) { NS_ASSERTION(!aFrame->GetPrevContinuation(), "must start with the first continuation"); - // Might we have special siblings? + // Might we have ib-split siblings? if (!(aFrame->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT)) { // nothing more to do here return nullptr; @@ -2868,7 +2873,7 @@ RestyleManager::ComputeStyleChangeFor(nsIFrame* aFrame, "must start with the first continuation"); // We want to start with this frame and walk all its next-in-flows, - // as well as all its special siblings and their next-in-flows, + // as well as all its ib-split siblings and their next-in-flows, // reresolving style on all the frames we encounter in this walk that // we didn't reach already. In the normal case, this will mean only // restyling the first two block-in-inline splits and no @@ -2890,7 +2895,7 @@ RestyleManager::ComputeStyleChangeFor(nsIFrame* aFrame, nsTArray visibleKidsOfHiddenElement; for (nsIFrame* ibSibling = aFrame; ibSibling; ibSibling = GetNextBlockInInlineSibling(propTable, ibSibling)) { - // Outer loop over special siblings + // Outer loop over ib-split siblings for (nsIFrame* cont = ibSibling; cont; cont = cont->GetNextContinuation()) { if (GetPrevContinuationWithSameStyle(cont)) { // We already handled this element when dealing with its earlier @@ -2908,7 +2913,7 @@ RestyleManager::ComputeStyleChangeFor(nsIFrame* aFrame, if (restyler.HintsHandledForFrame() & nsChangeHint_ReconstructFrame) { // If it's going to cause a framechange, then don't bother - // with the continuations or special siblings since they'll be + // with the continuations or ib-split siblings since they'll be // clobbered by the frame reconstruct anyway. NS_ASSERTION(!cont->GetPrevContinuation(), "continuing frame had more severe impact than first-in-flow"); diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp index 254a7ec69624..678a0c99c2cf 100644 --- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -420,7 +420,7 @@ static nsIFrame* GetIBSplitSibling(nsIFrame* aFrame) { NS_PRECONDITION(IsFramePartOfIBSplit(aFrame), "Shouldn't call this"); - // We only store the "special sibling" annotation with the first + // We only store the "ib-split sibling" annotation with the first // frame in the continuation chain. Walk back to find that frame now. return static_cast (aFrame->FirstContinuation()-> @@ -431,7 +431,7 @@ static nsIFrame* GetIBSplitPrevSibling(nsIFrame* aFrame) { NS_PRECONDITION(IsFramePartOfIBSplit(aFrame), "Shouldn't call this"); - // We only store the "special sibling" annotation with the first + // We only store the ib-split sibling annotation with the first // frame in the continuation chain. Walk back to find that frame now. return static_cast (aFrame->FirstContinuation()-> @@ -462,20 +462,20 @@ SetFrameIsIBSplit(nsIFrame* aFrame, nsIFrame* aIBSplitSibling) // We should be the only continuation NS_ASSERTION(!aFrame->GetPrevContinuation(), - "assigning special sibling to other than first continuation!"); + "assigning ib-split sibling to other than first continuation!"); NS_ASSERTION(!aFrame->GetNextContinuation() || IsFramePartOfIBSplit(aFrame->GetNextContinuation()), - "should have no non-special continuations here"); + "should have no non-ib-split continuations here"); - // Mark the frame as "special". + // Mark the frame as ib-split. aFrame->AddStateBits(NS_FRAME_PART_OF_IBSPLIT); if (aIBSplitSibling) { NS_ASSERTION(!aIBSplitSibling->GetPrevContinuation(), "assigning something other than the first continuation as the " - "special sibling"); + "ib-split sibling"); - // Store the "special sibling" (if we were given one) with the + // Store the ib-split sibling (if we were given one) with the // first frame in the flow. FramePropertyTable* props = aFrame->PresContext()->PropertyTable(); props->Set(aFrame, nsIFrame::IBSplitSibling(), aIBSplitSibling); @@ -499,9 +499,9 @@ GetIBContainingBlockFor(nsIFrame* aFrame) return aFrame; } - // Note that we ignore non-special frames which have a pseudo on their + // Note that we ignore non-ib-split frames which have a pseudo on their // style context -- they're not the frames we're looking for! In - // particular, they may be hiding a real parent that _is_ special. + // particular, they may be hiding a real parent that _is_ in an ib-split. if (!IsFramePartOfIBSplit(parentFrame) && !parentFrame->StyleContext()->GetPseudo()) break; @@ -510,7 +510,8 @@ GetIBContainingBlockFor(nsIFrame* aFrame) } while (1); // post-conditions - NS_ASSERTION(parentFrame, "no normal ancestor found for special frame in GetIBContainingBlockFor"); + NS_ASSERTION(parentFrame, "no normal ancestor found for ib-split frame " + "in GetIBContainingBlockFor"); NS_ASSERTION(parentFrame != aFrame, "parentFrame is actually the child frame - bogus reslt"); return parentFrame; @@ -5743,7 +5744,7 @@ AdjustAppendParentForAfterContent(nsPresContext* aPresContext, // empty. Since we have no ::after pseudo-element, we do in fact want to be // appending to that last part, so advance to it if needed. Note that here // aParentFrame is the result of a GetLastIBSplitSibling call, so must be - // either the last or next to last special sibling. + // either the last or next to last ib-split sibling. nsIFrame* trailingInline = GetIBSplitSibling(aParentFrame); if (trailingInline) { aParentFrame = trailingInline; @@ -5751,7 +5752,7 @@ AdjustAppendParentForAfterContent(nsPresContext* aPresContext, // Always make sure to look at the last continuation of the frame // for the {ib} case, even if that continuation is empty. We - // don't do this for the non-special-frame case, since in the + // don't do this for the non-ib-split-frame case, since in the // other cases appending to the last nonempty continuation is fine // and in fact not doing that can confuse code that doesn't know // to pull kids from continuations other than its next one. @@ -5811,7 +5812,7 @@ nsCSSFrameConstructor::AppendFramesToParent(nsFrameConstructorState& aStat NS_PRECONDITION(!IsFramePartOfIBSplit(aParentFrame) || !GetIBSplitSibling(aParentFrame) || !GetIBSplitSibling(aParentFrame)->GetFirstPrincipalChild(), - "aParentFrame has a special sibling with kids?"); + "aParentFrame has a ib-split sibling with kids?"); NS_PRECONDITION(!aPrevSibling || aPrevSibling->GetParent() == aParentFrame, "Parent and prevsibling don't match"); @@ -6008,7 +6009,7 @@ nsCSSFrameConstructor::FindFrameForContentSibling(nsIContent* aContent, NS_ASSERTION(!sibling->GetPrevContinuation(), "How did that happen?"); if (aPrevSibling) { - // The frame may be a special frame (a split inline frame that + // The frame may be a ib-split frame (a split inline frame that // contains a block). Get the last part of that split. if (IsFramePartOfIBSplit(sibling)) { sibling = GetLastIBSplitSibling(sibling, true); @@ -6636,16 +6637,16 @@ nsCSSFrameConstructor::ContentAppended(nsIContent* aContainer, return rv; } - // If the frame we are manipulating is a ``special'' frame (that is, one + // If the frame we are manipulating is a ib-split frame (that is, one // that's been created as a result of a block-in-inline situation) then we - // need to append to the last special sibling, not to the frame itself. + // need to append to the last ib-split sibling, not to the frame itself. bool parentIBSplit = IsFramePartOfIBSplit(parentFrame); if (parentIBSplit) { #ifdef DEBUG if (gNoisyContentUpdates) { printf("nsCSSFrameConstructor::ContentAppended: parentFrame="); nsFrame::ListTag(stdout, parentFrame); - printf(" is special\n"); + printf(" is ib-split\n"); } #endif @@ -6725,7 +6726,7 @@ nsCSSFrameConstructor::ContentAppended(nsIContent* aContainer, nsIFrame* prevSibling = ::FindAppendPrevSibling(parentFrame, parentAfterFrame); // Perform special check for diddling around with the frames in - // a special inline frame. + // a ib-split inline frame. // If we're appending before :after content, then we're not really // appending, so let WipeContainingBlock know that. LAYOUT_PHASE_TEMP_EXIT(); @@ -7292,7 +7293,7 @@ nsCSSFrameConstructor::ContentRangeInserted(nsIContent* aContainer, // (bug 341858). // This can affect our prevSibling and isAppend, but should not have any // effect on the WipeContainingBlock above, since this should only happen - // when neither parent is a special frame and should not affect whitespace + // when neither parent is a ib-split frame and should not affect whitespace // handling inside table-related frames (and in fact, can only happen when // one of the parents is an outer table and one is an inner table or when the // parent is a fieldset or fieldset content frame). So it won't affect the @@ -7310,7 +7311,7 @@ nsCSSFrameConstructor::ContentRangeInserted(nsIContent* aContainer, nsIFrame* frame2 = prevSibling->GetParent(); NS_ASSERTION(!IsFramePartOfIBSplit(frame1) && !IsFramePartOfIBSplit(frame2), - "Neither should be special"); + "Neither should be ib-split"); NS_ASSERTION((frame1->GetType() == nsGkAtoms::tableFrame && frame2->GetType() == nsGkAtoms::tableOuterFrame) || (frame1->GetType() == nsGkAtoms::tableOuterFrame && @@ -8430,7 +8431,7 @@ nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval(nsIFrame* aFrame, printf("nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval: " "frame="); nsFrame::ListTag(stdout, aFrame); - printf(" is special\n"); + printf(" is ib-split\n"); } #endif @@ -8564,7 +8565,7 @@ nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval(nsIFrame* aFrame, } // We might still need to reconstruct things if the parent of inFlowFrame is - // special, since in that case the removal of aFrame might affect the + // ib-split, since in that case the removal of aFrame might affect the // splitting of its parent. if (!IsFramePartOfIBSplit(parent)) { return false; @@ -8591,7 +8592,7 @@ nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval(nsIFrame* aFrame, printf("nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval: " "frame="); nsFrame::ListTag(stdout, parent); - printf(" is special\n"); + printf(" is ib-split\n"); } #endif @@ -8612,7 +8613,7 @@ nsCSSFrameConstructor::RecreateFramesForContent(nsIContent* aContent, // frame tree for chrome (see bug 157322). NS_ENSURE_TRUE(aContent->GetDocument(), NS_ERROR_FAILURE); - // Is the frame `special'? If so, we need to reframe the containing + // Is the frame ib-split? If so, we need to reframe the containing // block *here*, rather than trying to remove and re-insert the // content (which would otherwise result in *two* nested reframe // containing block from ContentRemoved() and ContentInserted(), @@ -10693,7 +10694,7 @@ nsCSSFrameConstructor::BuildInlineChildItems(nsFrameConstructorState& aState, // return whether it's ok to append (in the AppendFrames sense) to // aParentFrame if our nextSibling is aNextSibling. aParentFrame must -// be an {ib} special inline. +// be an ib-split inline. static bool IsSafeToAppendToIBSplitInline(nsIFrame* aParentFrame, nsIFrame* aNextSibling) { @@ -10701,7 +10702,7 @@ IsSafeToAppendToIBSplitInline(nsIFrame* aParentFrame, nsIFrame* aNextSibling) "Must have an inline parent here"); do { NS_ASSERTION(IsFramePartOfIBSplit(aParentFrame), - "How is this not special?"); + "How is this not part of an ib-split?"); if (aNextSibling || aParentFrame->GetNextContinuation() || GetIBSplitSibling(aParentFrame)) { return false; @@ -10995,7 +10996,8 @@ nsCSSFrameConstructor::WipeContainingBlock(nsFrameConstructorState& aState, break; } - // Now we know we have a block parent. If it's not special, we're all set. + // Now we know we have a block parent. If it's not part of an + // ib-split, we're all set. if (!IsFramePartOfIBSplit(aFrame)) { return false; } @@ -11017,7 +11019,7 @@ nsCSSFrameConstructor::WipeContainingBlock(nsFrameConstructorState& aState, // To find the right block to reframe, just walk up the tree until we find a // frame that is: - // 1) Not part of an IB split (not special) + // 1) Not part of an IB split // 2) Not a pseudo-frame // 3) Not an inline frame // We're guaranteed to find one, since nsStyleContext::ApplyStyleFixups @@ -11032,8 +11034,8 @@ nsCSSFrameConstructor::WipeContainingBlock(nsFrameConstructorState& aState, aContainingBlock->StyleContext()->GetPseudo()) { aContainingBlock = aContainingBlock->GetParent(); NS_ASSERTION(aContainingBlock, - "Must have non-inline, non-special, non-pseudo frame as root " - "(or child of root, for a table root)!"); + "Must have non-inline, non-ib-split, non-pseudo frame as " + "root (or child of root, for a table root)!"); } // Tell parent of the containing block to reformulate the @@ -11058,7 +11060,7 @@ nsCSSFrameConstructor::ReframeContainingBlock(nsIFrame* aFrame) #ifdef DEBUG // ReframeContainingBlock is a NASTY routine, it causes terrible performance problems // so I want to see when it is happening! Unfortunately, it is happening way to often because - // so much content on the web causes 'special' block-in-inline frame situations and we handle them + // so much content on the web causes block-in-inline frame situations and we handle them // very poorly if (gNoisyContentUpdates) { printf("nsCSSFrameConstructor::ReframeContainingBlock frame=%p\n", diff --git a/layout/base/nsCSSFrameConstructor.h b/layout/base/nsCSSFrameConstructor.h index d738aa18c4ea..771251eb43da 100644 --- a/layout/base/nsCSSFrameConstructor.h +++ b/layout/base/nsCSSFrameConstructor.h @@ -369,7 +369,7 @@ private: FrameConstructionItemList& aItems); // This method can change aFrameList: it can chop off the beginning and put - // it in aParentFrame while putting the remainder into a special sibling of + // it in aParentFrame while putting the remainder into a ib-split sibling of // aParentFrame. aPrevSibling must be the frame after which aFrameList is to // be placed on aParentFrame's principal child list. It may be null if // aFrameList is being added at the beginning of the child list. diff --git a/layout/base/nsCSSRendering.cpp b/layout/base/nsCSSRendering.cpp index 13bd86bc0a54..68f6a08041d3 100644 --- a/layout/base/nsCSSRendering.cpp +++ b/layout/base/nsCSSRendering.cpp @@ -99,7 +99,7 @@ struct InlineBackgroundData nscoord curOffset = aFrame->GetOffsetTo(mBlockFrame).x; // No need to use our GetPrevContinuation/GetNextContinuation methods - // here, since ib special siblings are certainly not on the same line. + // here, since ib-split siblings are certainly not on the same line. nsIFrame* inlineFrame = aFrame->GetPrevContinuation(); // If the continuation is fluid we know inlineFrame is not on the same line. diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp index e124ed67a4e0..095353700e3c 100644 --- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -2728,7 +2728,7 @@ nsLayoutUtils::GetNextContinuationOrIBSplitSibling(nsIFrame *aFrame) return result; if ((aFrame->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT) != 0) { - // We only store the "special sibling" annotation with the first + // We only store the ib-split sibling annotation with the first // frame in the continuation chain. Walk back to find that frame now. aFrame = aFrame->FirstContinuation(); diff --git a/layout/base/nsLayoutUtils.h b/layout/base/nsLayoutUtils.h index b01099c8b0f4..45f60a814ca1 100644 --- a/layout/base/nsLayoutUtils.h +++ b/layout/base/nsLayoutUtils.h @@ -1011,13 +1011,14 @@ public: static nsIFrame* GetParentOrPlaceholderForCrossDoc(nsIFrame* aFrame); /** - * Get a frame's next-in-flow, or, if it doesn't have one, its special sibling. + * Get a frame's next-in-flow, or, if it doesn't have one, its + * block-in-inline-split sibling. */ static nsIFrame* GetNextContinuationOrIBSplitSibling(nsIFrame *aFrame); /** - * Get the first frame in the continuation-plus-special-sibling chain + * Get the first frame in the continuation-plus-ib-split-sibling chain * containing aFrame. */ static nsIFrame* diff --git a/layout/generic/StickyScrollContainer.cpp b/layout/generic/StickyScrollContainer.cpp index 59bb8b82a346..acb74f2cfc07 100644 --- a/layout/generic/StickyScrollContainer.cpp +++ b/layout/generic/StickyScrollContainer.cpp @@ -357,7 +357,7 @@ StickyScrollContainer::UpdatePositions(nsPoint aScrollPosition, nsIFrame* f = mFrames[i]; if (!nsLayoutUtils::IsFirstContinuationOrIBSplitSibling(f)) { // This frame was added in nsFrame::Init before we knew it wasn't - // the first special-sibling. + // the first ib-split-sibling. mFrames.RemoveElementAt(i); --i; continue; diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index bd64d2f2424b..728c822589da 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -500,7 +500,7 @@ nsFrame::Init(nsIContent* aContent, !(mState & NS_FRAME_IS_NONDISPLAY) && !disp->IsInnerTableStyle()) { // Note that we only add first continuations, but we really only - // want to add first continuation-or-special-siblings. But since we + // want to add first continuation-or-ib-split-siblings. But since we // don't yet know if we're a later part of a block-in-inline split, // we'll just add later members of a block-in-inline split here, and // then StickyScrollContainer will remove them later. @@ -619,7 +619,7 @@ nsFrame::DestroyFrom(nsIFrame* aDestructRoot) } } - // If we have any IB split special siblings, clear their references to us. + // If we have any IB split siblings, clear their references to us. // (Note: This has to happen before we call shell->NotifyDestroyingFrame, // because that clears our Properties() table.) if (mState & NS_FRAME_PART_OF_IBSPLIT) { @@ -6021,9 +6021,10 @@ FindBlockFrameOrBR(nsIFrame* aFrame, nsDirection aDirection) return result; // Check the frame itself - // Fall through "special" block frames because their mContent is the content - // of the inline frames they were created from. The first/last child of - // such frames is the real block frame we're looking for. + // Fall through block-in-inline split frames because their mContent is + // the content of the inline frames they were created from. The + // first/last child of such frames is the real block frame we're + // looking for. if ((nsLayoutUtils::GetAsBlock(aFrame) && !(aFrame->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT)) || aFrame->GetType() == nsGkAtoms::brFrame) { @@ -7162,10 +7163,11 @@ nsFrame::ConsiderChildOverflow(nsOverflowAreas& aOverflowAreas, } /** - * This function takes a "special" frame and _if_ that frame is an anonymous - * block created by an ib split it returns the block's preceding inline. This - * is needed because the split inline's style context is the parent of the - * anonymous block's style context. + * This function takes a frame that is part of a block-in-inline split, + * and _if_ that frame is an anonymous block created by an ib split it + * returns the block's preceding inline. This is needed because the + * split inline's style context is the parent of the anonymous block's + * style context. * * If aFrame is not an anonymous block, null is returned. */ @@ -7174,7 +7176,7 @@ GetIBSplitSiblingForAnonymousBlock(const nsIFrame* aFrame) { NS_PRECONDITION(aFrame, "Must have a non-null frame!"); NS_ASSERTION(aFrame->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT, - "GetIBSplitSibling should not be called on a non-special frame"); + "GetIBSplitSibling should only be called on ib-split frames"); nsIAtom* type = aFrame->StyleContext()->GetPseudo(); if (type != nsCSSAnonBoxes::mozAnonymousBlock && diff --git a/layout/generic/nsFrameStateBits.h b/layout/generic/nsFrameStateBits.h index 58559e1630e7..3597c7809c5e 100644 --- a/layout/generic/nsFrameStateBits.h +++ b/layout/generic/nsFrameStateBits.h @@ -135,9 +135,8 @@ FRAME_STATE_BIT(Generic, 13, NS_FRAME_HAS_VIEW) // If this bit is set, the frame was created from anonymous content. FRAME_STATE_BIT(Generic, 14, NS_FRAME_INDEPENDENT_SELECTION) -// If this bit is set, the frame is "special" (lame term, I know), -// which means that it is part of the mangled frame hierarchy that -// results when an inline has been split because of a nested block. +// If this bit is set, the frame is part of the mangled frame hierarchy +// that results when an inline has been split because of a nested block. // See the comments in nsCSSFrameConstructor::ConstructInline for // more details. FRAME_STATE_BIT(Generic, 15, NS_FRAME_PART_OF_IBSPLIT) diff --git a/layout/generic/nsInlineFrame.cpp b/layout/generic/nsInlineFrame.cpp index 73b0fa0dcf7a..da2b24ba6477 100644 --- a/layout/generic/nsInlineFrame.cpp +++ b/layout/generic/nsInlineFrame.cpp @@ -124,8 +124,8 @@ nsInlineFrame::IsSelfEmpty() haveStart = haveRight; haveEnd = haveLeft; } - // For special frames, ignore things we know we'll skip in GetSkipSides. - // XXXbz should we be doing this for non-special frames too, in a more + // For ib-split frames, ignore things we know we'll skip in GetSkipSides. + // XXXbz should we be doing this for non-ib-split frames too, in a more // general way? // Get the first continuation eagerly, as a performance optimization, to diff --git a/layout/generic/nsLineLayout.cpp b/layout/generic/nsLineLayout.cpp index cdb596e763b8..39e0750a36cb 100644 --- a/layout/generic/nsLineLayout.cpp +++ b/layout/generic/nsLineLayout.cpp @@ -1069,9 +1069,10 @@ nsLineLayout::ApplyStartMargin(PerFrameData* pfd, // Only apply start-margin on the first-in flow for inline frames, // and make sure to not apply it to any inline other than the first - // in an ib split. Note that the ib special sibling annotations - // only live on the first continuation, but we don't want to apply - // the start margin for later continuations anyway. + // in an ib split. Note that the ib sibling (block-in-inline + // sibling) annotations only live on the first continuation, but we + // don't want to apply the start margin for later continuations + // anyway. if (pfd->mFrame->GetPrevContinuation() || pfd->mFrame->FrameIsNonFirstInIBSplit()) { // Zero this out so that when we compute the max-element-width of diff --git a/layout/style/nsStyleContext.h b/layout/style/nsStyleContext.h index f6141aba26f9..34c0b32d5ebc 100644 --- a/layout/style/nsStyleContext.h +++ b/layout/style/nsStyleContext.h @@ -274,7 +274,7 @@ public: * requested.) * * This method returns a change hint (see nsChangeHint.h). All change - * hints apply to the frame and its later continuations or special + * hints apply to the frame and its later continuations or ib-split * siblings. Most (all of those except the "NotHandledForDescendants" * hints) also apply to all descendants. The caller must pass in any * non-inherited hints that resulted from the parent style context's diff --git a/layout/svg/nsSVGIntegrationUtils.cpp b/layout/svg/nsSVGIntegrationUtils.cpp index dc109f57789b..4383622f62d1 100644 --- a/layout/svg/nsSVGIntegrationUtils.cpp +++ b/layout/svg/nsSVGIntegrationUtils.cpp @@ -76,14 +76,14 @@ private: return *r; } // Despite the fact that we're invoked for frames with SVG effects applied, - // we can actually get here. All continuations and special siblings of a + // we can actually get here. All continuations and IB split siblings of a // frame with SVG effects applied will have the PreEffectsBBoxProperty // property set on them. Therefore, the frames that are passed to us will // always have that property set...well, with one exception. If the frames // for an element with SVG effects applied have been subject to an "IB // split", then the block frame(s) that caused the split will have been // wrapped in anonymous, inline-block, nsBlockFrames of pseudo-type - // nsCSSAnonBoxes::mozAnonymousBlock. These "special sibling" anonymous + // nsCSSAnonBoxes::mozAnonymousBlock. These "IB split sibling" anonymous // blocks will have the PreEffectsBBoxProperty property set on them, but // they will never be passed to us. Instead, we'll be passed the block // children that they wrap, which don't have the PreEffectsBBoxProperty