Bug 1663822 Part 3 - Move ComputeSizeFlags to LayoutConstants.h, and put it under mozilla namespace. r=dholbert

In the next part, I'm going to use ComputeSizeFlags as the arguments in
some ReflowInput's methods. Because nsIFrame.h includes ReflowInput.h,
to solve the circular dependency, ComputeSizeFlags needs to be moved to
somewhere else.

Also, revise the document for ComputeSizeFlag. The rest of the patch is
just dropping `nsIFrame::` and adding `mozilla::` as needed.

This change shouldn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D89542
This commit is contained in:
Ting-Yu Lin 2020-09-11 18:32:08 +00:00
Родитель 40a9b68f6b
Коммит a11075f9e1
23 изменённых файлов: 152 добавлений и 107 удалений

Просмотреть файл

@ -9,6 +9,7 @@
#ifndef LayoutConstants_h___
#define LayoutConstants_h___
#include "mozilla/EnumSet.h"
#include "nsSize.h" // for NS_MAXSIZE
/**
@ -34,4 +35,46 @@
#define REPLACED_ELEM_FALLBACK_PX_WIDTH 300
#define REPLACED_ELEM_FALLBACK_PX_HEIGHT 150
namespace mozilla {
/**
* Bit-flags to pass to various functions that compute sizes like
* nsIFrame::ComputeSize().
*/
enum class ComputeSizeFlag : uint8_t {
/**
* Set if the frame is in a context where non-replaced blocks should
* shrink-wrap (e.g., it's floating, absolutely positioned, or
* inline-block).
*/
ShrinkWrap,
/**
* Set if we'd like to compute our 'auto' bsize, regardless of our actual
* corresponding computed value. (e.g. to get an intrinsic height for flex
* items with "min-height: auto" to use during flexbox layout.)
*/
UseAutoBSize,
/**
* Indicates that we should clamp the margin-box min-size to the given CB
* size. This is used for implementing the grid area clamping here:
* https://drafts.csswg.org/css-grid/#min-size-auto
*/
IClampMarginBoxMinSize, // clamp in our inline axis
BClampMarginBoxMinSize, // clamp in our block axis
/**
* The frame is stretching (per CSS Box Alignment) and doesn't have an
* Automatic Minimum Size in the indicated axis.
* (may be used for both flex/grid items, but currently only used for Grid)
* https://drafts.csswg.org/css-grid/#min-size-auto
* https://drafts.csswg.org/css-align-3/#valdef-justify-self-stretch
*/
IApplyAutoMinSize, // only has an effect when eShrinkWrap is false
};
using ComputeSizeFlags = mozilla::EnumSet<ComputeSizeFlag>;
} // namespace mozilla
#endif // LayoutConstants_h___

Просмотреть файл

