Bug 841488 - Part b: Merge Get/SetUnsignedIntAttr and Get/SetHTMLUnsignedIntAttr; r=khuey

This commit is contained in:
Ms2ger 2013-04-04 09:03:50 +02:00
Родитель 6b63a8f1e1
Коммит edb1ca8cf4
10 изменённых файлов: 56 добавлений и 65 удалений

Просмотреть файл

@ -209,7 +209,9 @@ HTMLImageElement::GetHeight(uint32_t* aHeight)
NS_IMETHODIMP
HTMLImageElement::SetHeight(uint32_t aHeight)
{
return nsGenericHTMLElement::SetUnsignedIntAttr(nsGkAtoms::height, aHeight);
ErrorResult rv;
SetHeight(aHeight, rv);
return rv.ErrorCode();
}
NS_IMETHODIMP
@ -223,7 +225,9 @@ HTMLImageElement::GetWidth(uint32_t* aWidth)
NS_IMETHODIMP
HTMLImageElement::SetWidth(uint32_t aWidth)
{
return nsGenericHTMLElement::SetUnsignedIntAttr(nsGkAtoms::width, aWidth);
ErrorResult rv;
SetWidth(aWidth, rv);
return rv.ErrorCode();
}
bool
@ -482,13 +486,13 @@ HTMLImageElement::Image(const GlobalObject& aGlobal,
nsRefPtr<HTMLImageElement> img = new HTMLImageElement(nodeInfo.forget());
if (aWidth.WasPassed()) {
img->SetHTMLUnsignedIntAttr(nsGkAtoms::width, aWidth.Value(), aError);
img->SetWidth(aWidth.Value(), aError);
if (aError.Failed()) {
return nullptr;
}
if (aHeight.WasPassed()) {
img->SetHTMLUnsignedIntAttr(nsGkAtoms::height, aHeight.Value(), aError);
img->SetHeight(aHeight.Value(), aError);
if (aError.Failed()) {
return nullptr;
}

Просмотреть файл

@ -100,7 +100,7 @@ public:
}
void SetWidth(uint32_t aWidth, ErrorResult& aError)
{
SetHTMLUnsignedIntAttr(nsGkAtoms::width, aWidth, aError);
SetUnsignedIntAttr(nsGkAtoms::width, aWidth, aError);
}
uint32_t Height()
{
@ -108,7 +108,7 @@ public:
}
void SetHeight(uint32_t aHeight, ErrorResult& aError)
{
SetHTMLUnsignedIntAttr(nsGkAtoms::height, aHeight, aError);
SetUnsignedIntAttr(nsGkAtoms::height, aHeight, aError);
}
uint32_t NaturalWidth();
uint32_t NaturalHeight();

Просмотреть файл

@ -1085,7 +1085,9 @@ HTMLInputElement::GetWidth(uint32_t* aWidth)
NS_IMETHODIMP
HTMLInputElement::SetWidth(uint32_t aWidth)
{
return nsGenericHTMLElement::SetUnsignedIntAttr(nsGkAtoms::width, aWidth);
ErrorResult rv;
SetWidth(aWidth, rv);
return rv.ErrorCode();
}
NS_IMETHODIMP

Просмотреть файл

@ -441,7 +441,7 @@ public:
void SetHeight(uint32_t aValue, ErrorResult& aRv)
{
aRv = nsGenericHTMLElement::SetUnsignedIntAttr(nsGkAtoms::height, aValue);
SetUnsignedIntAttr(nsGkAtoms::height, aValue, aRv);
}
bool Indeterminate() const
@ -533,11 +533,9 @@ public:
SetHTMLBoolAttr(nsGkAtoms::required, aValue, aRv);
}
uint32_t Size()
uint32_t Size() const
{
uint32_t value;
GetUnsignedIntAttr(nsGkAtoms::size, DEFAULT_COLS, &value);
return value;
return GetUnsignedIntAttr(nsGkAtoms::size, DEFAULT_COLS);
}
void SetSize(uint32_t aValue, ErrorResult& aRv)
@ -547,7 +545,7 @@ public:
return;
}
SetHTMLUnsignedIntAttr(nsGkAtoms::size, aValue, aRv);
SetUnsignedIntAttr(nsGkAtoms::size, aValue, aRv);
}
// XPCOM GetSrc() is OK
@ -593,7 +591,7 @@ public:
void SetWidth(uint32_t aValue, ErrorResult& aRv)
{
aRv = nsGenericHTMLElement::SetUnsignedIntAttr(nsGkAtoms::width, aValue);
SetUnsignedIntAttr(nsGkAtoms::width, aValue, aRv);
}
void StepUp(const Optional< int32_t >& n, ErrorResult& aRv)

