[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.22-985-g3c00f00
eric at webkit.org
eric at webkit.org
Wed Mar 17 18:28:25 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit e20bbe96a9249a4a4b249736538c7d8f2dcd0abc
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Mar 8 21:06:08 2010 +0000
2010-03-08 Joanmarie Diggs <joanmarie.diggs at gmail.com>
Reviewed by Xan Lopez.
https://bugs.webkit.org/show_bug.cgi?id=30895
[Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
* platform/gtk/accessibility/table-hierarchy.html:
* platform/gtk/accessibility/table-hierarchy-expected.txt:
2010-03-08 Joanmarie Diggs <joanmarie.diggs at gmail.com>
Reviewed by Xan Lopez.
https://bugs.webkit.org/show_bug.cgi?id=30895
[Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
Gives platforms the ability to exclude parts of an AccessibilityTable
from the accessible hierarchy.
* accessibility/gtk/AccessibilityObjectAtk.cpp:
(AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/AccessibilityRenderObject.cpp:
(AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/AccessibilityTable.cpp:
(AccessibilityTable::addChildren):
* accessibility/AccessibilityTableColumn.h:
(accessibilityIsIgnored):
* accessibility/AccessibilityTableHeaderContainer.h:
(accessibilityIsIgnored):
* accessibility/AccessibilityTableRow.cpp:
(accessibilityIsIgnored):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index ea09140..70369a7 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-03-08 Joanmarie Diggs <joanmarie.diggs at gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30895
+ [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
+
+ * platform/gtk/accessibility/table-hierarchy.html:
+ * platform/gtk/accessibility/table-hierarchy-expected.txt:
+
2010-03-08 Adam Barth <abarth at webkit.org>
Reviewed by Nate Chapin.
diff --git a/LayoutTests/platform/gtk/accessibility/table-hierarchy-expected.txt b/LayoutTests/platform/gtk/accessibility/table-hierarchy-expected.txt
index b3c7597..a48d28f 100644
--- a/LayoutTests/platform/gtk/accessibility/table-hierarchy-expected.txt
+++ b/LayoutTests/platform/gtk/accessibility/table-hierarchy-expected.txt
@@ -3,6 +3,15 @@ Odd Even
1 2
3 4
hello world
+Odd Even
+1
+
+2
+
+3
+
+4
+
This tests the Atk table hierarhy.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
@@ -11,6 +20,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS table1.role is 'table'
PASS table2.role is 'table'
PASS table3.role is 'table'
+PASS table4.role is 'table'
PASS children is 2
PASS table1.childAtIndex(i).role is 'table cell'
PASS table1.childAtIndex(i).role is 'table cell'
@@ -24,6 +34,13 @@ PASS table2.childAtIndex(i).role is 'table cell'
PASS children is 2
PASS table3.childAtIndex(i).role is 'table cell'
PASS table3.childAtIndex(i).role is 'table cell'
+PASS children is 6
+PASS table4.childAtIndex(i).role is 'table cell'
+PASS table4.childAtIndex(i).role is 'table cell'
+PASS table4.childAtIndex(i).role is 'table cell'
+PASS table4.childAtIndex(i).role is 'table cell'
+PASS table4.childAtIndex(i).role is 'table cell'
+PASS table4.childAtIndex(i).role is 'table cell'
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/platform/gtk/accessibility/table-hierarchy.html b/LayoutTests/platform/gtk/accessibility/table-hierarchy.html
index dd32dfc..11cc8b8 100644
--- a/LayoutTests/platform/gtk/accessibility/table-hierarchy.html
+++ b/LayoutTests/platform/gtk/accessibility/table-hierarchy.html
@@ -21,6 +21,11 @@ var successfullyParsed = false;
<tr><td>hello</td><td>world</td></tr>
</tbody>
</table>
+<table border=1>
+<tr><th>Odd</th><th>Even</th></tr>
+<tr><td><p>1</p></td><td><p>2</p></td></tr>
+<tr><td><p>3</p></td><td><p>4</p></td></tr>
+</table>
<p id="description"></p>
<div id="console"></div>
<script>
@@ -36,6 +41,8 @@ var successfullyParsed = false;
shouldBe("table2.role", "'table'");
var table3 = webArea.childAtIndex(2);
shouldBe("table3.role", "'table'");
+ var table4 = webArea.childAtIndex(3);
+ shouldBe("table4.role", "'table'");
var children = table1.childrenCount;
shouldBe("children", "2");
@@ -52,6 +59,11 @@ var successfullyParsed = false;
for (i = 0; i < children; ++i) {
shouldBe("table3.childAtIndex(i).role", "'table cell'");
}
+ children = table4.childrenCount;
+ shouldBe("children", "6");
+ for (i = 0; i < children; ++i) {
+ shouldBe("table4.childAtIndex(i).role", "'table cell'");
+ }
}
successfullyParsed = true;
</script>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d9f9671..c8e5004 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,26 @@
+2010-03-08 Joanmarie Diggs <joanmarie.diggs at gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30895
+ [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
+
+ Gives platforms the ability to exclude parts of an AccessibilityTable
+ from the accessible hierarchy.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (AccessibilityRenderObject::determineAccessibilityRole):
+ * accessibility/AccessibilityTable.cpp:
+ (AccessibilityTable::addChildren):
+ * accessibility/AccessibilityTableColumn.h:
+ (accessibilityIsIgnored):
+ * accessibility/AccessibilityTableHeaderContainer.h:
+ (accessibilityIsIgnored):
+ * accessibility/AccessibilityTableRow.cpp:
+ (accessibilityIsIgnored):
+
2010-03-08 Jian Li <jianli at chromium.org>
No review. Fix build break on Tiger intel release.
diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp
index 35f702e..c39a81a 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -2738,6 +2738,9 @@ AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole()
if (node && (node->hasTagName(tdTag) || node->hasTagName(thTag)))
return CellRole;
+ if (node && node->hasTagName(trTag))
+ return RowRole;
+
if (node && node->hasTagName(tableTag))
return TableRole;
#endif
diff --git a/WebCore/accessibility/AccessibilityTable.cpp b/WebCore/accessibility/AccessibilityTable.cpp
index 34006ad..d5c229a 100644
--- a/WebCore/accessibility/AccessibilityTable.cpp
+++ b/WebCore/accessibility/AccessibilityTable.cpp
@@ -250,7 +250,12 @@ void AccessibilityTable::addChildren()
row->setRowIndex((int)m_rows.size());
m_rows.append(row);
- m_children.append(row);
+ if (!row->accessibilityIsIgnored())
+ m_children.append(row);
+#if PLATFORM(GTK)
+ else
+ m_children.append(row->children());
+#endif
appendedRows.add(row);
}
}
@@ -265,11 +270,12 @@ void AccessibilityTable::addChildren()
column->setColumnIndex((int)i);
column->setParentTable(this);
m_columns.append(column);
- m_children.append(column);
+ if (!column->accessibilityIsIgnored())
+ m_children.append(column);
}
AccessibilityObject* headerContainerObject = headerContainer();
- if (headerContainerObject)
+ if (headerContainerObject && !headerContainerObject->accessibilityIsIgnored())
m_children.append(headerContainerObject);
}
diff --git a/WebCore/accessibility/AccessibilityTableColumn.h b/WebCore/accessibility/AccessibilityTableColumn.h
index 6270398..34be815 100644
--- a/WebCore/accessibility/AccessibilityTableColumn.h
+++ b/WebCore/accessibility/AccessibilityTableColumn.h
@@ -50,7 +50,11 @@ public:
AccessibilityObject* headerObject();
virtual AccessibilityRole roleValue() const { return ColumnRole; }
+#if PLATFORM(GTK)
+ virtual bool accessibilityIsIgnored() const { return true; }
+#else
virtual bool accessibilityIsIgnored() const { return false; }
+#endif
virtual bool isTableColumn() const { return true; }
void setColumnIndex(int columnIndex) { m_columnIndex = columnIndex; }
diff --git a/WebCore/accessibility/AccessibilityTableHeaderContainer.h b/WebCore/accessibility/AccessibilityTableHeaderContainer.h
index 8a9448a..46c47bc 100644
--- a/WebCore/accessibility/AccessibilityTableHeaderContainer.h
+++ b/WebCore/accessibility/AccessibilityTableHeaderContainer.h
@@ -48,7 +48,11 @@ public:
void setParentTable(AccessibilityTable* table) { m_parentTable = table; }
virtual AccessibilityObject* parentObject() const { return m_parentTable; }
+#if PLATFORM(GTK)
+ virtual bool accessibilityIsIgnored() const { return true; }
+#else
virtual bool accessibilityIsIgnored() const { return false; }
+#endif
virtual const AccessibilityChildrenVector& children();
virtual void addChildren();
diff --git a/WebCore/accessibility/AccessibilityTableRow.cpp b/WebCore/accessibility/AccessibilityTableRow.cpp
index 71f8b2b..1250358 100644
--- a/WebCore/accessibility/AccessibilityTableRow.cpp
+++ b/WebCore/accessibility/AccessibilityTableRow.cpp
@@ -76,7 +76,11 @@ bool AccessibilityTableRow::isTableRow() const
bool AccessibilityTableRow::accessibilityIsIgnored() const
{
+#if PLATFORM(GTK)
+ if (true)
+#else
if (!isTableRow())
+#endif
return AccessibilityRenderObject::accessibilityIsIgnored();
return false;
diff --git a/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp b/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
index 242727c..e436425 100644
--- a/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
+++ b/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
@@ -63,6 +63,10 @@ AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformI
if (role == CellRole || role == TableRole)
return IncludeObject;
+ // We at some point might have a need to expose a table row; but it's not standard Gtk+.
+ if (role == RowRole)
+ return IgnoreObject;
+
// The object containing the text should implement AtkText itself.
if (role == StaticTextRole)
return IgnoreObject;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list