diff --git a/accessible/public/Makefile.in b/accessible/public/Makefile.in index 4014f349e3f2..bfa0dde4aa08 100644 --- a/accessible/public/Makefile.in +++ b/accessible/public/Makefile.in @@ -52,7 +52,6 @@ GRE_MODULE = 1 XPIDLSRCS = \ nsIAccessibleTypes.idl \ - nsIAccessibilityService.idl \ nsIAccessibleRetrieval.idl \ nsIAccessible.idl \ nsIAccessibleApplication.idl \ @@ -74,5 +73,9 @@ XPIDLSRCS = \ nsIXBLAccessible.idl \ $(NULL) +EXPORTS = \ + nsIAccessibilityService.h \ + $(NULL) + include $(topsrcdir)/config/rules.mk diff --git a/accessible/public/nsIAccessibilityService.h b/accessible/public/nsIAccessibilityService.h new file mode 100644 index 000000000000..9965c7ea2857 --- /dev/null +++ b/accessible/public/nsIAccessibilityService.h @@ -0,0 +1,177 @@ +/* -*- 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 the Mozilla browser. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1999 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Eric Vaughan (original author) + * Alexander Surkov + * + * 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 ***** */ + +#ifndef _nsIAccessibilityService_h_ +#define _nsIAccessibilityService_h_ + +#include "nsISupports.h" +#include "nsIAccessibleRetrieval.h" + +class nsIDocument; +class nsIFrame; +class nsObjectFrame; +class nsIContent; + +#define NS_IACCESSIBILITYSERVICE_IID \ +{0x33fa2a8d, 0x72e5, 0x4b8b, \ + {0xbb, 0x17, 0x6b, 0x22, 0x79, 0x05, 0x5c, 0x6c} } + +class nsIAccessibilityService : public nsIAccessibleRetrieval +{ +public: + NS_DECLARE_STATIC_IID_ACCESSOR(NS_IACCESSIBILITYSERVICE_IID) + + /** + * Creates accessible for the given DOM node or frame. + */ + virtual nsresult CreateOuterDocAccessible(nsIDOMNode *aNode, + nsIAccessible **aAccessible) = 0; + + virtual nsresult CreateHTML4ButtonAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHyperTextAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLBRAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLButtonAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLLIAccessible(nsIFrame *aFrame, + nsIFrame *aBulletFrame, + const nsAString& aBulletText, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLCheckboxAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLComboboxAccessible(nsIDOMNode *aNode, + nsIWeakReference *aPresShell, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLGenericAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLGroupboxAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLHRAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLImageAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLLabelAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLListboxAccessible(nsIDOMNode *aNode, + nsIWeakReference *aPresShell, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLMediaAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLObjectFrameAccessible(nsObjectFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLRadioButtonAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLSelectOptionAccessible(nsIDOMNode *aNode, + nsIAccessible *aAccParent, + nsIWeakReference *aPresShell, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLTableAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLTableCellAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLTextAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLTextFieldAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + virtual nsresult CreateHTMLCaptionAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible) = 0; + + /** + * Adds/remove ATK root accessible for gtk+ native window to/from children + * of the application accessible. + */ + virtual nsresult AddNativeRootAccessible(void *aAtkAccessible, + nsIAccessible **aAccessible) = 0; + virtual nsresult + RemoveNativeRootAccessible(nsIAccessible *aRootAccessible) = 0; + + /** + * Used to describe sort of changes leading to accessible tree invalidation. + */ + enum { + NODE_APPEND = 0x01, + NODE_REMOVE = 0x02, + NODE_SIGNIFICANT_CHANGE = 0x03, + FRAME_SHOW = 0x04, + FRAME_HIDE = 0x05, + FRAME_SIGNIFICANT_CHANGE = 0x06 + }; + + /** + * Invalidate the accessible tree when DOM tree or frame tree is changed. + * + * @param aPresShell [in] the presShell where changes occured + * @param aContent [in] the affected DOM content + * @param aChangeType [in] the change type (see constants declared above) + */ + virtual nsresult InvalidateSubtreeFor(nsIPresShell *aPresShell, + nsIContent *aContent, + PRUint32 aChangeType) = 0; + + /** + * Notify accessibility that anchor jump has been accomplished to the given + * target. Used by layout. + */ + virtual nsresult NotifyOfAnchorJumpTo(nsIContent *aTarget) = 0; + + /** + * Fire accessible event of the given type for the given target. + * + * @param aEvent [in] accessible event type + * @param aTarget [in] target of accessible event + */ + virtual nsresult FireAccessibleEvent(PRUint32 aEvent, + nsIAccessible *aTarget) = 0; +}; + +NS_DEFINE_STATIC_IID_ACCESSOR(nsIAccessibilityService, + NS_IACCESSIBILITYSERVICE_IID) + +// for component registration +// {DE401C37-9A7F-4278-A6F8-3DE2833989EF} +#define NS_ACCESSIBILITY_SERVICE_CID \ +{ 0xde401c37, 0x9a7f, 0x4278, { 0xa6, 0xf8, 0x3d, 0xe2, 0x83, 0x39, 0x89, 0xef } } + +extern nsresult +NS_GetAccessibilityService(nsIAccessibilityService** aResult); + +#endif diff --git a/accessible/public/nsIAccessibilityService.idl b/accessible/public/nsIAccessibilityService.idl deleted file mode 100644 index f2c597c1dca6..000000000000 --- a/accessible/public/nsIAccessibilityService.idl +++ /dev/null @@ -1,125 +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 the Mozilla browser. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1999 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * 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 "nsISupports.idl" -#include "nsIAccessibleRetrieval.idl" - -interface nsIDocument; -interface nsIFrame; -interface nsObjectFrame; -interface nsIContent; - -[uuid(4df7499d-d96e-48f8-a936-8a22ec0d4915)] -interface nsIAccessibilityService : nsIAccessibleRetrieval -{ - nsIAccessible createOuterDocAccessible(in nsIDOMNode aNode); - - nsIAccessible createHTML4ButtonAccessible(in nsIFrame aFrame); - nsIAccessible createHyperTextAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLBRAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLButtonAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLLIAccessible(in nsIFrame aFrame, in nsIFrame aBulletFrame, in AString aBulletText); - nsIAccessible createHTMLCheckboxAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLComboboxAccessible(in nsIDOMNode aNode, in nsIWeakReference aPresShell); - nsIAccessible createHTMLGenericAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLGroupboxAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLHRAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLImageAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLLabelAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLListboxAccessible(in nsIDOMNode aNode, in nsIWeakReference aPresShell); - nsIAccessible createHTMLMediaAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLObjectFrameAccessible(in nsObjectFrame aFrame); - nsIAccessible createHTMLRadioButtonAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLSelectOptionAccessible(in nsIDOMNode aNode, in nsIAccessible aAccParent, in nsIWeakReference aPresShell); - nsIAccessible createHTMLTableAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLTableCellAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLTextAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLTextFieldAccessible(in nsIFrame aFrame); - nsIAccessible createHTMLCaptionAccessible(in nsIFrame aFrame); - - // For gtk+ native window accessible - nsIAccessible addNativeRootAccessible(in voidPtr aAtkAccessible); - void removeNativeRootAccessible(in nsIAccessible aRootAccessible); - - /** - * Used to describe sort of changes leading to accessible tree invalidation. - */ - const unsigned long NODE_APPEND = 0x01; - const unsigned long NODE_REMOVE = 0x02; - const unsigned long NODE_SIGNIFICANT_CHANGE = 0x03; - const unsigned long FRAME_SHOW = 0x04; - const unsigned long FRAME_HIDE = 0x05; - const unsigned long FRAME_SIGNIFICANT_CHANGE = 0x06; - - /** - * Invalidate the accessible tree when DOM tree or frame tree is changed. - * - * @param aPresShell [in] the presShell where changes occured - * @param aContent [in] the affected DOM content - * @param aChangeType [in] the change type (see constants declared above) - */ - void invalidateSubtreeFor(in nsIPresShell aPresShell, in nsIContent aContent, - in PRUint32 aChangeType); - - /** - * Notify accessibility that anchor jump has been accomplished to the given - * target. Used by layout. - */ - void notifyOfAnchorJumpTo(in nsIContent aTarget); - - /** - * Fire accessible event of the given type for the given target. - * - * @param aEvent [in] accessible event type - * @param aTarget [in] target of accessible event - */ - void fireAccessibleEvent(in unsigned long aEvent, in nsIAccessible aTarget); -}; - - -%{ C++ - -// for component registration -// {DE401C37-9A7F-4278-A6F8-3DE2833989EF} -#define NS_ACCESSIBILITY_SERVICE_CID \ -{ 0xde401c37, 0x9a7f, 0x4278, { 0xa6, 0xf8, 0x3d, 0xe2, 0x83, 0x39, 0x89, 0xef } } - -extern nsresult -NS_GetAccessibilityService(nsIAccessibilityService** aResult); - -%} diff --git a/accessible/src/base/nsAccessibilityService.cpp b/accessible/src/base/nsAccessibilityService.cpp index 5b5a1f3be37b..d4cb50d22bab 100644 --- a/accessible/src/base/nsAccessibilityService.cpp +++ b/accessible/src/base/nsAccessibilityService.cpp @@ -254,7 +254,7 @@ nsAccessibilityService::ProcessDocLoadEvent(nsIWebProgress *aWebProgress, } // nsIAccessibilityService -NS_IMETHODIMP +nsresult nsAccessibilityService::NotifyOfAnchorJumpTo(nsIContent *aTarget) { nsCOMPtr targetNode(do_QueryInterface(aTarget)); @@ -284,7 +284,7 @@ nsAccessibilityService::NotifyOfAnchorJumpTo(nsIContent *aTarget) } // nsIAccessibilityService -NS_IMETHODIMP +nsresult nsAccessibilityService::FireAccessibleEvent(PRUint32 aEvent, nsIAccessible *aTarget) { @@ -382,7 +382,7 @@ nsAccessibilityService::GetShellFromNode(nsIDOMNode *aNode, nsIWeakReference **a //////////////////////////////////////////////////////////////////////////////// // nsIAccessibilityService -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateOuterDocAccessible(nsIDOMNode* aDOMNode, nsIAccessible **aOuterDocAccessible) { @@ -464,7 +464,7 @@ nsAccessibilityService::CreateDocOrRootAccessible(nsIPresShell *aShell, /** * HTML widget creation */ -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTML4ButtonAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -481,7 +481,7 @@ nsAccessibilityService::CreateHTML4ButtonAccessible(nsIFrame *aFrame, nsIAccessi return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLButtonAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -569,7 +569,7 @@ nsAccessibilityService::CreateHTMLAccessibleByMarkup(nsIFrame *aFrame, return accessible.forget(); } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLLIAccessible(nsIFrame *aFrame, nsIFrame *aBulletFrame, const nsAString& aBulletText, @@ -589,7 +589,7 @@ nsAccessibilityService::CreateHTMLLIAccessible(nsIFrame *aFrame, return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHyperTextAccessible(nsIFrame *aFrame, nsIAccessible **aAccessible) { nsCOMPtr node; @@ -608,7 +608,7 @@ nsAccessibilityService::CreateHyperTextAccessible(nsIFrame *aFrame, nsIAccessibl return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLCheckboxAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -625,7 +625,7 @@ nsAccessibilityService::CreateHTMLCheckboxAccessible(nsIFrame *aFrame, nsIAccess return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLComboboxAccessible(nsIDOMNode* aDOMNode, nsIWeakReference* aPresShell, nsIAccessible **_retval) { *_retval = new nsHTMLComboboxAccessible(aDOMNode, aPresShell); @@ -636,7 +636,7 @@ nsAccessibilityService::CreateHTMLComboboxAccessible(nsIDOMNode* aDOMNode, nsIWe return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLImageAccessible(nsIFrame *aFrame, nsIAccessible **aAccessible) { @@ -680,13 +680,13 @@ nsAccessibilityService::CreateHTMLImageAccessible(nsIFrame *aFrame, return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLGenericAccessible(nsIFrame *aFrame, nsIAccessible **aAccessible) { return CreateHyperTextAccessible(aFrame, aAccessible); } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLGroupboxAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -703,7 +703,7 @@ nsAccessibilityService::CreateHTMLGroupboxAccessible(nsIFrame *aFrame, nsIAccess return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLListboxAccessible(nsIDOMNode* aDOMNode, nsIWeakReference* aPresShell, nsIAccessible **_retval) { *_retval = new nsHTMLSelectListAccessible(aDOMNode, aPresShell); @@ -714,7 +714,7 @@ nsAccessibilityService::CreateHTMLListboxAccessible(nsIDOMNode* aDOMNode, nsIWea return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLMediaAccessible(nsIFrame *aFrame, nsIAccessible **aAccessible) { @@ -744,7 +744,7 @@ nsAccessibilityService::CreateHTMLMediaAccessible(nsIFrame *aFrame, * 3) An image or imagemap, where the image frame points back to * the object element DOMNode */ -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLObjectFrameAccessible(nsObjectFrame *aFrame, nsIAccessible **aAccessible) { @@ -793,7 +793,7 @@ nsAccessibilityService::CreateHTMLObjectFrameAccessible(nsObjectFrame *aFrame, return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLRadioButtonAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -810,7 +810,7 @@ nsAccessibilityService::CreateHTMLRadioButtonAccessible(nsIFrame *aFrame, nsIAcc return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLSelectOptionAccessible(nsIDOMNode* aDOMNode, nsIAccessible *aParent, nsIWeakReference* aPresShell, @@ -824,7 +824,7 @@ nsAccessibilityService::CreateHTMLSelectOptionAccessible(nsIDOMNode* aDOMNode, return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLTableAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -841,7 +841,7 @@ nsAccessibilityService::CreateHTMLTableAccessible(nsIFrame *aFrame, nsIAccessibl return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLTableCellAccessible(nsIFrame *aFrame, nsIAccessible **aAccessible) { @@ -859,7 +859,7 @@ nsAccessibilityService::CreateHTMLTableCellAccessible(nsIFrame *aFrame, return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLTextAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { *_retval = nsnull; @@ -879,7 +879,7 @@ nsAccessibilityService::CreateHTMLTextAccessible(nsIFrame *aFrame, nsIAccessible return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLTextFieldAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -896,7 +896,7 @@ nsAccessibilityService::CreateHTMLTextFieldAccessible(nsIFrame *aFrame, nsIAcces return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLLabelAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -913,7 +913,7 @@ nsAccessibilityService::CreateHTMLLabelAccessible(nsIFrame *aFrame, nsIAccessibl return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLHRAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -930,7 +930,7 @@ nsAccessibilityService::CreateHTMLHRAccessible(nsIFrame *aFrame, nsIAccessible * return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLBRAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -947,7 +947,7 @@ nsAccessibilityService::CreateHTMLBRAccessible(nsIFrame *aFrame, nsIAccessible * return NS_OK; } -NS_IMETHODIMP +nsresult nsAccessibilityService::CreateHTMLCaptionAccessible(nsIFrame *aFrame, nsIAccessible **_retval) { nsCOMPtr node; @@ -2026,7 +2026,9 @@ nsAccessibilityService::CreateAccessibleByType(nsIDOMNode *aNode, //////////////////////////////////////////////////////////////////////////////// // nsIAccessibilityService (DON'T put methods here) -NS_IMETHODIMP nsAccessibilityService::AddNativeRootAccessible(void * aAtkAccessible, nsIAccessible **aRootAccessible) +nsresult +nsAccessibilityService::AddNativeRootAccessible(void *aAtkAccessible, + nsIAccessible **aRootAccessible) { #ifdef MOZ_ACCESSIBILITY_ATK nsNativeRootAccessibleWrap* rootAccWrap = @@ -2047,7 +2049,8 @@ NS_IMETHODIMP nsAccessibilityService::AddNativeRootAccessible(void * aAtkAccessi #endif } -NS_IMETHODIMP nsAccessibilityService::RemoveNativeRootAccessible(nsIAccessible * aRootAccessible) +nsresult +nsAccessibilityService::RemoveNativeRootAccessible(nsIAccessible *aRootAccessible) { #ifdef MOZ_ACCESSIBILITY_ATK void* atkAccessible; @@ -2066,7 +2069,7 @@ NS_IMETHODIMP nsAccessibilityService::RemoveNativeRootAccessible(nsIAccessible * } // Called from layout when the frame tree owned by a node changes significantly -NS_IMETHODIMP +nsresult nsAccessibilityService::InvalidateSubtreeFor(nsIPresShell *aShell, nsIContent *aChangeContent, PRUint32 aChangeType) diff --git a/accessible/src/base/nsAccessibilityService.h b/accessible/src/base/nsAccessibilityService.h index fdcf42aacbc3..d6eb787911f6 100644 --- a/accessible/src/base/nsAccessibilityService.h +++ b/accessible/src/base/nsAccessibilityService.h @@ -71,10 +71,77 @@ public: NS_DECL_ISUPPORTS NS_DECL_NSIACCESSIBLERETRIEVAL - NS_DECL_NSIACCESSIBILITYSERVICE NS_DECL_NSIOBSERVER NS_DECL_NSIWEBPROGRESSLISTENER + // nsIAccessibilityService + virtual nsresult CreateOuterDocAccessible(nsIDOMNode *aNode, + nsIAccessible **aAccessible); + virtual nsresult CreateHTML4ButtonAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHyperTextAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLBRAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLButtonAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLLIAccessible(nsIFrame *aFrame, + nsIFrame *aBulletFrame, + const nsAString& aBulletText, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLCheckboxAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLComboboxAccessible(nsIDOMNode *aNode, + nsIWeakReference *aPresShell, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLGenericAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLGroupboxAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLHRAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLImageAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLLabelAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLListboxAccessible(nsIDOMNode *aNode, + nsIWeakReference *aPresShell, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLMediaAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLObjectFrameAccessible(nsObjectFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLRadioButtonAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLSelectOptionAccessible(nsIDOMNode *aNode, + nsIAccessible *aAccParent, + nsIWeakReference *aPresShell, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLTableAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLTableCellAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLTextAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLTextFieldAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + virtual nsresult CreateHTMLCaptionAccessible(nsIFrame *aFrame, + nsIAccessible **aAccessible); + + virtual nsresult AddNativeRootAccessible(void *aAtkAccessible, + nsIAccessible **aAccessible); + virtual nsresult RemoveNativeRootAccessible(nsIAccessible *aRootAccessible); + + virtual nsresult InvalidateSubtreeFor(nsIPresShell *aPresShell, + nsIContent *aContent, + PRUint32 aChangeType); + + virtual nsresult NotifyOfAnchorJumpTo(nsIContent *aTarget); + + virtual nsresult FireAccessibleEvent(PRUint32 aEvent, nsIAccessible *aTarget); + + // nsAccessibiltiyService + /** * Return presentation shell for the given node. *