summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/accessibility/AccessibilitySlider.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-06-02 12:07:03 +0100
committerBen Murdoch <benm@google.com>2011-06-10 10:47:21 +0100
commit2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch)
treee4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebCore/accessibility/AccessibilitySlider.cpp
parent87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff)
downloadexternal_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.zip
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.gz
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.bz2
Merge WebKit at r84325: Initial merge by git.
Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
Diffstat (limited to 'Source/WebCore/accessibility/AccessibilitySlider.cpp')
-rw-r--r--Source/WebCore/accessibility/AccessibilitySlider.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/Source/WebCore/accessibility/AccessibilitySlider.cpp b/Source/WebCore/accessibility/AccessibilitySlider.cpp
index d4433a2..01d185d 100644
--- a/Source/WebCore/accessibility/AccessibilitySlider.cpp
+++ b/Source/WebCore/accessibility/AccessibilitySlider.cpp
@@ -89,9 +89,17 @@ void AccessibilitySlider::addChildren()
m_haveChildren = true;
- AccessibilitySliderThumb* thumb = static_cast<AccessibilitySliderThumb*>(m_renderer->document()->axObjectCache()->getOrCreate(SliderThumbRole));
+ AXObjectCache* cache = m_renderer->document()->axObjectCache();
+
+ AccessibilitySliderThumb* thumb = static_cast<AccessibilitySliderThumb*>(cache->getOrCreate(SliderThumbRole));
thumb->setParentObject(this);
- m_children.append(thumb);
+
+ // Before actually adding the value indicator to the hierarchy,
+ // allow the platform to make a final decision about it.
+ if (thumb->accessibilityIsIgnored())
+ cache->remove(thumb->axObjectID());
+ else
+ m_children.append(thumb);
}
const AtomicString& AccessibilitySlider::getAttribute(const QualifiedName& attribute) const
@@ -181,4 +189,15 @@ IntSize AccessibilitySliderThumb::size() const
return elementRect().size();
}
+bool AccessibilitySliderThumb::accessibilityIsIgnored() const
+{
+ AccessibilityObjectInclusion decision = accessibilityPlatformIncludesObject();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
+ return true;
+
+ return false;
+}
+
} // namespace WebCore