зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
40a9b68f6b
Коммит
a11075f9e1
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче