Bug 1598299 part 2: Remove ProxyAccessible::AccessibleAtPoint. r=yzen,nika

This wasn't useful cross-platform.
ATK was the only consumer of this and it now uses ProxyAccessible::ChildAtPoint.
This also means the related aNeedsScreenCoords functionality in PDocAccessible::AccessibleAtPoint is no longer needed and has thus been removed.
Finally, this renames PDocAccessible::AccessibleAtPoint to PDocAccessible::ChildAtPoint for consistency with Accessible::ChildAtPoint now that the functionality is mirrored.

Differential Revision: https://phabricator.services.mozilla.com/D67987

--HG--
extra : moz-landing-system : lando
This commit is contained in:
James Teh 2020-03-29 23:08:44 +00:00
parent ef9d9e1d06
commit c48bee7775
6 changed files with 11 additions and 33 deletions

View File

@ -260,9 +260,6 @@ void MimeType(nsString aMime);
void URLDocTypeMimeType(nsString& aURL, nsString& aDocType,
nsString& aMimeType);
ProxyAccessible* AccessibleAtPoint(int32_t aX, int32_t aY,
bool aNeedsScreenCoords);
void Extents(bool aNeedsScreenCoords, int32_t* aX, int32_t* aY, int32_t* aWidth,
int32_t* aHeight);

View File

@ -1603,23 +1603,16 @@ mozilla::ipc::IPCResult DocAccessibleChild::RecvURLDocTypeMimeType(
return IPC_OK();
}
mozilla::ipc::IPCResult DocAccessibleChild::RecvAccessibleAtPoint(
mozilla::ipc::IPCResult DocAccessibleChild::RecvChildAtPoint(
const uint64_t& aID, const int32_t& aX, const int32_t& aY,
const bool& aNeedsScreenCoords, const uint32_t& aWhich,
PDocAccessibleChild** aResultDoc, uint64_t* aResultID) {
const uint32_t& aWhich, PDocAccessibleChild** aResultDoc,
uint64_t* aResultID) {
*aResultDoc = nullptr;
*aResultID = 0;
Accessible* acc = IdToAccessible(aID);
if (acc && !acc->IsDefunct() && !nsAccUtils::MustPrune(acc)) {
int32_t x = aX;
int32_t y = aY;
if (aNeedsScreenCoords) {
nsIntPoint winCoords =
nsCoreUtils::GetScreenCoordsForWindow(acc->GetNode());
x += winCoords.x;
y += winCoords.y;
}
Accessible* result = acc->ChildAtPoint(
x, y, static_cast<Accessible::EWhichChildAtPoint>(aWhich));
if (result) {

View File

@ -459,10 +459,10 @@ class DocAccessibleChild : public DocAccessibleChildBase {
const uint64_t& aID, nsString* aURL, nsString* aDocType,
nsString* aMimeType) override;
virtual mozilla::ipc::IPCResult RecvAccessibleAtPoint(
virtual mozilla::ipc::IPCResult RecvChildAtPoint(
const uint64_t& aID, const int32_t& aX, const int32_t& aY,
const bool& aNeedsScreenCoords, const uint32_t& aWhich,
PDocAccessibleChild** aResultDoc, uint64_t* aResultID) override;
const uint32_t& aWhich, PDocAccessibleChild** aResultDoc,
uint64_t* aResultID) override;
virtual mozilla::ipc::IPCResult RecvExtents(const uint64_t& aID,
const bool& aNeedsScreenCoords,

View File

@ -304,7 +304,7 @@ child:
nested(inside_sync) sync MimeType(uint64_t aID) returns(nsString aMime);
nested(inside_sync) sync URLDocTypeMimeType(uint64_t aID) returns(nsString aURL, nsString aDocType, nsString aMimeType);
nested(inside_sync) sync AccessibleAtPoint(uint64_t aID, int32_t aX, int32_t aY, bool aNeedsScreenCoords, uint32_t aWhich)
nested(inside_sync) sync ChildAtPoint(uint64_t aID, int32_t aX, int32_t aY, uint32_t aWhich)
returns(nullable PDocAccessible aResultDoc, uint64_t aResultID);
nested(inside_sync) sync Extents(uint64_t aID, bool aNeedsScreenCoords)

View File

@ -793,9 +793,9 @@ ProxyAccessible* ProxyAccessible::ChildAtPoint(
}
PDocAccessibleParent* resultDoc = nullptr;
uint64_t resultID = 0;
Unused << target->mDoc->SendAccessibleAtPoint(
target->mID, aX, aY, false, static_cast<uint32_t>(aWhichChild),
&resultDoc, &resultID);
Unused << target->mDoc->SendChildAtPoint(target->mID, aX, aY,
static_cast<uint32_t>(aWhichChild),
&resultDoc, &resultID);
// If resultDoc is null, this means there is no child at this point.
auto useDoc = static_cast<DocAccessibleParent*>(resultDoc);
target = resultDoc ? useDoc->GetAccessible(resultID) : nullptr;
@ -843,18 +843,6 @@ void ProxyAccessible::URLDocTypeMimeType(nsString& aURL, nsString& aDocType,
Unused << mDoc->SendURLDocTypeMimeType(mID, &aURL, &aDocType, &aMimeType);
}
ProxyAccessible* ProxyAccessible::AccessibleAtPoint(int32_t aX, int32_t aY,
bool aNeedsScreenCoords) {
PDocAccessibleParent* resultDoc = nullptr;
uint64_t resultID = 0;
Unused << mDoc->SendAccessibleAtPoint(
mID, aX, aY, aNeedsScreenCoords,
static_cast<uint32_t>(Accessible::eDirectChild), &resultDoc, &resultID);
auto useDoc = static_cast<DocAccessibleParent*>(resultDoc);
// If resultDoc is null, this means there is no child at this point.
return resultDoc ? useDoc->GetAccessible(resultID) : nullptr;
}
void ProxyAccessible::Extents(bool aNeedsScreenCoords, int32_t* aX, int32_t* aY,
int32_t* aWidth, int32_t* aHeight) {
Unused << mDoc->SendExtents(mID, aNeedsScreenCoords, aX, aY, aWidth, aHeight);

View File

@ -595,7 +595,7 @@ platform = notwin
[PDocAccessible::URLDocTypeMimeType]
description = Legacy a11y IPC
platform = notwin
[PDocAccessible::AccessibleAtPoint]
[PDocAccessible::ChildAtPoint]
description = Legacy a11y IPC
platform = notwin
[PDocAccessible::Extents]