sync up to new style data apis

This commit is contained in:
peterl 1998-06-05 06:09:09 +00:00
Родитель 5517348fa8
Коммит 71d5fd1025
66 изменённых файлов: 686 добавлений и 942 удалений

Просмотреть файл

@ -40,7 +40,7 @@ NS_DEF_PTR(nsIContent);
nscoord nscoord
nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX, nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX,
nsIFrame* aContainer, nsIFrame* aContainer,
nsStyleFont* aContainerFont, const nsStyleFont* aContainerFont,
nscoord aY0, nscoord aY0,
nsIFrame* aFirstChild, nsIFrame* aFirstChild,
PRIntn aChildCount, PRIntn aChildCount,
@ -62,7 +62,7 @@ nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX,
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kid->GetStyleContext(aCX, kidSC.AssignRef()); kid->GetStyleContext(aCX, kidSC.AssignRef());
nsStyleText* textStyle = (nsStyleText*)kidSC->GetData(eStyleStruct_Text); const nsStyleText* textStyle = (const nsStyleText*)kidSC->GetStyleData(eStyleStruct_Text);
nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit(); nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit();
PRUint8 verticalAlignEnum = NS_STYLE_VERTICAL_ALIGN_BASELINE; PRUint8 verticalAlignEnum = NS_STYLE_VERTICAL_ALIGN_BASELINE;
@ -165,7 +165,7 @@ nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX,
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kid->GetStyleContext(aCX, kidSC.AssignRef()); kid->GetStyleContext(aCX, kidSC.AssignRef());
nsStyleText* textStyle = (nsStyleText*)kidSC->GetData(eStyleStruct_Text); const nsStyleText* textStyle = (const nsStyleText*)kidSC->GetStyleData(eStyleStruct_Text);
nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit(); nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit();
if (eStyleUnit_Percent == verticalAlignUnit) { if (eStyleUnit_Percent == verticalAlignUnit) {
@ -264,8 +264,8 @@ nsCSSLayout::RelativePositionChildren(nsIPresContext* aCX,
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kid->GetStyleContext(aCX, kidSC.AssignRef()); kid->GetStyleContext(aCX, kidSC.AssignRef());
nsStylePosition* kidPosition = (nsStylePosition*) const nsStylePosition* kidPosition = (const nsStylePosition*)
kidSC->GetData(eStyleStruct_Position); kidSC->GetStyleData(eStyleStruct_Position);
if (NS_STYLE_POSITION_RELATIVE == kidPosition->mPosition) { if (NS_STYLE_POSITION_RELATIVE == kidPosition->mPosition) {
kid->GetOrigin(origin); kid->GetOrigin(origin);
// XXX Check the unit: could be auto or percent (not just length) // XXX Check the unit: could be auto or percent (not just length)
@ -282,8 +282,8 @@ nsCSSLayout::RelativePositionChildren(nsIPresContext* aCX,
static PRBool static PRBool
GetStyleDimension(nsIPresContext* aPresContext, GetStyleDimension(nsIPresContext* aPresContext,
const nsReflowState& aReflowState, const nsReflowState& aReflowState,
nsStylePosition* aStylePos, const nsStylePosition* aStylePos,
nsStyleCoord& aCoord, const nsStyleCoord& aCoord,
nscoord& aResult) nscoord& aResult)
{ {
PRBool rv = PR_FALSE; PRBool rv = PR_FALSE;
@ -341,8 +341,8 @@ nsCSSLayout::GetStyleSize(nsIPresContext* aPresContext,
nsIStyleContext* sc = nsnull; nsIStyleContext* sc = nsnull;
aReflowState.frame->GetStyleContext(aPresContext, sc); aReflowState.frame->GetStyleContext(aPresContext, sc);
if (nsnull != sc) { if (nsnull != sc) {
nsStylePosition* pos = (nsStylePosition*) const nsStylePosition* pos = (const nsStylePosition*)
sc->GetData(eStyleStruct_Position); sc->GetStyleData(eStyleStruct_Position);
if (GetStyleDimension(aPresContext, aReflowState, pos, pos->mWidth, if (GetStyleDimension(aPresContext, aReflowState, pos, pos->mWidth,
aStyleSize.width)) { aStyleSize.width)) {
rv |= NS_SIZE_HAS_WIDTH; rv |= NS_SIZE_HAS_WIDTH;

Просмотреть файл

@ -160,10 +160,10 @@ public:
virtual PRInt32 GetWeight(void) const; virtual PRInt32 GetWeight(void) const;
virtual void SetWeight(PRInt32 aWeight); virtual void SetWeight(PRInt32 aWeight);
virtual nscoord CalcLength(const nsCSSValue& aValue, nsStyleFont* aFont, virtual nscoord CalcLength(const nsCSSValue& aValue, const nsStyleFont* aFont,
nsIPresContext* aPresContext); nsIPresContext* aPresContext);
virtual PRBool SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord, virtual PRBool SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord,
PRInt32 aMask, nsStyleFont* aFont, PRInt32 aMask, const nsStyleFont* aFont,
nsIPresContext* aPresContext); nsIPresContext* aPresContext);
virtual void MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext); virtual void MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext);
@ -416,7 +416,7 @@ void CSSStyleRuleImpl::SetWeight(PRInt32 aWeight)
} }
nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue, nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue,
nsStyleFont* aFont, const nsStyleFont* aFont,
nsIPresContext* aPresContext) nsIPresContext* aPresContext)
{ {
NS_ASSERTION(aValue.IsLengthUnit(), "not a length unit"); NS_ASSERTION(aValue.IsLengthUnit(), "not a length unit");
@ -462,7 +462,7 @@ nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue,
#define SETCOORD_IAH (SETCOORD_INTEGER | SETCOORD_AH) #define SETCOORD_IAH (SETCOORD_INTEGER | SETCOORD_AH)
PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord, PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord,
PRInt32 aMask, nsStyleFont* aFont, PRInt32 aMask, const nsStyleFont* aFont,
nsIPresContext* aPresContext) nsIPresContext* aPresContext)
{ {
PRBool result = PR_TRUE; PRBool result = PR_TRUE;
@ -510,15 +510,15 @@ PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord
void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext)
{ {
if (nsnull != mDeclaration) { if (nsnull != mDeclaration) {
nsStyleFont* font = (nsStyleFont*)aContext->GetData(eStyleStruct_Font); nsStyleFont* font = (nsStyleFont*)aContext->GetMutableStyleData(eStyleStruct_Font);
nsCSSFont* ourFont; nsCSSFont* ourFont;
if (NS_OK == mDeclaration->GetData(kCSSFontSID, (nsCSSStruct**)&ourFont)) { if (NS_OK == mDeclaration->GetData(kCSSFontSID, (nsCSSStruct**)&ourFont)) {
if (nsnull != ourFont) { if (nsnull != ourFont) {
nsStyleFont* parentFont = font; const nsStyleFont* parentFont = font;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentFont = (nsStyleFont*)parentContext->GetData(eStyleStruct_Font); parentFont = (const nsStyleFont*)parentContext->GetStyleData(eStyleStruct_Font);
} }
// font-family: string list // font-family: string list
@ -620,7 +620,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (NS_OK == mDeclaration->GetData(kCSSTextSID, (nsCSSStruct**)&ourText)) { if (NS_OK == mDeclaration->GetData(kCSSTextSID, (nsCSSStruct**)&ourText)) {
if (nsnull != ourText) { if (nsnull != ourText) {
// Get our text style and our parent's text style // Get our text style and our parent's text style
nsStyleText* text = (nsStyleText*) aContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*) aContext->GetMutableStyleData(eStyleStruct_Text);
// letter-spacing // letter-spacing
SetCoord(ourText->mLetterSpacing, text->mLetterSpacing, SETCOORD_LH | SETCOORD_NORMAL, SetCoord(ourText->mLetterSpacing, text->mLetterSpacing, SETCOORD_LH | SETCOORD_NORMAL,
@ -670,12 +670,12 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (nsnull != ourDisplay) { if (nsnull != ourDisplay) {
// Get our style and our parent's style // Get our style and our parent's style
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
nsStyleDisplay* parentDisplay = display; const nsStyleDisplay* parentDisplay = display;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentDisplay = (nsStyleDisplay*)parentContext->GetData(eStyleStruct_Display); parentDisplay = (const nsStyleDisplay*)parentContext->GetStyleData(eStyleStruct_Display);
} }
// display // display
@ -767,7 +767,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSColor* ourColor; nsCSSColor* ourColor;
if (NS_OK == mDeclaration->GetData(kCSSColorSID, (nsCSSStruct**)&ourColor)) { if (NS_OK == mDeclaration->GetData(kCSSColorSID, (nsCSSStruct**)&ourColor)) {
if (nsnull != ourColor) { if (nsnull != ourColor) {
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color); nsStyleColor* color = (nsStyleColor*)aContext->GetMutableStyleData(eStyleStruct_Color);
// color: color // color: color
if (ourColor->mColor.GetUnit() == eCSSUnit_Color) { if (ourColor->mColor.GetUnit() == eCSSUnit_Color) {
@ -850,12 +850,11 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Number) { else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Number) {
color->mOpacity = ourColor->mOpacity.GetFloatValue(); color->mOpacity = ourColor->mOpacity.GetFloatValue();
} }
else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Enumerated) { else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Inherit) {
// Only enum value is inherit const nsStyleColor* parentColor = color;
nsStyleColor* parentColor = color;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentColor = (nsStyleColor*)parentContext->GetData(eStyleStruct_Color); parentColor = (const nsStyleColor*)parentContext->GetStyleData(eStyleStruct_Color);
color->mOpacity = parentColor->mOpacity; color->mOpacity = parentColor->mOpacity;
NS_RELEASE(parentContext); NS_RELEASE(parentContext);
} }
@ -870,7 +869,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (NS_OK == mDeclaration->GetData(kCSSMarginSID, (nsCSSStruct**)&ourMargin)) { if (NS_OK == mDeclaration->GetData(kCSSMarginSID, (nsCSSStruct**)&ourMargin)) {
if (nsnull != ourMargin) { if (nsnull != ourMargin) {
nsStyleSpacing* spacing = (nsStyleSpacing*) nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetData(eStyleStruct_Spacing); aContext->GetMutableStyleData(eStyleStruct_Spacing);
// margin: length, percent, auto, inherit // margin: length, percent, auto, inherit
if (nsnull != ourMargin->mMargin) { if (nsnull != ourMargin->mMargin) {
@ -941,7 +940,6 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
} }
// border-color // border-color
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color);
if (nsnull != ourMargin->mColor) { if (nsnull != ourMargin->mColor) {
nsCSSRect* ourColor = ourMargin->mColor; nsCSSRect* ourColor = ourMargin->mColor;
if (ourColor->mTop.GetUnit() == eCSSUnit_Color) { if (ourColor->mTop.GetUnit() == eCSSUnit_Color) {
@ -963,7 +961,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSPosition* ourPosition; nsCSSPosition* ourPosition;
if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) { if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) {
if (nsnull != ourPosition) { if (nsnull != ourPosition) {
nsStylePosition* position = (nsStylePosition*)aContext->GetData(eStyleStruct_Position); nsStylePosition* position = (nsStylePosition*)aContext->GetMutableStyleData(eStyleStruct_Position);
// position: normal, enum, inherit // position: normal, enum, inherit
if (ourPosition->mPosition.GetUnit() == eCSSUnit_Normal) { if (ourPosition->mPosition.GetUnit() == eCSSUnit_Normal) {
@ -976,7 +974,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
// explicit inheritance // explicit inheritance
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
nsStylePosition* parentPosition = (nsStylePosition*)parentContext->GetData(eStyleStruct_Position); const nsStylePosition* parentPosition = (const nsStylePosition*)parentContext->GetStyleData(eStyleStruct_Position);
position->mPosition = parentPosition->mPosition; position->mPosition = parentPosition->mPosition;
} }
} }
@ -995,7 +993,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSList* ourList; nsCSSList* ourList;
if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) { if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) {
if (nsnull != ourList) { if (nsnull != ourList) {
nsStyleList* list = (nsStyleList*)aContext->GetData(eStyleStruct_List); nsStyleList* list = (nsStyleList*)aContext->GetMutableStyleData(eStyleStruct_List);
// list-style-type: enum // list-style-type: enum
if (ourList->mType.GetUnit() == eCSSUnit_Enumerated) { if (ourList->mType.GetUnit() == eCSSUnit_Enumerated) {

Просмотреть файл

@ -230,8 +230,8 @@ void nsContainerFrame::PaintChildren(nsIPresContext& aPresContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
// Set clip rect so that children don't leak out of us // Set clip rect so that children don't leak out of us
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
PRBool hidden = PR_FALSE; PRBool hidden = PR_FALSE;
if (NS_STYLE_OVERFLOW_HIDDEN == disp->mOverflow) { if (NS_STYLE_OVERFLOW_HIDDEN == disp->mOverflow) {
aRenderingContext.PushState(); aRenderingContext.PushState();

Просмотреть файл

@ -307,11 +307,11 @@ NS_METHOD nsFrame::DidSetStyleContext(nsIPresContext* aPresContext)
return NS_OK; return NS_OK;
} }
NS_METHOD nsFrame::GetStyleData(nsStyleStructID aSID, nsStyleStruct*& aStyleStruct) const NS_METHOD nsFrame::GetStyleData(nsStyleStructID aSID, const nsStyleStruct*& aStyleStruct) const
{ {
NS_ASSERTION(mStyleContext!=nsnull,"null style context"); NS_ASSERTION(mStyleContext!=nsnull,"null style context");
if (mStyleContext) { if (mStyleContext) {
aStyleStruct = mStyleContext->GetData(aSID); aStyleStruct = mStyleContext->GetStyleData(aSID);
} else { } else {
aStyleStruct = nsnull; aStyleStruct = nsnull;
} }
@ -1289,14 +1289,14 @@ void nsFrame::Invalidate(const nsRect& aDamageRect) const
// Style sizing methods // Style sizing methods
NS_METHOD nsFrame::IsPercentageBase(PRBool& aBase) const NS_METHOD nsFrame::IsPercentageBase(PRBool& aBase) const
{ {
nsStylePosition* position; const nsStylePosition* position;
GetStyleData(eStyleStruct_Position, (nsStyleStruct*&)position); GetStyleData(eStyleStruct_Position, (const nsStyleStruct*&)position);
if (position->mPosition != NS_STYLE_POSITION_NORMAL) { if (position->mPosition != NS_STYLE_POSITION_NORMAL) {
aBase = PR_TRUE; aBase = PR_TRUE;
} }
else { else {
nsStyleDisplay* display; const nsStyleDisplay* display;
GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if ((display->mDisplay == NS_STYLE_DISPLAY_BLOCK) || if ((display->mDisplay == NS_STYLE_DISPLAY_BLOCK) ||
(display->mDisplay == NS_STYLE_DISPLAY_LIST_ITEM)) { (display->mDisplay == NS_STYLE_DISPLAY_LIST_ITEM)) {
aBase = PR_TRUE; aBase = PR_TRUE;

Просмотреть файл

@ -93,7 +93,7 @@ public:
NS_IMETHOD SetStyleContext(nsIPresContext* aPresContext, nsIStyleContext* aContext); NS_IMETHOD SetStyleContext(nsIPresContext* aPresContext, nsIStyleContext* aContext);
// Get the style struct associated with this frame // Get the style struct associated with this frame
NS_IMETHOD GetStyleData(nsStyleStructID aSID, nsStyleStruct*& aStyleStruct) const; NS_IMETHOD GetStyleData(nsStyleStructID aSID, const nsStyleStruct*& aStyleStruct) const;
// Geometric and content parent // Geometric and content parent

Просмотреть файл

@ -57,7 +57,7 @@ void nsBlockBandData::ComputeAvailSpaceRect()
nsBandTrapezoid* trapezoid = &data[i]; nsBandTrapezoid* trapezoid = &data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -66,14 +66,14 @@ void nsBlockBandData::ComputeAvailSpaceRect()
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -91,13 +91,13 @@ void nsBlockBandData::ComputeAvailSpaceRect()
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availSpace.x = availSpace.XMost(); availSpace.x = availSpace.XMost();
} }
@ -179,10 +179,10 @@ nsresult nsBlockReflowState::RecoverState(nsLineData* aLine)
// If the previous line is a block, then factor in its bottom margin // If the previous line is a block, then factor in its bottom margin
if (prevLine->mIsBlock) { if (prevLine->mIsBlock) {
nsStyleSpacing* kidSpacing; const nsStyleSpacing* kidSpacing;
nsIFrame* kid = prevLine->mFirstChild; nsIFrame* kid = prevLine->mFirstChild;
kid->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)kidSpacing); kid->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)kidSpacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kid, kidMargin); kidSpacing->CalcMarginFor(kid, kidMargin);
if (kidMargin.bottom < 0) { if (kidMargin.bottom < 0) {
@ -511,7 +511,7 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
nsBandTrapezoid* trapezoid = &trapezoids[i]; nsBandTrapezoid* trapezoid = &trapezoids[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -520,14 +520,14 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -545,13 +545,13 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availBand.x = availBand.XMost(); availBand.x = availBand.XMost();
} }
@ -692,7 +692,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
nsRect tmp; nsRect tmp;
PRInt32 i; PRInt32 i;
for (i = 0; i < aState.mCurrentBand.count; i++) { for (i = 0; i < aState.mCurrentBand.count; i++) {
nsStyleDisplay* display; const nsStyleDisplay* display;
nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i]; nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
@ -700,7 +700,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
NS_ASSERTION(numFrames > 0, "bad trapezoid frame list"); NS_ASSERTION(numFrames > 0, "bad trapezoid frame list");
for (fn = 0; fn < numFrames; fn++) { for (fn = 0; fn < numFrames; fn++) {
nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn); nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
@ -728,7 +728,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
} }
else { else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, trapezoid->frame->GetStyleData(eStyleStruct_Display,
(nsStyleStruct*&)display); (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
if ((NS_STYLE_CLEAR_LEFT == aBreakType) || if ((NS_STYLE_CLEAR_LEFT == aBreakType) ||
@ -1228,10 +1228,10 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Apply border and padding adjustments for regular frames only // Apply border and padding adjustments for regular frames only
if (!aState.mBlockIsPseudo) { if (!aState.mBlockIsPseudo) {
nsStyleSpacing* mySpacing = (nsStyleSpacing*) const nsStyleSpacing* mySpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStylePosition* myPosition = (nsStylePosition*) const nsStylePosition* myPosition = (const nsStylePosition*)
mStyleContext->GetData(eStyleStruct_Position); mStyleContext->GetStyleData(eStyleStruct_Position);
mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding); mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding);
aState.mY = aState.mBorderPadding.top; aState.mY = aState.mBorderPadding.top;
@ -1287,11 +1287,11 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Setup list flags in block reflow state if this block is a list // Setup list flags in block reflow state if this block is a list
// item. // item.
nsStyleDisplay* myDisplay = (nsStyleDisplay*) const nsStyleDisplay* myDisplay = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) { if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) {
nsStyleList* myList = (nsStyleList*) const nsStyleList* myList = (const nsStyleList*)
mStyleContext->GetData(eStyleStruct_List); mStyleContext->GetStyleData(eStyleStruct_List);
if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) { if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) {
aState.mListPositionOutside = PR_TRUE; aState.mListPositionOutside = PR_TRUE;
} }
@ -1774,8 +1774,8 @@ nsBlockFrame::PlaceFloater(nsIPresContext* aPresContext,
nsISpaceManager* sm = aState.mSpaceManager; nsISpaceManager* sm = aState.mSpaceManager;
// Get the type of floater // Get the type of floater
nsStyleDisplay* floaterDisplay; const nsStyleDisplay* floaterDisplay;
aFloater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)floaterDisplay); aFloater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)floaterDisplay);
// Commit some space in the space manager, and adjust our current // Commit some space in the space manager, and adjust our current
// band of available space. // band of available space.
@ -1833,8 +1833,8 @@ nsBlockFrame::PlaceBelowCurrentLineFloaters(nsBlockReflowState& aState,
GetAvailableSpace(aState, aY); GetAvailableSpace(aState, aY);
// Get the type of floater // Get the type of floater
nsStyleDisplay* sd; const nsStyleDisplay* sd;
floater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)sd); floater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)sd);
floater->GetRect(region); floater->GetRect(region);
// XXX GetAvailableSpace() is translating availSpace by aState.mY... // XXX GetAvailableSpace() is translating availSpace by aState.mY...

Просмотреть файл

@ -57,7 +57,7 @@ void nsBlockBandData::ComputeAvailSpaceRect()
nsBandTrapezoid* trapezoid = &data[i]; nsBandTrapezoid* trapezoid = &data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -66,14 +66,14 @@ void nsBlockBandData::ComputeAvailSpaceRect()
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -91,13 +91,13 @@ void nsBlockBandData::ComputeAvailSpaceRect()
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availSpace.x = availSpace.XMost(); availSpace.x = availSpace.XMost();
} }
@ -179,10 +179,10 @@ nsresult nsBlockReflowState::RecoverState(nsLineData* aLine)
// If the previous line is a block, then factor in its bottom margin // If the previous line is a block, then factor in its bottom margin
if (prevLine->mIsBlock) { if (prevLine->mIsBlock) {
nsStyleSpacing* kidSpacing; const nsStyleSpacing* kidSpacing;
nsIFrame* kid = prevLine->mFirstChild; nsIFrame* kid = prevLine->mFirstChild;
kid->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)kidSpacing); kid->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)kidSpacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kid, kidMargin); kidSpacing->CalcMarginFor(kid, kidMargin);
if (kidMargin.bottom < 0) { if (kidMargin.bottom < 0) {
@ -511,7 +511,7 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
nsBandTrapezoid* trapezoid = &trapezoids[i]; nsBandTrapezoid* trapezoid = &trapezoids[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -520,14 +520,14 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -545,13 +545,13 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availBand.x = availBand.XMost(); availBand.x = availBand.XMost();
} }
@ -692,7 +692,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
nsRect tmp; nsRect tmp;
PRInt32 i; PRInt32 i;
for (i = 0; i < aState.mCurrentBand.count; i++) { for (i = 0; i < aState.mCurrentBand.count; i++) {
nsStyleDisplay* display; const nsStyleDisplay* display;
nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i]; nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
@ -700,7 +700,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
NS_ASSERTION(numFrames > 0, "bad trapezoid frame list"); NS_ASSERTION(numFrames > 0, "bad trapezoid frame list");
for (fn = 0; fn < numFrames; fn++) { for (fn = 0; fn < numFrames; fn++) {
nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn); nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
@ -728,7 +728,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
} }
else { else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, trapezoid->frame->GetStyleData(eStyleStruct_Display,
(nsStyleStruct*&)display); (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
if ((NS_STYLE_CLEAR_LEFT == aBreakType) || if ((NS_STYLE_CLEAR_LEFT == aBreakType) ||
@ -1228,10 +1228,10 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Apply border and padding adjustments for regular frames only // Apply border and padding adjustments for regular frames only
if (!aState.mBlockIsPseudo) { if (!aState.mBlockIsPseudo) {
nsStyleSpacing* mySpacing = (nsStyleSpacing*) const nsStyleSpacing* mySpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStylePosition* myPosition = (nsStylePosition*) const nsStylePosition* myPosition = (const nsStylePosition*)
mStyleContext->GetData(eStyleStruct_Position); mStyleContext->GetStyleData(eStyleStruct_Position);
mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding); mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding);
aState.mY = aState.mBorderPadding.top; aState.mY = aState.mBorderPadding.top;
@ -1287,11 +1287,11 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Setup list flags in block reflow state if this block is a list // Setup list flags in block reflow state if this block is a list
// item. // item.
nsStyleDisplay* myDisplay = (nsStyleDisplay*) const nsStyleDisplay* myDisplay = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) { if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) {
nsStyleList* myList = (nsStyleList*) const nsStyleList* myList = (const nsStyleList*)
mStyleContext->GetData(eStyleStruct_List); mStyleContext->GetStyleData(eStyleStruct_List);
if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) { if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) {
aState.mListPositionOutside = PR_TRUE; aState.mListPositionOutside = PR_TRUE;
} }
@ -1774,8 +1774,8 @@ nsBlockFrame::PlaceFloater(nsIPresContext* aPresContext,
nsISpaceManager* sm = aState.mSpaceManager; nsISpaceManager* sm = aState.mSpaceManager;
// Get the type of floater // Get the type of floater
nsStyleDisplay* floaterDisplay; const nsStyleDisplay* floaterDisplay;
aFloater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)floaterDisplay); aFloater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)floaterDisplay);
// Commit some space in the space manager, and adjust our current // Commit some space in the space manager, and adjust our current
// band of available space. // band of available space.
@ -1833,8 +1833,8 @@ nsBlockFrame::PlaceBelowCurrentLineFloaters(nsBlockReflowState& aState,
GetAvailableSpace(aState, aY); GetAvailableSpace(aState, aY);
// Get the type of floater // Get the type of floater
nsStyleDisplay* sd; const nsStyleDisplay* sd;
floater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)sd); floater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)sd);
floater->GetRect(region); floater->GetRect(region);
// XXX GetAvailableSpace() is translating availSpace by aState.mY... // XXX GetAvailableSpace() is translating availSpace by aState.mY...

Просмотреть файл

@ -57,7 +57,7 @@ void nsBlockBandData::ComputeAvailSpaceRect()
nsBandTrapezoid* trapezoid = &data[i]; nsBandTrapezoid* trapezoid = &data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -66,14 +66,14 @@ void nsBlockBandData::ComputeAvailSpaceRect()
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -91,13 +91,13 @@ void nsBlockBandData::ComputeAvailSpaceRect()
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availSpace.x = availSpace.XMost(); availSpace.x = availSpace.XMost();
} }
@ -179,10 +179,10 @@ nsresult nsBlockReflowState::RecoverState(nsLineData* aLine)
// If the previous line is a block, then factor in its bottom margin // If the previous line is a block, then factor in its bottom margin
if (prevLine->mIsBlock) { if (prevLine->mIsBlock) {
nsStyleSpacing* kidSpacing; const nsStyleSpacing* kidSpacing;
nsIFrame* kid = prevLine->mFirstChild; nsIFrame* kid = prevLine->mFirstChild;
kid->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)kidSpacing); kid->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)kidSpacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kid, kidMargin); kidSpacing->CalcMarginFor(kid, kidMargin);
if (kidMargin.bottom < 0) { if (kidMargin.bottom < 0) {
@ -511,7 +511,7 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
nsBandTrapezoid* trapezoid = &trapezoids[i]; nsBandTrapezoid* trapezoid = &trapezoids[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -520,14 +520,14 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -545,13 +545,13 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availBand.x = availBand.XMost(); availBand.x = availBand.XMost();
} }
@ -692,7 +692,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
nsRect tmp; nsRect tmp;
PRInt32 i; PRInt32 i;
for (i = 0; i < aState.mCurrentBand.count; i++) { for (i = 0; i < aState.mCurrentBand.count; i++) {
nsStyleDisplay* display; const nsStyleDisplay* display;
nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i]; nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
@ -700,7 +700,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
NS_ASSERTION(numFrames > 0, "bad trapezoid frame list"); NS_ASSERTION(numFrames > 0, "bad trapezoid frame list");
for (fn = 0; fn < numFrames; fn++) { for (fn = 0; fn < numFrames; fn++) {
nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn); nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
@ -728,7 +728,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
} }
else { else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, trapezoid->frame->GetStyleData(eStyleStruct_Display,
(nsStyleStruct*&)display); (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
if ((NS_STYLE_CLEAR_LEFT == aBreakType) || if ((NS_STYLE_CLEAR_LEFT == aBreakType) ||
@ -1228,10 +1228,10 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Apply border and padding adjustments for regular frames only // Apply border and padding adjustments for regular frames only
if (!aState.mBlockIsPseudo) { if (!aState.mBlockIsPseudo) {
nsStyleSpacing* mySpacing = (nsStyleSpacing*) const nsStyleSpacing* mySpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStylePosition* myPosition = (nsStylePosition*) const nsStylePosition* myPosition = (const nsStylePosition*)
mStyleContext->GetData(eStyleStruct_Position); mStyleContext->GetStyleData(eStyleStruct_Position);
mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding); mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding);
aState.mY = aState.mBorderPadding.top; aState.mY = aState.mBorderPadding.top;
@ -1287,11 +1287,11 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Setup list flags in block reflow state if this block is a list // Setup list flags in block reflow state if this block is a list
// item. // item.
nsStyleDisplay* myDisplay = (nsStyleDisplay*) const nsStyleDisplay* myDisplay = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) { if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) {
nsStyleList* myList = (nsStyleList*) const nsStyleList* myList = (const nsStyleList*)
mStyleContext->GetData(eStyleStruct_List); mStyleContext->GetStyleData(eStyleStruct_List);
if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) { if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) {
aState.mListPositionOutside = PR_TRUE; aState.mListPositionOutside = PR_TRUE;
} }
@ -1774,8 +1774,8 @@ nsBlockFrame::PlaceFloater(nsIPresContext* aPresContext,
nsISpaceManager* sm = aState.mSpaceManager; nsISpaceManager* sm = aState.mSpaceManager;
// Get the type of floater // Get the type of floater
nsStyleDisplay* floaterDisplay; const nsStyleDisplay* floaterDisplay;
aFloater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)floaterDisplay); aFloater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)floaterDisplay);
// Commit some space in the space manager, and adjust our current // Commit some space in the space manager, and adjust our current
// band of available space. // band of available space.
@ -1833,8 +1833,8 @@ nsBlockFrame::PlaceBelowCurrentLineFloaters(nsBlockReflowState& aState,
GetAvailableSpace(aState, aY); GetAvailableSpace(aState, aY);
// Get the type of floater // Get the type of floater
nsStyleDisplay* sd; const nsStyleDisplay* sd;
floater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)sd); floater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)sd);
floater->GetRect(region); floater->GetRect(region);
// XXX GetAvailableSpace() is translating availSpace by aState.mY... // XXX GetAvailableSpace() is translating availSpace by aState.mY...

Просмотреть файл

@ -57,15 +57,15 @@ NS_METHOD nsHTMLContainerFrame::Paint(nsIPresContext& aPresContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
// Paint our background and border // Paint our background and border
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible && mRect.width && mRect.height) { if (disp->mVisible && mRect.width && mRect.height) {
PRIntn skipSides = GetSkipSides(); PRIntn skipSides = GetSkipSides();
nsStyleColor* color = const nsStyleColor* color =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, this, nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, this,
aDirtyRect, mRect, *color); aDirtyRect, mRect, *color);
nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this, nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this,
@ -191,8 +191,8 @@ NS_METHOD nsHTMLContainerFrame::GetCursorAt(nsIPresContext& aPresContext,
PRInt32& aCursor) PRInt32& aCursor)
{ {
// Get my cursor // Get my cursor
nsStyleColor* styleColor = (nsStyleColor*) const nsStyleColor* styleColor = (const nsStyleColor*)
mStyleContext->GetData(eStyleStruct_Color); mStyleContext->GetStyleData(eStyleStruct_Color);
PRInt32 myCursor = styleColor->mCursor; PRInt32 myCursor = styleColor->mCursor;
// Get child's cursor, if any // Get child's cursor, if any
@ -297,11 +297,11 @@ nsHTMLContainerFrame::CreateFrameFor(nsIPresContext* aPresContext,
nsIFrame*& aResult) nsIFrame*& aResult)
{ {
// Get the style data for the frame // Get the style data for the frame
nsStylePosition* position = (nsStylePosition*) const nsStylePosition* position = (const nsStylePosition*)
aStyleContext->GetData(eStyleStruct_Position); aStyleContext->GetStyleData(eStyleStruct_Position);
nsStyleDisplay* display = (nsStyleDisplay*) const nsStyleDisplay* display = (const nsStyleDisplay*)
aStyleContext->GetData(eStyleStruct_Display); aStyleContext->GetStyleData(eStyleStruct_Display);
nsIFrame* frame = nsnull; nsIFrame* frame = nsnull;
// See whether it wants any special handling // See whether it wants any special handling
nsresult rv; nsresult rv;
@ -448,8 +448,8 @@ NS_METHOD nsHTMLContainerFrame::ContentInserted(nsIPresShell* aShell,
nsresult nsresult
nsHTMLContainerFrame::ProcessInitialReflow(nsIPresContext* aPresContext) nsHTMLContainerFrame::ProcessInitialReflow(nsIPresContext* aPresContext)
{ {
nsStyleDisplay* display = (nsStyleDisplay*) const nsStyleDisplay* display = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS, NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
("nsHTMLContainerFrame::ProcessInitialReflow: display=%d", ("nsHTMLContainerFrame::ProcessInitialReflow: display=%d",
display->mDisplay)); display->mDisplay));

Просмотреть файл

@ -1,125 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsHTMLFrame.h"
#include "nsFrame.h"
#include "nsIStyleContext.h"
#include "nsStyleConsts.h"
#include "nsViewsCID.h"
#include "nsIView.h"
#include "nsIViewManager.h"
nsresult
nsHTMLFrame::CreateViewForFrame(nsIPresContext* aPresContext,
nsIFrame* aFrame,
nsIStyleContext* aStyleContext,
PRBool aForce)
{
nsIView* view;
aFrame->GetView(view);
if (nsnull == view) {
// We don't yet have a view; see if we need a view
PRBool scrollView = PR_FALSE;
// See if the opacity is not the same as the geometric parent
// frames opacity.
if (!aForce) {
nsIFrame* parent;
aFrame->GetGeometricParent(parent);
if (nsnull != parent) {
// Get my nsStyleColor
nsStyleColor* myColor = (nsStyleColor*)
aStyleContext->GetData(eStyleStruct_Color);
// Get parent's nsStyleColor
nsIStyleContext* parentSC;
parent->GetStyleContext(aPresContext, parentSC);
nsStyleColor* parentColor = (nsStyleColor*)
parentSC->GetData(eStyleStruct_Color);
// If the opacities are different then I need a view
if (myColor->mOpacity != parentColor->mOpacity) {
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
("nsHTMLFrame::CreateViewForFrame: frame=%p opacity=%g parentOpacity=%g",
aFrame, myColor->mOpacity, parentColor->mOpacity));
aForce = PR_TRUE;
}
NS_RELEASE(parentSC);
}
}
// See if the frame is being relatively positioned
if (!aForce) {
nsStylePosition* position = (nsStylePosition*)
aStyleContext->GetData(eStyleStruct_Position);
if (NS_STYLE_POSITION_RELATIVE == position->mPosition) {
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
("nsHTMLFrame::CreateViewForFrame: frame=%p relatively positioned",
aFrame));
aForce = PR_TRUE;
}
}
if (aForce) {
// Create a view
nsIFrame* parent;
nsIView* view;
aFrame->GetParentWithView(parent);
NS_ASSERTION(parent, "GetParentWithView failed");
nsIView* parView;
parent->GetView(parView);
NS_ASSERTION(parView, "no parent with view");
// Create a view
static NS_DEFINE_IID(kViewCID, NS_VIEW_CID);
static NS_DEFINE_IID(kIViewIID, NS_IVIEW_IID);
nsresult result = NSRepository::CreateInstance(kViewCID,
nsnull,
kIViewIID,
(void **)&view);
if (NS_OK == result) {
nsIView* rootView = parView;
nsIViewManager* viewManager = rootView->GetViewManager();
// Initialize the view
NS_ASSERTION(nsnull != viewManager, "null view manager");
nsRect bounds;
aFrame->GetRect(bounds);
view->Init(viewManager, bounds, rootView);
viewManager->InsertChild(rootView, view, 0);
NS_RELEASE(viewManager);
}
// Remember our view
aFrame->SetView(view);
NS_RELEASE(view);
NS_RELEASE(parView);
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
("nsHTMLFrame::CreateViewForFrame: frame=%p view=%p",
aFrame));
return result;
}
}
return NS_OK;
}

Просмотреть файл

@ -53,7 +53,7 @@ NS_DEF_PTR(nsIContentDelegate);
class nsInlineState class nsInlineState
{ {
public: public:
nsStyleFont* font; // style font const nsStyleFont* font; // style font
nsMargin borderPadding; // inner margin nsMargin borderPadding; // inner margin
nsSize mStyleSize; nsSize mStyleSize;
PRIntn mStyleSizeFlags; PRIntn mStyleSizeFlags;
@ -73,7 +73,7 @@ public:
// Constructor // Constructor
nsInlineState(nsIPresContext* aPresContext, nsInlineState(nsIPresContext* aPresContext,
nsIFrame* aInlineFrame, nsIFrame* aInlineFrame,
nsStyleFont* aStyleFont, const nsStyleFont* aStyleFont,
const nsMargin& aBorderPadding, const nsMargin& aBorderPadding,
const nsReflowState& aReflowState, const nsReflowState& aReflowState,
nsSize* aMaxElementSize) nsSize* aMaxElementSize)
@ -681,10 +681,10 @@ nsInlineFrame::ReflowUnmappedChildren(nsIPresContext* aPresContext,
// Figure out how we should treat the child // Figure out how we should treat the child
nsIFrame* kidFrame; nsIFrame* kidFrame;
nsStyleDisplay* kidDisplay = const nsStyleDisplay* kidDisplay =
(nsStyleDisplay*)kidStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)kidStyleContext->GetStyleData(eStyleStruct_Display);
nsStylePosition* kidPosition = (nsStylePosition*) const nsStylePosition* kidPosition = (const nsStylePosition*)
kidStyleContext->GetData(eStyleStruct_Position); kidStyleContext->GetStyleData(eStyleStruct_Position);
// Check whether it wants to floated or absolutely positioned // Check whether it wants to floated or absolutely positioned
nsresult rv; nsresult rv;
@ -831,10 +831,10 @@ NS_METHOD nsInlineFrame::Reflow(nsIPresContext* aPresContext,
aStatus = NS_FRAME_COMPLETE; // initialize out parameter aStatus = NS_FRAME_COMPLETE; // initialize out parameter
// Get the style molecule // Get the style molecule
nsStyleFont* styleFont = (nsStyleFont*) const nsStyleFont* styleFont = (const nsStyleFont*)
mStyleContext->GetData(eStyleStruct_Font); mStyleContext->GetStyleData(eStyleStruct_Font);
nsStyleSpacing* styleSpacing = (nsStyleSpacing*) const nsStyleSpacing* styleSpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
// Check for an overflow list // Check for an overflow list
if (eReflowReason_Incremental != aReflowState.reason) { if (eReflowReason_Incremental != aReflowState.reason) {

Просмотреть файл

@ -32,14 +32,14 @@ NS_METHOD nsLeafFrame::Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
nsStyleColor* myColor = const nsStyleColor* myColor =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleSpacing* mySpacing = const nsStyleSpacing* mySpacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, this, nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, this,
aDirtyRect, mRect, *myColor); aDirtyRect, mRect, *myColor);
nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this, nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this,
@ -73,8 +73,8 @@ NS_METHOD nsLeafFrame::Reflow(nsIPresContext* aPresContext,
void nsLeafFrame::AddBordersAndPadding(nsIPresContext* aPresContext, void nsLeafFrame::AddBordersAndPadding(nsIPresContext* aPresContext,
nsReflowMetrics& aDesiredSize) nsReflowMetrics& aDesiredSize)
{ {
nsStyleSpacing* space = const nsStyleSpacing* space =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
space->CalcBorderPaddingFor(this, borderPadding); space->CalcBorderPaddingFor(this, borderPadding);
aDesiredSize.width += borderPadding.left + borderPadding.right; aDesiredSize.width += borderPadding.left + borderPadding.right;
@ -86,8 +86,8 @@ void nsLeafFrame::AddBordersAndPadding(nsIPresContext* aPresContext,
void nsLeafFrame::GetInnerArea(nsIPresContext* aPresContext, void nsLeafFrame::GetInnerArea(nsIPresContext* aPresContext,
nsRect& aInnerArea) const nsRect& aInnerArea) const
{ {
nsStyleSpacing* space = const nsStyleSpacing* space =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
space->CalcBorderPaddingFor(this, borderPadding); space->CalcBorderPaddingFor(this, borderPadding);
aInnerArea.x = borderPadding.left; aInnerArea.x = borderPadding.left;

Просмотреть файл

@ -113,8 +113,8 @@ nsLineData::Verify(PRBool aFinalCheck) const
nsIFrame* child = mFirstChild; nsIFrame* child = mFirstChild;
nsIStyleContext* sc; nsIStyleContext* sc;
child->GetStyleContext(nsnull, sc); child->GetStyleContext(nsnull, sc);
nsStyleDisplay* display = (nsStyleDisplay*) const nsStyleDisplay* display = (const nsStyleDisplay*)
sc->GetData(eStyleStruct_Display); sc->GetStyleData(eStyleStruct_Display);
NS_ASSERTION((NS_STYLE_DISPLAY_BLOCK == display->mDisplay) || NS_ASSERTION((NS_STYLE_DISPLAY_BLOCK == display->mDisplay) ||
(NS_STYLE_DISPLAY_LIST_ITEM == display->mDisplay), (NS_STYLE_DISPLAY_LIST_ITEM == display->mDisplay),
"bad mIsBlock state"); "bad mIsBlock state");
@ -492,15 +492,15 @@ nsLineLayout::ReflowMappedChild()
if (NS_OK != rv) { if (NS_OK != rv) {
return rv; return rv;
} }
nsStyleDisplay* kidDisplay = (nsStyleDisplay*) const nsStyleDisplay* kidDisplay = (const nsStyleDisplay*)
kidSC->GetData(eStyleStruct_Display); kidSC->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_FLOAT_NONE != kidDisplay->mFloats) { if (NS_STYLE_FLOAT_NONE != kidDisplay->mFloats) {
// XXX If it floats it needs to go through the normal path so that // XXX If it floats it needs to go through the normal path so that
// PlaceFloater is invoked. // PlaceFloater is invoked.
return ReflowChild(nsnull, PR_FALSE); return ReflowChild(nsnull, PR_FALSE);
} }
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
PRBool isBlock = PR_FALSE; PRBool isBlock = PR_FALSE;
switch (kidDisplay->mDisplay) { switch (kidDisplay->mDisplay) {
case NS_STYLE_DISPLAY_BLOCK: case NS_STYLE_DISPLAY_BLOCK:
@ -605,8 +605,8 @@ nsLineLayout::ReflowChild(nsReflowCommand* aReflowCommand,
// XXX absolute positioning // XXX absolute positioning
// XXX floating frames // XXX floating frames
// XXX break-before // XXX break-before
nsStyleDisplay * kidDisplay = (nsStyleDisplay*) const nsStyleDisplay * kidDisplay = (const nsStyleDisplay*)
kidSC->GetData(eStyleStruct_Display); kidSC->GetStyleData(eStyleStruct_Display);
PRBool isBlock = PR_FALSE; PRBool isBlock = PR_FALSE;
PRBool isFirstChild = PRBool(kidFrame == mLine->mFirstChild); PRBool isFirstChild = PRBool(kidFrame == mLine->mFirstChild);
switch (kidDisplay->mDisplay) { switch (kidDisplay->mDisplay) {
@ -640,8 +640,8 @@ nsLineLayout::ReflowChild(nsReflowCommand* aReflowCommand,
nsSize kidAvailSize; nsSize kidAvailSize;
kidAvailSize.width = availWidth; kidAvailSize.width = availWidth;
kidAvailSize.height = mMaxHeight; kidAvailSize.height = mMaxHeight;
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kidFrame, kidMargin); kidSpacing->CalcMarginFor(kidFrame, kidMargin);
if (!mUnconstrainedWidth) { if (!mUnconstrainedWidth) {
@ -734,8 +734,8 @@ nsLineLayout::ReflowChild(nsReflowCommand* aReflowCommand,
// Supply a default top margin // Supply a default top margin
nsIStyleContext* blockSC; nsIStyleContext* blockSC;
mBlock->GetStyleContext(mPresContext, blockSC); mBlock->GetStyleContext(mPresContext, blockSC);
nsStyleFont* styleFont = (nsStyleFont*) const nsStyleFont* styleFont = (const nsStyleFont*)
blockSC->GetData(eStyleStruct_Font); blockSC->GetStyleData(eStyleStruct_Font);
nsIFontMetrics* fm = mPresContext->GetMetricsFor(styleFont->mFont); nsIFontMetrics* fm = mPresContext->GetMetricsFor(styleFont->mFont);
mBlockReflowState.mPrevNegBottomMargin = 0; mBlockReflowState.mPrevNegBottomMargin = 0;
mBlockReflowState.mPrevPosBottomMargin = fm->GetHeight(); mBlockReflowState.mPrevPosBottomMargin = fm->GetHeight();
@ -780,8 +780,8 @@ nsLineLayout::ReflowChild(nsReflowCommand* aReflowCommand,
// ebina's engine uses the height of the font for the bottom margin. // ebina's engine uses the height of the font for the bottom margin.
nsIStyleContext* blockSC; nsIStyleContext* blockSC;
mBlock->GetStyleContext(mPresContext, blockSC); mBlock->GetStyleContext(mPresContext, blockSC);
nsStyleFont* styleFont = (nsStyleFont*) const nsStyleFont* styleFont = (const nsStyleFont*)
blockSC->GetData(eStyleStruct_Font); blockSC->GetStyleData(eStyleStruct_Font);
nsIFontMetrics* fm = mPresContext->GetMetricsFor(styleFont->mFont); nsIFontMetrics* fm = mPresContext->GetMetricsFor(styleFont->mFont);
mBlockReflowState.mPrevNegBottomMargin = 0; mBlockReflowState.mPrevNegBottomMargin = 0;
mBlockReflowState.mPrevPosBottomMargin = fm->GetHeight(); mBlockReflowState.mPrevPosBottomMargin = fm->GetHeight();
@ -943,8 +943,8 @@ nsLineLayout::PlaceChild(nsRect& kidRect,
// Compute gap between bullet and inner rect left edge // Compute gap between bullet and inner rect left edge
nsIStyleContext* blockCX; nsIStyleContext* blockCX;
mBlock->GetStyleContext(mPresContext, blockCX); mBlock->GetStyleContext(mPresContext, blockCX);
nsStyleFont* font = const nsStyleFont* font =
(nsStyleFont*)blockCX->GetData(eStyleStruct_Font); (const nsStyleFont*)blockCX->GetStyleData(eStyleStruct_Font);
NS_RELEASE(blockCX); NS_RELEASE(blockCX);
nsIFontMetrics* fm = mPresContext->GetMetricsFor(font->mFont); nsIFontMetrics* fm = mPresContext->GetMetricsFor(font->mFont);
nscoord kidAscent = fm->GetMaxAscent(); nscoord kidAscent = fm->GetMaxAscent();
@ -1262,7 +1262,7 @@ done:
//---------------------------------------------------------------------- //----------------------------------------------------------------------
static PRBool static PRBool
IsBlock(nsStyleDisplay* aDisplay) IsBlock(const nsStyleDisplay* aDisplay)
{ {
switch (aDisplay->mDisplay) { switch (aDisplay->mDisplay) {
case NS_STYLE_DISPLAY_BLOCK: case NS_STYLE_DISPLAY_BLOCK:
@ -1317,8 +1317,8 @@ nsLineLayout::PullUpChildren()
if (NS_OK != rv) { if (NS_OK != rv) {
return rv; return rv;
} }
nsStyleDisplay* kidDisplay = (nsStyleDisplay*) const nsStyleDisplay* kidDisplay = (const nsStyleDisplay*)
kidSC->GetData(eStyleStruct_Display); kidSC->GetStyleData(eStyleStruct_Display);
if (IsBlock(kidDisplay)) { if (IsBlock(kidDisplay)) {
if ((nsnull != mLine->mPrevLine) || (0 != mLine->mChildCount)) { if ((nsnull != mLine->mPrevLine) || (0 != mLine->mChildCount)) {
goto done; goto done;
@ -1422,10 +1422,10 @@ nsLineLayout::CreateFrameFor(nsIContent* aKid)
if (nsnull == kidSC) { if (nsnull == kidSC) {
return NS_ERROR_OUT_OF_MEMORY; return NS_ERROR_OUT_OF_MEMORY;
} }
nsStylePosition* kidPosition = (nsStylePosition*) const nsStylePosition* kidPosition = (const nsStylePosition*)
kidSC->GetData(eStyleStruct_Position); kidSC->GetStyleData(eStyleStruct_Position);
nsStyleDisplay* kidDisplay = (nsStyleDisplay*) const nsStyleDisplay* kidDisplay = (const nsStyleDisplay*)
kidSC->GetData(eStyleStruct_Display); kidSC->GetStyleData(eStyleStruct_Display);
// Check whether it wants to floated or absolutely positioned // Check whether it wants to floated or absolutely positioned
PRBool isBlock = PR_FALSE; PRBool isBlock = PR_FALSE;
@ -1671,12 +1671,12 @@ nsLineLayout::AlignChildren()
nsIStyleContextPtr blockSC; nsIStyleContextPtr blockSC;
mBlock->GetStyleContext(mPresContext, blockSC.AssignRef()); mBlock->GetStyleContext(mPresContext, blockSC.AssignRef());
nsStyleFont* blockFont = (nsStyleFont*) const nsStyleFont* blockFont = (const nsStyleFont*)
blockSC->GetData(eStyleStruct_Font); blockSC->GetStyleData(eStyleStruct_Font);
nsStyleText* blockText = (nsStyleText*) const nsStyleText* blockText = (const nsStyleText*)
blockSC->GetData(eStyleStruct_Text); blockSC->GetStyleData(eStyleStruct_Text);
nsStyleDisplay* blockDisplay = (nsStyleDisplay*) const nsStyleDisplay* blockDisplay = (const nsStyleDisplay*)
blockSC->GetData(eStyleStruct_Display); blockSC->GetStyleData(eStyleStruct_Display);
// First vertically align the children on the line; this will // First vertically align the children on the line; this will
// compute the actual line height for us. // compute the actual line height for us.

Просмотреть файл

@ -64,10 +64,10 @@ nsAbsoluteFrame::IsSplittable(nsSplittableType& aIsSplittable) const
return NS_OK; return NS_OK;
} }
nsIView* nsAbsoluteFrame::CreateView(nsIView* aContainingView, nsIView* nsAbsoluteFrame::CreateView(nsIView* aContainingView,
const nsRect& aRect, const nsRect& aRect,
nsStylePosition* aPosition, const nsStylePosition* aPosition,
nsStyleDisplay* aDisplay) const const nsStyleDisplay* aDisplay) const
{ {
nsIView* view; nsIView* view;
@ -158,9 +158,9 @@ void nsAbsoluteFrame::GetOffsetFromFrame(nsIFrame* aFrameTo, nsPoint& aOffset) c
} while ((nsnull != frame) && (frame != aFrameTo)); } while ((nsnull != frame) && (frame != aFrameTo));
} }
void nsAbsoluteFrame::ComputeViewBounds(nsIFrame* aContainingBlock, void nsAbsoluteFrame::ComputeViewBounds(nsIFrame* aContainingBlock,
nsStylePosition* aPosition, const nsStylePosition* aPosition,
nsRect& aRect) const nsRect& aRect) const
{ {
nsRect containingRect; nsRect containingRect;
@ -176,7 +176,7 @@ void nsAbsoluteFrame::ComputeViewBounds(nsIFrame* aContainingBlock,
// Compute the offset and size of the view based on the position properties // Compute the offset and size of the view based on the position properties
// and the inner rect of the containing block // and the inner rect of the containing block
nsStylePosition* position = (nsStylePosition*)mStyleContext->GetData(eStyleStruct_Position); const nsStylePosition* position = (const nsStylePosition*)mStyleContext->GetStyleData(eStyleStruct_Position);
// If either the left or top are 'auto' then get the offset of our frame from // If either the left or top are 'auto' then get the offset of our frame from
// the containing block // the containing block
@ -254,10 +254,10 @@ nsIFrame* nsAbsoluteFrame::GetContainingBlock() const
GetContentParent(result); GetContentParent(result);
while (nsnull != result) { while (nsnull != result) {
nsStylePosition* position; const nsStylePosition* position;
// Get the style data // Get the style data
result->GetStyleData(eStyleStruct_Position, (nsStyleStruct*&)position); result->GetStyleData(eStyleStruct_Position, (const nsStyleStruct*&)position);
if (position->mPosition == NS_STYLE_POSITION_ABSOLUTE) { if (position->mPosition == NS_STYLE_POSITION_ABSOLUTE) {
break; break;
@ -306,13 +306,13 @@ NS_METHOD nsAbsoluteFrame::Reflow(nsIPresContext* aPresContext,
nsIFrame* containingBlock = GetContainingBlock(); nsIFrame* containingBlock = GetContainingBlock();
// Use the position properties to determine the offset and size // Use the position properties to determine the offset and size
nsStylePosition* position = (nsStylePosition*)mStyleContext->GetData(eStyleStruct_Position); const nsStylePosition* position = (const nsStylePosition*)mStyleContext->GetStyleData(eStyleStruct_Position);
nsRect rect; nsRect rect;
ComputeViewBounds(containingBlock, position, rect); ComputeViewBounds(containingBlock, position, rect);
// Create a view for the frame // Create a view for the frame
nsStyleDisplay* display = (nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); const nsStyleDisplay* display = (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
nsIView* containingView; nsIView* containingView;
containingBlock->GetView(containingView); containingBlock->GetView(containingView);
nsIView* view = CreateView(containingView, rect, position, display); nsIView* view = CreateView(containingView, rect, position, display);

Просмотреть файл

@ -48,14 +48,14 @@ protected:
virtual ~nsAbsoluteFrame(); virtual ~nsAbsoluteFrame();
nsIView* CreateView(nsIView* aContainingView, nsIView* CreateView(nsIView* aContainingView,
const nsRect& aRect, const nsRect& aRect,
nsStylePosition* aPosition, const nsStylePosition* aPosition,
nsStyleDisplay* aDisplay) const; const nsStyleDisplay* aDisplay) const;
nsIFrame* GetContainingBlock() const; nsIFrame* GetContainingBlock() const;
void ComputeViewBounds(nsIFrame* aContainingBlock, void ComputeViewBounds(nsIFrame* aContainingBlock,
nsStylePosition* aPosition, const nsStylePosition* aPosition,
nsRect& aRect) const; nsRect& aRect) const;
void GetOffsetFromFrame(nsIFrame* aFrameTo, nsPoint& aOffset) const; void GetOffsetFromFrame(nsIFrame* aFrameTo, nsPoint& aOffset) const;
}; };

Просмотреть файл

@ -62,8 +62,8 @@ BRFrame::Paint(nsIPresContext& aPresContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
if (nsIFrame::GetShowFrameBorders()) { if (nsIFrame::GetShowFrameBorders()) {
nsStyleColor* color = (nsStyleColor*) const nsStyleColor* color = (const nsStyleColor*)
mStyleContext->GetData(eStyleStruct_Color); mStyleContext->GetStyleData(eStyleStruct_Color);
float p2t = aPresContext.GetPixelsToTwips(); float p2t = aPresContext.GetPixelsToTwips();
aRenderingContext.SetColor(color->mColor); aRenderingContext.SetColor(color->mColor);
aRenderingContext.FillRect(0, 0, nscoord(5 * p2t), mRect.height); aRenderingContext.FillRect(0, 0, nscoord(5 * p2t), mRect.height);
@ -81,8 +81,8 @@ BRFrame::GetReflowMetrics(nsIPresContext* aPresContext,
} }
// We have no width, but we're the height of the default font // We have no width, but we're the height of the default font
nsStyleFont* font = const nsStyleFont* font =
(nsStyleFont*)mStyleContext->GetData(eStyleStruct_Font); (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);
nsIFontMetrics* fm = aPresContext->GetMetricsFor(font->mFont); nsIFontMetrics* fm = aPresContext->GetMetricsFor(font->mFont);
aMetrics.width = 0; aMetrics.width = 0;
@ -105,8 +105,8 @@ BRFrame::GetReflowMetrics(nsIPresContext* aPresContext,
if (nsnull != lineLayoutState) { if (nsnull != lineLayoutState) {
lineLayoutState->mReflowResult = lineLayoutState->mReflowResult =
NS_LINE_LAYOUT_REFLOW_RESULT_BREAK_AFTER; NS_LINE_LAYOUT_REFLOW_RESULT_BREAK_AFTER;
nsStyleDisplay* display = (nsStyleDisplay*) const nsStyleDisplay* display = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
lineLayoutState->mPendingBreak = display->mBreakType; lineLayoutState->mPendingBreak = display->mBreakType;
if (NS_STYLE_CLEAR_NONE == lineLayoutState->mPendingBreak) { if (NS_STYLE_CLEAR_NONE == lineLayoutState->mPendingBreak) {
lineLayoutState->mPendingBreak = NS_STYLE_CLEAR_LINE; lineLayoutState->mPendingBreak = NS_STYLE_CLEAR_LINE;
@ -134,8 +134,8 @@ BRFrame::Reflow(nsIPresContext* aPresContext,
if (nsnull != lineLayoutState) { if (nsnull != lineLayoutState) {
lineLayoutState->mReflowResult = lineLayoutState->mReflowResult =
NS_LINE_LAYOUT_REFLOW_RESULT_BREAK_AFTER; NS_LINE_LAYOUT_REFLOW_RESULT_BREAK_AFTER;
nsStyleDisplay* display = (nsStyleDisplay*) const nsStyleDisplay* display = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
lineLayoutState->mPendingBreak = display->mBreakType; lineLayoutState->mPendingBreak = display->mBreakType;
if (NS_STYLE_CLEAR_NONE == lineLayoutState->mPendingBreak) { if (NS_STYLE_CLEAR_NONE == lineLayoutState->mPendingBreak) {
lineLayoutState->mPendingBreak = NS_STYLE_CLEAR_LINE; lineLayoutState->mPendingBreak = NS_STYLE_CLEAR_LINE;
@ -218,7 +218,7 @@ BRPart::MapAttributesInto(nsIStyleContext* aContext,
{ {
if (nsnull != mAttributes) { if (nsnull != mAttributes) {
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
nsHTMLValue value; nsHTMLValue value;
GetAttribute(nsHTMLAtoms::clear, value); GetAttribute(nsHTMLAtoms::clear, value);
if (value.GetUnit() == eHTMLUnit_Enumerated) { if (value.GetUnit() == eHTMLUnit_Enumerated) {

Просмотреть файл

@ -57,7 +57,7 @@ void nsBlockBandData::ComputeAvailSpaceRect()
nsBandTrapezoid* trapezoid = &data[i]; nsBandTrapezoid* trapezoid = &data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -66,14 +66,14 @@ void nsBlockBandData::ComputeAvailSpaceRect()
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -91,13 +91,13 @@ void nsBlockBandData::ComputeAvailSpaceRect()
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availSpace.x = availSpace.XMost(); availSpace.x = availSpace.XMost();
} }
@ -179,10 +179,10 @@ nsresult nsBlockReflowState::RecoverState(nsLineData* aLine)
// If the previous line is a block, then factor in its bottom margin // If the previous line is a block, then factor in its bottom margin
if (prevLine->mIsBlock) { if (prevLine->mIsBlock) {
nsStyleSpacing* kidSpacing; const nsStyleSpacing* kidSpacing;
nsIFrame* kid = prevLine->mFirstChild; nsIFrame* kid = prevLine->mFirstChild;
kid->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)kidSpacing); kid->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)kidSpacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kid, kidMargin); kidSpacing->CalcMarginFor(kid, kidMargin);
if (kidMargin.bottom < 0) { if (kidMargin.bottom < 0) {
@ -511,7 +511,7 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
nsBandTrapezoid* trapezoid = &trapezoids[i]; nsBandTrapezoid* trapezoid = &trapezoids[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -520,14 +520,14 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -545,13 +545,13 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availBand.x = availBand.XMost(); availBand.x = availBand.XMost();
} }
@ -692,7 +692,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
nsRect tmp; nsRect tmp;
PRInt32 i; PRInt32 i;
for (i = 0; i < aState.mCurrentBand.count; i++) { for (i = 0; i < aState.mCurrentBand.count; i++) {
nsStyleDisplay* display; const nsStyleDisplay* display;
nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i]; nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
@ -700,7 +700,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
NS_ASSERTION(numFrames > 0, "bad trapezoid frame list"); NS_ASSERTION(numFrames > 0, "bad trapezoid frame list");
for (fn = 0; fn < numFrames; fn++) { for (fn = 0; fn < numFrames; fn++) {
nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn); nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
@ -728,7 +728,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
} }
else { else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, trapezoid->frame->GetStyleData(eStyleStruct_Display,
(nsStyleStruct*&)display); (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
if ((NS_STYLE_CLEAR_LEFT == aBreakType) || if ((NS_STYLE_CLEAR_LEFT == aBreakType) ||
@ -1228,10 +1228,10 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Apply border and padding adjustments for regular frames only // Apply border and padding adjustments for regular frames only
if (!aState.mBlockIsPseudo) { if (!aState.mBlockIsPseudo) {
nsStyleSpacing* mySpacing = (nsStyleSpacing*) const nsStyleSpacing* mySpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStylePosition* myPosition = (nsStylePosition*) const nsStylePosition* myPosition = (const nsStylePosition*)
mStyleContext->GetData(eStyleStruct_Position); mStyleContext->GetStyleData(eStyleStruct_Position);
mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding); mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding);
aState.mY = aState.mBorderPadding.top; aState.mY = aState.mBorderPadding.top;
@ -1287,11 +1287,11 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Setup list flags in block reflow state if this block is a list // Setup list flags in block reflow state if this block is a list
// item. // item.
nsStyleDisplay* myDisplay = (nsStyleDisplay*) const nsStyleDisplay* myDisplay = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) { if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) {
nsStyleList* myList = (nsStyleList*) const nsStyleList* myList = (const nsStyleList*)
mStyleContext->GetData(eStyleStruct_List); mStyleContext->GetStyleData(eStyleStruct_List);
if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) { if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) {
aState.mListPositionOutside = PR_TRUE; aState.mListPositionOutside = PR_TRUE;
} }
@ -1774,8 +1774,8 @@ nsBlockFrame::PlaceFloater(nsIPresContext* aPresContext,
nsISpaceManager* sm = aState.mSpaceManager; nsISpaceManager* sm = aState.mSpaceManager;
// Get the type of floater // Get the type of floater
nsStyleDisplay* floaterDisplay; const nsStyleDisplay* floaterDisplay;
aFloater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)floaterDisplay); aFloater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)floaterDisplay);
// Commit some space in the space manager, and adjust our current // Commit some space in the space manager, and adjust our current
// band of available space. // band of available space.
@ -1833,8 +1833,8 @@ nsBlockFrame::PlaceBelowCurrentLineFloaters(nsBlockReflowState& aState,
GetAvailableSpace(aState, aY); GetAvailableSpace(aState, aY);
// Get the type of floater // Get the type of floater
nsStyleDisplay* sd; const nsStyleDisplay* sd;
floater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)sd); floater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)sd);
floater->GetRect(region); floater->GetRect(region);
// XXX GetAvailableSpace() is translating availSpace by aState.mY... // XXX GetAvailableSpace() is translating availSpace by aState.mY...

Просмотреть файл

@ -57,7 +57,7 @@ void nsBlockBandData::ComputeAvailSpaceRect()
nsBandTrapezoid* trapezoid = &data[i]; nsBandTrapezoid* trapezoid = &data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -66,14 +66,14 @@ void nsBlockBandData::ComputeAvailSpaceRect()
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -91,13 +91,13 @@ void nsBlockBandData::ComputeAvailSpaceRect()
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availSpace.x = availSpace.XMost(); availSpace.x = availSpace.XMost();
} }
@ -179,10 +179,10 @@ nsresult nsBlockReflowState::RecoverState(nsLineData* aLine)
// If the previous line is a block, then factor in its bottom margin // If the previous line is a block, then factor in its bottom margin
if (prevLine->mIsBlock) { if (prevLine->mIsBlock) {
nsStyleSpacing* kidSpacing; const nsStyleSpacing* kidSpacing;
nsIFrame* kid = prevLine->mFirstChild; nsIFrame* kid = prevLine->mFirstChild;
kid->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)kidSpacing); kid->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)kidSpacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kid, kidMargin); kidSpacing->CalcMarginFor(kid, kidMargin);
if (kidMargin.bottom < 0) { if (kidMargin.bottom < 0) {
@ -511,7 +511,7 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
nsBandTrapezoid* trapezoid = &trapezoids[i]; nsBandTrapezoid* trapezoid = &trapezoids[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -520,14 +520,14 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -545,13 +545,13 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availBand.x = availBand.XMost(); availBand.x = availBand.XMost();
} }
@ -692,7 +692,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
nsRect tmp; nsRect tmp;
PRInt32 i; PRInt32 i;
for (i = 0; i < aState.mCurrentBand.count; i++) { for (i = 0; i < aState.mCurrentBand.count; i++) {
nsStyleDisplay* display; const nsStyleDisplay* display;
nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i]; nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
@ -700,7 +700,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
NS_ASSERTION(numFrames > 0, "bad trapezoid frame list"); NS_ASSERTION(numFrames > 0, "bad trapezoid frame list");
for (fn = 0; fn < numFrames; fn++) { for (fn = 0; fn < numFrames; fn++) {
nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn); nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
@ -728,7 +728,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
} }
else { else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, trapezoid->frame->GetStyleData(eStyleStruct_Display,
(nsStyleStruct*&)display); (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
if ((NS_STYLE_CLEAR_LEFT == aBreakType) || if ((NS_STYLE_CLEAR_LEFT == aBreakType) ||
@ -1228,10 +1228,10 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Apply border and padding adjustments for regular frames only // Apply border and padding adjustments for regular frames only
if (!aState.mBlockIsPseudo) { if (!aState.mBlockIsPseudo) {
nsStyleSpacing* mySpacing = (nsStyleSpacing*) const nsStyleSpacing* mySpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStylePosition* myPosition = (nsStylePosition*) const nsStylePosition* myPosition = (const nsStylePosition*)
mStyleContext->GetData(eStyleStruct_Position); mStyleContext->GetStyleData(eStyleStruct_Position);
mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding); mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding);
aState.mY = aState.mBorderPadding.top; aState.mY = aState.mBorderPadding.top;
@ -1287,11 +1287,11 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Setup list flags in block reflow state if this block is a list // Setup list flags in block reflow state if this block is a list
// item. // item.
nsStyleDisplay* myDisplay = (nsStyleDisplay*) const nsStyleDisplay* myDisplay = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) { if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) {
nsStyleList* myList = (nsStyleList*) const nsStyleList* myList = (const nsStyleList*)
mStyleContext->GetData(eStyleStruct_List); mStyleContext->GetStyleData(eStyleStruct_List);
if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) { if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) {
aState.mListPositionOutside = PR_TRUE; aState.mListPositionOutside = PR_TRUE;
} }
@ -1774,8 +1774,8 @@ nsBlockFrame::PlaceFloater(nsIPresContext* aPresContext,
nsISpaceManager* sm = aState.mSpaceManager; nsISpaceManager* sm = aState.mSpaceManager;
// Get the type of floater // Get the type of floater
nsStyleDisplay* floaterDisplay; const nsStyleDisplay* floaterDisplay;
aFloater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)floaterDisplay); aFloater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)floaterDisplay);
// Commit some space in the space manager, and adjust our current // Commit some space in the space manager, and adjust our current
// band of available space. // band of available space.
@ -1833,8 +1833,8 @@ nsBlockFrame::PlaceBelowCurrentLineFloaters(nsBlockReflowState& aState,
GetAvailableSpace(aState, aY); GetAvailableSpace(aState, aY);
// Get the type of floater // Get the type of floater
nsStyleDisplay* sd; const nsStyleDisplay* sd;
floater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)sd); floater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)sd);
floater->GetRect(region); floater->GetRect(region);
// XXX GetAvailableSpace() is translating availSpace by aState.mY... // XXX GetAvailableSpace() is translating availSpace by aState.mY...

Просмотреть файл

@ -57,7 +57,7 @@ void nsBlockBandData::ComputeAvailSpaceRect()
nsBandTrapezoid* trapezoid = &data[i]; nsBandTrapezoid* trapezoid = &data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -66,14 +66,14 @@ void nsBlockBandData::ComputeAvailSpaceRect()
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -91,13 +91,13 @@ void nsBlockBandData::ComputeAvailSpaceRect()
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availSpace); trapezoid->GetRect(availSpace);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availSpace.x = availSpace.XMost(); availSpace.x = availSpace.XMost();
} }
@ -179,10 +179,10 @@ nsresult nsBlockReflowState::RecoverState(nsLineData* aLine)
// If the previous line is a block, then factor in its bottom margin // If the previous line is a block, then factor in its bottom margin
if (prevLine->mIsBlock) { if (prevLine->mIsBlock) {
nsStyleSpacing* kidSpacing; const nsStyleSpacing* kidSpacing;
nsIFrame* kid = prevLine->mFirstChild; nsIFrame* kid = prevLine->mFirstChild;
kid->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)kidSpacing); kid->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)kidSpacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kid, kidMargin); kidSpacing->CalcMarginFor(kid, kidMargin);
if (kidMargin.bottom < 0) { if (kidMargin.bottom < 0) {
@ -511,7 +511,7 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
nsBandTrapezoid* trapezoid = &trapezoids[i]; nsBandTrapezoid* trapezoid = &trapezoids[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
nsStyleDisplay* display; const nsStyleDisplay* display;
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
PRInt32 numFrames = trapezoid->frames->Count(); PRInt32 numFrames = trapezoid->frames->Count();
@ -520,14 +520,14 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
for (PRInt32 i = 0; i < numFrames; i++) { for (PRInt32 i = 0; i < numFrames; i++) {
nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i); nsIFrame* f = (nsIFrame*)trapezoid->frames->ElementAt(i);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
goto foundRightFloater; goto foundRightFloater;
} }
} }
} else { } else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_RIGHT == display->mFloats) { if (NS_STYLE_FLOAT_RIGHT == display->mFloats) {
break; break;
} }
@ -545,13 +545,13 @@ nsBlockFrame::ReflowBlockChild(nsIFrame* aKidFrame,
// The trapezoid is available // The trapezoid is available
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
} else { } else {
nsStyleDisplay* display; const nsStyleDisplay* display;
// The trapezoid is occupied. That means there's no available space // The trapezoid is occupied. That means there's no available space
trapezoid->GetRect(availBand); trapezoid->GetRect(availBand);
// XXX Handle the case of multiple frames // XXX Handle the case of multiple frames
trapezoid->frame->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); trapezoid->frame->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
if (NS_STYLE_FLOAT_LEFT == display->mFloats) { if (NS_STYLE_FLOAT_LEFT == display->mFloats) {
availBand.x = availBand.XMost(); availBand.x = availBand.XMost();
} }
@ -692,7 +692,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
nsRect tmp; nsRect tmp;
PRInt32 i; PRInt32 i;
for (i = 0; i < aState.mCurrentBand.count; i++) { for (i = 0; i < aState.mCurrentBand.count; i++) {
nsStyleDisplay* display; const nsStyleDisplay* display;
nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i]; nsBandTrapezoid* trapezoid = &aState.mCurrentBand.data[i];
if (trapezoid->state != nsBandTrapezoid::Available) { if (trapezoid->state != nsBandTrapezoid::Available) {
if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) { if (nsBandTrapezoid::OccupiedMultiple == trapezoid->state) {
@ -700,7 +700,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
NS_ASSERTION(numFrames > 0, "bad trapezoid frame list"); NS_ASSERTION(numFrames > 0, "bad trapezoid frame list");
for (fn = 0; fn < numFrames; fn++) { for (fn = 0; fn < numFrames; fn++) {
nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn); nsIFrame* f = (nsIFrame*) trapezoid->frames->ElementAt(fn);
f->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)display); f->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
@ -728,7 +728,7 @@ nsBlockFrame::ClearFloaters(nsBlockReflowState& aState, PRUint8 aBreakType)
} }
else { else {
trapezoid->frame->GetStyleData(eStyleStruct_Display, trapezoid->frame->GetStyleData(eStyleStruct_Display,
(nsStyleStruct*&)display); (const nsStyleStruct*&)display);
switch (display->mFloats) { switch (display->mFloats) {
case NS_STYLE_FLOAT_LEFT: case NS_STYLE_FLOAT_LEFT:
if ((NS_STYLE_CLEAR_LEFT == aBreakType) || if ((NS_STYLE_CLEAR_LEFT == aBreakType) ||
@ -1228,10 +1228,10 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Apply border and padding adjustments for regular frames only // Apply border and padding adjustments for regular frames only
if (!aState.mBlockIsPseudo) { if (!aState.mBlockIsPseudo) {
nsStyleSpacing* mySpacing = (nsStyleSpacing*) const nsStyleSpacing* mySpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStylePosition* myPosition = (nsStylePosition*) const nsStylePosition* myPosition = (const nsStylePosition*)
mStyleContext->GetData(eStyleStruct_Position); mStyleContext->GetStyleData(eStyleStruct_Position);
mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding); mySpacing->CalcBorderPaddingFor(this, aState.mBorderPadding);
aState.mY = aState.mBorderPadding.top; aState.mY = aState.mBorderPadding.top;
@ -1287,11 +1287,11 @@ nsBlockFrame::InitializeState(nsIPresContext* aPresContext,
// Setup list flags in block reflow state if this block is a list // Setup list flags in block reflow state if this block is a list
// item. // item.
nsStyleDisplay* myDisplay = (nsStyleDisplay*) const nsStyleDisplay* myDisplay = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) { if (NS_STYLE_DISPLAY_LIST_ITEM == myDisplay->mDisplay) {
nsStyleList* myList = (nsStyleList*) const nsStyleList* myList = (const nsStyleList*)
mStyleContext->GetData(eStyleStruct_List); mStyleContext->GetStyleData(eStyleStruct_List);
if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) { if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == myList->mListStylePosition) {
aState.mListPositionOutside = PR_TRUE; aState.mListPositionOutside = PR_TRUE;
} }
@ -1774,8 +1774,8 @@ nsBlockFrame::PlaceFloater(nsIPresContext* aPresContext,
nsISpaceManager* sm = aState.mSpaceManager; nsISpaceManager* sm = aState.mSpaceManager;
// Get the type of floater // Get the type of floater
nsStyleDisplay* floaterDisplay; const nsStyleDisplay* floaterDisplay;
aFloater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)floaterDisplay); aFloater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)floaterDisplay);
// Commit some space in the space manager, and adjust our current // Commit some space in the space manager, and adjust our current
// band of available space. // band of available space.
@ -1833,8 +1833,8 @@ nsBlockFrame::PlaceBelowCurrentLineFloaters(nsBlockReflowState& aState,
GetAvailableSpace(aState, aY); GetAvailableSpace(aState, aY);
// Get the type of floater // Get the type of floater
nsStyleDisplay* sd; const nsStyleDisplay* sd;
floater->GetStyleData(eStyleStruct_Display, (nsStyleStruct*&)sd); floater->GetStyleData(eStyleStruct_Display, (const nsStyleStruct*&)sd);
floater->GetRect(region); floater->GetRect(region);
// XXX GetAvailableSpace() is translating availSpace by aState.mY... // XXX GetAvailableSpace() is translating availSpace by aState.mY...

Просмотреть файл

@ -189,8 +189,8 @@ NS_METHOD nsBodyFrame::Reflow(nsIPresContext* aPresContext,
// Reflow the child frame // Reflow the child frame
if (nsnull != mFirstChild) { if (nsnull != mFirstChild) {
// Get our border/padding info // Get our border/padding info
nsStyleSpacing* mySpacing = const nsStyleSpacing* mySpacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
mySpacing->CalcBorderPaddingFor(this, borderPadding); mySpacing->CalcBorderPaddingFor(this, borderPadding);

Просмотреть файл

@ -99,8 +99,8 @@ HRuleFrame::Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (PR_FALSE == disp->mVisible) { if (PR_FALSE == disp->mVisible) {
return NS_OK; return NS_OK;
} }
@ -109,12 +109,12 @@ HRuleFrame::Paint(nsIPresContext& aPresContext,
nscoord thickness = nscoord(p2t * ((HRulePart*)mContent)->GetThickness()); nscoord thickness = nscoord(p2t * ((HRulePart*)mContent)->GetThickness());
// Get style data // Get style data
nsStyleSpacing* spacing = (nsStyleSpacing*) const nsStyleSpacing* spacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStyleColor* color = (nsStyleColor*) const nsStyleColor* color = (const nsStyleColor*)
mStyleContext->GetData(eStyleStruct_Color); mStyleContext->GetStyleData(eStyleStruct_Color);
nsStylePosition* position = (nsStylePosition*) const nsStylePosition* position = (const nsStylePosition*)
mStyleContext->GetData(eStyleStruct_Position); mStyleContext->GetStyleData(eStyleStruct_Position);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
nscoord x0 = borderPadding.left; nscoord x0 = borderPadding.left;
@ -135,8 +135,8 @@ HRuleFrame::Paint(nsIPresContext& aPresContext,
} }
if (newWidth < width) { if (newWidth < width) {
// center or right align rule within the extra space // center or right align rule within the extra space
nsStyleText* text = const nsStyleText* text =
(nsStyleText*) mStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*) mStyleContext->GetStyleData(eStyleStruct_Text);
switch (text->mTextAlign) { switch (text->mTextAlign) {
case NS_STYLE_TEXT_ALIGN_RIGHT: case NS_STYLE_TEXT_ALIGN_RIGHT:
x0 += width - newWidth; x0 += width - newWidth;
@ -228,8 +228,8 @@ HRuleFrame::GetDesiredSize(nsIPresContext* aPresContext,
const nsReflowState& aReflowState, const nsReflowState& aReflowState,
nsReflowMetrics& aDesiredSize) nsReflowMetrics& aDesiredSize)
{ {
nsStylePosition* position = (nsStylePosition*) const nsStylePosition* position = (const nsStylePosition*)
mStyleContext->GetData(eStyleStruct_Position); mStyleContext->GetStyleData(eStyleStruct_Position);
if (position->mWidth.GetUnit() == eStyleUnit_Coord) { if (position->mWidth.GetUnit() == eStyleUnit_Coord) {
aDesiredSize.width = position->mWidth.GetCoordValue(); aDesiredSize.width = position->mWidth.GetCoordValue();
} }
@ -381,14 +381,14 @@ HRulePart::MapAttributesInto(nsIStyleContext* aContext,
// align: enum // align: enum
GetAttribute(nsHTMLAtoms::align, value); GetAttribute(nsHTMLAtoms::align, value);
if (value.GetUnit() == eHTMLUnit_Enumerated) { if (value.GetUnit() == eHTMLUnit_Enumerated) {
nsStyleText* text = (nsStyleText*)aContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*)aContext->GetMutableStyleData(eStyleStruct_Text);
text->mTextAlign = value.GetIntValue(); text->mTextAlign = value.GetIntValue();
} }
// width: pixel, percent // width: pixel, percent
float p2t = aPresContext->GetPixelsToTwips(); float p2t = aPresContext->GetPixelsToTwips();
nsStylePosition* pos = (nsStylePosition*) nsStylePosition* pos = (nsStylePosition*)
aContext->GetData(eStyleStruct_Position); aContext->GetMutableStyleData(eStyleStruct_Position);
GetAttribute(nsHTMLAtoms::width, value); GetAttribute(nsHTMLAtoms::width, value);
if (value.GetUnit() == eHTMLUnit_Pixel) { if (value.GetUnit() == eHTMLUnit_Pixel) {
nscoord twips = nscoord(p2t * value.GetPixelValue()); nscoord twips = nscoord(p2t * value.GetPixelValue());

Просмотреть файл

@ -79,10 +79,10 @@ protected:
*/ */
nsBlockReflowState* GetListContainerReflowState(nsIPresContext* aCX); nsBlockReflowState* GetListContainerReflowState(nsIPresContext* aCX);
PRInt32 GetListItemOrdinal(nsIPresContext* aCX, nsStyleList& aMol); PRInt32 GetListItemOrdinal(nsIPresContext* aCX, const nsStyleList& aMol);
void GetListItemText(nsIPresContext* aCX, nsString& aResult, void GetListItemText(nsIPresContext* aCX, nsString& aResult,
nsStyleList& aMol); const nsStyleList& aMol);
PRPackedBool mOrdinalValid; PRPackedBool mOrdinalValid;
PRInt32 mOrdinal; PRInt32 mOrdinal;
@ -102,7 +102,7 @@ Bullet::MapAttributesInto(nsIStyleContext* aContext,
{ {
// Force display to be inline (bullet's are not block level) // Force display to be inline (bullet's are not block level)
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
display->mDisplay = NS_STYLE_DISPLAY_INLINE; display->mDisplay = NS_STYLE_DISPLAY_INLINE;
} }
@ -193,12 +193,12 @@ BulletFrame::Paint(nsIPresContext& aCX,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
nsStyleList* myList = const nsStyleList* myList =
(nsStyleList*)mStyleContext->GetData(eStyleStruct_List); (const nsStyleList*)mStyleContext->GetStyleData(eStyleStruct_List);
if (myList->mListStyleImage.Length() > 0) { if (myList->mListStyleImage.Length() > 0) {
nsIImage* image = mImageLoader.GetImage(); nsIImage* image = mImageLoader.GetImage();
@ -217,10 +217,10 @@ BulletFrame::Paint(nsIPresContext& aCX,
} }
} }
nsStyleFont* myFont = const nsStyleFont* myFont =
(nsStyleFont*)mStyleContext->GetData(eStyleStruct_Font); (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);
nsStyleColor* myColor = const nsStyleColor* myColor =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsIFontMetrics* fm; nsIFontMetrics* fm;
aRenderingContext.SetColor(myColor->mColor); aRenderingContext.SetColor(myColor->mColor);
@ -332,7 +332,7 @@ BulletFrame::GetListContainerReflowState(nsIPresContext* aCX)
PRInt32 PRInt32
BulletFrame::GetListItemOrdinal(nsIPresContext* aCX, BulletFrame::GetListItemOrdinal(nsIPresContext* aCX,
nsStyleList& aListStyle) const nsStyleList& aListStyle)
{ {
if (mOrdinalValid) { if (mOrdinalValid) {
return mOrdinal; return mOrdinal;
@ -398,7 +398,7 @@ static const char* gUpperAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
void void
BulletFrame::GetListItemText(nsIPresContext* aCX, BulletFrame::GetListItemText(nsIPresContext* aCX,
nsString& result, nsString& result,
nsStyleList& aListStyle) const nsStyleList& aListStyle)
{ {
PRInt32 ordinal = GetListItemOrdinal(aCX, aListStyle); PRInt32 ordinal = GetListItemOrdinal(aCX, aListStyle);
char cbuf[40]; char cbuf[40];
@ -520,8 +520,8 @@ BulletFrame::GetDesiredSize(nsIPresContext* aCX,
const nsReflowState& aReflowState, const nsReflowState& aReflowState,
nsReflowMetrics& aDesiredSize) nsReflowMetrics& aDesiredSize)
{ {
nsStyleList* myList = const nsStyleList* myList =
(nsStyleList*)mStyleContext->GetData(eStyleStruct_List); (const nsStyleList*)mStyleContext->GetStyleData(eStyleStruct_List);
if (myList->mListStyleImage.Length() > 0) { if (myList->mListStyleImage.Length() > 0) {
mImageLoader.SetURL(myList->mListStyleImage); mImageLoader.SetURL(myList->mListStyleImage);
mImageLoader.GetDesiredSize(aCX, aReflowState, aDesiredSize); mImageLoader.GetDesiredSize(aCX, aReflowState, aDesiredSize);
@ -533,8 +533,8 @@ BulletFrame::GetDesiredSize(nsIPresContext* aCX,
} }
} }
nsStyleFont* myFont = const nsStyleFont* myFont =
(nsStyleFont*)mStyleContext->GetData(eStyleStruct_Font); (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);
nsIFontMetrics* fm = aCX->GetMetricsFor(myFont->mFont); nsIFontMetrics* fm = aCX->GetMetricsFor(myFont->mFont);
nscoord bulletSize; nscoord bulletSize;
float p2t; float p2t;

Просмотреть файл

@ -197,8 +197,8 @@ nsHTMLContainer::CreateFrame(nsIPresContext* aPresContext,
nsIStyleContext* aStyleContext, nsIStyleContext* aStyleContext,
nsIFrame*& aResult) nsIFrame*& aResult)
{ {
nsStyleDisplay* styleDisplay = const nsStyleDisplay* styleDisplay =
(nsStyleDisplay*) aStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*) aStyleContext->GetStyleData(eStyleStruct_Display);
// Use style to choose what kind of frame to create // Use style to choose what kind of frame to create
nsIFrame* frame = nsnull; nsIFrame* frame = nsnull;
@ -487,7 +487,7 @@ void nsHTMLContainer::MapAttributesInto(nsIStyleContext* aContext,
GetAttribute(nsHTMLAtoms::dir, value); GetAttribute(nsHTMLAtoms::dir, value);
if (value.GetUnit() == eHTMLUnit_Enumerated) { if (value.GetUnit() == eHTMLUnit_Enumerated) {
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
display->mDirection = value.GetIntValue(); display->mDirection = value.GetIntValue();
} }
@ -495,7 +495,7 @@ void nsHTMLContainer::MapAttributesInto(nsIStyleContext* aContext,
// align: enum // align: enum
GetAttribute(nsHTMLAtoms::align, value); GetAttribute(nsHTMLAtoms::align, value);
if (value.GetUnit() == eHTMLUnit_Enumerated) { if (value.GetUnit() == eHTMLUnit_Enumerated) {
nsStyleText* text = (nsStyleText*)aContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*)aContext->GetMutableStyleData(eStyleStruct_Text);
text->mTextAlign = value.GetIntValue(); text->mTextAlign = value.GetIntValue();
} }
} }
@ -507,11 +507,11 @@ void nsHTMLContainer::MapAttributesInto(nsIStyleContext* aContext,
} }
} }
else if (mTag == nsHTMLAtoms::font) { else if (mTag == nsHTMLAtoms::font) {
nsStyleFont* font = (nsStyleFont*)aContext->GetData(eStyleStruct_Font); nsStyleFont* font = (nsStyleFont*)aContext->GetMutableStyleData(eStyleStruct_Font);
nsStyleFont* parentFont = font; const nsStyleFont* parentFont = font;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentFont = (nsStyleFont*)parentContext->GetData(eStyleStruct_Font); parentFont = (const nsStyleFont*)parentContext->GetStyleData(eStyleStruct_Font);
} }
// face: string list // face: string list
@ -607,7 +607,7 @@ void nsHTMLContainer::MapAttributesInto(nsIStyleContext* aContext,
// color: color // color: color
GetAttribute(nsHTMLAtoms::color, value); GetAttribute(nsHTMLAtoms::color, value);
if (value.GetUnit() == eHTMLUnit_Color) { if (value.GetUnit() == eHTMLUnit_Color) {
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color); nsStyleColor* color = (nsStyleColor*)aContext->GetMutableStyleData(eStyleStruct_Color);
color->mColor = value.GetColorValue(); color->mColor = value.GetColorValue();
} }
else if (value.GetUnit() == eHTMLUnit_String) { else if (value.GetUnit() == eHTMLUnit_String) {
@ -616,7 +616,7 @@ void nsHTMLContainer::MapAttributesInto(nsIStyleContext* aContext,
char cbuf[40]; char cbuf[40];
buffer.ToCString(cbuf, sizeof(cbuf)); buffer.ToCString(cbuf, sizeof(cbuf));
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color); nsStyleColor* color = (nsStyleColor*)aContext->GetMutableStyleData(eStyleStruct_Color);
NS_ColorNameToRGB(cbuf, &(color->mColor)); NS_ColorNameToRGB(cbuf, &(color->mColor));
} }
@ -691,7 +691,7 @@ void nsHTMLContainer::MapAttributesInto(nsIStyleContext* aContext,
} }
} }
else if (mTag == nsHTMLAtoms::li) { else if (mTag == nsHTMLAtoms::li) {
nsStyleList* list = (nsStyleList*)aContext->GetData(eStyleStruct_List); nsStyleList* list = (nsStyleList*)aContext->GetMutableStyleData(eStyleStruct_List);
// type: enum // type: enum
GetAttribute(nsHTMLAtoms::type, value); GetAttribute(nsHTMLAtoms::type, value);
@ -701,7 +701,7 @@ void nsHTMLContainer::MapAttributesInto(nsIStyleContext* aContext,
} }
else if ((mTag == nsHTMLAtoms::ul) || (mTag == nsHTMLAtoms::ol) || else if ((mTag == nsHTMLAtoms::ul) || (mTag == nsHTMLAtoms::ol) ||
(mTag == nsHTMLAtoms::menu) || (mTag == nsHTMLAtoms::dir)) { (mTag == nsHTMLAtoms::menu) || (mTag == nsHTMLAtoms::dir)) {
nsStyleList* list = (nsStyleList*)aContext->GetData(eStyleStruct_List); nsStyleList* list = (nsStyleList*)aContext->GetMutableStyleData(eStyleStruct_List);
// type: enum // type: enum
GetAttribute(nsHTMLAtoms::type, value); GetAttribute(nsHTMLAtoms::type, value);
@ -752,7 +752,7 @@ nsHTMLContainer::MapBackgroundAttributesInto(nsIStyleContext* aContext,
if (nsnull != docURL) { if (nsnull != docURL) {
NS_RELEASE(docURL); NS_RELEASE(docURL);
} }
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color); nsStyleColor* color = (nsStyleColor*)aContext->GetMutableStyleData(eStyleStruct_Color);
color->mBackgroundImage = absURLSpec; color->mBackgroundImage = absURLSpec;
color->mBackgroundFlags &= ~NS_STYLE_BG_IMAGE_NONE; color->mBackgroundFlags &= ~NS_STYLE_BG_IMAGE_NONE;
color->mBackgroundRepeat = NS_STYLE_BG_REPEAT_XY; color->mBackgroundRepeat = NS_STYLE_BG_REPEAT_XY;
@ -762,7 +762,7 @@ nsHTMLContainer::MapBackgroundAttributesInto(nsIStyleContext* aContext,
// bgcolor // bgcolor
if (eContentAttr_HasValue == GetAttribute(nsHTMLAtoms::bgcolor, value)) { if (eContentAttr_HasValue == GetAttribute(nsHTMLAtoms::bgcolor, value)) {
if (eHTMLUnit_Color == value.GetUnit()) { if (eHTMLUnit_Color == value.GetUnit()) {
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color); nsStyleColor* color = (nsStyleColor*)aContext->GetMutableStyleData(eStyleStruct_Color);
color->mBackgroundColor = value.GetColorValue(); color->mBackgroundColor = value.GetColorValue();
color->mBackgroundFlags &= ~NS_STYLE_BG_COLOR_TRANSPARENT; color->mBackgroundFlags &= ~NS_STYLE_BG_COLOR_TRANSPARENT;
} }
@ -772,7 +772,7 @@ nsHTMLContainer::MapBackgroundAttributesInto(nsIStyleContext* aContext,
char cbuf[40]; char cbuf[40];
buffer.ToCString(cbuf, sizeof(cbuf)); buffer.ToCString(cbuf, sizeof(cbuf));
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color); nsStyleColor* color = (nsStyleColor*)aContext->GetMutableStyleData(eStyleStruct_Color);
NS_ColorNameToRGB(cbuf, &(color->mBackgroundColor)); NS_ColorNameToRGB(cbuf, &(color->mBackgroundColor));
color->mBackgroundFlags &= ~NS_STYLE_BG_COLOR_TRANSPARENT; color->mBackgroundFlags &= ~NS_STYLE_BG_COLOR_TRANSPARENT;
} }

Просмотреть файл

@ -57,15 +57,15 @@ NS_METHOD nsHTMLContainerFrame::Paint(nsIPresContext& aPresContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
// Paint our background and border // Paint our background and border
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible && mRect.width && mRect.height) { if (disp->mVisible && mRect.width && mRect.height) {
PRIntn skipSides = GetSkipSides(); PRIntn skipSides = GetSkipSides();
nsStyleColor* color = const nsStyleColor* color =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, this, nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, this,
aDirtyRect, mRect, *color); aDirtyRect, mRect, *color);
nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this, nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this,
@ -191,8 +191,8 @@ NS_METHOD nsHTMLContainerFrame::GetCursorAt(nsIPresContext& aPresContext,
PRInt32& aCursor) PRInt32& aCursor)
{ {
// Get my cursor // Get my cursor
nsStyleColor* styleColor = (nsStyleColor*) const nsStyleColor* styleColor = (const nsStyleColor*)
mStyleContext->GetData(eStyleStruct_Color); mStyleContext->GetStyleData(eStyleStruct_Color);
PRInt32 myCursor = styleColor->mCursor; PRInt32 myCursor = styleColor->mCursor;
// Get child's cursor, if any // Get child's cursor, if any
@ -297,11 +297,11 @@ nsHTMLContainerFrame::CreateFrameFor(nsIPresContext* aPresContext,
nsIFrame*& aResult) nsIFrame*& aResult)
{ {
// Get the style data for the frame // Get the style data for the frame
nsStylePosition* position = (nsStylePosition*) const nsStylePosition* position = (const nsStylePosition*)
aStyleContext->GetData(eStyleStruct_Position); aStyleContext->GetStyleData(eStyleStruct_Position);
nsStyleDisplay* display = (nsStyleDisplay*) const nsStyleDisplay* display = (const nsStyleDisplay*)
aStyleContext->GetData(eStyleStruct_Display); aStyleContext->GetStyleData(eStyleStruct_Display);
nsIFrame* frame = nsnull; nsIFrame* frame = nsnull;
// See whether it wants any special handling // See whether it wants any special handling
nsresult rv; nsresult rv;
@ -448,8 +448,8 @@ NS_METHOD nsHTMLContainerFrame::ContentInserted(nsIPresShell* aShell,
nsresult nsresult
nsHTMLContainerFrame::ProcessInitialReflow(nsIPresContext* aPresContext) nsHTMLContainerFrame::ProcessInitialReflow(nsIPresContext* aPresContext)
{ {
nsStyleDisplay* display = (nsStyleDisplay*) const nsStyleDisplay* display = (const nsStyleDisplay*)
mStyleContext->GetData(eStyleStruct_Display); mStyleContext->GetStyleData(eStyleStruct_Display);
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS, NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
("nsHTMLContainerFrame::ProcessInitialReflow: display=%d", ("nsHTMLContainerFrame::ProcessInitialReflow: display=%d",
display->mDisplay)); display->mDisplay));

Просмотреть файл

@ -1,125 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsHTMLFrame.h"
#include "nsFrame.h"
#include "nsIStyleContext.h"
#include "nsStyleConsts.h"
#include "nsViewsCID.h"
#include "nsIView.h"
#include "nsIViewManager.h"
nsresult
nsHTMLFrame::CreateViewForFrame(nsIPresContext* aPresContext,
nsIFrame* aFrame,
nsIStyleContext* aStyleContext,
PRBool aForce)
{
nsIView* view;
aFrame->GetView(view);
if (nsnull == view) {
// We don't yet have a view; see if we need a view
PRBool scrollView = PR_FALSE;
// See if the opacity is not the same as the geometric parent
// frames opacity.
if (!aForce) {
nsIFrame* parent;
aFrame->GetGeometricParent(parent);
if (nsnull != parent) {
// Get my nsStyleColor
nsStyleColor* myColor = (nsStyleColor*)
aStyleContext->GetData(eStyleStruct_Color);
// Get parent's nsStyleColor
nsIStyleContext* parentSC;
parent->GetStyleContext(aPresContext, parentSC);
nsStyleColor* parentColor = (nsStyleColor*)
parentSC->GetData(eStyleStruct_Color);
// If the opacities are different then I need a view
if (myColor->mOpacity != parentColor->mOpacity) {
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
("nsHTMLFrame::CreateViewForFrame: frame=%p opacity=%g parentOpacity=%g",
aFrame, myColor->mOpacity, parentColor->mOpacity));
aForce = PR_TRUE;
}
NS_RELEASE(parentSC);
}
}
// See if the frame is being relatively positioned
if (!aForce) {
nsStylePosition* position = (nsStylePosition*)
aStyleContext->GetData(eStyleStruct_Position);
if (NS_STYLE_POSITION_RELATIVE == position->mPosition) {
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
("nsHTMLFrame::CreateViewForFrame: frame=%p relatively positioned",
aFrame));
aForce = PR_TRUE;
}
}
if (aForce) {
// Create a view
nsIFrame* parent;
nsIView* view;
aFrame->GetParentWithView(parent);
NS_ASSERTION(parent, "GetParentWithView failed");
nsIView* parView;
parent->GetView(parView);
NS_ASSERTION(parView, "no parent with view");
// Create a view
static NS_DEFINE_IID(kViewCID, NS_VIEW_CID);
static NS_DEFINE_IID(kIViewIID, NS_IVIEW_IID);
nsresult result = NSRepository::CreateInstance(kViewCID,
nsnull,
kIViewIID,
(void **)&view);
if (NS_OK == result) {
nsIView* rootView = parView;
nsIViewManager* viewManager = rootView->GetViewManager();
// Initialize the view
NS_ASSERTION(nsnull != viewManager, "null view manager");
nsRect bounds;
aFrame->GetRect(bounds);
view->Init(viewManager, bounds, rootView);
viewManager->InsertChild(rootView, view, 0);
NS_RELEASE(viewManager);
}
// Remember our view
aFrame->SetView(view);
NS_RELEASE(view);
NS_RELEASE(parView);
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
("nsHTMLFrame::CreateViewForFrame: frame=%p view=%p",
aFrame));
return result;
}
}
return NS_OK;
}

Просмотреть файл

@ -360,8 +360,8 @@ ImageFrame::Paint(nsIPresContext& aPresContext,
return NS_OK; return NS_OK;
} }
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
// First paint background and borders // First paint background and borders
@ -528,8 +528,8 @@ ImageFrame::GetCursorAt(nsIPresContext& aPresContext,
// The default cursor is to have no cursor // The default cursor is to have no cursor
aCursor = NS_STYLE_CURSOR_INHERIT; aCursor = NS_STYLE_CURSOR_INHERIT;
nsStyleColor* styleColor = (nsStyleColor*) const nsStyleColor* styleColor = (const nsStyleColor*)
mStyleContext->GetData(eStyleStruct_Color); mStyleContext->GetStyleData(eStyleStruct_Color);
if (styleColor->mCursor != NS_STYLE_CURSOR_INHERIT) { if (styleColor->mCursor != NS_STYLE_CURSOR_INHERIT) {
// If we have a particular cursor, use it // If we have a particular cursor, use it
*aFrame = this; *aFrame = this;
@ -775,9 +775,9 @@ void ImagePart::MapAttributesInto(nsIStyleContext* aContext,
{ {
if (ALIGN_UNSET != mAlign) { if (ALIGN_UNSET != mAlign) {
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
nsStyleText* text = (nsStyleText*) nsStyleText* text = (nsStyleText*)
aContext->GetData(eStyleStruct_Text); aContext->GetMutableStyleData(eStyleStruct_Text);
switch (mAlign) { switch (mAlign) {
case NS_STYLE_TEXT_ALIGN_LEFT: case NS_STYLE_TEXT_ALIGN_LEFT:
display->mFloats = NS_STYLE_FLOAT_LEFT; display->mFloats = NS_STYLE_FLOAT_LEFT;

Просмотреть файл

@ -760,7 +760,7 @@ nsHTMLTagContent::MapImagePropertiesInto(nsIStyleContext* aContext,
float p2t = aPresContext->GetPixelsToTwips(); float p2t = aPresContext->GetPixelsToTwips();
nsStylePosition* pos = (nsStylePosition*) nsStylePosition* pos = (nsStylePosition*)
aContext->GetData(eStyleStruct_Position); aContext->GetMutableStyleData(eStyleStruct_Position);
// width: value // width: value
GetAttribute(nsHTMLAtoms::width, value); GetAttribute(nsHTMLAtoms::width, value);
@ -809,7 +809,7 @@ nsHTMLTagContent::MapImageBorderInto(nsIStyleContext* aContext,
// Fixup border-padding sums: subtract out the old size and then // Fixup border-padding sums: subtract out the old size and then
// add in the new size. // add in the new size.
nsStyleSpacing* spacing = (nsStyleSpacing*) nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetData(eStyleStruct_Spacing); aContext->GetMutableStyleData(eStyleStruct_Spacing);
nsStyleCoord coord; nsStyleCoord coord;
coord.SetCoordValue(twips); coord.SetCoordValue(twips);
spacing->mBorder.SetTop(coord); spacing->mBorder.SetTop(coord);
@ -831,8 +831,8 @@ nsHTMLTagContent::MapImageBorderInto(nsIStyleContext* aContext,
} }
else { else {
// Color is inherited from "color" // Color is inherited from "color"
nsStyleColor* styleColor = (nsStyleColor*) const nsStyleColor* styleColor = (const nsStyleColor*)
aContext->GetData(eStyleStruct_Color); aContext->GetStyleData(eStyleStruct_Color);
nscolor color = styleColor->mColor; nscolor color = styleColor->mColor;
spacing->mBorderColor[0] = color; spacing->mBorderColor[0] = color;
spacing->mBorderColor[1] = color; spacing->mBorderColor[1] = color;

Просмотреть файл

@ -53,7 +53,7 @@ NS_DEF_PTR(nsIContentDelegate);
class nsInlineState class nsInlineState
{ {
public: public:
nsStyleFont* font; // style font const nsStyleFont* font; // style font
nsMargin borderPadding; // inner margin nsMargin borderPadding; // inner margin
nsSize mStyleSize; nsSize mStyleSize;
PRIntn mStyleSizeFlags; PRIntn mStyleSizeFlags;
@ -73,7 +73,7 @@ public:
// Constructor // Constructor
nsInlineState(nsIPresContext* aPresContext, nsInlineState(nsIPresContext* aPresContext,
nsIFrame* aInlineFrame, nsIFrame* aInlineFrame,
nsStyleFont* aStyleFont, const nsStyleFont* aStyleFont,
const nsMargin& aBorderPadding, const nsMargin& aBorderPadding,
const nsReflowState& aReflowState, const nsReflowState& aReflowState,
nsSize* aMaxElementSize) nsSize* aMaxElementSize)
@ -681,10 +681,10 @@ nsInlineFrame::ReflowUnmappedChildren(nsIPresContext* aPresContext,
// Figure out how we should treat the child // Figure out how we should treat the child
nsIFrame* kidFrame; nsIFrame* kidFrame;
nsStyleDisplay* kidDisplay = const nsStyleDisplay* kidDisplay =
(nsStyleDisplay*)kidStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)kidStyleContext->GetStyleData(eStyleStruct_Display);
nsStylePosition* kidPosition = (nsStylePosition*) const nsStylePosition* kidPosition = (const nsStylePosition*)
kidStyleContext->GetData(eStyleStruct_Position); kidStyleContext->GetStyleData(eStyleStruct_Position);
// Check whether it wants to floated or absolutely positioned // Check whether it wants to floated or absolutely positioned
nsresult rv; nsresult rv;
@ -831,10 +831,10 @@ NS_METHOD nsInlineFrame::Reflow(nsIPresContext* aPresContext,
aStatus = NS_FRAME_COMPLETE; // initialize out parameter aStatus = NS_FRAME_COMPLETE; // initialize out parameter
// Get the style molecule // Get the style molecule
nsStyleFont* styleFont = (nsStyleFont*) const nsStyleFont* styleFont = (const nsStyleFont*)
mStyleContext->GetData(eStyleStruct_Font); mStyleContext->GetStyleData(eStyleStruct_Font);
nsStyleSpacing* styleSpacing = (nsStyleSpacing*) const nsStyleSpacing* styleSpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
// Check for an overflow list // Check for an overflow list
if (eReflowReason_Incremental != aReflowState.reason) { if (eReflowReason_Incremental != aReflowState.reason) {

Просмотреть файл

@ -32,14 +32,14 @@ NS_METHOD nsLeafFrame::Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
nsStyleColor* myColor = const nsStyleColor* myColor =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleSpacing* mySpacing = const nsStyleSpacing* mySpacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, this, nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, this,
aDirtyRect, mRect, *myColor); aDirtyRect, mRect, *myColor);
nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this, nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this,
@ -73,8 +73,8 @@ NS_METHOD nsLeafFrame::Reflow(nsIPresContext* aPresContext,
void nsLeafFrame::AddBordersAndPadding(nsIPresContext* aPresContext, void nsLeafFrame::AddBordersAndPadding(nsIPresContext* aPresContext,
nsReflowMetrics& aDesiredSize) nsReflowMetrics& aDesiredSize)
{ {
nsStyleSpacing* space = const nsStyleSpacing* space =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
space->CalcBorderPaddingFor(this, borderPadding); space->CalcBorderPaddingFor(this, borderPadding);
aDesiredSize.width += borderPadding.left + borderPadding.right; aDesiredSize.width += borderPadding.left + borderPadding.right;
@ -86,8 +86,8 @@ void nsLeafFrame::AddBordersAndPadding(nsIPresContext* aPresContext,
void nsLeafFrame::GetInnerArea(nsIPresContext* aPresContext, void nsLeafFrame::GetInnerArea(nsIPresContext* aPresContext,
nsRect& aInnerArea) const nsRect& aInnerArea) const
{ {
nsStyleSpacing* space = const nsStyleSpacing* space =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
space->CalcBorderPaddingFor(this, borderPadding); space->CalcBorderPaddingFor(this, borderPadding);
aInnerArea.x = borderPadding.left; aInnerArea.x = borderPadding.left;

Просмотреть файл

@ -113,8 +113,8 @@ nsLineData::Verify(PRBool aFinalCheck) const
nsIFrame* child = mFirstChild; nsIFrame* child = mFirstChild;
nsIStyleContext* sc; nsIStyleContext* sc;
child->GetStyleContext(nsnull, sc); child->GetStyleContext(nsnull, sc);
nsStyleDisplay* display = (nsStyleDisplay*) const nsStyleDisplay* display = (const nsStyleDisplay*)
sc->GetData(eStyleStruct_Display); sc->GetStyleData(eStyleStruct_Display);
NS_ASSERTION((NS_STYLE_DISPLAY_BLOCK == display->mDisplay) || NS_ASSERTION((NS_STYLE_DISPLAY_BLOCK == display->mDisplay) ||
(NS_STYLE_DISPLAY_LIST_ITEM == display->mDisplay), (NS_STYLE_DISPLAY_LIST_ITEM == display->mDisplay),
"bad mIsBlock state"); "bad mIsBlock state");
@ -492,15 +492,15 @@ nsLineLayout::ReflowMappedChild()
if (NS_OK != rv) { if (NS_OK != rv) {
return rv; return rv;
} }
nsStyleDisplay* kidDisplay = (nsStyleDisplay*) const nsStyleDisplay* kidDisplay = (const nsStyleDisplay*)
kidSC->GetData(eStyleStruct_Display); kidSC->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_FLOAT_NONE != kidDisplay->mFloats) { if (NS_STYLE_FLOAT_NONE != kidDisplay->mFloats) {
// XXX If it floats it needs to go through the normal path so that // XXX If it floats it needs to go through the normal path so that
// PlaceFloater is invoked. // PlaceFloater is invoked.
return ReflowChild(nsnull, PR_FALSE); return ReflowChild(nsnull, PR_FALSE);
} }
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
PRBool isBlock = PR_FALSE; PRBool isBlock = PR_FALSE;
switch (kidDisplay->mDisplay) { switch (kidDisplay->mDisplay) {
case NS_STYLE_DISPLAY_BLOCK: case NS_STYLE_DISPLAY_BLOCK:
@ -605,8 +605,8 @@ nsLineLayout::ReflowChild(nsReflowCommand* aReflowCommand,
// XXX absolute positioning // XXX absolute positioning
// XXX floating frames // XXX floating frames
// XXX break-before // XXX break-before
nsStyleDisplay * kidDisplay = (nsStyleDisplay*) const nsStyleDisplay * kidDisplay = (const nsStyleDisplay*)
kidSC->GetData(eStyleStruct_Display); kidSC->GetStyleData(eStyleStruct_Display);
PRBool isBlock = PR_FALSE; PRBool isBlock = PR_FALSE;
PRBool isFirstChild = PRBool(kidFrame == mLine->mFirstChild); PRBool isFirstChild = PRBool(kidFrame == mLine->mFirstChild);
switch (kidDisplay->mDisplay) { switch (kidDisplay->mDisplay) {
@ -640,8 +640,8 @@ nsLineLayout::ReflowChild(nsReflowCommand* aReflowCommand,
nsSize kidAvailSize; nsSize kidAvailSize;
kidAvailSize.width = availWidth; kidAvailSize.width = availWidth;
kidAvailSize.height = mMaxHeight; kidAvailSize.height = mMaxHeight;
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kidFrame, kidMargin); kidSpacing->CalcMarginFor(kidFrame, kidMargin);
if (!mUnconstrainedWidth) { if (!mUnconstrainedWidth) {
@ -734,8 +734,8 @@ nsLineLayout::ReflowChild(nsReflowCommand* aReflowCommand,
// Supply a default top margin // Supply a default top margin
nsIStyleContext* blockSC; nsIStyleContext* blockSC;
mBlock->GetStyleContext(mPresContext, blockSC); mBlock->GetStyleContext(mPresContext, blockSC);
nsStyleFont* styleFont = (nsStyleFont*) const nsStyleFont* styleFont = (const nsStyleFont*)
blockSC->GetData(eStyleStruct_Font); blockSC->GetStyleData(eStyleStruct_Font);
nsIFontMetrics* fm = mPresContext->GetMetricsFor(styleFont->mFont); nsIFontMetrics* fm = mPresContext->GetMetricsFor(styleFont->mFont);
mBlockReflowState.mPrevNegBottomMargin = 0; mBlockReflowState.mPrevNegBottomMargin = 0;
mBlockReflowState.mPrevPosBottomMargin = fm->GetHeight(); mBlockReflowState.mPrevPosBottomMargin = fm->GetHeight();
@ -780,8 +780,8 @@ nsLineLayout::ReflowChild(nsReflowCommand* aReflowCommand,
// ebina's engine uses the height of the font for the bottom margin. // ebina's engine uses the height of the font for the bottom margin.
nsIStyleContext* blockSC; nsIStyleContext* blockSC;
mBlock->GetStyleContext(mPresContext, blockSC); mBlock->GetStyleContext(mPresContext, blockSC);
nsStyleFont* styleFont = (nsStyleFont*) const nsStyleFont* styleFont = (const nsStyleFont*)
blockSC->GetData(eStyleStruct_Font); blockSC->GetStyleData(eStyleStruct_Font);
nsIFontMetrics* fm = mPresContext->GetMetricsFor(styleFont->mFont); nsIFontMetrics* fm = mPresContext->GetMetricsFor(styleFont->mFont);
mBlockReflowState.mPrevNegBottomMargin = 0; mBlockReflowState.mPrevNegBottomMargin = 0;
mBlockReflowState.mPrevPosBottomMargin = fm->GetHeight(); mBlockReflowState.mPrevPosBottomMargin = fm->GetHeight();
@ -943,8 +943,8 @@ nsLineLayout::PlaceChild(nsRect& kidRect,
// Compute gap between bullet and inner rect left edge // Compute gap between bullet and inner rect left edge
nsIStyleContext* blockCX; nsIStyleContext* blockCX;
mBlock->GetStyleContext(mPresContext, blockCX); mBlock->GetStyleContext(mPresContext, blockCX);
nsStyleFont* font = const nsStyleFont* font =
(nsStyleFont*)blockCX->GetData(eStyleStruct_Font); (const nsStyleFont*)blockCX->GetStyleData(eStyleStruct_Font);
NS_RELEASE(blockCX); NS_RELEASE(blockCX);
nsIFontMetrics* fm = mPresContext->GetMetricsFor(font->mFont); nsIFontMetrics* fm = mPresContext->GetMetricsFor(font->mFont);
nscoord kidAscent = fm->GetMaxAscent(); nscoord kidAscent = fm->GetMaxAscent();
@ -1262,7 +1262,7 @@ done:
//---------------------------------------------------------------------- //----------------------------------------------------------------------
static PRBool static PRBool
IsBlock(nsStyleDisplay* aDisplay) IsBlock(const nsStyleDisplay* aDisplay)
{ {
switch (aDisplay->mDisplay) { switch (aDisplay->mDisplay) {
case NS_STYLE_DISPLAY_BLOCK: case NS_STYLE_DISPLAY_BLOCK:
@ -1317,8 +1317,8 @@ nsLineLayout::PullUpChildren()
if (NS_OK != rv) { if (NS_OK != rv) {
return rv; return rv;
} }
nsStyleDisplay* kidDisplay = (nsStyleDisplay*) const nsStyleDisplay* kidDisplay = (const nsStyleDisplay*)
kidSC->GetData(eStyleStruct_Display); kidSC->GetStyleData(eStyleStruct_Display);
if (IsBlock(kidDisplay)) { if (IsBlock(kidDisplay)) {
if ((nsnull != mLine->mPrevLine) || (0 != mLine->mChildCount)) { if ((nsnull != mLine->mPrevLine) || (0 != mLine->mChildCount)) {
goto done; goto done;
@ -1422,10 +1422,10 @@ nsLineLayout::CreateFrameFor(nsIContent* aKid)
if (nsnull == kidSC) { if (nsnull == kidSC) {
return NS_ERROR_OUT_OF_MEMORY; return NS_ERROR_OUT_OF_MEMORY;
} }
nsStylePosition* kidPosition = (nsStylePosition*) const nsStylePosition* kidPosition = (const nsStylePosition*)
kidSC->GetData(eStyleStruct_Position); kidSC->GetStyleData(eStyleStruct_Position);
nsStyleDisplay* kidDisplay = (nsStyleDisplay*) const nsStyleDisplay* kidDisplay = (const nsStyleDisplay*)
kidSC->GetData(eStyleStruct_Display); kidSC->GetStyleData(eStyleStruct_Display);
// Check whether it wants to floated or absolutely positioned // Check whether it wants to floated or absolutely positioned
PRBool isBlock = PR_FALSE; PRBool isBlock = PR_FALSE;
@ -1671,12 +1671,12 @@ nsLineLayout::AlignChildren()
nsIStyleContextPtr blockSC; nsIStyleContextPtr blockSC;
mBlock->GetStyleContext(mPresContext, blockSC.AssignRef()); mBlock->GetStyleContext(mPresContext, blockSC.AssignRef());
nsStyleFont* blockFont = (nsStyleFont*) const nsStyleFont* blockFont = (const nsStyleFont*)
blockSC->GetData(eStyleStruct_Font); blockSC->GetStyleData(eStyleStruct_Font);
nsStyleText* blockText = (nsStyleText*) const nsStyleText* blockText = (const nsStyleText*)
blockSC->GetData(eStyleStruct_Text); blockSC->GetStyleData(eStyleStruct_Text);
nsStyleDisplay* blockDisplay = (nsStyleDisplay*) const nsStyleDisplay* blockDisplay = (const nsStyleDisplay*)
blockSC->GetData(eStyleStruct_Display); blockSC->GetStyleData(eStyleStruct_Display);
// First vertically align the children on the line; this will // First vertically align the children on the line; this will
// compute the actual line height for us. // compute the actual line height for us.

Просмотреть файл

@ -462,8 +462,8 @@ nsScrollOuterFrame::Reflow(nsIPresContext* aPresContext,
mChildCount = 1; mChildCount = 1;
} }
nsStyleSpacing* spacing = (nsStyleSpacing*) const nsStyleSpacing* spacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
nscoord lr = borderPadding.left + borderPadding.right; nscoord lr = borderPadding.left + borderPadding.right;

Просмотреть файл

@ -241,7 +241,7 @@ SpacerPart::MapAttributesInto(nsIStyleContext* aContext,
if (nsnull != mAttributes) { if (nsnull != mAttributes) {
nsHTMLValue value; nsHTMLValue value;
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
GetAttribute(nsHTMLAtoms::align, value); GetAttribute(nsHTMLAtoms::align, value);
if (eHTMLUnit_Enumerated == value.GetUnit()) { if (eHTMLUnit_Enumerated == value.GetUnit()) {
switch (value.GetIntValue()) { switch (value.GetIntValue()) {

Просмотреть файл

@ -175,7 +175,7 @@ protected:
nsReflowMetrics& aDesiredSize, nsReflowMetrics& aDesiredSize,
const nsSize& aMaxSize, const nsSize& aMaxSize,
nsSize* aMaxElementSize, nsSize* aMaxElementSize,
nsStyleFont& aFont, const nsStyleFont& aFont,
PRInt32 aStartingOffset, PRInt32 aStartingOffset,
nsLineLayout* aLineState); nsLineLayout* aLineState);
@ -183,8 +183,8 @@ protected:
nsReflowMetrics& aDesiredSize, nsReflowMetrics& aDesiredSize,
const nsSize& aMaxSize, const nsSize& aMaxSize,
nsSize* aMaxElementSize, nsSize* aMaxElementSize,
nsStyleFont& aFont, const nsStyleFont& aFont,
nsStyleText& aTextStyle, const nsStyleText& aTextStyle,
PRInt32 aStartingOffset, PRInt32 aStartingOffset,
nsLineLayout* aLineState); nsLineLayout* aLineState);
@ -431,15 +431,15 @@ NS_METHOD TextFrame::Paint(nsIPresContext& aPresContext,
return NS_OK; return NS_OK;
} }
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
// Get style data // Get style data
nsStyleColor* color = const nsStyleColor* color =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleFont* font = const nsStyleFont* font =
(nsStyleFont*)mStyleContext->GetData(eStyleStruct_Font); (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);
// Set font and color // Set font and color
aRenderingContext.SetColor(color->mColor); aRenderingContext.SetColor(color->mColor);
@ -558,11 +558,11 @@ void TextFrame::PaintRegularText(nsIPresContext& aPresContext,
// Render the text // Render the text
aRenderingContext.DrawString(s0, s - s0, dx, dy, mRect.width); aRenderingContext.DrawString(s0, s - s0, dx, dy, mRect.width);
nsStyleColor* color = (nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); const nsStyleColor* color = (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
aRenderingContext.SetColor(color->mColor); aRenderingContext.SetColor(color->mColor);
} else { } else {
// Render the text // Render the text
nsStyleColor* color = (nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); const nsStyleColor* color = (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
aRenderingContext.SetColor(color->mColor); aRenderingContext.SetColor(color->mColor);
aRenderingContext.DrawString(s0, s - s0, dx, dy, mRect.width); aRenderingContext.DrawString(s0, s - s0, dx, dy, mRect.width);
} }
@ -635,11 +635,11 @@ void TextFrame::PaintRegularText(nsIPresContext& aPresContext,
// Render the text // Render the text
aRenderingContext.DrawString(s0, s - s0, dx, dy, mRect.width); aRenderingContext.DrawString(s0, s - s0, dx, dy, mRect.width);
nsStyleColor* color = (nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); const nsStyleColor* color = (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
aRenderingContext.SetColor(color->mColor); aRenderingContext.SetColor(color->mColor);
} else { } else {
// Render the text // Render the text
nsStyleColor* color = (nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); const nsStyleColor* color = (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
aRenderingContext.SetColor(color->mColor); aRenderingContext.SetColor(color->mColor);
aRenderingContext.DrawString(s0, s - s0, dx, dy, mRect.width); aRenderingContext.DrawString(s0, s - s0, dx, dy, mRect.width);
} }
@ -741,8 +741,8 @@ NS_METHOD TextFrame::GetReflowMetrics(nsIPresContext* aCX,
aMetrics.width = mRect.width; aMetrics.width = mRect.width;
aMetrics.height = mRect.height; aMetrics.height = mRect.height;
nsStyleFont* font = const nsStyleFont* font =
(nsStyleFont*)mStyleContext->GetData(eStyleStruct_Font); (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);
nsIFontMetrics* fm = aCX->GetMetricsFor(font->mFont); nsIFontMetrics* fm = aCX->GetMetricsFor(font->mFont);
aMetrics.ascent = fm->GetMaxAscent(); aMetrics.ascent = fm->GetMaxAscent();
aMetrics.descent = fm->GetMaxDescent(); aMetrics.descent = fm->GetMaxDescent();
@ -786,8 +786,8 @@ NS_METHOD TextFrame::Reflow(nsIPresContext* aCX,
} }
} }
nsStyleFont* font = const nsStyleFont* font =
(nsStyleFont*)mStyleContext->GetData(eStyleStruct_Font); (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);
// Initialize mFlags (without destroying the TEXT_BLINK_ON bit) bits // Initialize mFlags (without destroying the TEXT_BLINK_ON bit) bits
// that are filled in by the reflow routines. // that are filled in by the reflow routines.
@ -799,8 +799,8 @@ NS_METHOD TextFrame::Reflow(nsIPresContext* aCX,
} }
} }
nsStyleText* text = const nsStyleText* text =
(nsStyleText*)mStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)mStyleContext->GetStyleData(eStyleStruct_Text);
if (NS_STYLE_WHITESPACE_PRE == text->mWhiteSpace) { if (NS_STYLE_WHITESPACE_PRE == text->mWhiteSpace) {
// Use a specialized routine for pre-formatted text // Use a specialized routine for pre-formatted text
@ -830,8 +830,8 @@ TextFrame::ReflowNormal(nsIPresContext* aCX,
nsReflowMetrics& aDesiredSize, nsReflowMetrics& aDesiredSize,
const nsSize& aMaxSize, const nsSize& aMaxSize,
nsSize* aMaxElementSize, nsSize* aMaxElementSize,
nsStyleFont& aFont, const nsStyleFont& aFont,
nsStyleText& aTextStyle, const nsStyleText& aTextStyle,
PRInt32 aStartingOffset, PRInt32 aStartingOffset,
nsLineLayout* aLineState) nsLineLayout* aLineState)
{ {
@ -1001,7 +1001,7 @@ TextFrame::ReflowPre(nsIPresContext* aCX,
nsReflowMetrics& aDesiredSize, nsReflowMetrics& aDesiredSize,
const nsSize& aMaxSize, const nsSize& aMaxSize,
nsSize* aMaxElementSize, nsSize* aMaxElementSize,
nsStyleFont& aFont, const nsStyleFont& aFont,
PRInt32 aStartingOffset, PRInt32 aStartingOffset,
nsLineLayout* aLineState) nsLineLayout* aLineState)
{ {
@ -1082,8 +1082,8 @@ NS_METHOD TextFrame::JustifyReflow(nsIPresContext* aCX, nscoord aAvailableSpace)
return NS_OK; return NS_OK;
} }
nsStyleFont* font = const nsStyleFont* font =
(nsStyleFont*)mStyleContext->GetData(eStyleStruct_Font); (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);
nsIFontMetrics* fm = aCX->GetMetricsFor(font->mFont); nsIFontMetrics* fm = aCX->GetMetricsFor(font->mFont);
PRInt32 spaceWidth = fm->GetWidth(' '); PRInt32 spaceWidth = fm->GetWidth(' ');
@ -1349,8 +1349,8 @@ void TextFrame::CalcCursorPosition(nsIPresContext& aCX,
nsIStyleContext * styleContext; nsIStyleContext * styleContext;
aNewFrame->GetStyleContext(&aCX, styleContext); aNewFrame->GetStyleContext(&aCX, styleContext);
nsStyleFont *font = (nsStyleFont*)styleContext->GetData(eStyleStruct_Font); const nsStyleFont *font = (const nsStyleFont*)styleContext->GetStyleData(eStyleStruct_Font);
nsStyleText *styleText = (nsStyleText*)styleContext->GetData(eStyleStruct_Text); const nsStyleText *styleText = (const nsStyleText*)styleContext->GetStyleData(eStyleStruct_Text);
NS_RELEASE(styleContext); NS_RELEASE(styleContext);
nsIFontMetrics* fm = aCX.GetMetricsFor(font->mFont); nsIFontMetrics* fm = aCX.GetMetricsFor(font->mFont);

Просмотреть файл

@ -92,9 +92,9 @@ void nsInput::MapAttributesInto(nsIStyleContext* aContext,
{ {
if (ALIGN_UNSET != mAlign) { if (ALIGN_UNSET != mAlign) {
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
nsStyleText* text = (nsStyleText*) nsStyleText* text = (nsStyleText*)
aContext->GetData(eStyleStruct_Text); aContext->GetMutableStyleData(eStyleStruct_Text);
switch (mAlign) { switch (mAlign) {
case NS_STYLE_TEXT_ALIGN_LEFT: case NS_STYLE_TEXT_ALIGN_LEFT:
display->mFloats = NS_STYLE_FLOAT_LEFT; display->mFloats = NS_STYLE_FLOAT_LEFT;

Просмотреть файл

@ -390,8 +390,8 @@ NS_METHOD nsInputButtonFrame::Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
// let super do processing if there is no image // let super do processing if there is no image

Просмотреть файл

@ -143,7 +143,7 @@ void nsInputCheckbox::MapAttributesInto(nsIStyleContext* aContext,
nscoord pad = (int)(3 * p2t + 0.5); nscoord pad = (int)(3 * p2t + 0.5);
// add left and right padding around the radio button via css // add left and right padding around the radio button via css
nsStyleSpacing* spacing = (nsStyleSpacing*) aContext->GetData(eStyleStruct_Spacing); nsStyleSpacing* spacing = (nsStyleSpacing*) aContext->GetMutableStyleData(eStyleStruct_Spacing);
if (eStyleUnit_Null == spacing->mMargin.GetLeftUnit()) { if (eStyleUnit_Null == spacing->mMargin.GetLeftUnit()) {
nsStyleCoord left(pad); nsStyleCoord left(pad);
spacing->mMargin.SetLeft(left); spacing->mMargin.SetLeft(left);

Просмотреть файл

@ -155,8 +155,8 @@ nsInputFrame::Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
// Make sure the widget is visible if it isn't currently visible // Make sure the widget is visible if it isn't currently visible
@ -451,7 +451,7 @@ nsInputFrame::GetTextSize(nsIPresContext& aPresContext, nsInputFrame* aFrame,
//printf("\n GetTextSize %s", aString.ToNewCString()); //printf("\n GetTextSize %s", aString.ToNewCString());
nsIStyleContext* styleContext; nsIStyleContext* styleContext;
aFrame->GetStyleContext(&aPresContext, styleContext); aFrame->GetStyleContext(&aPresContext, styleContext);
nsStyleFont* styleFont = (nsStyleFont*)styleContext->GetData(eStyleStruct_Font); const nsStyleFont* styleFont = (const nsStyleFont*)styleContext->GetStyleData(eStyleStruct_Font);
NS_RELEASE(styleContext); NS_RELEASE(styleContext);
nsIDeviceContext* deviceContext = aPresContext.GetDeviceContext(); nsIDeviceContext* deviceContext = aPresContext.GetDeviceContext();
nsIFontCache* fontCache = deviceContext->GetFontCache(); nsIFontCache* fontCache = deviceContext->GetFontCache();
@ -604,10 +604,10 @@ nsInputFrame::CalculateSize (nsIPresContext* aPresContext, nsInputFrame* aFrame,
} }
nsFont& const nsFont&
nsInputFrame::GetFont(nsIPresContext* aPresContext) nsInputFrame::GetFont(nsIPresContext* aPresContext)
{ {
nsStyleFont* styleFont = (nsStyleFont*)mStyleContext->GetData(eStyleStruct_Font); const nsStyleFont* styleFont = (const nsStyleFont*)mStyleContext->GetStyleData(eStyleStruct_Font);
return styleFont->mFont; return styleFont->mFont;
} }

Просмотреть файл

@ -206,7 +206,7 @@ protected:
nsReflowMetrics& aDesiredLayoutSize, nsReflowMetrics& aDesiredLayoutSize,
nsSize& aDesiredWidgetSize); nsSize& aDesiredWidgetSize);
nsFont& GetFont(nsIPresContext* aPresContext); const nsFont& GetFont(nsIPresContext* aPresContext);
/** /**
* Get the width and height of this control based on CSS * Get the width and height of this control based on CSS

Просмотреть файл

@ -130,7 +130,7 @@ void nsInputRadio::MapAttributesInto(nsIStyleContext* aContext,
nscoord pad = (int)(3 * p2t + 0.5); nscoord pad = (int)(3 * p2t + 0.5);
// add left and right padding around the radio button via css // add left and right padding around the radio button via css
nsStyleSpacing* spacing = (nsStyleSpacing*) aContext->GetData(eStyleStruct_Spacing); nsStyleSpacing* spacing = (nsStyleSpacing*) aContext->GetMutableStyleData(eStyleStruct_Spacing);
if (eStyleUnit_Null == spacing->mMargin.GetLeftUnit()) { if (eStyleUnit_Null == spacing->mMargin.GetLeftUnit()) {
nsStyleCoord left(pad); nsStyleCoord left(pad);
spacing->mMargin.SetLeft(left); spacing->mMargin.SetLeft(left);

Просмотреть файл

@ -40,7 +40,7 @@ NS_DEF_PTR(nsIContent);
nscoord nscoord
nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX, nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX,
nsIFrame* aContainer, nsIFrame* aContainer,
nsStyleFont* aContainerFont, const nsStyleFont* aContainerFont,
nscoord aY0, nscoord aY0,
nsIFrame* aFirstChild, nsIFrame* aFirstChild,
PRIntn aChildCount, PRIntn aChildCount,
@ -62,7 +62,7 @@ nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX,
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kid->GetStyleContext(aCX, kidSC.AssignRef()); kid->GetStyleContext(aCX, kidSC.AssignRef());
nsStyleText* textStyle = (nsStyleText*)kidSC->GetData(eStyleStruct_Text); const nsStyleText* textStyle = (const nsStyleText*)kidSC->GetStyleData(eStyleStruct_Text);
nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit(); nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit();
PRUint8 verticalAlignEnum = NS_STYLE_VERTICAL_ALIGN_BASELINE; PRUint8 verticalAlignEnum = NS_STYLE_VERTICAL_ALIGN_BASELINE;
@ -165,7 +165,7 @@ nsCSSLayout::VerticallyAlignChildren(nsIPresContext* aCX,
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kid->GetStyleContext(aCX, kidSC.AssignRef()); kid->GetStyleContext(aCX, kidSC.AssignRef());
nsStyleText* textStyle = (nsStyleText*)kidSC->GetData(eStyleStruct_Text); const nsStyleText* textStyle = (const nsStyleText*)kidSC->GetStyleData(eStyleStruct_Text);
nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit(); nsStyleUnit verticalAlignUnit = textStyle->mVerticalAlign.GetUnit();
if (eStyleUnit_Percent == verticalAlignUnit) { if (eStyleUnit_Percent == verticalAlignUnit) {
@ -264,8 +264,8 @@ nsCSSLayout::RelativePositionChildren(nsIPresContext* aCX,
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kid->GetStyleContext(aCX, kidSC.AssignRef()); kid->GetStyleContext(aCX, kidSC.AssignRef());
nsStylePosition* kidPosition = (nsStylePosition*) const nsStylePosition* kidPosition = (const nsStylePosition*)
kidSC->GetData(eStyleStruct_Position); kidSC->GetStyleData(eStyleStruct_Position);
if (NS_STYLE_POSITION_RELATIVE == kidPosition->mPosition) { if (NS_STYLE_POSITION_RELATIVE == kidPosition->mPosition) {
kid->GetOrigin(origin); kid->GetOrigin(origin);
// XXX Check the unit: could be auto or percent (not just length) // XXX Check the unit: could be auto or percent (not just length)
@ -282,8 +282,8 @@ nsCSSLayout::RelativePositionChildren(nsIPresContext* aCX,
static PRBool static PRBool
GetStyleDimension(nsIPresContext* aPresContext, GetStyleDimension(nsIPresContext* aPresContext,
const nsReflowState& aReflowState, const nsReflowState& aReflowState,
nsStylePosition* aStylePos, const nsStylePosition* aStylePos,
nsStyleCoord& aCoord, const nsStyleCoord& aCoord,
nscoord& aResult) nscoord& aResult)
{ {
PRBool rv = PR_FALSE; PRBool rv = PR_FALSE;
@ -341,8 +341,8 @@ nsCSSLayout::GetStyleSize(nsIPresContext* aPresContext,
nsIStyleContext* sc = nsnull; nsIStyleContext* sc = nsnull;
aReflowState.frame->GetStyleContext(aPresContext, sc); aReflowState.frame->GetStyleContext(aPresContext, sc);
if (nsnull != sc) { if (nsnull != sc) {
nsStylePosition* pos = (nsStylePosition*) const nsStylePosition* pos = (const nsStylePosition*)
sc->GetData(eStyleStruct_Position); sc->GetStyleData(eStyleStruct_Position);
if (GetStyleDimension(aPresContext, aReflowState, pos, pos->mWidth, if (GetStyleDimension(aPresContext, aReflowState, pos, pos->mWidth,
aStyleSize.width)) { aStyleSize.width)) {
rv |= NS_SIZE_HAS_WIDTH; rv |= NS_SIZE_HAS_WIDTH;

Просмотреть файл

@ -34,7 +34,7 @@ public:
*/ */
static nscoord VerticallyAlignChildren(nsIPresContext* aPresContext, static nscoord VerticallyAlignChildren(nsIPresContext* aPresContext,
nsIFrame* aContainer, nsIFrame* aContainer,
nsStyleFont* aContainerFont, const nsStyleFont* aContainerFont,
nscoord aY0, nscoord aY0,
nsIFrame* aFirstChild, nsIFrame* aFirstChild,
PRInt32 aChildCount, PRInt32 aChildCount,

Просмотреть файл

@ -160,10 +160,10 @@ public:
virtual PRInt32 GetWeight(void) const; virtual PRInt32 GetWeight(void) const;
virtual void SetWeight(PRInt32 aWeight); virtual void SetWeight(PRInt32 aWeight);
virtual nscoord CalcLength(const nsCSSValue& aValue, nsStyleFont* aFont, virtual nscoord CalcLength(const nsCSSValue& aValue, const nsStyleFont* aFont,
nsIPresContext* aPresContext); nsIPresContext* aPresContext);
virtual PRBool SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord, virtual PRBool SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord,
PRInt32 aMask, nsStyleFont* aFont, PRInt32 aMask, const nsStyleFont* aFont,
nsIPresContext* aPresContext); nsIPresContext* aPresContext);
virtual void MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext); virtual void MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext);
@ -416,7 +416,7 @@ void CSSStyleRuleImpl::SetWeight(PRInt32 aWeight)
} }
nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue, nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue,
nsStyleFont* aFont, const nsStyleFont* aFont,
nsIPresContext* aPresContext) nsIPresContext* aPresContext)
{ {
NS_ASSERTION(aValue.IsLengthUnit(), "not a length unit"); NS_ASSERTION(aValue.IsLengthUnit(), "not a length unit");
@ -462,7 +462,7 @@ nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue,
#define SETCOORD_IAH (SETCOORD_INTEGER | SETCOORD_AH) #define SETCOORD_IAH (SETCOORD_INTEGER | SETCOORD_AH)
PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord, PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord,
PRInt32 aMask, nsStyleFont* aFont, PRInt32 aMask, const nsStyleFont* aFont,
nsIPresContext* aPresContext) nsIPresContext* aPresContext)
{ {
PRBool result = PR_TRUE; PRBool result = PR_TRUE;
@ -510,15 +510,15 @@ PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord
void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext)
{ {
if (nsnull != mDeclaration) { if (nsnull != mDeclaration) {
nsStyleFont* font = (nsStyleFont*)aContext->GetData(eStyleStruct_Font); nsStyleFont* font = (nsStyleFont*)aContext->GetMutableStyleData(eStyleStruct_Font);
nsCSSFont* ourFont; nsCSSFont* ourFont;
if (NS_OK == mDeclaration->GetData(kCSSFontSID, (nsCSSStruct**)&ourFont)) { if (NS_OK == mDeclaration->GetData(kCSSFontSID, (nsCSSStruct**)&ourFont)) {
if (nsnull != ourFont) { if (nsnull != ourFont) {
nsStyleFont* parentFont = font; const nsStyleFont* parentFont = font;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentFont = (nsStyleFont*)parentContext->GetData(eStyleStruct_Font); parentFont = (const nsStyleFont*)parentContext->GetStyleData(eStyleStruct_Font);
} }
// font-family: string list // font-family: string list
@ -620,7 +620,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (NS_OK == mDeclaration->GetData(kCSSTextSID, (nsCSSStruct**)&ourText)) { if (NS_OK == mDeclaration->GetData(kCSSTextSID, (nsCSSStruct**)&ourText)) {
if (nsnull != ourText) { if (nsnull != ourText) {
// Get our text style and our parent's text style // Get our text style and our parent's text style
nsStyleText* text = (nsStyleText*) aContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*) aContext->GetMutableStyleData(eStyleStruct_Text);
// letter-spacing // letter-spacing
SetCoord(ourText->mLetterSpacing, text->mLetterSpacing, SETCOORD_LH | SETCOORD_NORMAL, SetCoord(ourText->mLetterSpacing, text->mLetterSpacing, SETCOORD_LH | SETCOORD_NORMAL,
@ -670,12 +670,12 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (nsnull != ourDisplay) { if (nsnull != ourDisplay) {
// Get our style and our parent's style // Get our style and our parent's style
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
nsStyleDisplay* parentDisplay = display; const nsStyleDisplay* parentDisplay = display;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentDisplay = (nsStyleDisplay*)parentContext->GetData(eStyleStruct_Display); parentDisplay = (const nsStyleDisplay*)parentContext->GetStyleData(eStyleStruct_Display);
} }
// display // display
@ -767,7 +767,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSColor* ourColor; nsCSSColor* ourColor;
if (NS_OK == mDeclaration->GetData(kCSSColorSID, (nsCSSStruct**)&ourColor)) { if (NS_OK == mDeclaration->GetData(kCSSColorSID, (nsCSSStruct**)&ourColor)) {
if (nsnull != ourColor) { if (nsnull != ourColor) {
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color); nsStyleColor* color = (nsStyleColor*)aContext->GetMutableStyleData(eStyleStruct_Color);
// color: color // color: color
if (ourColor->mColor.GetUnit() == eCSSUnit_Color) { if (ourColor->mColor.GetUnit() == eCSSUnit_Color) {
@ -850,12 +850,11 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Number) { else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Number) {
color->mOpacity = ourColor->mOpacity.GetFloatValue(); color->mOpacity = ourColor->mOpacity.GetFloatValue();
} }
else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Enumerated) { else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Inherit) {
// Only enum value is inherit const nsStyleColor* parentColor = color;
nsStyleColor* parentColor = color;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentColor = (nsStyleColor*)parentContext->GetData(eStyleStruct_Color); parentColor = (const nsStyleColor*)parentContext->GetStyleData(eStyleStruct_Color);
color->mOpacity = parentColor->mOpacity; color->mOpacity = parentColor->mOpacity;
NS_RELEASE(parentContext); NS_RELEASE(parentContext);
} }
@ -870,7 +869,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (NS_OK == mDeclaration->GetData(kCSSMarginSID, (nsCSSStruct**)&ourMargin)) { if (NS_OK == mDeclaration->GetData(kCSSMarginSID, (nsCSSStruct**)&ourMargin)) {
if (nsnull != ourMargin) { if (nsnull != ourMargin) {
nsStyleSpacing* spacing = (nsStyleSpacing*) nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetData(eStyleStruct_Spacing); aContext->GetMutableStyleData(eStyleStruct_Spacing);
// margin: length, percent, auto, inherit // margin: length, percent, auto, inherit
if (nsnull != ourMargin->mMargin) { if (nsnull != ourMargin->mMargin) {
@ -941,7 +940,6 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
} }
// border-color // border-color
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color);
if (nsnull != ourMargin->mColor) { if (nsnull != ourMargin->mColor) {
nsCSSRect* ourColor = ourMargin->mColor; nsCSSRect* ourColor = ourMargin->mColor;
if (ourColor->mTop.GetUnit() == eCSSUnit_Color) { if (ourColor->mTop.GetUnit() == eCSSUnit_Color) {
@ -963,7 +961,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSPosition* ourPosition; nsCSSPosition* ourPosition;
if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) { if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) {
if (nsnull != ourPosition) { if (nsnull != ourPosition) {
nsStylePosition* position = (nsStylePosition*)aContext->GetData(eStyleStruct_Position); nsStylePosition* position = (nsStylePosition*)aContext->GetMutableStyleData(eStyleStruct_Position);
// position: normal, enum, inherit // position: normal, enum, inherit
if (ourPosition->mPosition.GetUnit() == eCSSUnit_Normal) { if (ourPosition->mPosition.GetUnit() == eCSSUnit_Normal) {
@ -976,7 +974,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
// explicit inheritance // explicit inheritance
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
nsStylePosition* parentPosition = (nsStylePosition*)parentContext->GetData(eStyleStruct_Position); const nsStylePosition* parentPosition = (const nsStylePosition*)parentContext->GetStyleData(eStyleStruct_Position);
position->mPosition = parentPosition->mPosition; position->mPosition = parentPosition->mPosition;
} }
} }
@ -995,7 +993,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSList* ourList; nsCSSList* ourList;
if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) { if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) {
if (nsnull != ourList) { if (nsnull != ourList) {
nsStyleList* list = (nsStyleList*)aContext->GetData(eStyleStruct_List); nsStyleList* list = (nsStyleList*)aContext->GetMutableStyleData(eStyleStruct_List);
// list-style-type: enum // list-style-type: enum
if (ourList->mType.GetUnit() == eCSSUnit_Enumerated) { if (ourList->mType.GetUnit() == eCSSUnit_Enumerated) {

Просмотреть файл

@ -74,7 +74,7 @@ struct ProportionalColumnLayoutStruct
/* return true if the style indicates that the width is proportional /* return true if the style indicates that the width is proportional
* for the purposes of column width determination * for the purposes of column width determination
*/ */
PRBool BasicTableLayoutStrategy::IsFixedWidth(nsStylePosition* aStylePosition) PRBool BasicTableLayoutStrategy::IsFixedWidth(const nsStylePosition* aStylePosition)
{ {
PRBool result = PR_FALSE; // assume that it is not fixed width PRBool result = PR_FALSE; // assume that it is not fixed width
PRInt32 unitType; PRInt32 unitType;
@ -105,7 +105,7 @@ PRBool BasicTableLayoutStrategy::IsFixedWidth(nsStylePosition* aStylePosition)
return result; return result;
} }
PRBool BasicTableLayoutStrategy::IsAutoWidth(nsStylePosition* aStylePosition) PRBool BasicTableLayoutStrategy::IsAutoWidth(const nsStylePosition* aStylePosition)
{ {
PRBool result = PR_TRUE; // assume that it is PRBool result = PR_TRUE; // assume that it is
if (nsnull!=aStylePosition) if (nsnull!=aStylePosition)
@ -240,7 +240,7 @@ PRBool BasicTableLayoutStrategy::AssignFixedColumnWidths(nsIPresContext* aPresCo
// Get the columns's style // Get the columns's style
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*) colSC->GetData(eStyleStruct_Position); const nsStylePosition* colPosition = (const nsStylePosition*) colSC->GetStyleData(eStyleStruct_Position);
// Get column width if it has one // Get column width if it has one
PRBool haveColWidth = PR_FALSE; PRBool haveColWidth = PR_FALSE;
@ -320,8 +320,8 @@ PRBool BasicTableLayoutStrategy::AssignFixedColumnWidths(nsIPresContext* aPresCo
// Get the cell's style // Get the cell's style
nsIStyleContextPtr cellSC; nsIStyleContextPtr cellSC;
cellFrame->GetStyleContext(aPresContext, cellSC.AssignRef()); cellFrame->GetStyleContext(aPresContext, cellSC.AssignRef());
nsStylePosition* cellPosition = (nsStylePosition*) const nsStylePosition* cellPosition = (const nsStylePosition*)
cellSC->GetData(eStyleStruct_Position); cellSC->GetStyleData(eStyleStruct_Position);
switch (cellPosition->mWidth.GetUnit()) { switch (cellPosition->mWidth.GetUnit()) {
case eStyleUnit_Coord: case eStyleUnit_Coord:
haveCellWidth = PR_TRUE; haveCellWidth = PR_TRUE;
@ -496,7 +496,7 @@ PRBool BasicTableLayoutStrategy::SetColumnsToMinWidth(nsIPresContext* aPresConte
if (gsDebug==PR_TRUE) printf (" for col %d\n", colIndex); if (gsDebug==PR_TRUE) printf (" for col %d\n", colIndex);
// XXX need column frame to ask this question // XXX need column frame to ask this question
nsStylePosition* colPosition = nsnull; const nsStylePosition* colPosition = nsnull;
if (PR_FALSE==IsFixedWidth(colPosition)) if (PR_FALSE==IsFixedWidth(colPosition))
{ {
@ -569,7 +569,7 @@ PRBool BasicTableLayoutStrategy::BalanceColumnsTableFits(nsIPresContext* aPresCo
NS_ASSERTION(nsnull!=colFrame, "bad col frame"); NS_ASSERTION(nsnull!=colFrame, "bad col frame");
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*) colSC->GetData(eStyleStruct_Position); const nsStylePosition* colPosition = (const nsStylePosition*) colSC->GetStyleData(eStyleStruct_Position);
if (gsDebug) printf("col %d has frame %p with style %p and pos %p\n", if (gsDebug) printf("col %d has frame %p with style %p and pos %p\n",
colIndex, colFrame, (nsIStyleContext *)colSC, colPosition); colIndex, colFrame, (nsIStyleContext *)colSC, colPosition);
@ -622,8 +622,8 @@ PRBool BasicTableLayoutStrategy::BalanceColumnsTableFits(nsIPresContext* aPresCo
nscoord specifiedCellWidth=-1; nscoord specifiedCellWidth=-1;
nsIStyleContextPtr cellSC; nsIStyleContextPtr cellSC;
data->GetCellFrame()->GetStyleContext(aPresContext, cellSC.AssignRef()); data->GetCellFrame()->GetStyleContext(aPresContext, cellSC.AssignRef());
nsStylePosition* cellPosition = (nsStylePosition*) const nsStylePosition* cellPosition = (const nsStylePosition*)
cellSC->GetData(eStyleStruct_Position); cellSC->GetStyleData(eStyleStruct_Position);
switch (cellPosition->mWidth.GetUnit()) { switch (cellPosition->mWidth.GetUnit()) {
case eStyleUnit_Coord: case eStyleUnit_Coord:
specifiedCellWidth = cellPosition->mWidth.GetCoordValue(); specifiedCellWidth = cellPosition->mWidth.GetCoordValue();
@ -896,7 +896,7 @@ PRBool BasicTableLayoutStrategy::BalanceColumnsConstrained( nsIPresContext* aPre
NS_ASSERTION(nsnull!=colFrame, "bad col frame"); NS_ASSERTION(nsnull!=colFrame, "bad col frame");
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*) colSC->GetData(eStyleStruct_Position); const nsStylePosition* colPosition = (const nsStylePosition*) colSC->GetStyleData(eStyleStruct_Position);
if (PR_FALSE==IsFixedWidth(colPosition)) if (PR_FALSE==IsFixedWidth(colPosition))
{ {

Просмотреть файл

@ -164,9 +164,9 @@ public:
* for the purposes of column width determination. * for the purposes of column width determination.
* return false if the width changes based on content, parent size, etc. * return false if the width changes based on content, parent size, etc.
*/ */
virtual PRBool IsFixedWidth(nsStylePosition* aStylePosition); virtual PRBool IsFixedWidth(const nsStylePosition* aStylePosition);
virtual PRBool IsAutoWidth(nsStylePosition* aStylePosition); virtual PRBool IsAutoWidth(const nsStylePosition* aStylePosition);
protected: protected:
nsTableFrame * mTableFrame; nsTableFrame * mTableFrame;

Просмотреть файл

@ -124,8 +124,8 @@ nscoord nsCellLayoutData::GetMargin(nsIFrame* aFrame, PRUint8 aEdge) const
if (aFrame) if (aFrame)
{ {
nsStyleSpacing* spacing; const nsStyleSpacing* spacing;
aFrame->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)spacing); aFrame->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)spacing);
nsMargin margin; nsMargin margin;
spacing->CalcMarginFor(aFrame, margin); spacing->CalcMarginFor(aFrame, margin);
switch (aEdge) switch (aEdge)
@ -162,8 +162,8 @@ nscoord nsCellLayoutData::GetBorderWidth(nsIFrame* aFrame, PRUint8 aEdge) const
if (aFrame) if (aFrame)
{ {
nsStyleSpacing* spacing; const nsStyleSpacing* spacing;
aFrame->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)spacing); aFrame->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)spacing);
nsMargin border; nsMargin border;
spacing->CalcBorderFor(aFrame, border); spacing->CalcBorderFor(aFrame, border);
switch (aEdge) switch (aEdge)
@ -200,8 +200,8 @@ nscoord nsCellLayoutData::GetPadding(nsIFrame* aFrame, PRUint8 aEdge) const
if (aFrame) if (aFrame)
{ {
nsStyleSpacing* spacing; const nsStyleSpacing* spacing;
aFrame->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)spacing); aFrame->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)spacing);
nsMargin padding; nsMargin padding;
spacing->CalcPaddingFor(aFrame, padding); spacing->CalcPaddingFor(aFrame, padding);
switch (aEdge) switch (aEdge)
@ -301,10 +301,10 @@ nsIFrame* nsCellLayoutData::CompareCellBorders(nsIFrame* aFrame1,
result = aFrame2; result = aFrame2;
else // width1 == width2 else // width1 == width2
{ {
nsStyleSpacing* border1; const nsStyleSpacing* border1;
nsStyleSpacing* border2; const nsStyleSpacing* border2;
aFrame1->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)border1); aFrame1->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)border1);
aFrame2->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)border2); aFrame2->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)border2);
if (border1->mBorderStyle[aEdge1] >= border2->mBorderStyle[aEdge2]) if (border1->mBorderStyle[aEdge1] >= border2->mBorderStyle[aEdge2])
result = aFrame1; result = aFrame1;
else else
@ -527,8 +527,8 @@ void nsCellLayoutData::CalculateMargins(nsTableFrame* aTableFrame,
{ {
// By default the margin is just the margin found in the // By default the margin is just the margin found in the
// table cells style // table cells style
nsStyleSpacing* spacing; const nsStyleSpacing* spacing;
mCellFrame->GetStyleData(eStyleStruct_Spacing, (nsStyleStruct*&)spacing); mCellFrame->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct*&)spacing);
spacing->CalcMarginFor(mCellFrame, mMargin); spacing->CalcMarginFor(mCellFrame, mMargin);
// Left and Top Margins are collapsed with their neightbors // Left and Top Margins are collapsed with their neightbors

Просмотреть файл

@ -70,10 +70,10 @@ PRInt32 nsTableCaptionFrame::GetMaxWidth()
void nsTableCaptionFrame::VerticallyAlignChild(nsIPresContext* aPresContext) void nsTableCaptionFrame::VerticallyAlignChild(nsIPresContext* aPresContext)
{ {
nsStyleText* textStyle = const nsStyleText* textStyle =
(nsStyleText*)mStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)mStyleContext->GetStyleData(eStyleStruct_Text);
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);

Просмотреть файл

@ -219,7 +219,7 @@ void nsTableCell::MapAttributesInto(nsIStyleContext* aContext,
GetAttribute(nsHTMLAtoms::align, value); GetAttribute(nsHTMLAtoms::align, value);
if (value.GetUnit() == eHTMLUnit_Enumerated) if (value.GetUnit() == eHTMLUnit_Enumerated)
{ {
nsStyleText* text = (nsStyleText*)aContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*)aContext->GetMutableStyleData(eStyleStruct_Text);
text->mTextAlign = value.GetIntValue(); text->mTextAlign = value.GetIntValue();
} }
@ -227,7 +227,7 @@ void nsTableCell::MapAttributesInto(nsIStyleContext* aContext,
GetAttribute(nsHTMLAtoms::valign, value); GetAttribute(nsHTMLAtoms::valign, value);
if (value.GetUnit() == eHTMLUnit_Enumerated) if (value.GetUnit() == eHTMLUnit_Enumerated)
{ {
nsStyleText* text = (nsStyleText*)aContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*)aContext->GetMutableStyleData(eStyleStruct_Text);
text->mTextAlign = value.GetIntValue(); text->mTextAlign = value.GetIntValue();
} }
@ -236,7 +236,7 @@ void nsTableCell::MapAttributesInto(nsIStyleContext* aContext,
// width: pixel // width: pixel
float p2t = aPresContext->GetPixelsToTwips(); float p2t = aPresContext->GetPixelsToTwips();
nsStylePosition* pos = (nsStylePosition*) nsStylePosition* pos = (nsStylePosition*)
aContext->GetData(eStyleStruct_Position); aContext->GetMutableStyleData(eStyleStruct_Position);
GetAttribute(nsHTMLAtoms::width, value); GetAttribute(nsHTMLAtoms::width, value);
if (value.GetUnit() == eHTMLUnit_Pixel) { if (value.GetUnit() == eHTMLUnit_Pixel) {
nscoord twips = nscoord(p2t * value.GetPixelValue()); nscoord twips = nscoord(p2t * value.GetPixelValue());

Просмотреть файл

@ -57,14 +57,14 @@ NS_METHOD nsTableCellFrame::Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
nsStyleColor* myColor = const nsStyleColor* myColor =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleSpacing* mySpacing = const nsStyleSpacing* mySpacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
NS_ASSERTION(nsnull!=myColor, "bad style color"); NS_ASSERTION(nsnull!=myColor, "bad style color");
NS_ASSERTION(nsnull!=mySpacing, "bad style spacing"); NS_ASSERTION(nsnull!=mySpacing, "bad style spacing");
@ -98,10 +98,10 @@ NS_METHOD nsTableCellFrame::Paint(nsIPresContext& aPresContext,
void nsTableCellFrame::VerticallyAlignChild(nsIPresContext* aPresContext) void nsTableCellFrame::VerticallyAlignChild(nsIPresContext* aPresContext)
{ {
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStyleText* textStyle = const nsStyleText* textStyle =
(nsStyleText*)mStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)mStyleContext->GetStyleData(eStyleStruct_Text);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
@ -269,8 +269,8 @@ NS_METHOD nsTableCellFrame::Reflow(nsIPresContext* aPresContext,
// SEC: what about ascent and decent??? // SEC: what about ascent and decent???
// Compute the insets (sum of border and padding) // Compute the insets (sum of border and padding)
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
@ -454,7 +454,7 @@ void nsTableCellFrame::MapHTMLBorderStyle(nsIPresContext* aPresContext, nsStyleS
tableFrame->GetStyleContext(aPresContext,styleContext); tableFrame->GetStyleContext(aPresContext,styleContext);
nsStyleColor* colorData = (nsStyleColor*)styleContext->GetData(eStyleStruct_Color); const nsStyleColor* colorData = (const nsStyleColor*)styleContext->GetStyleData(eStyleStruct_Color);
// Look until we find a style context with a NON-transparent background color // Look until we find a style context with a NON-transparent background color
while (styleContext) while (styleContext)
@ -464,7 +464,7 @@ void nsTableCellFrame::MapHTMLBorderStyle(nsIPresContext* aPresContext, nsStyleS
nsIStyleContext* temp = styleContext; nsIStyleContext* temp = styleContext;
styleContext = styleContext->GetParent(); styleContext = styleContext->GetParent();
NS_RELEASE(temp); NS_RELEASE(temp);
colorData = (nsStyleColor*)styleContext->GetData(eStyleStruct_Color); colorData = (const nsStyleColor*)styleContext->GetStyleData(eStyleStruct_Color);
} }
else else
{ {
@ -539,7 +539,7 @@ void nsTableCellFrame::MapBorderMarginPadding(nsIPresContext* aPresContext)
spacing_result = table->GetAttribute(nsHTMLAtoms::cellspacing,spacing_value); spacing_result = table->GetAttribute(nsHTMLAtoms::cellspacing,spacing_value);
border_result = table->GetAttribute(nsHTMLAtoms::border,border_value); border_result = table->GetAttribute(nsHTMLAtoms::border,border_value);
nsStyleSpacing* spacingData = (nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); nsStyleSpacing* spacingData = (nsStyleSpacing*)mStyleContext->GetMutableStyleData(eStyleStruct_Spacing);
// check to see if cellpadding or cellspacing is defined // check to see if cellpadding or cellspacing is defined
if (spacing_result == eContentAttr_HasValue || padding_result == eContentAttr_HasValue) if (spacing_result == eContentAttr_HasValue || padding_result == eContentAttr_HasValue)
@ -586,7 +586,7 @@ void nsTableCellFrame::MapTextAttributes(nsIPresContext* aPresContext)
((nsTableCell*)mContent)->GetAttribute(nsHTMLAtoms::align, value); ((nsTableCell*)mContent)->GetAttribute(nsHTMLAtoms::align, value);
if (value.GetUnit() == eHTMLUnit_Enumerated) if (value.GetUnit() == eHTMLUnit_Enumerated)
{ {
nsStyleText* text = (nsStyleText*)mStyleContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*)mStyleContext->GetMutableStyleData(eStyleStruct_Text);
text->mTextAlign = value.GetIntValue(); text->mTextAlign = value.GetIntValue();
} }
} }

Просмотреть файл

@ -368,7 +368,7 @@ void nsTableColGroup::MapAttributesInto(nsIStyleContext* aContext,
GetAttribute(nsHTMLAtoms::width, value); GetAttribute(nsHTMLAtoms::width, value);
if (value.GetUnit() != eHTMLUnit_Null) { if (value.GetUnit() != eHTMLUnit_Null) {
nsStylePosition* position = (nsStylePosition*) nsStylePosition* position = (nsStylePosition*)
aContext->GetData(eStyleStruct_Position); aContext->GetMutableStyleData(eStyleStruct_Position);
switch (value.GetUnit()) { switch (value.GetUnit()) {
case eHTMLUnit_Percent: case eHTMLUnit_Percent:
position->mWidth.SetPercentValue(value.GetPercentValue()); position->mWidth.SetPercentValue(value.GetPercentValue());
@ -385,7 +385,7 @@ void nsTableColGroup::MapAttributesInto(nsIStyleContext* aContext,
GetAttribute(nsHTMLAtoms::align, value); GetAttribute(nsHTMLAtoms::align, value);
if (value.GetUnit() != eHTMLUnit_Null) { if (value.GetUnit() != eHTMLUnit_Null) {
NS_ASSERTION(value.GetUnit() == eHTMLUnit_Enumerated, "unexpected unit"); NS_ASSERTION(value.GetUnit() == eHTMLUnit_Enumerated, "unexpected unit");
nsStyleDisplay* display = (nsStyleDisplay*)aContext->GetData(eStyleStruct_Display); nsStyleDisplay* display = (nsStyleDisplay*)aContext->GetMutableStyleData(eStyleStruct_Display);
switch (value.GetIntValue()) { switch (value.GetIntValue()) {
case NS_STYLE_TEXT_ALIGN_LEFT: case NS_STYLE_TEXT_ALIGN_LEFT:

Просмотреть файл

@ -77,8 +77,8 @@ NS_METHOD nsTableColGroupFrame::Reflow(nsIPresContext* aPresContext,
// Resolve style // Resolve style
nsIStyleContextPtr kidSC = nsIStyleContextPtr kidSC =
aPresContext->ResolveStyleContextFor(kid, this); aPresContext->ResolveStyleContextFor(kid, this);
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
// Create a child frame // Create a child frame
nsIContentDelegate* kidDel = nsnull; nsIContentDelegate* kidDel = nsnull;
@ -151,17 +151,17 @@ NS_METHOD nsTableColGroupFrame::SetStyleContextForFirstPass(nsIPresContext* aPre
PRInt32 colIndex=0; PRInt32 colIndex=0;
nsIFrame *colFrame=nsnull; nsIFrame *colFrame=nsnull;
nsIStyleContext *colStyleContext; nsIStyleContextPtr colStyleContext;
for (; colIndex<numCols; colIndex++) for (; colIndex<numCols; colIndex++)
{ {
ChildAt(colIndex, colFrame); ChildAt(colIndex, colFrame);
if (nsnull==colFrame) if (nsnull==colFrame)
break; // the attribute value specified was greater than the actual number of columns break; // the attribute value specified was greater than the actual number of columns
nsStylePosition * colPosition=nsnull; nsStylePosition * colPosition=nsnull;
colFrame->GetStyleData(eStyleStruct_Position, (nsStyleStruct*&)colPosition); colFrame->GetStyleContext(aPresContext, colStyleContext.AssignRef());
colPosition = (nsStylePosition*)colStyleContext->GetMutableStyleData(eStyleStruct_Position);
nsStyleCoord width (1, eStyleUnit_Proportional); nsStyleCoord width (1, eStyleUnit_Proportional);
colPosition->mWidth = width; colPosition->mWidth = width;
colFrame->GetStyleContext(aPresContext, colStyleContext);
colStyleContext->RecalcAutomaticData(aPresContext); colStyleContext->RecalcAutomaticData(aPresContext);
} }
// if there are more columns, there width is set to "minimum" // if there are more columns, there width is set to "minimum"
@ -172,9 +172,9 @@ NS_METHOD nsTableColGroupFrame::SetStyleContextForFirstPass(nsIPresContext* aPre
ChildAt(colIndex, colFrame); ChildAt(colIndex, colFrame);
NS_ASSERTION(nsnull!=colFrame, "bad column frame"); NS_ASSERTION(nsnull!=colFrame, "bad column frame");
nsStylePosition * colPosition=nsnull; nsStylePosition * colPosition=nsnull;
colFrame->GetStyleData(eStyleStruct_Position, (nsStyleStruct*&)colPosition); colFrame->GetStyleContext(aPresContext, colStyleContext.AssignRef());
colPosition = (nsStylePosition*)colStyleContext->GetMutableStyleData(eStyleStruct_Position);
colPosition->mWidth.SetCoordValue(0); colPosition->mWidth.SetCoordValue(0);
colFrame->GetStyleContext(aPresContext, colStyleContext);
colStyleContext->RecalcAutomaticData(aPresContext); colStyleContext->RecalcAutomaticData(aPresContext);
} }

Просмотреть файл

@ -550,14 +550,14 @@ NS_METHOD nsTableFrame::Paint(nsIPresContext& aPresContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
// table paint code is concerned primarily with borders and bg color // table paint code is concerned primarily with borders and bg color
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
nsStyleColor* myColor = const nsStyleColor* myColor =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleSpacing* mySpacing = const nsStyleSpacing* mySpacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
NS_ASSERTION(nsnull != myColor, "null style color"); NS_ASSERTION(nsnull != myColor, "null style color");
NS_ASSERTION(nsnull != mySpacing, "null style spacing"); NS_ASSERTION(nsnull != mySpacing, "null style spacing");
if (nsnull!=mySpacing) if (nsnull!=mySpacing)
@ -717,8 +717,8 @@ nsReflowStatus nsTableFrame::ResizeReflowPass1(nsIPresContext* aPresContext,
nsIFrame* prevKidFrame = nsnull;/* XXX incremental reflow! */ nsIFrame* prevKidFrame = nsnull;/* XXX incremental reflow! */
// Compute the insets (sum of border and padding) // Compute the insets (sum of border and padding)
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
nscoord topInset = borderPadding.top; nscoord topInset = borderPadding.top;
@ -883,8 +883,8 @@ nsReflowStatus nsTableFrame::ResizeReflowPass2(nsIPresContext* aPresContext,
// Check for an overflow list // Check for an overflow list
MoveOverflowToChildList(); MoveOverflowToChildList();
nsStyleSpacing* mySpacing = (nsStyleSpacing*) const nsStyleSpacing* mySpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin myBorderPadding; nsMargin myBorderPadding;
mySpacing->CalcBorderPaddingFor(this, myBorderPadding); mySpacing->CalcBorderPaddingFor(this, myBorderPadding);
@ -1125,8 +1125,8 @@ PRBool nsTableFrame::ReflowMappedChildren( nsIPresContext* aPresContext,
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef()); kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef());
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kidFrame, kidMargin); kidSpacing->CalcMarginFor(kidFrame, kidMargin);
@ -1683,16 +1683,16 @@ void nsTableFrame::BalanceColumnWidths(nsIPresContext* aPresContext,
PRInt32 maxTableWidth = 0; PRInt32 maxTableWidth = 0;
PRInt32 totalFixedWidth = 0; PRInt32 totalFixedWidth = 0;
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
// need to figure out the overall table width constraint // need to figure out the overall table width constraint
// default case, get 100% of available space // default case, get 100% of available space
PRInt32 maxWidth; PRInt32 maxWidth;
nsStylePosition* position = const nsStylePosition* position =
(nsStylePosition*)mStyleContext->GetData(eStyleStruct_Position); (const nsStylePosition*)mStyleContext->GetStyleData(eStyleStruct_Position);
switch (position->mWidth.GetUnit()) { switch (position->mWidth.GetUnit()) {
case eStyleUnit_Coord: case eStyleUnit_Coord:
maxWidth = position->mWidth.GetCoordValue(); maxWidth = position->mWidth.GetCoordValue();
@ -1752,8 +1752,8 @@ void nsTableFrame::SetTableWidth(nsIPresContext* aPresContext)
} }
// Compute the insets (sum of border and padding) // Compute the insets (sum of border and padding)
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
@ -1786,8 +1786,8 @@ void nsTableFrame::ShrinkWrapChildren(nsIPresContext* aPresContext,
PRInt32 rowIndex; PRInt32 rowIndex;
PRInt32 tableHeight = 0; PRInt32 tableHeight = 0;
nsStyleSpacing* spacing = (nsStyleSpacing*) const nsStyleSpacing* spacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
@ -2139,7 +2139,7 @@ PRBool nsTableFrame::SetCellLayoutData(nsIPresContext* aPresContext,
// assumes that the col style has been twiddled to account for first cell width attribute // assumes that the col style has been twiddled to account for first cell width attribute
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*)colSC->GetData(eStyleStruct_Position); const nsStylePosition* colPosition = (const nsStylePosition*)colSC->GetStyleData(eStyleStruct_Position);
mColCache->AddColumnInfo(colPosition->mWidth.GetUnit(), colFrame->GetColumnIndex()); mColCache->AddColumnInfo(colPosition->mWidth.GetUnit(), colFrame->GetColumnIndex());
} }
} }
@ -2396,7 +2396,7 @@ void nsTableFrame::MapHTMLBorderStyle(nsStyleSpacing& aSpacingStyle, nscoord aBo
nsIStyleContext* styleContext = mStyleContext; nsIStyleContext* styleContext = mStyleContext;
nsStyleColor* colorData = (nsStyleColor*)styleContext->GetData(eStyleStruct_Color); const nsStyleColor* colorData = (const nsStyleColor*)styleContext->GetStyleData(eStyleStruct_Color);
// Look until we find a style context with a NON-transparent background color // Look until we find a style context with a NON-transparent background color
while (styleContext) while (styleContext)
@ -2407,7 +2407,7 @@ void nsTableFrame::MapHTMLBorderStyle(nsStyleSpacing& aSpacingStyle, nscoord aBo
styleContext = styleContext->GetParent(); styleContext = styleContext->GetParent();
if (temp != mStyleContext) if (temp != mStyleContext)
NS_RELEASE(temp); NS_RELEASE(temp);
colorData = (nsStyleColor*)styleContext->GetData(eStyleStruct_Color); colorData = (const nsStyleColor*)styleContext->GetStyleData(eStyleStruct_Color);
} }
else else
{ {
@ -2482,7 +2482,7 @@ void nsTableFrame::MapBorderMarginPadding(nsIPresContext* aPresContext)
if (!table) if (!table)
return; return;
nsStyleSpacing* spacingData = (nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); nsStyleSpacing* spacingData = (nsStyleSpacing*)mStyleContext->GetMutableStyleData(eStyleStruct_Spacing);
border_result = table->GetAttribute(nsHTMLAtoms::border,border_value); border_result = table->GetAttribute(nsHTMLAtoms::border,border_value);
if (border_result == eContentAttr_HasValue) if (border_result == eContentAttr_HasValue)
@ -2632,7 +2632,7 @@ PRBool nsTableFrame::TableIsAutoWidth(nsTableFrame *aTableFrame,
nsIFrame * parent = nsnull; nsIFrame * parent = nsnull;
aTableFrame->GetGeometricParent(parent); aTableFrame->GetGeometricParent(parent);
parent->GetStyleContext(nsnull, parentStyle); parent->GetStyleContext(nsnull, parentStyle);
nsStylePosition* tablePosition = (nsStylePosition*)parentStyle->GetData(eStyleStruct_Position); const nsStylePosition* tablePosition = (const nsStylePosition*)parentStyle->GetStyleData(eStyleStruct_Position);
// end REMOVE_ME_WHEN_TABLE_STYLE_IS_RESOLVED! // end REMOVE_ME_WHEN_TABLE_STYLE_IS_RESOLVED!
switch (tablePosition->mWidth.GetUnit()) { switch (tablePosition->mWidth.GetUnit()) {
case eStyleUnit_Auto: // specified auto width case eStyleUnit_Auto: // specified auto width

Просмотреть файл

@ -20,6 +20,7 @@
#include "nscore.h" #include "nscore.h"
#include "nsContainerFrame.h" #include "nsContainerFrame.h"
#include "nsStyleCoord.h"
class nsCellLayoutData; class nsCellLayoutData;
class nsTableCell; class nsTableCell;
@ -33,7 +34,6 @@ class ColumnInfoCache;
struct InnerTableReflowState; struct InnerTableReflowState;
struct nsStylePosition; struct nsStylePosition;
struct nsStyleSpacing; struct nsStyleSpacing;
enum nsStyleUnit;
/** nsTableFrame maps the inner portion of a table (everything except captions.) /** nsTableFrame maps the inner portion of a table (everything except captions.)
* Used as a pseudo-frame within nsTableOuterFrame, * Used as a pseudo-frame within nsTableOuterFrame,

Просмотреть файл

@ -458,8 +458,8 @@ PRBool nsTableOuterFrame::ReflowMappedChildren( nsIPresContext* aPresContex
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef()); kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef());
nsStyleSpacing* kidSpacing = const nsStyleSpacing* kidSpacing =
(nsStyleSpacing*)kidSC->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kidFrame, kidMargin); kidSpacing->CalcMarginFor(kidFrame, kidMargin);
nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin); nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin);
@ -895,8 +895,8 @@ nsTableOuterFrame::ReflowChild( nsIFrame* aKidFrame,
aKidFrame->GetStyleContext(aPresContext, captionStyleContext.AssignRef()); aKidFrame->GetStyleContext(aPresContext, captionStyleContext.AssignRef());
NS_ASSERTION(captionStyleContext.IsNotNull(), "null style context for caption"); NS_ASSERTION(captionStyleContext.IsNotNull(), "null style context for caption");
nsStyleText* captionStyle = const nsStyleText* captionStyle =
(nsStyleText*)captionStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)captionStyleContext->GetStyleData(eStyleStruct_Text);
NS_ASSERTION(nsnull != captionStyle, "null style molecule for caption"); NS_ASSERTION(nsnull != captionStyle, "null style molecule for caption");
if ((eStyleUnit_Enumerated == captionStyle->mVerticalAlign.GetUnit()) && if ((eStyleUnit_Enumerated == captionStyle->mVerticalAlign.GetUnit()) &&
(NS_STYLE_VERTICAL_ALIGN_BOTTOM==captionStyle->mVerticalAlign.GetIntValue())) (NS_STYLE_VERTICAL_ALIGN_BOTTOM==captionStyle->mVerticalAlign.GetIntValue()))
@ -974,8 +974,8 @@ void nsTableOuterFrame::CreateChildFrames(nsIPresContext* aPresContext)
nsIStyleContextPtr captionStyleContext = nsIStyleContextPtr captionStyleContext =
aPresContext->ResolveStyleContextFor(caption, this); aPresContext->ResolveStyleContextFor(caption, this);
NS_ASSERTION(captionStyleContext.IsNotNull(), "bad style context for caption."); NS_ASSERTION(captionStyleContext.IsNotNull(), "bad style context for caption.");
nsStyleText* captionStyle = const nsStyleText* captionStyle =
(nsStyleText*)captionStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)captionStyleContext->GetStyleData(eStyleStruct_Text);
// create the frame // create the frame
nsIFrame *captionFrame=nsnull; nsIFrame *captionFrame=nsnull;
frameCreated = ((nsIHTMLContent*)(nsIContent*)caption)->CreateFrame(aPresContext, frameCreated = ((nsIHTMLContent*)(nsIContent*)caption)->CreateFrame(aPresContext,
@ -1072,8 +1072,8 @@ nsTableOuterFrame::ResizeReflowTopCaptionsPass2(nsIPresContext* aPresCont
captionFrame->GetStyleContext(aPresContext, captionStyleContext.AssignRef()); captionFrame->GetStyleContext(aPresContext, captionStyleContext.AssignRef());
NS_ASSERTION(captionStyleContext.IsNotNull(), "null style context for caption"); NS_ASSERTION(captionStyleContext.IsNotNull(), "null style context for caption");
nsStyleText* captionStyle = const nsStyleText* captionStyle =
(nsStyleText*)captionStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)captionStyleContext->GetStyleData(eStyleStruct_Text);
NS_ASSERTION(nsnull != captionStyle, "null style molecule for caption"); NS_ASSERTION(nsnull != captionStyle, "null style molecule for caption");
if ((eStyleUnit_Enumerated == captionStyle->mVerticalAlign.GetUnit()) && if ((eStyleUnit_Enumerated == captionStyle->mVerticalAlign.GetUnit()) &&

Просмотреть файл

@ -1128,7 +1128,7 @@ void nsTablePart::MapAttributesInto(nsIStyleContext* aContext,
GetAttribute(nsHTMLAtoms::width, value); GetAttribute(nsHTMLAtoms::width, value);
if (value.GetUnit() != eHTMLUnit_Null) { if (value.GetUnit() != eHTMLUnit_Null) {
nsStylePosition* position = (nsStylePosition*) nsStylePosition* position = (nsStylePosition*)
aContext->GetData(eStyleStruct_Position); aContext->GetMutableStyleData(eStyleStruct_Position);
switch (value.GetUnit()) { switch (value.GetUnit()) {
case eHTMLUnit_Percent: case eHTMLUnit_Percent:
position->mWidth.SetPercentValue(value.GetPercentValue()); position->mWidth.SetPercentValue(value.GetPercentValue());
@ -1147,7 +1147,7 @@ void nsTablePart::MapAttributesInto(nsIStyleContext* aContext,
GetAttribute(nsHTMLAtoms::align, value); GetAttribute(nsHTMLAtoms::align, value);
if (value.GetUnit() != eHTMLUnit_Null) { if (value.GetUnit() != eHTMLUnit_Null) {
NS_ASSERTION(value.GetUnit() == eHTMLUnit_Enumerated, "unexpected unit"); NS_ASSERTION(value.GetUnit() == eHTMLUnit_Enumerated, "unexpected unit");
nsStyleDisplay* display = (nsStyleDisplay*)aContext->GetData(eStyleStruct_Display); nsStyleDisplay* display = (nsStyleDisplay*)aContext->GetMutableStyleData(eStyleStruct_Display);
switch (value.GetIntValue()) { switch (value.GetIntValue()) {
case NS_STYLE_TEXT_ALIGN_LEFT: case NS_STYLE_TEXT_ALIGN_LEFT:
@ -1176,7 +1176,7 @@ void nsTablePart::GetTableBorder(nsIHTMLContent* aContent,
if ((value.GetUnit() == eHTMLUnit_Pixel) || if ((value.GetUnit() == eHTMLUnit_Pixel) ||
(value.GetUnit() == eHTMLUnit_Empty)) { (value.GetUnit() == eHTMLUnit_Empty)) {
nsStyleSpacing* spacing = (nsStyleSpacing*) nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetData(eStyleStruct_Spacing); aContext->GetMutableStyleData(eStyleStruct_Spacing);
float p2t = aPresContext->GetPixelsToTwips(); float p2t = aPresContext->GetPixelsToTwips();
nsStyleCoord twips; nsStyleCoord twips;
if (aForCell || (value.GetUnit() == eHTMLUnit_Empty)) { if (aForCell || (value.GetUnit() == eHTMLUnit_Empty)) {

Просмотреть файл

@ -424,8 +424,8 @@ PRBool nsTableRowFrame::ReflowMappedChildren(nsIPresContext* aPresContext,
nscoord cellHeight = desiredSize.height; nscoord cellHeight = desiredSize.height;
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef()); kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef());
nsStylePosition* kidPosition = (nsStylePosition*) const nsStylePosition* kidPosition = (const nsStylePosition*)
kidSC->GetData(eStyleStruct_Position); kidSC->GetStyleData(eStyleStruct_Position);
switch (kidPosition->mHeight.GetUnit()) { switch (kidPosition->mHeight.GetUnit()) {
case eStyleUnit_Coord: case eStyleUnit_Coord:
specifiedHeight = kidPosition->mHeight.GetCoordValue(); specifiedHeight = kidPosition->mHeight.GetCoordValue();
@ -1163,7 +1163,7 @@ nsTableRowFrame::SetColumnStyleFromCell(nsIPresContext* aPresContext,
if (0==rowIndex) if (0==rowIndex)
{ {
// get the cell style info // get the cell style info
nsStylePosition* cellPosition = (nsStylePosition*) aCellSC->GetData(eStyleStruct_Position); const nsStylePosition* cellPosition = (const nsStylePosition*) aCellSC->GetStyleData(eStyleStruct_Position);
if ((eStyleUnit_Coord == cellPosition->mWidth.GetUnit()) || if ((eStyleUnit_Coord == cellPosition->mWidth.GetUnit()) ||
(eStyleUnit_Percent==cellPosition->mWidth.GetUnit())) { (eStyleUnit_Percent==cellPosition->mWidth.GetUnit())) {
@ -1179,7 +1179,7 @@ nsTableRowFrame::SetColumnStyleFromCell(nsIPresContext* aPresContext,
// get the column style and set the width attribute // get the column style and set the width attribute
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*) colSC->GetData(eStyleStruct_Position); nsStylePosition* colPosition = (nsStylePosition*) colSC->GetMutableStyleData(eStyleStruct_Position);
// set the column width attribute // set the column width attribute
if (eStyleUnit_Coord == cellPosition->mWidth.GetUnit()) if (eStyleUnit_Coord == cellPosition->mWidth.GetUnit())
{ {

Просмотреть файл

@ -283,8 +283,8 @@ PRBool nsTableRowGroupFrame::ReflowMappedChildren( nsIPresContext* aPresCon
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef()); kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef());
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(this, kidMargin); kidSpacing->CalcMarginFor(this, kidMargin);
nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin); nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin);
@ -744,8 +744,8 @@ nsTableRowGroupFrame::ReflowUnmappedChildren(nsIPresContext* aPresContext,
// Resolve style // Resolve style
nsIStyleContextPtr kidSC = nsIStyleContextPtr kidSC =
aPresContext->ResolveStyleContextFor(kid, this); aPresContext->ResolveStyleContextFor(kid, this);
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(this, kidMargin); kidSpacing->CalcMarginFor(this, kidMargin);
nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin); nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin);

Просмотреть файл

@ -160,10 +160,10 @@ public:
virtual PRInt32 GetWeight(void) const; virtual PRInt32 GetWeight(void) const;
virtual void SetWeight(PRInt32 aWeight); virtual void SetWeight(PRInt32 aWeight);
virtual nscoord CalcLength(const nsCSSValue& aValue, nsStyleFont* aFont, virtual nscoord CalcLength(const nsCSSValue& aValue, const nsStyleFont* aFont,
nsIPresContext* aPresContext); nsIPresContext* aPresContext);
virtual PRBool SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord, virtual PRBool SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord,
PRInt32 aMask, nsStyleFont* aFont, PRInt32 aMask, const nsStyleFont* aFont,
nsIPresContext* aPresContext); nsIPresContext* aPresContext);
virtual void MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext); virtual void MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext);
@ -416,7 +416,7 @@ void CSSStyleRuleImpl::SetWeight(PRInt32 aWeight)
} }
nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue, nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue,
nsStyleFont* aFont, const nsStyleFont* aFont,
nsIPresContext* aPresContext) nsIPresContext* aPresContext)
{ {
NS_ASSERTION(aValue.IsLengthUnit(), "not a length unit"); NS_ASSERTION(aValue.IsLengthUnit(), "not a length unit");
@ -462,7 +462,7 @@ nscoord CSSStyleRuleImpl::CalcLength(const nsCSSValue& aValue,
#define SETCOORD_IAH (SETCOORD_INTEGER | SETCOORD_AH) #define SETCOORD_IAH (SETCOORD_INTEGER | SETCOORD_AH)
PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord, PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord,
PRInt32 aMask, nsStyleFont* aFont, PRInt32 aMask, const nsStyleFont* aFont,
nsIPresContext* aPresContext) nsIPresContext* aPresContext)
{ {
PRBool result = PR_TRUE; PRBool result = PR_TRUE;
@ -510,15 +510,15 @@ PRBool CSSStyleRuleImpl::SetCoord(const nsCSSValue& aValue, nsStyleCoord& aCoord
void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext)
{ {
if (nsnull != mDeclaration) { if (nsnull != mDeclaration) {
nsStyleFont* font = (nsStyleFont*)aContext->GetData(eStyleStruct_Font); nsStyleFont* font = (nsStyleFont*)aContext->GetMutableStyleData(eStyleStruct_Font);
nsCSSFont* ourFont; nsCSSFont* ourFont;
if (NS_OK == mDeclaration->GetData(kCSSFontSID, (nsCSSStruct**)&ourFont)) { if (NS_OK == mDeclaration->GetData(kCSSFontSID, (nsCSSStruct**)&ourFont)) {
if (nsnull != ourFont) { if (nsnull != ourFont) {
nsStyleFont* parentFont = font; const nsStyleFont* parentFont = font;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentFont = (nsStyleFont*)parentContext->GetData(eStyleStruct_Font); parentFont = (const nsStyleFont*)parentContext->GetStyleData(eStyleStruct_Font);
} }
// font-family: string list // font-family: string list
@ -620,7 +620,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (NS_OK == mDeclaration->GetData(kCSSTextSID, (nsCSSStruct**)&ourText)) { if (NS_OK == mDeclaration->GetData(kCSSTextSID, (nsCSSStruct**)&ourText)) {
if (nsnull != ourText) { if (nsnull != ourText) {
// Get our text style and our parent's text style // Get our text style and our parent's text style
nsStyleText* text = (nsStyleText*) aContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*) aContext->GetMutableStyleData(eStyleStruct_Text);
// letter-spacing // letter-spacing
SetCoord(ourText->mLetterSpacing, text->mLetterSpacing, SETCOORD_LH | SETCOORD_NORMAL, SetCoord(ourText->mLetterSpacing, text->mLetterSpacing, SETCOORD_LH | SETCOORD_NORMAL,
@ -670,12 +670,12 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (nsnull != ourDisplay) { if (nsnull != ourDisplay) {
// Get our style and our parent's style // Get our style and our parent's style
nsStyleDisplay* display = (nsStyleDisplay*) nsStyleDisplay* display = (nsStyleDisplay*)
aContext->GetData(eStyleStruct_Display); aContext->GetMutableStyleData(eStyleStruct_Display);
nsStyleDisplay* parentDisplay = display; const nsStyleDisplay* parentDisplay = display;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentDisplay = (nsStyleDisplay*)parentContext->GetData(eStyleStruct_Display); parentDisplay = (const nsStyleDisplay*)parentContext->GetStyleData(eStyleStruct_Display);
} }
// display // display
@ -767,7 +767,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSColor* ourColor; nsCSSColor* ourColor;
if (NS_OK == mDeclaration->GetData(kCSSColorSID, (nsCSSStruct**)&ourColor)) { if (NS_OK == mDeclaration->GetData(kCSSColorSID, (nsCSSStruct**)&ourColor)) {
if (nsnull != ourColor) { if (nsnull != ourColor) {
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color); nsStyleColor* color = (nsStyleColor*)aContext->GetMutableStyleData(eStyleStruct_Color);
// color: color // color: color
if (ourColor->mColor.GetUnit() == eCSSUnit_Color) { if (ourColor->mColor.GetUnit() == eCSSUnit_Color) {
@ -850,12 +850,11 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Number) { else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Number) {
color->mOpacity = ourColor->mOpacity.GetFloatValue(); color->mOpacity = ourColor->mOpacity.GetFloatValue();
} }
else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Enumerated) { else if (ourColor->mOpacity.GetUnit() == eCSSUnit_Inherit) {
// Only enum value is inherit const nsStyleColor* parentColor = color;
nsStyleColor* parentColor = color;
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
parentColor = (nsStyleColor*)parentContext->GetData(eStyleStruct_Color); parentColor = (const nsStyleColor*)parentContext->GetStyleData(eStyleStruct_Color);
color->mOpacity = parentColor->mOpacity; color->mOpacity = parentColor->mOpacity;
NS_RELEASE(parentContext); NS_RELEASE(parentContext);
} }
@ -870,7 +869,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
if (NS_OK == mDeclaration->GetData(kCSSMarginSID, (nsCSSStruct**)&ourMargin)) { if (NS_OK == mDeclaration->GetData(kCSSMarginSID, (nsCSSStruct**)&ourMargin)) {
if (nsnull != ourMargin) { if (nsnull != ourMargin) {
nsStyleSpacing* spacing = (nsStyleSpacing*) nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetData(eStyleStruct_Spacing); aContext->GetMutableStyleData(eStyleStruct_Spacing);
// margin: length, percent, auto, inherit // margin: length, percent, auto, inherit
if (nsnull != ourMargin->mMargin) { if (nsnull != ourMargin->mMargin) {
@ -941,7 +940,6 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
} }
// border-color // border-color
nsStyleColor* color = (nsStyleColor*)aContext->GetData(eStyleStruct_Color);
if (nsnull != ourMargin->mColor) { if (nsnull != ourMargin->mColor) {
nsCSSRect* ourColor = ourMargin->mColor; nsCSSRect* ourColor = ourMargin->mColor;
if (ourColor->mTop.GetUnit() == eCSSUnit_Color) { if (ourColor->mTop.GetUnit() == eCSSUnit_Color) {
@ -963,7 +961,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSPosition* ourPosition; nsCSSPosition* ourPosition;
if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) { if (NS_OK == mDeclaration->GetData(kCSSPositionSID, (nsCSSStruct**)&ourPosition)) {
if (nsnull != ourPosition) { if (nsnull != ourPosition) {
nsStylePosition* position = (nsStylePosition*)aContext->GetData(eStyleStruct_Position); nsStylePosition* position = (nsStylePosition*)aContext->GetMutableStyleData(eStyleStruct_Position);
// position: normal, enum, inherit // position: normal, enum, inherit
if (ourPosition->mPosition.GetUnit() == eCSSUnit_Normal) { if (ourPosition->mPosition.GetUnit() == eCSSUnit_Normal) {
@ -976,7 +974,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
// explicit inheritance // explicit inheritance
nsIStyleContext* parentContext = aContext->GetParent(); nsIStyleContext* parentContext = aContext->GetParent();
if (nsnull != parentContext) { if (nsnull != parentContext) {
nsStylePosition* parentPosition = (nsStylePosition*)parentContext->GetData(eStyleStruct_Position); const nsStylePosition* parentPosition = (const nsStylePosition*)parentContext->GetStyleData(eStyleStruct_Position);
position->mPosition = parentPosition->mPosition; position->mPosition = parentPosition->mPosition;
} }
} }
@ -995,7 +993,7 @@ void CSSStyleRuleImpl::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* a
nsCSSList* ourList; nsCSSList* ourList;
if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) { if (NS_OK == mDeclaration->GetData(kCSSListSID, (nsCSSStruct**)&ourList)) {
if (nsnull != ourList) { if (nsnull != ourList) {
nsStyleList* list = (nsStyleList*)aContext->GetData(eStyleStruct_List); nsStyleList* list = (nsStyleList*)aContext->GetMutableStyleData(eStyleStruct_List);
// list-style-type: enum // list-style-type: enum
if (ourList->mType.GetUnit() == eCSSUnit_Enumerated) { if (ourList->mType.GetUnit() == eCSSUnit_Enumerated) {

Просмотреть файл

@ -74,7 +74,7 @@ struct ProportionalColumnLayoutStruct
/* return true if the style indicates that the width is proportional /* return true if the style indicates that the width is proportional
* for the purposes of column width determination * for the purposes of column width determination
*/ */
PRBool BasicTableLayoutStrategy::IsFixedWidth(nsStylePosition* aStylePosition) PRBool BasicTableLayoutStrategy::IsFixedWidth(const nsStylePosition* aStylePosition)
{ {
PRBool result = PR_FALSE; // assume that it is not fixed width PRBool result = PR_FALSE; // assume that it is not fixed width
PRInt32 unitType; PRInt32 unitType;
@ -105,7 +105,7 @@ PRBool BasicTableLayoutStrategy::IsFixedWidth(nsStylePosition* aStylePosition)
return result; return result;
} }
PRBool BasicTableLayoutStrategy::IsAutoWidth(nsStylePosition* aStylePosition) PRBool BasicTableLayoutStrategy::IsAutoWidth(const nsStylePosition* aStylePosition)
{ {
PRBool result = PR_TRUE; // assume that it is PRBool result = PR_TRUE; // assume that it is
if (nsnull!=aStylePosition) if (nsnull!=aStylePosition)
@ -240,7 +240,7 @@ PRBool BasicTableLayoutStrategy::AssignFixedColumnWidths(nsIPresContext* aPresCo
// Get the columns's style // Get the columns's style
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*) colSC->GetData(eStyleStruct_Position); const nsStylePosition* colPosition = (const nsStylePosition*) colSC->GetStyleData(eStyleStruct_Position);
// Get column width if it has one // Get column width if it has one
PRBool haveColWidth = PR_FALSE; PRBool haveColWidth = PR_FALSE;
@ -320,8 +320,8 @@ PRBool BasicTableLayoutStrategy::AssignFixedColumnWidths(nsIPresContext* aPresCo
// Get the cell's style // Get the cell's style
nsIStyleContextPtr cellSC; nsIStyleContextPtr cellSC;
cellFrame->GetStyleContext(aPresContext, cellSC.AssignRef()); cellFrame->GetStyleContext(aPresContext, cellSC.AssignRef());
nsStylePosition* cellPosition = (nsStylePosition*) const nsStylePosition* cellPosition = (const nsStylePosition*)
cellSC->GetData(eStyleStruct_Position); cellSC->GetStyleData(eStyleStruct_Position);
switch (cellPosition->mWidth.GetUnit()) { switch (cellPosition->mWidth.GetUnit()) {
case eStyleUnit_Coord: case eStyleUnit_Coord:
haveCellWidth = PR_TRUE; haveCellWidth = PR_TRUE;
@ -496,7 +496,7 @@ PRBool BasicTableLayoutStrategy::SetColumnsToMinWidth(nsIPresContext* aPresConte
if (gsDebug==PR_TRUE) printf (" for col %d\n", colIndex); if (gsDebug==PR_TRUE) printf (" for col %d\n", colIndex);
// XXX need column frame to ask this question // XXX need column frame to ask this question
nsStylePosition* colPosition = nsnull; const nsStylePosition* colPosition = nsnull;
if (PR_FALSE==IsFixedWidth(colPosition)) if (PR_FALSE==IsFixedWidth(colPosition))
{ {
@ -569,7 +569,7 @@ PRBool BasicTableLayoutStrategy::BalanceColumnsTableFits(nsIPresContext* aPresCo
NS_ASSERTION(nsnull!=colFrame, "bad col frame"); NS_ASSERTION(nsnull!=colFrame, "bad col frame");
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*) colSC->GetData(eStyleStruct_Position); const nsStylePosition* colPosition = (const nsStylePosition*) colSC->GetStyleData(eStyleStruct_Position);
if (gsDebug) printf("col %d has frame %p with style %p and pos %p\n", if (gsDebug) printf("col %d has frame %p with style %p and pos %p\n",
colIndex, colFrame, (nsIStyleContext *)colSC, colPosition); colIndex, colFrame, (nsIStyleContext *)colSC, colPosition);
@ -622,8 +622,8 @@ PRBool BasicTableLayoutStrategy::BalanceColumnsTableFits(nsIPresContext* aPresCo
nscoord specifiedCellWidth=-1; nscoord specifiedCellWidth=-1;
nsIStyleContextPtr cellSC; nsIStyleContextPtr cellSC;
data->GetCellFrame()->GetStyleContext(aPresContext, cellSC.AssignRef()); data->GetCellFrame()->GetStyleContext(aPresContext, cellSC.AssignRef());
nsStylePosition* cellPosition = (nsStylePosition*) const nsStylePosition* cellPosition = (const nsStylePosition*)
cellSC->GetData(eStyleStruct_Position); cellSC->GetStyleData(eStyleStruct_Position);
switch (cellPosition->mWidth.GetUnit()) { switch (cellPosition->mWidth.GetUnit()) {
case eStyleUnit_Coord: case eStyleUnit_Coord:
specifiedCellWidth = cellPosition->mWidth.GetCoordValue(); specifiedCellWidth = cellPosition->mWidth.GetCoordValue();
@ -896,7 +896,7 @@ PRBool BasicTableLayoutStrategy::BalanceColumnsConstrained( nsIPresContext* aPre
NS_ASSERTION(nsnull!=colFrame, "bad col frame"); NS_ASSERTION(nsnull!=colFrame, "bad col frame");
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*) colSC->GetData(eStyleStruct_Position); const nsStylePosition* colPosition = (const nsStylePosition*) colSC->GetStyleData(eStyleStruct_Position);
if (PR_FALSE==IsFixedWidth(colPosition)) if (PR_FALSE==IsFixedWidth(colPosition))
{ {

Просмотреть файл

@ -164,9 +164,9 @@ public:
* for the purposes of column width determination. * for the purposes of column width determination.
* return false if the width changes based on content, parent size, etc. * return false if the width changes based on content, parent size, etc.
*/ */
virtual PRBool IsFixedWidth(nsStylePosition* aStylePosition); virtual PRBool IsFixedWidth(const nsStylePosition* aStylePosition);
virtual PRBool IsAutoWidth(nsStylePosition* aStylePosition); virtual PRBool IsAutoWidth(const nsStylePosition* aStylePosition);
protected: protected:
nsTableFrame * mTableFrame; nsTableFrame * mTableFrame;

Просмотреть файл

@ -57,14 +57,14 @@ NS_METHOD nsTableCellFrame::Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext, nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
nsStyleColor* myColor = const nsStyleColor* myColor =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleSpacing* mySpacing = const nsStyleSpacing* mySpacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
NS_ASSERTION(nsnull!=myColor, "bad style color"); NS_ASSERTION(nsnull!=myColor, "bad style color");
NS_ASSERTION(nsnull!=mySpacing, "bad style spacing"); NS_ASSERTION(nsnull!=mySpacing, "bad style spacing");
@ -98,10 +98,10 @@ NS_METHOD nsTableCellFrame::Paint(nsIPresContext& aPresContext,
void nsTableCellFrame::VerticallyAlignChild(nsIPresContext* aPresContext) void nsTableCellFrame::VerticallyAlignChild(nsIPresContext* aPresContext)
{ {
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsStyleText* textStyle = const nsStyleText* textStyle =
(nsStyleText*)mStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)mStyleContext->GetStyleData(eStyleStruct_Text);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
@ -269,8 +269,8 @@ NS_METHOD nsTableCellFrame::Reflow(nsIPresContext* aPresContext,
// SEC: what about ascent and decent??? // SEC: what about ascent and decent???
// Compute the insets (sum of border and padding) // Compute the insets (sum of border and padding)
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
@ -454,7 +454,7 @@ void nsTableCellFrame::MapHTMLBorderStyle(nsIPresContext* aPresContext, nsStyleS
tableFrame->GetStyleContext(aPresContext,styleContext); tableFrame->GetStyleContext(aPresContext,styleContext);
nsStyleColor* colorData = (nsStyleColor*)styleContext->GetData(eStyleStruct_Color); const nsStyleColor* colorData = (const nsStyleColor*)styleContext->GetStyleData(eStyleStruct_Color);
// Look until we find a style context with a NON-transparent background color // Look until we find a style context with a NON-transparent background color
while (styleContext) while (styleContext)
@ -464,7 +464,7 @@ void nsTableCellFrame::MapHTMLBorderStyle(nsIPresContext* aPresContext, nsStyleS
nsIStyleContext* temp = styleContext; nsIStyleContext* temp = styleContext;
styleContext = styleContext->GetParent(); styleContext = styleContext->GetParent();
NS_RELEASE(temp); NS_RELEASE(temp);
colorData = (nsStyleColor*)styleContext->GetData(eStyleStruct_Color); colorData = (const nsStyleColor*)styleContext->GetStyleData(eStyleStruct_Color);
} }
else else
{ {
@ -539,7 +539,7 @@ void nsTableCellFrame::MapBorderMarginPadding(nsIPresContext* aPresContext)
spacing_result = table->GetAttribute(nsHTMLAtoms::cellspacing,spacing_value); spacing_result = table->GetAttribute(nsHTMLAtoms::cellspacing,spacing_value);
border_result = table->GetAttribute(nsHTMLAtoms::border,border_value); border_result = table->GetAttribute(nsHTMLAtoms::border,border_value);
nsStyleSpacing* spacingData = (nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); nsStyleSpacing* spacingData = (nsStyleSpacing*)mStyleContext->GetMutableStyleData(eStyleStruct_Spacing);
// check to see if cellpadding or cellspacing is defined // check to see if cellpadding or cellspacing is defined
if (spacing_result == eContentAttr_HasValue || padding_result == eContentAttr_HasValue) if (spacing_result == eContentAttr_HasValue || padding_result == eContentAttr_HasValue)
@ -586,7 +586,7 @@ void nsTableCellFrame::MapTextAttributes(nsIPresContext* aPresContext)
((nsTableCell*)mContent)->GetAttribute(nsHTMLAtoms::align, value); ((nsTableCell*)mContent)->GetAttribute(nsHTMLAtoms::align, value);
if (value.GetUnit() == eHTMLUnit_Enumerated) if (value.GetUnit() == eHTMLUnit_Enumerated)
{ {
nsStyleText* text = (nsStyleText*)mStyleContext->GetData(eStyleStruct_Text); nsStyleText* text = (nsStyleText*)mStyleContext->GetMutableStyleData(eStyleStruct_Text);
text->mTextAlign = value.GetIntValue(); text->mTextAlign = value.GetIntValue();
} }
} }

Просмотреть файл

@ -77,8 +77,8 @@ NS_METHOD nsTableColGroupFrame::Reflow(nsIPresContext* aPresContext,
// Resolve style // Resolve style
nsIStyleContextPtr kidSC = nsIStyleContextPtr kidSC =
aPresContext->ResolveStyleContextFor(kid, this); aPresContext->ResolveStyleContextFor(kid, this);
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
// Create a child frame // Create a child frame
nsIContentDelegate* kidDel = nsnull; nsIContentDelegate* kidDel = nsnull;
@ -151,17 +151,17 @@ NS_METHOD nsTableColGroupFrame::SetStyleContextForFirstPass(nsIPresContext* aPre
PRInt32 colIndex=0; PRInt32 colIndex=0;
nsIFrame *colFrame=nsnull; nsIFrame *colFrame=nsnull;
nsIStyleContext *colStyleContext; nsIStyleContextPtr colStyleContext;
for (; colIndex<numCols; colIndex++) for (; colIndex<numCols; colIndex++)
{ {
ChildAt(colIndex, colFrame); ChildAt(colIndex, colFrame);
if (nsnull==colFrame) if (nsnull==colFrame)
break; // the attribute value specified was greater than the actual number of columns break; // the attribute value specified was greater than the actual number of columns
nsStylePosition * colPosition=nsnull; nsStylePosition * colPosition=nsnull;
colFrame->GetStyleData(eStyleStruct_Position, (nsStyleStruct*&)colPosition); colFrame->GetStyleContext(aPresContext, colStyleContext.AssignRef());
colPosition = (nsStylePosition*)colStyleContext->GetMutableStyleData(eStyleStruct_Position);
nsStyleCoord width (1, eStyleUnit_Proportional); nsStyleCoord width (1, eStyleUnit_Proportional);
colPosition->mWidth = width; colPosition->mWidth = width;
colFrame->GetStyleContext(aPresContext, colStyleContext);
colStyleContext->RecalcAutomaticData(aPresContext); colStyleContext->RecalcAutomaticData(aPresContext);
} }
// if there are more columns, there width is set to "minimum" // if there are more columns, there width is set to "minimum"
@ -172,9 +172,9 @@ NS_METHOD nsTableColGroupFrame::SetStyleContextForFirstPass(nsIPresContext* aPre
ChildAt(colIndex, colFrame); ChildAt(colIndex, colFrame);
NS_ASSERTION(nsnull!=colFrame, "bad column frame"); NS_ASSERTION(nsnull!=colFrame, "bad column frame");
nsStylePosition * colPosition=nsnull; nsStylePosition * colPosition=nsnull;
colFrame->GetStyleData(eStyleStruct_Position, (nsStyleStruct*&)colPosition); colFrame->GetStyleContext(aPresContext, colStyleContext.AssignRef());
colPosition = (nsStylePosition*)colStyleContext->GetMutableStyleData(eStyleStruct_Position);
colPosition->mWidth.SetCoordValue(0); colPosition->mWidth.SetCoordValue(0);
colFrame->GetStyleContext(aPresContext, colStyleContext);
colStyleContext->RecalcAutomaticData(aPresContext); colStyleContext->RecalcAutomaticData(aPresContext);
} }

Просмотреть файл

@ -550,14 +550,14 @@ NS_METHOD nsTableFrame::Paint(nsIPresContext& aPresContext,
const nsRect& aDirtyRect) const nsRect& aDirtyRect)
{ {
// table paint code is concerned primarily with borders and bg color // table paint code is concerned primarily with borders and bg color
nsStyleDisplay* disp = const nsStyleDisplay* disp =
(nsStyleDisplay*)mStyleContext->GetData(eStyleStruct_Display); (const nsStyleDisplay*)mStyleContext->GetStyleData(eStyleStruct_Display);
if (disp->mVisible) { if (disp->mVisible) {
nsStyleColor* myColor = const nsStyleColor* myColor =
(nsStyleColor*)mStyleContext->GetData(eStyleStruct_Color); (const nsStyleColor*)mStyleContext->GetStyleData(eStyleStruct_Color);
nsStyleSpacing* mySpacing = const nsStyleSpacing* mySpacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
NS_ASSERTION(nsnull != myColor, "null style color"); NS_ASSERTION(nsnull != myColor, "null style color");
NS_ASSERTION(nsnull != mySpacing, "null style spacing"); NS_ASSERTION(nsnull != mySpacing, "null style spacing");
if (nsnull!=mySpacing) if (nsnull!=mySpacing)
@ -717,8 +717,8 @@ nsReflowStatus nsTableFrame::ResizeReflowPass1(nsIPresContext* aPresContext,
nsIFrame* prevKidFrame = nsnull;/* XXX incremental reflow! */ nsIFrame* prevKidFrame = nsnull;/* XXX incremental reflow! */
// Compute the insets (sum of border and padding) // Compute the insets (sum of border and padding)
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
nscoord topInset = borderPadding.top; nscoord topInset = borderPadding.top;
@ -883,8 +883,8 @@ nsReflowStatus nsTableFrame::ResizeReflowPass2(nsIPresContext* aPresContext,
// Check for an overflow list // Check for an overflow list
MoveOverflowToChildList(); MoveOverflowToChildList();
nsStyleSpacing* mySpacing = (nsStyleSpacing*) const nsStyleSpacing* mySpacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin myBorderPadding; nsMargin myBorderPadding;
mySpacing->CalcBorderPaddingFor(this, myBorderPadding); mySpacing->CalcBorderPaddingFor(this, myBorderPadding);
@ -1125,8 +1125,8 @@ PRBool nsTableFrame::ReflowMappedChildren( nsIPresContext* aPresContext,
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef()); kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef());
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kidFrame, kidMargin); kidSpacing->CalcMarginFor(kidFrame, kidMargin);
@ -1683,16 +1683,16 @@ void nsTableFrame::BalanceColumnWidths(nsIPresContext* aPresContext,
PRInt32 maxTableWidth = 0; PRInt32 maxTableWidth = 0;
PRInt32 totalFixedWidth = 0; PRInt32 totalFixedWidth = 0;
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
// need to figure out the overall table width constraint // need to figure out the overall table width constraint
// default case, get 100% of available space // default case, get 100% of available space
PRInt32 maxWidth; PRInt32 maxWidth;
nsStylePosition* position = const nsStylePosition* position =
(nsStylePosition*)mStyleContext->GetData(eStyleStruct_Position); (const nsStylePosition*)mStyleContext->GetStyleData(eStyleStruct_Position);
switch (position->mWidth.GetUnit()) { switch (position->mWidth.GetUnit()) {
case eStyleUnit_Coord: case eStyleUnit_Coord:
maxWidth = position->mWidth.GetCoordValue(); maxWidth = position->mWidth.GetCoordValue();
@ -1752,8 +1752,8 @@ void nsTableFrame::SetTableWidth(nsIPresContext* aPresContext)
} }
// Compute the insets (sum of border and padding) // Compute the insets (sum of border and padding)
nsStyleSpacing* spacing = const nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
@ -1786,8 +1786,8 @@ void nsTableFrame::ShrinkWrapChildren(nsIPresContext* aPresContext,
PRInt32 rowIndex; PRInt32 rowIndex;
PRInt32 tableHeight = 0; PRInt32 tableHeight = 0;
nsStyleSpacing* spacing = (nsStyleSpacing*) const nsStyleSpacing* spacing = (const nsStyleSpacing*)
mStyleContext->GetData(eStyleStruct_Spacing); mStyleContext->GetStyleData(eStyleStruct_Spacing);
nsMargin borderPadding; nsMargin borderPadding;
spacing->CalcBorderPaddingFor(this, borderPadding); spacing->CalcBorderPaddingFor(this, borderPadding);
@ -2139,7 +2139,7 @@ PRBool nsTableFrame::SetCellLayoutData(nsIPresContext* aPresContext,
// assumes that the col style has been twiddled to account for first cell width attribute // assumes that the col style has been twiddled to account for first cell width attribute
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*)colSC->GetData(eStyleStruct_Position); const nsStylePosition* colPosition = (const nsStylePosition*)colSC->GetStyleData(eStyleStruct_Position);
mColCache->AddColumnInfo(colPosition->mWidth.GetUnit(), colFrame->GetColumnIndex()); mColCache->AddColumnInfo(colPosition->mWidth.GetUnit(), colFrame->GetColumnIndex());
} }
} }
@ -2396,7 +2396,7 @@ void nsTableFrame::MapHTMLBorderStyle(nsStyleSpacing& aSpacingStyle, nscoord aBo
nsIStyleContext* styleContext = mStyleContext; nsIStyleContext* styleContext = mStyleContext;
nsStyleColor* colorData = (nsStyleColor*)styleContext->GetData(eStyleStruct_Color); const nsStyleColor* colorData = (const nsStyleColor*)styleContext->GetStyleData(eStyleStruct_Color);
// Look until we find a style context with a NON-transparent background color // Look until we find a style context with a NON-transparent background color
while (styleContext) while (styleContext)
@ -2407,7 +2407,7 @@ void nsTableFrame::MapHTMLBorderStyle(nsStyleSpacing& aSpacingStyle, nscoord aBo
styleContext = styleContext->GetParent(); styleContext = styleContext->GetParent();
if (temp != mStyleContext) if (temp != mStyleContext)
NS_RELEASE(temp); NS_RELEASE(temp);
colorData = (nsStyleColor*)styleContext->GetData(eStyleStruct_Color); colorData = (const nsStyleColor*)styleContext->GetStyleData(eStyleStruct_Color);
} }
else else
{ {
@ -2482,7 +2482,7 @@ void nsTableFrame::MapBorderMarginPadding(nsIPresContext* aPresContext)
if (!table) if (!table)
return; return;
nsStyleSpacing* spacingData = (nsStyleSpacing*)mStyleContext->GetData(eStyleStruct_Spacing); nsStyleSpacing* spacingData = (nsStyleSpacing*)mStyleContext->GetMutableStyleData(eStyleStruct_Spacing);
border_result = table->GetAttribute(nsHTMLAtoms::border,border_value); border_result = table->GetAttribute(nsHTMLAtoms::border,border_value);
if (border_result == eContentAttr_HasValue) if (border_result == eContentAttr_HasValue)
@ -2632,7 +2632,7 @@ PRBool nsTableFrame::TableIsAutoWidth(nsTableFrame *aTableFrame,
nsIFrame * parent = nsnull; nsIFrame * parent = nsnull;
aTableFrame->GetGeometricParent(parent); aTableFrame->GetGeometricParent(parent);
parent->GetStyleContext(nsnull, parentStyle); parent->GetStyleContext(nsnull, parentStyle);
nsStylePosition* tablePosition = (nsStylePosition*)parentStyle->GetData(eStyleStruct_Position); const nsStylePosition* tablePosition = (const nsStylePosition*)parentStyle->GetStyleData(eStyleStruct_Position);
// end REMOVE_ME_WHEN_TABLE_STYLE_IS_RESOLVED! // end REMOVE_ME_WHEN_TABLE_STYLE_IS_RESOLVED!
switch (tablePosition->mWidth.GetUnit()) { switch (tablePosition->mWidth.GetUnit()) {
case eStyleUnit_Auto: // specified auto width case eStyleUnit_Auto: // specified auto width

Просмотреть файл

@ -20,6 +20,7 @@
#include "nscore.h" #include "nscore.h"
#include "nsContainerFrame.h" #include "nsContainerFrame.h"
#include "nsStyleCoord.h"
class nsCellLayoutData; class nsCellLayoutData;
class nsTableCell; class nsTableCell;
@ -33,7 +34,6 @@ class ColumnInfoCache;
struct InnerTableReflowState; struct InnerTableReflowState;
struct nsStylePosition; struct nsStylePosition;
struct nsStyleSpacing; struct nsStyleSpacing;
enum nsStyleUnit;
/** nsTableFrame maps the inner portion of a table (everything except captions.) /** nsTableFrame maps the inner portion of a table (everything except captions.)
* Used as a pseudo-frame within nsTableOuterFrame, * Used as a pseudo-frame within nsTableOuterFrame,

Просмотреть файл

@ -458,8 +458,8 @@ PRBool nsTableOuterFrame::ReflowMappedChildren( nsIPresContext* aPresContex
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef()); kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef());
nsStyleSpacing* kidSpacing = const nsStyleSpacing* kidSpacing =
(nsStyleSpacing*)kidSC->GetData(eStyleStruct_Spacing); (const nsStyleSpacing*)kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(kidFrame, kidMargin); kidSpacing->CalcMarginFor(kidFrame, kidMargin);
nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin); nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin);
@ -895,8 +895,8 @@ nsTableOuterFrame::ReflowChild( nsIFrame* aKidFrame,
aKidFrame->GetStyleContext(aPresContext, captionStyleContext.AssignRef()); aKidFrame->GetStyleContext(aPresContext, captionStyleContext.AssignRef());
NS_ASSERTION(captionStyleContext.IsNotNull(), "null style context for caption"); NS_ASSERTION(captionStyleContext.IsNotNull(), "null style context for caption");
nsStyleText* captionStyle = const nsStyleText* captionStyle =
(nsStyleText*)captionStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)captionStyleContext->GetStyleData(eStyleStruct_Text);
NS_ASSERTION(nsnull != captionStyle, "null style molecule for caption"); NS_ASSERTION(nsnull != captionStyle, "null style molecule for caption");
if ((eStyleUnit_Enumerated == captionStyle->mVerticalAlign.GetUnit()) && if ((eStyleUnit_Enumerated == captionStyle->mVerticalAlign.GetUnit()) &&
(NS_STYLE_VERTICAL_ALIGN_BOTTOM==captionStyle->mVerticalAlign.GetIntValue())) (NS_STYLE_VERTICAL_ALIGN_BOTTOM==captionStyle->mVerticalAlign.GetIntValue()))
@ -974,8 +974,8 @@ void nsTableOuterFrame::CreateChildFrames(nsIPresContext* aPresContext)
nsIStyleContextPtr captionStyleContext = nsIStyleContextPtr captionStyleContext =
aPresContext->ResolveStyleContextFor(caption, this); aPresContext->ResolveStyleContextFor(caption, this);
NS_ASSERTION(captionStyleContext.IsNotNull(), "bad style context for caption."); NS_ASSERTION(captionStyleContext.IsNotNull(), "bad style context for caption.");
nsStyleText* captionStyle = const nsStyleText* captionStyle =
(nsStyleText*)captionStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)captionStyleContext->GetStyleData(eStyleStruct_Text);
// create the frame // create the frame
nsIFrame *captionFrame=nsnull; nsIFrame *captionFrame=nsnull;
frameCreated = ((nsIHTMLContent*)(nsIContent*)caption)->CreateFrame(aPresContext, frameCreated = ((nsIHTMLContent*)(nsIContent*)caption)->CreateFrame(aPresContext,
@ -1072,8 +1072,8 @@ nsTableOuterFrame::ResizeReflowTopCaptionsPass2(nsIPresContext* aPresCont
captionFrame->GetStyleContext(aPresContext, captionStyleContext.AssignRef()); captionFrame->GetStyleContext(aPresContext, captionStyleContext.AssignRef());
NS_ASSERTION(captionStyleContext.IsNotNull(), "null style context for caption"); NS_ASSERTION(captionStyleContext.IsNotNull(), "null style context for caption");
nsStyleText* captionStyle = const nsStyleText* captionStyle =
(nsStyleText*)captionStyleContext->GetData(eStyleStruct_Text); (const nsStyleText*)captionStyleContext->GetStyleData(eStyleStruct_Text);
NS_ASSERTION(nsnull != captionStyle, "null style molecule for caption"); NS_ASSERTION(nsnull != captionStyle, "null style molecule for caption");
if ((eStyleUnit_Enumerated == captionStyle->mVerticalAlign.GetUnit()) && if ((eStyleUnit_Enumerated == captionStyle->mVerticalAlign.GetUnit()) &&

Просмотреть файл

@ -424,8 +424,8 @@ PRBool nsTableRowFrame::ReflowMappedChildren(nsIPresContext* aPresContext,
nscoord cellHeight = desiredSize.height; nscoord cellHeight = desiredSize.height;
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef()); kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef());
nsStylePosition* kidPosition = (nsStylePosition*) const nsStylePosition* kidPosition = (const nsStylePosition*)
kidSC->GetData(eStyleStruct_Position); kidSC->GetStyleData(eStyleStruct_Position);
switch (kidPosition->mHeight.GetUnit()) { switch (kidPosition->mHeight.GetUnit()) {
case eStyleUnit_Coord: case eStyleUnit_Coord:
specifiedHeight = kidPosition->mHeight.GetCoordValue(); specifiedHeight = kidPosition->mHeight.GetCoordValue();
@ -1163,7 +1163,7 @@ nsTableRowFrame::SetColumnStyleFromCell(nsIPresContext* aPresContext,
if (0==rowIndex) if (0==rowIndex)
{ {
// get the cell style info // get the cell style info
nsStylePosition* cellPosition = (nsStylePosition*) aCellSC->GetData(eStyleStruct_Position); const nsStylePosition* cellPosition = (const nsStylePosition*) aCellSC->GetStyleData(eStyleStruct_Position);
if ((eStyleUnit_Coord == cellPosition->mWidth.GetUnit()) || if ((eStyleUnit_Coord == cellPosition->mWidth.GetUnit()) ||
(eStyleUnit_Percent==cellPosition->mWidth.GetUnit())) { (eStyleUnit_Percent==cellPosition->mWidth.GetUnit())) {
@ -1179,7 +1179,7 @@ nsTableRowFrame::SetColumnStyleFromCell(nsIPresContext* aPresContext,
// get the column style and set the width attribute // get the column style and set the width attribute
nsIStyleContextPtr colSC; nsIStyleContextPtr colSC;
colFrame->GetStyleContext(aPresContext, colSC.AssignRef()); colFrame->GetStyleContext(aPresContext, colSC.AssignRef());
nsStylePosition* colPosition = (nsStylePosition*) colSC->GetData(eStyleStruct_Position); nsStylePosition* colPosition = (nsStylePosition*) colSC->GetMutableStyleData(eStyleStruct_Position);
// set the column width attribute // set the column width attribute
if (eStyleUnit_Coord == cellPosition->mWidth.GetUnit()) if (eStyleUnit_Coord == cellPosition->mWidth.GetUnit())
{ {

Просмотреть файл

@ -283,8 +283,8 @@ PRBool nsTableRowGroupFrame::ReflowMappedChildren( nsIPresContext* aPresCon
nsIStyleContextPtr kidSC; nsIStyleContextPtr kidSC;
kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef()); kidFrame->GetStyleContext(aPresContext, kidSC.AssignRef());
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(this, kidMargin); kidSpacing->CalcMarginFor(this, kidMargin);
nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin); nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin);
@ -744,8 +744,8 @@ nsTableRowGroupFrame::ReflowUnmappedChildren(nsIPresContext* aPresContext,
// Resolve style // Resolve style
nsIStyleContextPtr kidSC = nsIStyleContextPtr kidSC =
aPresContext->ResolveStyleContextFor(kid, this); aPresContext->ResolveStyleContextFor(kid, this);
nsStyleSpacing* kidSpacing = (nsStyleSpacing*) const nsStyleSpacing* kidSpacing = (const nsStyleSpacing*)
kidSC->GetData(eStyleStruct_Spacing); kidSC->GetStyleData(eStyleStruct_Spacing);
nsMargin kidMargin; nsMargin kidMargin;
kidSpacing->CalcMarginFor(this, kidMargin); kidSpacing->CalcMarginFor(this, kidMargin);
nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin); nscoord topMargin = GetTopMarginFor(aPresContext, aState, kidMargin);