nsDOMCSSAttributeDeclaration::RemoveProperty(const nsString& aPropertyName, nsString& aReturn)
nsDOMCSSAttributeDeclaration::RemoveProperty(const nsAReadableString& aPropertyName, nsAWritableString& aReturn)
nsDOMCSSAttributeDeclaration::RemoveProperty(const nsString& aPropertyName,                                             nsString& aReturn){  nsCOMPtr<nsICSSDeclaration> decl;  nsresult rv = GetCSSDeclaration(getter_AddRefs(decl), PR_TRUE);  if (NS_SUCCEEDED(rv) && decl && mContent) {    nsCOMPtr<nsIDocument> doc;    mContent->GetDocument(*getter_AddRefs(doc));    if (doc)      doc->BeginUpdate();    PRInt32 hint;    decl->GetStyleImpact(&hint);    nsCSSProperty prop = nsCSSProps::LookupProperty(aPropertyName);    nsCSSValue val;    rv = decl->RemoveProperty(prop, val);    if (NS_SUCCEEDED(rv)) {      // We pass in eCSSProperty_UNKNOWN here so that we don't get the      // property name in the return string.      val.ToString(aReturn, eCSSProperty_UNKNOWN);    } else {      // If we tried to remove an invalid property or a property that wasn't      //  set we simply return success and an empty string      rv = NS_OK;    }    if (doc) {      doc->AttributeChanged(mContent, kNameSpaceID_None, nsHTMLAtoms::style,                            hint);      doc->EndUpdate();    }  }  return rv;}