mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-28 21:28:55 +00:00
Bug 890782 - Part 3: Inherit NS_FRAME_IS_NONDISPLAY by default. r=jwatt
This commit is contained in:
parent
aab2e6c2f0
commit
2a8880f043
@ -517,7 +517,8 @@ nsFrame::Init(nsIContent* aContent,
|
||||
mState |= state & (NS_FRAME_INDEPENDENT_SELECTION |
|
||||
NS_FRAME_GENERATED_CONTENT |
|
||||
NS_FRAME_IS_SVG_TEXT |
|
||||
NS_FRAME_IN_POPUP);
|
||||
NS_FRAME_IN_POPUP |
|
||||
NS_FRAME_IS_NONDISPLAY);
|
||||
}
|
||||
const nsStyleDisplay *disp = StyleDisplay();
|
||||
if (disp->HasTransform(this)) {
|
||||
|
@ -88,8 +88,7 @@ nsSVGDisplayContainerFrame::Init(nsIContent* aContent,
|
||||
nsIFrame* aPrevInFlow)
|
||||
{
|
||||
if (!(GetStateBits() & NS_STATE_IS_OUTER_SVG)) {
|
||||
AddStateBits(aParent->GetStateBits() &
|
||||
(NS_FRAME_IS_NONDISPLAY | NS_STATE_SVG_CLIPPATH_CHILD));
|
||||
AddStateBits(aParent->GetStateBits() & NS_STATE_SVG_CLIPPATH_CHILD);
|
||||
}
|
||||
nsSVGContainerFrame::Init(aContent, aParent, aPrevInFlow);
|
||||
}
|
||||
|
@ -61,8 +61,7 @@ nsSVGForeignObjectFrame::Init(nsIContent* aContent,
|
||||
"Content is not an SVG foreignObject!");
|
||||
|
||||
nsSVGForeignObjectFrameBase::Init(aContent, aParent, aPrevInFlow);
|
||||
AddStateBits(aParent->GetStateBits() &
|
||||
(NS_FRAME_IS_NONDISPLAY | NS_STATE_SVG_CLIPPATH_CHILD));
|
||||
AddStateBits(aParent->GetStateBits() & NS_STATE_SVG_CLIPPATH_CHILD);
|
||||
AddStateBits(NS_FRAME_FONT_INFLATION_CONTAINER |
|
||||
NS_FRAME_FONT_INFLATION_FLOW_ROOT);
|
||||
if (!(mState & NS_FRAME_IS_NONDISPLAY)) {
|
||||
|
@ -24,8 +24,7 @@ nsSVGGeometryFrame::Init(nsIContent* aContent,
|
||||
nsIFrame* aParent,
|
||||
nsIFrame* aPrevInFlow)
|
||||
{
|
||||
AddStateBits(aParent->GetStateBits() &
|
||||
(NS_FRAME_IS_NONDISPLAY | NS_STATE_SVG_CLIPPATH_CHILD));
|
||||
AddStateBits(aParent->GetStateBits() & NS_STATE_SVG_CLIPPATH_CHILD);
|
||||
nsSVGGeometryFrameBase::Init(aContent, aParent, aPrevInFlow);
|
||||
}
|
||||
|
||||
|
@ -167,19 +167,6 @@ nsSVGOuterSVGFrame::Init(nsIContent* aContent,
|
||||
SVGSVGElement *svg = static_cast<SVGSVGElement*>(aContent);
|
||||
if (!svg->PassesConditionalProcessingTests()) {
|
||||
AddStateBits(NS_FRAME_IS_NONDISPLAY);
|
||||
} else {
|
||||
// If this outer <svg> element is the child of a <foreignObject> that
|
||||
// is non-display, or is the child of a frame for HTML content that
|
||||
// itself is a descendant of a non-display SVG frame, then we want to
|
||||
// it non-display also. The second case is not as simple to handle
|
||||
// as copying a state bit from the parent, since non-SVG frames do
|
||||
// not use NS_FRAME_IS_NONDISPLAY.
|
||||
for (nsIFrame* f = aParent; f; f = f->GetParent()) {
|
||||
if (f->IsFrameOfType(eSVG)) {
|
||||
AddStateBits(f->GetStateBits() & NS_FRAME_IS_NONDISPLAY);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nsSVGOuterSVGFrameBase::Init(aContent, aParent, aPrevInFlow);
|
||||
|
@ -3023,8 +3023,7 @@ nsSVGTextFrame2::Init(nsIContent* aContent,
|
||||
NS_ASSERTION(aContent->IsSVG(nsGkAtoms::text), "Content is not an SVG text");
|
||||
|
||||
nsSVGTextFrame2Base::Init(aContent, aParent, aPrevInFlow);
|
||||
AddStateBits((aParent->GetStateBits() &
|
||||
(NS_FRAME_IS_NONDISPLAY | NS_STATE_SVG_CLIPPATH_CHILD)) |
|
||||
AddStateBits((aParent->GetStateBits() & NS_STATE_SVG_CLIPPATH_CHILD) |
|
||||
NS_FRAME_SVG_LAYOUT | NS_FRAME_IS_SVG_TEXT);
|
||||
|
||||
mMutationObserver.StartObserving(this);
|
||||
|
Loading…
x
Reference in New Issue
Block a user