mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 846185 - don't call into js when creating accessibles r=surkov, smaug
This commit is contained in:
parent
b967782465
commit
ca11ae6bae
@ -19,7 +19,6 @@ XPIDL_SOURCES += [
|
||||
'nsIAccessibleHyperText.idl',
|
||||
'nsIAccessibleImage.idl',
|
||||
'nsIAccessiblePivot.idl',
|
||||
'nsIAccessibleProvider.idl',
|
||||
'nsIAccessibleRelation.idl',
|
||||
'nsIAccessibleRetrieval.idl',
|
||||
'nsIAccessibleRole.idl',
|
||||
|
@ -1,83 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "nsISupports.idl"
|
||||
|
||||
/**
|
||||
* nsIAccessibleProvider interface is used to link element and accessible
|
||||
object. For that XBL binding of element should implement the interface.
|
||||
*/
|
||||
|
||||
[scriptable, uuid(f7e531b6-bc29-4d3d-8c91-60fc2b71eb40)]
|
||||
interface nsIAccessibleProvider : nsISupports
|
||||
{
|
||||
/**
|
||||
* Constants set of common use.
|
||||
*/
|
||||
|
||||
/** Do not create an accessible for this object
|
||||
* This is useful if an ancestor binding already implements nsIAccessibleProvider,
|
||||
* but no accessible is desired for the inheriting binding
|
||||
*/
|
||||
const long NoAccessible = 0;
|
||||
|
||||
/** For elements that spawn a new document. For example now it is used by
|
||||
<xul:iframe>, <xul:browser> and <xul:editor>. */
|
||||
const long OuterDoc = 0x00000001;
|
||||
|
||||
/**
|
||||
* Constants set is used by XUL controls.
|
||||
*/
|
||||
|
||||
const long XULAlert = 0x00001001;
|
||||
const long XULButton = 0x00001002;
|
||||
const long XULCheckbox = 0x00001003;
|
||||
const long XULColorPicker = 0x00001004;
|
||||
const long XULColorPickerTile = 0x00001005;
|
||||
const long XULCombobox = 0x00001006;
|
||||
const long XULDropmarker = 0x00001007;
|
||||
const long XULGroupbox = 0x00001008;
|
||||
const long XULImage = 0x00001009;
|
||||
const long XULLink = 0x0000100A;
|
||||
const long XULListbox = 0x0000100B;
|
||||
const long XULListCell = 0x00001026;
|
||||
const long XULListHead = 0x00001024;
|
||||
const long XULListHeader = 0x00001025;
|
||||
const long XULListitem = 0x0000100C;
|
||||
const long XULMenubar = 0x0000100D;
|
||||
const long XULMenuitem = 0x0000100E;
|
||||
const long XULMenupopup = 0x0000100F;
|
||||
const long XULMenuSeparator = 0x00001010;
|
||||
const long XULPane = 0x00001011;
|
||||
const long XULProgressMeter = 0x00001012;
|
||||
const long XULScale = 0x00001013;
|
||||
const long XULStatusBar = 0x00001014;
|
||||
const long XULRadioButton = 0x00001015;
|
||||
const long XULRadioGroup = 0x00001016;
|
||||
|
||||
/** Used for XUL tab element */
|
||||
const long XULTab = 0x00001017;
|
||||
/** Used for XUL tabs element, a container for tab elements */
|
||||
const long XULTabs = 0x00001018;
|
||||
/** Used for XUL tabpanels element */
|
||||
const long XULTabpanels = 0x00001019;
|
||||
|
||||
const long XULText = 0x0000101A;
|
||||
const long XULTextBox = 0x0000101B;
|
||||
const long XULThumb = 0x0000101C;
|
||||
const long XULTree = 0x0000101D;
|
||||
const long XULTreeColumns = 0x0000101E;
|
||||
const long XULTreeColumnItem = 0x0000101F;
|
||||
const long XULToolbar = 0x00001020;
|
||||
const long XULToolbarSeparator = 0x00001021;
|
||||
const long XULTooltip = 0x00001022;
|
||||
const long XULToolbarButton = 0x00001023;
|
||||
|
||||
/**
|
||||
* Return one of constants declared above.
|
||||
*/
|
||||
readonly attribute long accessibleType;
|
||||
};
|
@ -17,6 +17,7 @@ LOCAL_INCLUDES += \
|
||||
-I$(srcdir)/../html \
|
||||
-I$(srcdir)/../xpcom \
|
||||
-I$(srcdir)/../xul \
|
||||
-I$(srcdir)/../../../content/xbl/src \
|
||||
-I$(srcdir)/../../../layout/generic \
|
||||
-I$(srcdir)/../../../layout/style \
|
||||
-I$(srcdir)/../../../layout/svg \
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include "nsAccessiblePivot.h"
|
||||
#include "nsAccUtils.h"
|
||||
#include "nsEventShell.h"
|
||||
#include "nsIAccessibleProvider.h"
|
||||
#include "OuterDocAccessible.h"
|
||||
#include "Platform.h"
|
||||
#include "Role.h"
|
||||
@ -61,6 +60,9 @@
|
||||
#include "nsTreeBodyFrame.h"
|
||||
#include "nsTreeColumns.h"
|
||||
#include "nsTreeUtils.h"
|
||||
#include "nsBindingManager.h"
|
||||
#include "nsXBLPrototypeBinding.h"
|
||||
#include "nsXBLBinding.h"
|
||||
#include "mozilla/dom/Element.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/Services.h"
|
||||
@ -1137,204 +1139,187 @@ already_AddRefed<Accessible>
|
||||
nsAccessibilityService::CreateAccessibleByType(nsIContent* aContent,
|
||||
DocAccessible* aDoc)
|
||||
{
|
||||
nsCOMPtr<nsIAccessibleProvider> accessibleProvider(do_QueryInterface(aContent));
|
||||
if (!accessibleProvider)
|
||||
nsAutoString role;
|
||||
for (const nsXBLBinding* binding = aContent->GetXBLBinding(); binding; binding = binding->GetBaseBinding()) {
|
||||
nsIContent* bindingElm = binding->PrototypeBinding()->GetBindingElement();
|
||||
bindingElm->GetAttr(kNameSpaceID_None, nsGkAtoms::role, role);
|
||||
if (!role.IsEmpty())
|
||||
break;
|
||||
}
|
||||
|
||||
if (role.IsEmpty() || role.EqualsLiteral("none"))
|
||||
return nullptr;
|
||||
|
||||
int32_t type;
|
||||
nsresult rv = accessibleProvider->GetAccessibleType(&type);
|
||||
if (NS_FAILED(rv))
|
||||
return nullptr;
|
||||
|
||||
if (type == nsIAccessibleProvider::OuterDoc) {
|
||||
if (role.EqualsLiteral("outerdoc")) {
|
||||
nsRefPtr<Accessible> accessible = new OuterDocAccessible(aContent, aDoc);
|
||||
return accessible.forget();
|
||||
}
|
||||
|
||||
|
||||
nsRefPtr<Accessible> accessible;
|
||||
switch (type)
|
||||
{
|
||||
#ifdef MOZ_XUL
|
||||
case nsIAccessibleProvider::NoAccessible:
|
||||
return nullptr;
|
||||
// XUL controls
|
||||
if (role.EqualsLiteral("xul:alert")) {
|
||||
accessible = new XULAlertAccessible(aContent, aDoc);
|
||||
|
||||
// XUL controls
|
||||
case nsIAccessibleProvider::XULAlert:
|
||||
accessible = new XULAlertAccessible(aContent, aDoc);
|
||||
break;
|
||||
} else if (role.EqualsLiteral("xul:button")) {
|
||||
accessible = new XULButtonAccessible(aContent, aDoc);
|
||||
|
||||
case nsIAccessibleProvider::XULButton:
|
||||
accessible = new XULButtonAccessible(aContent, aDoc);
|
||||
break;
|
||||
} else if (role.EqualsLiteral("xul:checkbox")) {
|
||||
accessible = new XULCheckboxAccessible(aContent, aDoc);
|
||||
|
||||
case nsIAccessibleProvider::XULCheckbox:
|
||||
accessible = new XULCheckboxAccessible(aContent, aDoc);
|
||||
break;
|
||||
} else if (role.EqualsLiteral("xul:colorpicker")) {
|
||||
accessible = new XULColorPickerAccessible(aContent, aDoc);
|
||||
|
||||
case nsIAccessibleProvider::XULColorPicker:
|
||||
accessible = new XULColorPickerAccessible(aContent, aDoc);
|
||||
break;
|
||||
} else if (role.EqualsLiteral("xul:colorpickertile")) {
|
||||
accessible = new XULColorPickerTileAccessible(aContent, aDoc);
|
||||
|
||||
case nsIAccessibleProvider::XULColorPickerTile:
|
||||
accessible = new XULColorPickerTileAccessible(aContent, aDoc);
|
||||
break;
|
||||
} else if (role.EqualsLiteral("xul:combobox")) {
|
||||
accessible = new XULComboboxAccessible(aContent, aDoc);
|
||||
|
||||
case nsIAccessibleProvider::XULCombobox:
|
||||
accessible = new XULComboboxAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULTabpanels:
|
||||
} else if (role.EqualsLiteral("xul:tabpanels")) {
|
||||
accessible = new XULTabpanelsAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULDropmarker:
|
||||
} else if (role.EqualsLiteral("xul:dropmarker")) {
|
||||
accessible = new XULDropmarkerAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULGroupbox:
|
||||
} else if (role.EqualsLiteral("xul:groupbox")) {
|
||||
accessible = new XULGroupboxAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULImage:
|
||||
{
|
||||
} else if (role.EqualsLiteral("xul:image")) {
|
||||
if (aContent->HasAttr(kNameSpaceID_None, nsGkAtoms::onclick)) {
|
||||
accessible = new XULToolbarButtonAccessible(aContent, aDoc);
|
||||
|
||||
} else {
|
||||
// Don't include nameless images in accessible tree.
|
||||
if (!aContent->HasAttr(kNameSpaceID_None,
|
||||
nsGkAtoms::tooltiptext))
|
||||
return nullptr;
|
||||
|
||||
accessible = new ImageAccessibleWrap(aContent, aDoc);
|
||||
break;
|
||||
|
||||
}
|
||||
case nsIAccessibleProvider::XULLink:
|
||||
accessible = new XULLinkAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULListbox:
|
||||
} else if (role.EqualsLiteral("xul:link")) {
|
||||
accessible = new XULLinkAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:listbox")) {
|
||||
accessible = new XULListboxAccessibleWrap(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULListCell:
|
||||
accessible = new XULListCellAccessibleWrap(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULListHead:
|
||||
accessible = new XULColumAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULListHeader:
|
||||
accessible = new XULColumnItemAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULListitem:
|
||||
accessible = new XULListitemAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULMenubar:
|
||||
accessible = new XULMenubarAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULMenuitem:
|
||||
accessible = new XULMenuitemAccessibleWrap(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULMenupopup:
|
||||
{
|
||||
#ifdef MOZ_ACCESSIBILITY_ATK
|
||||
// ATK considers this node to be redundant when within menubars, and it makes menu
|
||||
// navigation with assistive technologies more difficult
|
||||
// XXX In the future we will should this for consistency across the nsIAccessible
|
||||
// implementations on each platform for a consistent scripting environment, but
|
||||
// then strip out redundant accessibles in the AccessibleWrap class for each platform.
|
||||
nsIContent *parent = aContent->GetParent();
|
||||
if (parent && parent->NodeInfo()->Equals(nsGkAtoms::menu,
|
||||
kNameSpaceID_XUL))
|
||||
return nullptr;
|
||||
#endif
|
||||
accessible = new XULMenupopupAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
}
|
||||
case nsIAccessibleProvider::XULMenuSeparator:
|
||||
accessible = new XULMenuSeparatorAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULPane:
|
||||
accessible = new EnumRoleAccessible(aContent, aDoc, roles::PANE);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULProgressMeter:
|
||||
accessible = new XULProgressMeterAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULStatusBar:
|
||||
accessible = new XULStatusBarAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULScale:
|
||||
accessible = new XULSliderAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULRadioButton:
|
||||
accessible = new XULRadioButtonAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULRadioGroup:
|
||||
accessible = new XULRadioGroupAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULTab:
|
||||
accessible = new XULTabAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULTabs:
|
||||
accessible = new XULTabsAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULText:
|
||||
accessible = new XULLabelAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULTextBox:
|
||||
accessible = new XULTextFieldAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULThumb:
|
||||
accessible = new XULThumbAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULTree:
|
||||
return CreateAccessibleForXULTree(aContent, aDoc);
|
||||
|
||||
case nsIAccessibleProvider::XULTreeColumns:
|
||||
accessible = new XULTreeColumAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULTreeColumnItem:
|
||||
accessible = new XULColumnItemAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULToolbar:
|
||||
accessible = new XULToolbarAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULToolbarSeparator:
|
||||
accessible = new XULToolbarSeparatorAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULTooltip:
|
||||
accessible = new XULTooltipAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
case nsIAccessibleProvider::XULToolbarButton:
|
||||
accessible = new XULToolbarButtonAccessible(aContent, aDoc);
|
||||
break;
|
||||
|
||||
#endif // MOZ_XUL
|
||||
|
||||
default:
|
||||
} else if (role.EqualsLiteral("xul:listcell")) {
|
||||
// Only create cells if there's more than one per row.
|
||||
nsIContent* listItem = aContent->GetParent();
|
||||
if (!listItem)
|
||||
return nullptr;
|
||||
|
||||
for (nsIContent* child = listItem->GetFirstChild(); child;
|
||||
child = child->GetNextSibling()) {
|
||||
if (child->IsXUL(nsGkAtoms::listcell) && child != aContent) {
|
||||
accessible = new XULListCellAccessibleWrap(aContent, aDoc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} else if (role.EqualsLiteral("xul:listhead")) {
|
||||
accessible = new XULColumAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:listheader")) {
|
||||
accessible = new XULColumnItemAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:listitem")) {
|
||||
accessible = new XULListitemAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:menubar")) {
|
||||
accessible = new XULMenubarAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:menulist")) {
|
||||
if (aContent->AttrValueIs(kNameSpaceID_None, nsGkAtoms::droppable,
|
||||
nsGkAtoms::_false, eCaseMatters))
|
||||
accessible = new XULTextFieldAccessible(aContent, aDoc);
|
||||
else
|
||||
accessible = new XULComboboxAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:menuitem")) {
|
||||
accessible = new XULMenuitemAccessibleWrap(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:menupopup")) {
|
||||
#ifdef MOZ_ACCESSIBILITY_ATK
|
||||
// ATK considers this node to be redundant when within menubars, and it makes menu
|
||||
// navigation with assistive technologies more difficult
|
||||
// XXX In the future we will should this for consistency across the nsIAccessible
|
||||
// implementations on each platform for a consistent scripting environment, but
|
||||
// then strip out redundant accessibles in the AccessibleWrap class for each platform.
|
||||
nsIContent *parent = aContent->GetParent();
|
||||
if (parent && parent->IsXUL() && parent->Tag() == nsGkAtoms::menu)
|
||||
return nullptr;
|
||||
#endif
|
||||
|
||||
accessible = new XULMenupopupAccessible(aContent, aDoc);
|
||||
|
||||
} else if(role.EqualsLiteral("xul:menuseparator")) {
|
||||
accessible = new XULMenuSeparatorAccessible(aContent, aDoc);
|
||||
|
||||
} else if(role.EqualsLiteral("xul:pane")) {
|
||||
accessible = new EnumRoleAccessible(aContent, aDoc, roles::PANE);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:panel")) {
|
||||
if (aContent->AttrValueIs(kNameSpaceID_None, nsGkAtoms::noautofocus,
|
||||
nsGkAtoms::_true, eCaseMatters))
|
||||
accessible = new XULAlertAccessible(aContent, aDoc);
|
||||
else
|
||||
accessible = new EnumRoleAccessible(aContent, aDoc, roles::PANE);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:progressmeter")) {
|
||||
accessible = new XULProgressMeterAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xulstatusbar")) {
|
||||
accessible = new XULStatusBarAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:scale")) {
|
||||
accessible = new XULSliderAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:radiobutton")) {
|
||||
accessible = new XULRadioButtonAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:radiogroup")) {
|
||||
accessible = new XULRadioGroupAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:tab")) {
|
||||
accessible = new XULTabAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:tabs")) {
|
||||
accessible = new XULTabsAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:text")) {
|
||||
accessible = new XULLabelAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:textbox")) {
|
||||
accessible = new XULTextFieldAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:thumb")) {
|
||||
accessible = new XULThumbAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:tree")) {
|
||||
accessible = CreateAccessibleForXULTree(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:treecolumns")) {
|
||||
accessible = new XULTreeColumAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:treecolumnitem")) {
|
||||
accessible = new XULColumnItemAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:toolbar")) {
|
||||
accessible = new XULToolbarAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:toolbarseparator")) {
|
||||
accessible = new XULToolbarSeparatorAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:tooltip")) {
|
||||
accessible = new XULTooltipAccessible(aContent, aDoc);
|
||||
|
||||
} else if (role.EqualsLiteral("xul:toolbarbutton")) {
|
||||
accessible = new XULToolbarButtonAccessible(aContent, aDoc);
|
||||
|
||||
}
|
||||
#endif // MOZ_XUL
|
||||
|
||||
return accessible.forget();
|
||||
}
|
||||
|
@ -10,20 +10,11 @@
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<!-- based on preferences.xml paneButton -->
|
||||
<binding id="viewbutton" extends="chrome://global/content/bindings/radio.xml#radio">
|
||||
<binding id="viewbutton" extends="chrome://global/content/bindings/radio.xml#radio" role="xullistitem">
|
||||
<content>
|
||||
<xul:image class="viewButtonIcon" xbl:inherits="src"/>
|
||||
<xul:label class="viewButtonLabel" xbl:inherits="value=label"/>
|
||||
</content>
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULListitem;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
</bindings>
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
<binding id="local-browser" extends="chrome://global/content/bindings/browser.xml#browser">
|
||||
<implementation type="application/javascript"
|
||||
implements="nsIAccessibleProvider, nsIObserver, nsIDOMEventListener, nsIMessageListener">
|
||||
implements="nsIObserver, nsIDOMEventListener, nsIMessageListener">
|
||||
|
||||
<constructor>
|
||||
<![CDATA[
|
||||
@ -782,15 +782,7 @@
|
||||
</binding>
|
||||
|
||||
<binding id="remote-browser" extends="#local-browser">
|
||||
<implementation type="application/javascript" implements="nsIAccessibleProvider, nsIObserver, nsIDOMEventListener, nsIMessageListener">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
throw "accessibleType: Supports Remote?";
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation type="application/javascript" implements="nsIObserver, nsIDOMEventListener, nsIMessageListener">
|
||||
<property name="autoscrollEnabled">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
|
@ -296,6 +296,11 @@ public:
|
||||
return IsInNamespace(kNameSpaceID_XUL);
|
||||
}
|
||||
|
||||
inline bool IsXUL(nsIAtom* aTag) const
|
||||
{
|
||||
return mNodeInfo->Equals(aTag, kNameSpaceID_XUL);
|
||||
}
|
||||
|
||||
inline bool IsMathML() const
|
||||
{
|
||||
return IsInNamespace(kNameSpaceID_MathML);
|
||||
|
@ -57,11 +57,11 @@ public:
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(nsXBLBinding)
|
||||
|
||||
nsXBLPrototypeBinding* PrototypeBinding() { return mPrototypeBinding; }
|
||||
nsXBLPrototypeBinding* PrototypeBinding() const { return mPrototypeBinding; }
|
||||
nsIContent* GetAnonymousContent() { return mContent.get(); }
|
||||
nsXBLBinding* GetBindingWithContent();
|
||||
|
||||
nsXBLBinding* GetBaseBinding() { return mNextBinding; }
|
||||
nsXBLBinding* GetBaseBinding() const { return mNextBinding; }
|
||||
void SetBaseBinding(nsXBLBinding *aBinding);
|
||||
|
||||
nsIContent* GetBoundElement() { return mBoundElement; }
|
||||
|
@ -201,13 +201,6 @@ nsXBLPrototypeBinding::SetBasePrototype(nsXBLPrototypeBinding* aBinding)
|
||||
mBaseBinding = aBinding;
|
||||
}
|
||||
|
||||
already_AddRefed<nsIContent>
|
||||
nsXBLPrototypeBinding::GetBindingElement()
|
||||
{
|
||||
nsCOMPtr<nsIContent> result = mBinding;
|
||||
return result.forget();
|
||||
}
|
||||
|
||||
void
|
||||
nsXBLPrototypeBinding::SetBindingElement(nsIContent* aElement)
|
||||
{
|
||||
|
@ -36,7 +36,7 @@ class nsCSSStyleSheet;
|
||||
class nsXBLPrototypeBinding
|
||||
{
|
||||
public:
|
||||
already_AddRefed<nsIContent> GetBindingElement();
|
||||
nsIContent* GetBindingElement() const { return mBinding; }
|
||||
void SetBindingElement(nsIContent* aElement);
|
||||
|
||||
nsIURI* BindingURI() const { return mBindingURI; }
|
||||
|
@ -776,7 +776,7 @@ nsXBLService::GetBinding(nsIContent* aBoundElement, nsIURI* aURI,
|
||||
|
||||
nsRefPtr<nsXBLBinding> baseBinding;
|
||||
if (baseBindingURI) {
|
||||
nsCOMPtr<nsIContent> child = protoBinding->GetBindingElement();
|
||||
nsIContent* child = protoBinding->GetBindingElement();
|
||||
rv = GetBinding(aBoundElement, baseBindingURI, aPeekOnly,
|
||||
child->NodePrincipal(), aIsReady,
|
||||
getter_AddRefs(baseBinding), aDontExtendURIs);
|
||||
|
@ -16,7 +16,7 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="autocomplete"
|
||||
<binding id="autocomplete" role="xul:combobox"
|
||||
extends="chrome://global/content/bindings/textbox.xml#textbox">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/autocomplete.css"/>
|
||||
@ -46,7 +46,7 @@
|
||||
<children includes="toolbarbutton"/>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider, nsIAutoCompleteInput, nsIDOMXULMenuListElement">
|
||||
<implementation implements="nsIAutoCompleteInput, nsIDOMXULMenuListElement">
|
||||
<field name="mController">null</field>
|
||||
<field name="mSearchNames">null</field>
|
||||
<field name="mIgnoreInput">false</field>
|
||||
@ -74,17 +74,6 @@
|
||||
this.inputField.controllers.removeController(this._pasteController);
|
||||
]]></destructor>
|
||||
|
||||
<!-- =================== nsIAccessibleProvider =================== -->
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
// Will be exposed as nsIAccessible::ROLE_AUTOCOMPLETE
|
||||
return Components.interfaces.nsIAccessibleProvider.XULCombobox;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<!-- =================== nsIAutoCompleteInput =================== -->
|
||||
|
||||
<field name="popup"><![CDATA[
|
||||
@ -816,12 +805,9 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="autocomplete-base-popup" extends="chrome://global/content/bindings/popup.xml#popup">
|
||||
<binding id="autocomplete-base-popup" role="none"
|
||||
extends="chrome://global/content/bindings/popup.xml#popup">
|
||||
<implementation implements="nsIAutoCompletePopup">
|
||||
<!-- nsIAccessible from #popup -->
|
||||
<property name="accessibleType" readonly="true"
|
||||
onget="return Components.interfaces.nsIAccessibleProvider.NoAccessible;"/>
|
||||
|
||||
<field name="mInput">null</field>
|
||||
<field name="mPopupOpen">false</field>
|
||||
|
||||
|
@ -13,19 +13,11 @@
|
||||
xmlns="http://www.mozilla.org/xbl"
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<binding id="browser" extends="xul:browser">
|
||||
<binding id="browser" extends="xul:browser" role="outerdoc">
|
||||
<content clickthrough="never">
|
||||
<children/>
|
||||
</content>
|
||||
<implementation type="application/javascript" implements="nsIAccessibleProvider, nsIObserver, nsIDOMEventListener, nsIFrameRequestCallback">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation type="application/javascript" implements="nsIObserver, nsIDOMEventListener, nsIFrameRequestCallback">
|
||||
<property name="autoscrollEnabled">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
|
@ -9,16 +9,8 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="button-base" extends="chrome://global/content/bindings/general.xml#basetext">
|
||||
<implementation implements="nsIDOMXULButtonElement, nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULButton;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<binding id="button-base" extends="chrome://global/content/bindings/general.xml#basetext" role="xul:button">
|
||||
<implementation implements="nsIDOMXULButtonElement">
|
||||
<property name="type"
|
||||
onget="return this.getAttribute('type');"
|
||||
onset="this.setAttribute('type', val); return val;"/>
|
||||
|
@ -15,7 +15,8 @@
|
||||
</resources>
|
||||
</binding>
|
||||
|
||||
<binding id="checkbox-baseline" extends="chrome://global/content/bindings/general.xml#basetext">
|
||||
<binding id="checkbox-baseline" role="xul:checkbox"
|
||||
extends="chrome://global/content/bindings/general.xml#basetext">
|
||||
<content>
|
||||
<xul:image class="checkbox-check" xbl:inherits="checked,disabled"/>
|
||||
<xul:hbox class="checkbox-label-box" flex="1">
|
||||
@ -24,15 +25,7 @@
|
||||
</xul:hbox>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIDOMXULCheckboxElement, nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULCheckbox;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation implements="nsIDOMXULCheckboxElement">
|
||||
<method name="setChecked">
|
||||
<parameter name="aValue"/>
|
||||
<body>
|
||||
|
@ -413,7 +413,7 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="colorpicker-button" display="xul:menu"
|
||||
<binding id="colorpicker-button" display="xul:menu" role="xul:colorpicker"
|
||||
extends="chrome://global/content/bindings/general.xml#basecontrol">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/colorpicker.css"/>
|
||||
@ -432,15 +432,7 @@
|
||||
</xul:panel>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULColorPicker;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation>
|
||||
<property name="open"
|
||||
onget="return this.getAttribute('open') == 'true'"
|
||||
onset="this.showPopup();"/>
|
||||
@ -549,16 +541,7 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="colorpickertile">
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULColorPickerTile;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
<binding id="colorpickertile" role="xul:colorpickertile">
|
||||
</binding>
|
||||
|
||||
</bindings>
|
||||
|
@ -9,8 +9,8 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="editor">
|
||||
<implementation type="application/javascript" implements="nsIAccessibleProvider">
|
||||
<binding id="editor" role="outerdoc">
|
||||
<implementation type="application/javascript">
|
||||
<constructor>
|
||||
<![CDATA[
|
||||
// Make window editable immediately only
|
||||
@ -23,14 +23,6 @@
|
||||
</constructor>
|
||||
<destructor/>
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<field name="_editorContentListener">
|
||||
<![CDATA[
|
||||
({
|
||||
|
@ -83,15 +83,8 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="iframe">
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
<binding id="iframe" role="outerdoc">
|
||||
<implementation>
|
||||
<property name="docShell"
|
||||
readonly="true"
|
||||
onget="return this.boxObject.QueryInterface(Components.interfaces.nsIContainerBoxObject).docShell"/>
|
||||
@ -134,23 +127,13 @@
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="statusbar">
|
||||
<binding id="statusbar" role="xul:statusbar">
|
||||
<content>
|
||||
<children/>
|
||||
<xul:statusbarpanel class="statusbar-resizerpanel">
|
||||
<xul:resizer dir="bottomend"/>
|
||||
</xul:statusbarpanel>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULStatusBar;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="statusbar-drag"
|
||||
@ -171,56 +154,26 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="statusbarpanel-iconic" display="xul:button"
|
||||
<binding id="statusbarpanel-iconic" display="xul:button" role="xul:button"
|
||||
extends="chrome://global/content/bindings/general.xml#statusbarpanel">
|
||||
<content>
|
||||
<xul:image class="statusbarpanel-icon" xbl:inherits="src,src=image"/>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULButton;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="statusbarpanel-iconic-text" display="xul:button"
|
||||
<binding id="statusbarpanel-iconic-text" display="xul:button" role="xul:button"
|
||||
extends="chrome://global/content/bindings/general.xml#statusbarpanel">
|
||||
<content>
|
||||
<xul:image class="statusbarpanel-icon" xbl:inherits="src,src=image"/>
|
||||
<xul:label class="statusbarpanel-text" xbl:inherits="value=label,crop"/>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULButton;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="image">
|
||||
<implementation implements="nsIDOMXULImageElement, nsIAccessibleProvider">
|
||||
<binding id="image" role="xul:image">
|
||||
<implementation implements="nsIDOMXULImageElement">
|
||||
<property name="src"
|
||||
onget="return this.getAttribute('src');"
|
||||
onset="this.setAttribute('src',val); return val;"/>
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
// Expose XUL images with an onclick as a toolbarbutton
|
||||
return this.hasAttribute("onclick") ?
|
||||
Components.interfaces.nsIAccessibleProvider.XULToolbarButton :
|
||||
Components.interfaces.nsIAccessibleProvider.XULImage;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
@ -261,7 +214,7 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="dropmarker" extends="xul:button">
|
||||
<binding id="dropmarker" extends="xul:button" role="xul:dropmarker">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/dropmarker.css"/>
|
||||
</resources>
|
||||
@ -269,16 +222,6 @@
|
||||
<content>
|
||||
<xul:image class="dropmarker-icon"/>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULDropmarker;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="windowdragbox">
|
||||
|
@ -15,7 +15,8 @@
|
||||
</resources>
|
||||
</binding>
|
||||
|
||||
<binding id="groupbox" extends="chrome://global/content/bindings/groupbox.xml#groupbox-base">
|
||||
<binding id="groupbox" role="xul:groupbox"
|
||||
extends="chrome://global/content/bindings/groupbox.xml#groupbox-base">
|
||||
<content>
|
||||
<xul:hbox class="groupbox-title" align="center" pack="start">
|
||||
<children includes="caption"/>
|
||||
@ -24,16 +25,6 @@
|
||||
<children/>
|
||||
</xul:box>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULGroupbox;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="caption" extends="chrome://global/content/bindings/general.xml#basetext">
|
||||
|
@ -72,20 +72,13 @@
|
||||
/** Fire "select" event */
|
||||
_fireOnSelect()
|
||||
-->
|
||||
<binding id="listbox-base"
|
||||
<binding id="listbox-base" role="xul:listbox"
|
||||
extends="chrome://global/content/bindings/general.xml#basecontrol">
|
||||
|
||||
<implementation implements="nsIDOMXULMultiSelectControlElement, nsIAccessibleProvider">
|
||||
<implementation implements="nsIDOMXULMultiSelectControlElement">
|
||||
<field name="_lastKeyTime">0</field>
|
||||
<field name="_incrementalString">""</field>
|
||||
|
||||
<!-- nsIAccessibleProvider -->
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULListbox;
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<!-- nsIDOMXULSelectControlElement -->
|
||||
<property name="selectedItem"
|
||||
onset="this.selectItem(val);">
|
||||
@ -900,7 +893,7 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="listitem"
|
||||
<binding id="listitem" role="xul:listitem"
|
||||
extends="chrome://global/content/bindings/general.xml#basetext">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/listbox.css"/>
|
||||
@ -912,7 +905,7 @@
|
||||
</children>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement, nsIAccessibleProvider">
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement">
|
||||
<property name="current" onget="return this.getAttribute('current') == 'true';">
|
||||
<setter><![CDATA[
|
||||
if (val)
|
||||
@ -926,16 +919,6 @@
|
||||
]]></setter>
|
||||
</property>
|
||||
|
||||
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULListitem;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<!-- ///////////////// nsIDOMXULSelectControlItemElement ///////////////// -->
|
||||
|
||||
<property name="value" onget="return this.getAttribute('value');"
|
||||
@ -1087,7 +1070,7 @@
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="listcell"
|
||||
<binding id="listcell" role="xul:listcell"
|
||||
extends="chrome://global/content/bindings/general.xml#basecontrol">
|
||||
|
||||
<resources>
|
||||
@ -1099,38 +1082,6 @@
|
||||
<xul:label class="listcell-label" xbl:inherits="value=label,flex=flexlabel,crop,disabled" flex="1" crop="right"/>
|
||||
</children>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
// Don't expose xul:listcell as cell accessible until listbox is
|
||||
// multicolumn.
|
||||
const Ci = Components.interfaces;
|
||||
const kNoAccessible = Ci.nsIAccessibleProvider.NoAccessible;
|
||||
const kListCellAccessible = Ci.nsIAccessibleProvider.XULListCell;
|
||||
|
||||
var listitem = this.parentNode;
|
||||
if (!(listitem instanceof Ci.nsIDOMXULSelectControlItemElement))
|
||||
return kNoAccessible;
|
||||
|
||||
var list = listitem.control;
|
||||
if (!list)
|
||||
return kNoAccessible;
|
||||
|
||||
var listcolsElm = list.getElementsByTagName("listcols")[0];
|
||||
if (!listcolsElm)
|
||||
return kNoAccessible;
|
||||
|
||||
var listcolElms = listcolsElm.getElementsByTagName("listcol");
|
||||
if (listcolElms.length <= 1)
|
||||
return kNoAccessible;
|
||||
|
||||
return kListCellAccessible;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="listcell-iconic"
|
||||
@ -1164,7 +1115,7 @@
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="listhead">
|
||||
<binding id="listhead" role="xul:listhead">
|
||||
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/listbox.css"/>
|
||||
@ -1175,17 +1126,9 @@
|
||||
<children includes="listheader"/>
|
||||
</xul:listheaditem>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULListHead;
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="listheader" display="xul:button">
|
||||
<binding id="listheader" display="xul:button" role="xul:listheader">
|
||||
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/listbox.css"/>
|
||||
@ -1196,14 +1139,6 @@
|
||||
<xul:label class="listheader-label" xbl:inherits="value=label,crop" flex="1" crop="right"/>
|
||||
<xul:image class="listheader-sortdirection" xbl:inherits="sortDirection"/>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULListHeader;
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
</bindings>
|
||||
|
@ -9,21 +9,12 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="menuitem-base"
|
||||
<binding id="menuitem-base" role="xul:menuitem"
|
||||
extends="chrome://global/content/bindings/general.xml#control-item">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/menu.css"/>
|
||||
</resources>
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement, nsIDOMXULContainerItemElement, nsIAccessibleProvider">
|
||||
<!-- nsIAccessibleProvider -->
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULMenuitem;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement, nsIDOMXULContainerItemElement">
|
||||
<!-- nsIDOMXULSelectControlItemElement -->
|
||||
<property name="selected" readonly="true"
|
||||
onget="return this.getAttribute('selected') == 'true';"/>
|
||||
@ -273,18 +264,8 @@
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="menuseparator"
|
||||
<binding id="menuseparator" role="xul:menuseparator"
|
||||
extends="chrome://global/content/bindings/menu.xml#menuitem-base">
|
||||
<implementation>
|
||||
<!-- nsIAccessibleProvider -->
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULMenuSeparator;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
</bindings>
|
||||
|
@ -17,7 +17,7 @@
|
||||
</resources>
|
||||
</binding>
|
||||
|
||||
<binding id="menulist" display="xul:menu"
|
||||
<binding id="menulist" display="xul:menu" role="xul:menulist"
|
||||
extends="chrome://global/content/bindings/menulist.xml#menulist-base">
|
||||
<content sizetopopup="pref">
|
||||
<xul:hbox class="menulist-label-box" flex="1">
|
||||
@ -66,7 +66,7 @@
|
||||
</handler>
|
||||
</handlers>
|
||||
|
||||
<implementation implements="nsIDOMXULMenuListElement, nsIAccessibleProvider, nsIDOMEventListener">
|
||||
<implementation implements="nsIDOMXULMenuListElement, nsIDOMEventListener">
|
||||
<constructor>
|
||||
this.setInitialSelection()
|
||||
</constructor>
|
||||
@ -387,17 +387,6 @@
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
// Droppable is currently used for the Firefox bookmarks dialog only
|
||||
return (this.getAttribute("droppable") == "false") ?
|
||||
Components.interfaces.nsIAccessibleProvider.XULTextBox :
|
||||
Components.interfaces.nsIAccessibleProvider.XULCombobox;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<destructor>
|
||||
<![CDATA[
|
||||
if (this.mSelectedInternal) {
|
||||
|
@ -359,7 +359,7 @@
|
||||
|
||||
</binding>
|
||||
|
||||
<binding id="notification">
|
||||
<binding id="notification" role="xul:alert">
|
||||
<content>
|
||||
<xul:hbox class="notification-inner outset" flex="1" xbl:inherits="type">
|
||||
<xul:hbox anonid="details" align="center" flex="1"
|
||||
@ -379,15 +379,7 @@
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/notification.css"/>
|
||||
</resources>
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULAlert;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation>
|
||||
<property name="label" onset="this.setAttribute('label', val); return val;"
|
||||
onget="return this.getAttribute('label');"/>
|
||||
<property name="value" onset="this.setAttribute('value', val); return val;"
|
||||
|
@ -205,7 +205,7 @@
|
||||
|
||||
</binding>
|
||||
|
||||
<binding id="popup"
|
||||
<binding id="popup" role="xul:menupopup"
|
||||
extends="chrome://global/content/bindings/popup.xml#popup-base">
|
||||
|
||||
<content>
|
||||
@ -215,16 +215,6 @@
|
||||
</xul:arrowscrollbox>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULMenupopup;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
|
||||
<handlers>
|
||||
<handler event="popupshowing" phase="target">
|
||||
<![CDATA[
|
||||
@ -247,20 +237,9 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="panel"
|
||||
<binding id="panel" role="xul:panel"
|
||||
extends="chrome://global/content/bindings/popup.xml#popup-base">
|
||||
<!-- This separate binding for dialog-like panels - not menu, list or autocomplete popups
|
||||
exposes the popup as an alert or a pane, depending on whether it is always intended
|
||||
to get keyboard navigation when it opens -->
|
||||
<implementation implements="nsIDOMXULPopupElement, nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return (this.getAttribute("noautofocus") == "true") ?
|
||||
Components.interfaces.nsIAccessibleProvider.XULAlert :
|
||||
Components.interfaces.nsIAccessibleProvider.XULPane;
|
||||
]]></getter>
|
||||
</property>
|
||||
<implementation implements="nsIDOMXULPopupElement">
|
||||
<field name="_prevFocus">0</field>
|
||||
<field name="_dragBindingAlive">true</field>
|
||||
<constructor>
|
||||
@ -487,20 +466,15 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="tooltip" extends="chrome://global/content/bindings/popup.xml#popup-base">
|
||||
<binding id="tooltip" role="xul:tooltip"
|
||||
extends="chrome://global/content/bindings/popup.xml#popup-base">
|
||||
<content>
|
||||
<children>
|
||||
<xul:label class="tooltip-label" xbl:inherits="xbl:text=label" flex="1"/>
|
||||
</children>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULTooltip;
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation>
|
||||
<field name="_mouseOutCount">0</field>
|
||||
<field name="_isMouseOver">false</field>
|
||||
|
||||
|
@ -1292,7 +1292,8 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="panebutton" extends="chrome://global/content/bindings/radio.xml#radio">
|
||||
<binding id="panebutton" role="xul:listitem"
|
||||
extends="chrome://global/content/bindings/radio.xml#radio">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/preferences.css"/>
|
||||
</resources>
|
||||
@ -1300,15 +1301,6 @@
|
||||
<xul:image class="paneButtonIcon" xbl:inherits="src"/>
|
||||
<xul:label class="paneButtonLabel" xbl:inherits="value=label"/>
|
||||
</content>
|
||||
<implementation implements="nsIAccessible">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULListitem;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
</bindings>
|
||||
|
@ -9,7 +9,7 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="progressmeter">
|
||||
<binding id="progressmeter" role="xul:progressmeter">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/progressmeter.css"/>
|
||||
</resources>
|
||||
@ -19,7 +19,7 @@
|
||||
<xul:spacer class="progress-remainder" xbl:inherits="mode"/>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<implementation>
|
||||
<property name="mode" onset="if (this.mode != val) this.setAttribute('mode', val); return val;"
|
||||
onget="return this.getAttribute('mode');"/>
|
||||
|
||||
@ -53,14 +53,6 @@
|
||||
onset="this.setAttribute('max', isNaN(val) ? 100 : Math.max(val, 1));
|
||||
this.value = this.value;
|
||||
return val;" />
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULProgressMeter;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
|
@ -9,12 +9,13 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="radiogroup" extends="chrome://global/content/bindings/general.xml#basecontrol">
|
||||
<binding id="radiogroup" role="xul:radiogroup"
|
||||
extends="chrome://global/content/bindings/general.xml#basecontrol">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/radio.css"/>
|
||||
</resources>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlElement, nsIAccessibleProvider">
|
||||
<implementation implements="nsIDOMXULSelectControlElement">
|
||||
<constructor>
|
||||
<![CDATA[
|
||||
if (this.getAttribute("disabled") == "true")
|
||||
@ -37,14 +38,6 @@
|
||||
]]>
|
||||
</constructor>
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULRadioGroup;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<property name="value" onget="return this.getAttribute('value');">
|
||||
<setter>
|
||||
<![CDATA[
|
||||
@ -431,7 +424,8 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="radio" extends="chrome://global/content/bindings/general.xml#control-item">
|
||||
<binding id="radio" role="xul:radiobutton"
|
||||
extends="chrome://global/content/bindings/general.xml#control-item">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/radio.css"/>
|
||||
</resources>
|
||||
@ -444,7 +438,7 @@
|
||||
</xul:hbox>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement, nsIAccessibleProvider">
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement">
|
||||
<constructor>
|
||||
<![CDATA[
|
||||
// Just clear out the parent's cached list of radio children
|
||||
@ -469,13 +463,6 @@
|
||||
}
|
||||
]]>
|
||||
</destructor>
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULRadioButton;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
<property name="selected" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
<binding id="remote-browser" extends="chrome://global/content/bindings/browser.xml#browser">
|
||||
|
||||
<implementation type="application/javascript" implements="nsIAccessibleProvider, nsIObserver, nsIDOMEventListener, nsIMessageListener, nsIMessageListener">
|
||||
<implementation type="application/javascript" implements="nsIObserver, nsIDOMEventListener, nsIMessageListener, nsIMessageListener">
|
||||
|
||||
<field name="_securityUI">null</field>
|
||||
|
||||
|
@ -9,18 +9,10 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="scalethumb" extends="xul:button">
|
||||
<binding id="scalethumb" extends="xul:button" role="xul:thumb">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/scale.css"/>
|
||||
</resources>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULThumb;
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="scaleslider" display="xul:slider"
|
||||
@ -30,7 +22,7 @@
|
||||
</resources>
|
||||
</binding>
|
||||
|
||||
<binding id="scale"
|
||||
<binding id="scale" role="xul:scale"
|
||||
extends="chrome://global/content/bindings/general.xml#basecontrol">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/scale.css"/>
|
||||
@ -43,13 +35,7 @@
|
||||
</xul:slider>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider, nsISliderListener">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULScale;
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation implements="nsISliderListener">
|
||||
<property name="value" onget="return this._getIntegerAttribute('curpos', 0);"
|
||||
onset="return this._setIntegerAttribute('curpos', val);"/>
|
||||
<property name="min" onget="return this._getIntegerAttribute('minpos', 0);"
|
||||
|
@ -227,7 +227,7 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="tabs"
|
||||
<binding id="tabs" role="xul:tabs"
|
||||
extends="chrome://global/content/bindings/general.xml#basecontrol">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/tabbox.css"/>
|
||||
@ -239,7 +239,7 @@
|
||||
<xul:spacer class="tabs-right" flex="1"/>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlElement, nsIDOMXULRelatedElement, nsIAccessibleProvider">
|
||||
<implementation implements="nsIDOMXULSelectControlElement, nsIDOMXULRelatedElement">
|
||||
<constructor>
|
||||
<![CDATA[
|
||||
// first and last tabs need to be able to have unique styles
|
||||
@ -275,15 +275,6 @@
|
||||
]]>
|
||||
</constructor>
|
||||
|
||||
<!-- nsIAccessibleProvider -->
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULTabs;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<!-- nsIDOMXULRelatedElement -->
|
||||
<method name="getRelatedElement">
|
||||
<parameter name="aTabElm"/>
|
||||
@ -593,19 +584,9 @@
|
||||
#endif
|
||||
</binding>
|
||||
|
||||
<binding id="tabpanels"
|
||||
<binding id="tabpanels" role="xul:tabpanels"
|
||||
extends="chrome://global/content/bindings/tabbox.xml#tab-base">
|
||||
<implementation implements="nsIAccessibleProvider, nsIDOMXULRelatedElement">
|
||||
|
||||
<!-- nsIAccessibleProvider -->
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULTabpanels;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation implements="nsIDOMXULRelatedElement">
|
||||
<!-- nsIDOMXULRelatedElement -->
|
||||
<method name="getRelatedElement">
|
||||
<parameter name="aTabPanelElm"/>
|
||||
@ -703,7 +684,7 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="tab" display="xul:button"
|
||||
<binding id="tab" display="xul:button" role="xul:tab"
|
||||
extends="chrome://global/content/bindings/general.xml#control-item">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/tabbox.css"/>
|
||||
@ -721,15 +702,7 @@
|
||||
</xul:hbox>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement, nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULTab;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement">
|
||||
<property name="control" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
|
@ -10,15 +10,8 @@
|
||||
xmlns:html="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<!-- bound to <description>s -->
|
||||
<binding id="text-base">
|
||||
<implementation implements="nsIDOMXULDescriptionElement, nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULText;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
<binding id="text-base" role="xul:text">
|
||||
<implementation implements="nsIDOMXULDescriptionElement">
|
||||
<property name="disabled" onset="if (val) this.setAttribute('disabled', 'true');
|
||||
else this.removeAttribute('disabled');
|
||||
return val;"
|
||||
@ -286,15 +279,8 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="text-link" extends="chrome://global/content/bindings/text.xml#text-label">
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULLink;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
<binding id="text-link" extends="chrome://global/content/bindings/text.xml#text-label" role="xul:link">
|
||||
<implementation>
|
||||
<property name="href" onget="return this.getAttribute('href');"
|
||||
onset="this.setAttribute('href', val); return val;" />
|
||||
<method name="open">
|
||||
|
@ -15,7 +15,7 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="textbox" extends="xul:box">
|
||||
<binding id="textbox" extends="xul:box" role="xul:textbox">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/content/textbox.css"/>
|
||||
<stylesheet src="chrome://global/skin/textbox.css"/>
|
||||
@ -29,15 +29,7 @@
|
||||
</xul:hbox>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider, nsIDOMXULTextBoxElement, nsIDOMXULLabeledControlElement">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULTextBox;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation implements="nsIDOMXULTextBoxElement, nsIDOMXULLabeledControlElement">
|
||||
<!-- nsIDOMXULLabeledControlElement -->
|
||||
<field name="crop">""</field>
|
||||
<field name="image">""</field>
|
||||
|
@ -93,14 +93,9 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="toolbar" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base">
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULToolbar;
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<binding id="toolbar" role="xul:toolbar"
|
||||
extends="chrome://global/content/bindings/toolbar.xml#toolbar-base">
|
||||
<implementation>
|
||||
<property name="toolbarName"
|
||||
onget="return this.getAttribute('toolbarname');"
|
||||
onset="this.setAttribute('toolbarname', val); return val;"/>
|
||||
@ -516,15 +511,9 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="menubar" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base" display="xul:menubar">
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULMenubar;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
<binding id="menubar" role="xul:menubar"
|
||||
extends="chrome://global/content/bindings/toolbar.xml#toolbar-base" display="xul:menubar">
|
||||
<implementation>
|
||||
<field name="_active">false</field>
|
||||
<field name="_statusbar">null</field>
|
||||
<field name="_originalStatusText">null</field>
|
||||
@ -567,14 +556,7 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="toolbardecoration" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base">
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULToolbarSeparator;
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
<binding id="toolbardecoration" role="xul:toolbarseparator" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base">
|
||||
</binding>
|
||||
|
||||
<binding id="toolbarpaletteitem" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base" display="xul:button">
|
||||
|
@ -9,7 +9,7 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="toolbarbutton" display="xul:button"
|
||||
<binding id="toolbarbutton" display="xul:button" role="xul:toolbarbutton"
|
||||
extends="chrome://global/content/bindings/button.xml#button-base">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/toolbarbutton.css"/>
|
||||
@ -21,14 +21,6 @@
|
||||
<xul:label class="toolbarbutton-text" crop="right" flex="1"
|
||||
xbl:inherits="value=label,accesskey,crop"/>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULToolbarButton;
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="menu" display="xul:menu"
|
||||
|
@ -33,7 +33,7 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="tree" extends="chrome://global/content/bindings/tree.xml#tree-base">
|
||||
<binding id="tree" extends="chrome://global/content/bindings/tree.xml#tree-base" role="xul:tree">
|
||||
<content hidevscroll="true" hidehscroll="true" clickthrough="never">
|
||||
<children includes="treecols"/>
|
||||
<xul:stack class="tree-stack" flex="1">
|
||||
@ -48,7 +48,7 @@
|
||||
</xul:hbox>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIDOMXULTreeElement, nsIDOMXULMultiSelectControlElement, nsIAccessibleProvider">
|
||||
<implementation implements="nsIDOMXULTreeElement, nsIDOMXULMultiSelectControlElement">
|
||||
|
||||
<!-- ///////////////// nsIDOMXULTreeElement ///////////////// -->
|
||||
|
||||
@ -79,16 +79,6 @@
|
||||
onget="return this.view ? this.view.selection.currentIndex: - 1;"
|
||||
onset="if (this.view) return this.view.selection.currentIndex = val; return val;"/>
|
||||
|
||||
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULTree;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<property name="treeBoxObject"
|
||||
onget="return this.boxObject.QueryInterface(Components.interfaces.nsITreeBoxObject);"
|
||||
readonly="true"/>
|
||||
@ -931,7 +921,7 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="treecols">
|
||||
<binding id="treecols" role="xul:treecolumns">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/tree.css"/>
|
||||
</resources>
|
||||
@ -941,14 +931,7 @@
|
||||
</xul:hbox>
|
||||
<xul:treecolpicker class="treecol-image" fixed="true" xbl:inherits="tooltiptext=pickertooltiptext"/>
|
||||
</content>
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULTreeColumns;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
<implementation>
|
||||
<constructor><![CDATA[
|
||||
// Set resizeafter="farthest" on the splitters if nothing else has been
|
||||
// specified.
|
||||
@ -1184,20 +1167,13 @@
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="treecol-base" extends="chrome://global/content/bindings/tree.xml#tree-base">
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<binding id="treecol-base" role="xul:treecolumnitem"
|
||||
extends="chrome://global/content/bindings/tree.xml#tree-base">
|
||||
<implementation>
|
||||
<constructor>
|
||||
this.parentNode.parentNode._columnsDirty = true;
|
||||
</constructor>
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
return Components.interfaces.nsIAccessibleProvider.XULTreeColumnItem;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<property name="ordinal">
|
||||
<getter><![CDATA[
|
||||
var val = this.getAttribute("ordinal");
|
||||
@ -1409,7 +1385,7 @@
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="columnpicker" display="xul:button"
|
||||
<binding id="columnpicker" display="xul:button" role="xul:button"
|
||||
extends="chrome://global/content/bindings/tree.xml#tree-base">
|
||||
<content>
|
||||
<xul:image class="tree-columnpicker-icon"/>
|
||||
@ -1419,13 +1395,7 @@
|
||||
</xul:menupopup>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULButton;
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<implementation>
|
||||
<method name="buildPopup">
|
||||
<parameter name="aPopup"/>
|
||||
<body>
|
||||
|
@ -10,7 +10,7 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="autocomplete"
|
||||
<binding id="autocomplete" role="xulcombobox"
|
||||
extends="chrome://global/content/bindings/textbox.xml#textbox">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/content/autocomplete.css"/>
|
||||
@ -44,7 +44,7 @@
|
||||
</xul:popupset>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIDOMXULMenuListElement, nsIAccessibleProvider">
|
||||
<implementation implements="nsIDOMXULMenuListElement">
|
||||
|
||||
<constructor><![CDATA[
|
||||
// XXX bug 90337 band-aid until we figure out what's going on here
|
||||
@ -80,17 +80,6 @@
|
||||
this.mInputElt.controllers.removeController(this.mPasteController);
|
||||
]]></destructor>
|
||||
|
||||
<!-- =================== nsIAccessibleProvider =================== -->
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
// Will be exposed as nsIAccessible::ROLE_AUTOCOMPLETE
|
||||
return Components.interfaces.nsIAccessibleProvider.XULCombobox;
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<!-- =================== nsIAutoCompleteInput =================== -->
|
||||
<!-- XXX: This implementation is currently incomplete. -->
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user