Просмотреть файл

@ -182,11 +182,11 @@ public:
}
uint32_t Hspace()
{
return GetHTMLUnsignedIntAttr(nsGkAtoms::hspace, 0);
return GetUnsignedIntAttr(nsGkAtoms::hspace, 0);
}
void SetHspace(uint32_t aValue, ErrorResult& aRv)
{
SetHTMLUnsignedIntAttr(nsGkAtoms::hspace, aValue, aRv);
SetUnsignedIntAttr(nsGkAtoms::hspace, aValue, aRv);
}
void GetStandby(DOMString& aValue)
{
@ -198,11 +198,11 @@ public:
}
uint32_t Vspace()
{
return GetHTMLUnsignedIntAttr(nsGkAtoms::vspace, 0);
return GetUnsignedIntAttr(nsGkAtoms::vspace, 0);
}
void SetVspace(uint32_t aValue, ErrorResult& aRv)
{
SetHTMLUnsignedIntAttr(nsGkAtoms::vspace, aValue, aRv);
SetUnsignedIntAttr(nsGkAtoms::vspace, aValue, aRv);
}
// XPCOM GetCodebase is ok; note that it's a URI attribute
void SetCodeBase(const nsAString& aValue, ErrorResult& aRv)

Просмотреть файл

@ -162,11 +162,11 @@ public:
}
uint32_t Size()
{
return GetHTMLUnsignedIntAttr(nsGkAtoms::size, 0);
return GetUnsignedIntAttr(nsGkAtoms::size, 0);
}
void SetSize(uint32_t aSize, ErrorResult& aRv)
{
SetHTMLUnsignedIntAttr(nsGkAtoms::size, aSize, aRv);
SetUnsignedIntAttr(nsGkAtoms::size, aSize, aRv);
}
void GetName(nsString& aName, ErrorResult& aRv) const
{

Просмотреть файл

@ -153,11 +153,11 @@ public:
}
uint32_t Hspace()
{
return GetHTMLUnsignedIntAttr(nsGkAtoms::hspace, 0);
return GetUnsignedIntAttr(nsGkAtoms::hspace, 0);
}
void SetHspace(uint32_t aValue, ErrorResult& aRv)
{
SetHTMLUnsignedIntAttr(nsGkAtoms::hspace, aValue, aRv);
SetUnsignedIntAttr(nsGkAtoms::hspace, aValue, aRv);
}
void GetName(DOMString& aValue)
{
@ -172,13 +172,13 @@ public:
{
SetHTMLAttr(nsGkAtoms::object, aValue, aRv);
}
uint32_t Vspace()
uint32_t Vspace()
{
return GetHTMLUnsignedIntAttr(nsGkAtoms::vspace, 0);
return GetUnsignedIntAttr(nsGkAtoms::vspace, 0);
}
void SetVspace(uint32_t aValue, ErrorResult& aRv)
{
SetHTMLUnsignedIntAttr(nsGkAtoms::vspace, aValue, aRv);
SetUnsignedIntAttr(nsGkAtoms::vspace, aValue, aRv);
}
void GetWidth(DOMString& aValue)
{

Просмотреть файл

@ -177,7 +177,7 @@ public:
if (aCols == 0) {
aError.Throw(NS_ERROR_DOM_INDEX_SIZE_ERR);
} else {
SetHTMLUnsignedIntAttr(nsGkAtoms::cols, aCols, aError);
SetUnsignedIntAttr(nsGkAtoms::cols, aCols, aError);
}
}
bool Disabled()
@ -237,7 +237,7 @@ public:
if (aRows == 0) {
aError.Throw(NS_ERROR_DOM_INDEX_SIZE_ERR);
} else {
SetHTMLUnsignedIntAttr(nsGkAtoms::rows, aRows, aError);
SetUnsignedIntAttr(nsGkAtoms::rows, aRows, aError);
}
}
// XPCOM GetWrap is fine

Просмотреть файл

