Bug 823483 patch 2 - Add frame state bit to indicate frame classes that do replaced-element-like sizing. r=dholbert

This is needed for patch 3.
This commit is contained in:
L. David Baron 2016-02-04 09:43:02 +11:00
parent 898c7bc9b2
commit 7b38f7df36
6 changed files with 16 additions and 5 deletions

View File

@ -86,7 +86,8 @@ public:
virtual bool IsFrameOfType(uint32_t aFlags) const override
{
return nsSplittableFrame::IsFrameOfType(aFlags & ~(nsIFrame::eReplaced));
return nsSplittableFrame::IsFrameOfType(aFlags &
~(nsIFrame::eReplaced | nsIFrame::eReplacedSizing));
}
#ifdef DEBUG_FRAME_DUMP

View File

@ -2137,6 +2137,11 @@ public:
eExcludesIgnorableWhitespace = 1 << 14,
eSupportsCSSTransforms = 1 << 15,
// 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 << 16,
// These are to allow nsFrame::Init to assert that IsFrameOfType
// implementations all call the base class method. They are only
// meaningful in DEBUG builds.

View File

@ -112,7 +112,8 @@ public:
virtual bool IsFrameOfType(uint32_t aFlags) const override
{
return ImageFrameSuper::IsFrameOfType(aFlags & ~(nsIFrame::eReplaced));
return ImageFrameSuper::IsFrameOfType(aFlags &
~(nsIFrame::eReplaced | nsIFrame::eReplacedSizing));
}
#ifdef DEBUG_FRAME_DUMP

View File

@ -91,7 +91,8 @@ public:
virtual bool IsFrameOfType(uint32_t aFlags) const override
{
return nsPluginFrameSuper::IsFrameOfType(aFlags & ~(nsIFrame::eReplaced));
return nsPluginFrameSuper::IsFrameOfType(aFlags &
~(nsIFrame::eReplaced | nsIFrame::eReplacedSizing));
}
virtual bool NeedsView() override { return true; }

View File

@ -38,7 +38,9 @@ public:
virtual bool IsFrameOfType(uint32_t aFlags) const override
{
return nsSubDocumentFrameSuper::IsFrameOfType(aFlags &
~(nsIFrame::eReplaced | nsIFrame::eReplacedContainsBlock));
~(nsIFrame::eReplaced |
nsIFrame::eReplacedSizing |
nsIFrame::eReplacedContainsBlock));
}
virtual void Init(nsIContent* aContent,

View File

@ -77,7 +77,8 @@ public:
virtual bool IsFrameOfType(uint32_t aFlags) const override
{
return nsSplittableFrame::IsFrameOfType(aFlags & ~(nsIFrame::eReplaced));
return nsSplittableFrame::IsFrameOfType(aFlags &
~(nsIFrame::eReplaced | nsIFrame::eReplacedSizing));
}
virtual nsresult CreateAnonymousContent(nsTArray<ContentInfo>& aElements) override;