Changed ParseValue() to return a PRBool result

This commit is contained in:
troy%netscape.com 1998-08-22 04:55:28 +00:00
parent f84ba1b8e7
commit b491633bcf
2 changed files with 36 additions and 21 deletions

View File

@ -1376,33 +1376,48 @@ nsHTMLTagContent::ValueOrPercentToString(const nsHTMLValue& aValue,
return PR_FALSE;
}
void
PRBool
nsHTMLTagContent::ParseValue(const nsString& aString, PRInt32 aMin,
nsHTMLValue& aResult, nsHTMLUnit aValueUnit)
{
PRInt32 ec, val = aString.ToInteger(&ec);
if (val < aMin) val = aMin;
if (eHTMLUnit_Pixel == aValueUnit) {
aResult.SetPixelValue(val);
}
else {
aResult.SetIntValue(val, aValueUnit);
if (NS_OK == ec) {
if (val < aMin) val = aMin;
if (eHTMLUnit_Pixel == aValueUnit) {
aResult.SetPixelValue(val);
}
else {
aResult.SetIntValue(val, aValueUnit);
}
return PR_TRUE;
}
// Illegal values are mapped to empty
aResult.SetEmptyValue();
return PR_FALSE;
}
void nsHTMLTagContent::ParseValue(const nsString& aString, PRInt32 aMin,
PRInt32 aMax,
nsHTMLValue& aResult, nsHTMLUnit aValueUnit)
PRBool
nsHTMLTagContent::ParseValue(const nsString& aString, PRInt32 aMin,
PRInt32 aMax,
nsHTMLValue& aResult, nsHTMLUnit aValueUnit)
{
PRInt32 ec, val = aString.ToInteger(&ec);
if (val < aMin) val = aMin;
if (val > aMax) val = aMax;
if (eHTMLUnit_Pixel == aValueUnit) {
aResult.SetPixelValue(val);
}
else {
aResult.SetIntValue(val, aValueUnit);
if (NS_OK == ec) {
if (val < aMin) val = aMin;
if (val > aMax) val = aMax;
if (eHTMLUnit_Pixel == aValueUnit) {
aResult.SetPixelValue(val);
}
else {
aResult.SetIntValue(val, aValueUnit);
}
return PR_TRUE;
}
// Illegal values are mapped to empty
aResult.SetEmptyValue();
return PR_FALSE;
}
PRBool nsHTMLTagContent::ParseImageProperty(nsIAtom* aAttribute,

View File

@ -175,11 +175,11 @@ public:
static PRBool ValueOrPercentToString(const nsHTMLValue& aValue,
nsString& aResult);
static void ParseValue(const nsString& aString, PRInt32 aMin,
nsHTMLValue& aResult, nsHTMLUnit aValueUnit);
static PRBool ParseValue(const nsString& aString, PRInt32 aMin,
nsHTMLValue& aResult, nsHTMLUnit aValueUnit);
static void ParseValue(const nsString& aString, PRInt32 aMin, PRInt32 aMax,
nsHTMLValue& aResult, nsHTMLUnit aValueUnit);
static PRBool ParseValue(const nsString& aString, PRInt32 aMin, PRInt32 aMax,
nsHTMLValue& aResult, nsHTMLUnit aValueUnit);
static PRBool ParseColor(const nsString& aString, nsHTMLValue& aResult);