/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* 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/. */
class SessionAccessibility final
: public java::SessionAccessibility::NativeProvider::Natives<
SessionAccessibility> { public: typedef java::SessionAccessibility::NativeProvider::Natives<
SessionAccessibility>
Base;
private: // A strong reference to a DocAccessible or DocAccessibleParent. They don't // share any useful base class except nsISupports, so we use that. // When we retrieve the document from this reference we cast it to // LocalAccessible in the DocAccessible case because DocAccessible has // multiple inheritance paths for nsISupports.
RefPtr<nsISupports> mDoc; // The ID of the accessible as used in the internal doc mapping. // We rely on this ID being pointer derived and therefore divisible by two // so we can use the first bit to mark if it is remote or not.
uint64_t mInternalID;
staticconst uintptr_t IS_REMOTE = 0x1;
};
/* * This provides a mapping from 32 bit id to accessible objects.
*/
nsBaseHashtable<nsUint32HashKey, IDMappingEntry, Accessible*>
mIDToAccessibleMap;
};