Bug 760757 - de-ns-ify nsHTMLSelectAccessible, r=surkov

--HG--
rename : accessible/src/html/nsHTMLSelectAccessible.cpp => accessible/src/html/HTMLSelectAccessible.cpp
rename : accessible/src/html/nsHTMLSelectAccessible.h => accessible/src/html/HTMLSelectAccessible.h
This commit is contained in:
Mark Capella 2012-06-06 06:27:46 -04:00
parent 0fd801a0b6
commit 35438aaed5
6 changed files with 151 additions and 143 deletions

View File

@ -18,13 +18,13 @@
#include "HTMLImageMapAccessible.h"
#include "HTMLLinkAccessible.h"
#include "HTMLListAccessible.h"
#include "HTMLSelectAccessible.h"
#include "HyperTextAccessibleWrap.h"
#include "nsAccessiblePivot.h"
#include "nsAccUtils.h"
#include "nsARIAMap.h"
#include "nsIAccessibleProvider.h"
#include "nsHTMLCanvasAccessible.h"
#include "nsHTMLSelectAccessible.h"
#include "nsHTMLTableAccessibleWrap.h"
#include "nsXFormsFormControlsAccessible.h"
#include "nsXFormsWidgetsAccessible.h"
@ -226,7 +226,7 @@ nsAccessibilityService::CreateHTMLComboboxAccessible(nsIContent* aContent,
nsIPresShell* aPresShell)
{
Accessible* accessible =
new nsHTMLComboboxAccessible(aContent, GetDocAccessible(aPresShell));
new HTMLComboboxAccessible(aContent, GetDocAccessible(aPresShell));
NS_ADDREF(accessible);
return accessible;
}
@ -286,7 +286,7 @@ nsAccessibilityService::CreateHTMLListboxAccessible(nsIContent* aContent,
nsIPresShell* aPresShell)
{
Accessible* accessible =
new nsHTMLSelectListAccessible(aContent, GetDocAccessible(aPresShell));
new HTMLSelectListAccessible(aContent, GetDocAccessible(aPresShell));
NS_ADDREF(accessible);
return accessible;
}
@ -1604,13 +1604,13 @@ nsAccessibilityService::CreateHTMLAccessibleByMarkup(nsIFrame* aFrame,
}
if (tag == nsGkAtoms::option) {
Accessible* accessible = new nsHTMLSelectOptionAccessible(aContent, aDoc);
Accessible* accessible = new HTMLSelectOptionAccessible(aContent, aDoc);
NS_IF_ADDREF(accessible);
return accessible;
}
if (tag == nsGkAtoms::optgroup) {
Accessible* accessible = new nsHTMLSelectOptGroupAccessible(aContent, aDoc);
Accessible* accessible = new HTMLSelectOptGroupAccessible(aContent, aDoc);
NS_IF_ADDREF(accessible);
return accessible;
}

View File

@ -32,7 +32,6 @@
#include "nsIEditingSession.h"
#include "nsEventStateManager.h"
#include "nsIFrame.h"
#include "nsHTMLSelectAccessible.h"
#include "nsIInterfaceRequestorUtils.h"
#include "nsINameSpaceManager.h"
#include "nsIPresShell.h"

View File

@ -20,7 +20,7 @@
#include "States.h"
#include "mozilla/dom/Element.h"
#include "nsHTMLSelectAccessible.h"
#include "nsIAccessibleRelation.h"
#include "nsIDocShell.h"
#include "nsIDocShellTreeItem.h"

View File

