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
69 lines
2.0 KiB
C++
69 lines
2.0 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/* base class for rendering objects that do not have child lists */
|
|
|
|
#include "nsLeafFrame.h"
|
|
#include "nsPresContext.h"
|
|
|
|
using namespace mozilla;
|
|
|
|
nsLeafFrame::~nsLeafFrame()
|
|
{
|
|
}
|
|
|
|
/* virtual */ nscoord
|
|
nsLeafFrame::GetMinISize(gfxContext *aRenderingContext)
|
|
{
|
|
nscoord result;
|
|
DISPLAY_MIN_WIDTH(this, result);
|
|
result = GetIntrinsicISize();
|
|
return result;
|
|
}
|
|
|
|
/* virtual */ nscoord
|
|
nsLeafFrame::GetPrefISize(gfxContext *aRenderingContext)
|
|
{
|
|
nscoord result;
|
|
DISPLAY_PREF_WIDTH(this, result);
|
|
result = GetIntrinsicISize();
|
|
return result;
|
|
}
|
|
|
|
/* virtual */
|
|
LogicalSize
|
|
nsLeafFrame::ComputeAutoSize(gfxContext* aRenderingContext,
|
|
WritingMode aWM,
|
|
const LogicalSize& aCBSize,
|
|
nscoord aAvailableISize,
|
|
const LogicalSize& aMargin,
|
|
const LogicalSize& aBorder,
|
|
const LogicalSize& aPadding,
|
|
ComputeSizeFlags aFlags)
|
|
{
|
|
const WritingMode wm = GetWritingMode();
|
|
LogicalSize result(wm, GetIntrinsicISize(), GetIntrinsicBSize());
|
|
return result.ConvertTo(aWM, wm);
|
|
}
|
|
|
|
nscoord
|
|
nsLeafFrame::GetIntrinsicBSize()
|
|
{
|
|
NS_NOTREACHED("Someone didn't override Reflow or ComputeAutoSize");
|
|
return 0;
|
|
}
|
|
|
|
void
|
|
nsLeafFrame::SizeToAvailSize(const ReflowInput& aReflowInput,
|
|
ReflowOutput& aDesiredSize)
|
|
{
|
|
WritingMode wm = aReflowInput.GetWritingMode();
|
|
LogicalSize size(wm, aReflowInput.AvailableISize(), // FRAME
|
|
aReflowInput.AvailableBSize());
|
|
aDesiredSize.SetSize(wm, size);
|
|
aDesiredSize.SetOverflowAreasToDesiredBounds();
|
|
FinishAndStoreOverflow(&aDesiredSize, aReflowInput.mStyleDisplay);
|
|
}
|