diff --git a/mozilla/content/html/style/src/nsComputedDOMStyle.cpp b/mozilla/content/html/style/src/nsComputedDOMStyle.cpp
index b1585a051a8..6356a06061d 100644
--- a/mozilla/content/html/style/src/nsComputedDOMStyle.cpp
+++ b/mozilla/content/html/style/src/nsComputedDOMStyle.cpp
@@ -3196,8 +3196,8 @@ nsComputedDOMStyle::GetBorderColorsFor(PRUint8 aSide, nsIFrame *aFrame,
}
}
- nsresult rv = valueList->AppendCSSValue(primitive);
- if (NS_FAILED(rv)) {
+ PRBool success = valueList->AppendCSSValue(primitive);
+ if (!success) {
delete valueList;
delete primitive;
diff --git a/mozilla/content/html/style/src/nsDOMCSSValueList.cpp b/mozilla/content/html/style/src/nsDOMCSSValueList.cpp
index d5bb166bdc6..65a9e39c689 100644
--- a/mozilla/content/html/style/src/nsDOMCSSValueList.cpp
+++ b/mozilla/content/html/style/src/nsDOMCSSValueList.cpp
@@ -60,16 +60,10 @@ NS_INTERFACE_MAP_BEGIN(nsDOMCSSValueList)
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(CSSValueList)
NS_INTERFACE_MAP_END
-nsresult
+PRBool
nsDOMCSSValueList::AppendCSSValue(nsIDOMCSSValue* aValue)
{
- nsresult rv = NS_OK;
- if (!mCSSValues) {
- rv = NS_NewISupportsArray(getter_AddRefs(mCSSValues));
- NS_ENSURE_SUCCESS(rv, rv);
- }
-
- return mCSSValues->AppendElement(aValue);
+ return mCSSValues.AppendObject(aValue);
}
// nsIDOMCSSValueList
@@ -77,10 +71,7 @@ nsDOMCSSValueList::AppendCSSValue(nsIDOMCSSValue* aValue)
NS_IMETHODIMP
nsDOMCSSValueList::GetLength(PRUint32* aLength)
{
- *aLength = 0;
- if (mCSSValues) {
- mCSSValues->Count(aLength);
- }
+ *aLength = mCSSValues.Count();
return NS_OK;
}
@@ -90,12 +81,8 @@ nsDOMCSSValueList::Item(PRUint32 aIndex, nsIDOMCSSValue **aReturn)
{
NS_ENSURE_ARG_POINTER(aReturn);
- *aReturn = nsnull;
-
- if (mCSSValues) {
- mCSSValues->QueryElementAt(aIndex, NS_GET_IID(nsIDOMCSSValue),
- (void**)aReturn);
- }
+ *aReturn = mCSSValues[aIndex];
+ NS_IF_ADDREF(*aReturn);
return NS_OK;
}
@@ -107,12 +94,7 @@ nsDOMCSSValueList::GetCssText(nsAString& aCssText)
{
aCssText.Truncate();
- if (!mCSSValues) {
- return NS_OK;
- }
-
- PRUint32 count;
- mCSSValues->Count(&count);
+ PRUint32 count = mCSSValues.Count();
nsAutoString separator;
if (mCommaDelimited) {
@@ -125,8 +107,7 @@ nsDOMCSSValueList::GetCssText(nsAString& aCssText)
nsCOMPtr cssValue;
nsAutoString tmpStr;
for (PRUint32 i = 0; i < count; ++i) {
- mCSSValues->QueryElementAt(i, NS_GET_IID(nsIDOMCSSValue),
- getter_AddRefs(cssValue));
+ cssValue = mCSSValues[i];
NS_ASSERTION(cssValue, "Eek! Someone filled the value list with null CSSValues!");
if (cssValue) {
cssValue->GetCssText(tmpStr);
diff --git a/mozilla/content/html/style/src/nsDOMCSSValueList.h b/mozilla/content/html/style/src/nsDOMCSSValueList.h
index a9e3350afc6..968a4df8c16 100644
--- a/mozilla/content/html/style/src/nsDOMCSSValueList.h
+++ b/mozilla/content/html/style/src/nsDOMCSSValueList.h
@@ -40,7 +40,7 @@
#include "nsIDOMCSSValue.h"
#include "nsIDOMCSSValueList.h"
-#include "nsISupportsArray.h"
+#include "nsCOMArray.h"
#include "nsCOMPtr.h"
@@ -59,7 +59,7 @@ public:
nsDOMCSSValueList(PRBool aCommaDelimited, PRBool aReadonly);
virtual ~nsDOMCSSValueList();
- nsresult AppendCSSValue(nsIDOMCSSValue* aValue);
+ PRBool AppendCSSValue(nsIDOMCSSValue* aValue);
private:
PRPackedBool mCommaDelimited; // some value lists use a comma
@@ -68,7 +68,7 @@ private:
PRPackedBool mReadonly; // Are we read-only?
- nsCOMPtr mCSSValues;
+ nsCOMArray mCSSValues;
};
diff --git a/mozilla/layout/style/nsComputedDOMStyle.cpp b/mozilla/layout/style/nsComputedDOMStyle.cpp
index b1585a051a8..6356a06061d 100644
--- a/mozilla/layout/style/nsComputedDOMStyle.cpp
+++ b/mozilla/layout/style/nsComputedDOMStyle.cpp
@@ -3196,8 +3196,8 @@ nsComputedDOMStyle::GetBorderColorsFor(PRUint8 aSide, nsIFrame *aFrame,
}
}
- nsresult rv = valueList->AppendCSSValue(primitive);
- if (NS_FAILED(rv)) {
+ PRBool success = valueList->AppendCSSValue(primitive);
+ if (!success) {
delete valueList;
delete primitive;
diff --git a/mozilla/layout/style/nsDOMCSSValueList.cpp b/mozilla/layout/style/nsDOMCSSValueList.cpp
index d5bb166bdc6..65a9e39c689 100644
--- a/mozilla/layout/style/nsDOMCSSValueList.cpp
+++ b/mozilla/layout/style/nsDOMCSSValueList.cpp
@@ -60,16 +60,10 @@ NS_INTERFACE_MAP_BEGIN(nsDOMCSSValueList)
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(CSSValueList)
NS_INTERFACE_MAP_END
-nsresult
+PRBool
nsDOMCSSValueList::AppendCSSValue(nsIDOMCSSValue* aValue)
{
- nsresult rv = NS_OK;
- if (!mCSSValues) {
- rv = NS_NewISupportsArray(getter_AddRefs(mCSSValues));
- NS_ENSURE_SUCCESS(rv, rv);
- }
-
- return mCSSValues->AppendElement(aValue);
+ return mCSSValues.AppendObject(aValue);
}
// nsIDOMCSSValueList
@@ -77,10 +71,7 @@ nsDOMCSSValueList::AppendCSSValue(nsIDOMCSSValue* aValue)
NS_IMETHODIMP
nsDOMCSSValueList::GetLength(PRUint32* aLength)
{
- *aLength = 0;
- if (mCSSValues) {
- mCSSValues->Count(aLength);
- }
+ *aLength = mCSSValues.Count();
return NS_OK;
}
@@ -90,12 +81,8 @@ nsDOMCSSValueList::Item(PRUint32 aIndex, nsIDOMCSSValue **aReturn)
{
NS_ENSURE_ARG_POINTER(aReturn);
- *aReturn = nsnull;
-
- if (mCSSValues) {
- mCSSValues->QueryElementAt(aIndex, NS_GET_IID(nsIDOMCSSValue),
- (void**)aReturn);
- }
+ *aReturn = mCSSValues[aIndex];
+ NS_IF_ADDREF(*aReturn);
return NS_OK;
}
@@ -107,12 +94,7 @@ nsDOMCSSValueList::GetCssText(nsAString& aCssText)
{
aCssText.Truncate();
- if (!mCSSValues) {
- return NS_OK;
- }
-
- PRUint32 count;
- mCSSValues->Count(&count);
+ PRUint32 count = mCSSValues.Count();
nsAutoString separator;
if (mCommaDelimited) {
@@ -125,8 +107,7 @@ nsDOMCSSValueList::GetCssText(nsAString& aCssText)
nsCOMPtr cssValue;
nsAutoString tmpStr;
for (PRUint32 i = 0; i < count; ++i) {
- mCSSValues->QueryElementAt(i, NS_GET_IID(nsIDOMCSSValue),
- getter_AddRefs(cssValue));
+ cssValue = mCSSValues[i];
NS_ASSERTION(cssValue, "Eek! Someone filled the value list with null CSSValues!");
if (cssValue) {
cssValue->GetCssText(tmpStr);
diff --git a/mozilla/layout/style/nsDOMCSSValueList.h b/mozilla/layout/style/nsDOMCSSValueList.h
index a9e3350afc6..968a4df8c16 100644
--- a/mozilla/layout/style/nsDOMCSSValueList.h
+++ b/mozilla/layout/style/nsDOMCSSValueList.h
@@ -40,7 +40,7 @@
#include "nsIDOMCSSValue.h"
#include "nsIDOMCSSValueList.h"
-#include "nsISupportsArray.h"
+#include "nsCOMArray.h"
#include "nsCOMPtr.h"
@@ -59,7 +59,7 @@ public:
nsDOMCSSValueList(PRBool aCommaDelimited, PRBool aReadonly);
virtual ~nsDOMCSSValueList();
- nsresult AppendCSSValue(nsIDOMCSSValue* aValue);
+ PRBool AppendCSSValue(nsIDOMCSSValue* aValue);
private:
PRPackedBool mCommaDelimited; // some value lists use a comma
@@ -68,7 +68,7 @@ private:
PRPackedBool mReadonly; // Are we read-only?
- nsCOMPtr mCSSValues;
+ nsCOMArray mCSSValues;
};