Bug 311827: Make GetAttr return a bool rather then an nsresult.

r/sr=bz


git-svn-id: svn://10.0.0.236/trunk@183185 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
cvshook%sicking.cc
2005-10-28 11:25:24 +00:00
parent 2d2caede4d
commit b26f9f52fb
117 changed files with 894 additions and 1478 deletions

View File

@@ -288,36 +288,21 @@ PRBool
nsScriptLoader::IsScriptEventHandler(nsIScriptElement *aScriptElement)
{
nsCOMPtr<nsIContent> contElement = do_QueryInterface(aScriptElement);
if (!contElement ||
!contElement->HasAttr(kNameSpaceID_None, nsHTMLAtoms::_event) ||
!contElement->HasAttr(kNameSpaceID_None, nsHTMLAtoms::_for)) {
return PR_FALSE;
NS_ASSERTION(contElement, "nsIScriptElement isn't nsIContent");
nsAutoString forAttr, eventAttr;
if (!contElement->GetAttr(kNameSpaceID_None, nsHTMLAtoms::_for, forAttr) ||
!contElement->GetAttr(kNameSpaceID_None, nsHTMLAtoms::_event, eventAttr)) {
return PR_FALSE;
}
nsAutoString str;
nsresult rv = contElement->GetAttr(kNameSpaceID_None, nsHTMLAtoms::_for,
str);
NS_ENSURE_SUCCESS(rv, PR_FALSE);
const nsAString& for_str = nsContentUtils::TrimWhitespace(str);
const nsAString& for_str = nsContentUtils::TrimWhitespace(forAttr);
if (!for_str.LowerCaseEqualsLiteral("window")) {
return PR_TRUE;
}
// We found for="window", now check for event="onload".
rv = contElement->GetAttr(kNameSpaceID_None, nsHTMLAtoms::_event, str);
NS_ENSURE_SUCCESS(rv, PR_FALSE);
const nsAString& event_str = nsContentUtils::TrimWhitespace(str, PR_FALSE);
if (event_str.Length() < 6) {
// String too short, can't be "onload".
return PR_TRUE;
}
const nsAString& event_str = nsContentUtils::TrimWhitespace(eventAttr, PR_FALSE);
if (!StringBeginsWith(event_str, NS_LITERAL_STRING("onload"),
nsCaseInsensitiveStringComparator())) {
// It ain't "onload.*".