Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(373)

Unified Diff: Source/core/accessibility/AXObject.h

Issue 659563006: Add live region root to the cached properties of an AXObject. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/accessibility/AXObject.h
diff --git a/Source/core/accessibility/AXObject.h b/Source/core/accessibility/AXObject.h
index d51353c0089370eea2d11dd67a7c4bbd82d4ea2f..5e3a91cacbaf06a3637cf530b4b5fb39f4819308 100644
--- a/Source/core/accessibility/AXObject.h
+++ b/Source/core/accessibility/AXObject.h
@@ -454,11 +454,17 @@ public:
void ariaTreeRows(AccessibilityChildrenVector&);
// ARIA live-region features.
- bool supportsARIALiveRegion() const;
- virtual const AtomicString& ariaLiveRegionStatus() const { return nullAtom; }
- virtual const AtomicString& ariaLiveRegionRelevant() const { return nullAtom; }
- virtual bool ariaLiveRegionAtomic() const { return false; }
- virtual bool ariaLiveRegionBusy() const { return false; }
+ bool isLiveRegion() const;
+ const AXObject* liveRegionRoot() const;
+ virtual const AtomicString& liveRegionStatus() const { return nullAtom; }
+ virtual const AtomicString& liveRegionRelevant() const { return nullAtom; }
+ virtual bool liveRegionAtomic() const { return false; }
+ virtual bool liveRegionBusy() const { return false; }
+
+ const AtomicString& containerLiveRegionStatus() const;
+ const AtomicString& containerLiveRegionRelevant() const;
+ bool containerLiveRegionAtomic() const;
+ bool containerLiveRegionBusy() const;
// Accessibility Text.
virtual String textUnderElement() const { return String(); }
@@ -580,12 +586,14 @@ protected:
bool m_detached;
-private:
aboxhall 2014/10/27 17:29:53 Is this removal deliberate?
dmazzoni 2014/10/27 18:08:25 Yes, the changes to AXScrollView require these to
// The following cached attribute values (the ones starting with m_cached*)
// are only valid if m_lastModificationCount matches AXObjectCacheImpl::modificationCount().
mutable int m_lastModificationCount;
mutable bool m_cachedIsIgnored;
+ mutable const AXObject* m_cachedLiveRegionRoot;
+ // Updates the cached attribute values. This may be recursive, so to prevent deadlocks,
+ // functions called here may only search up the tree (ancestors), not down.
void updateCachedAttributeValuesIfNeeded() const;
};

Powered by Google App Engine
This is Rietveld 408576698