Bug 1134280 - Get rid of Tag() - patch 2.10 - dom/events, dom/mathml, dom/plugins, dom/smil - Fix all the occurrences, m=smaug, r=surkov

This commit is contained in:
Andrea Marchesini 2015-03-03 11:09:00 +00:00
parent 87495fbf33
commit ce77626266
6 changed files with 72 additions and 91 deletions

View File

@ -195,8 +195,7 @@ ContentEventHandler::QueryContentRect(nsIContent* aContent,
// we don't want to include the bogus BRs at the end.
static bool IsContentBR(nsIContent* aContent)
{
return aContent->IsHTMLElement() &&
aContent->Tag() == nsGkAtoms::br &&
return aContent->IsHTMLElement(nsGkAtoms::br) &&
!aContent->AttrValueIs(kNameSpaceID_None,
nsGkAtoms::type,
nsGkAtoms::moz,
@ -1392,7 +1391,7 @@ static void AdjustRangeForSelection(nsIContent* aRoot,
nsIContent* brContent = node->GetChildAt(nodeOffset - 1);
while (brContent && brContent->IsHTMLElement()) {
if (brContent->Tag() != nsGkAtoms::br || IsContentBR(brContent)) {
if (!brContent->IsHTMLElement(nsGkAtoms::br) || IsContentBR(brContent)) {
break;
}
brContent = node->GetChildAt(--nodeOffset - 1);

View File

@ -890,21 +890,18 @@ IsAccessKeyTarget(nsIContent* aContent, nsIFrame* aFrame, nsAString& aKey)
if (control)
return true;
if (aContent->IsHTMLElement()) {
nsIAtom* tag = aContent->Tag();
// HTML area, label and legend elements are never focusable, so
// we need to check for them explicitly before giving up.
if (aContent->IsAnyOfHTMLElements(nsGkAtoms::area,
nsGkAtoms::label,
nsGkAtoms::legend)) {
return true;
}
// HTML area, label and legend elements are never focusable, so
// we need to check for them explicitly before giving up.
if (tag == nsGkAtoms::area ||
tag == nsGkAtoms::label ||
tag == nsGkAtoms::legend)
return true;
} else if (aContent->IsXULElement()) {
// XUL label elements are never focusable, so we need to check for them
// explicitly before giving up.
if (aContent->Tag() == nsGkAtoms::label)
return true;
// XUL label elements are never focusable, so we need to check for them
// explicitly before giving up.
if (aContent->IsXULElement(nsGkAtoms::label)) {
return true;
}
return false;
@ -1124,9 +1121,7 @@ EventStateManager::IsRemoteTarget(nsIContent* target) {
}
// <browser/iframe remote=true> from XUL
if ((target->Tag() == nsGkAtoms::browser ||
target->Tag() == nsGkAtoms::iframe) &&
target->IsXULElement() &&
if (target->IsAnyOfXULElements(nsGkAtoms::browser, nsGkAtoms::iframe) &&
target->AttrValueIs(kNameSpaceID_None, nsGkAtoms::Remote,
nsGkAtoms::_true, eIgnoreCase)) {
return true;
@ -1290,7 +1285,7 @@ EventStateManager::CreateClickHoldTimer(nsPresContext* inPresContext,
return;
// check for a <menubutton> like bookmarks
if (mGestureDownContent->Tag() == nsGkAtoms::menubutton)
if (mGestureDownContent->IsXULElement(nsGkAtoms::menubutton))
return;
}
@ -1384,27 +1379,24 @@ EventStateManager::FireContextClick()
// before dispatching, check that we're not on something that
// doesn't get a context menu
nsIAtom *tag = mGestureDownContent->Tag();
bool allowedToDispatch = true;
if (mGestureDownContent->IsXULElement()) {
if (tag == nsGkAtoms::scrollbar ||
tag == nsGkAtoms::scrollbarbutton ||
tag == nsGkAtoms::button)
if (mGestureDownContent->IsAnyOfXULElements(nsGkAtoms::scrollbar,
nsGkAtoms::scrollbarbutton,
nsGkAtoms::button)) {
allowedToDispatch = false;
} else if (mGestureDownContent->IsXULElement(nsGkAtoms::toolbarbutton)) {
// a <toolbarbutton> that has the container attribute set
// will already have its own dropdown.
if (nsContentUtils::HasNonEmptyAttr(mGestureDownContent,
kNameSpaceID_None, nsGkAtoms::container)) {
allowedToDispatch = false;
else if (tag == nsGkAtoms::toolbarbutton) {
// a <toolbarbutton> that has the container attribute set
// will already have its own dropdown.
if (nsContentUtils::HasNonEmptyAttr(mGestureDownContent,
kNameSpaceID_None, nsGkAtoms::container)) {
} else {
// If the toolbar button has an open menu, don't attempt to open
// a second menu
if (mGestureDownContent->AttrValueIs(kNameSpaceID_None, nsGkAtoms::open,
nsGkAtoms::_true, eCaseMatters)) {
allowedToDispatch = false;
} else {
// If the toolbar button has an open menu, don't attempt to open
// a second menu
if (mGestureDownContent->AttrValueIs(kNameSpaceID_None, nsGkAtoms::open,
nsGkAtoms::_true, eCaseMatters)) {
allowedToDispatch = false;
}
}
}
}
@ -1415,9 +1407,9 @@ EventStateManager::FireContextClick()
allowedToDispatch = formCtrl->IsTextControl(false) ||
formCtrl->GetType() == NS_FORM_INPUT_FILE;
}
else if (tag == nsGkAtoms::applet ||
tag == nsGkAtoms::embed ||
tag == nsGkAtoms::object) {
else if (mGestureDownContent->IsAnyOfHTMLElements(nsGkAtoms::applet,
nsGkAtoms::embed,
nsGkAtoms::object)) {
allowedToDispatch = false;
}
}
@ -4807,8 +4799,7 @@ EventStateManager::ContentRemoved(nsIDocument* aDocument, nsIContent* aContent)
* the current link. We want to make sure that the UI gets informed when they
* are actually removed from the DOM.
*/
if (aContent->IsHTMLElement() &&
(aContent->Tag() == nsGkAtoms::a || aContent->Tag() == nsGkAtoms::area) &&
if (aContent->IsAnyOfHTMLElements(nsGkAtoms::a, nsGkAtoms::area) &&
(aContent->AsElement()->State().HasAtLeastOneOfStates(NS_EVENT_STATE_FOCUS |
NS_EVENT_STATE_HOVER))) {
nsGenericHTMLElement* element = static_cast<nsGenericHTMLElement*>(aContent);

View File

@ -791,10 +791,9 @@ IMEStateManager::SetIMEState(const IMEState& aState,
InputContext context;
context.mIMEState = aState;
if (aContent && aContent->GetNameSpaceID() == kNameSpaceID_XHTML &&
(aContent->Tag() == nsGkAtoms::input ||
aContent->Tag() == nsGkAtoms::textarea)) {
if (aContent->Tag() != nsGkAtoms::textarea) {
if (aContent &&
aContent->IsAnyOfHTMLElements(nsGkAtoms::input, nsGkAtoms::textarea)) {
if (!aContent->IsHTMLElement(nsGkAtoms::textarea)) {
// <input type=number> has an anonymous <input type=text> descendant
// that gets focus whenever anyone tries to focus the number control. We
// need to check if aContent is one of those anonymous text controls and,
@ -830,7 +829,7 @@ IMEStateManager::SetIMEState(const IMEState& aState,
// If we don't have an action hint and
// return won't submit the form, use "next".
if (context.mActionHint.IsEmpty() &&
inputContent->Tag() == nsGkAtoms::input) {
inputContent->IsHTMLElement(nsGkAtoms::input)) {
bool willSubmit = false;
nsCOMPtr<nsIFormControl> control(do_QueryInterface(inputContent));
mozilla::dom::Element* formElement = control->GetFormElement();
@ -841,8 +840,7 @@ IMEStateManager::SetIMEState(const IMEState& aState,
form->GetDefaultSubmitElement()) {
willSubmit = true;
// is this an html form and does it only have a single text input element?
} else if (formElement && formElement->Tag() == nsGkAtoms::form &&
formElement->IsHTMLElement() &&
} else if (formElement && formElement->IsHTMLElement(nsGkAtoms::form) &&
!static_cast<dom::HTMLFormElement*>(formElement)->
ImplicitSubmissionIsDisabled()) {
willSubmit = true;

View File

@ -150,7 +150,7 @@ nsMathMLElement::ParseAttribute(int32_t aNamespaceID,
nsAttrValue& aResult)
{
if (aNamespaceID == kNameSpaceID_None) {
if (Tag() == nsGkAtoms::math && aAttribute == nsGkAtoms::mode) {
if (IsMathMLElement(nsGkAtoms::math) && aAttribute == nsGkAtoms::mode) {
WarnDeprecated(nsGkAtoms::mode->GetUTF16String(),
nsGkAtoms::display->GetUTF16String(), OwnerDoc());
}
@ -232,42 +232,40 @@ nsMathMLElement::IsAttributeMapped(const nsIAtom* aAttribute) const
};
// We don't support mglyph (yet).
nsIAtom* tag = Tag();
if (tag == nsGkAtoms::ms_ || tag == nsGkAtoms::mi_ ||
tag == nsGkAtoms::mn_ || tag == nsGkAtoms::mo_ ||
tag == nsGkAtoms::mtext_ || tag == nsGkAtoms::mspace_)
if (IsAnyOfMathMLElements(nsGkAtoms::ms_, nsGkAtoms::mi_, nsGkAtoms::mn_,
nsGkAtoms::mo_, nsGkAtoms::mtext_,
nsGkAtoms::mspace_))
return FindAttributeDependence(aAttribute, tokenMap);
if (tag == nsGkAtoms::mstyle_ ||
tag == nsGkAtoms::math)
if (IsAnyOfMathMLElements(nsGkAtoms::mstyle_, nsGkAtoms::math))
return FindAttributeDependence(aAttribute, mstyleMap);
if (tag == nsGkAtoms::mtable_)
if (IsMathMLElement(nsGkAtoms::mtable_))
return FindAttributeDependence(aAttribute, mtableMap);
if (tag == nsGkAtoms::mrow_)
if (IsMathMLElement(nsGkAtoms::mrow_))
return FindAttributeDependence(aAttribute, mrowMap);
if (tag == nsGkAtoms::maction_ ||
tag == nsGkAtoms::maligngroup_ ||
tag == nsGkAtoms::malignmark_ ||
tag == nsGkAtoms::menclose_ ||
tag == nsGkAtoms::merror_ ||
tag == nsGkAtoms::mfenced_ ||
tag == nsGkAtoms::mfrac_ ||
tag == nsGkAtoms::mover_ ||
tag == nsGkAtoms::mpadded_ ||
tag == nsGkAtoms::mphantom_ ||
tag == nsGkAtoms::mprescripts_ ||
tag == nsGkAtoms::mroot_ ||
tag == nsGkAtoms::msqrt_ ||
tag == nsGkAtoms::msub_ ||
tag == nsGkAtoms::msubsup_ ||
tag == nsGkAtoms::msup_ ||
tag == nsGkAtoms::mtd_ ||
tag == nsGkAtoms::mtr_ ||
tag == nsGkAtoms::munder_ ||
tag == nsGkAtoms::munderover_ ||
tag == nsGkAtoms::none) {
if (IsAnyOfMathMLElements(nsGkAtoms::maction_,
nsGkAtoms::maligngroup_,
nsGkAtoms::malignmark_,
nsGkAtoms::menclose_,
nsGkAtoms::merror_,
nsGkAtoms::mfenced_,
nsGkAtoms::mfrac_,
nsGkAtoms::mover_,
nsGkAtoms::mpadded_,
nsGkAtoms::mphantom_,
nsGkAtoms::mprescripts_,
nsGkAtoms::mroot_,
nsGkAtoms::msqrt_,
nsGkAtoms::msub_,
nsGkAtoms::msubsup_,
nsGkAtoms::msup_,
nsGkAtoms::mtd_,
nsGkAtoms::mtr_,
nsGkAtoms::munder_,
nsGkAtoms::munderover_,
nsGkAtoms::none)) {
return FindAttributeDependence(aAttribute, commonPresMap);
}
@ -971,11 +969,8 @@ nsMathMLElement::IsLink(nsIURI** aURI) const
{
// http://www.w3.org/TR/2010/REC-MathML3-20101021/chapter6.html#interf.link
// The REC says that the following elements should not be linking elements:
nsIAtom* tag = Tag();
if (tag == nsGkAtoms::mprescripts_ ||
tag == nsGkAtoms::none ||
tag == nsGkAtoms::malignmark_ ||
tag == nsGkAtoms::maligngroup_) {
if (IsAnyOfMathMLElements(nsGkAtoms::mprescripts_, nsGkAtoms::none,
nsGkAtoms::malignmark_, nsGkAtoms::maligngroup_)) {
*aURI = nullptr;
return false;
}

View File

@ -993,13 +993,11 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetTagType(nsPluginTagType *result)
*result = nsPluginTagType_Unknown;
nsIAtom *atom = mContent->Tag();
if (atom == nsGkAtoms::applet)
if (mContent->IsHTMLElement(nsGkAtoms::applet))
*result = nsPluginTagType_Applet;
else if (atom == nsGkAtoms::embed)
else if (mContent->IsHTMLElement(nsGkAtoms::embed))
*result = nsPluginTagType_Embed;
else if (atom == nsGkAtoms::object)
else if (mContent->IsHTMLElement(nsGkAtoms::object))
*result = nsPluginTagType_Object;
return NS_OK;

View File

@ -778,7 +778,7 @@ nsSMILAnimationController::GetTargetIdentifierForAnimation(
// animateTransform can only animate transforms, conversely transforms
// can only be animated by animateTransform
if (IsTransformAttribute(attributeNamespaceID, attributeName) !=
(aAnimElem->Tag() == nsGkAtoms::animateTransform))
(aAnimElem->IsSVGElement(nsGkAtoms::animateTransform)))
return false;
// Look up target (animated) attribute-type