@ -1865,27 +1865,16 @@ nsGenericHTMLElement::SetIntAttr(nsIAtom* aAttr, int32_t aValue)
return SetAttr(kNameSpaceID_None, aAttr, value, true);
}
nsresult
nsGenericHTMLElement::GetUnsignedIntAttr(nsIAtom* aAttr, uint32_t aDefault,
uint32_t* aResult)
uint32_t
nsGenericHTMLElement::GetUnsignedIntAttr(nsIAtom* aAttr,
uint32_t aDefault) const
{
const nsAttrValue* attrVal = mAttrsAndChildren.GetAttr(aAttr);
if (attrVal && attrVal->Type() == nsAttrValue::eInteger) {
*aResult = attrVal->GetIntegerValue();
if (!attrVal || attrVal->Type() != nsAttrValue::eInteger) {
return aDefault;
}
else {
*aResult = aDefault;
}
return NS_OK;
}
nsresult
nsGenericHTMLElement::SetUnsignedIntAttr(nsIAtom* aAttr, uint32_t aValue)
{
nsAutoString value;
value.AppendInt(aValue);
return SetAttr(kNameSpaceID_None, aAttr, value, true);
return attrVal->GetIntegerValue();
}
nsresult

Просмотреть файл

@ -797,12 +797,6 @@ protected:
{
GetURIAttr(aName, nullptr, aResult);
}
uint32_t GetHTMLUnsignedIntAttr(nsIAtom* aName, uint32_t aDefault)
{
uint32_t result;
GetUnsignedIntAttr(aName, aDefault, &result);
return result;
}
void SetHTMLAttr(nsIAtom* aName, const nsAString& aValue)
{
@ -831,13 +825,6 @@ protected:
SetHTMLAttr(aName, value, aError);
}
void SetHTMLUnsignedIntAttr(nsIAtom* aName, uint32_t aValue, mozilla::ErrorResult& aError)
{
nsAutoString value;
value.AppendInt(aValue);
SetHTMLAttr(aName, value, aError);
}
/**
* Helper method for NS_IMPL_STRING_ATTR macro.
@ -879,10 +866,8 @@ protected:
*
* @param aAttr name of attribute.
* @param aDefault default-value to return if attribute isn't set.
* @param aResult result value [out]
*/
NS_HIDDEN_(nsresult) GetUnsignedIntAttr(nsIAtom* aAttr, uint32_t aDefault,
uint32_t* aValue);
uint32_t GetUnsignedIntAttr(nsIAtom* aAttr, uint32_t aDefault) const;
/**
* Helper method for NS_IMPL_UINT_ATTR macro.
@ -892,7 +877,14 @@ protected:
* @param aAttr name of attribute.
* @param aValue Integer value of attribute.
*/
NS_HIDDEN_(nsresult) SetUnsignedIntAttr(nsIAtom* aAttr, uint32_t aValue);
void SetUnsignedIntAttr(nsIAtom* aName, uint32_t aValue,
mozilla::ErrorResult& aError)
{
nsAutoString value;
value.AppendInt(aValue);
SetHTMLAttr(aName, value, aError);
}
/**
* Sets value of attribute to specified double. Only works for attributes
@ -1267,12 +1259,15 @@ protected:
NS_IMETHODIMP \
_class::Get##_method(uint32_t* aValue) \
{ \
return GetUnsignedIntAttr(nsGkAtoms::_atom, _default, aValue); \
*aValue = GetUnsignedIntAttr(nsGkAtoms::_atom, _default); \
return NS_OK; \
} \
NS_IMETHODIMP \
_class::Set##_method(uint32_t aValue) \
{ \
return SetUnsignedIntAttr(nsGkAtoms::_atom, aValue); \
mozilla::ErrorResult rv; \
SetUnsignedIntAttr(nsGkAtoms::_atom, aValue, rv); \
return rv.ErrorCode(); \
}
/**
@ -1288,7 +1283,8 @@ protected:
NS_IMETHODIMP \
_class::Get##_method(uint32_t* aValue) \
{ \
return GetUnsignedIntAttr(nsGkAtoms::_atom, _default, aValue); \
*aValue = GetUnsignedIntAttr(nsGkAtoms::_atom, _default); \
return NS_OK; \
} \
NS_IMETHODIMP \
_class::Set##_method(uint32_t aValue) \
@ -1296,7 +1292,9 @@ protected:
if (aValue == 0) { \
return NS_ERROR_DOM_INDEX_SIZE_ERR; \
} \
return SetUnsignedIntAttr(nsGkAtoms::_atom, aValue); \
mozilla::ErrorResult rv; \
SetUnsignedIntAttr(nsGkAtoms::_atom, aValue, rv); \
return rv.ErrorCode(); \
}
/**