Loading layout/generic/nsContainerFrame.cpp +4 −5 Original line number Diff line number Diff line Loading @@ -617,11 +617,10 @@ nsContainerFrame::SyncFrameViewProperties(nsPresContext* aPresContext, if (!aStyleContext->GetStyleVisibility()->IsVisible() && !aFrame->SupportsVisibilityHidden()) { // If it's a scrollable frame that can't hide its scrollbars, // hide the view. This means that child elements can't override // their parent's visibility, but it's not practical to leave it // visible in all cases because the scrollbars will be showing // XXXldb Does the view system really enforce this correctly? // If it's a subdocument frame or a plugin, hide the view and // any associated widget. // These are leaf elements so this is OK, no descendant can be // visibility:visible. viewIsVisible = PR_FALSE; } else if (IsMenuPopup(aFrame)) { // if the view is for a popup, don't show the view if the popup is closed Loading layout/generic/nsFrame.cpp +0 −9 Original line number Diff line number Diff line Loading @@ -6714,15 +6714,6 @@ nsFrame::SetParent(const nsIFrame* aParent) else if (wasBoxWrapped && !IsBoxWrapped()) DeleteProperty(nsGkAtoms::boxMetricsProperty); if (aParent && aParent->IsBoxFrame()) { if (aParent->ChildrenMustHaveWidgets()) { nsHTMLContainerFrame::CreateViewForFrame(this, PR_TRUE); nsIView* view = GetView(); if (!view->HasWidget()) CreateWidgetForView(view); } } return NS_OK; } Loading layout/generic/nsIFrame.h +2 −7 Original line number Diff line number Diff line Loading @@ -106,11 +106,9 @@ struct nsMargin; typedef class nsIFrame nsIBox; // IID for the nsIFrame interface // 2871104e-2738-4ad7-b86a-ede63c71f1c2 #define NS_IFRAME_IID \ { 0x2871104e, 0x2738, 0x4ad7, \ { 0xb8, 0x6a, 0xed, 0xe6, 0x3c, 0x71, 0xf1, 0xc2 } } { 0x7e9018b5, 0x5405, 0x4e2b, \ { 0x87, 0x67, 0xe2, 0xb4, 0xb1, 0x3e, 0xc1, 0x69 } } /** * Indication of how the frame can be split. This is used when doing runaround Loading Loading @@ -2290,9 +2288,6 @@ NS_PTR_TO_INT32(frame->GetProperty(nsGkAtoms::embeddingLevel)) NS_IMETHOD DumpBox(FILE* out)=0; #endif // Only nsDeckFrame requires that all its children have widgets virtual PRBool ChildrenMustHaveWidgets() const { return PR_FALSE; } /** * @return PR_TRUE if this text frame ends with a newline character. It * should return PR_FALSE if this is not a text frame. Loading layout/xul/base/src/nsBoxFrame.cpp +0 −12 Original line number Diff line number Diff line Loading @@ -205,18 +205,6 @@ nsBoxFrame::Init(nsIContent* aContent, MarkIntrinsicWidthsDirty(); // see if we need a widget if (aParent && aParent->IsBoxFrame()) { if (aParent->ChildrenMustHaveWidgets()) { rv = nsHTMLContainerFrame::CreateViewForFrame(this, PR_TRUE); NS_ENSURE_SUCCESS(rv, rv); nsIView* view = GetView(); if (!view->HasWidget()) view->CreateWidget(kWidgetCID); } } CacheAttributes(); #ifdef DEBUG_LAYOUT Loading layout/xul/base/src/nsDeckFrame.cpp +34 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ #include "nsBoxLayoutState.h" #include "nsStackLayout.h" #include "nsDisplayList.h" #include "nsHTMLContainerFrame.h" nsIFrame* NS_NewDeckFrame(nsIPresShell* aPresShell, nsStyleContext* aContext) Loading Loading @@ -107,6 +108,39 @@ nsDeckFrame::Init(nsIContent* aContent, return rv; } static void CreateViewsForFrames(const nsFrameList& aFrames) { for (nsFrameList::Enumerator f(aFrames); !f.AtEnd(); f.Next()) { nsHTMLContainerFrame::CreateViewForFrame(f.get(), PR_TRUE); } } NS_IMETHODIMP nsDeckFrame::SetInitialChildList(nsIAtom* aListName, nsFrameList& aChildList) { CreateViewsForFrames(aChildList); return nsBoxFrame::SetInitialChildList(aListName, aChildList); } NS_IMETHODIMP nsDeckFrame::AppendFrames(nsIAtom* aListName, nsFrameList& aFrameList) { CreateViewsForFrames(aFrameList); return nsBoxFrame::AppendFrames(aListName, aFrameList); } NS_IMETHODIMP nsDeckFrame::InsertFrames(nsIAtom* aListName, nsIFrame* aPrevFrame, nsFrameList& aFrameList) { CreateViewsForFrames(aFrameList); return nsBoxFrame::InsertFrames(aListName, aPrevFrame, aFrameList); } void nsDeckFrame::HideBox(nsPresContext* aPresContext, nsIBox* aBox) { Loading Loading
layout/generic/nsContainerFrame.cpp +4 −5 Original line number Diff line number Diff line Loading @@ -617,11 +617,10 @@ nsContainerFrame::SyncFrameViewProperties(nsPresContext* aPresContext, if (!aStyleContext->GetStyleVisibility()->IsVisible() && !aFrame->SupportsVisibilityHidden()) { // If it's a scrollable frame that can't hide its scrollbars, // hide the view. This means that child elements can't override // their parent's visibility, but it's not practical to leave it // visible in all cases because the scrollbars will be showing // XXXldb Does the view system really enforce this correctly? // If it's a subdocument frame or a plugin, hide the view and // any associated widget. // These are leaf elements so this is OK, no descendant can be // visibility:visible. viewIsVisible = PR_FALSE; } else if (IsMenuPopup(aFrame)) { // if the view is for a popup, don't show the view if the popup is closed Loading
layout/generic/nsFrame.cpp +0 −9 Original line number Diff line number Diff line Loading @@ -6714,15 +6714,6 @@ nsFrame::SetParent(const nsIFrame* aParent) else if (wasBoxWrapped && !IsBoxWrapped()) DeleteProperty(nsGkAtoms::boxMetricsProperty); if (aParent && aParent->IsBoxFrame()) { if (aParent->ChildrenMustHaveWidgets()) { nsHTMLContainerFrame::CreateViewForFrame(this, PR_TRUE); nsIView* view = GetView(); if (!view->HasWidget()) CreateWidgetForView(view); } } return NS_OK; } Loading
layout/generic/nsIFrame.h +2 −7 Original line number Diff line number Diff line Loading @@ -106,11 +106,9 @@ struct nsMargin; typedef class nsIFrame nsIBox; // IID for the nsIFrame interface // 2871104e-2738-4ad7-b86a-ede63c71f1c2 #define NS_IFRAME_IID \ { 0x2871104e, 0x2738, 0x4ad7, \ { 0xb8, 0x6a, 0xed, 0xe6, 0x3c, 0x71, 0xf1, 0xc2 } } { 0x7e9018b5, 0x5405, 0x4e2b, \ { 0x87, 0x67, 0xe2, 0xb4, 0xb1, 0x3e, 0xc1, 0x69 } } /** * Indication of how the frame can be split. This is used when doing runaround Loading Loading @@ -2290,9 +2288,6 @@ NS_PTR_TO_INT32(frame->GetProperty(nsGkAtoms::embeddingLevel)) NS_IMETHOD DumpBox(FILE* out)=0; #endif // Only nsDeckFrame requires that all its children have widgets virtual PRBool ChildrenMustHaveWidgets() const { return PR_FALSE; } /** * @return PR_TRUE if this text frame ends with a newline character. It * should return PR_FALSE if this is not a text frame. Loading
layout/xul/base/src/nsBoxFrame.cpp +0 −12 Original line number Diff line number Diff line Loading @@ -205,18 +205,6 @@ nsBoxFrame::Init(nsIContent* aContent, MarkIntrinsicWidthsDirty(); // see if we need a widget if (aParent && aParent->IsBoxFrame()) { if (aParent->ChildrenMustHaveWidgets()) { rv = nsHTMLContainerFrame::CreateViewForFrame(this, PR_TRUE); NS_ENSURE_SUCCESS(rv, rv); nsIView* view = GetView(); if (!view->HasWidget()) view->CreateWidget(kWidgetCID); } } CacheAttributes(); #ifdef DEBUG_LAYOUT Loading
layout/xul/base/src/nsDeckFrame.cpp +34 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ #include "nsBoxLayoutState.h" #include "nsStackLayout.h" #include "nsDisplayList.h" #include "nsHTMLContainerFrame.h" nsIFrame* NS_NewDeckFrame(nsIPresShell* aPresShell, nsStyleContext* aContext) Loading Loading @@ -107,6 +108,39 @@ nsDeckFrame::Init(nsIContent* aContent, return rv; } static void CreateViewsForFrames(const nsFrameList& aFrames) { for (nsFrameList::Enumerator f(aFrames); !f.AtEnd(); f.Next()) { nsHTMLContainerFrame::CreateViewForFrame(f.get(), PR_TRUE); } } NS_IMETHODIMP nsDeckFrame::SetInitialChildList(nsIAtom* aListName, nsFrameList& aChildList) { CreateViewsForFrames(aChildList); return nsBoxFrame::SetInitialChildList(aListName, aChildList); } NS_IMETHODIMP nsDeckFrame::AppendFrames(nsIAtom* aListName, nsFrameList& aFrameList) { CreateViewsForFrames(aFrameList); return nsBoxFrame::AppendFrames(aListName, aFrameList); } NS_IMETHODIMP nsDeckFrame::InsertFrames(nsIAtom* aListName, nsIFrame* aPrevFrame, nsFrameList& aFrameList) { CreateViewsForFrames(aFrameList); return nsBoxFrame::InsertFrames(aListName, aPrevFrame, aFrameList); } void nsDeckFrame::HideBox(nsPresContext* aPresContext, nsIBox* aBox) { Loading