OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |