nsIDOMCSSStyleDeclaration* nsStyledElementNotElementCSSInlineStyle::GetStyle(nsresult* retval) { nsXULElement* xulElement = nsXULElement::FromContent(this); if (xulElement) { nsresult rv = xulElement->EnsureLocalStyle(); if (NS_FAILED(rv)) { *retval = rv; return nsnull; } } nsGenericElement::nsDOMSlots *slots = DOMSlots(); if (!slots->mStyle) { // Just in case... ReparseStyleAttribute(true); slots->mStyle = new nsDOMCSSAttributeDeclaration(this, false); SetMayHaveStyle(); } *retval = NS_OK; return slots->mStyle; }
nsresult nsStyledElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, nsIContent* aBindingParent, PRBool aCompileEventHandlers) { nsresult rv = nsStyledElementBase::BindToTree(aDocument, aParent, aBindingParent, aCompileEventHandlers); NS_ENSURE_SUCCESS(rv, rv); // XXXbz if we already have a style attr parsed, this won't do // anything... need to fix that. ReparseStyleAttribute(PR_FALSE); return rv; }
nsIDOMCSSStyleDeclaration* nsStyledElementNotElementCSSInlineStyle::GetStyle(nsresult* retval) { nsGenericElement::nsDOMSlots *slots = DOMSlots(); if (!slots->mStyle) { // Just in case... ReparseStyleAttribute(true); slots->mStyle = new nsDOMCSSAttributeDeclaration(this, false); SetMayHaveStyle(); } *retval = NS_OK; return slots->mStyle; }
nsresult nsStyledElement::GetStyle(nsIDOMCSSStyleDeclaration** aStyle) { nsGenericElement::nsDOMSlots *slots = GetDOMSlots(); NS_ENSURE_TRUE(slots, NS_ERROR_OUT_OF_MEMORY); if (!slots->mStyle) { // Just in case... ReparseStyleAttribute(PR_TRUE); slots->mStyle = new nsDOMCSSAttributeDeclaration(this); NS_ENSURE_TRUE(slots->mStyle, NS_ERROR_OUT_OF_MEMORY); SetFlags(NODE_MAY_HAVE_STYLE); } // Why bother with QI? NS_ADDREF(*aStyle = slots->mStyle); return NS_OK; }
nsresult nsStyledElementNotElementCSSInlineStyle::BindToTree(nsIDocument* aDocument, nsIContent* aParent, nsIContent* aBindingParent, bool aCompileEventHandlers) { nsresult rv = nsStyledElementBase::BindToTree(aDocument, aParent, aBindingParent, aCompileEventHandlers); NS_ENSURE_SUCCESS(rv, rv); if (aDocument && HasID() && !GetBindingParent()) { aDocument->AddToIdTable(this, DoGetID()); } if (!IsXUL()) { // XXXbz if we already have a style attr parsed, this won't do // anything... need to fix that. ReparseStyleAttribute(false); } return NS_OK; }