diff options
author | Ben Murdoch <benm@google.com> | 2011-06-02 12:07:03 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-06-10 10:47:21 +0100 |
commit | 2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch) | |
tree | e4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebCore/accessibility/AccessibilitySlider.cpp | |
parent | 87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff) | |
download | external_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.cpp | 23 |
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 |