mirror of
https://github.com/mozilla-firefox/firefox
synced 2026-08-10 11:48:50 +00:00
replaced by .editorconfig # ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D287834
60 lines
1.9 KiB
C++
60 lines
1.9 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "xpcAccessibleGeneric.h"
|
|
|
|
#include "xpcAccessibleDocument.h"
|
|
|
|
using namespace mozilla::a11y;
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// nsISupports
|
|
|
|
NS_INTERFACE_MAP_BEGIN(xpcAccessibleGeneric)
|
|
NS_INTERFACE_MAP_ENTRY(nsIAccessible)
|
|
NS_INTERFACE_MAP_ENTRY_CONDITIONAL(nsIAccessibleSelectable,
|
|
mSupportedIfaces & eSelectable)
|
|
NS_INTERFACE_MAP_ENTRY_CONDITIONAL(nsIAccessibleValue,
|
|
mSupportedIfaces & eValue)
|
|
NS_INTERFACE_MAP_ENTRY_CONDITIONAL(nsIAccessibleHyperLink,
|
|
mSupportedIfaces & eHyperLink)
|
|
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAccessible)
|
|
NS_INTERFACE_MAP_END
|
|
|
|
NS_IMPL_ADDREF(xpcAccessibleGeneric)
|
|
NS_IMPL_RELEASE(xpcAccessibleGeneric)
|
|
|
|
xpcAccessibleGeneric::~xpcAccessibleGeneric() {
|
|
if (!mIntl) {
|
|
return;
|
|
}
|
|
|
|
xpcAccessibleDocument* xpcDoc = nullptr;
|
|
if (mIntl->IsLocal()) {
|
|
LocalAccessible* acc = mIntl->AsLocal();
|
|
if (!acc->IsDoc() && !acc->IsApplication()) {
|
|
xpcDoc = GetAccService()->GetXPCDocument(acc->Document());
|
|
xpcDoc->NotifyOfShutdown(acc);
|
|
}
|
|
} else {
|
|
RemoteAccessible* proxy = mIntl->AsRemote();
|
|
if (!proxy->IsDoc()) {
|
|
xpcDoc = GetAccService()->GetXPCDocument(proxy->Document());
|
|
xpcDoc->NotifyOfShutdown(proxy);
|
|
}
|
|
}
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// nsIAccessible
|
|
|
|
LocalAccessible* xpcAccessibleGeneric::ToInternalAccessible() {
|
|
return mIntl->AsLocal();
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// xpcAccessibleGeneric
|
|
|
|
void xpcAccessibleGeneric::Shutdown() { mIntl = nullptr; }
|