diff --git a/content/html/style/src/nsCSSLayout.cpp b/content/html/style/src/nsCSSLayout.cpp index af02f7a578fa..be0fcccdc1a6 100644 --- a/content/html/style/src/nsCSSLayout.cpp +++ b/content/html/style/src/nsCSSLayout.cpp @@ -59,10 +59,9 @@ nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX, PRIntn kidCount = aChildCount; while (--kidCount >= 0) { nscoord kidAscent = *aAscents++; - nsIStyleContextPtr kidSC; - kid->GetStyleContext(aCX, kidSC.AssignRef()); - const nsStyleText* textStyle = (const nsStyleText*)kidSC->GetStyleData(eStyleStruct_Text); + const nsStyleText* textStyle; + kid->GetStyleData(eStyleStruct_Text, (const nsStyleStruct*&)textStyle); nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit(); PRUint8 verticalAlignEnum = NS_STYLE_VERTICAL_ALIGN_BASELINE; @@ -162,10 +161,8 @@ nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX, kid = aFirstChild; while (--kidCount >= 0) { // Get kid's vertical align style data - nsIStyleContextPtr kidSC; - - kid->GetStyleContext(aCX, kidSC.AssignRef()); - const nsStyleText* textStyle = (const nsStyleText*)kidSC->GetStyleData(eStyleStruct_Text); + const nsStyleText* textStyle; + kid->GetStyleData(eStyleStruct_Text, (const nsStyleStruct*&)textStyle); nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit(); if (eStyleUnit_Percent == verticalAlignUnit) { @@ -261,11 +258,8 @@ nsCSSLayout::RelativePositionChildren(nsIPresContext* aCX, nsPoint origin; nsIFrame* kid = aFirstChild; while (--aChildCount >= 0) { - nsIStyleContextPtr kidSC; - - kid->GetStyleContext(aCX, kidSC.AssignRef()); - const nsStylePosition* kidPosition = (const nsStylePosition*) - kidSC->GetStyleData(eStyleStruct_Position); + const nsStylePosition* kidPosition; + kid->GetStyleData(eStyleStruct_Position, (const nsStyleStruct*&)kidPosition); if (NS_STYLE_POSITION_RELATIVE == kidPosition->mPosition) { kid->GetOrigin(origin); // XXX Check the unit: could be auto or percent (not just length) @@ -338,11 +332,10 @@ nsCSSLayout::GetStyleSize(nsIPresContext* aPresContext, // XXX if display == col || colspan ignore height PRIntn rv = NS_SIZE_HAS_NONE; - nsIStyleContext* sc = nsnull; - aReflowState.frame->GetStyleContext(aPresContext, sc); - if (nsnull != sc) { - const nsStylePosition* pos = (const nsStylePosition*) - sc->GetStyleData(eStyleStruct_Position); + const nsStylePosition* pos; + nsresult result = aReflowState.frame->GetStyleData(eStyleStruct_Position, + (const nsStyleStruct*&)pos); + if (NS_OK == result) { if (GetStyleDimension(aPresContext, aReflowState, pos, pos->mWidth, aStyleSize.width)) { rv |= NS_SIZE_HAS_WIDTH; @@ -351,7 +344,6 @@ nsCSSLayout::GetStyleSize(nsIPresContext* aPresContext, aStyleSize.height)) { rv |= NS_SIZE_HAS_HEIGHT; } - NS_RELEASE(sc); } return rv; } diff --git a/layout/html/style/src/nsCSSLayout.cpp b/layout/html/style/src/nsCSSLayout.cpp index af02f7a578fa..be0fcccdc1a6 100644 --- a/layout/html/style/src/nsCSSLayout.cpp +++ b/layout/html/style/src/nsCSSLayout.cpp @@ -59,10 +59,9 @@ nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX, PRIntn kidCount = aChildCount; while (--kidCount >= 0) { nscoord kidAscent = *aAscents++; - nsIStyleContextPtr kidSC; - kid->GetStyleContext(aCX, kidSC.AssignRef()); - const nsStyleText* textStyle = (const nsStyleText*)kidSC->GetStyleData(eStyleStruct_Text); + const nsStyleText* textStyle; + kid->GetStyleData(eStyleStruct_Text, (const nsStyleStruct*&)textStyle); nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit(); PRUint8 verticalAlignEnum = NS_STYLE_VERTICAL_ALIGN_BASELINE; @@ -162,10 +161,8 @@ nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX, kid = aFirstChild; while (--kidCount >= 0) { // Get kid's vertical align style data - nsIStyleContextPtr kidSC; - - kid->GetStyleContext(aCX, kidSC.AssignRef()); - const nsStyleText* textStyle = (const nsStyleText*)kidSC->GetStyleData(eStyleStruct_Text); + const nsStyleText* textStyle; + kid->GetStyleData(eStyleStruct_Text, (const nsStyleStruct*&)textStyle); nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit(); if (eStyleUnit_Percent == verticalAlignUnit) { @@ -261,11 +258,8 @@ nsCSSLayout::RelativePositionChildren(nsIPresContext* aCX, nsPoint origin; nsIFrame* kid = aFirstChild; while (--aChildCount >= 0) { - nsIStyleContextPtr kidSC; - - kid->GetStyleContext(aCX, kidSC.AssignRef()); - const nsStylePosition* kidPosition = (const nsStylePosition*) - kidSC->GetStyleData(eStyleStruct_Position); + const nsStylePosition* kidPosition; + kid->GetStyleData(eStyleStruct_Position, (const nsStyleStruct*&)kidPosition); if (NS_STYLE_POSITION_RELATIVE == kidPosition->mPosition) { kid->GetOrigin(origin); // XXX Check the unit: could be auto or percent (not just length) @@ -338,11 +332,10 @@ nsCSSLayout::GetStyleSize(nsIPresContext* aPresContext, // XXX if display == col || colspan ignore height PRIntn rv = NS_SIZE_HAS_NONE; - nsIStyleContext* sc = nsnull; - aReflowState.frame->GetStyleContext(aPresContext, sc); - if (nsnull != sc) { - const nsStylePosition* pos = (const nsStylePosition*) - sc->GetStyleData(eStyleStruct_Position); + const nsStylePosition* pos; + nsresult result = aReflowState.frame->GetStyleData(eStyleStruct_Position, + (const nsStyleStruct*&)pos); + if (NS_OK == result) { if (GetStyleDimension(aPresContext, aReflowState, pos, pos->mWidth, aStyleSize.width)) { rv |= NS_SIZE_HAS_WIDTH; @@ -351,7 +344,6 @@ nsCSSLayout::GetStyleSize(nsIPresContext* aPresContext, aStyleSize.height)) { rv |= NS_SIZE_HAS_HEIGHT; } - NS_RELEASE(sc); } return rv; }