1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 /* rendering object for CSS "::backdrop" */
9 #ifndef nsBackdropFrame_h___
10 #define nsBackdropFrame_h___
14 class nsBackdropFrame final
: public nsIFrame
{
16 NS_DECL_FRAMEARENA_HELPERS(nsBackdropFrame
)
18 explicit nsBackdropFrame(ComputedStyle
* aStyle
, nsPresContext
* aPresContext
)
19 : nsIFrame(aStyle
, aPresContext
, kClassID
) {}
21 #ifdef DEBUG_FRAME_DUMP
22 virtual nsresult
GetFrameName(nsAString
& aResult
) const override
;
24 virtual ComputedStyle
* GetParentComputedStyle(
25 nsIFrame
** aProviderFrame
) const override
;
26 virtual void BuildDisplayList(nsDisplayListBuilder
* aBuilder
,
27 const nsDisplayListSet
& aLists
) override
;
28 mozilla::LogicalSize
ComputeAutoSize(
29 gfxContext
* aRenderingContext
, mozilla::WritingMode aWM
,
30 const mozilla::LogicalSize
& aCBSize
, nscoord aAvailableISize
,
31 const mozilla::LogicalSize
& aMargin
,
32 const mozilla::LogicalSize
& aBorderPadding
,
33 const mozilla::StyleSizeOverrides
& aSizeOverrides
,
34 mozilla::ComputeSizeFlags aFlags
) override
;
35 virtual void Reflow(nsPresContext
* aPresContext
, ReflowOutput
& aDesiredSize
,
36 const ReflowInput
& aReflowInput
,
37 nsReflowStatus
& aStatus
) override
;
40 #endif // nsBackdropFrame_h___