Bug 1414230 - Part 1 - Align XUL and HTML markup table names. r=surkov
MozReview-Commit-ID: oNjcGEFIu9
--- a/accessible/base/nsAccessibilityService.cpp
+++ b/accessible/base/nsAccessibilityService.cpp
@@ -314,25 +314,25 @@ static int32_t sPlatformDisabledState =
{ &nsGkAtoms::name, nullptr, &nsGkAtoms::DOMAttrName }
#define AttrFromDOMIf(name, DOMAttrName, DOMAttrValue) \
{ &nsGkAtoms::name, nullptr, &nsGkAtoms::DOMAttrName, &nsGkAtoms::DOMAttrValue }
#define MARKUPMAP(atom, new_func, r, ... ) \
{ &nsGkAtoms::atom, new_func, static_cast<a11y::role>(r), { __VA_ARGS__ } },
-static const MarkupMapInfo sMarkupMapList[] = {
+static const HTMLMarkupMapInfo sHTMLMarkupMapList[] = {
#include "MarkupMap.h"
};
#ifdef MOZ_XUL
#define XULMAP(atom, new_func) \
{ &nsGkAtoms::atom, new_func },
-static const XULMarkupMapInfo sXULMapList[] = {
+static const XULMarkupMapInfo sXULMarkupMapList[] = {
#include "XULMap.h"
};
#endif
#undef Attr
#undef AttrFromDOM
#undef AttrFromDOMIf
#undef MARKUPMAP
@@ -345,19 +345,19 @@ static const XULMarkupMapInfo sXULMapLis
////////////////////////////////////////////////////////////////////////////////
nsAccessibilityService *nsAccessibilityService::gAccessibilityService = nullptr;
ApplicationAccessible* nsAccessibilityService::gApplicationAccessible = nullptr;
xpcAccessibleApplication* nsAccessibilityService::gXPCApplicationAccessible = nullptr;
uint32_t nsAccessibilityService::gConsumers = 0;
nsAccessibilityService::nsAccessibilityService() :
- DocManager(), FocusManager(), mMarkupMaps(ArrayLength(sMarkupMapList))
+ DocManager(), FocusManager(), mHTMLMarkupMap(ArrayLength(sHTMLMarkupMapList))
#ifdef MOZ_XUL
- , mXULMarkupMaps(ArrayLength(sXULMapList))
+ , mXULMarkupMap(ArrayLength(sXULMarkupMapList))
#endif
{
}
nsAccessibilityService::~nsAccessibilityService()
{
NS_ASSERTION(IsShutdown(), "Accessibility wasn't shutdown!");
gAccessibilityService = nullptr;
@@ -1165,18 +1165,18 @@ nsAccessibilityService::CreateAccessible
bool isARIATablePart = roleMapEntry &&
(roleMapEntry->accTypes & (eTableCell | eTableRow | eTable));
if (!isARIATablePart ||
frame->AccessibleType() == eHTMLTableCellType ||
frame->AccessibleType() == eHTMLTableRowType ||
frame->AccessibleType() == eHTMLTableType) {
// Prefer to use markup to decide if and what kind of accessible to create,
- const MarkupMapInfo* markupMap =
- mMarkupMaps.Get(content->NodeInfo()->NameAtom());
+ const HTMLMarkupMapInfo* markupMap =
+ mHTMLMarkupMap.Get(content->NodeInfo()->NameAtom());
if (markupMap && markupMap->new_func)
newAcc = markupMap->new_func(content, aContext);
if (!newAcc) // try by frame accessible type.
newAcc = CreateAccessibleByFrameType(frame, content, aContext);
}
// In case of ARIA grid or table use table-specific classes if it's not
@@ -1229,17 +1229,17 @@ nsAccessibilityService::CreateAccessible
return nullptr;
}
}
#ifdef MOZ_XUL
// Prefer to use XUL to decide if and what kind of accessible to create.
const XULMarkupMapInfo* xulMap =
- mXULMarkupMaps.Get(content->NodeInfo()->NameAtom());
+ mXULMarkupMap.Get(content->NodeInfo()->NameAtom());
if (xulMap && xulMap->new_func) {
newAcc = xulMap->new_func(content, aContext);
}
#endif
// XBL bindings may use @role attribute to point the accessible type
// they belong to.
if (!newAcc) {
@@ -1266,18 +1266,18 @@ nsAccessibilityService::CreateAccessible
// polyline and image. A 'use' and 'text' graphic elements require
// special support.
newAcc = new EnumRoleAccessible<roles::GRAPHIC>(content, document);
} else if (content->IsSVGElement(nsGkAtoms::svg)) {
newAcc = new EnumRoleAccessible<roles::DIAGRAM>(content, document);
}
} else if (content->IsMathMLElement()) {
- const MarkupMapInfo* markupMap =
- mMarkupMaps.Get(content->NodeInfo()->NameAtom());
+ const HTMLMarkupMapInfo* markupMap =
+ mHTMLMarkupMap.Get(content->NodeInfo()->NameAtom());
if (markupMap && markupMap->new_func)
newAcc = markupMap->new_func(content, aContext);
// Fall back to text when encountering Content MathML.
if (!newAcc && !content->IsAnyOfMathMLElements(nsGkAtoms::annotation_,
nsGkAtoms::annotation_xml_,
nsGkAtoms::mpadded_,
nsGkAtoms::mphantom_,
@@ -1345,22 +1345,22 @@ nsAccessibilityService::Init()
// Subscribe to EventListenerService.
nsCOMPtr<nsIEventListenerService> eventListenerService =
do_GetService("@mozilla.org/eventlistenerservice;1");
if (!eventListenerService)
return false;
eventListenerService->AddListenerChangeListener(this);
- for (uint32_t i = 0; i < ArrayLength(sMarkupMapList); i++)
- mMarkupMaps.Put(*sMarkupMapList[i].tag, &sMarkupMapList[i]);
+ for (uint32_t i = 0; i < ArrayLength(sHTMLMarkupMapList); i++)
+ mHTMLMarkupMap.Put(*sHTMLMarkupMapList[i].tag, &sHTMLMarkupMapList[i]);
#ifdef MOZ_XUL
- for (uint32_t i = 0; i < ArrayLength(sXULMapList); i++)
- mXULMarkupMaps.Put(*sXULMapList[i].tag, &sXULMapList[i]);
+ for (uint32_t i = 0; i < ArrayLength(sXULMarkupMapList); i++)
+ mXULMarkupMap.Put(*sXULMarkupMapList[i].tag, &sXULMarkupMapList[i]);
#endif
#ifdef A11Y_LOG
logging::CheckEnv();
#endif
gAccessibilityService = this;
NS_ADDREF(gAccessibilityService); // will release in Shutdown()
@@ -1760,18 +1760,18 @@ nsAccessibilityService::CreateAccessible
return newAcc.forget();
}
void
nsAccessibilityService::MarkupAttributes(const nsIContent* aContent,
nsIPersistentProperties* aAttributes) const
{
- const mozilla::a11y::MarkupMapInfo* markupMap =
- mMarkupMaps.Get(aContent->NodeInfo()->NameAtom());
+ const mozilla::a11y::HTMLMarkupMapInfo* markupMap =
+ mHTMLMarkupMap.Get(aContent->NodeInfo()->NameAtom());
if (!markupMap)
return;
for (uint32_t i = 0; i < ArrayLength(markupMap->attrs); i++) {
const MarkupAttrInfo* info = markupMap->attrs + i;
if (!info->name)
break;
--- a/accessible/base/nsAccessibilityService.h
+++ b/accessible/base/nsAccessibilityService.h
@@ -56,17 +56,17 @@ typedef Accessible* (New_Accessible)(nsI
struct MarkupAttrInfo {
nsStaticAtom** name;
nsStaticAtom** value;
nsStaticAtom** DOMAttrName;
nsStaticAtom** DOMAttrValue;
};
-struct MarkupMapInfo {
+struct HTMLMarkupMapInfo {
nsStaticAtom** tag;
New_Accessible* new_func;
a11y::role role;
MarkupAttrInfo attrs[4];
};
#ifdef MOZ_XUL
struct XULMarkupMapInfo {
@@ -238,18 +238,18 @@ public:
* @param aIsSubtreeHidden [out, optional] indicates whether the node's
* frame and its subtree is hidden
*/
Accessible* CreateAccessible(nsINode* aNode, Accessible* aContext,
bool* aIsSubtreeHidden = nullptr);
mozilla::a11y::role MarkupRole(const nsIContent* aContent) const
{
- const mozilla::a11y::MarkupMapInfo* markupMap =
- mMarkupMaps.Get(aContent->NodeInfo()->NameAtom());
+ const mozilla::a11y::HTMLMarkupMapInfo* markupMap =
+ mHTMLMarkupMap.Get(aContent->NodeInfo()->NameAtom());
return markupMap ? markupMap->role : mozilla::a11y::roles::NOTHING;
}
/**
* Set the object attribute defined by markup for the given element.
*/
void MarkupAttributes(const nsIContent* aContent,
nsIPersistentProperties* aAttributes) const;
@@ -343,19 +343,19 @@ private:
static mozilla::a11y::ApplicationAccessible* gApplicationAccessible;
static mozilla::a11y::xpcAccessibleApplication* gXPCApplicationAccessible;
/**
* Contains a set of accessibility service consumers.
*/
static uint32_t gConsumers;
- nsDataHashtable<nsPtrHashKey<const nsAtom>, const mozilla::a11y::MarkupMapInfo*> mMarkupMaps;
+ nsDataHashtable<nsPtrHashKey<const nsAtom>, const mozilla::a11y::HTMLMarkupMapInfo*> mHTMLMarkupMap;
#ifdef MOZ_XUL
- nsDataHashtable<nsPtrHashKey<const nsAtom>, const mozilla::a11y::XULMarkupMapInfo*> mXULMarkupMaps;
+ nsDataHashtable<nsPtrHashKey<const nsAtom>, const mozilla::a11y::XULMarkupMapInfo*> mXULMarkupMap;
#endif
friend nsAccessibilityService* GetAccService();
friend nsAccessibilityService* GetOrCreateAccService(uint32_t);
friend void MaybeShutdownAccService(uint32_t);
friend void mozilla::a11y::PrefChanged(const char*, void*);
friend mozilla::a11y::FocusManager* mozilla::a11y::FocusMgr();
friend mozilla::a11y::SelectionManager* mozilla::a11y::SelectionMgr();