[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
eric at webkit.org
eric at webkit.org
Tue Jan 5 23:49:50 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit d18d4da3c3f350ece7972b95bc8b28e49d03b304
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Dec 15 10:18:15 2009 +0000
2009-12-15 Eric Seidel <eric at webkit.org>
No review, rolling out r52140.
http://trac.webkit.org/changeset/52140
https://bugs.webkit.org/show_bug.cgi?id=31299
The commit broke the Leopard bots and unfortunately
Chris wasn't around to fix them, so I'm rolling the change
out after 3 hours so that the bots can roll green again. :)
* platform/mac/accessibility/aria-treegrid-expected.txt: Removed.
* platform/mac/accessibility/aria-treegrid.html: Removed.
2009-12-15 Eric Seidel <eric at webkit.org>
No review, rolling out r52140.
http://trac.webkit.org/changeset/52140
https://bugs.webkit.org/show_bug.cgi?id=31299
The commit broke the Leopard bots and unfortunately
Chris wasn't around to fix them, so I'm rolling the change
out after 3 hours so that the bots can roll green again. :)
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::getOrCreate):
* accessibility/AccessibilityARIAGrid.h:
* accessibility/AccessibilityARIAGridRow.cpp:
* accessibility/AccessibilityARIAGridRow.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::createARIARoleMap):
* accessibility/AccessibilityObject.h:
(WebCore::):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isMultiSelect):
(WebCore::AccessibilityRenderObject::setIsExpanded):
(WebCore::AccessibilityRenderObject::setSelectedRows):
(WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
(WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
(WebCore::AccessibilityRenderObject::selectedChildren):
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilityTable.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52146 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 7251c52..b92c21a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,16 @@
+2009-12-15 Eric Seidel <eric at webkit.org>
+
+ No review, rolling out r52140.
+ http://trac.webkit.org/changeset/52140
+ https://bugs.webkit.org/show_bug.cgi?id=31299
+
+ The commit broke the Leopard bots and unfortunately
+ Chris wasn't around to fix them, so I'm rolling the change
+ out after 3 hours so that the bots can roll green again. :)
+
+ * platform/mac/accessibility/aria-treegrid-expected.txt: Removed.
+ * platform/mac/accessibility/aria-treegrid.html: Removed.
+
2009-12-14 Chris Fleizach <cfleizach at apple.com>
Reviewed by Darin Adler.
diff --git a/LayoutTests/platform/mac/accessibility/aria-treegrid-expected.txt b/LayoutTests/platform/mac/accessibility/aria-treegrid-expected.txt
deleted file mode 100644
index 89eb2d2..0000000
--- a/LayoutTests/platform/mac/accessibility/aria-treegrid-expected.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Book Name / ISBN Author Price ($)
-+ A Question of Love
-978-3-453-40540-0 Nora Roberts
-9.99
-This tests that the treegrid ARIA role does what it should (be exposed as a AXTable and support AXSelectedRows)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS treegrid.isAttributeSupported('AXSelectedRows') is true
-PASS treegrid.selectedRowAtIndex(0).isEqual(selectedRow) is true
-PASS selectedRow.isExpanded is false
-PASS selectedRow.hierarchicalLevel is 1
-PASS secondRow.isExpanded is true
-PASS secondRow.hierarchicalLevel is 1
-PASS thirdRow.isExpanded is true
-PASS thirdRow.hierarchicalLevel is 2
-PASS thirdRow.disclosedByRow().isEqual(secondRow) is true
-PASS secondRow.disclosedRowAtIndex(0).isEqual(thirdRow) is true
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/platform/mac/accessibility/aria-treegrid.html b/LayoutTests/platform/mac/accessibility/aria-treegrid.html
deleted file mode 100644
index 476efa3..0000000
--- a/LayoutTests/platform/mac/accessibility/aria-treegrid.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<link rel="stylesheet" href="../../../fast/js/resources/js-test-style.css">
-<script>
-var successfullyParsed = false;
-</script>
-<script src="../../../fast/js/resources/js-test-pre.js"></script>
-</head>
-<body id="body">
-
-<table tabindex=0 id="grid-1" role="treegrid" aria-labelledby="grid-1-header" border="1" aria-activedescendant="row1">
-<thead>
- <tr ca="tr" role="row" aria-level="1" id="row1">
- <th id="grid-1-isbn_id">Book Name / ISBN</th><th id="grid-1-author_id">Author</th><th id="grid-1-price_id" class="numeric" >Price ($)</th>
- </tr>
-</thead>
-<tbody>
- <tr ca="to" role="row" aria-level="1" aria-expanded="true">
- <td headers="grid-1-title_id" id="table_entry" role="gridcell" colspan="3" tabindex="0">
- <span class="expand">+</span> A Question of Love</td>
- </tr>
- <tr ca="ti" role="row" aria-level="2" aria-expanded="true">
- <td headers="grid-1-isbn_id" role="gridcell">978-3-453-40540-0</td>
- <td headers="grid-1-author_id" role="gridcell">Nora Roberts</td>
- <td headers="grid-1-price_id" class="numeric" role="gridcell" ca="te"><div>9.99</div></td>
- </tr>
-</tbody>
-</table>
-
-<p id="description"></p>
-<div id="console"></div>
-
-<script>
-
- description("This tests that the treegrid ARIA role does what it should (be exposed as a AXTable and support AXSelectedRows)");
-
- if (window.accessibilityController) {
-
- document.getElementById("grid-1").focus();
- var treegrid = accessibilityController.focusedElement;
- var selectedRow = treegrid.childAtIndex(0);
- shouldBe("treegrid.isAttributeSupported('AXSelectedRows')", "true");
- shouldBe("treegrid.selectedRowAtIndex(0).isEqual(selectedRow)", "true");
- shouldBe("selectedRow.isExpanded", "false");
- shouldBe("selectedRow.hierarchicalLevel", "1");
-
- var secondRow = treegrid.childAtIndex(1);
- shouldBe("secondRow.isExpanded", "true");
- shouldBe("secondRow.hierarchicalLevel", "1");
-
- var thirdRow = treegrid.childAtIndex(2);
- shouldBe("thirdRow.isExpanded", "true");
- shouldBe("thirdRow.hierarchicalLevel", "2");
-
- // Make sure that the row disclosure works correctly.
- shouldBe("thirdRow.disclosedByRow().isEqual(secondRow)", "true");
- shouldBe("secondRow.disclosedRowAtIndex(0).isEqual(thirdRow)", "true");
- }
-
- successfullyParsed = true;
-</script>
-
-<script src="../../../fast/js/resources/js-test-post.js"></script>
-</body>
-</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1e2e84b..79fea3a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,37 @@
+2009-12-15 Eric Seidel <eric at webkit.org>
+
+ No review, rolling out r52140.
+ http://trac.webkit.org/changeset/52140
+ https://bugs.webkit.org/show_bug.cgi?id=31299
+
+ The commit broke the Leopard bots and unfortunately
+ Chris wasn't around to fix them, so I'm rolling the change
+ out after 3 hours so that the bots can roll green again. :)
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::getOrCreate):
+ * accessibility/AccessibilityARIAGrid.h:
+ * accessibility/AccessibilityARIAGridRow.cpp:
+ * accessibility/AccessibilityARIAGridRow.h:
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::createARIARoleMap):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isMultiSelect):
+ (WebCore::AccessibilityRenderObject::setIsExpanded):
+ (WebCore::AccessibilityRenderObject::setSelectedRows):
+ (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
+ (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
+ (WebCore::AccessibilityRenderObject::selectedChildren):
+ * accessibility/AccessibilityRenderObject.h:
+ * accessibility/AccessibilityTable.h:
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+ (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
+
2009-12-14 Holger Hans Peter Freyther <zecke at selfish.org>
Reviewed by Eric Seidel.
diff --git a/WebCore/accessibility/AXObjectCache.cpp b/WebCore/accessibility/AXObjectCache.cpp
index e46fc41..6ec325a 100644
--- a/WebCore/accessibility/AXObjectCache.cpp
+++ b/WebCore/accessibility/AXObjectCache.cpp
@@ -148,7 +148,7 @@ AccessibilityObject* AXObjectCache::getOrCreate(RenderObject* renderer)
newObj = AccessibilityList::create(renderer);
// aria tables
- else if (nodeIsAriaType(node, "grid") || nodeIsAriaType(node, "treegrid"))
+ else if (nodeIsAriaType(node, "grid"))
newObj = AccessibilityARIAGrid::create(renderer);
else if (nodeIsAriaType(node, "row"))
newObj = AccessibilityARIAGridRow::create(renderer);
diff --git a/WebCore/accessibility/AccessibilityARIAGrid.h b/WebCore/accessibility/AccessibilityARIAGrid.h
index 3511f0f..32c8ce9 100644
--- a/WebCore/accessibility/AccessibilityARIAGrid.h
+++ b/WebCore/accessibility/AccessibilityARIAGrid.h
@@ -52,9 +52,6 @@ public:
virtual AccessibilityTableCell* cellForColumnAndRow(unsigned column, unsigned row);
private:
- // ARIA treegrids and grids support selected rows.
- virtual bool supportsSelectedRows() { return true; }
-
void addChild(AccessibilityObject* object, HashSet<AccessibilityObject*>& appendedRows, unsigned& columnCount);
};
diff --git a/WebCore/accessibility/AccessibilityARIAGridRow.cpp b/WebCore/accessibility/AccessibilityARIAGridRow.cpp
index 7d562d9..6e1f1c8 100644
--- a/WebCore/accessibility/AccessibilityARIAGridRow.cpp
+++ b/WebCore/accessibility/AccessibilityARIAGridRow.cpp
@@ -30,7 +30,6 @@
#include "AccessibilityARIAGridRow.h"
#include "AccessibilityObject.h"
-#include "AccessibilityTable.h"
#include "RenderObject.h"
using namespace std;
@@ -51,71 +50,6 @@ PassRefPtr<AccessibilityARIAGridRow> AccessibilityARIAGridRow::create(RenderObje
return adoptRef(new AccessibilityARIAGridRow(renderer));
}
-bool AccessibilityARIAGridRow::isARIATreeGridRow() const
-{
- AccessibilityObject* parent = parentTable();
- if (!parent)
- return false;
-
- return parent->ariaRoleAttribute() == TreeGridRole;
-}
-
-void AccessibilityARIAGridRow::disclosedRows(AccessibilityChildrenVector& disclosedRows)
-{
- // The contiguous disclosed rows will be the rows in the table that
- // have an aria-level of plus 1 from this row.
- AccessibilityObject* parent = parentObjectUnignored();
- if (!parent || !parent->isDataTable())
- return;
-
- // Search for rows that match the correct level.
- // Only take the subsequent rows from this one that are +1 from this row's level.
- int index = rowIndex();
- if (index < 0)
- return;
-
- unsigned level = hierarchicalLevel();
- AccessibilityChildrenVector& allRows = static_cast<AccessibilityTable*>(parent)->rows();
- int rowCount = allRows.size();
- for (int k = index + 1; k < rowCount; ++k) {
- AccessibilityObject* row = allRows[k].get();
- // Stop at the first row that doesn't match the correct level.
- if (row->hierarchicalLevel() != level + 1)
- break;
-
- disclosedRows.append(row);
- }
-}
-
-AccessibilityObject* AccessibilityARIAGridRow::disclosedByRow() const
-{
- // The row that discloses this one is the row in the table
- // that is aria-level subtract 1 from this row.
- AccessibilityObject* parent = parentObjectUnignored();
- if (!parent || !parent->isDataTable())
- return 0;
-
- // If the level is 1 or less, than nothing discloses this row.
- unsigned level = hierarchicalLevel();
- if (level <= 1)
- return 0;
-
- // Search for the previous row that matches the correct level.
- int index = rowIndex();
- AccessibilityChildrenVector& allRows = static_cast<AccessibilityTable*>(parent)->rows();
- int rowCount = allRows.size();
- if (index >= rowCount)
- return 0;
-
- for (int k = index - 1; k >= 0; --k) {
- AccessibilityObject* row = allRows[k].get();
- if (row->hierarchicalLevel() == level - 1)
- return row;
- }
-
- return 0;
-}
-
AccessibilityObject* AccessibilityARIAGridRow::parentTable() const
{
AccessibilityObject* parent = parentObjectUnignored();
diff --git a/WebCore/accessibility/AccessibilityARIAGridRow.h b/WebCore/accessibility/AccessibilityARIAGridRow.h
index 2b2bacf..c2ca8b8 100644
--- a/WebCore/accessibility/AccessibilityARIAGridRow.h
+++ b/WebCore/accessibility/AccessibilityARIAGridRow.h
@@ -41,10 +41,6 @@ public:
static PassRefPtr<AccessibilityARIAGridRow> create(RenderObject*);
virtual ~AccessibilityARIAGridRow();
- virtual bool isARIATreeGridRow() const;
- void disclosedRows(AccessibilityChildrenVector&);
- AccessibilityObject* disclosedByRow() const;
-
virtual AccessibilityObject* headerObject();
virtual AccessibilityObject* parentTable() const;
};
diff --git a/WebCore/accessibility/AccessibilityObject.cpp b/WebCore/accessibility/AccessibilityObject.cpp
index ce91026..585e4cb 100644
--- a/WebCore/accessibility/AccessibilityObject.cpp
+++ b/WebCore/accessibility/AccessibilityObject.cpp
@@ -912,7 +912,6 @@ static ARIARoleMap* createARIARoleMap()
{ "toolbar", ToolbarRole },
{ "tooltip", UserInterfaceTooltipRole },
{ "tree", TreeRole },
- { "treegrid", TreeGridRole },
{ "treeitem", TreeItemRole }
};
ARIARoleMap* roleMap = new ARIARoleMap;
diff --git a/WebCore/accessibility/AccessibilityObject.h b/WebCore/accessibility/AccessibilityObject.h
index 79bb5c3..8e46311 100644
--- a/WebCore/accessibility/AccessibilityObject.h
+++ b/WebCore/accessibility/AccessibilityObject.h
@@ -165,7 +165,6 @@ enum AccessibilityRole {
TabListRole,
TabPanelRole,
TreeRole,
- TreeGridRole,
TreeItemRole,
DirectoryRole,
@@ -280,7 +279,6 @@ public:
virtual bool isTableCell() const { return false; }
virtual bool isFieldset() const { return false; }
virtual bool isGroup() const { return false; }
- virtual bool isARIATreeGridRow() const { return false; }
bool isTabList() const { return roleValue() == TabListRole; }
bool isTabItem() const { return roleValue() == TabRole; }
bool isRadioGroup() const { return roleValue() == RadioGroupRole; }
diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp
index ce5761c..a235b92 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -375,16 +375,9 @@ bool AccessibilityRenderObject::isHovered() const
return m_renderer->node() && m_renderer->node()->hovered();
}
-bool AccessibilityRenderObject::isMultiSelectable() const
+bool AccessibilityRenderObject::isMultiSelect() const
{
ASSERT(m_renderer);
-
- const AtomicString& ariaMultiSelectable = getAttribute(aria_multiselectableAttr);
- if (equalIgnoringCase(ariaMultiSelectable, "true"))
- return true;
- if (equalIgnoringCase(ariaMultiSelectable, "false"))
- return false;
-
if (!m_renderer->isListBox())
return false;
return m_renderer->node() && static_cast<HTMLSelectElement*>(m_renderer->node())->multiple();
@@ -1760,18 +1753,13 @@ bool AccessibilityRenderObject::elementAttributeValue(const QualifiedName& attri
void AccessibilityRenderObject::setIsExpanded(bool isExpanded)
{
- // Combo boxes, tree items and rows can be expanded (in different ways on different platforms).
+ // Combo boxes and tree items can be expanded (in different ways on different platforms).
// That action translates into setting the aria-expanded attribute to true.
AccessibilityRole role = roleValue();
- switch (role) {
- case ComboBoxRole:
- case TreeItemRole:
- case RowRole:
- setElementAttributeValue(aria_expandedAttr, isExpanded);
- break;
- default:
- break;
- }
+ if (role != ComboBoxRole && role != TreeItemRole)
+ return;
+
+ setElementAttributeValue(aria_expandedAttr, isExpanded);
}
bool AccessibilityRenderObject::isRequired() const
@@ -1896,14 +1884,13 @@ void AccessibilityRenderObject::setSelected(bool enabled)
void AccessibilityRenderObject::setSelectedRows(AccessibilityChildrenVector& selectedRows)
{
- // Setting selected only makes sense in trees and tables (and tree-tables).
- AccessibilityRole role = roleValue();
- if (role != TreeRole && role != TreeGridRole && role != TableRole)
+ // Setting selected rows only works on trees for now.
+ if (roleValue() != TreeRole)
return;
- bool isMulti = isMultiSelectable();
+ bool isMultiselectable = elementAttributeValue(aria_multiselectableAttr);
unsigned count = selectedRows.size();
- if (count > 1 && !isMulti)
+ if (count > 1 && !isMultiselectable)
count = 1;
for (unsigned k = 0; k < count; ++k)
@@ -2873,20 +2860,20 @@ void AccessibilityRenderObject::addChildren()
}
}
-void AccessibilityRenderObject::ariaSelectedRows(AccessibilityChildrenVector& result)
+void AccessibilityRenderObject::ariaTreeSelectedRows(AccessibilityChildrenVector& result)
{
// Get all the rows.
AccessibilityChildrenVector allRows;
ariaTreeRows(allRows);
// Determine which rows are selected.
- bool isMulti = isMultiSelectable();
+ bool isMultiselectable = elementAttributeValue(aria_multiselectableAttr);
// Prefer active descendant over aria-selected.
AccessibilityObject* activeDesc = activeDescendant();
- if (activeDesc && (activeDesc->isTreeItem() || activeDesc->isTableRow())) {
+ if (activeDesc && activeDesc->isTreeItem()) {
result.append(activeDesc);
- if (!isMulti)
+ if (!isMultiselectable)
return;
}
@@ -2894,7 +2881,7 @@ void AccessibilityRenderObject::ariaSelectedRows(AccessibilityChildrenVector& re
for (unsigned k = 0; k < count; ++k) {
if (allRows[k]->isSelected()) {
result.append(allRows[k]);
- if (!isMulti)
+ if (!isMultiselectable)
break;
}
}
@@ -2908,7 +2895,7 @@ void AccessibilityRenderObject::ariaListboxSelectedChildren(AccessibilityChildre
if (!element || !element->isElementNode()) // do this check to ensure safety of static_cast above
return;
- bool isMulti = isMultiSelectable();
+ bool isMultiselectable = elementAttributeValue(aria_multiselectableAttr);
while (child) {
// every child should have aria-role option, and if so, check for selected attribute/state
@@ -2922,7 +2909,7 @@ void AccessibilityRenderObject::ariaListboxSelectedChildren(AccessibilityChildre
String selectedAttrString = childElement->getAttribute(aria_selectedAttr).string();
if (equalIgnoringCase(selectedAttrString, "true")) {
result.append(child);
- if (isMulti)
+ if (isMultiselectable)
return;
}
}
@@ -2939,8 +2926,8 @@ void AccessibilityRenderObject::selectedChildren(AccessibilityChildrenVector& re
AccessibilityRole role = roleValue();
if (role == ListBoxRole) // native list boxes would be AccessibilityListBoxes, so only check for aria list boxes
ariaListboxSelectedChildren(result);
- else if (role == TreeRole || role == TreeGridRole || role == TableRole)
- ariaSelectedRows(result);
+ else if (role == TreeRole)
+ ariaTreeSelectedRows(result);
}
void AccessibilityRenderObject::ariaListboxVisibleChildren(AccessibilityChildrenVector& result)
diff --git a/WebCore/accessibility/AccessibilityRenderObject.h b/WebCore/accessibility/AccessibilityRenderObject.h
index 85592d7..58aa557 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.h
+++ b/WebCore/accessibility/AccessibilityRenderObject.h
@@ -96,7 +96,7 @@ public:
virtual bool isHovered() const;
virtual bool isIndeterminate() const;
virtual bool isLoaded() const;
- virtual bool isMultiSelectable() const;
+ virtual bool isMultiSelect() const;
virtual bool isOffScreen() const;
virtual bool isPressed() const;
virtual bool isReadOnly() const;
@@ -280,7 +280,7 @@ private:
AccessibilityObject* accessibilityImageMapHitTest(HTMLAreaElement*, const IntPoint&) const;
AccessibilityObject* accessibilityParentForImageMap(HTMLMapElement* map) const;
- void ariaSelectedRows(AccessibilityChildrenVector&);
+ void ariaTreeSelectedRows(AccessibilityChildrenVector&);
bool elementAttributeValue(const QualifiedName&);
void setElementAttributeValue(const QualifiedName&, bool);
diff --git a/WebCore/accessibility/AccessibilityTable.h b/WebCore/accessibility/AccessibilityTable.h
index 42edf2a..b6aa3ca 100644
--- a/WebCore/accessibility/AccessibilityTable.h
+++ b/WebCore/accessibility/AccessibilityTable.h
@@ -63,7 +63,6 @@ public:
AccessibilityChildrenVector& columns();
AccessibilityChildrenVector& rows();
- virtual bool supportsSelectedRows() { return false; }
unsigned columnCount();
unsigned rowCount();
diff --git a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
index db429d9..6099b3d 100644
--- a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
+++ b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
@@ -32,7 +32,6 @@
#if HAVE(ACCESSIBILITY)
#import "AXObjectCache.h"
-#import "AccessibilityARIAGridRow.h"
#import "AccessibilityListBox.h"
#import "AccessibilityList.h"
#import "AccessibilityRenderObject.h"
@@ -600,9 +599,6 @@ static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(VisiblePositi
if (m_object->supportsARIADropping())
[additional addObject:NSAccessibilityDropEffectsAttribute];
- if (m_object->isDataTable() && static_cast<AccessibilityTable*>(m_object)->supportsSelectedRows())
- [additional addObject:NSAccessibilitySelectedRowsAttribute];
-
return additional;
}
@@ -867,6 +863,7 @@ static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(VisiblePositi
}
if (outlineRowAttrs == nil) {
tempArray = [[NSMutableArray alloc] initWithArray:tableRowAttrs];
+ [tempArray addObject:NSAccessibilityIndexAttribute];
[tempArray addObject:NSAccessibilityDisclosingAttribute];
[tempArray addObject:NSAccessibilityDisclosedByRowAttribute];
[tempArray addObject:NSAccessibilityDisclosureLevelAttribute];
@@ -891,17 +888,12 @@ static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(VisiblePositi
else if (m_object->isDataTable())
objectAttributes = tableAttrs;
+ else if (m_object->isTableRow())
+ objectAttributes = tableRowAttrs;
else if (m_object->isTableColumn())
objectAttributes = tableColAttrs;
else if (m_object->isTableCell())
objectAttributes = tableCellAttrs;
- else if (m_object->isTableRow()) {
- // An ARIA table row can be collapsed and expanded, so it needs the extra attributes.
- if (m_object->isARIATreeGridRow())
- objectAttributes = outlineRowAttrs;
- else
- objectAttributes = tableRowAttrs;
- }
else if (m_object->isTree())
objectAttributes = outlineAttrs;
@@ -1576,14 +1568,9 @@ static NSString* roleValueToNSString(AccessibilityRole value)
return convertToNSArray(static_cast<AccessibilityTable*>(m_object)->columns());
}
- if ([attributeName isEqualToString:NSAccessibilitySelectedRowsAttribute]) {
- AccessibilityObject::AccessibilityChildrenVector selectedChildrenCopy;
- m_object->selectedChildren(selectedChildrenCopy);
- return convertToNSArray(selectedChildrenCopy);
- }
-
// HTML tables don't support these
if ([attributeName isEqualToString:NSAccessibilitySelectedColumnsAttribute] ||
+ [attributeName isEqualToString:NSAccessibilitySelectedRowsAttribute] ||
[attributeName isEqualToString:NSAccessibilitySelectedCellsAttribute])
return nil;
@@ -1613,6 +1600,11 @@ static NSString* roleValueToNSString(AccessibilityRole value)
}
}
+ if (m_object->isTableRow()) {
+ if ([attributeName isEqualToString:NSAccessibilityIndexAttribute])
+ return [NSNumber numberWithInt:static_cast<AccessibilityTableRow*>(m_object)->rowIndex()];
+ }
+
if (m_object->isTableColumn()) {
if ([attributeName isEqualToString:NSAccessibilityIndexAttribute])
return [NSNumber numberWithInt:static_cast<AccessibilityTableColumn*>(m_object)->columnIndex()];
@@ -1660,8 +1652,8 @@ static NSString* roleValueToNSString(AccessibilityRole value)
return [NSArray array];
}
- if ([attributeName isEqualToString:NSAccessibilityIndexAttribute]) {
- if (m_object->isTreeItem()) {
+ if (m_object->isTreeItem()) {
+ if ([attributeName isEqualToString:NSAccessibilityIndexAttribute]) {
AccessibilityObject* parent = m_object->parentObject();
for (; parent && !parent->isTree(); parent = parent->parentObject())
{ }
@@ -1679,28 +1671,16 @@ static NSString* roleValueToNSString(AccessibilityRole value)
return nil;
}
- if (m_object->isTableRow()) {
- if ([attributeName isEqualToString:NSAccessibilityIndexAttribute])
- return [NSNumber numberWithInt:static_cast<AccessibilityTableRow*>(m_object)->rowIndex()];
- }
- }
-
- // The rows that are considered inside this row.
- if ([attributeName isEqualToString:NSAccessibilityDisclosedRowsAttribute]) {
- if (m_object->isTreeItem()) {
+
+ // The rows that are considered inside this row.
+ if ([attributeName isEqualToString:NSAccessibilityDisclosedRowsAttribute]) {
AccessibilityObject::AccessibilityChildrenVector rowsCopy;
m_object->ariaTreeItemDisclosedRows(rowsCopy);
return convertToNSArray(rowsCopy);
- } else if (m_object->isARIATreeGridRow()) {
- AccessibilityObject::AccessibilityChildrenVector rowsCopy;
- static_cast<AccessibilityARIAGridRow*>(m_object)->disclosedRows(rowsCopy);
- return convertToNSArray(rowsCopy);
}
- }
-
- // The row that contains this row. It should be the same as the first parent that is a treeitem.
- if ([attributeName isEqualToString:NSAccessibilityDisclosedByRowAttribute]) {
- if (m_object->isTreeItem()) {
+
+ // The row that contains this row. It should be the same as the first parent that is a treeitem.
+ if ([attributeName isEqualToString:NSAccessibilityDisclosedByRowAttribute]) {
AccessibilityObject* parent = m_object->parentObject();
while (parent) {
if (parent->isTreeItem())
@@ -1711,18 +1691,12 @@ static NSString* roleValueToNSString(AccessibilityRole value)
parent = parent->parentObject();
}
return nil;
- } else if (m_object->isARIATreeGridRow()) {
- AccessibilityObject* row = static_cast<AccessibilityARIAGridRow*>(m_object)->disclosedByRow();
- if (!row)
- return nil;
- return row->wrapper();
}
+ if ([attributeName isEqualToString:NSAccessibilityDisclosureLevelAttribute])
+ return [NSNumber numberWithInt:m_object->hierarchicalLevel()];
+ if ([attributeName isEqualToString:NSAccessibilityDisclosingAttribute])
+ return [NSNumber numberWithBool:m_object->isExpanded()];
}
-
- if ([attributeName isEqualToString:NSAccessibilityDisclosureLevelAttribute])
- return [NSNumber numberWithInt:m_object->hierarchicalLevel()];
- if ([attributeName isEqualToString:NSAccessibilityDisclosingAttribute])
- return [NSNumber numberWithBool:m_object->isExpanded()];
if ((m_object->isListBox() || m_object->isList()) && [attributeName isEqualToString:NSAccessibilityOrientationAttribute])
return NSAccessibilityVerticalOrientationValue;
@@ -2179,7 +2153,7 @@ static NSString* roleValueToNSString(AccessibilityRole value)
else if ([attributeName isEqualToString:NSAccessibilitySelectedRowsAttribute]) {
AccessibilityObject::AccessibilityChildrenVector selectedRows;
convertToVector(array, selectedRows);
- if (m_object->isTree() || m_object->isDataTable())
+ if (m_object->isTree())
m_object->setSelectedRows(selectedRows);
} else if ([attributeName isEqualToString:NSAccessibilityGrabbedAttribute])
m_object->setARIAGrabbed([number boolValue]);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list