Bug 1423167: Move most attribute-related methods from nsIContent to Element. r=bz

MozReview-Commit-ID: 6WXqNiODttD
This commit is contained in:
Emilio Cobos Álvarez
2017-12-05 18:05:51 +01:00
parent 9a38a0a18d
commit c10ea9ea04
117 changed files with 1103 additions and 1070 deletions

View File

@@ -1081,23 +1081,23 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeOpExecutor* aBuilder,
return NS_OK;
}
case eTreeOpAddClass: {
nsIContent* node = *(mOne.node);
Element* element = (*(mOne.node))->AsElement();
char16_t* str = mTwo.unicharPtr;
nsDependentString depStr(str);
// See viewsource.css for the possible classes
nsAutoString klass;
node->GetAttr(kNameSpaceID_None, nsGkAtoms::_class, klass);
element->GetAttr(kNameSpaceID_None, nsGkAtoms::_class, klass);
if (!klass.IsEmpty()) {
klass.Append(' ');
klass.Append(depStr);
node->SetAttr(kNameSpaceID_None, nsGkAtoms::_class, klass, true);
element->SetAttr(kNameSpaceID_None, nsGkAtoms::_class, klass, true);
} else {
node->SetAttr(kNameSpaceID_None, nsGkAtoms::_class, depStr, true);
element->SetAttr(kNameSpaceID_None, nsGkAtoms::_class, depStr, true);
}
return NS_OK;
}
case eTreeOpAddViewSourceHref: {
nsIContent* node = *mOne.node;
Element* element = (*mOne.node)->AsElement();
char16_t* buffer = mTwo.unicharPtr;
int32_t length = mFour.integer;
@@ -1149,7 +1149,7 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeOpExecutor* aBuilder,
nsAutoString utf16;
CopyUTF8toUTF16(viewSourceUrl, utf16);
node->SetAttr(kNameSpaceID_None, nsGkAtoms::href, utf16, true);
element->SetAttr(kNameSpaceID_None, nsGkAtoms::href, utf16, true);
return NS_OK;
}
case eTreeOpAddViewSourceBase: {
@@ -1160,21 +1160,21 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeOpExecutor* aBuilder,
return NS_OK;
}
case eTreeOpAddError: {
nsIContent* node = *(mOne.node);
Element* element = (*(mOne.node))->AsElement();
char* msgId = mTwo.charPtr;
RefPtr<nsAtom> atom = Reget(mThree.atom);
RefPtr<nsAtom> otherAtom = Reget(mFour.atom);
// See viewsource.css for the possible classes in addition to "error".
nsAutoString klass;
node->GetAttr(kNameSpaceID_None, nsGkAtoms::_class, klass);
element->GetAttr(kNameSpaceID_None, nsGkAtoms::_class, klass);
if (!klass.IsEmpty()) {
klass.AppendLiteral(" error");
node->SetAttr(kNameSpaceID_None, nsGkAtoms::_class, klass, true);
element->SetAttr(kNameSpaceID_None, nsGkAtoms::_class, klass, true);
} else {
node->SetAttr(kNameSpaceID_None,
nsGkAtoms::_class,
NS_LITERAL_STRING("error"),
true);
element->SetAttr(kNameSpaceID_None,
nsGkAtoms::_class,
NS_LITERAL_STRING("error"),
true);
}
nsresult rv;
@@ -1197,22 +1197,22 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeOpExecutor* aBuilder,
}
nsAutoString title;
node->GetAttr(kNameSpaceID_None, nsGkAtoms::title, title);
element->GetAttr(kNameSpaceID_None, nsGkAtoms::title, title);
if (!title.IsEmpty()) {
title.Append('\n');
title.Append(message);
node->SetAttr(kNameSpaceID_None, nsGkAtoms::title, title, true);
element->SetAttr(kNameSpaceID_None, nsGkAtoms::title, title, true);
} else {
node->SetAttr(kNameSpaceID_None, nsGkAtoms::title, message, true);
element->SetAttr(kNameSpaceID_None, nsGkAtoms::title, message, true);
}
return rv;
}
case eTreeOpAddLineNumberId: {
nsIContent* node = *(mOne.node);
Element* element = (*(mOne.node))->AsElement();
int32_t lineNumber = mFour.integer;
nsAutoString val(NS_LITERAL_STRING("line"));
val.AppendInt(lineNumber);
node->SetAttr(kNameSpaceID_None, nsGkAtoms::id, val, true);
element->SetAttr(kNameSpaceID_None, nsGkAtoms::id, val, true);
return NS_OK;
}
case eTreeOpStartLayout: {