@ -3,7 +3,7 @@
* 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 "nsHTMLSelectAccessible.h"
#include "HTMLSelectAccessible.h"
#include "Accessible-inl.h"
#include "nsAccessibilityService.h"
@ -29,21 +29,21 @@
using namespace mozilla::a11y;
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectListAccessible
// HTMLSelectListAccessible
////////////////////////////////////////////////////////////////////////////////
nsHTMLSelectListAccessible::
nsHTMLSelectListAccessible(nsIContent* aContent, DocAccessible* aDoc) :
HTMLSelectListAccessible::
HTMLSelectListAccessible(nsIContent* aContent, DocAccessible* aDoc) :
AccessibleWrap(aContent, aDoc)
{
mFlags |= eListControlAccessible;
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectListAccessible: Accessible public
// HTMLSelectListAccessible: Accessible public
PRUint64
nsHTMLSelectListAccessible::NativeState()
HTMLSelectListAccessible::NativeState()
{
PRUint64 state = AccessibleWrap::NativeState();
if (mContent->HasAttr(kNameSpaceID_None, nsGkAtoms::multiple))
@ -53,57 +53,57 @@ nsHTMLSelectListAccessible::NativeState()
}
role
nsHTMLSelectListAccessible::NativeRole()
HTMLSelectListAccessible::NativeRole()
{
return roles::LISTBOX;
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectListAccessible: SelectAccessible
// HTMLSelectListAccessible: SelectAccessible
bool
nsHTMLSelectListAccessible::IsSelect()
HTMLSelectListAccessible::IsSelect()
{
return true;
}
bool
nsHTMLSelectListAccessible::SelectAll()
HTMLSelectListAccessible::SelectAll()
{
return mContent->HasAttr(kNameSpaceID_None, nsGkAtoms::multiple) ?
AccessibleWrap::SelectAll() : false;
}
bool
nsHTMLSelectListAccessible::UnselectAll()
HTMLSelectListAccessible::UnselectAll()
{
return mContent->HasAttr(kNameSpaceID_None, nsGkAtoms::multiple) ?
AccessibleWrap::UnselectAll() : false;
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectListAccessible: Widgets
// HTMLSelectListAccessible: Widgets
bool
nsHTMLSelectListAccessible::IsWidget() const
HTMLSelectListAccessible::IsWidget() const
{
return true;
}
bool
nsHTMLSelectListAccessible::IsActiveWidget() const
HTMLSelectListAccessible::IsActiveWidget() const
{
return FocusMgr()->HasDOMFocus(mContent);
}
bool
nsHTMLSelectListAccessible::AreItemsOperable() const
HTMLSelectListAccessible::AreItemsOperable() const
{
return true;
}
Accessible*
nsHTMLSelectListAccessible::CurrentItem()
HTMLSelectListAccessible::CurrentItem()
{
nsIListControlFrame* listControlFrame = do_QueryFrame(GetFrame());
if (listControlFrame) {
@ -118,7 +118,7 @@ nsHTMLSelectListAccessible::CurrentItem()
}
void
nsHTMLSelectListAccessible::SetCurrentItem(Accessible* aItem)
HTMLSelectListAccessible::SetCurrentItem(Accessible* aItem)
{
aItem->GetContent()->SetAttr(kNameSpaceID_None,
nsGkAtoms::selected, NS_LITERAL_STRING("true"),
@ -126,10 +126,10 @@ nsHTMLSelectListAccessible::SetCurrentItem(Accessible* aItem)
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectListAccessible: Accessible protected
// HTMLSelectListAccessible: Accessible protected
void
nsHTMLSelectListAccessible::CacheChildren()
HTMLSelectListAccessible::CacheChildren()
{
// Cache accessibles for <optgroup> and <option> DOM decendents as children,
// as well as the accessibles for them. Avoid whitespace text nodes. We want
@ -139,10 +139,10 @@ nsHTMLSelectListAccessible::CacheChildren()
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectListAccessible protected
// HTMLSelectListAccessible protected
void
nsHTMLSelectListAccessible::CacheOptSiblings(nsIContent *aParentContent)
HTMLSelectListAccessible::CacheOptSiblings(nsIContent* aParentContent)
{
for (nsIContent* childContent = aParentContent->GetFirstChild(); childContent;
childContent = childContent->GetNextSibling()) {
@ -169,20 +169,20 @@ nsHTMLSelectListAccessible::CacheOptSiblings(nsIContent *aParentContent)
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectOptionAccessible
// HTMLSelectOptionAccessible
////////////////////////////////////////////////////////////////////////////////
nsHTMLSelectOptionAccessible::
nsHTMLSelectOptionAccessible(nsIContent* aContent, DocAccessible* aDoc) :
HTMLSelectOptionAccessible::
HTMLSelectOptionAccessible(nsIContent* aContent, DocAccessible* aDoc) :
HyperTextAccessibleWrap(aContent, aDoc)
{
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectOptionAccessible: Accessible public
// HTMLSelectOptionAccessible: Accessible public
role
nsHTMLSelectOptionAccessible::NativeRole()
HTMLSelectOptionAccessible::NativeRole()
{
if (mParent && mParent->Role() == roles::COMBOBOX_LIST)
return roles::COMBOBOX_OPTION;
@ -191,7 +191,7 @@ nsHTMLSelectOptionAccessible::NativeRole()
}
nsresult
nsHTMLSelectOptionAccessible::GetNameInternal(nsAString& aName)
HTMLSelectOptionAccessible::GetNameInternal(nsAString& aName)
{
// CASE #1 -- great majority of the cases
// find the label attribute - this is what the W3C says we should use
@ -221,9 +221,9 @@ nsHTMLSelectOptionAccessible::GetNameInternal(nsAString& aName)
}
PRUint64
nsHTMLSelectOptionAccessible::NativeState()
HTMLSelectOptionAccessible::NativeState()
{
// As a nsHTMLSelectOptionAccessible we can have the following states:
// As a HTMLSelectOptionAccessible we can have the following states:
// SELECTABLE, SELECTED, FOCUSED, FOCUSABLE, OFFSCREEN
// Upcall to Accessible, but skip HyperTextAccessible impl
// because we don't want EDITABLE or SELECTABLE_TEXT
@ -282,14 +282,14 @@ nsHTMLSelectOptionAccessible::NativeState()
}
PRUint64
nsHTMLSelectOptionAccessible::NativeInteractiveState() const
HTMLSelectOptionAccessible::NativeInteractiveState() const
{
return NativelyUnavailable() ?
states::UNAVAILABLE : states::FOCUSABLE | states::SELECTABLE;
}
PRInt32
nsHTMLSelectOptionAccessible::GetLevelInternal()
HTMLSelectOptionAccessible::GetLevelInternal()
{
nsIContent *parentContent = mContent->GetParent();
@ -303,8 +303,8 @@ nsHTMLSelectOptionAccessible::GetLevelInternal()
}
void
nsHTMLSelectOptionAccessible::GetBoundsRect(nsRect& aTotalBounds,
nsIFrame** aBoundingFrame)
HTMLSelectOptionAccessible::GetBoundsRect(nsRect& aTotalBounds,
nsIFrame** aBoundingFrame)
{
Accessible* combobox = GetCombobox();
if (combobox && (combobox->State() & states::COLLAPSED))
@ -313,8 +313,8 @@ nsHTMLSelectOptionAccessible::GetBoundsRect(nsRect& aTotalBounds,
HyperTextAccessibleWrap::GetBoundsRect(aTotalBounds, aBoundingFrame);
}
/** select us! close combo box if necessary*/
NS_IMETHODIMP nsHTMLSelectOptionAccessible::GetActionName(PRUint8 aIndex, nsAString& aName)
NS_IMETHODIMP
HTMLSelectOptionAccessible::GetActionName(PRUint8 aIndex, nsAString& aName)
{
if (aIndex == eAction_Select) {
aName.AssignLiteral("select");
@ -324,13 +324,13 @@ NS_IMETHODIMP nsHTMLSelectOptionAccessible::GetActionName(PRUint8 aIndex, nsAStr
}
PRUint8
nsHTMLSelectOptionAccessible::ActionCount()
HTMLSelectOptionAccessible::ActionCount()
{
return 1;
}
NS_IMETHODIMP
nsHTMLSelectOptionAccessible::DoAction(PRUint8 aIndex)
HTMLSelectOptionAccessible::DoAction(PRUint8 aIndex)
{
if (aIndex != eAction_Select)
return NS_ERROR_INVALID_ARG;
@ -343,7 +343,7 @@ nsHTMLSelectOptionAccessible::DoAction(PRUint8 aIndex)
}
NS_IMETHODIMP
nsHTMLSelectOptionAccessible::SetSelected(bool aSelect)
HTMLSelectOptionAccessible::SetSelected(bool aSelect)
{
if (IsDefunct())
return NS_ERROR_FAILURE;
@ -353,58 +353,59 @@ nsHTMLSelectOptionAccessible::SetSelected(bool aSelect)
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectOptionAccessible: Widgets
// HTMLSelectOptionAccessible: Widgets
Accessible*
nsHTMLSelectOptionAccessible::ContainerWidget() const
HTMLSelectOptionAccessible::ContainerWidget() const
{
return mParent && mParent->IsListControl() ? mParent : nsnull;
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectOptGroupAccessible
// HTMLSelectOptGroupAccessible
////////////////////////////////////////////////////////////////////////////////
nsHTMLSelectOptGroupAccessible::
nsHTMLSelectOptGroupAccessible(nsIContent* aContent,
DocAccessible* aDoc) :
nsHTMLSelectOptionAccessible(aContent, aDoc)
HTMLSelectOptGroupAccessible::
HTMLSelectOptGroupAccessible(nsIContent* aContent, DocAccessible* aDoc) :
HTMLSelectOptionAccessible(aContent, aDoc)
{
}
role
nsHTMLSelectOptGroupAccessible::NativeRole()
HTMLSelectOptGroupAccessible::NativeRole()
{
return roles::HEADING;
}
PRUint64
nsHTMLSelectOptGroupAccessible::NativeInteractiveState() const
HTMLSelectOptGroupAccessible::NativeInteractiveState() const
{
return NativelyUnavailable() ? states::UNAVAILABLE : 0;
}
NS_IMETHODIMP nsHTMLSelectOptGroupAccessible::DoAction(PRUint8 index)
NS_IMETHODIMP
HTMLSelectOptGroupAccessible::DoAction(PRUint8 index)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTMLSelectOptGroupAccessible::GetActionName(PRUint8 aIndex, nsAString& aName)
NS_IMETHODIMP
HTMLSelectOptGroupAccessible::GetActionName(PRUint8 aIndex, nsAString& aName)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
PRUint8
nsHTMLSelectOptGroupAccessible::ActionCount()
HTMLSelectOptGroupAccessible::ActionCount()
{
return 0;
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLSelectOptGroupAccessible: Accessible protected
// HTMLSelectOptGroupAccessible: Accessible protected
void
nsHTMLSelectOptGroupAccessible::CacheChildren()
HTMLSelectOptGroupAccessible::CacheChildren()
{
// XXX To do (bug 378612) - create text child for the anonymous attribute
// content, so that nsIAccessibleText is supported for the <optgroup> as it is
@ -415,27 +416,27 @@ nsHTMLSelectOptGroupAccessible::CacheChildren()
////////////////////////////////////////////////////////////////////////////////
// nsHTMLComboboxAccessible
// HTMLComboboxAccessible
////////////////////////////////////////////////////////////////////////////////
nsHTMLComboboxAccessible::
nsHTMLComboboxAccessible(nsIContent* aContent, DocAccessible* aDoc) :
HTMLComboboxAccessible::
HTMLComboboxAccessible(nsIContent* aContent, DocAccessible* aDoc) :
AccessibleWrap(aContent, aDoc)
{
mFlags |= eComboboxAccessible;
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLComboboxAccessible: Accessible
// HTMLComboboxAccessible: Accessible
role
nsHTMLComboboxAccessible::NativeRole()
HTMLComboboxAccessible::NativeRole()
{
return roles::COMBOBOX;
}
void
nsHTMLComboboxAccessible::InvalidateChildren()
HTMLComboboxAccessible::InvalidateChildren()
{
AccessibleWrap::InvalidateChildren();
@ -444,7 +445,7 @@ nsHTMLComboboxAccessible::InvalidateChildren()
}
void
nsHTMLComboboxAccessible::CacheChildren()
HTMLComboboxAccessible::CacheChildren()
{
nsIFrame* frame = GetFrame();
if (!frame)
@ -460,7 +461,7 @@ nsHTMLComboboxAccessible::CacheChildren()
if (!mListAccessible) {
mListAccessible =
new nsHTMLComboboxListAccessible(mParent, mContent, mDoc);
new HTMLComboboxListAccessible(mParent, mContent, mDoc);
// Initialize and put into cache.
if (!Document()->BindToDocument(mListAccessible, nsnull))
@ -475,7 +476,7 @@ nsHTMLComboboxAccessible::CacheChildren()
}
void
nsHTMLComboboxAccessible::Shutdown()
HTMLComboboxAccessible::Shutdown()
{
AccessibleWrap::Shutdown();
@ -486,9 +487,9 @@ nsHTMLComboboxAccessible::Shutdown()
}
PRUint64
nsHTMLComboboxAccessible::NativeState()
HTMLComboboxAccessible::NativeState()
{
// As a nsHTMLComboboxAccessible we can have the following states:
// As a HTMLComboboxAccessible we can have the following states:
// FOCUSED, FOCUSABLE, HASPOPUP, EXPANDED, COLLAPSED
// Get focus status from base class
PRUint64 state = Accessible::NativeState();
@ -504,7 +505,7 @@ nsHTMLComboboxAccessible::NativeState()
}
void
nsHTMLComboboxAccessible::Description(nsString& aDescription)
HTMLComboboxAccessible::Description(nsString& aDescription)
{
aDescription.Truncate();
// First check to see if combo box itself has a description, perhaps through
@ -520,7 +521,7 @@ nsHTMLComboboxAccessible::Description(nsString& aDescription)
}
void
nsHTMLComboboxAccessible::Value(nsString& aValue)
HTMLComboboxAccessible::Value(nsString& aValue)
{
// Use accessible name of selected option.
Accessible* option = SelectedOption();
@ -529,13 +530,13 @@ nsHTMLComboboxAccessible::Value(nsString& aValue)
}
PRUint8
nsHTMLComboboxAccessible::ActionCount()
HTMLComboboxAccessible::ActionCount()
{
return 1;
}
NS_IMETHODIMP
nsHTMLComboboxAccessible::DoAction(PRUint8 aIndex)
HTMLComboboxAccessible::DoAction(PRUint8 aIndex)
{
if (aIndex != eAction_Click)
return NS_ERROR_INVALID_ARG;
@ -553,9 +554,10 @@ nsHTMLComboboxAccessible::DoAction(PRUint8 aIndex)
* if we are open -> closed is our name.
* Uses the frame to get the state, updated on every click
*/
NS_IMETHODIMP nsHTMLComboboxAccessible::GetActionName(PRUint8 aIndex, nsAString& aName)
NS_IMETHODIMP
HTMLComboboxAccessible::GetActionName(PRUint8 aIndex, nsAString& aName)
{
if (aIndex != nsHTMLComboboxAccessible::eAction_Click) {
if (aIndex != HTMLComboboxAccessible::eAction_Click) {
return NS_ERROR_INVALID_ARG;
}
nsIFrame *frame = GetFrame();
@ -575,45 +577,45 @@ NS_IMETHODIMP nsHTMLComboboxAccessible::GetActionName(PRUint8 aIndex, nsAString&
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLComboboxAccessible: Widgets
// HTMLComboboxAccessible: Widgets
bool
nsHTMLComboboxAccessible::IsWidget() const
HTMLComboboxAccessible::IsWidget() const
{
return true;
}
bool
nsHTMLComboboxAccessible::IsActiveWidget() const
HTMLComboboxAccessible::IsActiveWidget() const
{
return FocusMgr()->HasDOMFocus(mContent);
}
bool
nsHTMLComboboxAccessible::AreItemsOperable() const
HTMLComboboxAccessible::AreItemsOperable() const
{
nsIComboboxControlFrame* comboboxFrame = do_QueryFrame(GetFrame());
return comboboxFrame && comboboxFrame->IsDroppedDown();
}
Accessible*
nsHTMLComboboxAccessible::CurrentItem()
HTMLComboboxAccessible::CurrentItem()
{
return AreItemsOperable() ? mListAccessible->CurrentItem() : nsnull;
}
void
nsHTMLComboboxAccessible::SetCurrentItem(Accessible* aItem)
HTMLComboboxAccessible::SetCurrentItem(Accessible* aItem)
{
if (AreItemsOperable())
mListAccessible->SetCurrentItem(aItem);
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLComboboxAccessible: protected
// HTMLComboboxAccessible: protected
Accessible*
nsHTMLComboboxAccessible::SelectedOption() const
HTMLComboboxAccessible::SelectedOption() const
{
nsIFrame* frame = GetFrame();
nsIComboboxControlFrame* comboboxFrame = do_QueryFrame(frame);
@ -636,23 +638,23 @@ nsHTMLComboboxAccessible::SelectedOption() const
////////////////////////////////////////////////////////////////////////////////
// nsHTMLComboboxListAccessible
// HTMLComboboxListAccessible
////////////////////////////////////////////////////////////////////////////////
nsHTMLComboboxListAccessible::
nsHTMLComboboxListAccessible(nsIAccessible* aParent, nsIContent* aContent,
DocAccessible* aDoc) :
nsHTMLSelectListAccessible(aContent, aDoc)
HTMLComboboxListAccessible::
HTMLComboboxListAccessible(nsIAccessible* aParent, nsIContent* aContent,
DocAccessible* aDoc) :
HTMLSelectListAccessible(aContent, aDoc)
{
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLComboboxAccessible: nsAccessNode
// HTMLComboboxAccessible: nsAccessNode
nsIFrame*
nsHTMLComboboxListAccessible::GetFrame() const
HTMLComboboxListAccessible::GetFrame() const
{
nsIFrame* frame = nsHTMLSelectListAccessible::GetFrame();
nsIFrame* frame = HTMLSelectListAccessible::GetFrame();
if (frame) {
nsIComboboxControlFrame* comboBox = do_QueryFrame(frame);
@ -665,24 +667,24 @@ nsHTMLComboboxListAccessible::GetFrame() const
}
bool
nsHTMLComboboxListAccessible::IsPrimaryForNode() const
HTMLComboboxListAccessible::IsPrimaryForNode() const
{
return false;
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLComboboxAccessible: Accessible
// HTMLComboboxAccessible: Accessible
role
nsHTMLComboboxListAccessible::NativeRole()
HTMLComboboxListAccessible::NativeRole()
{
return roles::COMBOBOX_LIST;
}
PRUint64
nsHTMLComboboxListAccessible::NativeState()
HTMLComboboxListAccessible::NativeState()
{
// As a nsHTMLComboboxListAccessible we can have the following states:
// As a HTMLComboboxListAccessible we can have the following states:
// FOCUSED, FOCUSABLE, FLOATING, INVISIBLE
// Get focus status from base class
PRUint64 state = Accessible::NativeState();
@ -700,7 +702,8 @@ nsHTMLComboboxListAccessible::NativeState()
* Gets the bounds for the areaFrame.
* Walks the Frame tree and checks for proper frames.
*/
void nsHTMLComboboxListAccessible::GetBoundsRect(nsRect& aBounds, nsIFrame** aBoundingFrame)
void
HTMLComboboxListAccessible::GetBoundsRect(nsRect& aBounds, nsIFrame** aBoundingFrame)
{
*aBoundingFrame = nsnull;
@ -709,7 +712,7 @@ void nsHTMLComboboxListAccessible::GetBoundsRect(nsRect& aBounds, nsIFrame** aBo
return;
if (0 == (comboAcc->State() & states::COLLAPSED)) {
nsHTMLSelectListAccessible::GetBoundsRect(aBounds, aBoundingFrame);
HTMLSelectListAccessible::GetBoundsRect(aBounds, aBoundingFrame);
return;
}
@ -729,16 +732,16 @@ void nsHTMLComboboxListAccessible::GetBoundsRect(nsRect& aBounds, nsIFrame** aBo
}
////////////////////////////////////////////////////////////////////////////////
// nsHTMLComboboxListAccessible: Widgets
// HTMLComboboxListAccessible: Widgets
bool
nsHTMLComboboxListAccessible::IsActiveWidget() const
HTMLComboboxListAccessible::IsActiveWidget() const
{
return mParent && mParent->IsActiveWidget();
}
bool
nsHTMLComboboxListAccessible::AreItemsOperable() const
HTMLComboboxListAccessible::AreItemsOperable() const
{
return mParent && mParent->AreItemsOperable();
}

View File

@ -2,8 +2,9 @@
/* 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/. */
#ifndef __nsHTMLSelectAccessible_h__
#define __nsHTMLSelectAccessible_h__
#ifndef mozilla_a11y_HTMLSelectAccessible_h__
#define mozilla_a11y_HTMLSelectAccessible_h__
#include "HTMLFormControlAccessible.h"
#include "nsIDOMHTMLOptionsCollection.h"
@ -12,33 +13,36 @@
class nsIMutableArray;
namespace mozilla {
namespace a11y {
/**
* Selects, Listboxes and Comboboxes, are made up of a number of different
* widgets, some of which are shared between the two. This file contains
* all of the widgets for both of the Selects, for HTML only.
* all of the widgets for both of the Selects, for HTML only.
*
* Listbox:
* - nsHTMLSelectListAccessible
* - nsHTMLSelectOptionAccessible
* - HTMLSelectListAccessible
* - HTMLSelectOptionAccessible
*
* Comboboxes:
* - nsHTMLComboboxAccessible
* - nsHTMLComboboxListAccessible [ inserted in accessible tree ]
* - nsHTMLSelectOptionAccessible(s)
* - HTMLComboboxAccessible
* - HTMLComboboxListAccessible [ inserted in accessible tree ]
* - HTMLSelectOptionAccessible(s)
*/
/*
* The list that contains all the options in the select.
*/
class nsHTMLSelectListAccessible : public AccessibleWrap
class HTMLSelectListAccessible : public AccessibleWrap
{
public:
nsHTMLSelectListAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~nsHTMLSelectListAccessible() {}
HTMLSelectListAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~HTMLSelectListAccessible() {}
// Accessible
virtual mozilla::a11y::role NativeRole();
virtual a11y::role NativeRole();
virtual PRUint64 NativeState();
// SelectAccessible
@ -58,24 +62,24 @@ protected:
// Accessible
virtual void CacheChildren();
// nsHTMLSelectListAccessible
// HTMLSelectListAccessible
/**
* Recursive helper for CacheChildren().
*/
void CacheOptSiblings(nsIContent *aParentContent);
void CacheOptSiblings(nsIContent* aParentContent);
};
/*
* Options inside the select, contained within the list
*/
class nsHTMLSelectOptionAccessible : public HyperTextAccessibleWrap
class HTMLSelectOptionAccessible : public HyperTextAccessibleWrap
{
public:
enum { eAction_Select = 0 };
nsHTMLSelectOptionAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~nsHTMLSelectOptionAccessible() {}
enum { eAction_Select = 0 };
HTMLSelectOptionAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~HTMLSelectOptionAccessible() {}
// nsIAccessible
NS_IMETHOD DoAction(PRUint8 index);
@ -84,7 +88,7 @@ public:
// Accessible
virtual nsresult GetNameInternal(nsAString& aName);
virtual mozilla::a11y::role NativeRole();
virtual a11y::role NativeRole();
virtual PRUint64 NativeState();
virtual PRUint64 NativeInteractiveState() const;
@ -98,10 +102,10 @@ public:
virtual Accessible* ContainerWidget() const;
private:
/**
* Return a select accessible the option belongs to if any.
*/
*/
Accessible* GetSelect() const
{
if (mParent && mParent->IsListControl()) {
@ -129,19 +133,19 @@ private:
/*
* Opt Groups inside the select, contained within the list
*/
class nsHTMLSelectOptGroupAccessible : public nsHTMLSelectOptionAccessible
class HTMLSelectOptGroupAccessible : public HTMLSelectOptionAccessible
{
public:
nsHTMLSelectOptGroupAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~nsHTMLSelectOptGroupAccessible() {}
HTMLSelectOptGroupAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~HTMLSelectOptGroupAccessible() {}
// nsIAccessible
NS_IMETHOD DoAction(PRUint8 index);
NS_IMETHOD DoAction(PRUint8 index);
NS_IMETHOD GetActionName(PRUint8 aIndex, nsAString& aName);
// Accessible
virtual mozilla::a11y::role NativeRole();
virtual a11y::role NativeRole();
virtual PRUint64 NativeInteractiveState() const;
// ActionAccessible
@ -156,18 +160,18 @@ protected:
/** Finally, the Combobox widgets */
/** ------------------------------------------------------ */
class nsHTMLComboboxListAccessible;
class HTMLComboboxListAccessible;
/*
* A class the represents the HTML Combobox widget.
*/
class nsHTMLComboboxAccessible : public AccessibleWrap
class HTMLComboboxAccessible : public AccessibleWrap
{
public:
enum { eAction_Click = 0 };
nsHTMLComboboxAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~nsHTMLComboboxAccessible() {}
HTMLComboboxAccessible(nsIContent* aContent, DocAccessible* aDoc);
virtual ~HTMLComboboxAccessible() {}
// nsIAccessible
NS_IMETHOD DoAction(PRUint8 index);
@ -179,7 +183,7 @@ public:
// Accessible
virtual void Description(nsString& aDescription);
virtual void Value(nsString& aValue);
virtual mozilla::a11y::role NativeRole();
virtual a11y::role NativeRole();
virtual PRUint64 NativeState();
virtual void InvalidateChildren();
@ -203,7 +207,7 @@ protected:
Accessible* SelectedOption() const;
private:
nsRefPtr<nsHTMLComboboxListAccessible> mListAccessible;
nsRefPtr<HTMLComboboxListAccessible> mListAccessible;
};
/*
@ -211,21 +215,20 @@ private:
* of the drop down button inside the Select. This is the window
* that is made visible when the button is pressed.
*/
class nsHTMLComboboxListAccessible : public nsHTMLSelectListAccessible
class HTMLComboboxListAccessible : public HTMLSelectListAccessible
{
public:
nsHTMLComboboxListAccessible(nsIAccessible* aParent,
nsIContent* aContent,
DocAccessible* aDoc);
virtual ~nsHTMLComboboxListAccessible() {}
HTMLComboboxListAccessible(nsIAccessible* aParent, nsIContent* aContent,
DocAccessible* aDoc);
virtual ~HTMLComboboxListAccessible() {}
// nsAccessNode
virtual nsIFrame* GetFrame() const;
virtual bool IsPrimaryForNode() const;
// Accessible
virtual mozilla::a11y::role NativeRole();
virtual a11y::role NativeRole();
virtual PRUint64 NativeState();
virtual void GetBoundsRect(nsRect& aBounds, nsIFrame** aBoundingFrame);
@ -234,4 +237,7 @@ public:
virtual bool AreItemsOperable() const;
};
} // namespace a11y
} // namespace mozilla
#endif

View File

@ -22,8 +22,8 @@ CPPSRCS = \
HTMLImageMapAccessible.cpp \
HTMLLinkAccessible.cpp \
HTMLListAccessible.cpp \
HTMLSelectAccessible.cpp \
nsHTMLCanvasAccessible.cpp \
nsHTMLSelectAccessible.cpp \
nsHTMLTableAccessible.cpp \
$(NULL)