diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
commit | cfd86b747d32ac22246a1aa908eaa720c63a88c1 (patch) | |
tree | 24d68c6f61c464ecba1e05670b80390ea3b0e50c /Source/WebCore/accessibility/AccessibilityObject.cpp | |
parent | 69d7c744c9de19d152dbe2d8e46eb7dfd4511d1a (diff) | |
download | qtwebkit-cfd86b747d32ac22246a1aa908eaa720c63a88c1.tar.gz |
Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733)
New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
Diffstat (limited to 'Source/WebCore/accessibility/AccessibilityObject.cpp')
-rw-r--r-- | Source/WebCore/accessibility/AccessibilityObject.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/Source/WebCore/accessibility/AccessibilityObject.cpp b/Source/WebCore/accessibility/AccessibilityObject.cpp index ed071e216..e675be2f3 100644 --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityObject.cpp @@ -72,6 +72,7 @@ AccessibilityObject::AccessibilityObject() : m_id(0) , m_haveChildren(false) , m_role(UnknownRole) + , m_cachedIsIgnoredValue(DefaultBehavior) #if PLATFORM(GTK) , m_wrapper(0) #elif PLATFORM(CHROMIUM) @@ -1417,7 +1418,6 @@ static ARIARoleMap* createARIARoleMap() { "radiogroup", RadioGroupRole }, { "region", DocumentRegionRole }, { "row", RowRole }, - { "range", SliderRole }, { "scrollbar", ScrollBarRole }, { "search", LandmarkSearchRole }, { "separator", SplitterRole }, @@ -1771,6 +1771,28 @@ void AccessibilityObject::scrollToGlobalPoint(const IntPoint& globalPoint) const } } +bool AccessibilityObject::cachedIsIgnoredValue() +{ + if (m_cachedIsIgnoredValue == DefaultBehavior) + m_cachedIsIgnoredValue = accessibilityIsIgnored() ? IgnoreObject : IncludeObject; + + return m_cachedIsIgnoredValue == IgnoreObject; +} + +void AccessibilityObject::setCachedIsIgnoredValue(bool isIgnored) +{ + m_cachedIsIgnoredValue = isIgnored ? IgnoreObject : IncludeObject; +} + +void AccessibilityObject::notifyIfIgnoredValueChanged() +{ + bool isIgnored = accessibilityIsIgnored(); + if (cachedIsIgnoredValue() != isIgnored) { + axObjectCache()->childrenChanged(parentObject()); + setCachedIsIgnoredValue(isIgnored); + } +} + bool AccessibilityObject::ariaPressedIsPresent() const { return !getAttribute(aria_pressedAttr).isEmpty(); |