else if (aData->mSID == eStyleStruct_Table && aData->mTableData && aData->mTableData->mSpan.GetUnit() == eCSSUnit_Null) {  nsHTMLValue value; aAttributes->GetAttribute(nsHTMLAtoms::span, value); if (value.GetUnit() == eHTMLUnit_Integer) aData->mTableData->mSpan.SetIntValue(value.GetIntValue(), eCSSUnit_Integer); }
void MapAttributesIntoRule(const nsIHTMLMappedAttributes* aAttributes, nsRuleData* aData){  if (!aAttributes || !aData)    return;  nsHTMLValue value;    if (aData->mPositionData && aData->mPositionData->mWidth.GetUnit() == eCSSUnit_Null) {    // width    aAttributes->GetAttribute(nsHTMLAtoms::width, value);    if (value.GetUnit() != eHTMLUnit_Null) {      switch (value.GetUnit()) {      case eHTMLUnit_Percent: {        aData->mPositionData->mWidth.SetPercentValue(value.GetPercentValue());        break;      }      case eHTMLUnit_Pixel: {        aData->mPositionData->mWidth.SetFloatValue((float)value.GetPixelValue(), eCSSUnit_Pixel);        break;      }      case eHTMLUnit_Proportional: {        aData->mPositionData->mWidth.SetFloatValue((float)value.GetIntValue(), eCSSUnit_Proportional);        break;      }      default:        break;      }    }  }  else if (aData->mSID == eStyleStruct_Table &&            aData->mTableData && aData->mTableData->mSpan.GetUnit() == eCSSUnit_Null) {    // span: int    nsHTMLValue value;    aAttributes->GetAttribute(nsHTMLAtoms::span, value);    if (value.GetUnit() == eHTMLUnit_Integer)      aData->mTableData->mSpan.SetIntValue(value.GetIntValue(), eCSSUnit_Integer);  }  else if (aData->mTextData) {    if (aData->mSID == eStyleStruct_Text) {      if (aData->mTextData->mTextAlign.GetUnit() == eCSSUnit_Null) {        // align: enum        nsHTMLValue value;        aAttributes->GetAttribute(nsHTMLAtoms::align, value);        if (value.GetUnit() == eHTMLUnit_Enumerated)          aData->mTextData->mTextAlign.SetIntValue(value.GetIntValue(), eCSSUnit_Enumerated);      }    }    else {      if (aData->mTextData->mVerticalAlign.GetUnit() == eCSSUnit_Null) {        // valign: enum        nsHTMLValue value;        aAttributes->GetAttribute(nsHTMLAtoms::valign, value);        if (value.GetUnit() == eHTMLUnit_Enumerated)           aData->mTextData->mVerticalAlign.SetIntValue(value.GetIntValue(), eCSSUnit_Enumerated);      }    }  }  nsGenericHTMLElement::MapCommonAttributesInto(aAttributes, aData);}