Bug 1479642: Make Windows XULMenuitemAccessibleWrap::Name const so it overrides AccessibleWrap::Name. r?surkov draft
authorJames Teh <jteh@mozilla.com>
Tue, 31 Jul 2018 11:22:59 +1000
changeset 824502 6ec1e63a72a8d2725350473607e1110ed04904b0
parent 824501 fe2acb8f775a787b9027a5b46b59eeb1f73f5c63
push id117930
push userbmo:jteh@mozilla.com
push dateTue, 31 Jul 2018 01:29:57 +0000
reviewerssurkov
bugs1479642, 1438193
milestone63.0a1
Bug 1479642: Make Windows XULMenuitemAccessibleWrap::Name const so it overrides AccessibleWrap::Name. r?surkov This again exposes the accelerator (e.g. Ctrl+T for New Tab) for menu items via IAccessible::accName on windows. Bug 1438193 made Accessible::Name const. On Windows, XULMenuitemAccessibleWrap::Name is overridden to append the accelerator to the name. Unfortunately, this override was missed when converting Name to const (and wasn't a compile error because it didn't use the override keyword). As such, this override stopped being called; we always called the const version, since that's the one inherited into AccessibleWrap. Making this const causes this override to be called. MozReview-Commit-ID: 7Gb199mzhHa
accessible/windows/msaa/XULMenuAccessibleWrap.cpp
accessible/windows/msaa/XULMenuAccessibleWrap.h
--- a/accessible/windows/msaa/XULMenuAccessibleWrap.cpp
+++ b/accessible/windows/msaa/XULMenuAccessibleWrap.cpp
@@ -14,17 +14,17 @@ using namespace mozilla::a11y;
 
 XULMenuitemAccessibleWrap::
   XULMenuitemAccessibleWrap(nsIContent* aContent, DocAccessible* aDoc) :
   XULMenuitemAccessible(aContent, aDoc)
 {
 }
 
 ENameValueFlag
-XULMenuitemAccessibleWrap::Name(nsString& aName)
+XULMenuitemAccessibleWrap::Name(nsString& aName) const
 {
   // XXX This should be done in MSAA's get_accName() so that Accessible::Name()]
   // provides the same results on all platforms
   XULMenuitemAccessible::Name(aName);
   if (aName.IsEmpty())
     return eNameOK;
 
   nsAutoString accel;
--- a/accessible/windows/msaa/XULMenuAccessibleWrap.h
+++ b/accessible/windows/msaa/XULMenuAccessibleWrap.h
@@ -13,15 +13,15 @@ namespace a11y {
 
 class XULMenuitemAccessibleWrap : public XULMenuitemAccessible
 {
 public:
   XULMenuitemAccessibleWrap(nsIContent* aContent, DocAccessible* aDoc);
   virtual ~XULMenuitemAccessibleWrap() {}
 
   // nsIAccessible
-  virtual mozilla::a11y::ENameValueFlag Name(nsString& aName);
+  virtual mozilla::a11y::ENameValueFlag Name(nsString& aName) const override;
 };
 
 } // namespace a11y
 } // namespace mozilla
 
 #endif