@ -52,7 +52,8 @@ class nsCheckboxRadioFrame final : public nsAtomicContainerFrame,
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
/**
* Respond to a gui event

Просмотреть файл

@ -52,7 +52,8 @@ class nsMeterFrame final : public nsContainerFrame,
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual nscoord GetMinISize(gfxContext* aRenderingContext) override;
virtual nscoord GetPrefISize(gfxContext* aRenderingContext) override;

Просмотреть файл

@ -57,7 +57,8 @@ class nsProgressFrame final : public nsContainerFrame,
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual nscoord GetMinISize(gfxContext* aRenderingContext) override;
virtual nscoord GetPrefISize(gfxContext* aRenderingContext) override;

Просмотреть файл

@ -78,7 +78,8 @@ class nsRangeFrame final : public nsContainerFrame,
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual nscoord GetMinISize(gfxContext* aRenderingContext) override;
virtual nscoord GetPrefISize(gfxContext* aRenderingContext) override;

Просмотреть файл

@ -73,7 +73,8 @@ class nsTextControlFrame : public nsContainerFrame,
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
const ReflowInput& aReflowInput,

Просмотреть файл

@ -620,7 +620,7 @@ static nscoord FloatMarginISize(const ReflowInput& aCBReflowInput,
aFloatOffsetState.ComputedLogicalBorderPadding().Size(wm) -
aFloatOffsetState.ComputedLogicalPadding().Size(wm),
aFloatOffsetState.ComputedLogicalPadding().Size(wm),
nsIFrame::ComputeSizeFlag::ShrinkWrap);
ComputeSizeFlag::ShrinkWrap);
WritingMode cbwm = aCBReflowInput.GetWritingMode();
nscoord floatISize = floatSize.mLogicalSize.ConvertTo(cbwm, wm).ISize(cbwm);

Просмотреть файл

@ -1638,8 +1638,7 @@ void ReflowInput::InitAbsoluteConstraints(nsPresContext* aPresContext,
SetComputedLogicalOffsets(offsets.ConvertTo(wm, cbwm));
using ComputeSizeFlag = nsIFrame::ComputeSizeFlag;
nsIFrame::ComputeSizeFlags computeSizeFlags;
ComputeSizeFlags computeSizeFlags;
if (mFlags.mIClampMarginBoxMinSize) {
computeSizeFlags += ComputeSizeFlag::IClampMarginBoxMinSize;
}
@ -2334,8 +2333,7 @@ void ReflowInput::InitConstraints(
const bool isBlockLevel =
NS_CSS_FRAME_TYPE_BLOCK == NS_FRAME_GET_TYPE(mFrameType) ||
mFrame->IsFlexOrGridItem();
using ComputeSizeFlag = nsIFrame::ComputeSizeFlag;
nsIFrame::ComputeSizeFlags computeSizeFlags;
ComputeSizeFlags computeSizeFlags;
if (!isBlockLevel) {
computeSizeFlags += ComputeSizeFlag::ShrinkWrap;
}

Просмотреть файл

@ -29,7 +29,8 @@ class nsBackdropFrame final : public nsIFrame {
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
const ReflowInput& aReflowInput,
nsReflowStatus& aStatus) override;

Просмотреть файл

@ -223,7 +223,8 @@ class nsContainerFrame : public nsSplittableFrame {
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
/**
* Positions aKidFrame and its view (if requested), and then calls Reflow().
@ -834,7 +835,7 @@ class nsContainerFrame : public nsSplittableFrame {
const mozilla::AspectRatio& aIntrinsicRatio,
const mozilla::LogicalSize& aCBSize, const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder, const mozilla::LogicalSize& aPadding,
ComputeSizeFlags aFlags);
mozilla::ComputeSizeFlags aFlags);
// Compute tight bounds assuming this frame honours its border, background
// and outline, its children's tight bounds, and nothing else.

Просмотреть файл

@ -47,11 +47,14 @@ class nsFirstLetterFrame final : public nsContainerFrame {
virtual void AddInlinePrefISize(gfxContext* aRenderingContext,
InlinePrefISizeData* aData) override;
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
const ReflowInput& aReflowInput,

Просмотреть файл

@ -68,11 +68,14 @@ class nsHTMLCanvasFrame final : public nsContainerFrame {
virtual mozilla::IntrinsicSize GetIntrinsicSize() override;
virtual mozilla::AspectRatio GetIntrinsicRatio() override;
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
const ReflowInput& aReflowInput,

Просмотреть файл

@ -2671,43 +2671,6 @@ class nsIFrame : public nsQueryFrame {
*/
virtual mozilla::AspectRatio GetIntrinsicRatio();
/**
* Bit-flags to pass to ComputeSize in |aFlags| parameter.
*/
enum class ComputeSizeFlag : uint8_t {
/**
* Set if the frame is in a context where non-replaced blocks should
* shrink-wrap (e.g., it's floating, absolutely positioned, or
* inline-block).
*/
ShrinkWrap,
/**
* Set if we'd like to compute our 'auto' bsize, regardless of our actual
* corresponding computed value. (e.g. to get an intrinsic height for flex
* items with "min-height: auto" to use during flexbox layout.)
*/
UseAutoBSize,
/**
* Indicates that we should clamp the margin-box min-size to the given CB
* size. This is used for implementing the grid area clamping here:
* https://drafts.csswg.org/css-grid/#min-size-auto
*/
IClampMarginBoxMinSize, // clamp in our inline axis
BClampMarginBoxMinSize, // clamp in our block axis
/**
* The frame is stretching (per CSS Box Alignment) and doesn't have an
* Automatic Minimum Size in the indicated axis.
* (may be used for both flex/grid items, but currently only used for Grid)
* https://drafts.csswg.org/css-grid/#min-size-auto
* https://drafts.csswg.org/css-align-3/#valdef-justify-self-stretch
*/
IApplyAutoMinSize, // only has an effect when eShrinkWrap is false
};
using ComputeSizeFlags = mozilla::EnumSet<ComputeSizeFlag>;
/**
* Compute the size that a frame will occupy. Called while
* constructing the ReflowInput to be used to Reflow the frame,
@ -2746,7 +2709,8 @@ class nsIFrame : public nsQueryFrame {
* @param aPadding The sum of the vertical / horizontal margins of
* the frame, including actual values resulting from
* percentages.
* @param aFlags Flags to further customize behavior (definitions above).
* @param aFlags Flags to further customize behavior (definitions in
* LayoutConstants.h).
*
* The return value includes the computed LogicalSize and the enum class which
* indicates whether the inline/block size is affected by aspect-ratio or not.
@ -2767,7 +2731,7 @@ class nsIFrame : public nsQueryFrame {
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags);
const mozilla::LogicalSize& aPadding, mozilla::ComputeSizeFlags aFlags);
protected:
/**
@ -2789,14 +2753,14 @@ class nsIFrame : public nsQueryFrame {
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags);
const mozilla::LogicalSize& aPadding, mozilla::ComputeSizeFlags aFlags);
/**
* Utility function for ComputeAutoSize implementations. Return
* max(GetMinISize(), min(aISizeInCB, GetPrefISize()))
*/
nscoord ShrinkWidthToFit(gfxContext* aRenderingContext, nscoord aISizeInCB,
ComputeSizeFlags aFlags);
mozilla::ComputeSizeFlags aFlags);
public:
/**
@ -4734,14 +4698,15 @@ class nsIFrame : public nsQueryFrame {
nscoord aContainingBlockISize,
nscoord aContentEdgeToBoxSizing,
nscoord aBoxSizingToMarginEdge,
StyleExtremumLength aSize, ComputeSizeFlags aFlags);
StyleExtremumLength aSize,
mozilla::ComputeSizeFlags aFlags);
nscoord ComputeISizeValue(gfxContext* aRenderingContext,
nscoord aContainingBlockISize,
nscoord aContentEdgeToBoxSizing,
nscoord aBoxSizingToMarginEdge,
const LengthPercentage& aSize,
ComputeSizeFlags aFlags);
mozilla::ComputeSizeFlags aFlags);
template <typename SizeOrMaxSize>
nscoord ComputeISizeValue(gfxContext* aRenderingContext,
@ -4749,7 +4714,7 @@ class nsIFrame : public nsQueryFrame {
nscoord aContentEdgeToBoxSizing,
nscoord aBoxSizingToMarginEdge,
const SizeOrMaxSize& aSize,
ComputeSizeFlags aFlags = {}) {
mozilla::ComputeSizeFlags aFlags = {}) {
MOZ_ASSERT(aSize.IsExtremumLength() || aSize.IsLengthPercentage(),
"This doesn't handle auto / none");
if (aSize.IsLengthPercentage()) {

Просмотреть файл

@ -221,11 +221,14 @@ class nsImageFrame : public nsAtomicContainerFrame, public nsIReflowCallback {
return !HasAnyStateBits(NS_FRAME_FIRST_REFLOW);
}
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) final;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) final;
bool IsServerImageMap();

Просмотреть файл

@ -76,11 +76,14 @@ class nsInlineFrame : public nsContainerFrame {
InlineMinISizeData* aData) override;
virtual void AddInlinePrefISize(gfxContext* aRenderingContext,
InlinePrefISizeData* aData) override;
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual nsRect ComputeTightBounds(DrawTarget* aDrawTarget) const override;
virtual void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
const ReflowInput& aReflowInput,

Просмотреть файл

@ -44,7 +44,8 @@ class nsLeafFrame : public nsIFrame {
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
/**
* Each of our subclasses should provide its own Reflow impl:

Просмотреть файл

@ -35,11 +35,14 @@ class nsRubyBaseContainerFrame final : public nsContainerFrame {
InlineMinISizeData* aData) override;
virtual void AddInlinePrefISize(gfxContext* aRenderingContext,
InlinePrefISizeData* aData) override;
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
const ReflowInput& aReflowInput,
nsReflowStatus& aStatus) override;

Просмотреть файл

@ -62,13 +62,17 @@ class nsSubDocumentFrame final : public nsAtomicContainerFrame,
gfxContext* aRenderingContext, mozilla::WritingMode aWritingMode,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
const ReflowInput& aReflowInput,

Просмотреть файл

@ -414,11 +414,14 @@ class nsTextFrame : public nsIFrame {
InlineMinISizeData* aData) override;
void AddInlinePrefISize(gfxContext* aRenderingContext,
InlinePrefISizeData* aData) override;
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) final;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) final;
nsRect ComputeTightBounds(DrawTarget* aDrawTarget) const final;
nsresult GetPrefWidthTightBounds(gfxContext* aContext, nscoord* aX,
nscoord* aXMost) final;

Просмотреть файл

@ -56,11 +56,14 @@ class nsVideoFrame final : public nsContainerFrame,
/* get the size of the video's display */
nsSize GetVideoIntrinsicSize(gfxContext* aRenderingContext);
mozilla::AspectRatio GetIntrinsicRatio() override;
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
nscoord GetMinISize(gfxContext* aRenderingContext) override;
nscoord GetPrefISize(gfxContext* aRenderingContext) override;
void DestroyFrom(nsIFrame* aDestructRoot,

Просмотреть файл

@ -302,17 +302,21 @@ class nsTableFrame : public nsContainerFrame {
IntrinsicSizeOffsetData IntrinsicISizeOffsets(
nscoord aPercentageBasis = NS_UNCONSTRAINEDSIZE) override;
SizeComputationResult ComputeSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
SizeComputationResult ComputeSize(gfxContext* aRenderingContext,
mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize,
nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin,
const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual mozilla::LogicalSize ComputeAutoSize(
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
/**
* A copy of nsIFrame::ShrinkWidthToFit that calls a different

Просмотреть файл

@ -96,7 +96,8 @@ class nsTableWrapperFrame : public nsContainerFrame {
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
/** process a reflow command for the table.
* This involves reflowing the caption and the inner table.

Просмотреть файл

@ -48,7 +48,8 @@ class nsLeafBoxFrame : public nsLeafFrame {
gfxContext* aRenderingContext, mozilla::WritingMode aWM,
const mozilla::LogicalSize& aCBSize, nscoord aAvailableISize,
const mozilla::LogicalSize& aMargin, const mozilla::LogicalSize& aBorder,
const mozilla::LogicalSize& aPadding, ComputeSizeFlags aFlags) override;
const mozilla::LogicalSize& aPadding,
mozilla::ComputeSizeFlags aFlags) override;
virtual void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize,
const ReflowInput& aReflowInput,