mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
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:
parent
87495fbf33
commit
ce77626266
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user