mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
a3ae69617c
Backed out changeset e2ab653f688a (bug 1008917) Backed out changeset b52154d8d900 (bug 1008917) Backed out changeset 2ab5b01da4de (bug 1008917) Backed out changeset f7a38df1d44f (bug 1008917) Backed out changeset 80304bb9a572 (bug 1008917) Backed out changeset 10ed89a302e9 (bug 1008917) Backed out changeset 161c41991d46 (bug 1008917) Backed out changeset 25b2475d2368 (bug 1008917) Backed out changeset b8000b31277c (bug 1008917) Backed out changeset 9afa5e7715e1 (bug 1008917) Backed out changeset 5c380c21351f (bug 1008917)
93 lines
3.3 KiB
C++
93 lines
3.3 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/. */
|
|
#ifndef nsLeafBoxFrame_h___
|
|
#define nsLeafBoxFrame_h___
|
|
|
|
#include "mozilla/Attributes.h"
|
|
#include "nsLeafFrame.h"
|
|
#include "nsBox.h"
|
|
|
|
class nsAccessKeyInfo;
|
|
|
|
class nsLeafBoxFrame : public nsLeafFrame
|
|
{
|
|
public:
|
|
NS_DECL_FRAMEARENA_HELPERS
|
|
|
|
friend nsIFrame* NS_NewLeafBoxFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
|
|
|
|
virtual nsSize GetPrefSize(nsBoxLayoutState& aState) MOZ_OVERRIDE;
|
|
virtual nsSize GetMinSize(nsBoxLayoutState& aState) MOZ_OVERRIDE;
|
|
virtual nsSize GetMaxSize(nsBoxLayoutState& aState) MOZ_OVERRIDE;
|
|
virtual nscoord GetFlex(nsBoxLayoutState& aState) MOZ_OVERRIDE;
|
|
virtual nscoord GetBoxAscent(nsBoxLayoutState& aState) MOZ_OVERRIDE;
|
|
|
|
virtual nsIAtom* GetType() const MOZ_OVERRIDE;
|
|
virtual bool IsFrameOfType(uint32_t aFlags) const MOZ_OVERRIDE
|
|
{
|
|
// This is bogus, but it's what we've always done.
|
|
// Note that nsLeafFrame is also eReplacedContainsBlock.
|
|
return nsLeafFrame::IsFrameOfType(aFlags &
|
|
~(nsIFrame::eReplaced | nsIFrame::eReplacedContainsBlock | nsIFrame::eXULBox));
|
|
}
|
|
|
|
#ifdef DEBUG_FRAME_DUMP
|
|
virtual nsresult GetFrameName(nsAString& aResult) const MOZ_OVERRIDE;
|
|
#endif
|
|
|
|
// nsIHTMLReflow overrides
|
|
|
|
virtual void MarkIntrinsicWidthsDirty() MOZ_OVERRIDE;
|
|
virtual nscoord GetMinWidth(nsRenderingContext *aRenderingContext) MOZ_OVERRIDE;
|
|
virtual nscoord GetPrefWidth(nsRenderingContext *aRenderingContext) MOZ_OVERRIDE;
|
|
|
|
// Our auto size is that provided by nsFrame, not nsLeafFrame
|
|
virtual nsSize ComputeAutoSize(nsRenderingContext *aRenderingContext,
|
|
nsSize aCBSize, nscoord aAvailableWidth,
|
|
nsSize aMargin, nsSize aBorder,
|
|
nsSize aPadding, bool aShrinkWrap) MOZ_OVERRIDE;
|
|
|
|
virtual nsresult Reflow(nsPresContext* aPresContext,
|
|
nsHTMLReflowMetrics& aDesiredSize,
|
|
const nsHTMLReflowState& aReflowState,
|
|
nsReflowStatus& aStatus) MOZ_OVERRIDE;
|
|
|
|
virtual nsresult CharacterDataChanged(CharacterDataChangeInfo* aInfo) MOZ_OVERRIDE;
|
|
|
|
virtual void Init(nsIContent* aContent,
|
|
nsIFrame* aParent,
|
|
nsIFrame* asPrevInFlow) MOZ_OVERRIDE;
|
|
|
|
virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
|
const nsRect& aDirtyRect,
|
|
const nsDisplayListSet& aLists) MOZ_OVERRIDE;
|
|
|
|
virtual nsresult AttributeChanged(int32_t aNameSpaceID,
|
|
nsIAtom* aAttribute,
|
|
int32_t aModType) MOZ_OVERRIDE;
|
|
|
|
virtual bool ComputesOwnOverflowArea() MOZ_OVERRIDE { return false; }
|
|
|
|
protected:
|
|
|
|
NS_IMETHOD DoLayout(nsBoxLayoutState& aState) MOZ_OVERRIDE;
|
|
|
|
#ifdef DEBUG_LAYOUT
|
|
virtual void GetBoxName(nsAutoString& aName) MOZ_OVERRIDE;
|
|
#endif
|
|
|
|
virtual nscoord GetIntrinsicWidth() MOZ_OVERRIDE;
|
|
|
|
nsLeafBoxFrame(nsIPresShell* aShell, nsStyleContext* aContext);
|
|
|
|
private:
|
|
|
|
void UpdateMouseThrough();
|
|
|
|
|
|
}; // class nsLeafBoxFrame
|
|
|
|
#endif /* nsLeafBoxFrame_h___ */
|