const nsStyleBackground* color = nsnull; GetStyleData(eStyleStruct_Background, (const nsStyleStruct*&)color, aFrame);
const nsStyleColor* color=nsnull; GetStyleData(eStyleStruct_Color, (const nsStyleStruct*&)color, aFrame);
nsComputedDOMStyle::GetBackgroundColor(nsIFrame *aFrame,                                       nsIDOMCSSValue** aValue){  nsROCSSPrimitiveValue* val = GetROCSSPrimitiveValue();  NS_ENSURE_TRUE(val, NS_ERROR_OUT_OF_MEMORY);  const nsStyleBackground* color = nsnull;  GetStyleData(eStyleStruct_Background, (const nsStyleStruct*&)color, aFrame);  if (color) {    if (color->mBackgroundFlags & NS_STYLE_BG_COLOR_TRANSPARENT) {      const nsAFlatCString& backgroundColor =        nsCSSProps::SearchKeywordTable(NS_STYLE_BG_COLOR_TRANSPARENT,                                       nsCSSProps::kBackgroundColorKTable);      val->SetIdent(backgroundColor);    } else {      nsDOMCSSRGBColor *rgb = nsnull;      rgb = GetDOMCSSRGBColor(color->mBackgroundColor);      if (!rgb) {        delete val;        return NS_ERROR_OUT_OF_MEMORY;      }      val->SetColor(rgb);    }  }  return CallQueryInterface(val, aValue);}