Skip to content

Commit

Permalink
Bug 1846660 part 1: Remove deprecated IAccessible2_3 implementation a…
Browse files Browse the repository at this point in the history
…nd interface. r=nlapre

No clients actually use this due to inherent flaws.

Differential Revision: https://phabricator.services.mozilla.com/D185132
  • Loading branch information
jcsteh committed Aug 3, 2023
1 parent 1635fd8 commit 85a75ac
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 103 deletions.
1 change: 0 additions & 1 deletion accessible/interfaces/ia2/moz.build
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ midl_enums = [
midl_interfaces = [
"Accessible2",
"Accessible2_2",
"Accessible2_3",
"AccessibleAction",
"AccessibleApplication",
"AccessibleComponent",
Expand Down
48 changes: 3 additions & 45 deletions accessible/windows/ia2/ia2Accessible.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

#include "Accessible2_i.c"
#include "Accessible2_2_i.c"
#include "Accessible2_3_i.c"
#include "AccessibleRole.h"
#include "AccessibleStates.h"

Expand Down Expand Up @@ -43,12 +42,11 @@ ia2Accessible::QueryInterface(REFIID iid, void** ppv) {
// also be added to the IA2 Handler in
// /accessible/ipc/win/handler/AccessibleHandler.cpp

if (IID_IAccessible2_3 == iid)
*ppv = static_cast<IAccessible2_3*>(this);
else if (IID_IAccessible2_2 == iid)
if (IID_IAccessible2_2 == iid) {
*ppv = static_cast<IAccessible2_2*>(this);
else if (IID_IAccessible2 == iid)
} else if (IID_IAccessible2 == iid) {
*ppv = static_cast<IAccessible2*>(this);
}

if (*ppv) {
(reinterpret_cast<IUnknown*>(*ppv))->AddRef();
Expand Down Expand Up @@ -519,46 +517,6 @@ ia2Accessible::get_relationTargetsOfType(BSTR aType, long aMaxTargets,
return S_OK;
}

STDMETHODIMP
ia2Accessible::get_selectionRanges(IA2Range** aRanges, long* aNRanges) {
if (!aRanges || !aNRanges) return E_INVALIDARG;

*aNRanges = 0;

if (!Acc()) {
return CO_E_OBJNOTCONNECTED;
}
AccessibleWrap* acc = LocalAcc();
if (!acc) {
return E_NOTIMPL; // XXX Not supported for RemoteAccessible yet.
}

AutoTArray<TextRange, 1> ranges;
acc->Document()->SelectionRanges(&ranges);
ranges.RemoveElementsBy([acc](auto& range) { return !range.Crop(acc); });

*aNRanges = ranges.Length();
*aRanges =
static_cast<IA2Range*>(::CoTaskMemAlloc(sizeof(IA2Range) * *aNRanges));
if (!*aRanges) return E_OUTOFMEMORY;

for (uint32_t idx = 0; idx < static_cast<uint32_t>(*aNRanges); idx++) {
RefPtr<IAccessible2> anchor =
MsaaAccessible::GetFrom(ranges[idx].StartContainer());
anchor.forget(&(*aRanges)[idx].anchor);

(*aRanges)[idx].anchorOffset = ranges[idx].StartOffset();

RefPtr<IAccessible2> active =
MsaaAccessible::GetFrom(ranges[idx].EndContainer());
active.forget(&(*aRanges)[idx].active);

(*aRanges)[idx].activeOffset = ranges[idx].EndOffset();
}

return S_OK;
}

////////////////////////////////////////////////////////////////////////////////
// Helpers

Expand Down
9 changes: 2 additions & 7 deletions accessible/windows/ia2/ia2Accessible.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
#include "nsISupports.h"
#include "nsTArray.h"

#include "Accessible2_3.h"
#include "Accessible2_2.h"

namespace mozilla {
namespace a11y {
class Accessible;
class AccAttributes;
class AccessibleWrap;

class ia2Accessible : public IAccessible2_3 {
class ia2Accessible : public IAccessible2_2 {
public:
// IUnknown
STDMETHODIMP QueryInterface(REFIID, void**);
Expand Down Expand Up @@ -105,11 +105,6 @@ class ia2Accessible : public IAccessible2_3 {
/* [out, size_is(,*nTargets)] */ IUnknown*** targets,
/* [out, retval] */ long* nTargets);

// IAccessible2_3
virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectionRanges(
/* [out, size_is(,*nRanges)] */ IA2Range** ranges,
/* [out, retval] */ long* nRanges);

// Helper method
static HRESULT ConvertToIA2Attributes(AccAttributes* aAttributes,
BSTR* aIA2Attributes);
Expand Down
50 changes: 0 additions & 50 deletions other-licenses/ia2/Accessible2_3.idl

This file was deleted.

0 comments on commit 85a75ac

Please sign in to comment.