From 438c25b48d2bc583a2807396fcc3cb488dec4aca Mon Sep 17 00:00:00 2001 From: "peterl%netscape.com" Date: Wed, 26 May 1999 23:46:45 +0000 Subject: [PATCH] sync to nsIStyledContent API change git-svn-id: svn://10.0.0.236/trunk@32800 18797224-902f-48f8-a5cc-f745e15eee43 --- .../html/content/src/nsGenericHTMLElement.cpp | 18 +++-- .../html/content/src/nsGenericHTMLElement.h | 16 ++--- .../html/content/src/nsHTMLBodyElement.cpp | 72 ++++--------------- .../content/xul/content/src/nsXULElement.cpp | 19 ++--- .../html/content/src/nsGenericHTMLElement.cpp | 18 +++-- .../html/content/src/nsGenericHTMLElement.h | 16 ++--- .../html/content/src/nsHTMLBodyElement.cpp | 72 ++++--------------- mozilla/rdf/content/src/nsRDFElement.cpp | 19 ++--- mozilla/rdf/content/src/nsXULElement.cpp | 19 ++--- 9 files changed, 99 insertions(+), 170 deletions(-) diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp index 6b006efb078..3cb4b72cbd2 100644 --- a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp +++ b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp @@ -922,25 +922,28 @@ nsGenericHTMLElement::HasClass(nsIAtom* aClass) const } nsresult -nsGenericHTMLElement::GetContentStyleRule(nsIStyleRule*& aResult) +nsGenericHTMLElement::GetContentStyleRules(nsISupportsArray* aRules) { nsresult result = NS_ERROR_NULL_POINTER; nsIStyleRule* rule = nsnull; - if (nsnull != mAttributes) { + if (aRules && mAttributes) { result = mAttributes->QueryInterface(kIStyleRuleIID, (void**)&rule); } - aResult = rule; + if (rule) { + aRules->AppendElement(rule); + NS_RELEASE(rule); + } return result; } nsresult -nsGenericHTMLElement::GetInlineStyleRule(nsIStyleRule*& aResult) +nsGenericHTMLElement::GetInlineStyleRules(nsISupportsArray* aRules) { nsresult result = NS_ERROR_NULL_POINTER; nsIStyleRule* rule = nsnull; - if (nsnull != mAttributes) { + if (aRules && mAttributes) { nsHTMLValue value; if (NS_CONTENT_ATTR_HAS_VALUE == mAttributes->GetAttribute(nsHTMLAtoms::style, value)) { if (eHTMLUnit_ISupports == value.GetUnit()) { @@ -950,7 +953,10 @@ nsGenericHTMLElement::GetInlineStyleRule(nsIStyleRule*& aResult) } } } - aResult = rule; + if (rule) { + aRules->AppendElement(rule); + NS_RELEASE(rule); + } return result; } diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.h b/mozilla/content/html/content/src/nsGenericHTMLElement.h index 8377b88e558..c202feae52d 100644 --- a/mozilla/content/html/content/src/nsGenericHTMLElement.h +++ b/mozilla/content/html/content/src/nsGenericHTMLElement.h @@ -110,8 +110,8 @@ public: nsresult GetID(nsIAtom*& aResult) const; nsresult GetClasses(nsVoidArray& aArray) const; nsresult HasClass(nsIAtom* aClass) const; - nsresult GetContentStyleRule(nsIStyleRule*& aResult); - nsresult GetInlineStyleRule(nsIStyleRule*& aResult); + nsresult GetContentStyleRules(nsISupportsArray* aRules); + nsresult GetInlineStyleRules(nsISupportsArray* aRules); nsresult GetBaseURL(nsIURL*& aBaseURL) const; nsresult GetBaseTarget(nsString& aBaseTarget) const; nsresult ToHTMLString(nsString& aResult) const; @@ -434,11 +434,11 @@ public: NS_IMETHOD HasClass(nsIAtom* aClass) const { \ return _g.HasClass(aClass); \ } \ - NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult) { \ - return _g.GetContentStyleRule(aResult); \ + NS_IMETHOD GetContentStyleRules(nsISupportsArray* aRules) { \ + return _g.GetContentStyleRules(aRules); \ } \ - NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult) { \ - return _g.GetInlineStyleRule(aResult); \ + NS_IMETHOD GetInlineStyleRules(nsISupportsArray* aRules) { \ + return _g.GetInlineStyleRules(aRules); \ } \ NS_IMETHOD GetBaseURL(nsIURL*& aBaseURL) const { \ return _g.GetBaseURL(aBaseURL); \ @@ -484,8 +484,8 @@ public: NS_IMETHOD HasClass(nsIAtom* aClass) const { \ return _g.HasClass(aClass); \ } \ - NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult); \ - NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult); \ + NS_IMETHOD GetContentStyleRules(nsISupportsArray* aRules); \ + NS_IMETHOD GetInlineStyleRules(nsISupportsArray* aRules); \ NS_IMETHOD GetBaseURL(nsIURL*& aBaseURL) const { \ return _g.GetBaseURL(aBaseURL); \ } \ diff --git a/mozilla/content/html/content/src/nsHTMLBodyElement.cpp b/mozilla/content/html/content/src/nsHTMLBodyElement.cpp index 7e44de6db7f..f6cfad3959d 100644 --- a/mozilla/content/html/content/src/nsHTMLBodyElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLBodyElement.cpp @@ -37,6 +37,7 @@ #include "nsIWebShell.h" #include "nsIHTMLAttributes.h" #include "nsIHTMLContentContainer.h" +#include "nsISupportsArray.h" static NS_DEFINE_IID(kIHTMLDocumentIID, NS_IHTMLDOCUMENT_IID); static NS_DEFINE_IID(kIStyleRuleIID, NS_ISTYLE_RULE_IID); @@ -279,7 +280,6 @@ BodyRule::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) if (nsnull != styleSpacing) { nsHTMLValue value; - PRInt32 count = 0; PRInt32 attrCount; float p2t; mPart->GetAttributeCount(attrCount); @@ -298,7 +298,6 @@ BodyRule::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) nsStyleCoord widthCoord(bodyMarginWidth); styleSpacing->mMargin.SetLeft(widthCoord); styleSpacing->mMargin.SetRight(widthCoord); - count++; } mPart->GetHTMLAttribute(nsHTMLAtoms::marginheight, value); @@ -311,14 +310,6 @@ BodyRule::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) nsStyleCoord heightCoord(bodyMarginHeight); styleSpacing->mMargin.SetTop(heightCoord); styleSpacing->mMargin.SetBottom(heightCoord); - count++; - } - - if (count < attrCount) { // more to go... - nsMapAttributesFunc fontFunc; - nsMapAttributesFunc func; - mPart->GetAttributeMappingFunctions(fontFunc, func); - (*func)(mPart->mInner.mAttributes, aContext, aPresContext); } } @@ -418,18 +409,6 @@ nsresult BodyFixupRule::QueryInterface(const nsIID& aIID, NS_ADDREF_THIS(); return NS_OK; } - if (aIID.Equals(kICSSStyleRuleIID)) { - nsIStyleRule* inlineRule = nsnull; - if (nsnull != mPart) { - mPart->mInner.GetInlineStyleRule(inlineRule); - } - if (nsnull != inlineRule) { - nsresult result = inlineRule->QueryInterface(kICSSStyleRuleIID, aInstancePtrResult); - NS_RELEASE(inlineRule); - return result; - } - return NS_NOINTERFACE; - } if (aIID.Equals(kISupportsIID)) { *aInstancePtrResult = (void*) ((nsISupports*)this); NS_ADDREF_THIS(); @@ -477,16 +456,6 @@ BodyFixupRule::MapFontStyleInto(nsIStyleContext* aContext, nsIPresContext* aPres NS_IMETHODIMP BodyFixupRule::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) { - // Invoke style mapping of inline rule - nsIStyleRule* inlineRule = nsnull; - if (nsnull != mPart) { - mPart->mInner.GetInlineStyleRule(inlineRule); - if (nsnull != inlineRule) { - inlineRule->MapStyleInto(aContext, aPresContext); - NS_RELEASE(inlineRule); - } - } - // XXX do any other body processing here const nsStyleColor* styleColor; @@ -731,27 +700,6 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes, } } - // marginwidth/marginheight - // XXX: see ua.css for related code in the BODY rule - float p2t; - aPresContext->GetScaledPixelsToTwips(&p2t); - nsStyleSpacing* spacing = (nsStyleSpacing*) - aContext->GetMutableStyleData(eStyleStruct_Spacing); - aAttributes->GetAttribute(nsHTMLAtoms::marginwidth, value); - if (eHTMLUnit_Pixel == value.GetUnit()) { - nscoord v = NSToCoordFloor(value.GetPixelValue() * p2t); - nsStyleCoord c(v); - spacing->mPadding.SetLeft(c); - spacing->mPadding.SetRight(c); - } - aAttributes->GetAttribute(nsHTMLAtoms::marginheight, value); - if (eHTMLUnit_Pixel == value.GetUnit()) { - nscoord v = NSToCoordFloor(value.GetPixelValue() * p2t); - nsStyleCoord c(v); - spacing->mPadding.SetTop(c); - spacing->mPadding.SetBottom(c); - } - } nsGenericHTMLElement::MapCommonAttributesInto(aAttributes, aContext, aPresContext); } @@ -794,8 +742,10 @@ static nsIHTMLStyleSheet* GetAttrStyleSheet(nsIDocument* aDocument) } NS_IMETHODIMP -nsHTMLBodyElement::GetContentStyleRule(nsIStyleRule*& aResult) +nsHTMLBodyElement::GetContentStyleRules(nsISupportsArray* aRules) { + mInner.GetContentStyleRules(aRules); + if (nsnull == mInner.mContentStyleRule) { nsIHTMLStyleSheet* sheet = nsnull; @@ -807,8 +757,9 @@ nsHTMLBodyElement::GetContentStyleRule(nsIStyleRule*& aResult) NS_IF_RELEASE(sheet); NS_IF_ADDREF(mInner.mContentStyleRule); } - NS_IF_ADDREF(mInner.mContentStyleRule); - aResult = mInner.mContentStyleRule; + if (aRules && mInner.mContentStyleRule) { + aRules->AppendElement(mInner.mContentStyleRule); + } return NS_OK; } @@ -828,8 +779,10 @@ static nsIHTMLCSSStyleSheet* GetInlineStyleSheet(nsIDocument* aDocument) } NS_IMETHODIMP -nsHTMLBodyElement::GetInlineStyleRule(nsIStyleRule*& aResult) +nsHTMLBodyElement::GetInlineStyleRules(nsISupportsArray* aRules) { + mInner.GetInlineStyleRules(aRules); + if (nsnull == mInner.mInlineStyleRule) { nsIHTMLCSSStyleSheet* sheet = nsnull; @@ -841,8 +794,9 @@ nsHTMLBodyElement::GetInlineStyleRule(nsIStyleRule*& aResult) NS_IF_RELEASE(sheet); NS_IF_ADDREF(mInner.mInlineStyleRule); } - NS_IF_ADDREF(mInner.mInlineStyleRule); - aResult = mInner.mInlineStyleRule; + if (aRules && mInner.mInlineStyleRule) { + aRules->AppendElement(mInner.mInlineStyleRule); + } return NS_OK; } diff --git a/mozilla/content/xul/content/src/nsXULElement.cpp b/mozilla/content/xul/content/src/nsXULElement.cpp index 8876296f93c..0f231ab09d5 100644 --- a/mozilla/content/xul/content/src/nsXULElement.cpp +++ b/mozilla/content/xul/content/src/nsXULElement.cpp @@ -215,8 +215,8 @@ public: NS_IMETHOD GetClasses(nsVoidArray& aArray) const; NS_IMETHOD HasClass(nsIAtom* aClass) const; - NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult); - NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult); + NS_IMETHOD GetContentStyleRules(nsISupportsArray* aRules); + NS_IMETHOD GetInlineStyleRules(nsISupportsArray* aRules); /** NRA *** * Get a hint that tells the style system what to do when @@ -2702,20 +2702,23 @@ RDFElementImpl::HasClass(nsIAtom* aClass) const } NS_IMETHODIMP -RDFElementImpl::GetContentStyleRule(nsIStyleRule*& aResult) +RDFElementImpl::GetContentStyleRules(nsISupportsArray* aRules) { - aResult = nsnull; return NS_OK; } NS_IMETHODIMP -RDFElementImpl::GetInlineStyleRule(nsIStyleRule*& aResult) +RDFElementImpl::GetInlineStyleRules(nsISupportsArray* aRules) { // Fetch the cached style rule from the attributes. nsresult result = NS_ERROR_NULL_POINTER; - aResult = nsnull; - if (mAttributes != nsnull) - result = mAttributes->GetInlineStyleRule(aResult); + nsIStyleRule* rule = nsnull; + if (aRules && mAttributes) + result = mAttributes->GetInlineStyleRule(rule); + if (rule) { + aRules->AppendElement(rule); + NS_RELEASE(rule); + } return result; } diff --git a/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp b/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp index 6b006efb078..3cb4b72cbd2 100644 --- a/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp +++ b/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp @@ -922,25 +922,28 @@ nsGenericHTMLElement::HasClass(nsIAtom* aClass) const } nsresult -nsGenericHTMLElement::GetContentStyleRule(nsIStyleRule*& aResult) +nsGenericHTMLElement::GetContentStyleRules(nsISupportsArray* aRules) { nsresult result = NS_ERROR_NULL_POINTER; nsIStyleRule* rule = nsnull; - if (nsnull != mAttributes) { + if (aRules && mAttributes) { result = mAttributes->QueryInterface(kIStyleRuleIID, (void**)&rule); } - aResult = rule; + if (rule) { + aRules->AppendElement(rule); + NS_RELEASE(rule); + } return result; } nsresult -nsGenericHTMLElement::GetInlineStyleRule(nsIStyleRule*& aResult) +nsGenericHTMLElement::GetInlineStyleRules(nsISupportsArray* aRules) { nsresult result = NS_ERROR_NULL_POINTER; nsIStyleRule* rule = nsnull; - if (nsnull != mAttributes) { + if (aRules && mAttributes) { nsHTMLValue value; if (NS_CONTENT_ATTR_HAS_VALUE == mAttributes->GetAttribute(nsHTMLAtoms::style, value)) { if (eHTMLUnit_ISupports == value.GetUnit()) { @@ -950,7 +953,10 @@ nsGenericHTMLElement::GetInlineStyleRule(nsIStyleRule*& aResult) } } } - aResult = rule; + if (rule) { + aRules->AppendElement(rule); + NS_RELEASE(rule); + } return result; } diff --git a/mozilla/layout/html/content/src/nsGenericHTMLElement.h b/mozilla/layout/html/content/src/nsGenericHTMLElement.h index 8377b88e558..c202feae52d 100644 --- a/mozilla/layout/html/content/src/nsGenericHTMLElement.h +++ b/mozilla/layout/html/content/src/nsGenericHTMLElement.h @@ -110,8 +110,8 @@ public: nsresult GetID(nsIAtom*& aResult) const; nsresult GetClasses(nsVoidArray& aArray) const; nsresult HasClass(nsIAtom* aClass) const; - nsresult GetContentStyleRule(nsIStyleRule*& aResult); - nsresult GetInlineStyleRule(nsIStyleRule*& aResult); + nsresult GetContentStyleRules(nsISupportsArray* aRules); + nsresult GetInlineStyleRules(nsISupportsArray* aRules); nsresult GetBaseURL(nsIURL*& aBaseURL) const; nsresult GetBaseTarget(nsString& aBaseTarget) const; nsresult ToHTMLString(nsString& aResult) const; @@ -434,11 +434,11 @@ public: NS_IMETHOD HasClass(nsIAtom* aClass) const { \ return _g.HasClass(aClass); \ } \ - NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult) { \ - return _g.GetContentStyleRule(aResult); \ + NS_IMETHOD GetContentStyleRules(nsISupportsArray* aRules) { \ + return _g.GetContentStyleRules(aRules); \ } \ - NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult) { \ - return _g.GetInlineStyleRule(aResult); \ + NS_IMETHOD GetInlineStyleRules(nsISupportsArray* aRules) { \ + return _g.GetInlineStyleRules(aRules); \ } \ NS_IMETHOD GetBaseURL(nsIURL*& aBaseURL) const { \ return _g.GetBaseURL(aBaseURL); \ @@ -484,8 +484,8 @@ public: NS_IMETHOD HasClass(nsIAtom* aClass) const { \ return _g.HasClass(aClass); \ } \ - NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult); \ - NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult); \ + NS_IMETHOD GetContentStyleRules(nsISupportsArray* aRules); \ + NS_IMETHOD GetInlineStyleRules(nsISupportsArray* aRules); \ NS_IMETHOD GetBaseURL(nsIURL*& aBaseURL) const { \ return _g.GetBaseURL(aBaseURL); \ } \ diff --git a/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp b/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp index 7e44de6db7f..f6cfad3959d 100644 --- a/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp @@ -37,6 +37,7 @@ #include "nsIWebShell.h" #include "nsIHTMLAttributes.h" #include "nsIHTMLContentContainer.h" +#include "nsISupportsArray.h" static NS_DEFINE_IID(kIHTMLDocumentIID, NS_IHTMLDOCUMENT_IID); static NS_DEFINE_IID(kIStyleRuleIID, NS_ISTYLE_RULE_IID); @@ -279,7 +280,6 @@ BodyRule::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) if (nsnull != styleSpacing) { nsHTMLValue value; - PRInt32 count = 0; PRInt32 attrCount; float p2t; mPart->GetAttributeCount(attrCount); @@ -298,7 +298,6 @@ BodyRule::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) nsStyleCoord widthCoord(bodyMarginWidth); styleSpacing->mMargin.SetLeft(widthCoord); styleSpacing->mMargin.SetRight(widthCoord); - count++; } mPart->GetHTMLAttribute(nsHTMLAtoms::marginheight, value); @@ -311,14 +310,6 @@ BodyRule::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) nsStyleCoord heightCoord(bodyMarginHeight); styleSpacing->mMargin.SetTop(heightCoord); styleSpacing->mMargin.SetBottom(heightCoord); - count++; - } - - if (count < attrCount) { // more to go... - nsMapAttributesFunc fontFunc; - nsMapAttributesFunc func; - mPart->GetAttributeMappingFunctions(fontFunc, func); - (*func)(mPart->mInner.mAttributes, aContext, aPresContext); } } @@ -418,18 +409,6 @@ nsresult BodyFixupRule::QueryInterface(const nsIID& aIID, NS_ADDREF_THIS(); return NS_OK; } - if (aIID.Equals(kICSSStyleRuleIID)) { - nsIStyleRule* inlineRule = nsnull; - if (nsnull != mPart) { - mPart->mInner.GetInlineStyleRule(inlineRule); - } - if (nsnull != inlineRule) { - nsresult result = inlineRule->QueryInterface(kICSSStyleRuleIID, aInstancePtrResult); - NS_RELEASE(inlineRule); - return result; - } - return NS_NOINTERFACE; - } if (aIID.Equals(kISupportsIID)) { *aInstancePtrResult = (void*) ((nsISupports*)this); NS_ADDREF_THIS(); @@ -477,16 +456,6 @@ BodyFixupRule::MapFontStyleInto(nsIStyleContext* aContext, nsIPresContext* aPres NS_IMETHODIMP BodyFixupRule::MapStyleInto(nsIStyleContext* aContext, nsIPresContext* aPresContext) { - // Invoke style mapping of inline rule - nsIStyleRule* inlineRule = nsnull; - if (nsnull != mPart) { - mPart->mInner.GetInlineStyleRule(inlineRule); - if (nsnull != inlineRule) { - inlineRule->MapStyleInto(aContext, aPresContext); - NS_RELEASE(inlineRule); - } - } - // XXX do any other body processing here const nsStyleColor* styleColor; @@ -731,27 +700,6 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes, } } - // marginwidth/marginheight - // XXX: see ua.css for related code in the BODY rule - float p2t; - aPresContext->GetScaledPixelsToTwips(&p2t); - nsStyleSpacing* spacing = (nsStyleSpacing*) - aContext->GetMutableStyleData(eStyleStruct_Spacing); - aAttributes->GetAttribute(nsHTMLAtoms::marginwidth, value); - if (eHTMLUnit_Pixel == value.GetUnit()) { - nscoord v = NSToCoordFloor(value.GetPixelValue() * p2t); - nsStyleCoord c(v); - spacing->mPadding.SetLeft(c); - spacing->mPadding.SetRight(c); - } - aAttributes->GetAttribute(nsHTMLAtoms::marginheight, value); - if (eHTMLUnit_Pixel == value.GetUnit()) { - nscoord v = NSToCoordFloor(value.GetPixelValue() * p2t); - nsStyleCoord c(v); - spacing->mPadding.SetTop(c); - spacing->mPadding.SetBottom(c); - } - } nsGenericHTMLElement::MapCommonAttributesInto(aAttributes, aContext, aPresContext); } @@ -794,8 +742,10 @@ static nsIHTMLStyleSheet* GetAttrStyleSheet(nsIDocument* aDocument) } NS_IMETHODIMP -nsHTMLBodyElement::GetContentStyleRule(nsIStyleRule*& aResult) +nsHTMLBodyElement::GetContentStyleRules(nsISupportsArray* aRules) { + mInner.GetContentStyleRules(aRules); + if (nsnull == mInner.mContentStyleRule) { nsIHTMLStyleSheet* sheet = nsnull; @@ -807,8 +757,9 @@ nsHTMLBodyElement::GetContentStyleRule(nsIStyleRule*& aResult) NS_IF_RELEASE(sheet); NS_IF_ADDREF(mInner.mContentStyleRule); } - NS_IF_ADDREF(mInner.mContentStyleRule); - aResult = mInner.mContentStyleRule; + if (aRules && mInner.mContentStyleRule) { + aRules->AppendElement(mInner.mContentStyleRule); + } return NS_OK; } @@ -828,8 +779,10 @@ static nsIHTMLCSSStyleSheet* GetInlineStyleSheet(nsIDocument* aDocument) } NS_IMETHODIMP -nsHTMLBodyElement::GetInlineStyleRule(nsIStyleRule*& aResult) +nsHTMLBodyElement::GetInlineStyleRules(nsISupportsArray* aRules) { + mInner.GetInlineStyleRules(aRules); + if (nsnull == mInner.mInlineStyleRule) { nsIHTMLCSSStyleSheet* sheet = nsnull; @@ -841,8 +794,9 @@ nsHTMLBodyElement::GetInlineStyleRule(nsIStyleRule*& aResult) NS_IF_RELEASE(sheet); NS_IF_ADDREF(mInner.mInlineStyleRule); } - NS_IF_ADDREF(mInner.mInlineStyleRule); - aResult = mInner.mInlineStyleRule; + if (aRules && mInner.mInlineStyleRule) { + aRules->AppendElement(mInner.mInlineStyleRule); + } return NS_OK; } diff --git a/mozilla/rdf/content/src/nsRDFElement.cpp b/mozilla/rdf/content/src/nsRDFElement.cpp index 8876296f93c..0f231ab09d5 100644 --- a/mozilla/rdf/content/src/nsRDFElement.cpp +++ b/mozilla/rdf/content/src/nsRDFElement.cpp @@ -215,8 +215,8 @@ public: NS_IMETHOD GetClasses(nsVoidArray& aArray) const; NS_IMETHOD HasClass(nsIAtom* aClass) const; - NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult); - NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult); + NS_IMETHOD GetContentStyleRules(nsISupportsArray* aRules); + NS_IMETHOD GetInlineStyleRules(nsISupportsArray* aRules); /** NRA *** * Get a hint that tells the style system what to do when @@ -2702,20 +2702,23 @@ RDFElementImpl::HasClass(nsIAtom* aClass) const } NS_IMETHODIMP -RDFElementImpl::GetContentStyleRule(nsIStyleRule*& aResult) +RDFElementImpl::GetContentStyleRules(nsISupportsArray* aRules) { - aResult = nsnull; return NS_OK; } NS_IMETHODIMP -RDFElementImpl::GetInlineStyleRule(nsIStyleRule*& aResult) +RDFElementImpl::GetInlineStyleRules(nsISupportsArray* aRules) { // Fetch the cached style rule from the attributes. nsresult result = NS_ERROR_NULL_POINTER; - aResult = nsnull; - if (mAttributes != nsnull) - result = mAttributes->GetInlineStyleRule(aResult); + nsIStyleRule* rule = nsnull; + if (aRules && mAttributes) + result = mAttributes->GetInlineStyleRule(rule); + if (rule) { + aRules->AppendElement(rule); + NS_RELEASE(rule); + } return result; } diff --git a/mozilla/rdf/content/src/nsXULElement.cpp b/mozilla/rdf/content/src/nsXULElement.cpp index 8876296f93c..0f231ab09d5 100644 --- a/mozilla/rdf/content/src/nsXULElement.cpp +++ b/mozilla/rdf/content/src/nsXULElement.cpp @@ -215,8 +215,8 @@ public: NS_IMETHOD GetClasses(nsVoidArray& aArray) const; NS_IMETHOD HasClass(nsIAtom* aClass) const; - NS_IMETHOD GetContentStyleRule(nsIStyleRule*& aResult); - NS_IMETHOD GetInlineStyleRule(nsIStyleRule*& aResult); + NS_IMETHOD GetContentStyleRules(nsISupportsArray* aRules); + NS_IMETHOD GetInlineStyleRules(nsISupportsArray* aRules); /** NRA *** * Get a hint that tells the style system what to do when @@ -2702,20 +2702,23 @@ RDFElementImpl::HasClass(nsIAtom* aClass) const } NS_IMETHODIMP -RDFElementImpl::GetContentStyleRule(nsIStyleRule*& aResult) +RDFElementImpl::GetContentStyleRules(nsISupportsArray* aRules) { - aResult = nsnull; return NS_OK; } NS_IMETHODIMP -RDFElementImpl::GetInlineStyleRule(nsIStyleRule*& aResult) +RDFElementImpl::GetInlineStyleRules(nsISupportsArray* aRules) { // Fetch the cached style rule from the attributes. nsresult result = NS_ERROR_NULL_POINTER; - aResult = nsnull; - if (mAttributes != nsnull) - result = mAttributes->GetInlineStyleRule(aResult); + nsIStyleRule* rule = nsnull; + if (aRules && mAttributes) + result = mAttributes->GetInlineStyleRule(rule); + if (rule) { + aRules->AppendElement(rule); + NS_RELEASE(rule); + } return result; }