Bug 1909613 - Enable <details name=''> everywhere, r=emilio
[gecko.git] / layout / generic / nsBackdropFrame.h
blobacc509e593baab5c00b7beac3f470d9df95435a2
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___
12 #include "nsIFrame.h"
14 class nsBackdropFrame final : public nsIFrame {
15 public:
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;
23 #endif
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___