diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.h b/mozilla/content/html/content/src/nsGenericHTMLElement.h
index bfc38e0e1d3..8fafdcac147 100644
--- a/mozilla/content/html/content/src/nsGenericHTMLElement.h
+++ b/mozilla/content/html/content/src/nsGenericHTMLElement.h
@@ -748,6 +748,31 @@ protected:
return SetHTMLAttribute(nsHTMLAtoms::_atom, value, PR_TRUE); \
}
+/**
+ * A macro to implement the getter and the setter for a given pixel
+ * valued content property. The method uses the generic GetAttr and
+ * SetAttr methods
+ */
+#define NS_IMPL_PIXEL_ATTR(_class, _method, _atom) \
+ NS_IMETHODIMP \
+ _class::Get##_method(PRInt32* aValue) \
+ { \
+ nsHTMLValue value; \
+ *aValue = -1; \
+ if (NS_CONTENT_ATTR_HAS_VALUE == \
+ GetHTMLAttribute(nsHTMLAtoms::_atom, value)) { \
+ if (value.GetUnit() == eHTMLUnit_Pixel) { \
+ *aValue = value.GetPixelValue(); \
+ } \
+ } \
+ return NS_OK; \
+ } \
+ NS_IMETHODIMP \
+ _class::Set##_method(PRInt32 aValue) \
+ { \
+ nsHTMLValue value(aValue, eHTMLUnit_Pixel); \
+ return SetHTMLAttribute(nsHTMLAtoms::_atom, value, PR_TRUE); \
+ }
/**
* QueryInterface() implementation helper macros
diff --git a/mozilla/content/html/content/src/nsHTMLImageElement.cpp b/mozilla/content/html/content/src/nsHTMLImageElement.cpp
index c223cb9611c..f780a2bf5aa 100644
--- a/mozilla/content/html/content/src/nsHTMLImageElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLImageElement.cpp
@@ -271,12 +271,12 @@ nsHTMLImageElement::CloneNode(PRBool aDeep, nsIDOMNode** aReturn)
NS_IMPL_STRING_ATTR(nsHTMLImageElement, Name, name)
NS_IMPL_STRING_ATTR(nsHTMLImageElement, Align, align)
NS_IMPL_STRING_ATTR(nsHTMLImageElement, Alt, alt)
-NS_IMPL_INT_ATTR(nsHTMLImageElement, Border, border)
-NS_IMPL_INT_ATTR(nsHTMLImageElement, Hspace, hspace)
+NS_IMPL_PIXEL_ATTR(nsHTMLImageElement, Border, border)
+NS_IMPL_PIXEL_ATTR(nsHTMLImageElement, Hspace, hspace)
NS_IMPL_BOOL_ATTR(nsHTMLImageElement, IsMap, ismap)
NS_IMPL_STRING_ATTR(nsHTMLImageElement, LongDesc, longdesc)
NS_IMPL_STRING_ATTR(nsHTMLImageElement, UseMap, usemap)
-NS_IMPL_INT_ATTR(nsHTMLImageElement, Vspace, vspace)
+NS_IMPL_PIXEL_ATTR(nsHTMLImageElement, Vspace, vspace)
nsresult
nsHTMLImageElement::GetImageFrame(nsIImageFrame** aImageFrame)