mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 16:22:00 +00:00
Backed out changeset 61fa2ff606b8 (bug 1083004)
This commit is contained in:
parent
09b74a8b4d
commit
ed5d6b9e18
@ -2282,8 +2282,8 @@ NeedFrameFor(const nsFrameConstructorState& aState,
|
||||
// should be considered ignorable just because they evaluate to
|
||||
// whitespace.
|
||||
|
||||
// We could handle all this in CreateNeededPseudoContainers or some other
|
||||
// place after we build our frame construction items, but that would involve
|
||||
// We could handle all this in CreateNeededPseudos or some other place
|
||||
// after we build our frame construction items, but that would involve
|
||||
// creating frame construction items for whitespace kids of
|
||||
// eExcludesIgnorableWhitespace frames, where we know we'll be dropping them
|
||||
// all anyway, and involve an extra walk down the frame construction item
|
||||
@ -9347,10 +9347,9 @@ nsCSSFrameConstructor::CreateNeededAnonFlexOrGridItems(
|
||||
* contain only items for frames that can be direct kids of aParentFrame.
|
||||
*/
|
||||
void
|
||||
nsCSSFrameConstructor::CreateNeededPseudoContainers(
|
||||
nsFrameConstructorState& aState,
|
||||
FrameConstructionItemList& aItems,
|
||||
nsIFrame* aParentFrame)
|
||||
nsCSSFrameConstructor::CreateNeededPseudos(nsFrameConstructorState& aState,
|
||||
FrameConstructionItemList& aItems,
|
||||
nsIFrame* aParentFrame)
|
||||
{
|
||||
ParentType ourParentType = GetParentType(aParentFrame);
|
||||
if (aItems.AllWantParentType(ourParentType)) {
|
||||
@ -9676,58 +9675,14 @@ nsCSSFrameConstructor::CreateNeededPseudoContainers(
|
||||
} while (!iter.IsDone());
|
||||
}
|
||||
|
||||
void nsCSSFrameConstructor::CreateNeededPseudoSiblings(
|
||||
nsFrameConstructorState& aState,
|
||||
FrameConstructionItemList& aItems,
|
||||
nsIFrame* aParentFrame)
|
||||
{
|
||||
if (aItems.IsEmpty() ||
|
||||
GetParentType(aParentFrame) != eTypeRuby) {
|
||||
return;
|
||||
}
|
||||
|
||||
FCItemIterator iter(aItems);
|
||||
// XXX Use computed display value instead in bug 1096639.
|
||||
auto creationFunc = reinterpret_cast<void*>(
|
||||
iter.item().mFCData->mFunc.mCreationFunc);
|
||||
if (creationFunc == NS_NewRubyBaseContainerFrame) {
|
||||
return;
|
||||
}
|
||||
|
||||
NS_ASSERTION(creationFunc == NS_NewRubyTextContainerFrame,
|
||||
"Child of ruby frame should either a rbc or a rtc");
|
||||
|
||||
const PseudoParentData& pseudoData =
|
||||
sPseudoParentData[eTypeRubyBaseContainer];
|
||||
already_AddRefed<nsStyleContext> pseudoStyle = mPresShell->StyleSet()->
|
||||
ResolveAnonymousBoxStyle(*pseudoData.mPseudoType,
|
||||
aParentFrame->StyleContext());
|
||||
FrameConstructionItem* newItem =
|
||||
new FrameConstructionItem(&pseudoData.mFCData,
|
||||
// Use the content of the parent frame
|
||||
aParentFrame->GetContent(),
|
||||
// Tag type
|
||||
*pseudoData.mPseudoType,
|
||||
// Use the namespace of the rtc frame
|
||||
iter.item().mNameSpaceID,
|
||||
// no pending binding
|
||||
nullptr,
|
||||
pseudoStyle,
|
||||
true, nullptr);
|
||||
newItem->mIsAllInline = true;
|
||||
newItem->mChildItems.SetParentHasNoXBLChildren(true);
|
||||
iter.InsertItem(newItem);
|
||||
}
|
||||
|
||||
inline void
|
||||
nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState& aState,
|
||||
FrameConstructionItemList& aItems,
|
||||
nsContainerFrame* aParentFrame,
|
||||
nsFrameItems& aFrameItems)
|
||||
{
|
||||
CreateNeededPseudoContainers(aState, aItems, aParentFrame);
|
||||
CreateNeededPseudos(aState, aItems, aParentFrame);
|
||||
CreateNeededAnonFlexOrGridItems(aState, aItems, aParentFrame);
|
||||
CreateNeededPseudoSiblings(aState, aItems, aParentFrame);
|
||||
|
||||
aItems.SetTriedConstructingFrames();
|
||||
for (FCItemIterator iter(aItems); !iter.IsDone(); iter.Next()) {
|
||||
|
@ -1097,20 +1097,13 @@ private:
|
||||
nsIFrame* aParentFrame);
|
||||
|
||||
/**
|
||||
* Function to create the pseudo intermediate containers we need.
|
||||
* Function to create the table pseudo items we need.
|
||||
* @param aItems the child frame construction items before pseudo creation
|
||||
* @param aParentFrame the parent frame we're creating pseudos for
|
||||
*/
|
||||
inline void CreateNeededPseudoContainers(nsFrameConstructorState& aState,
|
||||
FrameConstructionItemList& aItems,
|
||||
nsIFrame* aParentFrame);
|
||||
|
||||
/**
|
||||
* Function to create the pseudo siblings we need.
|
||||
*/
|
||||
inline void CreateNeededPseudoSiblings(nsFrameConstructorState& aState,
|
||||
FrameConstructionItemList& aItems,
|
||||
nsIFrame* aParentFrame);
|
||||
inline void CreateNeededPseudos(nsFrameConstructorState& aState,
|
||||
FrameConstructionItemList& aItems,
|
||||
nsIFrame* aParentFrame);
|
||||
|
||||
/**
|
||||
* Function to adjust aParentFrame to deal with captions.
|
||||
|
Loading…
Reference in New Issue
Block a user