From b4aafbf17dfdd2be9fb6baceedf28c359daeaca5 Mon Sep 17 00:00:00 2001 From: "kipp%netscape.com" Date: Wed, 15 Sep 1999 00:25:51 +0000 Subject: [PATCH] Added some spacemanager debugging noise git-svn-id: svn://10.0.0.236/trunk@47473 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/generic/nsAreaFrame.cpp | 41 +++++++++++++++++--- mozilla/layout/generic/nsAreaFrame.h | 4 +- mozilla/layout/html/base/src/nsAreaFrame.cpp | 41 +++++++++++++++++--- mozilla/layout/html/base/src/nsAreaFrame.h | 4 +- 4 files changed, 78 insertions(+), 12 deletions(-) diff --git a/mozilla/layout/generic/nsAreaFrame.cpp b/mozilla/layout/generic/nsAreaFrame.cpp index a0d3978dd18..c3a8e63980b 100644 --- a/mozilla/layout/generic/nsAreaFrame.cpp +++ b/mozilla/layout/generic/nsAreaFrame.cpp @@ -31,8 +31,7 @@ #include "nsLayoutAtoms.h" #undef NOISY_MAX_ELEMENT_SIZE - -static NS_DEFINE_IID(kAreaFrameIID, NS_IAREAFRAME_IID); +#undef NOISY_SPACEMANAGER nsresult NS_NewAreaFrame(nsIFrame** aNewFrame, PRUint32 aFlags) @@ -68,7 +67,7 @@ nsAreaFrame::QueryInterface(const nsIID& aIID, void** aInstancePtr) if (NULL == aInstancePtr) { return NS_ERROR_NULL_POINTER; } - if (aIID.Equals(kAreaFrameIID)) { + if (aIID.Equals(kIAreaFrameIID)) { nsIAreaFrame* tmp = (nsIAreaFrame*)this; *aInstancePtr = (void*)tmp; return NS_OK; @@ -210,7 +209,7 @@ nsAreaFrame::FirstChild(nsIAtom* aListName, nsIFrame** aFirstChild) const return nsBlockFrame::FirstChild(aListName, aFirstChild); } -#ifdef NS_DEBUG +#ifdef DEBUG NS_IMETHODIMP nsAreaFrame::Paint(nsIPresContext& aPresContext, nsIRenderingContext& aRenderingContext, @@ -294,6 +293,18 @@ nsAreaFrame::GetPositionedInfo(nscoord& aXMost, nscoord& aYMost) const return rv; } +NS_IMETHODIMP +nsAreaFrame::GetSpaceManager(nsISpaceManager** aSpaceManagerResult) +{ + if (!aSpaceManagerResult) { + NS_WARNING("null ptr"); + return NS_ERROR_NULL_POINTER; + } + *aSpaceManagerResult = mSpaceManager; + NS_IF_ADDREF(mSpaceManager); + return NS_OK; +} + NS_IMETHODIMP nsAreaFrame::Reflow(nsIPresContext& aPresContext, nsHTMLReflowMetrics& aDesiredSize, @@ -336,13 +347,33 @@ nsAreaFrame::Reflow(nsIPresContext& aPresContext, nsHTMLReflowState& reflowState = (nsHTMLReflowState&)aReflowState; reflowState.mSpaceManager = mSpaceManager; - // Clear the spacemanager's regions. + // Clear the spacemanager's regions mSpaceManager->ClearRegions(); } +#ifdef NOISY_SPACEMANAGER + if (eReflowReason_Incremental == aReflowState.reason) { + if (mSpaceManager) { + ListTag(stdout); + printf(": space-manager before reflow\n"); + mSpaceManager->List(stdout); + } + } +#endif + // Let the block frame do its reflow first rv = nsBlockFrame::Reflow(aPresContext, aDesiredSize, aReflowState, aStatus); +#ifdef NOISY_SPACEMANAGER + if (eReflowReason_Incremental == aReflowState.reason) { + if (mSpaceManager) { + ListTag(stdout); + printf(": space-manager after reflow\n"); + mSpaceManager->List(stdout); + } + } +#endif + // Let the absolutely positioned container reflow any absolutely positioned // child frames that need to be reflowed, e.g., elements with a percentage // based width/height diff --git a/mozilla/layout/generic/nsAreaFrame.h b/mozilla/layout/generic/nsAreaFrame.h index 81a1fa28f83..bb2876e5019 100644 --- a/mozilla/layout/generic/nsAreaFrame.h +++ b/mozilla/layout/generic/nsAreaFrame.h @@ -88,7 +88,7 @@ public: NS_IMETHOD DidReflow(nsIPresContext& aPresContext, nsDidReflowStatus aStatus); -#ifdef NS_DEBUG +#ifdef DEBUG NS_IMETHOD Paint(nsIPresContext& aPresContext, nsIRenderingContext& aRenderingContext, const nsRect& aDirtyRect, @@ -111,6 +111,8 @@ public: // nsIAreaFrame NS_IMETHOD GetPositionedInfo(nscoord& aXMost, nscoord& aYMost) const; + NS_IMETHOD GetSpaceManager(nsISpaceManager** aSpaceManagerResult); + protected: nsAreaFrame(); virtual ~nsAreaFrame(); diff --git a/mozilla/layout/html/base/src/nsAreaFrame.cpp b/mozilla/layout/html/base/src/nsAreaFrame.cpp index a0d3978dd18..c3a8e63980b 100644 --- a/mozilla/layout/html/base/src/nsAreaFrame.cpp +++ b/mozilla/layout/html/base/src/nsAreaFrame.cpp @@ -31,8 +31,7 @@ #include "nsLayoutAtoms.h" #undef NOISY_MAX_ELEMENT_SIZE - -static NS_DEFINE_IID(kAreaFrameIID, NS_IAREAFRAME_IID); +#undef NOISY_SPACEMANAGER nsresult NS_NewAreaFrame(nsIFrame** aNewFrame, PRUint32 aFlags) @@ -68,7 +67,7 @@ nsAreaFrame::QueryInterface(const nsIID& aIID, void** aInstancePtr) if (NULL == aInstancePtr) { return NS_ERROR_NULL_POINTER; } - if (aIID.Equals(kAreaFrameIID)) { + if (aIID.Equals(kIAreaFrameIID)) { nsIAreaFrame* tmp = (nsIAreaFrame*)this; *aInstancePtr = (void*)tmp; return NS_OK; @@ -210,7 +209,7 @@ nsAreaFrame::FirstChild(nsIAtom* aListName, nsIFrame** aFirstChild) const return nsBlockFrame::FirstChild(aListName, aFirstChild); } -#ifdef NS_DEBUG +#ifdef DEBUG NS_IMETHODIMP nsAreaFrame::Paint(nsIPresContext& aPresContext, nsIRenderingContext& aRenderingContext, @@ -294,6 +293,18 @@ nsAreaFrame::GetPositionedInfo(nscoord& aXMost, nscoord& aYMost) const return rv; } +NS_IMETHODIMP +nsAreaFrame::GetSpaceManager(nsISpaceManager** aSpaceManagerResult) +{ + if (!aSpaceManagerResult) { + NS_WARNING("null ptr"); + return NS_ERROR_NULL_POINTER; + } + *aSpaceManagerResult = mSpaceManager; + NS_IF_ADDREF(mSpaceManager); + return NS_OK; +} + NS_IMETHODIMP nsAreaFrame::Reflow(nsIPresContext& aPresContext, nsHTMLReflowMetrics& aDesiredSize, @@ -336,13 +347,33 @@ nsAreaFrame::Reflow(nsIPresContext& aPresContext, nsHTMLReflowState& reflowState = (nsHTMLReflowState&)aReflowState; reflowState.mSpaceManager = mSpaceManager; - // Clear the spacemanager's regions. + // Clear the spacemanager's regions mSpaceManager->ClearRegions(); } +#ifdef NOISY_SPACEMANAGER + if (eReflowReason_Incremental == aReflowState.reason) { + if (mSpaceManager) { + ListTag(stdout); + printf(": space-manager before reflow\n"); + mSpaceManager->List(stdout); + } + } +#endif + // Let the block frame do its reflow first rv = nsBlockFrame::Reflow(aPresContext, aDesiredSize, aReflowState, aStatus); +#ifdef NOISY_SPACEMANAGER + if (eReflowReason_Incremental == aReflowState.reason) { + if (mSpaceManager) { + ListTag(stdout); + printf(": space-manager after reflow\n"); + mSpaceManager->List(stdout); + } + } +#endif + // Let the absolutely positioned container reflow any absolutely positioned // child frames that need to be reflowed, e.g., elements with a percentage // based width/height diff --git a/mozilla/layout/html/base/src/nsAreaFrame.h b/mozilla/layout/html/base/src/nsAreaFrame.h index 81a1fa28f83..bb2876e5019 100644 --- a/mozilla/layout/html/base/src/nsAreaFrame.h +++ b/mozilla/layout/html/base/src/nsAreaFrame.h @@ -88,7 +88,7 @@ public: NS_IMETHOD DidReflow(nsIPresContext& aPresContext, nsDidReflowStatus aStatus); -#ifdef NS_DEBUG +#ifdef DEBUG NS_IMETHOD Paint(nsIPresContext& aPresContext, nsIRenderingContext& aRenderingContext, const nsRect& aDirtyRect, @@ -111,6 +111,8 @@ public: // nsIAreaFrame NS_IMETHOD GetPositionedInfo(nscoord& aXMost, nscoord& aYMost) const; + NS_IMETHOD GetSpaceManager(nsISpaceManager** aSpaceManagerResult); + protected: nsAreaFrame(); virtual ~nsAreaFrame();