Bug 1604771 - Remove the eSVGForeignObject IsFrameOfType bit. r=emilio

Differential Revision: https://phabricator.services.mozilla.com/D57621

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Mats Palmgren 2019-12-18 16:00:47 +00:00
parent 7a41d8998c
commit 5bd596d87f
3 changed files with 15 additions and 17 deletions

View File

@ -5269,7 +5269,7 @@ nsCSSFrameConstructor::FindElementData(const Element& aElement,
// Don't create frames for non-SVG element children of SVG elements.
if (!aElement.IsSVGElement()) {
if (aParentFrame && IsFrameForSVG(aParentFrame) &&
!aParentFrame->IsFrameOfType(nsIFrame::eSVGForeignObject)) {
!aParentFrame->IsSVGForeignObjectFrame()) {
return nullptr;
}
if (aFlags & ITEM_IS_WITHIN_SVG_TEXT) {

View File

@ -2903,33 +2903,32 @@ class nsIFrame : public nsQueryFrame {
enum {
eMathML = 1 << 0,
eSVG = 1 << 1,
eSVGForeignObject = 1 << 2,
eSVGContainer = 1 << 3,
eSVGGeometry = 1 << 4,
eSVGPaintServer = 1 << 5,
eBidiInlineContainer = 1 << 6,
eSVGContainer = 1 << 2,
eSVGGeometry = 1 << 3,
eSVGPaintServer = 1 << 4,
eBidiInlineContainer = 1 << 5,
// the frame is for a replaced element, such as an image
eReplaced = 1 << 7,
eReplaced = 1 << 6,
// Frame that contains a block but looks like a replaced element
// from the outside
eReplacedContainsBlock = 1 << 8,
eReplacedContainsBlock = 1 << 7,
// A frame that participates in inline reflow, i.e., one that
// requires ReflowInput::mLineLayout.
eLineParticipant = 1 << 9,
eXULBox = 1 << 10,
eCanContainOverflowContainers = 1 << 11,
eTablePart = 1 << 12,
eSupportsCSSTransforms = 1 << 13,
eLineParticipant = 1 << 8,
eXULBox = 1 << 9,
eCanContainOverflowContainers = 1 << 10,
eTablePart = 1 << 11,
eSupportsCSSTransforms = 1 << 12,
// A replaced element that has replaced-element sizing
// characteristics (i.e., like images or iframes), as opposed to
// inline-block sizing characteristics (like form controls).
eReplacedSizing = 1 << 14,
eReplacedSizing = 1 << 13,
// Does this frame class support 'contain: layout' and
// 'contain:paint' (supporting one is equivalent to supporting the
// other).
eSupportsContainLayoutAndPaint = 1 << 15,
eSupportsContainLayoutAndPaint = 1 << 14,
// These are to allow nsFrame::Init to assert that IsFrameOfType
// implementations all call the base class method. They are only

View File

@ -54,8 +54,7 @@ class nsSVGForeignObjectFrame final : public nsContainerFrame,
return false;
}
return nsContainerFrame::IsFrameOfType(
aFlags & ~(nsIFrame::eSVG | nsIFrame::eSVGForeignObject));
return nsContainerFrame::IsFrameOfType(aFlags & ~nsIFrame::eSVG);
}
virtual bool IsSVGTransformed(Matrix* aOwnTransform,