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

Side by Side 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: Address feedback Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/accessibility/AXNodeObject.cpp ('k') | Source/core/accessibility/AXObject.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Nuanti Ltd. 3 * Copyright (C) 2008 Nuanti Ltd.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 virtual bool supportsARIADropping() const { return false; } 447 virtual bool supportsARIADropping() const { return false; }
448 virtual bool supportsARIAFlowTo() const { return false; } 448 virtual bool supportsARIAFlowTo() const { return false; }
449 virtual bool supportsARIAOwns() const { return false; } 449 virtual bool supportsARIAOwns() const { return false; }
450 bool supportsRangeValue() const; 450 bool supportsRangeValue() const;
451 451
452 // ARIA trees. 452 // ARIA trees.
453 // Used by an ARIA tree to get all its rows. 453 // Used by an ARIA tree to get all its rows.
454 void ariaTreeRows(AccessibilityChildrenVector&); 454 void ariaTreeRows(AccessibilityChildrenVector&);
455 455
456 // ARIA live-region features. 456 // ARIA live-region features.
457 bool supportsARIALiveRegion() const; 457 bool isLiveRegion() const;
458 virtual const AtomicString& ariaLiveRegionStatus() const { return nullAtom; } 458 const AXObject* liveRegionRoot() const;
459 virtual const AtomicString& ariaLiveRegionRelevant() const { return nullAtom ; } 459 virtual const AtomicString& liveRegionStatus() const { return nullAtom; }
460 virtual bool ariaLiveRegionAtomic() const { return false; } 460 virtual const AtomicString& liveRegionRelevant() const { return nullAtom; }
461 virtual bool ariaLiveRegionBusy() const { return false; } 461 virtual bool liveRegionAtomic() const { return false; }
462 virtual bool liveRegionBusy() const { return false; }
463
464 const AtomicString& containerLiveRegionStatus() const;
465 const AtomicString& containerLiveRegionRelevant() const;
466 bool containerLiveRegionAtomic() const;
467 bool containerLiveRegionBusy() const;
462 468
463 // Accessibility Text. 469 // Accessibility Text.
464 virtual String textUnderElement() const { return String(); } 470 virtual String textUnderElement() const { return String(); }
465 471
466 // Accessibility Text - (To be deprecated). 472 // Accessibility Text - (To be deprecated).
467 virtual String accessibilityDescription() const { return String(); } 473 virtual String accessibilityDescription() const { return String(); }
468 virtual String title() const { return String(); } 474 virtual String title() const { return String(); }
469 virtual String helpText() const { return String(); } 475 virtual String helpText() const { return String(); }
470 476
471 // Location and click point in frame-relative coordinates. 477 // Location and click point in frame-relative coordinates.
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 virtual ScrollableArea* getScrollableAreaIfScrollable() const { return 0; } 579 virtual ScrollableArea* getScrollableAreaIfScrollable() const { return 0; }
574 virtual void scrollTo(const IntPoint&) const { } 580 virtual void scrollTo(const IntPoint&) const { }
575 581
576 AccessibilityRole buttonRoleType() const; 582 AccessibilityRole buttonRoleType() const;
577 583
578 bool allowsTextRanges() const { return isTextControl(); } 584 bool allowsTextRanges() const { return isTextControl(); }
579 unsigned getLengthForTextRange() const { return text().length(); } 585 unsigned getLengthForTextRange() const { return text().length(); }
580 586
581 bool m_detached; 587 bool m_detached;
582 588
583 private:
584 // The following cached attribute values (the ones starting with m_cached*) 589 // The following cached attribute values (the ones starting with m_cached*)
585 // are only valid if m_lastModificationCount matches AXObjectCacheImpl::modi ficationCount(). 590 // are only valid if m_lastModificationCount matches AXObjectCacheImpl::modi ficationCount().
586 mutable int m_lastModificationCount; 591 mutable int m_lastModificationCount;
587 mutable bool m_cachedIsIgnored; 592 mutable bool m_cachedIsIgnored;
593 mutable const AXObject* m_cachedLiveRegionRoot;
588 594
595 // Updates the cached attribute values. This may be recursive, so to prevent deadlocks,
596 // functions called here may only search up the tree (ancestors), not down.
589 void updateCachedAttributeValuesIfNeeded() const; 597 void updateCachedAttributeValuesIfNeeded() const;
590 }; 598 };
591 599
592 #define DEFINE_AX_OBJECT_TYPE_CASTS(thisType, predicate) \ 600 #define DEFINE_AX_OBJECT_TYPE_CASTS(thisType, predicate) \
593 DEFINE_TYPE_CASTS(thisType, AXObject, object, object->predicate, object.pred icate) 601 DEFINE_TYPE_CASTS(thisType, AXObject, object, object->predicate, object.pred icate)
594 602
595 } // namespace blink 603 } // namespace blink
596 604
597 #endif // AXObject_h 605 #endif // AXObject_h
OLDNEW
« no previous file with comments | « Source/core/accessibility/AXNodeObject.cpp ('k') | Source/core/accessibility/AXObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698