mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
Bug 841488 - Part b: Merge Get/SetUnsignedIntAttr and Get/SetHTMLUnsignedIntAttr; r=khuey
This commit is contained in:
parent
6b63a8f1e1
commit
edb1ca8cf4
@ -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(); \
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user