Bug 1052866 part 2: Handle QI to IAccessibleText for tables. r=MarcoZ
authorJames Teh <jteh@mozilla.com>
Mon, 29 Oct 2018 06:36:51 +0000
changeset 443286 7ceb485a00ccd366cb25bedba008dcaf63a355d9
parent 443285 870be0de691aca617867dc3241a673718a9f26b7
child 443287 f7a97b344fa59bd3b01ea81ebd5b150aa63bfb12
child 443288 e47c537cec07a35dcd6c1ecc08f14fe438e1aadd
push id34953
push userebalazs@mozilla.com
push dateMon, 29 Oct 2018 09:26:00 +0000
treeherdermozilla-central@f7a97b344fa5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersMarcoZ
bugs1052866
milestone65.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1052866 part 2: Handle QI to IAccessibleText for tables. r=MarcoZ The first patch inherits from the right classes, but because tables have additional interfaces, QueryInterface is overridden. It had to be updated to also include HyperTextAccessibleWrap. Rows worked correctly because they don't have any specific interfaces and thus don't override QI. They just inherit their QI implementation from their base class. Differential Revision: https://phabricator.services.mozilla.com/D10022
accessible/windows/msaa/ARIAGridAccessibleWrap.cpp
accessible/windows/msaa/HTMLTableAccessibleWrap.cpp
--- a/accessible/windows/msaa/ARIAGridAccessibleWrap.cpp
+++ b/accessible/windows/msaa/ARIAGridAccessibleWrap.cpp
@@ -12,18 +12,19 @@ using namespace mozilla::a11y;
 
 ////////////////////////////////////////////////////////////////////////////////
 // ARIAGridAccessibleWrap
 ////////////////////////////////////////////////////////////////////////////////
 
 NS_IMPL_ISUPPORTS_INHERITED0(ARIAGridAccessibleWrap,
                              ARIAGridAccessible)
 
-IMPL_IUNKNOWN_INHERITED1(ARIAGridAccessibleWrap,
+IMPL_IUNKNOWN_INHERITED2(ARIAGridAccessibleWrap,
                          AccessibleWrap,
+                         HyperTextAccessibleWrap,
                          ia2AccessibleTable)
 
 void
 ARIAGridAccessibleWrap::Shutdown()
 {
   ia2AccessibleTable::mTable = nullptr;
   ARIAGridAccessible::Shutdown();
 }
--- a/accessible/windows/msaa/HTMLTableAccessibleWrap.cpp
+++ b/accessible/windows/msaa/HTMLTableAccessibleWrap.cpp
@@ -11,18 +11,19 @@ using namespace mozilla::a11y;
 
 ////////////////////////////////////////////////////////////////////////////////
 // HTMLTableAccessibleWrap
 ////////////////////////////////////////////////////////////////////////////////
 
 NS_IMPL_ISUPPORTS_INHERITED0(HTMLTableAccessibleWrap,
                              HTMLTableAccessible)
 
-IMPL_IUNKNOWN_INHERITED1(HTMLTableAccessibleWrap,
+IMPL_IUNKNOWN_INHERITED2(HTMLTableAccessibleWrap,
                          AccessibleWrap,
+                         HyperTextAccessibleWrap,
                          ia2AccessibleTable)
 
 void
 HTMLTableAccessibleWrap::Shutdown()
 {
   ia2AccessibleTable::mTable = nullptr;
   HTMLTableAccessible::Shutdown();
 }