зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1400421 part 2: Delete unused nsLeafFrame::Reflow override (and its DoReflow helper). r=mats
nsLeafFrame only exists as an abstract superclass, and every subclass actually brings along its own Reflow impl, so nsLeafFrame's own impl is just dead code. This patch makes sure it's really dead code by leaving in the Reflow() decl with " = 0;" so the compiler will enforce that all concrete subclasses *do* have a more specific override (and that they don't just inherit the stub nsFrame impl from further up the ancestor chain, for example). MozReview-Commit-ID: Co36IpuaeOc --HG-- extra : rebase_source : 036caa3abaed0a1cf75e8674af4ae2e8b55b3b8c
This commit is contained in:
Родитель
5190426fdb
Коммит
b3a1c3da2b
|
@ -48,53 +48,6 @@ nsLeafFrame::ComputeAutoSize(gfxContext* aRenderingContext,
|
|||
return result.ConvertTo(aWM, wm);
|
||||
}
|
||||
|
||||
void
|
||||
nsLeafFrame::Reflow(nsPresContext* aPresContext,
|
||||
ReflowOutput& aMetrics,
|
||||
const ReflowInput& aReflowInput,
|
||||
nsReflowStatus& aStatus)
|
||||
{
|
||||
MarkInReflow();
|
||||
DO_GLOBAL_REFLOW_COUNT("nsLeafFrame");
|
||||
NS_FRAME_TRACE(NS_FRAME_TRACE_CALLS,
|
||||
("enter nsLeafFrame::Reflow: aMaxSize=%d,%d",
|
||||
aReflowInput.AvailableWidth(), aReflowInput.AvailableHeight()));
|
||||
|
||||
NS_PRECONDITION(mState & NS_FRAME_IN_REFLOW, "frame is not in reflow");
|
||||
|
||||
DoReflow(aPresContext, aMetrics, aReflowInput, aStatus);
|
||||
|
||||
FinishAndStoreOverflow(&aMetrics, aReflowInput.mStyleDisplay);
|
||||
}
|
||||
|
||||
void
|
||||
nsLeafFrame::DoReflow(nsPresContext* aPresContext,
|
||||
ReflowOutput& aMetrics,
|
||||
const ReflowInput& aReflowInput,
|
||||
nsReflowStatus& aStatus)
|
||||
{
|
||||
NS_ASSERTION(aReflowInput.ComputedWidth() != NS_UNCONSTRAINEDSIZE,
|
||||
"Shouldn't have unconstrained stuff here "
|
||||
"thanks to the rules of reflow");
|
||||
NS_ASSERTION(NS_INTRINSICSIZE != aReflowInput.ComputedHeight(),
|
||||
"Shouldn't have unconstrained stuff here "
|
||||
"thanks to ComputeAutoSize");
|
||||
|
||||
// XXX how should border&padding effect baseline alignment?
|
||||
// => descent = borderPadding.bottom for example
|
||||
WritingMode wm = aReflowInput.GetWritingMode();
|
||||
aMetrics.SetSize(wm, aReflowInput.ComputedSizeWithBorderPadding());
|
||||
|
||||
aStatus.Reset();
|
||||
|
||||
NS_FRAME_TRACE(NS_FRAME_TRACE_CALLS,
|
||||
("exit nsLeafFrame::DoReflow: size=%d,%d",
|
||||
aMetrics.ISize(wm), aMetrics.BSize(wm)));
|
||||
NS_FRAME_SET_TRUNCATION(aStatus, aReflowInput, aMetrics);
|
||||
|
||||
aMetrics.SetOverflowAreasToDesiredBounds();
|
||||
}
|
||||
|
||||
nscoord
|
||||
nsLeafFrame::GetIntrinsicBSize()
|
||||
{
|
||||
|
|
|
@ -50,23 +50,12 @@ public:
|
|||
ComputeSizeFlags aFlags) override;
|
||||
|
||||
/**
|
||||
* Reflow our frame. This will use the computed width plus borderpadding for
|
||||
* the desired width, and use the return value of GetIntrinsicBSize plus
|
||||
* borderpadding for the desired height. Ascent will be set to the height,
|
||||
* and descent will be set to 0.
|
||||
* Each of our subclasses should provide its own Reflow impl:
|
||||
*/
|
||||
virtual void Reflow(nsPresContext* aPresContext,
|
||||
ReflowOutput& aDesiredSize,
|
||||
const ReflowInput& aReflowInput,
|
||||
nsReflowStatus& aStatus) override;
|
||||
|
||||
/**
|
||||
* This method does most of the work that Reflow() above need done.
|
||||
*/
|
||||
virtual void DoReflow(nsPresContext* aPresContext,
|
||||
ReflowOutput& aDesiredSize,
|
||||
const ReflowInput& aReflowInput,
|
||||
nsReflowStatus& aStatus);
|
||||
nsReflowStatus& aStatus) override = 0;
|
||||
|
||||
virtual bool IsFrameOfType(uint32_t aFlags) const override
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче