Bug 748724 - De-ns-ify nsRootAccessible, r=surkov, f=tbsaunde

--HG--
rename : accessible/src/atk/nsRootAccessibleWrap.cpp => accessible/src/atk/RootAccessibleWrap.cpp
rename : accessible/src/atk/nsRootAccessibleWrap.h => accessible/src/atk/RootAccessibleWrap.h
rename : accessible/src/base/nsRootAccessible.cpp => accessible/src/generic/RootAccessible.cpp
rename : accessible/src/base/nsRootAccessible.h => accessible/src/generic/RootAccessible.h
rename : accessible/src/mac/nsRootAccessibleWrap.h => accessible/src/mac/RootAccessibleWrap.h
rename : accessible/src/mac/nsRootAccessibleWrap.mm => accessible/src/mac/RootAccessibleWrap.mm
rename : accessible/src/msaa/nsRootAccessibleWrap.cpp => accessible/src/msaa/RootAccessibleWrap.cpp
rename : accessible/src/msaa/nsRootAccessibleWrap.h => accessible/src/msaa/RootAccessibleWrap.h
rename : accessible/src/other/nsRootAccessibleWrap.h => accessible/src/other/RootAccessibleWrap.h
This commit is contained in:
Mark Capella 2012-05-04 15:09:22 +09:00
parent 3b1ac85f56
commit 8405acdb47
35 changed files with 199 additions and 223 deletions

View File

@ -837,11 +837,11 @@ which is handled in <a
via the creation of an <a
href="http://lxr.mozilla.org/seamonkey/find?string=msaa/nsDocAccessibleWrap">nsDocAccessibleWrap</a>
for an inner window or <a
href="http://lxr.mozilla.org/seamonkey/find?string=msaa/nsRootAccessibleWrap">nsRootAccessibleWrap</a>
href="http://lxr.mozilla.org/seamonkey/find?string=msaa/RootAccessibleWrap">RootAccessibleWrap</a>
for a top level window. These classes implement both nsIAccessible, our
cross platform API, as well as IAccessible, which is specific to
Windows/MSAA/COM. The cross-platform nsDocAccessible and
nsRootAccessible classes they inherit from are then told to start
RootAccessible classes they inherit from are then told to start
listening for DOM, page load and scroll events.&nbsp; These events cause
MSAA-specific events, such as EVENT_OBJECT_FOCUS or
EVENT_OBJECT_STATECHANGE, to fire on UI and document objects within the
@ -970,7 +970,7 @@ important one is EVENT_OBJECT_FOCUS.<br>
</p>
<p>When a potential accessibility-related event occurs within
Mozilla, it is typically listened for by nsDocAccessible or
nsRootAccessible. The event listeners on these classes call
RootAccessible. The event listeners on these classes call
FireToolkitEvent(), which is implemented for every accessible.
Eventually, the event ends up at nsDocAccessibleWrap::FireToolkitEvent()
which calls NotifyWinEvent from the Win32 API. NotifyWinEvent is passed

View File

@ -52,7 +52,6 @@ CPPSRCS = \
nsAccessNodeWrap.cpp \
nsAccessibleWrap.cpp \
nsDocAccessibleWrap.cpp \
nsRootAccessibleWrap.cpp \
ApplicationAccessibleWrap.cpp \
nsMaiInterfaceComponent.cpp \
nsMaiInterfaceAction.cpp \
@ -66,6 +65,7 @@ CPPSRCS = \
nsMaiInterfaceTable.cpp \
nsMaiInterfaceDocument.cpp \
nsMaiInterfaceImage.cpp \
RootAccessibleWrap.cpp \
$(NULL)
EXPORTS = \
@ -74,7 +74,6 @@ EXPORTS = \
nsAccessNodeWrap.h \
nsAccessibleWrap.h \
nsDocAccessibleWrap.h \
nsRootAccessibleWrap.h \
nsTextAccessibleWrap.h \
nsXULMenuAccessibleWrap.h \
nsXULListboxAccessibleWrap.h \

View File

@ -38,11 +38,14 @@
*
* ***** END LICENSE BLOCK ***** */
#include "nsMai.h"
#include "nsRootAccessibleWrap.h"
#include "RootAccessibleWrap.h"
nsNativeRootAccessibleWrap::nsNativeRootAccessibleWrap(AtkObject *aAccessible):
nsRootAccessible(nsnull, nsnull, nsnull)
#include "nsMai.h"
using namespace mozilla::a11y;
NativeRootAccessibleWrap::NativeRootAccessibleWrap(AtkObject* aAccessible):
RootAccessible(nsnull, nsnull, nsnull)
{
// XXX: mark the object as defunct to ensure no single internal method is
// running on it.
@ -52,7 +55,7 @@ nsNativeRootAccessibleWrap::nsNativeRootAccessibleWrap(AtkObject *aAccessible):
mAtkObject = aAccessible;
}
nsNativeRootAccessibleWrap::~nsNativeRootAccessibleWrap()
NativeRootAccessibleWrap::~NativeRootAccessibleWrap()
{
g_object_unref(mAtkObject);
mAtkObject = nsnull;

View File

@ -38,23 +38,30 @@
*
* ***** END LICENSE BLOCK ***** */
#ifndef __NS_ROOT_ACCESSIBLE_WRAP_H__
#define __NS_ROOT_ACCESSIBLE_WRAP_H__
#ifndef mozilla_a11y_RootAccessibleWrap_h__
#define mozilla_a11y_RootAccessibleWrap_h__
#include "nsRootAccessible.h"
#include "RootAccessible.h"
typedef nsRootAccessible nsRootAccessibleWrap;
namespace mozilla {
namespace a11y {
/* nsNativeRootAccessibleWrap is the accessible class for gtk+ native window.
* The instance of nsNativeRootAccessibleWrap is a child of MaiAppRoot instance.
typedef RootAccessible RootAccessibleWrap;
/* NativeRootAccessibleWrap is the accessible class for gtk+ native window.
* The instance of NativeRootAccessibleWrap is a child of MaiAppRoot instance.
* It is added into root when the toplevel window is created, and removed
* from root when the toplevel window is destroyed.
*/
class nsNativeRootAccessibleWrap: public nsRootAccessible
class NativeRootAccessibleWrap : public RootAccessible
{
public:
nsNativeRootAccessibleWrap(AtkObject *aAccessible);
~nsNativeRootAccessibleWrap();
NativeRootAccessibleWrap(AtkObject* aAccessible);
virtual ~NativeRootAccessibleWrap();
};
#endif /* __NS_ROOT_ACCESSIBLE_WRAP_H__ */
} // namespace a11y
} // namespace mozilla
#endif /* mozilla_a11y_Root_Accessible_Wrap_h__ */

View File

@ -45,8 +45,7 @@
#include "InterfaceInitFuncs.h"
#include "nsAccUtils.h"
#include "nsIAccessibleRelation.h"
#include "nsRootAccessible.h"
#include "nsDocAccessibleWrap.h"
#include "RootAccessible.h"
#include "nsIAccessibleValue.h"
#include "nsMai.h"
#include "nsMaiHyperlink.h"
@ -55,6 +54,7 @@
#include "prprf.h"
#include "nsStateMap.h"
#include "Relation.h"
#include "RootAccessible.h"
#include "States.h"
#include "mozilla/Util.h"
@ -1040,7 +1040,7 @@ nsAccessibleWrap::FirePlatformEvent(AccEvent* aEvent)
case nsIAccessibleEvent::EVENT_FOCUS:
{
MAI_LOG_DEBUG(("\n\nReceived: EVENT_FOCUS\n"));
nsRootAccessible* rootAccWrap = accWrap->RootAccessible();
a11y::RootAccessible* rootAccWrap = accWrap->RootAccessible();
if (rootAccWrap && rootAccWrap->mActivated) {
atk_focus_tracker_notify(atkObj);
// Fire state change event for focus
@ -1233,9 +1233,7 @@ nsAccessibleWrap::FirePlatformEvent(AccEvent* aEvent)
case nsIAccessibleEvent::EVENT_WINDOW_ACTIVATE:
{
MAI_LOG_DEBUG(("\n\nReceived: EVENT_WINDOW_ACTIVATED\n"));
nsRootAccessible *rootAcc =
static_cast<nsRootAccessible *>(accessible);
rootAcc->mActivated = true;
accessible->AsRoot()->mActivated = true;
guint id = g_signal_lookup ("activate", MAI_TYPE_ATK_OBJECT);
g_signal_emit(atkObj, id, 0);
@ -1246,9 +1244,7 @@ nsAccessibleWrap::FirePlatformEvent(AccEvent* aEvent)
case nsIAccessibleEvent::EVENT_WINDOW_DEACTIVATE:
{
MAI_LOG_DEBUG(("\n\nReceived: EVENT_WINDOW_DEACTIVATED\n"));
nsRootAccessible *rootAcc =
static_cast<nsRootAccessible *>(accessible);
rootAcc->mActivated = false;
accessible->AsRoot()->mActivated = false;
guint id = g_signal_lookup ("deactivate", MAI_TYPE_ATK_OBJECT);
g_signal_emit(atkObj, id, 0);
} break;

View File

@ -40,8 +40,8 @@
#include "Accessible-inl.h"
#include "nsAccessibilityService.h"
#include "nsAccUtils.h"
#include "nsRootAccessible.h"
#include "Role.h"
#include "RootAccessible.h"
#include "nsEventStateManager.h"
#include "nsFocusManager.h"
@ -157,7 +157,7 @@ FocusManager::NotifyOfDOMFocus(nsISupports* aTarget)
if (document) {
// Set selection listener for focused element.
if (targetNode->IsElement()) {
nsRootAccessible* root = document->RootAccessible();
RootAccessible* root = document->RootAccessible();
nsCaretAccessible* caretAcc = root->GetCaretAccessible();
caretAcc->SetControlSelectionListener(targetNode->AsElement());
}

View File

@ -68,7 +68,6 @@ CPPSRCS = \
nsAccTreeWalker.cpp \
nsBaseWidgetAccessible.cpp \
nsEventShell.cpp \
nsRootAccessible.cpp \
nsCaretAccessible.cpp \
nsTextAccessible.cpp \
nsTextEquivUtils.cpp \

View File

@ -42,7 +42,7 @@
#include "nsAccessibilityService.h"
#include "nsAccUtils.h"
#include "nsARIAMap.h"
#include "nsRootAccessibleWrap.h"
#include "RootAccessibleWrap.h"
#include "States.h"
#include "nsCURILoader.h"
@ -356,7 +356,7 @@ nsAccDocManager::AddListeners(nsIDocument *aDocument,
}
nsDocAccessible*
nsAccDocManager::CreateDocOrRootAccessible(nsIDocument *aDocument)
nsAccDocManager::CreateDocOrRootAccessible(nsIDocument* aDocument)
{
// Ignore temporary, hiding, resource documents and documents without
// docshell.
@ -391,7 +391,7 @@ nsAccDocManager::CreateDocOrRootAccessible(nsIDocument *aDocument)
// We only create root accessibles for the true root, otherwise create a
// doc accessible.
nsRefPtr<nsDocAccessible> docAcc = isRootDoc ?
new nsRootAccessibleWrap(aDocument, rootElm, presShell) :
new RootAccessibleWrap(aDocument, rootElm, presShell) :
new nsDocAccessibleWrap(aDocument, rootElm, presShell);
// Cache the document accessible into document cache.

View File

@ -42,7 +42,7 @@
#include "nsAccessibilityService.h"
#include "nsAccUtils.h"
#include "nsCoreUtils.h"
#include "nsRootAccessible.h"
#include "RootAccessible.h"
#include "nsIDocShell.h"
#include "nsIDocShellTreeItem.h"
@ -59,6 +59,8 @@
#include "nsPresContext.h"
#include "mozilla/Services.h"
using namespace mozilla::a11y;
/* For documentation of the accessibility architecture,
* see http://lxr.mozilla.org/seamonkey/source/accessible/accessible-docs.html
*/
@ -204,7 +206,7 @@ void nsAccessNode::ShutdownXPAccessibility()
NotifyA11yInitOrShutdown(false);
}
nsRootAccessible*
RootAccessible*
nsAccessNode::RootAccessible() const
{
nsCOMPtr<nsIDocShellTreeItem> docShellTreeItem =

View File

@ -57,7 +57,12 @@ class ApplicationAccessible;
class nsAccessNode;
class nsDocAccessible;
class nsIAccessibleDocument;
class nsRootAccessible;
namespace mozilla {
namespace a11y {
class RootAccessible;
}
}
class nsIPresShell;
class nsPresContext;
@ -93,7 +98,7 @@ public:
/**
* Return the root document accessible for this accessnode.
*/
nsRootAccessible* RootAccessible() const;
mozilla::a11y::RootAccessible* RootAccessible() const;
/**
* Initialize the access node object, add it to the cache.

View File

@ -57,11 +57,11 @@
#include "nsHTMLTableAccessibleWrap.h"
#include "nsHTMLTextAccessible.h"
#include "nsHyperTextAccessibleWrap.h"
#include "nsRootAccessibleWrap.h"
#include "nsXFormsFormControlsAccessible.h"
#include "nsXFormsWidgetsAccessible.h"
#include "OuterDocAccessible.h"
#include "Role.h"
#include "RootAccessibleWrap.h"
#include "States.h"
#include "Statistics.h"
#ifdef XP_WIN
@ -657,7 +657,7 @@ nsAccessibilityService::PresShellActivated(nsIPresShell* aPresShell)
if (DOMDoc) {
nsDocAccessible* document = GetDocAccessibleFromCache(DOMDoc);
if (document) {
nsRootAccessible* rootDocument = document->RootAccessible();
RootAccessible* rootDocument = document->RootAccessible();
NS_ASSERTION(rootDocument, "Entirely broken tree: no root document!");
if (rootDocument)
rootDocument->DocumentActivated(document);
@ -1728,15 +1728,15 @@ nsAccessibilityService::CreateHTMLAccessibleByMarkup(nsIFrame* aFrame,
nsAccessible*
nsAccessibilityService::AddNativeRootAccessible(void* aAtkAccessible)
{
{
#ifdef MOZ_ACCESSIBILITY_ATK
ApplicationAccessible* applicationAcc =
nsAccessNode::GetApplicationAccessible();
if (!applicationAcc)
return nsnull;
nsRefPtr<nsNativeRootAccessibleWrap> nativeRootAcc =
new nsNativeRootAccessibleWrap((AtkObject*)aAtkAccessible);
nsRefPtr<NativeRootAccessibleWrap> nativeRootAcc =
new NativeRootAccessibleWrap(static_cast<AtkObject*>(aAtkAccessible));
if (!nativeRootAcc)
return nsnull;
@ -1745,7 +1745,7 @@ nsAccessibilityService::AddNativeRootAccessible(void* aAtkAccessible)
#endif
return nsnull;
}
}
void
nsAccessibilityService::RemoveNativeRootAccessible(nsAccessible* aAccessible)

View File

@ -50,10 +50,10 @@
#include "nsAccTreeWalker.h"
#include "nsIAccessibleRelation.h"
#include "nsEventShell.h"
#include "nsRootAccessible.h"
#include "nsTextEquivUtils.h"
#include "Relation.h"
#include "Role.h"
#include "RootAccessible.h"
#include "States.h"
#include "StyleInfo.h"
@ -257,8 +257,7 @@ nsAccessible::GetRootDocument(nsIAccessibleDocument **aRootDocument)
{
NS_ENSURE_ARG_POINTER(aRootDocument);
nsRootAccessible* rootDocument = RootAccessible();
NS_IF_ADDREF(*aRootDocument = rootDocument);
NS_IF_ADDREF(*aRootDocument = RootAccessible());
return NS_OK;
}

View File

@ -489,7 +489,7 @@ public:
inline bool IsMenuPopup() const { return mFlags & eMenuPopupAccessible; }
inline bool IsRoot() const { return mFlags & eRootAccessible; }
nsRootAccessible* AsRoot();
mozilla::a11y::RootAccessible* AsRoot();
virtual mozilla::a11y::TableAccessible* AsTable() { return nsnull; }

View File

@ -41,6 +41,7 @@
#include "nsAccUtils.h"
#include "nsCoreUtils.h"
#include "nsIAccessibleEvent.h"
#include "RootAccessible.h"
#include "nsCaret.h"
#include "nsIDOMDocument.h"
@ -49,15 +50,16 @@
#include "nsIDOMHTMLTextAreaElement.h"
#include "nsIFrame.h"
#include "nsIPresShell.h"
#include "nsRootAccessible.h"
#include "nsISelectionPrivate.h"
#include "nsServiceManagerUtils.h"
class nsIWidget;
using namespace mozilla::a11y;
NS_IMPL_ISUPPORTS1(nsCaretAccessible, nsISelectionListener)
nsCaretAccessible::nsCaretAccessible( nsRootAccessible *aRootAccessible):
nsCaretAccessible::nsCaretAccessible(RootAccessible* aRootAccessible) :
mLastCaretOffset(-1), mRootAccessible(aRootAccessible)
{
}
@ -68,8 +70,8 @@ nsCaretAccessible::~nsCaretAccessible()
void nsCaretAccessible::Shutdown()
{
// The caret accessible isn't shut down until the nsRootAccessible owning it is shut down
// Each nsDocAccessible, including the nsRootAccessible, is responsible for clearing the
// The caret accessible isn't shut down until the RootAccessible owning it is shut down
// Each nsDocAccessible, including the RootAccessible, is responsible for clearing the
// doc selection listeners they registered in this nsCaretAccessible
ClearControlSelectionListener(); // Clear the selection listener for the currently focused control

View File

@ -43,11 +43,9 @@
#include "nsISelectionListener.h"
class nsRootAccessible;
/*
* This special accessibility class is for the caret, which is really the currently focused selection.
* There is only 1 visible caret per top level window (nsRootAccessible),
* There is only 1 visible caret per top level window (RootAccessible),
* However, there may be several visible selections.
*
* The important selections are the one owned by each document, and the one in the currently focused control.
@ -59,8 +57,8 @@ class nsRootAccessible;
* For ATK and Iaccessible2, the caret accessible is used to fire
* caret move and selection change events.
*
* The caret accessible is owned by the nsRootAccessible for the top level window that it's in.
* The nsRootAccessible needs to tell the nsCaretAccessible about focus changes via
* The caret accessible is owned by the RootAccessible for the top level window that it's in.
* The RootAccessible needs to tell the nsCaretAccessible about focus changes via
* setControlSelectionListener().
* Each nsDocAccessible needs to tell the nsCaretAccessible owned by the root to
* listen for selection events via addDocSelectionListener() and then needs to remove the
@ -72,7 +70,7 @@ class nsCaretAccessible : public nsISelectionListener
public:
NS_DECL_ISUPPORTS
nsCaretAccessible(nsRootAccessible *aRootAccessible);
nsCaretAccessible(mozilla::a11y::RootAccessible* aRootAccessible);
virtual ~nsCaretAccessible();
void Shutdown();
@ -155,7 +153,7 @@ private:
nsRefPtr<nsHyperTextAccessible> mLastTextAccessible;
PRInt32 mLastCaretOffset;
nsRootAccessible *mRootAccessible;
mozilla::a11y::RootAccessible* mRootAccessible;
};
#endif

View File

@ -43,9 +43,9 @@
#include "nsAccessiblePivot.h"
#include "nsAccTreeWalker.h"
#include "nsAccUtils.h"
#include "nsRootAccessible.h"
#include "nsTextEquivUtils.h"
#include "Role.h"
#include "RootAccessible.h"
#include "States.h"
#include "nsIMutableArray.h"
@ -764,7 +764,7 @@ nsresult nsDocAccessible::AddEventListeners()
nsCOMPtr<nsIDocShellTreeItem> rootTreeItem;
docShellTreeItem->GetRootTreeItem(getter_AddRefs(rootTreeItem));
if (rootTreeItem) {
nsRootAccessible* rootAccessible = RootAccessible();
a11y::RootAccessible* rootAccessible = RootAccessible();
NS_ENSURE_TRUE(rootAccessible, NS_ERROR_FAILURE);
nsRefPtr<nsCaretAccessible> caretAccessible = rootAccessible->GetCaretAccessible();
if (caretAccessible) {
@ -811,7 +811,7 @@ nsresult nsDocAccessible::RemoveEventListeners()
NS_RELEASE_THIS(); // Kung fu death grip
}
nsRootAccessible* rootAccessible = RootAccessible();
a11y::RootAccessible* rootAccessible = RootAccessible();
if (rootAccessible) {
nsRefPtr<nsCaretAccessible> caretAccessible = rootAccessible->GetCaretAccessible();
if (caretAccessible)

View File

@ -19,6 +19,7 @@ CPPSRCS = \
ARIAGridAccessible.cpp \
FormControlAccessible.cpp \
OuterDocAccessible.cpp \
RootAccessible.cpp \
$(NULL)
# we don't want the shared lib, but we want to force the creation of a static lib.
@ -29,6 +30,8 @@ include $(topsrcdir)/config/rules.mk
LOCAL_INCLUDES = \
-I$(srcdir)/../xpcom \
-I$(srcdir)/../base \
-I$(srcdir)/../html \
-I$(srcdir)/../xul \
-I$(srcdir)/../../../layout/generic \
-I$(srcdir)/../../../layout/xul/base/src \
$(NULL)

View File

@ -35,6 +35,8 @@
*
* ***** END LICENSE BLOCK ***** */
#include "RootAccessible.h"
#include "mozilla/Util.h"
#define CreateEvent CreateEventA
@ -76,7 +78,6 @@
#include "nsPIDOMWindow.h"
#include "nsIWebBrowserChrome.h"
#include "nsReadableUtils.h"
#include "nsRootAccessible.h"
#include "nsIPrivateDOMEvent.h"
#include "nsFocusManager.h"
@ -92,20 +93,20 @@ using namespace mozilla::a11y;
////////////////////////////////////////////////////////////////////////////////
// nsISupports
NS_IMPL_ISUPPORTS_INHERITED1(nsRootAccessible, nsDocAccessible, nsIAccessibleDocument)
NS_IMPL_ISUPPORTS_INHERITED1(RootAccessible, nsDocAccessible, nsIAccessibleDocument)
////////////////////////////////////////////////////////////////////////////////
// Constructor/desctructor
// Constructor/destructor
nsRootAccessible::
nsRootAccessible(nsIDocument* aDocument, nsIContent* aRootContent,
RootAccessible::
RootAccessible(nsIDocument* aDocument, nsIContent* aRootContent,
nsIPresShell* aPresShell) :
nsDocAccessibleWrap(aDocument, aRootContent, aPresShell)
{
mFlags |= eRootAccessible;
}
nsRootAccessible::~nsRootAccessible()
RootAccessible::~RootAccessible()
{
}
@ -113,7 +114,7 @@ nsRootAccessible::~nsRootAccessible()
// nsAccessible
ENameValueFlag
nsRootAccessible::Name(nsString& aName)
RootAccessible::Name(nsString& aName)
{
aName.Truncate();
@ -129,7 +130,7 @@ nsRootAccessible::Name(nsString& aName)
}
role
nsRootAccessible::NativeRole()
RootAccessible::NativeRole()
{
// If it's a <dialog> or <wizard>, use roles::DIALOG instead
dom::Element *root = mDocument->GetRootElement();
@ -147,9 +148,10 @@ nsRootAccessible::NativeRole()
return nsDocAccessibleWrap::NativeRole();
}
// nsRootAccessible protected member
// RootAccessible protected member
#ifdef MOZ_XUL
PRUint32 nsRootAccessible::GetChromeFlags()
PRUint32
RootAccessible::GetChromeFlags()
{
// Return the flag set for the top level window as defined
// by nsIWebBrowserChrome::CHROME_WINDOW_[FLAGNAME]
@ -171,7 +173,7 @@ PRUint32 nsRootAccessible::GetChromeFlags()
#endif
PRUint64
nsRootAccessible::NativeState()
RootAccessible::NativeState()
{
PRUint64 states = nsDocAccessibleWrap::NativeState();
@ -231,7 +233,8 @@ const char* const docEvents[] = {
"DOMMenuBarInactive"
};
nsresult nsRootAccessible::AddEventListeners()
nsresult
RootAccessible::AddEventListeners()
{
// nsIDOMEventTarget interface allows to register event listeners to
// receive untrusted events (synthetic events generated by untrusted code).
@ -256,7 +259,8 @@ nsresult nsRootAccessible::AddEventListeners()
return nsDocAccessible::AddEventListeners();
}
nsresult nsRootAccessible::RemoveEventListeners()
nsresult
RootAccessible::RemoveEventListeners()
{
nsCOMPtr<nsIDOMEventTarget> target(do_QueryInterface(mDocument));
if (target) {
@ -284,13 +288,13 @@ nsresult nsRootAccessible::RemoveEventListeners()
// public
nsCaretAccessible*
nsRootAccessible::GetCaretAccessible()
RootAccessible::GetCaretAccessible()
{
return mCaretAccessible;
}
void
nsRootAccessible::DocumentActivated(nsDocAccessible* aDocument)
RootAccessible::DocumentActivated(nsDocAccessible* aDocument)
{
}
@ -298,7 +302,7 @@ nsRootAccessible::DocumentActivated(nsDocAccessible* aDocument)
// nsIDOMEventListener
NS_IMETHODIMP
nsRootAccessible::HandleEvent(nsIDOMEvent* aDOMEvent)
RootAccessible::HandleEvent(nsIDOMEvent* aDOMEvent)
{
nsCOMPtr<nsIDOMNSEvent> DOMNSEvent(do_QueryInterface(aDOMEvent));
nsCOMPtr<nsIDOMEventTarget> DOMEventTarget;
@ -335,16 +339,16 @@ nsRootAccessible::HandleEvent(nsIDOMEvent* aDOMEvent)
// Root accessible exists longer than any of its descendant documents so
// that we are guaranteed notification is processed before root accessible
// is destroyed.
document->HandleNotification<nsRootAccessible, nsIDOMEvent>
(this, &nsRootAccessible::ProcessDOMEvent, aDOMEvent);
document->HandleNotification<RootAccessible, nsIDOMEvent>
(this, &RootAccessible::ProcessDOMEvent, aDOMEvent);
}
return NS_OK;
}
// nsRootAccessible protected
// RootAccessible protected
void
nsRootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
RootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
{
nsCOMPtr<nsIDOMNSEvent> DOMNSEvent(do_QueryInterface(aDOMEvent));
nsCOMPtr<nsIDOMEventTarget> DOMEventTarget;
@ -534,7 +538,7 @@ nsRootAccessible::ProcessDOMEvent(nsIDOMEvent* aDOMEvent)
// nsAccessNode
void
nsRootAccessible::Shutdown()
RootAccessible::Shutdown()
{
// Called manually or by nsAccessNode::LastRelease()
if (!PresShell())
@ -545,7 +549,7 @@ nsRootAccessible::Shutdown()
// nsIAccessible method
Relation
nsRootAccessible::RelationByType(PRUint32 aType)
RootAccessible::RelationByType(PRUint32 aType)
{
if (!mDocument || aType != nsIAccessibleRelation::RELATION_EMBEDS)
return nsDocAccessibleWrap::RelationByType(aType);
@ -575,7 +579,7 @@ nsRootAccessible::RelationByType(PRUint32 aType)
// Protected members
void
nsRootAccessible::HandlePopupShownEvent(nsAccessible* aAccessible)
RootAccessible::HandlePopupShownEvent(nsAccessible* aAccessible)
{
roles::Role role = aAccessible->Role();
@ -613,7 +617,7 @@ nsRootAccessible::HandlePopupShownEvent(nsAccessible* aAccessible)
}
void
nsRootAccessible::HandlePopupHidingEvent(nsINode* aPopupNode)
RootAccessible::HandlePopupHidingEvent(nsINode* aPopupNode)
{
// Get popup accessible. There are cases when popup element isn't accessible
// but an underlying widget is and behaves like popup, an example is
@ -718,7 +722,7 @@ nsRootAccessible::HandlePopupHidingEvent(nsINode* aPopupNode)
#ifdef MOZ_XUL
void
nsRootAccessible::HandleTreeRowCountChangedEvent(nsIDOMEvent* aEvent,
RootAccessible::HandleTreeRowCountChangedEvent(nsIDOMEvent* aEvent,
nsXULTreeAccessible* aAccessible)
{
nsCOMPtr<nsIDOMDataContainerEvent> dataEvent(do_QueryInterface(aEvent));
@ -745,7 +749,7 @@ nsRootAccessible::HandleTreeRowCountChangedEvent(nsIDOMEvent* aEvent,
}
void
nsRootAccessible::HandleTreeInvalidatedEvent(nsIDOMEvent* aEvent,
RootAccessible::HandleTreeInvalidatedEvent(nsIDOMEvent* aEvent,
nsXULTreeAccessible* aAccessible)
{
nsCOMPtr<nsIDOMDataContainerEvent> dataEvent(do_QueryInterface(aEvent));

View File

@ -35,8 +35,8 @@
*
* ***** END LICENSE BLOCK ***** */
#ifndef _nsRootAccessible_H_
#define _nsRootAccessible_H_
#ifndef mozilla_a11y_RootAccessible_h__
#define mozilla_a11y_RootAccessible_h__
#include "nsCaretAccessible.h"
#include "nsDocAccessibleWrap.h"
@ -50,17 +50,18 @@
class nsXULTreeAccessible;
class Relation;
const PRInt32 SCROLL_HASH_START_SIZE = 6;
namespace mozilla {
namespace a11y {
class nsRootAccessible : public nsDocAccessibleWrap,
class RootAccessible : public nsDocAccessibleWrap,
public nsIDOMEventListener
{
NS_DECL_ISUPPORTS_INHERITED
public:
nsRootAccessible(nsIDocument* aDocument, nsIContent* aRootContent,
RootAccessible(nsIDocument* aDocument, nsIContent* aRootContent,
nsIPresShell* aPresShell);
virtual ~nsRootAccessible();
virtual ~RootAccessible();
// nsIDOMEventListener
NS_IMETHOD HandleEvent(nsIDOMEvent* aEvent);
@ -74,7 +75,7 @@ public:
virtual mozilla::a11y::role NativeRole();
virtual PRUint64 NativeState();
// nsRootAccessible
// RootAccessible
nsCaretAccessible* GetCaretAccessible();
/**
@ -117,11 +118,14 @@ protected:
nsRefPtr<nsCaretAccessible> mCaretAccessible;
};
inline nsRootAccessible*
} // namespace a11y
} // namespace mozilla
inline mozilla::a11y::RootAccessible*
nsAccessible::AsRoot()
{
return mFlags & eRootAccessible ?
static_cast<nsRootAccessible*>(this) : nsnull;
static_cast<mozilla::a11y::RootAccessible*>(this) : nsnull;
}
#endif

View File

@ -50,7 +50,6 @@ LIBXUL_LIBRARY = 1
CMMSRCS = nsAccessNodeWrap.mm \
nsDocAccessibleWrap.mm \
nsRootAccessibleWrap.mm \
nsAccessibleWrap.mm \
mozAccessible.mm \
mozDocAccessible.mm \
@ -58,6 +57,7 @@ CMMSRCS = nsAccessNodeWrap.mm \
mozTextAccessible.mm \
mozHTMLAccessible.mm \
MacUtils.mm \
RootAccessibleWrap.mm \
$(NULL)
@ -67,7 +67,6 @@ EXPORTS = \
nsTextAccessibleWrap.h \
nsAccessibleWrap.h \
nsDocAccessibleWrap.h \
nsRootAccessibleWrap.h \
nsXULMenuAccessibleWrap.h \
nsXULListboxAccessibleWrap.h \
nsXULTreeGridAccessibleWrap.h \

View File

@ -40,19 +40,22 @@
* see http://lxr.mozilla.org/seamonkey/source/accessible/accessible-docs.html
*/
#ifndef _nsRootAccessibleWrap_H_
#define _nsRootAccessibleWrap_H_
#ifndef mozilla_a11y_RootAccessibleWrap_h__
#define mozilla_a11y_RootAccessibleWrap_h__
#include "nsRootAccessible.h"
#include "RootAccessible.h"
namespace mozilla {
namespace a11y {
struct objc_class;
class nsRootAccessibleWrap : public nsRootAccessible
class RootAccessibleWrap : public RootAccessible
{
public:
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
RootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
nsIPresShell* aPresShell);
virtual ~nsRootAccessibleWrap();
virtual ~RootAccessibleWrap();
Class GetNativeType ();
@ -61,5 +64,7 @@ public:
void GetNativeWidget (void **aOutView);
};
} // namespace a11y
} // namespace mozilla
#endif

View File

@ -36,7 +36,7 @@
*
* ***** END LICENSE BLOCK ***** */
#include "nsRootAccessibleWrap.h"
#include "RootAccessibleWrap.h"
#include "mozDocAccessible.h"
@ -45,19 +45,21 @@
#include "nsIWidget.h"
#include "nsIViewManager.h"
nsRootAccessibleWrap::
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
using namespace mozilla::a11y;
RootAccessibleWrap::
RootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
nsIPresShell* aPresShell) :
nsRootAccessible(aDocument, aRootContent, aPresShell)
RootAccessible(aDocument, aRootContent, aPresShell)
{
}
nsRootAccessibleWrap::~nsRootAccessibleWrap()
RootAccessibleWrap::~RootAccessibleWrap()
{
}
Class
nsRootAccessibleWrap::GetNativeType ()
RootAccessibleWrap::GetNativeType()
{
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
@ -67,7 +69,7 @@ nsRootAccessibleWrap::GetNativeType ()
}
void
nsRootAccessibleWrap::GetNativeWidget (void **aOutView)
RootAccessibleWrap::GetNativeWidget(void** aOutView)
{
nsIFrame *frame = GetFrame();
if (frame) {

View File

@ -45,9 +45,9 @@
#include "nsIAccessibleRelation.h"
#include "nsIAccessibleText.h"
#include "nsIAccessibleEditableText.h"
#include "nsRootAccessible.h"
#include "Relation.h"
#include "Role.h"
#include "RootAccessible.h"
#include "mozilla/Services.h"
#include "nsRect.h"
@ -353,7 +353,7 @@ GetNativeFromGeckoAccessible(nsIAccessible *anAccessible)
// (which might be the owning NSWindow in the application, for example).
//
// get the native root accessible, and tell it to return its first parent unignored accessible.
nsRootAccessible* root = mGeckoAccessible->RootAccessible();
RootAccessible* root = mGeckoAccessible->RootAccessible();
id nativeParent = GetNativeFromGeckoAccessible(static_cast<nsIAccessible*>(root));
NSAssert1 (nativeParent, @"!!! we can't find a parent for %@", self);

View File

@ -44,7 +44,7 @@
/*
The root accessible. There is one per window.
Created by the nsRootAccessibleWrap.
Created by the RootAccessibleWrap.
*/
@interface mozRootAccessible : mozAccessible
{

View File

@ -36,16 +36,20 @@
*
* ***** END LICENSE BLOCK ***** */
#include "nsRootAccessibleWrap.h"
#include "nsObjCExceptions.h"
#include "RootAccessibleWrap.h"
#import "mozDocAccessible.h"
#import "mozView.h"
static id <mozAccessible, mozView> getNativeViewFromRootAccessible (nsAccessible *accessible)
using namespace mozilla::a11y;
static id <mozAccessible, mozView>
getNativeViewFromRootAccessible(nsAccessible* aAccessible)
{
nsRootAccessibleWrap *root = static_cast<nsRootAccessibleWrap*>(accessible);
RootAccessibleWrap* root =
static_cast<RootAccessibleWrap*>(aAccessible->AsRoot());
id <mozAccessible, mozView> nativeView = nil;
root->GetNativeWidget ((void**)&nativeView);
return nativeView;

View File

@ -55,7 +55,6 @@ CPPSRCS = \
nsTextAccessibleWrap.cpp \
nsDocAccessibleWrap.cpp \
nsHTMLWin32ObjectAccessible.cpp \
nsRootAccessibleWrap.cpp \
nsXULMenuAccessibleWrap.cpp \
nsXULListboxAccessibleWrap.cpp \
nsXULTreeGridAccessibleWrap.cpp \
@ -75,6 +74,7 @@ CPPSRCS = \
CAccessibleTableCell.cpp \
CAccessibleValue.cpp \
Compatibility.cpp \
RootAccessibleWrap.cpp \
$(NULL)
EXPORTS = \
@ -83,7 +83,6 @@ EXPORTS = \
nsAccessibleWrap.h \
nsTextAccessibleWrap.h \
nsDocAccessibleWrap.h \
nsRootAccessibleWrap.h \
nsHTMLWin32ObjectAccessible.h \
nsXULMenuAccessibleWrap.h \
nsXULListboxAccessibleWrap.h \

View File

@ -36,7 +36,7 @@
*
* ***** END LICENSE BLOCK ***** */
#include "nsRootAccessibleWrap.h"
#include "RootAccessibleWrap.h"
#include "Compatibility.h"
#include "nsWinUtils.h"
@ -49,22 +49,22 @@ using namespace mozilla::a11y;
////////////////////////////////////////////////////////////////////////////////
// Constructor/desctructor
nsRootAccessibleWrap::
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
RootAccessibleWrap::
RootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
nsIPresShell* aPresShell) :
nsRootAccessible(aDocument, aRootContent, aPresShell)
RootAccessible(aDocument, aRootContent, aPresShell)
{
}
nsRootAccessibleWrap::~nsRootAccessibleWrap()
RootAccessibleWrap::~RootAccessibleWrap()
{
}
////////////////////////////////////////////////////////////////////////////////
// nsRootAccessible
// RootAccessible
void
nsRootAccessibleWrap::DocumentActivated(nsDocAccessible* aDocument)
RootAccessibleWrap::DocumentActivated(nsDocAccessible* aDocument)
{
if (Compatibility::IsDolphin() &&
nsCoreUtils::IsTabDocument(aDocument->GetDocumentNode())) {

View File

@ -37,20 +37,26 @@
*
* ***** END LICENSE BLOCK ***** */
#ifndef _nsRootAccessibleWrap_H_
#define _nsRootAccessibleWrap_H_
#ifndef mozilla_a11y_RootAccessibleWrap_h__
#define mozilla_a11y_RootAccessibleWrap_h__
#include "nsRootAccessible.h"
#include "RootAccessible.h"
class nsRootAccessibleWrap : public nsRootAccessible
namespace mozilla {
namespace a11y {
class RootAccessibleWrap : public RootAccessible
{
public:
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
RootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
nsIPresShell* aPresShell);
virtual ~nsRootAccessibleWrap();
virtual ~RootAccessibleWrap();
// nsRootAccessible
// RootAccessible
virtual void DocumentActivated(nsDocAccessible* aDocument);
};
} // namespace a11y
} // namespace mozilla
#endif

View File

@ -45,8 +45,8 @@
#include "Compatibility.h"
#include "nsAccessibilityService.h"
#include "nsCoreUtils.h"
#include "nsRootAccessible.h"
#include "nsWinUtils.h"
#include "RootAccessible.h"
#include "Statistics.h"
#include "nsAttrName.h"

View File

@ -54,6 +54,7 @@
#include "Accessible2_i.c"
#include "AccessibleRole.h"
#include "AccessibleStates.h"
#include "RootAccessible.h"
#include "nsIMutableArray.h"
#include "nsIDOMDocument.h"
@ -61,7 +62,6 @@
#include "nsIScrollableFrame.h"
#include "nsINameSpaceManager.h"
#include "nsINodeInfo.h"
#include "nsRootAccessible.h"
#include "nsIServiceManager.h"
#include "nsTextFormatter.h"
#include "nsIView.h"
@ -1880,7 +1880,7 @@ void nsAccessibleWrap::UpdateSystemCaret()
// off-screen model can follow the caret
::DestroyCaret();
nsRootAccessible* rootAccessible = RootAccessible();
a11y::RootAccessible* rootAccessible = RootAccessible();
if (!rootAccessible) {
return;
}

View File

@ -42,9 +42,9 @@
#include "nsDocAccessibleWrap.h"
#include "ISimpleDOMDocument_i.c"
#include "nsIAccessibilityService.h"
#include "nsRootAccessible.h"
#include "nsWinUtils.h"
#include "Role.h"
#include "RootAccessible.h"
#include "Statistics.h"
#include "nsIDocShell.h"
@ -57,6 +57,7 @@
#include "nsIViewManager.h"
#include "nsIWebNavigation.h"
using namespace mozilla;
using namespace mozilla::a11y;
/* For documentation of the accessibility architecture,
@ -280,7 +281,7 @@ nsDocAccessibleWrap::DoInitialUpdate()
mozilla::dom::TabChild* tabChild =
mozilla::dom::GetTabChildFrom(mDocument->GetShell());
nsRootAccessible* rootDocument = RootAccessible();
a11y::RootAccessible* rootDocument = RootAccessible();
mozilla::WindowsHandle nativeData = nsnull;
if (tabChild)

View File

@ -41,8 +41,8 @@
#include "nsWinUtils.h"
#include "Compatibility.h"
#include "nsIWinAccessNode.h"
#include "nsRootAccessible.h"
#include "nsDocAccessible.h"
#include "nsCoreUtils.h"
#include "mozilla/Preferences.h"
#include "nsArrayUtils.h"

View File

@ -50,7 +50,6 @@ LIBXUL_LIBRARY = 1
CPPSRCS = \
nsAccessNodeWrap.cpp \
nsAccessibleWrap.cpp \
nsRootAccessibleWrap.cpp \
$(NULL)
EXPORTS = \
@ -59,7 +58,6 @@ EXPORTS = \
nsTextAccessibleWrap.h \
nsAccessibleWrap.h \
nsDocAccessibleWrap.h \
nsRootAccessibleWrap.h \
nsXULMenuAccessibleWrap.h \
nsXULListboxAccessibleWrap.h \
nsXULTreeGridAccessibleWrap.h \

View File

@ -40,18 +40,17 @@
* see http://lxr.mozilla.org/seamonkey/source/accessible/accessible-docs.html
*/
#ifndef _nsRootAccessibleWrap_H_
#define _nsRootAccessibleWrap_H_
#ifndef mozilla_a11y_RootAccessibleWrap_h__
#define mozilla_a11y_RootAccessibleWrap_h__
#include "nsRootAccessible.h"
#include "RootAccessible.h"
class nsRootAccessibleWrap: public nsRootAccessible
{
public:
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
nsIPresShell* aPresShell);
virtual ~nsRootAccessibleWrap();
};
namespace mozilla {
namespace a11y {
typedef RootAccessible RootAccessibleWrap;
} // namespace a11y
} // namespace mozilla
#endif

View File

@ -1,58 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2003
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Original Author: Aaron Leventhal (aaronl@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either of the GNU General Public License Version 2 or later (the "GPL"),
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsCOMPtr.h"
#include "nsRootAccessibleWrap.h"
#include "nsIServiceManager.h"
#include "nsIAccessibilityService.h"
////////////////////////////////////////////////////////////////////////////////
// nsRootAccessibleWrap
////////////////////////////////////////////////////////////////////////////////
nsRootAccessibleWrap::
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
nsIPresShell* aPresShell) :
nsRootAccessible(aDocument, aRootContent, aPresShell)
{
}
nsRootAccessibleWrap::~nsRootAccessibleWrap()
{
}