[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.22-985-g3c00f00
cfleizach at apple.com
cfleizach at apple.com
Wed Mar 17 18:34:00 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 3893fb81bca531fe49bd78884e61b2d0ee42816b
Author: cfleizach at apple.com <cfleizach at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Mar 11 22:24:33 2010 +0000
accessibilityIsIgnoredBase() needs to respect when platform says include
https://bugs.webkit.org/show_bug.cgi?id=36025
Reviewed by Beth Dakin.
Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no
answer. This allows the platform to make a yes decision on an element.
* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::accessibilityIsIgnored):
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::accessibilityIsIgnored):
* accessibility/AccessibilityObject.h:
(WebCore::):
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::accessibilityIsIgnored):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::accessibilityIsIgnored):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::accessibilityIsIgnored):
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::accessibilityIsIgnored):
* accessibility/chromium/AccessibilityObjectChromium.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/gtk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/qt/AccessibilityObjectQt.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/win/AccessibilityObjectWin.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/wx/AccessibilityObjectWx.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 82f67ff..d1bc8f1 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,46 @@
+2010-03-11 Chris Fleizach <cfleizach at apple.com>
+
+ Reviewed by Beth Dakin.
+
+ accessibilityIsIgnoredBase() needs to respect when platform says include
+ https://bugs.webkit.org/show_bug.cgi?id=36025
+
+ Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no
+ answer. This allows the platform to make a yes decision on an element.
+
+ * accessibility/AccessibilityList.cpp:
+ (WebCore::AccessibilityList::accessibilityIsIgnored):
+ * accessibility/AccessibilityListBox.cpp:
+ (WebCore::AccessibilityListBox::accessibilityIsIgnored):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::):
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ * accessibility/AccessibilityRenderObject.h:
+ * accessibility/AccessibilitySlider.cpp:
+ (WebCore::AccessibilitySlider::accessibilityIsIgnored):
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::accessibilityIsIgnored):
+ * accessibility/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
+ * accessibility/AccessibilityTableRow.cpp:
+ (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
+ * accessibility/chromium/AccessibilityObjectChromium.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/mac/AccessibilityObjectMac.mm:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/qt/AccessibilityObjectQt.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/win/AccessibilityObjectWin.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/wx/AccessibilityObjectWx.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+
2010-03-11 Kenneth Russell <kbr at google.com>
Reviewed by Dimitri Glazkov.
diff --git a/WebCore/accessibility/AccessibilityList.cpp b/WebCore/accessibility/AccessibilityList.cpp
index 6317826..073b0fc 100644
--- a/WebCore/accessibility/AccessibilityList.cpp
+++ b/WebCore/accessibility/AccessibilityList.cpp
@@ -55,7 +55,10 @@ PassRefPtr<AccessibilityList> AccessibilityList::create(RenderObject* renderer)
bool AccessibilityList::accessibilityIsIgnored() const
{
- if (accessibilityIsIgnoredBase())
+ AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
return true;
// lists don't appear on tiger/leopard on the mac
diff --git a/WebCore/accessibility/AccessibilityListBox.cpp b/WebCore/accessibility/AccessibilityListBox.cpp
index 50b2514..8a9e062 100644
--- a/WebCore/accessibility/AccessibilityListBox.cpp
+++ b/WebCore/accessibility/AccessibilityListBox.cpp
@@ -154,7 +154,10 @@ AccessibilityObject* AccessibilityListBox::listBoxOptionAccessibilityObject(HTML
bool AccessibilityListBox::accessibilityIsIgnored() const
{
- if (accessibilityIsIgnoredBase())
+ AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
return true;
return false;
diff --git a/WebCore/accessibility/AccessibilityObject.h b/WebCore/accessibility/AccessibilityObject.h
index 4725f5e..7c52cd5 100644
--- a/WebCore/accessibility/AccessibilityObject.h
+++ b/WebCore/accessibility/AccessibilityObject.h
@@ -203,7 +203,7 @@ enum AccessibilityOrientation {
AccessibilityOrientationHorizontal,
};
-enum AccessibilityObjectPlatformInclusion {
+enum AccessibilityObjectInclusion {
IncludeObject,
IgnoreObject,
DefaultBehavior,
@@ -534,18 +534,14 @@ public:
#endif
#endif
- // a platform-specific method for determining if an attachment is ignored
#if HAVE(ACCESSIBILITY)
+ // a platform-specific method for determining if an attachment is ignored
bool accessibilityIgnoreAttachment() const;
-#else
- bool accessibilityIgnoreAttachment() const { return true; }
-#endif
-
// gives platforms the opportunity to indicate if and how an object should be included
-#if HAVE(ACCESSIBILITY)
- AccessibilityObjectPlatformInclusion accessibilityPlatformIncludesObject() const;
+ AccessibilityObjectInclusion accessibilityPlatformIncludesObject() const;
#else
- AccessibilityObjectPlatformInclusion accessibilityPlatformIncludesObject() const { return DefaultBehavior; }
+ bool accessibilityIgnoreAttachment() const { return true; }
+ AccessibilityObjectInclusion accessibilityPlatformIncludesObject() const { return DefaultBehavior; }
#endif
// allows for an AccessibilityObject to update its render tree or perform
diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp
index 3908acb..8de8e5b 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -1447,29 +1447,30 @@ bool AccessibilityRenderObject::isAllowedChildOfTree() const
return true;
}
-bool AccessibilityRenderObject::accessibilityIsIgnoredBase() const
+AccessibilityObjectInclusion AccessibilityRenderObject::accessibilityIsIgnoredBase() const
{
// The following cases can apply to any element that's a subclass of AccessibilityRenderObject.
- // Is the platform interested in this object?
- AccessibilityObjectPlatformInclusion decision = accessibilityPlatformIncludesObject();
- if (decision == IncludeObject)
- return false;
- if (decision == IgnoreObject)
- return true;
- // the decision must, therefore, be DefaultBehavior.
-
- // ignore invisible element
+ // Ignore invisible elements.
if (!m_renderer || m_renderer->style()->visibility() != VISIBLE)
- return true;
+ return IgnoreObject;
+ // Anything marked as aria-hidden or a child of something aria-hidden must be hidden.
if (ariaIsHidden())
- return true;
+ return IgnoreObject;
+ // Anything that is a presentational role must be hidden.
if (isPresentationalChildOfAriaRole())
- return true;
-
- return false;
+ return IgnoreObject;
+
+ // Allow the platform to make a decision.
+ AccessibilityObjectInclusion decision = accessibilityPlatformIncludesObject();
+ if (decision == IncludeObject)
+ return IncludeObject;
+ if (decision == IgnoreObject)
+ return IgnoreObject;
+
+ return DefaultBehavior;
}
bool AccessibilityRenderObject::accessibilityIsIgnored() const
@@ -1477,7 +1478,10 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const
// Check first if any of the common reasons cause this element to be ignored.
// Then process other use cases that need to be applied to all the various roles
// that AccessibilityRenderObjects take on.
- if (accessibilityIsIgnoredBase())
+ AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
return true;
// If this element is within a parent that cannot have children, it should not be exposed.
diff --git a/WebCore/accessibility/AccessibilityRenderObject.h b/WebCore/accessibility/AccessibilityRenderObject.h
index 0e26787..244eb60 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.h
+++ b/WebCore/accessibility/AccessibilityRenderObject.h
@@ -115,7 +115,7 @@ public:
virtual bool hasIntValue() const;
// Provides common logic used by all elements when determining isIgnored.
- bool accessibilityIsIgnoredBase() const;
+ AccessibilityObjectInclusion accessibilityIsIgnoredBase() const;
virtual bool accessibilityIsIgnored() const;
virtual int headingLevel() const;
diff --git a/WebCore/accessibility/AccessibilitySlider.cpp b/WebCore/accessibility/AccessibilitySlider.cpp
index b36e7c5..e8d1f41 100644
--- a/WebCore/accessibility/AccessibilitySlider.cpp
+++ b/WebCore/accessibility/AccessibilitySlider.cpp
@@ -101,9 +101,12 @@ const AtomicString& AccessibilitySlider::getAttribute(const QualifiedName& attri
bool AccessibilitySlider::accessibilityIsIgnored() const
{
- if (accessibilityIsIgnoredBase())
+ AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
return true;
-
+
return false;
}
diff --git a/WebCore/accessibility/AccessibilityTable.cpp b/WebCore/accessibility/AccessibilityTable.cpp
index 1f9c0c8..2190180 100644
--- a/WebCore/accessibility/AccessibilityTable.cpp
+++ b/WebCore/accessibility/AccessibilityTable.cpp
@@ -445,9 +445,12 @@ AccessibilityRole AccessibilityTable::roleValue() const
bool AccessibilityTable::accessibilityIsIgnored() const
{
- if (accessibilityIsIgnoredBase())
+ AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
return true;
-
+
if (!isDataTable())
return AccessibilityRenderObject::accessibilityIsIgnored();
diff --git a/WebCore/accessibility/AccessibilityTableCell.cpp b/WebCore/accessibility/AccessibilityTableCell.cpp
index 7422f39..318c619 100644
--- a/WebCore/accessibility/AccessibilityTableCell.cpp
+++ b/WebCore/accessibility/AccessibilityTableCell.cpp
@@ -56,9 +56,12 @@ PassRefPtr<AccessibilityTableCell> AccessibilityTableCell::create(RenderObject*
bool AccessibilityTableCell::accessibilityIsIgnored() const
{
- if (accessibilityIsIgnoredBase())
+ AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
return true;
-
+
if (!isTableCell())
return AccessibilityRenderObject::accessibilityIsIgnored();
diff --git a/WebCore/accessibility/AccessibilityTableRow.cpp b/WebCore/accessibility/AccessibilityTableRow.cpp
index 7ad7ab3..e2a1157 100644
--- a/WebCore/accessibility/AccessibilityTableRow.cpp
+++ b/WebCore/accessibility/AccessibilityTableRow.cpp
@@ -76,11 +76,10 @@ bool AccessibilityTableRow::isTableRow() const
bool AccessibilityTableRow::accessibilityIsIgnored() const
{
-#if PLATFORM(GTK)
- return true;
-#endif
-
- if (accessibilityIsIgnoredBase())
+ AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
return true;
if (!isTableRow())
diff --git a/WebCore/accessibility/chromium/AccessibilityObjectChromium.cpp b/WebCore/accessibility/chromium/AccessibilityObjectChromium.cpp
index 6749f77..5b4cfd5 100644
--- a/WebCore/accessibility/chromium/AccessibilityObjectChromium.cpp
+++ b/WebCore/accessibility/chromium/AccessibilityObjectChromium.cpp
@@ -34,7 +34,7 @@ bool AccessibilityObject::accessibilityIgnoreAttachment() const
return false;
}
-AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
+AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
{
if (isMenuListPopup() || isMenuListOption())
return IgnoreObject;
diff --git a/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp b/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
index e436425..ca3e8cc 100644
--- a/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
+++ b/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
@@ -32,7 +32,7 @@ bool AccessibilityObject::accessibilityIgnoreAttachment() const
return false;
}
-AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
+AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
{
AccessibilityObject* parent = parentObject();
if (!parent)
diff --git a/WebCore/accessibility/mac/AccessibilityObjectMac.mm b/WebCore/accessibility/mac/AccessibilityObjectMac.mm
index 1807a9b..37fa65a 100644
--- a/WebCore/accessibility/mac/AccessibilityObjectMac.mm
+++ b/WebCore/accessibility/mac/AccessibilityObjectMac.mm
@@ -41,7 +41,7 @@ bool AccessibilityObject::accessibilityIgnoreAttachment() const
return [attachment accessibilityIsIgnored];
}
-AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
+AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
{
if (isMenuListPopup() || isMenuListOption())
return IgnoreObject;
diff --git a/WebCore/accessibility/qt/AccessibilityObjectQt.cpp b/WebCore/accessibility/qt/AccessibilityObjectQt.cpp
index 5d85f1e..7232642 100644
--- a/WebCore/accessibility/qt/AccessibilityObjectQt.cpp
+++ b/WebCore/accessibility/qt/AccessibilityObjectQt.cpp
@@ -29,7 +29,7 @@ bool AccessibilityObject::accessibilityIgnoreAttachment() const
return false;
}
-AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
+AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
{
if (isMenuListPopup() || isMenuListOption())
return IgnoreObject;
diff --git a/WebCore/accessibility/win/AccessibilityObjectWin.cpp b/WebCore/accessibility/win/AccessibilityObjectWin.cpp
index a86988f..44122ef 100644
--- a/WebCore/accessibility/win/AccessibilityObjectWin.cpp
+++ b/WebCore/accessibility/win/AccessibilityObjectWin.cpp
@@ -35,7 +35,7 @@ bool AccessibilityObject::accessibilityIgnoreAttachment() const
return false;
}
-AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
+AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
{
if (isMenuListPopup() || isMenuListOption())
return IncludeObject;
diff --git a/WebCore/accessibility/wx/AccessibilityObjectWx.cpp b/WebCore/accessibility/wx/AccessibilityObjectWx.cpp
index 5d85f1e..7232642 100644
--- a/WebCore/accessibility/wx/AccessibilityObjectWx.cpp
+++ b/WebCore/accessibility/wx/AccessibilityObjectWx.cpp
@@ -29,7 +29,7 @@ bool AccessibilityObject::accessibilityIgnoreAttachment() const
return false;
}
-AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
+AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
{
if (isMenuListPopup() || isMenuListOption())
return IgnoreObject;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list