bug 1162654 - allow proxies to implement the document interface r=davidb
☠☠ backed out by 053b96e48e3c ☠ ☠
authorTrevor Saunders <tbsaunde@tbsaunde.org>
Thu, 07 May 2015 13:31:56 -0400
changeset 274413 82bbc0b0d516c7d69d931121443513537fcee8e5
parent 274412 01c40642909358267bddfab8a210a791f029520f
child 274414 863caf540d9a1762e8aafbc4193ab60b40eb960f
push id863
push userraliiev@mozilla.com
push dateMon, 03 Aug 2015 13:22:43 +0000
treeherdermozilla-release@f6321b14228d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdavidb
bugs1162654
milestone40.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 1162654 - allow proxies to implement the document interface r=davidb
accessible/atk/AccessibleWrap.cpp
accessible/ipc/DocAccessibleChild.cpp
accessible/ipc/ProxyAccessible.h
--- a/accessible/atk/AccessibleWrap.cpp
+++ b/accessible/atk/AccessibleWrap.cpp
@@ -1055,16 +1055,19 @@ GetInterfacesForProxy(ProxyAccessible* a
     interfaces |= MAI_INTERFACE_VALUE;
 
   if (aInterfaces & Interfaces::TABLE)
     interfaces |= MAI_INTERFACE_TABLE;
 
   if (aInterfaces & Interfaces::IMAGE)
     interfaces |= MAI_INTERFACE_IMAGE;
 
+  if (aInterfaces & Interfaces::DOCUMENT)
+    interfaces |= MAI_INTERFACE_DOCUMENT;
+
   return interfaces;
 }
 
 void
 a11y::ProxyCreated(ProxyAccessible* aProxy, uint32_t aInterfaces)
 {
   GType type = GetMaiAtkType(GetInterfacesForProxy(aProxy, aInterfaces));
   NS_ASSERTION(type, "why don't we have a type!");
--- a/accessible/ipc/DocAccessibleChild.cpp
+++ b/accessible/ipc/DocAccessibleChild.cpp
@@ -34,16 +34,19 @@ InterfacesFor(Accessible* aAcc)
     interfaces |= Interfaces::VALUE;
 
   if (aAcc->IsImage())
     interfaces |= Interfaces::IMAGE;
 
   if (aAcc->IsTableCell())
     interfaces |= Interfaces::TABLECELL;
 
+  if (aAcc->IsDoc())
+    interfaces |= Interfaces::DOCUMENT;
+
   return interfaces;
 }
 
 static void
 SerializeTree(Accessible* aRoot, nsTArray<AccessibleData>& aTree)
 {
   uint64_t id = reinterpret_cast<uint64_t>(aRoot->UniqueID());
   uint32_t role = aRoot->Role();
--- a/accessible/ipc/ProxyAccessible.h
+++ b/accessible/ipc/ProxyAccessible.h
@@ -316,14 +316,15 @@ private:
 enum Interfaces
 {
   HYPERTEXT = 1,
   HYPERLINK = 2,
   IMAGE = 4,
   VALUE = 8,
   TABLE = 16,
   TABLECELL = 32,
+  DOCUMENT = 64,
 };
 
 }
 }
 
 #endif