mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
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:
parent
0fd801a0b6
commit
35438aaed5
@ -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;
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "States.h"
|
||||
|
||||
#include "mozilla/dom/Element.h"
|
||||
#include "nsHTMLSelectAccessible.h"
|
||||
|
||||
#include "nsIAccessibleRelation.h"
|
||||
#include "nsIDocShell.h"
|
||||
#include "nsIDocShellTreeItem.h"
|
||||
|
@ -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();
|
||||
}
|
@ -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
|
@ -22,8 +22,8 @@ CPPSRCS = \
|
||||
HTMLImageMapAccessible.cpp \
|
||||
HTMLLinkAccessible.cpp \
|
||||
HTMLListAccessible.cpp \
|
||||
HTMLSelectAccessible.cpp \
|
||||
nsHTMLCanvasAccessible.cpp \
|
||||
nsHTMLSelectAccessible.cpp \
|
||||
nsHTMLTableAccessible.cpp \
|
||||
$(NULL)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user