Use the same AccessibilityObjectWrapper for associated AXObject and AXIsolatedObject.
authorandresg_22@apple.com <andresg_22@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Jan 2020 01:48:30 +0000 (01:48 +0000)
committerandresg_22@apple.com <andresg_22@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Jan 2020 01:48:30 +0000 (01:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=206384

Reviewed by Chris Fleizach.

Associated AXObject and AXIsolatedObject need to share the same
AccessibilityObjectWrapper in order for accessibility clients to work
properly. This change implements Chris Fleizach's original approach to
have both the AXObject and IsolatedObject in the same wrapper. This
approach allows the event notification code to remain the same in
isolated tree mode, and minimizes lock contention between the main and
AX threads.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::cacheAndInitializeWrapper): Utility method that encapsulates these operations performed in the getOrCreate methods.
(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::createIsolatedTreeHierarchy): Attaches to the IsolatedObject the same wrapper as its associated AXObject.
* accessibility/AXObjectCache.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: Instead of accessing the backing object directly (m_object) or through the macro _axBackingObject, uses self.axBackingObject.
(AccessibilityUnignoredAncestor):
(-[WebAccessibilityTextMarker initWithData:accessibilityObject:]):
(-[WebAccessibilityObjectWrapper detach]):
(-[WebAccessibilityObjectWrapper dealloc]):
(-[WebAccessibilityObjectWrapper _prepareAccessibilityCall]):
(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper enableAttributeCaching]):
(-[WebAccessibilityObjectWrapper disableAttributeCaching]):
(-[WebAccessibilityObjectWrapper accessibilityElementCount]):
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
(-[WebAccessibilityObjectWrapper _accessibilityPath]):
(-[WebAccessibilityObjectWrapper accessibilityHasPopup]):
(-[WebAccessibilityObjectWrapper accessibilityPopupValue]):
(-[WebAccessibilityObjectWrapper accessibilityLanguage]):
(-[WebAccessibilityObjectWrapper accessibilityIsDialog]):
(-[WebAccessibilityObjectWrapper _accessibilityTreeAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityListAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityArticleAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityLandmarkAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityIsInTableCell]):
(-[WebAccessibilityObjectWrapper _accessibilityFieldsetAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityFrameAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):
(-[WebAccessibilityObjectWrapper accessibilityIsWebInteractiveVideo]):
(-[WebAccessibilityObjectWrapper interactiveVideoDescription]):
(-[WebAccessibilityObjectWrapper accessibilityIsMediaPlaying]):
(-[WebAccessibilityObjectWrapper accessibilityIsMediaMuted]):
(-[WebAccessibilityObjectWrapper accessibilityToggleMuteForMedia]):
(-[WebAccessibilityObjectWrapper accessibilityVideoEnterFullscreen]):
(-[WebAccessibilityObjectWrapper _accessibilityTextEntryTraits]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper isSVGGroupElement]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
(-[WebAccessibilityObjectWrapper _accessibilityHasTouchEventListener]):
(-[WebAccessibilityObjectWrapper _accessibilityValueIsAutofilled]):
(-[WebAccessibilityObjectWrapper _accessibilityIsStrongPasswordField]):
(-[WebAccessibilityObjectWrapper _accessibilityMinValue]):
(-[WebAccessibilityObjectWrapper _accessibilityMaxValue]):
(-[WebAccessibilityObjectWrapper accessibilityRoleDescription]):
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
(-[WebAccessibilityObjectWrapper tableCellParent]):
(-[WebAccessibilityObjectWrapper tableParent]):
(-[WebAccessibilityObjectWrapper accessibilityTitleElement]):
(-[WebAccessibilityObjectWrapper accessibilityRowRange]):
(-[WebAccessibilityObjectWrapper accessibilityBlockquoteLevel]):
(-[WebAccessibilityObjectWrapper accessibilityDatetimeValue]):
(-[WebAccessibilityObjectWrapper accessibilityPlaceholderValue]):
(-[WebAccessibilityObjectWrapper accessibilityColorStringValue]):
(-[WebAccessibilityObjectWrapper accessibilityValue]):
(-[WebAccessibilityObjectWrapper accessibilityIsAttachmentElement]):
(-[WebAccessibilityObjectWrapper accessibilityIsComboBox]):
(-[WebAccessibilityObjectWrapper accessibilityHint]):
(-[WebAccessibilityObjectWrapper accessibilityURL]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollToVisible]):
(-[WebAccessibilityObjectWrapper accessibilityScroll:]):
(-[WebAccessibilityObjectWrapper _accessibilityRelativeFrame]):
(-[WebAccessibilityObjectWrapper accessibilityElementRect]):
(-[WebAccessibilityObjectWrapper accessibilityVisibleContentRect]):
(-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
(-[WebAccessibilityObjectWrapper accessibilityFrame]):
(-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]):
(-[WebAccessibilityObjectWrapper accessibilityContainer]):
(-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
(-[WebAccessibilityObjectWrapper _accessibilityWebDocumentView]):
(-[WebAccessibilityObjectWrapper accessibilityCanSetValue]):
(-[WebAccessibilityObjectWrapper accessibilityLinkRelationshipType]):
(-[WebAccessibilityObjectWrapper accessibilityRequired]):
(-[WebAccessibilityObjectWrapper accessibilityFlowToElements]):
(-[WebAccessibilityObjectWrapper accessibilityLinkedElement]):
(-[WebAccessibilityObjectWrapper isAttachment]):
(-[WebAccessibilityObjectWrapper accessibilityTextualContext]):
(-[WebAccessibilityObjectWrapper _accessibilityActivate]):
(-[WebAccessibilityObjectWrapper attachmentView]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollPosition]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollSize]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollVisibleRect]):
(-[WebAccessibilityObjectWrapper accessibilityFindMatchingObjects:]):
(-[WebAccessibilityObjectWrapper accessibilityModifySelection:increase:]):
(-[WebAccessibilityObjectWrapper accessibilityMoveSelectionToMarker:]):
(-[WebAccessibilityObjectWrapper accessibilityIncrement]):
(-[WebAccessibilityObjectWrapper accessibilityDecrement]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:]):
(-[WebAccessibilityObjectWrapper stringForTextMarkers:]):
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):
(-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
(-[WebAccessibilityObjectWrapper positionForTextMarker:]):
(-[WebAccessibilityObjectWrapper textMarkerRange]):
(-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
(-[WebAccessibilityObjectWrapper textMarkerForPosition:]):
(-[WebAccessibilityObjectWrapper stringForRange:]):
(-[WebAccessibilityObjectWrapper _accessibilitySelectedTextRange]):
(-[WebAccessibilityObjectWrapper _accessibilitySetSelectedTextRange:]):
(-[WebAccessibilityObjectWrapper accessibilityReplaceRange:withText:]):
(-[WebAccessibilityObjectWrapper accessibilityInsertText:]):
(-[WebAccessibilityObjectWrapper selectedTextMarker]):
(-[WebAccessibilityObjectWrapper lineEndMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper lineStartMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper misspellingTextMarkerRange:forward:]):
(-[WebAccessibilityObjectWrapper frameForTextMarkers:]):
(-[WebAccessibilityObjectWrapper rangeFromMarkers:withText:]):
(-[WebAccessibilityObjectWrapper textMarkerForPoint:]):
(-[WebAccessibilityObjectWrapper nextMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper previousMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper rangeForTextMarkers:]):
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForTextMarkers:isStart:]):
(-[WebAccessibilityObjectWrapper textMarkersForRange:]):
(-[WebAccessibilityObjectWrapper accessibilityExpandedTextValue]):
(-[WebAccessibilityObjectWrapper accessibilityIdentifier]):
(-[WebAccessibilityObjectWrapper accessibilityARIAIsBusy]):
(-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionStatus]):
(-[WebAccessibilityObjectWrapper accessibilityARIARelevantStatus]):
(-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionIsAtomic]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAPressed]):
(-[WebAccessibilityObjectWrapper accessibilityIsPressed]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):
(-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):
(-[WebAccessibilityObjectWrapper accessibilityIsShowingValidationMessage]):
(-[WebAccessibilityObjectWrapper accessibilityInvalidStatus]):
(-[WebAccessibilityObjectWrapper accessibilityARIACurrentStatus]):
(-[WebAccessibilityObjectWrapper accessibilitySortDirection]):
(-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
(-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
(-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathLineThickness]):
(-[WebAccessibilityObjectWrapper accessibilityMathType]):
(-[WebAccessibilityObjectWrapper accessibilityClickPoint]):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::attachWrapper): Attaches the given IsolatedObject and wrapper.
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase initWithAccessibilityObject:]):
(-[WebAccessibilityObjectWrapperBase attachAXObject:]):
(-[WebAccessibilityObjectWrapperBase attachIsolatedObject:]):
(-[WebAccessibilityObjectWrapperBase detach]):
(-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilityTitle]):
(-[WebAccessibilityObjectWrapperBase axBackingObject]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilityDescription]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilitySpeechHint]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilityHelpText]):
(-[WebAccessibilityObjectWrapperBase convertRectToSpace:space:]):
(-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
(-[WebAccessibilityObjectWrapperBase baseAccessibilitySetFocus:]):
(-[WebAccessibilityObjectWrapperBase accessibilityMathPostscriptPairs]):
(-[WebAccessibilityObjectWrapperBase accessibilityMathPrescriptPairs]):
(accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
(-[WebAccessibilityObjectWrapperBase accessibilityObject]): Deleted, axBackingObject should be used instead.
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Instead of accessing the backing object directly (m_object) or through the macro _axBackingObject, uses self.axBackingObject.
(-[WebAccessibilityObjectWrapper attachmentView]):
(-[WebAccessibilityObjectWrapper screenToContents:]):
(-[WebAccessibilityObjectWrapper accessibilityObjectForTextMarker:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromRange:]):
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForRange:isStart:]):
(-[WebAccessibilityObjectWrapper nextTextMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper previousTextMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper textMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper rangeForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper characterOffsetForTextMarker:]):
(-[WebAccessibilityObjectWrapper textMarkerForVisiblePosition:]):
(-[WebAccessibilityObjectWrapper textMarkerForFirstPositionInTextControl:]):
(-[WebAccessibilityObjectWrapper visiblePositionForTextMarker:]):
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper renderWidgetChildren]):
(-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
(convertToVector):
(-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
(-[WebAccessibilityObjectWrapper associatedPluginParent]):
(-[WebAccessibilityObjectWrapper path]):
(-[WebAccessibilityObjectWrapper childrenVectorSize]):
(-[WebAccessibilityObjectWrapper childrenVectorArray]):
(-[WebAccessibilityObjectWrapper position]):
(-[WebAccessibilityObjectWrapper role]):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):
(-[WebAccessibilityObjectWrapper computedRoleString]):
(-[WebAccessibilityObjectWrapper scrollViewParent]):
(-[WebAccessibilityObjectWrapper valueDescriptionForMeter]):
(-[WebAccessibilityObjectWrapper windowElement:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper _accessibilityPerformPressAction]):
(-[WebAccessibilityObjectWrapper _accessibilityPerformIncrementAction]):
(-[WebAccessibilityObjectWrapper _accessibilityPerformDecrementAction]):
(-[WebAccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
(-[WebAccessibilityObjectWrapper _accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapper accessibilityScrollToVisible]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollToMakeVisibleWithSubFocus:]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollToGlobalPoint:]):
(-[WebAccessibilityObjectWrapper accessibilityReplaceRange:withText:]):
(-[WebAccessibilityObjectWrapper accessibilityInsertText:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper doAXAttributedStringForRange:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):
(-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
(-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255044 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/accessibility/AXObjectCache.cpp
Source/WebCore/accessibility/AXObjectCache.h
Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
Source/WebCore/accessibility/mac/AXObjectCacheMac.mm
Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.h
Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm
Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

index 8543734..5736234 100644 (file)
@@ -1,3 +1,244 @@
+2020-01-23  Andres Gonzalez  <andresg_22@apple.com>
+
+        Use the same AccessibilityObjectWrapper for associated AXObject and AXIsolatedObject.
+        https://bugs.webkit.org/show_bug.cgi?id=206384
+
+        Reviewed by Chris Fleizach.
+
+        Associated AXObject and AXIsolatedObject need to share the same
+        AccessibilityObjectWrapper in order for accessibility clients to work
+        properly. This change implements Chris Fleizach's original approach to
+        have both the AXObject and IsolatedObject in the same wrapper. This
+        approach allows the event notification code to remain the same in
+        isolated tree mode, and minimizes lock contention between the main and
+        AX threads.
+
+        * accessibility/AXObjectCache.cpp:
+        (WebCore::AXObjectCache::cacheAndInitializeWrapper): Utility method that encapsulates these operations performed in the getOrCreate methods.
+        (WebCore::AXObjectCache::getOrCreate):
+        (WebCore::AXObjectCache::createIsolatedTreeHierarchy): Attaches to the IsolatedObject the same wrapper as its associated AXObject.
+        * accessibility/AXObjectCache.h:
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: Instead of accessing the backing object directly (m_object) or through the macro _axBackingObject, uses self.axBackingObject.
+        (AccessibilityUnignoredAncestor):
+        (-[WebAccessibilityTextMarker initWithData:accessibilityObject:]):
+        (-[WebAccessibilityObjectWrapper detach]):
+        (-[WebAccessibilityObjectWrapper dealloc]):
+        (-[WebAccessibilityObjectWrapper _prepareAccessibilityCall]):
+        (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
+        (-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
+        (-[WebAccessibilityObjectWrapper enableAttributeCaching]):
+        (-[WebAccessibilityObjectWrapper disableAttributeCaching]):
+        (-[WebAccessibilityObjectWrapper accessibilityElementCount]):
+        (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
+        (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
+        (-[WebAccessibilityObjectWrapper _accessibilityPath]):
+        (-[WebAccessibilityObjectWrapper accessibilityHasPopup]):
+        (-[WebAccessibilityObjectWrapper accessibilityPopupValue]):
+        (-[WebAccessibilityObjectWrapper accessibilityLanguage]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsDialog]):
+        (-[WebAccessibilityObjectWrapper _accessibilityTreeAncestor]):
+        (-[WebAccessibilityObjectWrapper _accessibilityListAncestor]):
+        (-[WebAccessibilityObjectWrapper _accessibilityArticleAncestor]):
+        (-[WebAccessibilityObjectWrapper _accessibilityLandmarkAncestor]):
+        (-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
+        (-[WebAccessibilityObjectWrapper _accessibilityIsInTableCell]):
+        (-[WebAccessibilityObjectWrapper _accessibilityFieldsetAncestor]):
+        (-[WebAccessibilityObjectWrapper _accessibilityFrameAncestor]):
+        (-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsWebInteractiveVideo]):
+        (-[WebAccessibilityObjectWrapper interactiveVideoDescription]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsMediaPlaying]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsMediaMuted]):
+        (-[WebAccessibilityObjectWrapper accessibilityToggleMuteForMedia]):
+        (-[WebAccessibilityObjectWrapper accessibilityVideoEnterFullscreen]):
+        (-[WebAccessibilityObjectWrapper _accessibilityTextEntryTraits]):
+        (-[WebAccessibilityObjectWrapper accessibilityTraits]):
+        (-[WebAccessibilityObjectWrapper isSVGGroupElement]):
+        (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
+        (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
+        (-[WebAccessibilityObjectWrapper _accessibilityHasTouchEventListener]):
+        (-[WebAccessibilityObjectWrapper _accessibilityValueIsAutofilled]):
+        (-[WebAccessibilityObjectWrapper _accessibilityIsStrongPasswordField]):
+        (-[WebAccessibilityObjectWrapper _accessibilityMinValue]):
+        (-[WebAccessibilityObjectWrapper _accessibilityMaxValue]):
+        (-[WebAccessibilityObjectWrapper accessibilityRoleDescription]):
+        (-[WebAccessibilityObjectWrapper accessibilityLabel]):
+        (-[WebAccessibilityObjectWrapper tableCellParent]):
+        (-[WebAccessibilityObjectWrapper tableParent]):
+        (-[WebAccessibilityObjectWrapper accessibilityTitleElement]):
+        (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
+        (-[WebAccessibilityObjectWrapper accessibilityBlockquoteLevel]):
+        (-[WebAccessibilityObjectWrapper accessibilityDatetimeValue]):
+        (-[WebAccessibilityObjectWrapper accessibilityPlaceholderValue]):
+        (-[WebAccessibilityObjectWrapper accessibilityColorStringValue]):
+        (-[WebAccessibilityObjectWrapper accessibilityValue]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsAttachmentElement]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsComboBox]):
+        (-[WebAccessibilityObjectWrapper accessibilityHint]):
+        (-[WebAccessibilityObjectWrapper accessibilityURL]):
+        (-[WebAccessibilityObjectWrapper _accessibilityScrollToVisible]):
+        (-[WebAccessibilityObjectWrapper accessibilityScroll:]):
+        (-[WebAccessibilityObjectWrapper _accessibilityRelativeFrame]):
+        (-[WebAccessibilityObjectWrapper accessibilityElementRect]):
+        (-[WebAccessibilityObjectWrapper accessibilityVisibleContentRect]):
+        (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
+        (-[WebAccessibilityObjectWrapper accessibilityFrame]):
+        (-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]):
+        (-[WebAccessibilityObjectWrapper accessibilityContainer]):
+        (-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
+        (-[WebAccessibilityObjectWrapper _accessibilityWebDocumentView]):
+        (-[WebAccessibilityObjectWrapper accessibilityCanSetValue]):
+        (-[WebAccessibilityObjectWrapper accessibilityLinkRelationshipType]):
+        (-[WebAccessibilityObjectWrapper accessibilityRequired]):
+        (-[WebAccessibilityObjectWrapper accessibilityFlowToElements]):
+        (-[WebAccessibilityObjectWrapper accessibilityLinkedElement]):
+        (-[WebAccessibilityObjectWrapper isAttachment]):
+        (-[WebAccessibilityObjectWrapper accessibilityTextualContext]):
+        (-[WebAccessibilityObjectWrapper _accessibilityActivate]):
+        (-[WebAccessibilityObjectWrapper attachmentView]):
+        (-[WebAccessibilityObjectWrapper _accessibilityScrollPosition]):
+        (-[WebAccessibilityObjectWrapper _accessibilityScrollSize]):
+        (-[WebAccessibilityObjectWrapper _accessibilityScrollVisibleRect]):
+        (-[WebAccessibilityObjectWrapper accessibilityFindMatchingObjects:]):
+        (-[WebAccessibilityObjectWrapper accessibilityModifySelection:increase:]):
+        (-[WebAccessibilityObjectWrapper accessibilityMoveSelectionToMarker:]):
+        (-[WebAccessibilityObjectWrapper accessibilityIncrement]):
+        (-[WebAccessibilityObjectWrapper accessibilityDecrement]):
+        (-[WebAccessibilityObjectWrapper _accessibilitySetValue:]):
+        (-[WebAccessibilityObjectWrapper stringForTextMarkers:]):
+        (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
+        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
+        (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
+        (-[WebAccessibilityObjectWrapper positionForTextMarker:]):
+        (-[WebAccessibilityObjectWrapper textMarkerRange]):
+        (-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
+        (-[WebAccessibilityObjectWrapper textMarkerForPosition:]):
+        (-[WebAccessibilityObjectWrapper stringForRange:]):
+        (-[WebAccessibilityObjectWrapper _accessibilitySelectedTextRange]):
+        (-[WebAccessibilityObjectWrapper _accessibilitySetSelectedTextRange:]):
+        (-[WebAccessibilityObjectWrapper accessibilityReplaceRange:withText:]):
+        (-[WebAccessibilityObjectWrapper accessibilityInsertText:]):
+        (-[WebAccessibilityObjectWrapper selectedTextMarker]):
+        (-[WebAccessibilityObjectWrapper lineEndMarkerForMarker:]):
+        (-[WebAccessibilityObjectWrapper lineStartMarkerForMarker:]):
+        (-[WebAccessibilityObjectWrapper misspellingTextMarkerRange:forward:]):
+        (-[WebAccessibilityObjectWrapper frameForTextMarkers:]):
+        (-[WebAccessibilityObjectWrapper rangeFromMarkers:withText:]):
+        (-[WebAccessibilityObjectWrapper textMarkerForPoint:]):
+        (-[WebAccessibilityObjectWrapper nextMarkerForCharacterOffset:]):
+        (-[WebAccessibilityObjectWrapper previousMarkerForCharacterOffset:]):
+        (-[WebAccessibilityObjectWrapper rangeForTextMarkers:]):
+        (-[WebAccessibilityObjectWrapper startOrEndTextMarkerForTextMarkers:isStart:]):
+        (-[WebAccessibilityObjectWrapper textMarkersForRange:]):
+        (-[WebAccessibilityObjectWrapper accessibilityExpandedTextValue]):
+        (-[WebAccessibilityObjectWrapper accessibilityIdentifier]):
+        (-[WebAccessibilityObjectWrapper accessibilityARIAIsBusy]):
+        (-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionStatus]):
+        (-[WebAccessibilityObjectWrapper accessibilityARIARelevantStatus]):
+        (-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionIsAtomic]):
+        (-[WebAccessibilityObjectWrapper accessibilitySupportsARIAPressed]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsPressed]):
+        (-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsShowingValidationMessage]):
+        (-[WebAccessibilityObjectWrapper accessibilityInvalidStatus]):
+        (-[WebAccessibilityObjectWrapper accessibilityARIACurrentStatus]):
+        (-[WebAccessibilityObjectWrapper accessibilitySortDirection]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathLineThickness]):
+        (-[WebAccessibilityObjectWrapper accessibilityMathType]):
+        (-[WebAccessibilityObjectWrapper accessibilityClickPoint]):
+        * accessibility/mac/AXObjectCacheMac.mm:
+        (WebCore::AXObjectCache::attachWrapper): Attaches the given IsolatedObject and wrapper.
+        * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
+        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
+        (-[WebAccessibilityObjectWrapperBase initWithAccessibilityObject:]):
+        (-[WebAccessibilityObjectWrapperBase attachAXObject:]):
+        (-[WebAccessibilityObjectWrapperBase attachIsolatedObject:]):
+        (-[WebAccessibilityObjectWrapperBase detach]):
+        (-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
+        (-[WebAccessibilityObjectWrapperBase baseAccessibilityTitle]):
+        (-[WebAccessibilityObjectWrapperBase axBackingObject]):
+        (-[WebAccessibilityObjectWrapperBase baseAccessibilityDescription]):
+        (-[WebAccessibilityObjectWrapperBase baseAccessibilitySpeechHint]):
+        (-[WebAccessibilityObjectWrapperBase baseAccessibilityHelpText]):
+        (-[WebAccessibilityObjectWrapperBase convertRectToSpace:space:]):
+        (-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
+        (-[WebAccessibilityObjectWrapperBase baseAccessibilitySetFocus:]):
+        (-[WebAccessibilityObjectWrapperBase accessibilityMathPostscriptPairs]):
+        (-[WebAccessibilityObjectWrapperBase accessibilityMathPrescriptPairs]):
+        (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
+        (-[WebAccessibilityObjectWrapperBase accessibilityObject]): Deleted, axBackingObject should be used instead.
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Instead of accessing the backing object directly (m_object) or through the macro _axBackingObject, uses self.axBackingObject.
+        (-[WebAccessibilityObjectWrapper attachmentView]):
+        (-[WebAccessibilityObjectWrapper screenToContents:]):
+        (-[WebAccessibilityObjectWrapper accessibilityObjectForTextMarker:]):
+        (-[WebAccessibilityObjectWrapper textMarkerRangeFromRange:]):
+        (-[WebAccessibilityObjectWrapper startOrEndTextMarkerForRange:isStart:]):
+        (-[WebAccessibilityObjectWrapper nextTextMarkerForCharacterOffset:]):
+        (-[WebAccessibilityObjectWrapper previousTextMarkerForCharacterOffset:]):
+        (-[WebAccessibilityObjectWrapper textMarkerForCharacterOffset:]):
+        (-[WebAccessibilityObjectWrapper rangeForTextMarkerRange:]):
+        (-[WebAccessibilityObjectWrapper characterOffsetForTextMarker:]):
+        (-[WebAccessibilityObjectWrapper textMarkerForVisiblePosition:]):
+        (-[WebAccessibilityObjectWrapper textMarkerForFirstPositionInTextControl:]):
+        (-[WebAccessibilityObjectWrapper visiblePositionForTextMarker:]):
+        (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
+        (-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
+        (-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
+        (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
+        (-[WebAccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
+        (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
+        (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
+        (convertToVector):
+        (-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
+        (-[WebAccessibilityObjectWrapper associatedPluginParent]):
+        (-[WebAccessibilityObjectWrapper path]):
+        (-[WebAccessibilityObjectWrapper childrenVectorSize]):
+        (-[WebAccessibilityObjectWrapper childrenVectorArray]):
+        (-[WebAccessibilityObjectWrapper position]):
+        (-[WebAccessibilityObjectWrapper role]):
+        (-[WebAccessibilityObjectWrapper subrole]):
+        (-[WebAccessibilityObjectWrapper roleDescription]):
+        (-[WebAccessibilityObjectWrapper computedRoleString]):
+        (-[WebAccessibilityObjectWrapper scrollViewParent]):
+        (-[WebAccessibilityObjectWrapper valueDescriptionForMeter]):
+        (-[WebAccessibilityObjectWrapper windowElement:]):
+        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+        (-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
+        (-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
+        (-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
+        (-[WebAccessibilityObjectWrapper _accessibilityPerformPressAction]):
+        (-[WebAccessibilityObjectWrapper _accessibilityPerformIncrementAction]):
+        (-[WebAccessibilityObjectWrapper _accessibilityPerformDecrementAction]):
+        (-[WebAccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
+        (-[WebAccessibilityObjectWrapper _accessibilityShowContextMenu]):
+        (-[WebAccessibilityObjectWrapper accessibilityScrollToVisible]):
+        (-[WebAccessibilityObjectWrapper _accessibilityScrollToMakeVisibleWithSubFocus:]):
+        (-[WebAccessibilityObjectWrapper _accessibilityScrollToGlobalPoint:]):
+        (-[WebAccessibilityObjectWrapper accessibilityReplaceRange:withText:]):
+        (-[WebAccessibilityObjectWrapper accessibilityInsertText:]):
+        (-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
+        (-[WebAccessibilityObjectWrapper doAXAttributedStringForRange:]):
+        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
+        (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
+        (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
+        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
+        (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
+        (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
+        (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
+
 2020-01-23  Jer Noble  <jer.noble@apple.com>
 
         [EME] Key renewal fails when using AVContentKeyReportGroup
index b3aea63..c746bc1 100644 (file)
@@ -603,6 +603,21 @@ static Ref<AccessibilityObject> createFromNode(Node* node)
     return AccessibilityNodeObject::create(node);
 }
 
+void AXObjectCache::cacheAndInitializeWrapper(AccessibilityObject* newObject, DOMObjectVariant domObject)
+{
+    ASSERT(newObject);
+    AXID axID = getAXID(newObject);
+    WTF::switchOn(domObject,
+        [&axID, this] (RenderObject* typedValue) { m_renderObjectMapping.set(typedValue, axID); },
+        [&axID, this] (Node* typedValue) { m_nodeObjectMapping.set(typedValue, axID); },
+        [&axID, this] (Widget* typedValue) { m_widgetObjectMapping.set(typedValue, axID); },
+        [] (auto&) { }
+    );
+    m_objects.set(axID, newObject);
+    newObject->init();
+    attachWrapper(newObject);
+}
+
 AccessibilityObject* AXObjectCache::getOrCreate(Widget* widget)
 {
     if (!widget)
@@ -625,12 +640,7 @@ AccessibilityObject* AXObjectCache::getOrCreate(Widget* widget)
     if (!newObj)
         return nullptr;
 
-    getAXID(newObj.get());
-    
-    m_widgetObjectMapping.set(widget, newObj->objectID());
-    m_objects.set(newObj->objectID(), newObj);
-    newObj->init();
-    attachWrapper(newObj.get());
+    cacheAndInitializeWrapper(newObj.get(), widget);
     return newObj.get();
 }
 
@@ -673,12 +683,7 @@ AccessibilityObject* AXObjectCache::getOrCreate(Node* node)
     // Will crash later if we have two objects for the same node.
     ASSERT(!get(node));
 
-    getAXID(newObj.get());
-
-    m_nodeObjectMapping.set(node, newObj->objectID());
-    m_objects.set(newObj->objectID(), newObj);
-    newObj->init();
-    attachWrapper(newObj.get());
+    cacheAndInitializeWrapper(newObj.get(), node);
     newObj->setLastKnownIsIgnoredValue(newObj->accessibilityIsIgnored());
     // Sometimes asking accessibilityIsIgnored() will cause the newObject to be deallocated, and then
     // it will disappear when this function is finished, leading to a use-after-free.
@@ -701,12 +706,7 @@ AccessibilityObject* AXObjectCache::getOrCreate(RenderObject* renderer)
     // Will crash later if we have two objects for the same renderer.
     ASSERT(!get(renderer));
 
-    getAXID(newObj.get());
-
-    m_renderObjectMapping.set(renderer, newObj->objectID());
-    m_objects.set(newObj->objectID(), newObj);
-    newObj->init();
-    attachWrapper(newObj.get());
+    cacheAndInitializeWrapper(newObj.get(), renderer);
     newObj->setLastKnownIsIgnoredValue(newObj->accessibilityIsIgnored());
     // Sometimes asking accessibilityIsIgnored() will cause the newObject to be deallocated, and then
     // it will disappear when this function is finished, leading to a use-after-free.
@@ -795,8 +795,8 @@ AccessibilityObject* AXObjectCache::rootObjectForFrame(Frame* frame)
     
 AccessibilityObject* AXObjectCache::getOrCreate(AccessibilityRole role)
 {
-    RefPtr<AccessibilityObject> obj = nullptr;
-    
+    RefPtr<AccessibilityObject> obj;
+
     // will be filled in...
     switch (role) {
     case AccessibilityRole::ListBoxOption:
@@ -829,15 +829,11 @@ AccessibilityObject* AXObjectCache::getOrCreate(AccessibilityRole role)
     default:
         obj = nullptr;
     }
-    
-    if (obj)
-        getAXID(obj.get());
-    else
+
+    if (!obj)
         return nullptr;
 
-    m_objects.set(obj->objectID(), obj);
-    obj->init();
-    attachWrapper(obj.get());
+    cacheAndInitializeWrapper(obj.get());
     return obj.get();
 }
 
@@ -3084,8 +3080,7 @@ Ref<AXIsolatedObject> AXObjectCache::createIsolatedTreeHierarchy(AXCoreObject& o
 
     isolatedTreeNode->setTreeIdentifier(tree.treeIdentifier());
     isolatedTreeNode->setParent(parentID);
-    axObjectCache->detachWrapper(&object, AccessibilityDetachmentType::ElementChange);
-    axObjectCache->attachWrapper(&isolatedTreeNode.get());
+    axObjectCache->attachWrapper(&isolatedTreeNode.get(), object.wrapper());
 
     for (const auto& child : object.children()) {
         auto staticChild = createIsolatedTreeHierarchy(*child, isolatedTreeNode->objectID(), axObjectCache, tree, nodeChanges, false);
index d3d45f3..2139406 100644 (file)
@@ -172,7 +172,15 @@ public:
     void remove(AXID);
 
     void detachWrapper(AXCoreObject*, AccessibilityDetachmentType);
+private:
+    using DOMObjectVariant = Variant<std::nullptr_t, RenderObject*, Node*, Widget*>;
+    void cacheAndInitializeWrapper(AccessibilityObject*, DOMObjectVariant = nullptr);
     void attachWrapper(AXCoreObject*);
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+    void attachWrapper(AXIsolatedObject*, WebAccessibilityObjectWrapper*);
+#endif
+
+public:
     void childrenChanged(Node*, Node* newChild = nullptr);
     void childrenChanged(RenderObject*, RenderObject* newChild = nullptr);
     void childrenChanged(AXCoreObject*);
index 26dcb0e..474e853 100644 (file)
@@ -123,7 +123,7 @@ static NSString * const UIAccessibilityTextualContextSourceCode = @"UIAccessibil
 static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityObjectWrapper *wrapper)
 {
     while (wrapper && ![wrapper isAccessibilityElement]) {
-        AXCoreObject* object = [wrapper accessibilityObject];
+        AXCoreObject* object = wrapper.axBackingObject;
         if (!object)
             break;
         
@@ -179,7 +179,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 // This is needed for external clients to be able to create a text marker without having a pointer to the cache.
 - (id)initWithData:(NSData *)data accessibilityObject:(AccessibilityObjectWrapper *)wrapper
 {
-    WebCore::AXCoreObject* axObject = [wrapper accessibilityObject];
+    WebCore::AXCoreObject* axObject = wrapper.axBackingObject;
     if (!axObject)
         return nil;
     
@@ -274,7 +274,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 {
     // rdar://8798960 Make sure the object is gone early, so that anything _accessibilityUnregister 
     // does can't call back into the render tree.
-    m_object = nullptr;
+    [super detach];
 
     if ([self respondsToSelector:@selector(_accessibilityUnregister)])
         [self _accessibilityUnregister];
@@ -283,7 +283,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 - (void)dealloc
 {
     // We should have been detached before deallocated.
-    ASSERT(!m_object);
+    ASSERT(!self.axBackingObject);
     [super dealloc];
 }
 
@@ -295,12 +295,12 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
     WebThreadLock();
     
-    // If we came back from our thread lock and we were detached, we will no longer have an m_object.
-    if (!m_object)
+    // If we came back from our thread lock and we were detached, we will no longer have an self.axBackingObject.
+    if (!self.axBackingObject)
         return NO;
     
-    m_object->updateBackingStore();
-    if (!m_object)
+    self.axBackingObject->updateBackingStore();
+    if (!self.axBackingObject)
         return NO;
     
     return YES;
@@ -341,7 +341,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return false;
     
-    AccessibilityRole role = m_object->roleValue();
+    AccessibilityRole role = self.axBackingObject->roleValue();
     // Elements that can be returned when performing fuzzy hit testing.
     switch (role) {
     case AccessibilityRole::Button:
@@ -369,7 +369,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     case AccessibilityRole::Tab:
     case AccessibilityRole::TextField:
     case AccessibilityRole::ToggleButton:
-        return !m_object->accessibilityIsIgnored();
+        return !self.axBackingObject->accessibilityIsIgnored();
     default:
         return false;
     }
@@ -390,8 +390,8 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     // Try a fuzzy hit test first to find an accessible element.
     AXCoreObject *axObject = nullptr;
     {
-        AXAttributeCacheEnabler enableCache(m_object->axObjectCache());
-        axObject = m_object->accessibilityHitTest(IntPoint(point));
+        AXAttributeCacheEnabler enableCache(self.axBackingObject->axObjectCache());
+        axObject = self.axBackingObject->accessibilityHitTest(IntPoint(point));
     }
 
     if (!axObject)
@@ -412,13 +412,13 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
 - (void)enableAttributeCaching
 {
-    if (AXObjectCache* cache = m_object->axObjectCache())
+    if (auto* cache = self.axBackingObject->axObjectCache())
         cache->startCachingComputedObjectAttributesUntilTreeMutates();
 }
 
 - (void)disableAttributeCaching
 {
-    if (AXObjectCache* cache = m_object->axObjectCache())
+    if (auto* cache = self.axBackingObject->axObjectCache())
         cache->stopCachingComputedObjectAttributes();
 }
 
@@ -432,7 +432,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
             return [attachmentView accessibilityElementCount];
     }
     
-    return m_object->children().size();
+    return self.axBackingObject->children().size();
 }
 
 - (id)accessibilityElementAtIndex:(NSInteger)index
@@ -445,7 +445,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
             return [attachmentView accessibilityElementAtIndex:index];
     }
     
-    const auto& children = m_object->children();
+    const auto& children = self.axBackingObject->children();
     size_t elementIndex = static_cast<size_t>(index);
     if (elementIndex >= children.size())
         return nil;
@@ -469,7 +469,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
             return [attachmentView indexOfAccessibilityElement:element];
     }
     
-    const auto& children = m_object->children();
+    const auto& children = self.axBackingObject->children();
     unsigned count = children.size();
     for (unsigned k = 0; k < count; ++k) {
         AccessibilityObjectWrapper* wrapper = children[k]->wrapper();
@@ -485,10 +485,10 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return NULL;
 
-    if (!m_object->supportsPath())
+    if (!self.axBackingObject->supportsPath())
         return NULL;
     
-    Path path = m_object->elementPath();
+    Path path = self.axBackingObject->elementPath();
     if (path.isEmpty())
         return NULL;
     
@@ -500,7 +500,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    return m_object->hasPopup();
+    return self.axBackingObject->hasPopup();
 }
 
 - (NSString *)accessibilityPopupValue
@@ -508,7 +508,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->popupValue();
+    return self.axBackingObject->popupValue();
 }
 
 - (NSString *)accessibilityLanguage
@@ -516,7 +516,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    return m_object->language();
+    return self.axBackingObject->language();
 }
 
 - (BOOL)accessibilityIsDialog
@@ -524,7 +524,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    AccessibilityRole roleValue = m_object->roleValue();
+    AccessibilityRole roleValue = self.axBackingObject->roleValue();
     return roleValue == AccessibilityRole::ApplicationDialog || roleValue == AccessibilityRole::ApplicationAlertDialog;
 }
 
@@ -555,7 +555,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
         return role == AccessibilityRole::Tree;
     };
 
-    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, false, WTFMove(matchFunc)))
+    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, false, WTFMove(matchFunc)))
         return parent->wrapper();
     return nil;
 }
@@ -567,14 +567,14 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
         return role == AccessibilityRole::List || role == AccessibilityRole::ListBox;
     };
     
-    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, false, WTFMove(matchFunc)))
+    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, false, WTFMove(matchFunc)))
         return parent->wrapper();
     return nil;
 }
 
 - (AccessibilityObjectWrapper*)_accessibilityArticleAncestor
 {
-    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, false, [] (const AXCoreObject& object) {
+    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, false, [] (const AXCoreObject& object) {
         return object.roleValue() == AccessibilityRole::DocumentArticle;
     }))
         return parent->wrapper();
@@ -583,7 +583,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
 - (AccessibilityObjectWrapper*)_accessibilityLandmarkAncestor
 {
-    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, false, [self] (const AXCoreObject& object) {
+    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, false, [self] (const AXCoreObject& object) {
         return [self _accessibilityIsLandmarkRole:object.roleValue()];
     }))
         return parent->wrapper();
@@ -592,7 +592,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
 - (AccessibilityObjectWrapper*)_accessibilityTableAncestor
 {
-    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, false, [] (const AXCoreObject& object) {
+    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, false, [] (const AXCoreObject& object) {
         return object.roleValue() == AccessibilityRole::Table;
     }))
         return parent->wrapper();
@@ -601,14 +601,14 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
 - (BOOL)_accessibilityIsInTableCell
 {
-    return Accessibility::findAncestor<AXCoreObject>(*m_object, false, [] (const AXCoreObject& object) {
+    return Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, false, [] (const AXCoreObject& object) {
         return object.roleValue() == AccessibilityRole::Cell;
     }) != nullptr;
 }
 
 - (AccessibilityObjectWrapper*)_accessibilityFieldsetAncestor
 {
-    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, false, [] (const AXCoreObject& object) {
+    if (const AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, false, [] (const AXCoreObject& object) {
         return object.isFieldset();
     }))
         return parent->wrapper();
@@ -617,7 +617,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
 - (AccessibilityObjectWrapper*)_accessibilityFrameAncestor
 {
-    auto* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, false, [] (const AXCoreObject& object) {
+    auto* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, false, [] (const AXCoreObject& object) {
         return object.isWebArea();
     });
     if (!parent)
@@ -628,11 +628,11 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 - (uint64_t)_accessibilityTraitsFromAncestors
 {
     uint64_t traits = 0;
-    AccessibilityRole role = m_object->roleValue();
+    AccessibilityRole role = self.axBackingObject->roleValue();
     
     // Trait information also needs to be gathered from the parents above the object.
     // The parentObject is needed instead of the unignoredParentObject, because a table might be ignored, but information still needs to be gathered from it.    
-    for (auto* parent = m_object->parentObject(); parent != nil; parent = parent->parentObject()) {
+    for (auto* parent = self.axBackingObject->parentObject(); parent != nil; parent = parent->parentObject()) {
         AccessibilityRole parentRole = parent->roleValue();
         if (parentRole == AccessibilityRole::WebArea)
             break;
@@ -655,7 +655,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
                 // alternate text on the heading parent.
                 NSString *headingLabel = [wrapper baseAccessibilityDescription];
                 if (![headingLabel length])
-                    [self setAccessibilityLabel:m_object->stringValue()];
+                    [self setAccessibilityLabel:self.axBackingObject->stringValue()];
                 else
                     [self setAccessibilityLabel:headingLabel];
             }
@@ -690,18 +690,18 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    if (m_object->roleValue() != AccessibilityRole::Video || !is<AccessibilityMediaObject>(m_object))
+    if (self.axBackingObject->roleValue() != AccessibilityRole::Video || !is<AccessibilityMediaObject>(self.axBackingObject))
         return NO;
 
     // Convey the video object as interactive if auto-play is not enabled.
-    return !downcast<AccessibilityMediaObject>(*m_object).isAutoplayEnabled();
+    return !downcast<AccessibilityMediaObject>(*self.axBackingObject).isAutoplayEnabled();
 }
 
 - (NSString *)interactiveVideoDescription
 {
-    if (!is<AccessibilityMediaObject>(m_object))
+    if (!is<AccessibilityMediaObject>(self.axBackingObject))
         return nil;
-    return downcast<AccessibilityMediaObject>(m_object)->interactiveVideoDuration();
+    return downcast<AccessibilityMediaObject>(self.axBackingObject)->interactiveVideoDuration();
 }
 
 - (BOOL)accessibilityIsMediaPlaying
@@ -709,10 +709,10 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    if (!is<AccessibilityMediaObject>(m_object))
+    if (!is<AccessibilityMediaObject>(self.axBackingObject))
         return NO;
     
-    return downcast<AccessibilityMediaObject>(m_object)->isPlaying();
+    return downcast<AccessibilityMediaObject>(self.axBackingObject)->isPlaying();
 }
 
 - (BOOL)accessibilityIsMediaMuted
@@ -720,10 +720,10 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    if (!is<AccessibilityMediaObject>(m_object))
+    if (!is<AccessibilityMediaObject>(self.axBackingObject))
         return NO;
     
-    return downcast<AccessibilityMediaObject>(m_object)->isMuted();
+    return downcast<AccessibilityMediaObject>(self.axBackingObject)->isMuted();
 }
 
 - (void)accessibilityToggleMuteForMedia
@@ -731,10 +731,10 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return;
     
-    if (!is<AccessibilityMediaObject>(m_object))
+    if (!is<AccessibilityMediaObject>(self.axBackingObject))
         return;
 
-    downcast<AccessibilityMediaObject>(m_object)->toggleMute();
+    downcast<AccessibilityMediaObject>(self.axBackingObject)->toggleMute();
 }
 
 - (void)accessibilityVideoEnterFullscreen
@@ -742,22 +742,22 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return;
     
-    if (!is<AccessibilityMediaObject>(m_object))
+    if (!is<AccessibilityMediaObject>(self.axBackingObject))
         return;
     
-    downcast<AccessibilityMediaObject>(m_object)->enterFullscreen();
+    downcast<AccessibilityMediaObject>(self.axBackingObject)->enterFullscreen();
 }
 
 - (uint64_t)_accessibilityTextEntryTraits
 {
     uint64_t traits = [self _axTextEntryTrait];
-    if (m_object->isFocused())
+    if (self.axBackingObject->isFocused())
         traits |= ([self _axHasTextCursorTrait] | [self _axTextOperationsAvailableTrait]);
-    if (m_object->isPasswordField())
+    if (self.axBackingObject->isPasswordField())
         traits |= [self _axSecureTextFieldTrait];
-    if (m_object->roleValue() == AccessibilityRole::SearchField)
+    if (self.axBackingObject->roleValue() == AccessibilityRole::SearchField)
         traits |= [self _axSearchFieldTrait];
-    if (m_object->roleValue() == AccessibilityRole::TextArea)
+    if (self.axBackingObject->roleValue() == AccessibilityRole::TextArea)
         traits |= [self _axTextAreaTrait];
     return traits;
 }
@@ -767,13 +767,13 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
     if (![self _prepareAccessibilityCall])
         return 0;
     
-    AccessibilityRole role = m_object->roleValue();
+    AccessibilityRole role = self.axBackingObject->roleValue();
     uint64_t traits = [self _axWebContentTrait];
     switch (role) {
     case AccessibilityRole::Link:
     case AccessibilityRole::WebCoreLink:
         traits |= [self _axLinkTrait];
-        if (m_object->isVisited())
+        if (self.axBackingObject->isVisited())
             traits |= [self _axVisitedTrait];
         break;
     case AccessibilityRole::TextField:
@@ -789,7 +789,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
         break;
     case AccessibilityRole::Button:
         traits |= [self _axButtonTrait];
-        if (m_object->isPressed())
+        if (self.axBackingObject->isPressed())
             traits |= [self _axToggleTrait];
         break;
     case AccessibilityRole::PopUpButton:
@@ -824,13 +824,13 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
         break;
     }
 
-    if (m_object->isAttachmentElement())
+    if (self.axBackingObject->isAttachmentElement())
         traits |= [self _axUpdatesFrequentlyTrait];
     
-    if (m_object->isSelected())
+    if (self.axBackingObject->isSelected())
         traits |= [self _axSelectedTrait];
 
-    if (!m_object->isEnabled())
+    if (!self.axBackingObject->isEnabled())
         traits |= [self _axNotEnabledTrait];
     
     if (m_accessibilityTraitsFromAncestor == ULLONG_MAX)
@@ -844,7 +844,7 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 - (BOOL)isSVGGroupElement
 {
     // If an SVG group element has a title, it should be an accessible element on iOS.
-    Node* node = m_object->node();
+    Node* node = self.axBackingObject->node();
     if (node && node->hasTagName(SVGNames::gTag) && [[self accessibilityLabel] length] > 0)
         return YES;
     
@@ -853,16 +853,16 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
 - (BOOL)determineIsAccessibilityElement
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return false;
     
     // Honor when something explicitly makes this an element (super will contain that logic) 
     if ([super isAccessibilityElement])
         return YES;
     
-    m_object->updateBackingStore();
+    self.axBackingObject->updateBackingStore();
     
-    switch (m_object->roleValue()) {
+    switch (self.axBackingObject->roleValue()) {
     case AccessibilityRole::TextField:
     case AccessibilityRole::TextArea:
     case AccessibilityRole::Button:
@@ -1061,11 +1061,11 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
 - (BOOL)stringValueShouldBeUsedInLabel
 {
-    if (m_object->isTextControl())
+    if (self.axBackingObject->isTextControl())
         return NO;
-    if (m_object->roleValue() == AccessibilityRole::PopUpButton)
+    if (self.axBackingObject->roleValue() == AccessibilityRole::PopUpButton)
         return NO;
-    if (m_object->isFileUploadButton())
+    if (self.axBackingObject->isFileUploadButton())
         return NO;
     if ([self accessibilityIsWebInteractiveVideo])
         return NO;
@@ -1088,7 +1088,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    return m_object->hasTouchEventListener();
+    return self.axBackingObject->hasTouchEventListener();
 }
 
 - (BOOL)_accessibilityValueIsAutofilled
@@ -1096,7 +1096,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return m_object->isValueAutofilled();
+    return self.axBackingObject->isValueAutofilled();
 }
 
 - (BOOL)_accessibilityIsStrongPasswordField
@@ -1104,10 +1104,10 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    if (!m_object->isPasswordField())
+    if (!self.axBackingObject->isPasswordField())
         return NO;
     
-    return m_object->valueAutofillButtonType() == AutoFillButtonType::StrongPassword;
+    return self.axBackingObject->valueAutofillButtonType() == AutoFillButtonType::StrongPassword;
 }
 
 - (CGFloat)_accessibilityMinValue
@@ -1115,7 +1115,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return 0;
     
-    return m_object->minValueForRange();
+    return self.axBackingObject->minValueForRange();
 }
 
 - (CGFloat)_accessibilityMaxValue
@@ -1123,7 +1123,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return 0;
     
-    return m_object->maxValueForRange();
+    return self.axBackingObject->maxValueForRange();
 }
 
 - (NSString *)accessibilityRoleDescription
@@ -1131,10 +1131,10 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    if (m_object->isColorWell())
+    if (self.axBackingObject->isColorWell())
         return AXColorWellText();
 
-    return m_object->roleDescription();
+    return self.axBackingObject->roleDescription();
 }
 
 - (NSString *)accessibilityLabel
@@ -1155,21 +1155,21 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     NSString *interactiveVideoDescription = [self interactiveVideoDescription];
     
     // We should expose the value of the input type date or time through AXValue instead of AXTitle.
-    if (m_object->isInputTypePopupButton() && [axTitle isEqualToString:[self accessibilityValue]])
+    if (self.axBackingObject->isInputTypePopupButton() && [axTitle isEqualToString:[self accessibilityValue]])
         axTitle = nil;
 
     // Footer is not considered a landmark, but we want the role description.
-    if (m_object->roleValue() == AccessibilityRole::Footer)
+    if (self.axBackingObject->roleValue() == AccessibilityRole::Footer)
         landmarkDescription = AXFooterRoleDescriptionText();
 
     NSMutableString *result = [NSMutableString string];
-    if (m_object->roleValue() == AccessibilityRole::HorizontalRule)
+    if (self.axBackingObject->roleValue() == AccessibilityRole::HorizontalRule)
         appendStringToResult(result, AXHorizontalRuleDescriptionText());
 
     appendStringToResult(result, axTitle);
     appendStringToResult(result, axDescription);
     if ([self stringValueShouldBeUsedInLabel]) {
-        NSString *valueLabel = m_object->stringValue();
+        NSString *valueLabel = self.axBackingObject->stringValue();
         valueLabel = [valueLabel stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
         appendStringToResult(result, valueLabel);
     }
@@ -1182,7 +1182,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
 - (AccessibilityTableCell*)tableCellParent
 {
     // Find if this element is in a table cell.
-    if (AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, true, [] (const AXCoreObject& object) {
+    if (AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, true, [] (const AXCoreObject& object) {
         return object.isTableCell();
     }))
         return static_cast<AccessibilityTableCell*>(parent);
@@ -1192,7 +1192,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
 - (AccessibilityTable*)tableParent
 {
     // Find if the parent table for the table cell.
-    if (AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, true, [] (const AXCoreObject& object) {
+    if (AXCoreObject* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, true, [] (const AXCoreObject& object) {
         return is<AccessibilityTable>(object) && downcast<AccessibilityTable>(object).isExposableThroughAccessibility();
     }))
         return static_cast<AccessibilityTable*>(parent);
@@ -1204,7 +1204,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    AXCoreObject* titleElement = m_object->titleUIElement();
+    AXCoreObject* titleElement = self.axBackingObject->titleUIElement();
     if (titleElement)
         return titleElement->wrapper();
 
@@ -1354,13 +1354,13 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NSMakeRange(NSNotFound, 0);
 
-    if (m_object->isRadioButton()) {
+    if (self.axBackingObject->isRadioButton()) {
         AccessibilityObject::AccessibilityChildrenVector radioButtonSiblings;
-        m_object->linkedUIElements(radioButtonSiblings);
+        self.axBackingObject->linkedUIElements(radioButtonSiblings);
         if (radioButtonSiblings.size() <= 1)
             return NSMakeRange(NSNotFound, 0);
         
-        return NSMakeRange(radioButtonSiblings.find(m_object), radioButtonSiblings.size());
+        return NSMakeRange(radioButtonSiblings.find(self.axBackingObject), radioButtonSiblings.size());
     }
     
     AccessibilityTableCell* tableCell = [self tableCellParent];
@@ -1390,7 +1390,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
 {
     if (![self _prepareAccessibilityCall])
         return 0;
-    return m_object->blockquoteLevel();
+    return self.axBackingObject->blockquoteLevel();
 }
 
 - (NSString *)accessibilityDatetimeValue
@@ -1398,7 +1398,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    if (auto* parent = Accessibility::findAncestor<AXCoreObject>(*m_object, true, [] (const AXCoreObject& object) {
+    if (auto* parent = Accessibility::findAncestor<AXCoreObject>(*self.axBackingObject, true, [] (const AXCoreObject& object) {
         return object.supportsDatetimeAttribute();
     }))
         return parent->datetimeAttributeValue();
@@ -1411,7 +1411,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->placeholderValue();
+    return self.axBackingObject->placeholderValue();
 }
 
 - (NSString *)accessibilityColorStringValue
@@ -1419,9 +1419,9 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    if (m_object->isColorWell()) {
+    if (self.axBackingObject->isColorWell()) {
         int r, g, b;
-        m_object->colorValue(r, g, b);
+        self.axBackingObject->colorValue(r, g, b);
         return [NSString stringWithFormat:@"rgb %7.5f %7.5f %7.5f 1", r / 255., g / 255., b / 255.];
     }
 
@@ -1438,9 +1438,9 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (value)
         return value;
     
-    AccessibilityRole role = m_object->roleValue();
-    if (m_object->isCheckboxOrRadio() || role == AccessibilityRole::MenuItemCheckbox || role == AccessibilityRole::MenuItemRadio || role == AccessibilityRole::Switch) {
-        switch (m_object->checkboxOrRadioValue()) {
+    AccessibilityRole role = self.axBackingObject->roleValue();
+    if (self.axBackingObject->isCheckboxOrRadio() || role == AccessibilityRole::MenuItemCheckbox || role == AccessibilityRole::MenuItemRadio || role == AccessibilityRole::Switch) {
+        switch (self.axBackingObject->checkboxOrRadioValue()) {
         case AccessibilityButtonState::Off:
             return [NSString stringWithFormat:@"%d", 0];
         case AccessibilityButtonState::On:
@@ -1452,12 +1452,12 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
         return [NSString stringWithFormat:@"%d", 0];
     }
     
-    if (m_object->isButton() && m_object->isPressed())
+    if (self.axBackingObject->isButton() && self.axBackingObject->isPressed())
         return [NSString stringWithFormat:@"%d", 1];
 
     // rdar://8131388 WebKit should expose the same info as UIKit for its password fields.
-    if (m_object->isPasswordField() && ![self _accessibilityIsStrongPasswordField]) {
-        int passwordLength = m_object->accessibilityPasswordFieldLength();
+    if (self.axBackingObject->isPasswordField() && ![self _accessibilityIsStrongPasswordField]) {
+        int passwordLength = self.axBackingObject->accessibilityPasswordFieldLength();
         NSMutableString* string = [NSMutableString string];
         for (int k = 0; k < passwordLength; ++k)
             [string appendString:@"•"];
@@ -1466,22 +1466,22 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     
     // A text control should return its text data as the axValue (per iPhone AX API).
     if (![self stringValueShouldBeUsedInLabel])
-        return m_object->stringValue();
+        return self.axBackingObject->stringValue();
     
-    if (m_object->isRangeControl()) {
+    if (self.axBackingObject->isRangeControl()) {
         // Prefer a valueDescription if provided by the author (through aria-valuetext).
-        String valueDescription = m_object->valueDescription();
+        String valueDescription = self.axBackingObject->valueDescription();
         if (!valueDescription.isEmpty())
             return valueDescription;
 
-        return [NSString stringWithFormat:@"%.2f", m_object->valueForRange()];
+        return [NSString stringWithFormat:@"%.2f", self.axBackingObject->valueForRange()];
     }
 
-    if (is<AccessibilityAttachment>(m_object) && downcast<AccessibilityAttachment>(m_object)->hasProgress())
-        return [NSString stringWithFormat:@"%.2f", m_object->valueForRange()];
+    if (is<AccessibilityAttachment>(self.axBackingObject) && downcast<AccessibilityAttachment>(self.axBackingObject)->hasProgress())
+        return [NSString stringWithFormat:@"%.2f", self.axBackingObject->valueForRange()];
     
-    if (m_object->isHeading())
-        return [NSString stringWithFormat:@"%d", m_object->headingLevel()];
+    if (self.axBackingObject->isHeading())
+        return [NSString stringWithFormat:@"%d", self.axBackingObject->headingLevel()];
     
     return nil;
 }
@@ -1491,7 +1491,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return is<AccessibilityAttachment>(m_object);
+    return is<AccessibilityAttachment>(self.axBackingObject);
 }
 
 - (BOOL)accessibilityIsComboBox
@@ -1499,7 +1499,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return m_object->roleValue() == AccessibilityRole::ComboBox;
+    return self.axBackingObject->roleValue() == AccessibilityRole::ComboBox;
 }
 
 - (NSString *)accessibilityHint
@@ -1511,7 +1511,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     appendStringToResult(result, [self baseAccessibilityHelpText]);
     
     if ([self accessibilityIsShowingValidationMessage])
-        appendStringToResult(result, m_object->validationMessage());
+        appendStringToResult(result, self.axBackingObject->validationMessage());
     
     return result;
 }
@@ -1521,7 +1521,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    URL url = m_object->url();
+    URL url = self.axBackingObject->url();
     if (url.isNull())
         return nil;
     return (NSURL*)url;
@@ -1542,7 +1542,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    m_object->scrollToMakeVisible();
+    self.axBackingObject->scrollToMakeVisible();
     return YES;
 }
 
@@ -1570,7 +1570,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
         return NO;
     }
 
-    BOOL result = m_object->scrollByPage(scrollDirection);
+    BOOL result = self.axBackingObject->scrollByPage(scrollDirection);
     
     if (result) {
         [self postScrollStatusChangeNotification];
@@ -1586,7 +1586,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
 
 - (CGRect)_accessibilityRelativeFrame
 {
-    auto rect = FloatRect(snappedIntRect(m_object->elementRect()));
+    auto rect = FloatRect(snappedIntRect(self.axBackingObject->elementRect()));
     return [self convertRectToSpace:rect space:AccessibilityConversionSpace::Page];
 }
 
@@ -1596,7 +1596,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return CGRectZero;
     
-    LayoutRect rect = m_object->elementRect();
+    LayoutRect rect = self.axBackingObject->elementRect();
     return CGRectMake(rect.x(), rect.y(), rect.width(), rect.height());
 }
 
@@ -1605,7 +1605,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return CGRectZero;
     
-    auto document = m_object->document();
+    auto document = self.axBackingObject->document();
     if (!document || !document->view())
         return CGRectZero;
     auto rect = FloatRect(snappedIntRect(document->view()->unobscuredContentRect()));
@@ -1619,7 +1619,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return CGPointZero;
 
-    IntPoint point = m_object->clickPoint();
+    IntPoint point = self.axBackingObject->clickPoint();
     return [self _accessibilityConvertPointToViewSpace:point];
 }
 
@@ -1628,21 +1628,21 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return CGRectZero;
     
-    auto rect = FloatRect(snappedIntRect(m_object->elementRect()));
+    auto rect = FloatRect(snappedIntRect(self.axBackingObject->elementRect()));
     return [self convertRectToSpace:rect space:AccessibilityConversionSpace::Screen];
 }
 
 // Checks whether a link contains only static text and images (and has been divided unnaturally by <spans> and other nefarious mechanisms).
 - (BOOL)containsUnnaturallySegmentedChildren
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return NO;
     
-    AccessibilityRole role = m_object->roleValue();
+    AccessibilityRole role = self.axBackingObject->roleValue();
     if (role != AccessibilityRole::Link && role != AccessibilityRole::WebCoreLink)
         return NO;
     
-    const auto& children = m_object->children();
+    const auto& children = self.axBackingObject->children();
     unsigned childrenSize = children.size();
 
     // If there's only one child, then it doesn't have segmented children. 
@@ -1663,23 +1663,23 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    AXAttributeCacheEnabler enableCache(m_object->axObjectCache());
+    AXAttributeCacheEnabler enableCache(self.axBackingObject->axObjectCache());
     
     // As long as there's a parent wrapper, that's the correct chain to climb.
-    AXCoreObject* parent = m_object->parentObjectUnignored();
+    AXCoreObject* parent = self.axBackingObject->parentObjectUnignored();
     if (parent)
         return parent->wrapper();
 
     // Mock objects can have their parents detached but still exist in the cache.
-    if (m_object->isDetachedFromParent())
+    if (self.axBackingObject->isDetachedFromParent())
         return nil;
     
     // The only object without a parent wrapper at this point should be a scroll view.
-    ASSERT(m_object->isAccessibilityScrollView());
+    ASSERT(self.axBackingObject->isAccessibilityScrollView());
     
     // Verify this is the top document. If not, we might need to go through the platform widget.
-    FrameView* frameView = m_object->documentFrameView();
-    Document* document = m_object->document();
+    FrameView* frameView = self.axBackingObject->documentFrameView();
+    Document* document = self.axBackingObject->document();
     if (document && frameView && document != &document->topDocument())
         return frameView->platformWidget();
     
@@ -1692,7 +1692,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    AccessibilityObject* focusedObj = downcast<AccessibilityObject>(m_object->focusedUIElement());
+    AccessibilityObject* focusedObj = downcast<AccessibilityObject>(self.axBackingObject->focusedUIElement());
     
     if (!focusedObj)
         return nil;
@@ -1714,7 +1714,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (!webViewClass)
         return nil;
     
-    FrameView* frameView = m_object->documentFrameView();
+    FrameView* frameView = self.axBackingObject->documentFrameView();
 
     if (!frameView)
         return nil;
@@ -1753,7 +1753,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    return m_object->canSetValueAttribute();
+    return self.axBackingObject->canSetValueAttribute();
 }
 
 - (NSString *)accessibilityLinkRelationshipType
@@ -1761,7 +1761,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    return m_object->linkRelValue();
+    return self.axBackingObject->linkRelValue();
 }
 
 - (BOOL)accessibilityRequired
@@ -1769,7 +1769,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return m_object->isRequired();
+    return self.axBackingObject->isRequired();
 }
 
 - (NSArray *)accessibilityFlowToElements
@@ -1778,7 +1778,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
         return nil;
     
     AccessibilityObject::AccessibilityChildrenVector children;
-    m_object->ariaFlowToElements(children);
+    self.axBackingObject->ariaFlowToElements(children);
     
     unsigned length = children.size();
     NSMutableArray* array = [NSMutableArray arrayWithCapacity:length];
@@ -1802,9 +1802,9 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
         return nil;
 
     // If this static text inside of a link, it should use its parent's linked element.
-    AXCoreObject* element = m_object;
-    if (m_object->roleValue() == AccessibilityRole::StaticText && m_object->parentObjectUnignored()->isLink())
-        element = m_object->parentObjectUnignored();
+    AXCoreObject* element = self.axBackingObject;
+    if (self.axBackingObject->roleValue() == AccessibilityRole::StaticText && self.axBackingObject->parentObjectUnignored()->isLink())
+        element = self.axBackingObject->parentObjectUnignored();
 
     AccessibilityObject::AccessibilityChildrenVector linkedElements;
     element->linkedUIElements(linkedElements);
@@ -1823,10 +1823,10 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
 
 - (BOOL)isAttachment
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return NO;
     
-    return m_object->isAttachment();
+    return self.axBackingObject->isAttachment();
 }
 
 - (NSString *)accessibilityTextualContext
@@ -1834,7 +1834,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    if (m_object->node() && m_object->node()->hasTagName(codeTag))
+    if (self.axBackingObject->node() && self.axBackingObject->node()->hasTagName(codeTag))
         return UIAccessibilityTextualContextSourceCode;
     
     return nil;
@@ -1845,7 +1845,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return m_object->press();
+    return self.axBackingObject->press();
 }
 
 - (id)attachmentView
@@ -1854,7 +1854,7 @@ static void appendStringToResult(NSMutableString *result, NSString *string)
         return nil;
 
     ASSERT([self isAttachment]);
-    Widget* widget = m_object->widgetForAttachmentView();
+    Widget* widget = self.axBackingObject->widgetForAttachmentView();
     if (!widget)
         return nil;
     return widget->platformWidget();    
@@ -1950,7 +1950,7 @@ static RenderObject* rendererForView(WAKView* view)
     if (![self _prepareAccessibilityCall])
         return CGPointZero;
     
-    return m_object->scrollPosition();
+    return self.axBackingObject->scrollPosition();
 }
 
 - (CGSize)_accessibilityScrollSize
@@ -1958,7 +1958,7 @@ static RenderObject* rendererForView(WAKView* view)
     if (![self _prepareAccessibilityCall])
         return CGSizeZero;
     
-    return m_object->scrollContentsSize();
+    return self.axBackingObject->scrollContentsSize();
 }
 
 - (CGRect)_accessibilityScrollVisibleRect
@@ -1966,7 +1966,7 @@ static RenderObject* rendererForView(WAKView* view)
     if (![self _prepareAccessibilityCall])
         return CGRectZero;
     
-    return m_object->scrollVisibleContentRect();
+    return self.axBackingObject->scrollVisibleContentRect();
 }
 
 - (AXCoreObject*)detailParentForSummaryObject:(AXCoreObject*)object
@@ -2004,7 +2004,7 @@ static RenderObject* rendererForView(WAKView* view)
 {
     AccessibilitySearchCriteria criteria = accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute(parameters);
     AccessibilityObject::AccessibilityChildrenVector results;
-    m_object->findMatchingObjects(&criteria, results);
+    self.axBackingObject->findMatchingObjects(&criteria, results);
     return convertToNSArray(results);
 }
 
@@ -2013,9 +2013,9 @@ static RenderObject* rendererForView(WAKView* view)
     if (![self _prepareAccessibilityCall])
         return;
     
-    FrameSelection& frameSelection = m_object->document()->frame()->selection();
-    VisibleSelection selection = m_object->selection();
-    VisiblePositionRange range = m_object->visiblePositionRange();
+    FrameSelection& frameSelection = self.axBackingObject->document()->frame()->selection();
+    VisibleSelection selection = self.axBackingObject->selection();
+    VisiblePositionRange range = self.axBackingObject->visiblePositionRange();
     
     // Before a selection with length exists, the cursor position needs to move to the right starting place.
     // That should be the beginning of this element (range.start). However, if the cursor is already within the 
@@ -2050,7 +2050,7 @@ static RenderObject* rendererForView(WAKView* view)
     if (visiblePosition.isNull())
         return;
 
-    FrameSelection& frameSelection = m_object->document()->frame()->selection();
+    FrameSelection& frameSelection = self.axBackingObject->document()->frame()->selection();
     frameSelection.moveTo(visiblePosition, UserTriggered);
 }
 
@@ -2059,7 +2059,7 @@ static RenderObject* rendererForView(WAKView* view)
     if (![self _prepareAccessibilityCall])
         return;
 
-    m_object->increment();
+    self.axBackingObject->increment();
 }
 
 - (void)accessibilityDecrement
@@ -2067,7 +2067,7 @@ static RenderObject* rendererForView(WAKView* view)
     if (![self _prepareAccessibilityCall])
         return;
 
-    m_object->decrement();
+    self.axBackingObject->decrement();
 }
 
 #pragma mark Accessibility Text Marker Handlers
@@ -2096,7 +2096,7 @@ static RenderObject* rendererForView(WAKView* view)
 {
     if (![self _prepareAccessibilityCall])
         return;
-    m_object->setValue(string);
+    self.axBackingObject->setValue(string);
 }
 
 - (NSString *)stringForTextMarkers:(NSArray *)markers
@@ -2108,7 +2108,7 @@ static RenderObject* rendererForView(WAKView* view)
     if (!range)
         return nil;
     
-    return m_object->stringForRange(range);
+    return self.axBackingObject->stringForRange(range);
 }
 
 static int blockquoteLevel(RenderObject* renderer)
@@ -2308,7 +2308,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
         } else {
             Node* replacedNode = node.traverseToChildAt(offset);
             if (replacedNode) {
-                AccessibilityObject* obj = m_object->axObjectCache()->getOrCreate(replacedNode->renderer());
+                AccessibilityObject* obj = self.axBackingObject->axObjectCache()->getOrCreate(replacedNode->renderer());
                 if (obj && !obj->accessibilityIsIgnored())
                     [self _addAccessibilityObject:obj toTextMarkerArray:array];
             }
@@ -2323,7 +2323,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (!range)
         return NSMakeRange(NSNotFound, 0);
 
-    Document* document = m_object->document();
+    Document* document = self.axBackingObject->document();
     Element* selectionRoot = document->frame()->selection().selection().rootEditableElement();
     Element* scope = selectionRoot ? selectionRoot : document->documentElement();
 
@@ -2357,7 +2357,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     // directly in the document DOM, so serialization is problematic. Our solution is
     // to use the root editable element of the selection start as the positional base.
     // That fits with AppKit's idea of an input context.
-    Document* document = m_object->document();
+    Document* document = self.axBackingObject->document();
     Element* selectionRoot = document->frame()->selection().selection().rootEditableElement();
     Element* scope = selectionRoot ? selectionRoot : document->documentElement();
     return TextIterator::rangeFromLocationAndLength(scope, nsrange.location, nsrange.length);
@@ -2373,7 +2373,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (!marker)
         return NSNotFound;    
 
-    if (AXObjectCache* cache = m_object->axObjectCache()) {
+    if (AXObjectCache* cache = self.axBackingObject->axObjectCache()) {
         CharacterOffset characterOffset = [marker characterOffset];
         // Create a collapsed range from the CharacterOffset object.
         RefPtr<Range> range = cache->rangeForUnorderedCharacterOffsets(characterOffset, characterOffset);
@@ -2388,7 +2388,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    RefPtr<Range> range = m_object->elementRange();
+    RefPtr<Range> range = self.axBackingObject->elementRange();
     return [self textMarkersForRange:range];
 }
 
@@ -2431,11 +2431,11 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    VisibleSelection selection = m_object->selection();
+    VisibleSelection selection = self.axBackingObject->selection();
     if (selection.isNone())
         return nil;
     
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nil;
     
@@ -2463,7 +2463,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (!range)
         return nil;
 
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nil;
     
@@ -2528,7 +2528,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->stringForRange([self _convertToDOMRange:range]);
+    return self.axBackingObject->stringForRange([self _convertToDOMRange:range]);
 }
 
 - (NSAttributedString *)attributedStringForRange:(NSRange)range
@@ -2550,10 +2550,10 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
 
 - (NSRange)_accessibilitySelectedTextRange
 {
-    if (![self _prepareAccessibilityCall] || !m_object->isTextControl())
+    if (![self _prepareAccessibilityCall] || !self.axBackingObject->isTextControl())
         return NSMakeRange(NSNotFound, 0);
 
-    PlainTextRange textRange = m_object->selectedTextRange();
+    PlainTextRange textRange = self.axBackingObject->selectedTextRange();
     if (textRange.isNull())
         return NSMakeRange(NSNotFound, 0);
     return NSMakeRange(textRange.start, textRange.length);
@@ -2561,10 +2561,10 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
 
 - (void)_accessibilitySetSelectedTextRange:(NSRange)range
 {
-    if (![self _prepareAccessibilityCall] || !m_object->isTextControl())
+    if (![self _prepareAccessibilityCall] || !self.axBackingObject->isTextControl())
         return;
     
-    m_object->setSelectedTextRange(PlainTextRange(range.location, range.length));
+    self.axBackingObject->setSelectedTextRange(PlainTextRange(range.location, range.length));
 }
 
 - (BOOL)accessibilityReplaceRange:(NSRange)range withText:(NSString *)string
@@ -2572,7 +2572,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return m_object->replaceTextInRange(string, PlainTextRange(range));
+    return self.axBackingObject->replaceTextInRange(string, PlainTextRange(range));
 }
 
 - (BOOL)accessibilityInsertText:(NSString *)text
@@ -2580,7 +2580,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return m_object->insertText(text);
+    return self.axBackingObject->insertText(text);
 }
 
 // A convenience method for getting the accessibility objects of a NSRange. Currently used only by DRT.
@@ -2615,14 +2615,14 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    VisibleSelection selection = m_object->selection();
+    VisibleSelection selection = self.axBackingObject->selection();
     VisiblePosition position = selection.visibleStart();
     
     // if there's no selection, start at the top of the document
     if (position.isNull())
-        position = startOfDocument(m_object->document());
+        position = startOfDocument(self.axBackingObject->document());
     
-    return [WebAccessibilityTextMarker textMarkerWithVisiblePosition:position cache:m_object->axObjectCache()];
+    return [WebAccessibilityTextMarker textMarkerWithVisiblePosition:position cache:self.axBackingObject->axObjectCache()];
 }
 
 // This method is intended to return the marker at the end of the line starting at
@@ -2636,9 +2636,9 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
         return nil;
     
     VisiblePosition start = [marker visiblePosition];
-    VisiblePosition lineEnd = m_object->nextLineEndPosition(start);
+    VisiblePosition lineEnd = self.axBackingObject->nextLineEndPosition(start);
     
-    return [WebAccessibilityTextMarker textMarkerWithVisiblePosition:lineEnd cache:m_object->axObjectCache()];
+    return [WebAccessibilityTextMarker textMarkerWithVisiblePosition:lineEnd cache:self.axBackingObject->axObjectCache()];
 }
 
 // This method is intended to return the marker at the start of the line starting at
@@ -2652,9 +2652,9 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
         return nil;
     
     VisiblePosition start = [marker visiblePosition];
-    VisiblePosition lineStart = m_object->previousLineStartPosition(start);
+    VisiblePosition lineStart = self.axBackingObject->previousLineStartPosition(start);
     
-    return [WebAccessibilityTextMarker textMarkerWithVisiblePosition:lineStart cache:m_object->axObjectCache()];
+    return [WebAccessibilityTextMarker textMarkerWithVisiblePosition:lineStart cache:self.axBackingObject->axObjectCache()];
 }
 
 - (NSArray *)misspellingTextMarkerRange:(NSArray *)startTextMarkerRange forward:(BOOL)forward
@@ -2666,7 +2666,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (!startRange)
         return nil;
 
-    RefPtr<Range> misspellingRange = m_object->getMisspellingRange(startRange,
+    RefPtr<Range> misspellingRange = self.axBackingObject->getMisspellingRange(startRange,
         forward ? AccessibilitySearchDirection::Next : AccessibilitySearchDirection::Previous);
     return [self textMarkersForRange:misspellingRange];
 }
@@ -2701,14 +2701,14 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return CGRectZero;
 
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return CGRectZero;
     RefPtr<Range> range = [self rangeForTextMarkers:array];
     if (!range)
         return CGRectZero;
     
-    auto rect = FloatRect(m_object->boundsForRange(range));
+    auto rect = FloatRect(self.axBackingObject->boundsForRange(range));
     return [self convertRectToSpace:rect space:AccessibilityConversionSpace::Screen];
 }
 
@@ -2718,7 +2718,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (!originalRange)
         return nil;
     
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nil;
     
@@ -2767,16 +2767,16 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nil;
-    CharacterOffset characterOffset = cache->characterOffsetForPoint(IntPoint(point), m_object);
+    CharacterOffset characterOffset = cache->characterOffsetForPoint(IntPoint(point), self.axBackingObject);
     return [WebAccessibilityTextMarker textMarkerWithCharacterOffset:characterOffset cache:cache];
 }
 
 - (WebAccessibilityTextMarker *)nextMarkerForCharacterOffset:(CharacterOffset&)characterOffset
 {
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nil;
     
@@ -2789,7 +2789,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
 
 - (WebAccessibilityTextMarker *)previousMarkerForCharacterOffset:(CharacterOffset&)characterOffset
 {
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nil;
     
@@ -2811,7 +2811,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![startMarker isKindOfClass:[WebAccessibilityTextMarker class]] || ![endMarker isKindOfClass:[WebAccessibilityTextMarker class]])
         return nullptr;
     
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nullptr;
     
@@ -2839,7 +2839,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (!range)
         return nil;
     
-    return [WebAccessibilityTextMarker startOrEndTextMarkerForRange:range isStart:isStart cache:m_object->axObjectCache()];
+    return [WebAccessibilityTextMarker startOrEndTextMarkerForRange:range isStart:isStart cache:self.axBackingObject->axObjectCache()];
 }
 
 - (NSArray *)textMarkerRangeForMarkers:(NSArray *)textMarkers
@@ -2856,8 +2856,8 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (!range)
         return nil;
     
-    WebAccessibilityTextMarker* start = [WebAccessibilityTextMarker startOrEndTextMarkerForRange:range isStart:YES cache:m_object->axObjectCache()];
-    WebAccessibilityTextMarker* end = [WebAccessibilityTextMarker startOrEndTextMarkerForRange:range isStart:NO cache:m_object->axObjectCache()];
+    WebAccessibilityTextMarker* start = [WebAccessibilityTextMarker startOrEndTextMarkerForRange:range isStart:YES cache:self.axBackingObject->axObjectCache()];
+    WebAccessibilityTextMarker* end = [WebAccessibilityTextMarker startOrEndTextMarkerForRange:range isStart:NO cache:self.axBackingObject->axObjectCache()];
     if (!start || !end)
         return nil;
     return [NSArray arrayWithObjects:start, end, nil];
@@ -2867,7 +2867,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
 {
     if (![self _prepareAccessibilityCall])
         return nil;
-    return m_object->expandedTextValue();
+    return self.axBackingObject->expandedTextValue();
 }
 
 - (NSString *)accessibilityIdentifier
@@ -2875,7 +2875,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    return m_object->getAttribute(HTMLNames::idAttr);
+    return self.axBackingObject->getAttribute(HTMLNames::idAttr);
 }
 
 - (NSArray<NSString *> *)accessibilitySpeechHint
@@ -2891,7 +2891,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return m_object->isBusy();
+    return self.axBackingObject->isBusy();
 }
 
 - (NSString *)accessibilityARIALiveRegionStatus
@@ -2899,7 +2899,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->liveRegionStatus();
+    return self.axBackingObject->liveRegionStatus();
 }
 
 - (NSString *)accessibilityARIARelevantStatus
@@ -2907,7 +2907,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    return m_object->liveRegionRelevant();
+    return self.axBackingObject->liveRegionRelevant();
 }
 
 - (BOOL)accessibilityARIALiveRegionIsAtomic
@@ -2915,7 +2915,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    return m_object->liveRegionAtomic();
+    return self.axBackingObject->liveRegionAtomic();
 }
 
 - (BOOL)accessibilitySupportsARIAPressed
@@ -2923,7 +2923,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    return m_object->supportsPressed();
+    return self.axBackingObject->supportsPressed();
 }
 
 - (BOOL)accessibilityIsPressed
@@ -2931,7 +2931,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    return m_object->isPressed();
+    return self.axBackingObject->isPressed();
 }
 
 - (BOOL)accessibilitySupportsARIAExpanded
@@ -2941,13 +2941,13 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     
     // Since details element is ignored on iOS, we should expose the expanded status on its
     // summary's accessible children.
-    if (AXCoreObject* detailParent = [self detailParentForSummaryObject:m_object])
+    if (AXCoreObject* detailParent = [self detailParentForSummaryObject:self.axBackingObject])
         return detailParent->supportsExpanded();
     
-    if (AXCoreObject* treeItemParent = [self treeItemParentForObject:m_object])
+    if (AXCoreObject* treeItemParent = [self treeItemParentForObject:self.axBackingObject])
         return treeItemParent->supportsExpanded();
     
-    return m_object->supportsExpanded();
+    return self.axBackingObject->supportsExpanded();
 }
 
 - (BOOL)accessibilityIsExpanded
@@ -2957,13 +2957,13 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
 
     // Since details element is ignored on iOS, we should expose the expanded status on its
     // summary's accessible children.
-    if (AXCoreObject* detailParent = [self detailParentForSummaryObject:m_object])
+    if (AXCoreObject* detailParent = [self detailParentForSummaryObject:self.axBackingObject])
         return detailParent->isExpanded();
     
-    if (AXCoreObject* treeItemParent = [self treeItemParentForObject:m_object])
+    if (AXCoreObject* treeItemParent = [self treeItemParentForObject:self.axBackingObject])
         return treeItemParent->isExpanded();
     
-    return m_object->isExpanded();
+    return self.axBackingObject->isExpanded();
 }
 
 - (BOOL)accessibilityIsShowingValidationMessage
@@ -2971,7 +2971,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return NO;
     
-    return m_object->isShowingValidationMessage();
+    return self.axBackingObject->isShowingValidationMessage();
 }
 
 - (NSString *)accessibilityInvalidStatus
@@ -2979,7 +2979,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    return m_object->invalidStatus();
+    return self.axBackingObject->invalidStatus();
 }
 
 - (NSString *)accessibilityARIACurrentStatus
@@ -2987,7 +2987,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    switch (m_object->currentState()) {
+    switch (self.axBackingObject->currentState()) {
     case AccessibilityCurrentState::False:
         return @"false";
     case AccessibilityCurrentState::Page:
@@ -3010,7 +3010,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
     
-    switch (m_object->sortDirection()) {
+    switch (self.axBackingObject->sortDirection()) {
     case AccessibilitySortDirection::Ascending:
         return @"ascending";
     case AccessibilitySortDirection::Descending:
@@ -3028,7 +3028,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathRootIndexObject() ? m_object->mathRootIndexObject()->wrapper() : 0;
+    return self.axBackingObject->mathRootIndexObject() ? self.axBackingObject->mathRootIndexObject()->wrapper() : 0;
 }
 
 - (WebAccessibilityObjectWrapper *)accessibilityMathRadicandObject
@@ -3036,7 +3036,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathRadicandObject() ? m_object->mathRadicandObject()->wrapper() : 0;
+    return self.axBackingObject->mathRadicandObject() ? self.axBackingObject->mathRadicandObject()->wrapper() : 0;
 }
 
 - (WebAccessibilityObjectWrapper *)accessibilityMathNumeratorObject
@@ -3044,7 +3044,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathNumeratorObject() ? m_object->mathNumeratorObject()->wrapper() : 0;
+    return self.axBackingObject->mathNumeratorObject() ? self.axBackingObject->mathNumeratorObject()->wrapper() : 0;
 }
 
 - (WebAccessibilityObjectWrapper *)accessibilityMathDenominatorObject
@@ -3052,7 +3052,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathDenominatorObject() ? m_object->mathDenominatorObject()->wrapper() : 0;
+    return self.axBackingObject->mathDenominatorObject() ? self.axBackingObject->mathDenominatorObject()->wrapper() : 0;
 }
 
 - (WebAccessibilityObjectWrapper *)accessibilityMathBaseObject
@@ -3060,7 +3060,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathBaseObject() ? m_object->mathBaseObject()->wrapper() : 0;
+    return self.axBackingObject->mathBaseObject() ? self.axBackingObject->mathBaseObject()->wrapper() : 0;
 }
 
 - (WebAccessibilityObjectWrapper *)accessibilityMathSubscriptObject
@@ -3068,7 +3068,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathSubscriptObject() ? m_object->mathSubscriptObject()->wrapper() : 0;
+    return self.axBackingObject->mathSubscriptObject() ? self.axBackingObject->mathSubscriptObject()->wrapper() : 0;
 }
 
 - (WebAccessibilityObjectWrapper *)accessibilityMathSuperscriptObject
@@ -3076,7 +3076,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathSuperscriptObject() ? m_object->mathSuperscriptObject()->wrapper() : 0;
+    return self.axBackingObject->mathSuperscriptObject() ? self.axBackingObject->mathSuperscriptObject()->wrapper() : 0;
 }
 
 - (WebAccessibilityObjectWrapper *)accessibilityMathUnderObject
@@ -3084,7 +3084,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathUnderObject() ? m_object->mathUnderObject()->wrapper() : 0;
+    return self.axBackingObject->mathUnderObject() ? self.axBackingObject->mathUnderObject()->wrapper() : 0;
 }
 
 - (WebAccessibilityObjectWrapper *)accessibilityMathOverObject
@@ -3092,7 +3092,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathOverObject() ? m_object->mathOverObject()->wrapper() : 0;
+    return self.axBackingObject->mathOverObject() ? self.axBackingObject->mathOverObject()->wrapper() : 0;
 }
 
 - (NSString *)accessibilityPlatformMathSubscriptKey
@@ -3126,7 +3126,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathFencedOpenString();
+    return self.axBackingObject->mathFencedOpenString();
 }
 
 - (NSString *)accessibilityMathFencedCloseString
@@ -3134,7 +3134,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    return m_object->mathFencedCloseString();
+    return self.axBackingObject->mathFencedCloseString();
 }
 
 - (BOOL)accessibilityIsMathTopObject
@@ -3142,7 +3142,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return NO;
 
-    return m_object->roleValue() == AccessibilityRole::DocumentMath;
+    return self.axBackingObject->roleValue() == AccessibilityRole::DocumentMath;
 }
 
 - (NSInteger)accessibilityMathLineThickness
@@ -3150,7 +3150,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return 0;
 
-    return m_object->mathLineThickness();
+    return self.axBackingObject->mathLineThickness();
 }
 
 - (NSString *)accessibilityMathType
@@ -3158,40 +3158,40 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
     if (![self _prepareAccessibilityCall])
         return nil;
 
-    if (m_object->roleValue() == AccessibilityRole::MathElement) {
-        if (m_object->isMathFraction())
+    if (self.axBackingObject->roleValue() == AccessibilityRole::MathElement) {
+        if (self.axBackingObject->isMathFraction())
             return @"AXMathFraction";
-        if (m_object->isMathFenced())
+        if (self.axBackingObject->isMathFenced())
             return @"AXMathFenced";
-        if (m_object->isMathSubscriptSuperscript())
+        if (self.axBackingObject->isMathSubscriptSuperscript())
             return @"AXMathSubscriptSuperscript";
-        if (m_object->isMathRow())
+        if (self.axBackingObject->isMathRow())
             return @"AXMathRow";
-        if (m_object->isMathUnderOver())
+        if (self.axBackingObject->isMathUnderOver())
             return @"AXMathUnderOver";
-        if (m_object->isMathSquareRoot())
+        if (self.axBackingObject->isMathSquareRoot())
             return @"AXMathSquareRoot";
-        if (m_object->isMathRoot())
+        if (self.axBackingObject->isMathRoot())
             return @"AXMathRoot";
-        if (m_object->isMathText())
+        if (self.axBackingObject->isMathText())
             return @"AXMathText";
-        if (m_object->isMathNumber())
+        if (self.axBackingObject->isMathNumber())
             return @"AXMathNumber";
-        if (m_object->isMathIdentifier())
+        if (self.axBackingObject->isMathIdentifier())
             return @"AXMathIdentifier";
-        if (m_object->isMathTable())
+        if (self.axBackingObject->isMathTable())
             return @"AXMathTable";
-        if (m_object->isMathTableRow())
+        if (self.axBackingObject->isMathTableRow())
             return @"AXMathTableRow";
-        if (m_object->isMathTableCell())
+        if (self.axBackingObject->isMathTableCell())
             return @"AXMathTableCell";
-        if (m_object->isMathFenceOperator())
+        if (self.axBackingObject->isMathFenceOperator())
             return @"AXMathFenceOperator";
-        if (m_object->isMathSeparatorOperator())
+        if (self.axBackingObject->isMathSeparatorOperator())
             return @"AXMathSeparatorOperator";
-        if (m_object->isMathOperator())
+        if (self.axBackingObject->isMathOperator())
             return @"AXMathOperator";
-        if (m_object->isMathMultiscript())
+        if (self.axBackingObject->isMathMultiscript())
             return @"AXMathMultiscript";
     }
     
@@ -3200,7 +3200,7 @@ static void AXAttributedStringAppendText(NSMutableAttributedString* attrString,
 
 - (CGPoint)accessibilityClickPoint
 {
-    return m_object->clickPoint();
+    return self.axBackingObject->clickPoint();
 }
 
 - (NSString *)description
index f5da16a..42c6479 100644 (file)
@@ -244,6 +244,14 @@ void AXObjectCache::attachWrapper(AXCoreObject* obj)
     obj->setWrapper(wrapper.get());
 }
 
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+void AXObjectCache::attachWrapper(AXIsolatedObject* isolatedObject, WebAccessibilityObjectWrapper* wrapper)
+{
+    [wrapper attachIsolatedObject:(AXCoreObject*)isolatedObject];
+    isolatedObject->setWrapper(wrapper);
+}
+#endif
+
 static BOOL axShouldRepostNotificationsForTests = false;
 
 void AXObjectCache::setShouldRepostNotificationsForTests(bool value)
index b64d0e7..4a4e3db 100644 (file)
@@ -45,17 +45,22 @@ class VisiblePosition;
 }
 
 @interface WebAccessibilityObjectWrapperBase : NSObject {
-    WebCore::AXCoreObject* m_object;
+    WebCore::AXCoreObject* m_axObject;
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+    WebCore::AXCoreObject* m_isolatedObject;
+#endif
     WebCore::AXID _identifier;
 }
 
 - (id)initWithAccessibilityObject:(WebCore::AXCoreObject*)axObject;
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+- (void)attachIsolatedObject:(WebCore::AXCoreObject*)isolatedObject;
+#endif
 
 - (void)detach;
 
 @property (nonatomic, assign) WebCore::AXID identifier;
 
-- (WebCore::AXCoreObject*)accessibilityObject;
 - (BOOL)updateObjectBackingStore;
 
 // This can be either an AccessibilityObject or an AXIsolatedObject
index 7246906..b423736 100644 (file)
@@ -246,8 +246,6 @@ using namespace HTMLNames;
 #define NSAccessibilityImmediateDescendantsOnly @"AXImmediateDescendantsOnly"
 #endif
 
-#define _axBackingObject self.axBackingObject
-
 static NSArray *convertMathPairsToNSArray(const AccessibilityObject::AccessibilityMathMultiscriptPairs& pairs, NSString *subscriptKey, NSString *superscriptKey)
 {
     NSMutableArray *array = [NSMutableArray arrayWithCapacity:pairs.size()];
@@ -290,30 +288,49 @@ NSArray *convertToNSArray(const WebCore::AXCoreObject::AccessibilityChildrenVect
     if (!(self = [super init]))
         return nil;
 
-    m_object = axObject;
-    _identifier = m_object->objectID();
-
+    [self attachAXObject:axObject];
     return self;
 }
 
+- (void)attachAXObject:(AXCoreObject*)axObject
+{
+    ASSERT(axObject && (_identifier == InvalidAXID || _identifier == axObject->objectID()));
+    m_axObject = axObject;
+    if (_identifier == InvalidAXID)
+        _identifier = m_axObject->objectID();
+}
+
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+- (void)attachIsolatedObject:(AXCoreObject*)isolatedObject
+{
+    ASSERT(isolatedObject && (_identifier == InvalidAXID || _identifier == isolatedObject->objectID()));
+    m_isolatedObject = isolatedObject;
+    if (_identifier == InvalidAXID)
+        _identifier = m_isolatedObject->objectID();
+}
+#endif
+
 - (void)detach
 {
-    m_object = nullptr;
-    _identifier = 0;
+    m_axObject = nullptr;
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+    m_isolatedObject = nullptr;
+#endif
+    _identifier = InvalidAXID;
 }
 
 - (BOOL)updateObjectBackingStore
 {
     // Calling updateBackingStore() can invalidate this element so self must be retained.
-    // If it does become invalidated, m_object will be nil.
+    // If it does become invalidated, self.axBackingObject will be nil.
     CFRetain((__bridge CFTypeRef)self);
     CFAutorelease((__bridge CFTypeRef)self);
 
-    if (!m_object)
+    if (!self.axBackingObject)
         return NO;
     
-    m_object->updateBackingStore();
-    if (!m_object)
+    self.axBackingObject->updateBackingStore();
+    if (!self.axBackingObject)
         return NO;
     
     return YES;
@@ -324,36 +341,37 @@ NSArray *convertToNSArray(const WebCore::AXCoreObject::AccessibilityChildrenVect
     return nil;
 }
 
-- (AXCoreObject*)accessibilityObject
-{
-    return m_object;
-}
-
 // This should be the "visible" text that's actually on the screen if possible.
 // If there's alternative text, that can override the title.
 - (NSString *)baseAccessibilityTitle
 {
-    return _axBackingObject->titleAttributeValue();
+    return self.axBackingObject->titleAttributeValue();
 }
 
 - (WebCore::AXCoreObject*)axBackingObject
 {
-    return m_object;
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+    if (!isMainThread()) {
+        ASSERT(AXObjectCache::clientSupportsIsolatedTree());
+        return m_isolatedObject;
+    }
+#endif
+    return m_axObject;
 }
 
 - (NSString *)baseAccessibilityDescription
 {
-    return _axBackingObject->descriptionAttributeValue();
+    return self.axBackingObject->descriptionAttributeValue();
 }
 
 - (NSArray<NSString *> *)baseAccessibilitySpeechHint
 {
-    return [(NSString *)_axBackingObject->speechHintAttributeValue() componentsSeparatedByString:@" "];
+    return [(NSString *)self.axBackingObject->speechHintAttributeValue() componentsSeparatedByString:@" "];
 }
 
 - (NSString *)baseAccessibilityHelpText
 {
-    return _axBackingObject->helpTextAttributeValue();
+    return self.axBackingObject->helpTextAttributeValue();
 }
 
 struct PathConversionInfo {
@@ -431,7 +449,7 @@ static void convertPathToScreenSpaceFunction(PathConversionInfo& conversion, con
 
 - (CGRect)convertRectToSpace:(WebCore::FloatRect &)rect space:(AccessibilityConversionSpace)space
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return CGRectZero;
     
     CGSize size = CGSizeMake(rect.size().width(), rect.size().height());
@@ -440,7 +458,7 @@ static void convertPathToScreenSpaceFunction(PathConversionInfo& conversion, con
     CGRect cgRect = CGRectMake(point.x, point.y, size.width, size.height);
 
     // WebKit1 code path... platformWidget() exists.
-    FrameView* frameView = m_object->documentFrameView();
+    FrameView* frameView = self.axBackingObject->documentFrameView();
 #if PLATFORM(IOS_FAMILY)
     WAKView* documentView = frameView ? frameView->documentView() : nullptr;
     if (documentView) {
@@ -464,20 +482,20 @@ static void convertPathToScreenSpaceFunction(PathConversionInfo& conversion, con
     }
 #endif
     else
-        return static_cast<CGRect>(m_object->convertFrameToSpace(rect, space));
+        return static_cast<CGRect>(self.axBackingObject->convertFrameToSpace(rect, space));
 }
 
 - (NSString *)ariaLandmarkRoleDescription
 {
-    return m_object->ariaLandmarkRoleDescription();
+    return self.axBackingObject->ariaLandmarkRoleDescription();
 }
 
 - (void)baseAccessibilitySetFocus:(BOOL)focus
 {
     // If focus is just set without making the view the first responder, then keyboard focus won't move to the right place.
-    if (focus && !m_object->document()->frame()->selection().isFocusedAndActive()) {
-        FrameView* frameView = m_object->documentFrameView();
-        Page* page = m_object->page();
+    if (focus && !self.axBackingObject->document()->frame()->selection().isFocusedAndActive()) {
+        FrameView* frameView = self.axBackingObject->documentFrameView();
+        Page* page = self.axBackingObject->page();
         if (page && frameView) {
             ChromeClient& chromeClient = page->chrome().client();
             chromeClient.focus();
@@ -490,7 +508,7 @@ static void convertPathToScreenSpaceFunction(PathConversionInfo& conversion, con
         }
     }
 
-    m_object->setFocused(focus);
+    self.axBackingObject->setFocused(focus);
 }
 
 - (NSString *)accessibilityPlatformMathSubscriptKey
@@ -508,14 +526,14 @@ static void convertPathToScreenSpaceFunction(PathConversionInfo& conversion, con
 - (NSArray *)accessibilityMathPostscriptPairs
 {
     AccessibilityObject::AccessibilityMathMultiscriptPairs pairs;
-    m_object->mathPostscripts(pairs);
+    self.axBackingObject->mathPostscripts(pairs);
     return convertMathPairsToNSArray(pairs, [self accessibilityPlatformMathSubscriptKey], [self accessibilityPlatformMathSuperscriptKey]);
 }
 
 - (NSArray *)accessibilityMathPrescriptPairs
 {
     AccessibilityObject::AccessibilityMathMultiscriptPairs pairs;
-    m_object->mathPrescripts(pairs);
+    self.axBackingObject->mathPrescripts(pairs);
     return convertMathPairsToNSArray(pairs, [self accessibilityPlatformMathSubscriptKey], [self accessibilityPlatformMathSuperscriptKey]);
 }
 
@@ -687,8 +705,8 @@ AccessibilitySearchCriteria accessibilitySearchCriteriaForSearchPredicateParamet
     
     AXCoreObject* startElement = nullptr;
     if ([startElementParameter isKindOfClass:[WebAccessibilityObjectWrapperBase class]])
-        startElement = [startElementParameter accessibilityObject];
-    
+        startElement = [startElementParameter axBackingObject];
+
     bool visibleOnly = false;
     if ([visibleOnlyParameter isKindOfClass:[NSNumber class]])
         visibleOnly = [visibleOnlyParameter boolValue];
index 9234946..af9fdb9 100644 (file)
@@ -534,8 +534,6 @@ using namespace HTMLNames;
 #define NSAccessibilityRelativeFrameAttribute @"AXRelativeFrame"
 #endif
 
-#define _axBackingObject self.axBackingObject
-
 extern "C" AXUIElementRef NSAccessibilityCreateAXUIElementRef(id element);
 
 @implementation WebAccessibilityObjectWrapper
@@ -557,10 +555,10 @@ extern "C" AXUIElementRef NSAccessibilityCreateAXUIElementRef(id element);
 
 - (id)attachmentView
 {
-    ASSERT(m_object->isAttachment());
+    ASSERT(self.axBackingObject->isAttachment());
 
     return Accessibility::retrieveValueFromMainThread<id>([protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-        auto* widget = protectedSelf->m_object->widgetForAttachmentView();
+        auto* widget = protectedSelf.get().axBackingObject->widgetForAttachmentView();
         if (!widget)
             return nil;
         return NSAccessibilityUnignoredDescendant(widget->platformWidget());
@@ -608,7 +606,7 @@ static id AXTextMarkerRangeEnd(id range)
 {
     ASSERT(isMainThread());
 
-    Document* document = _axBackingObject->document();
+    Document* document = self.axBackingObject->document();
     if (!document)
         return IntRect();
     
@@ -785,7 +783,7 @@ static bool isTextMarkerIgnored(id textMarker)
 
 - (AccessibilityObject*)accessibilityObjectForTextMarker:(id)textMarker
 {
-    return accessibilityObjectForTextMarker(m_object->axObjectCache(), textMarker);
+    return accessibilityObjectForTextMarker(self.axBackingObject->axObjectCache(), textMarker);
 }
 
 static AccessibilityObject* accessibilityObjectForTextMarker(AXObjectCache* cache, id textMarker)
@@ -801,7 +799,7 @@ static AccessibilityObject* accessibilityObjectForTextMarker(AXObjectCache* cach
 
 - (id)textMarkerRangeFromRange:(const RefPtr<Range>)range
 {
-    return textMarkerRangeFromRange(m_object->axObjectCache(), range);
+    return textMarkerRangeFromRange(self.axBackingObject->axObjectCache(), range);
 }
 
 static id textMarkerRangeFromRange(AXObjectCache* cache, const RefPtr<Range> range)
@@ -813,7 +811,7 @@ static id textMarkerRangeFromRange(AXObjectCache* cache, const RefPtr<Range> ran
 
 - (id)startOrEndTextMarkerForRange:(const RefPtr<Range>)range isStart:(BOOL)isStart
 {
-    return startOrEndTextmarkerForRange(m_object->axObjectCache(), range, isStart);
+    return startOrEndTextmarkerForRange(self.axBackingObject->axObjectCache(), range, isStart);
 }
 
 static id startOrEndTextmarkerForRange(AXObjectCache* cache, RefPtr<Range> range, bool isStart)
@@ -855,17 +853,17 @@ static id previousTextMarkerForCharacterOffset(AXObjectCache* cache, CharacterOf
 
 - (id)nextTextMarkerForCharacterOffset:(CharacterOffset&)characterOffset
 {
-    return nextTextMarkerForCharacterOffset(m_object->axObjectCache(), characterOffset);
+    return nextTextMarkerForCharacterOffset(self.axBackingObject->axObjectCache(), characterOffset);
 }
 
 - (id)previousTextMarkerForCharacterOffset:(CharacterOffset&)characterOffset
 {
-    return previousTextMarkerForCharacterOffset(m_object->axObjectCache(), characterOffset);
+    return previousTextMarkerForCharacterOffset(self.axBackingObject->axObjectCache(), characterOffset);
 }
 
 - (id)textMarkerForCharacterOffset:(CharacterOffset&)characterOffset
 {
-    return textMarkerForCharacterOffset(m_object->axObjectCache(), characterOffset);
+    return textMarkerForCharacterOffset(self.axBackingObject->axObjectCache(), characterOffset);
 }
 
 static id textMarkerForCharacterOffset(AXObjectCache* cache, const CharacterOffset& characterOffset)
@@ -892,7 +890,7 @@ static id textMarkerForCharacterOffset(AXObjectCache* cache, const CharacterOffs
     if (!startTextMarker || !endTextMarker)
         return nullptr;
     
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nullptr;
     
@@ -915,7 +913,7 @@ static CharacterOffset characterOffsetForTextMarker(AXObjectCache* cache, CFType
 
 - (CharacterOffset)characterOffsetForTextMarker:(id)textMarker
 {
-    return characterOffsetForTextMarker(m_object->axObjectCache(), (__bridge CFTypeRef)textMarker);
+    return characterOffsetForTextMarker(self.axBackingObject->axObjectCache(), (__bridge CFTypeRef)textMarker);
 }
 
 static id textMarkerForVisiblePosition(AXObjectCache* cache, const VisiblePosition& visiblePos)
@@ -933,12 +931,12 @@ static id textMarkerForVisiblePosition(AXObjectCache* cache, const VisiblePositi
 
 - (id)textMarkerForVisiblePosition:(const VisiblePosition &)visiblePos
 {
-    return textMarkerForVisiblePosition(m_object->axObjectCache(), visiblePos);
+    return textMarkerForVisiblePosition(self.axBackingObject->axObjectCache(), visiblePos);
 }
 
 - (id)textMarkerForFirstPositionInTextControl:(HTMLTextFormControlElement &)textControl
 {
-    auto *cache = m_object->axObjectCache();
+    auto *cache = self.axBackingObject->axObjectCache();
     if (!cache)
         return nil;
 
@@ -964,7 +962,7 @@ static VisiblePosition visiblePositionForTextMarker(AXObjectCache* cache, CFType
 
 - (VisiblePosition)visiblePositionForTextMarker:(id)textMarker
 {
-    return visiblePositionForTextMarker(m_object->axObjectCache(), (__bridge CFTypeRef)textMarker);
+    return visiblePositionForTextMarker(self.axBackingObject->axObjectCache(), (__bridge CFTypeRef)textMarker);
 }
 
 static VisiblePosition visiblePositionForStartOfTextMarkerRange(AXObjectCache* cache, id textMarkerRange)
@@ -1277,7 +1275,7 @@ static NSString* nsStringForReplacedNode(Node* replacedNode)
 
 - (NSAttributedString*)doAXAttributedStringForTextMarkerRange:(id)textMarkerRange spellCheck:(BOOL)spellCheck
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return nil;
     
     RefPtr<Range> range = [self rangeForTextMarkerRange:textMarkerRange];
@@ -1331,7 +1329,7 @@ static id textMarkerRangeFromVisiblePositions(AXObjectCache* cache, const Visibl
 
 - (id)textMarkerRangeFromVisiblePositions:(const VisiblePosition&)startPosition endPosition:(const VisiblePosition&)endPosition
 {
-    return textMarkerRangeFromVisiblePositions(m_object->axObjectCache(), startPosition, endPosition);
+    return textMarkerRangeFromVisiblePositions(self.axBackingObject->axObjectCache(), startPosition, endPosition);
 }
 
 ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
@@ -1356,13 +1354,13 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     static NSArray *sliderActions = [[defaultElementActions arrayByAddingObjectsFromArray:[NSArray arrayWithObjects:NSAccessibilityIncrementAction, NSAccessibilityDecrementAction, nil]] retain];
     
     NSArray *actions;
-    if (m_object->supportsPressAction())
+    if (self.axBackingObject->supportsPressAction())
         actions = actionElementActions;
-    else if (m_object->isMenuRelated())
+    else if (self.axBackingObject->isMenuRelated())
         actions = menuElementActions;
-    else if (m_object->isSlider())
+    else if (self.axBackingObject->isSlider())
         actions = sliderActions;
-    else if (m_object->isAttachment())
+    else if (self.axBackingObject->isAttachment())
         actions = [[self attachmentView] accessibilityActionNames];
     else
         actions = defaultElementActions;
@@ -1372,99 +1370,99 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
 - (NSArray*)additionalAccessibilityAttributeNames
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return nil;
     
     NSMutableArray *additional = [NSMutableArray array];
-    if (m_object->supportsARIAOwns())
+    if (self.axBackingObject->supportsARIAOwns())
         [additional addObject:NSAccessibilityOwnsAttribute];
     
-    if (m_object->isToggleButton())
+    if (self.axBackingObject->isToggleButton())
         [additional addObject:NSAccessibilityValueAttribute];
     
-    if (m_object->supportsExpanded() || m_object->isSummary())
+    if (self.axBackingObject->supportsExpanded() || self.axBackingObject->isSummary())
         [additional addObject:NSAccessibilityExpandedAttribute];
     
-    if (m_object->isScrollbar()
-        || m_object->isRadioGroup()
-        || m_object->isSplitter()
-        || m_object->isToolbar())
+    if (self.axBackingObject->isScrollbar()
+        || self.axBackingObject->isRadioGroup()
+        || self.axBackingObject->isSplitter()
+        || self.axBackingObject->isToolbar())
         [additional addObject:NSAccessibilityOrientationAttribute];
     
-    if (m_object->supportsARIADragging())
+    if (self.axBackingObject->supportsARIADragging())
         [additional addObject:NSAccessibilityGrabbedAttribute];
     
-    if (m_object->supportsARIADropping())
+    if (self.axBackingObject->supportsARIADropping())
         [additional addObject:NSAccessibilityDropEffectsAttribute];
     
-    if (is<AccessibilityTable>(*m_object) && downcast<AccessibilityTable>(*m_object).isExposableThroughAccessibility() && downcast<AccessibilityTable>(*m_object).supportsSelectedRows())
+    if (is<AccessibilityTable>(*self.axBackingObject) && downcast<AccessibilityTable>(*self.axBackingObject).isExposableThroughAccessibility() && downcast<AccessibilityTable>(*self.axBackingObject).supportsSelectedRows())
         [additional addObject:NSAccessibilitySelectedRowsAttribute];
     
-    if (m_object->supportsLiveRegion()) {
+    if (self.axBackingObject->supportsLiveRegion()) {
         [additional addObject:NSAccessibilityARIALiveAttribute];
         [additional addObject:NSAccessibilityARIARelevantAttribute];
     }
     
-    if (m_object->supportsSetSize())
+    if (self.axBackingObject->supportsSetSize())
         [additional addObject:NSAccessibilityARIASetSizeAttribute];
-    if (m_object->supportsPosInSet())
+    if (self.axBackingObject->supportsPosInSet())
         [additional addObject:NSAccessibilityARIAPosInSetAttribute];
     
-    AccessibilitySortDirection sortDirection = m_object->sortDirection();
+    AccessibilitySortDirection sortDirection = self.axBackingObject->sortDirection();
     if (sortDirection != AccessibilitySortDirection::None && sortDirection != AccessibilitySortDirection::Invalid)
         [additional addObject:NSAccessibilitySortDirectionAttribute];
     
     // If an object is a child of a live region, then add these
-    if (m_object->isInsideLiveRegion())
+    if (self.axBackingObject->isInsideLiveRegion())
         [additional addObject:NSAccessibilityARIAAtomicAttribute];
     // All objects should expose the ARIA busy attribute (ARIA 1.1 with ISSUE-538).
     [additional addObject:NSAccessibilityElementBusyAttribute];
     
     // Popup buttons on the Mac expose the value attribute.
-    if (m_object->isPopUpButton()) {
+    if (self.axBackingObject->isPopUpButton()) {
         [additional addObject:NSAccessibilityValueAttribute];
     }
 
-    if (m_object->supportsDatetimeAttribute())
+    if (self.axBackingObject->supportsDatetimeAttribute())
         [additional addObject:NSAccessibilityDatetimeValueAttribute];
     
-    if (m_object->supportsRequiredAttribute()) {
+    if (self.axBackingObject->supportsRequiredAttribute()) {
         [additional addObject:NSAccessibilityRequiredAttribute];
     }
     
-    if (m_object->hasPopup())
+    if (self.axBackingObject->hasPopup())
         [additional addObject:NSAccessibilityHasPopupAttribute];
     
-    if (m_object->isMathRoot()) {
+    if (self.axBackingObject->isMathRoot()) {
         // The index of a square root is always known, so there's no object associated with it.
-        if (!m_object->isMathSquareRoot())
+        if (!self.axBackingObject->isMathSquareRoot())
             [additional addObject:NSAccessibilityMathRootIndexAttribute];
         [additional addObject:NSAccessibilityMathRootRadicandAttribute];
-    } else if (m_object->isMathFraction()) {
+    } else if (self.axBackingObject->isMathFraction()) {
         [additional addObject:NSAccessibilityMathFractionNumeratorAttribute];
         [additional addObject:NSAccessibilityMathFractionDenominatorAttribute];
         [additional addObject:NSAccessibilityMathLineThicknessAttribute];
-    } else if (m_object->isMathSubscriptSuperscript()) {
+    } else if (self.axBackingObject->isMathSubscriptSuperscript()) {
         [additional addObject:NSAccessibilityMathBaseAttribute];
         [additional addObject:NSAccessibilityMathSubscriptAttribute];
         [additional addObject:NSAccessibilityMathSuperscriptAttribute];
-    } else if (m_object->isMathUnderOver()) {
+    } else if (self.axBackingObject->isMathUnderOver()) {
         [additional addObject:NSAccessibilityMathBaseAttribute];
         [additional addObject:NSAccessibilityMathUnderAttribute];
         [additional addObject:NSAccessibilityMathOverAttribute];
-    } else if (m_object->isMathFenced()) {
+    } else if (self.axBackingObject->isMathFenced()) {
         [additional addObject:NSAccessibilityMathFencedOpenAttribute];
         [additional addObject:NSAccessibilityMathFencedCloseAttribute];
-    } else if (m_object->isMathMultiscript()) {
+    } else if (self.axBackingObject->isMathMultiscript()) {
         [additional addObject:NSAccessibilityMathBaseAttribute];
         [additional addObject:NSAccessibilityMathPrescriptsAttribute];
         [additional addObject:NSAccessibilityMathPostscriptsAttribute];
     }
     
-    if (m_object->supportsPath())
+    if (self.axBackingObject->supportsPath())
         [additional addObject:NSAccessibilityPathAttribute];
     
-    if (m_object->supportsExpandedTextValue())
+    if (self.axBackingObject->supportsExpandedTextValue())
         [additional addObject:NSAccessibilityExpandedTextValueAttribute];
     
     return additional;
@@ -1477,7 +1475,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (![self updateObjectBackingStore])
         return nil;
     
-    if (m_object->isAttachment())
+    if (self.axBackingObject->isAttachment())
         return [[self attachmentView] accessibilityAttributeNames];
     
     static NSArray* attributes = nil;
@@ -1806,72 +1804,70 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     
     NSArray *objectAttributes = attributes;
     
-    if (m_object->isPasswordField())
+    if (self.axBackingObject->isPasswordField())
         objectAttributes = passwordFieldAttrs;
     
-    else if (m_object->isWebArea())
+    else if (self.axBackingObject->isWebArea())
         objectAttributes = webAreaAttrs;
     
-    else if (m_object->isTextControl())
+    else if (self.axBackingObject->isTextControl())
         objectAttributes = textAttrs;
     
-    else if (_axBackingObject->isLink() || _axBackingObject->isImage())
+    else if (self.axBackingObject->isLink() || self.axBackingObject->isImage())
         objectAttributes = anchorAttrs;
     
-    else if (is<AccessibilityTable>(*m_object) && downcast<AccessibilityTable>(*m_object).isExposableThroughAccessibility())
+    else if (is<AccessibilityTable>(*self.axBackingObject) && downcast<AccessibilityTable>(*self.axBackingObject).isExposableThroughAccessibility())
         objectAttributes = tableAttrs;
-    else if (m_object->isTableColumn())
+    else if (self.axBackingObject->isTableColumn())
         objectAttributes = tableColAttrs;
-    else if (m_object->isTableCell())
+    else if (self.axBackingObject->isTableCell())
         objectAttributes = tableCellAttrs;
-    else if (m_object->isTableRow()) {
+    else if (self.axBackingObject->isTableRow()) {
         // An ARIA table row can be collapsed and expanded, so it needs the extra attributes.
-        if (m_object->isARIATreeGridRow())
+        if (self.axBackingObject->isARIATreeGridRow())
             objectAttributes = outlineRowAttrs;
         else
             objectAttributes = tableRowAttrs;
-    }
-    
-    else if (m_object->isTree())
+    } else if (self.axBackingObject->isTree())
         objectAttributes = outlineAttrs;
-    else if (m_object->isTreeItem())
+    else if (self.axBackingObject->isTreeItem())
         objectAttributes = outlineRowAttrs;
     
-    else if (m_object->isListBox())
+    else if (self.axBackingObject->isListBox())
         objectAttributes = listBoxAttrs;
-    else if (m_object->isList())
+    else if (self.axBackingObject->isList())
         objectAttributes = listAttrs;
     
-    else if (m_object->isComboBox())
+    else if (self.axBackingObject->isComboBox())
         objectAttributes = comboBoxAttrs;
     
-    else if (m_object->isProgressIndicator() || m_object->isSlider())
+    else if (self.axBackingObject->isProgressIndicator() || self.axBackingObject->isSlider())
         objectAttributes = rangeAttrs;
     
     // These are processed in order because an input image is a button, and a button is a control.
-    else if (m_object->isInputImage())
+    else if (self.axBackingObject->isInputImage())
         objectAttributes = inputImageAttrs;
-    else if (m_object->isButton())
+    else if (self.axBackingObject->isButton())
         objectAttributes = buttonAttrs;
-    else if (m_object->isControl())
+    else if (self.axBackingObject->isControl())
         objectAttributes = controlAttrs;
     
-    else if (m_object->isGroup() || m_object->isListItem())
+    else if (self.axBackingObject->isGroup() || self.axBackingObject->isListItem())
         objectAttributes = groupAttrs;
-    else if (m_object->isTabList())
+    else if (self.axBackingObject->isTabList())
         objectAttributes = tabListAttrs;
-    else if (m_object->isScrollView())
+    else if (self.axBackingObject->isScrollView())
         objectAttributes = scrollViewAttrs;
-    else if (m_object->isSpinButton())
+    else if (self.axBackingObject->isSpinButton())
         objectAttributes = incrementorAttrs;
     
-    else if (m_object->isMenu())
+    else if (self.axBackingObject->isMenu())
         objectAttributes = menuAttrs;
-    else if (m_object->isMenuBar())
+    else if (self.axBackingObject->isMenuBar())
         objectAttributes = menuBarAttrs;
-    else if (m_object->isMenuButton())
+    else if (self.axBackingObject->isMenuButton())
         objectAttributes = menuButtonAttrs;
-    else if (m_object->isMenuItem())
+    else if (self.axBackingObject->isMenuItem())
         objectAttributes = menuItemAttrs;
     
     NSArray *additionalAttributes = [self additionalAccessibilityAttributeNames];
@@ -1879,7 +1875,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         objectAttributes = [objectAttributes arrayByAddingObjectsFromArray:additionalAttributes];
     
     // Only expose AXARIACurrent attribute when the element is set to be current item.
-    if (m_object->currentState() != AccessibilityCurrentState::False)
+    if (self.axBackingObject->currentState() != AccessibilityCurrentState::False)
         objectAttributes = [objectAttributes arrayByAddingObjectsFromArray:@[ NSAccessibilityARIACurrentAttribute ]];
     
     // AppKit needs to know the screen height in order to do the coordinate conversion.
@@ -1892,14 +1888,14 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 {
     if (!textMarkerRange)
         return VisiblePositionRange();
-    AXObjectCache* cache = m_object->axObjectCache();
+    AXObjectCache* cache = self.axBackingObject->axObjectCache();
     return VisiblePositionRange(visiblePositionForStartOfTextMarkerRange(cache, textMarkerRange), visiblePositionForEndOfTextMarkerRange(cache, textMarkerRange));
 }
 
 - (NSArray*)renderWidgetChildren
 {
     return Accessibility::retrieveValueFromMainThread<NSArray *>([protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> NSArray * {
-        Widget* widget = protectedSelf->m_object->widget();
+        Widget* widget = protectedSelf.get().axBackingObject->widget();
         if (!widget)
             return nil;
         ALLOW_DEPRECATED_DECLARATIONS_BEGIN
@@ -1911,10 +1907,10 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 - (id)remoteAccessibilityParentObject
 {
     ASSERT(isMainThread());
-    if (!m_object)
+    if (!self.axBackingObject)
         return nil;
 
-    if (auto* document = _axBackingObject->document()) {
+    if (auto* document = self.axBackingObject->document()) {
         if (auto* frame = document->frame())
             return frame->loader().client().accessibilityRemoteObject();
     }
@@ -1927,7 +1923,7 @@ static void convertToVector(NSArray* array, AccessibilityObject::AccessibilityCh
     unsigned length = [array count];
     vector.reserveInitialCapacity(length);
     for (unsigned i = 0; i < length; ++i) {
-        AXCoreObject* obj = [[array objectAtIndex:i] accessibilityObject];
+        AXCoreObject* obj = [[array objectAtIndex:i] axBackingObject];
         if (obj)
             vector.append(obj);
     }
@@ -1943,7 +1939,7 @@ static NSMutableArray *convertStringsToNSArray(const Vector<String>& vector)
 
 - (id)textMarkerRangeForSelection
 {
-    VisibleSelection selection = m_object->selection();
+    VisibleSelection selection = self.axBackingObject->selection();
     if (selection.isNone())
         return nil;
     return [self textMarkerRangeFromVisiblePositions:selection.visibleStart() endPosition:selection.visibleEnd()];
@@ -1952,17 +1948,17 @@ static NSMutableArray *convertStringsToNSArray(const Vector<String>& vector)
 - (id)associatedPluginParent
 {
     return Accessibility::retrieveValueFromMainThread<id>([protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-        if (!protectedSelf->m_object || !protectedSelf->m_object->hasApplePDFAnnotationAttribute())
+        if (!protectedSelf.get().axBackingObject || !protectedSelf.get().axBackingObject->hasApplePDFAnnotationAttribute())
             return nil;
     
-        if (!protectedSelf->m_object->document()->isPluginDocument())
+        if (!protectedSelf.get().axBackingObject->document()->isPluginDocument())
             return nil;
         
-        Widget* pluginWidget = static_cast<PluginDocument*>(protectedSelf->m_object->document())->pluginWidget();
+        Widget* pluginWidget = static_cast<PluginDocument*>(protectedSelf.get().axBackingObject->document())->pluginWidget();
         if (!pluginWidget || !pluginWidget->isPluginViewBase())
             return nil;
         
-        return static_cast<PluginViewBase*>(pluginWidget)->accessibilityAssociatedPluginParentForElement(protectedSelf->m_object->element());
+        return static_cast<PluginViewBase*>(pluginWidget)->accessibilityAssociatedPluginParentForElement(protectedSelf.get().axBackingObject->element());
     });
 }
 
@@ -1996,7 +1992,7 @@ static void WebTransformCGPathToNSBezierPath(void* info, const CGPathElement *el
 
 - (NSBezierPath *)path
 {
-    Path path = m_object->elementPath();
+    Path path = self.axBackingObject->elementPath();
     if (path.isEmpty())
         return NULL;
     
@@ -2012,22 +2008,22 @@ static void WebTransformCGPathToNSBezierPath(void* info, const CGPathElement *el
 
 - (size_t)childrenVectorSize
 {
-    return m_object->children().size();
+    return self.axBackingObject->children().size();
 }
 
 - (NSArray<WebAccessibilityObjectWrapper *> *)childrenVectorArray
 {
-    return convertToNSArray(m_object->children());
+    return convertToNSArray(self.axBackingObject->children());
 }
 
 - (NSValue *)position
 {
 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
     if (_AXUIElementRequestServicedBySecondaryAXThread())
-        return [NSValue valueWithPoint:(NSPoint)_axBackingObject->relativeFrame().location()];
+        return [NSValue valueWithPoint:(NSPoint)self.axBackingObject->relativeFrame().location()];
 #endif
         
-    auto rect = snappedIntRect(m_object->elementRect());
+    auto rect = snappedIntRect(self.axBackingObject->elementRect());
     
     // The Cocoa accessibility API wants the lower-left corner.
     auto floatPoint = FloatPoint(rect.x(), rect.maxY());
@@ -2040,11 +2036,11 @@ static void WebTransformCGPathToNSBezierPath(void* info, const CGPathElement *el
 - (NSString*)role
 {
     ALLOW_DEPRECATED_DECLARATIONS_BEGIN
-    if (_axBackingObject->isAttachment())
+    if (self.axBackingObject->isAttachment())
         return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityRoleAttribute];
     ALLOW_DEPRECATED_DECLARATIONS_END
 
-    NSString *string = m_object->rolePlatformString();
+    NSString *string = self.axBackingObject->rolePlatformString();
     if (string.length)
         return string;
     return NSAccessibilityUnknownRole;
@@ -2053,21 +2049,21 @@ static void WebTransformCGPathToNSBezierPath(void* info, const CGPathElement *el
 ALLOW_DEPRECATED_DECLARATIONS_BEGIN
 - (NSString*)subrole
 {
-    if (m_object->isPasswordField())
+    if (self.axBackingObject->isPasswordField())
         return NSAccessibilitySecureTextFieldSubrole;
-    if (m_object->isSearchField())
+    if (self.axBackingObject->isSearchField())
         return NSAccessibilitySearchFieldSubrole;
     
-    if (_axBackingObject->isAttachment()) {
+    if (self.axBackingObject->isAttachment()) {
         NSView* attachView = [self attachmentView];
         if ([[attachView accessibilityAttributeNames] containsObject:NSAccessibilitySubroleAttribute])
             return [attachView accessibilityAttributeValue:NSAccessibilitySubroleAttribute];
     }
     
-    if (m_object->isMeter())
+    if (self.axBackingObject->isMeter())
         return @"AXMeter";
     
-    AccessibilityRole role = m_object->roleValue();
+    AccessibilityRole role = self.axBackingObject->roleValue();
     if (role == AccessibilityRole::HorizontalRule)
         return NSAccessibilityContentSeparatorSubrole;
     if (role == AccessibilityRole::ToggleButton)
@@ -2075,25 +2071,25 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     if (role == AccessibilityRole::Footer)
         return @"AXFooter";
 
-    if (m_object->roleValue() == AccessibilityRole::SpinButtonPart) {
-        if (m_object->isIncrementor())
+    if (self.axBackingObject->roleValue() == AccessibilityRole::SpinButtonPart) {
+        if (self.axBackingObject->isIncrementor())
             return NSAccessibilityIncrementArrowSubrole;
         return NSAccessibilityDecrementArrowSubrole;
     }
     
-    if (_axBackingObject->isFileUploadButton())
+    if (self.axBackingObject->isFileUploadButton())
         return @"AXFileUploadButton";
     
-    if (m_object->isTreeItem())
+    if (self.axBackingObject->isTreeItem())
         return NSAccessibilityOutlineRowSubrole;
     
-    if (m_object->isFieldset())
+    if (self.axBackingObject->isFieldset())
         return @"AXFieldset";
 
-    if (m_object->isList()) {
-        if (m_object->isUnorderedList() || m_object->isOrderedList())
+    if (self.axBackingObject->isList()) {
+        if (self.axBackingObject->isUnorderedList() || self.axBackingObject->isOrderedList())
             return NSAccessibilityContentListSubrole;
-        if (m_object->isDescriptionList()) {
+        if (self.axBackingObject->isDescriptionList()) {
             return NSAccessibilityDescriptionListSubrole;
         }
     }
@@ -2162,39 +2158,39 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     }
     
     if (role == AccessibilityRole::MathElement) {
-        if (m_object->isMathFraction())
+        if (self.axBackingObject->isMathFraction())
             return @"AXMathFraction";
-        if (m_object->isMathFenced())
+        if (self.axBackingObject->isMathFenced())
             return @"AXMathFenced";
-        if (m_object->isMathSubscriptSuperscript())
+        if (self.axBackingObject->isMathSubscriptSuperscript())
             return @"AXMathSubscriptSuperscript";
-        if (m_object->isMathRow())
+        if (self.axBackingObject->isMathRow())
             return @"AXMathRow";
-        if (m_object->isMathUnderOver())
+        if (self.axBackingObject->isMathUnderOver())
             return @"AXMathUnderOver";
-        if (m_object->isMathSquareRoot())
+        if (self.axBackingObject->isMathSquareRoot())
             return @"AXMathSquareRoot";
-        if (m_object->isMathRoot())
+        if (self.axBackingObject->isMathRoot())
             return @"AXMathRoot";
-        if (m_object->isMathText())
+        if (self.axBackingObject->isMathText())
             return @"AXMathText";
-        if (m_object->isMathNumber())
+        if (self.axBackingObject->isMathNumber())
             return @"AXMathNumber";
-        if (m_object->isMathIdentifier())
+        if (self.axBackingObject->isMathIdentifier())
             return @"AXMathIdentifier";
-        if (m_object->isMathTable())
+        if (self.axBackingObject->isMathTable())
             return @"AXMathTable";
-        if (m_object->isMathTableRow())
+        if (self.axBackingObject->isMathTableRow())
             return @"AXMathTableRow";
-        if (m_object->isMathTableCell())
+        if (self.axBackingObject->isMathTableCell())
             return @"AXMathTableCell";
-        if (m_object->isMathFenceOperator())
+        if (self.axBackingObject->isMathFenceOperator())
             return @"AXMathFenceOperator";
-        if (m_object->isMathSeparatorOperator())
+        if (self.axBackingObject->isMathSeparatorOperator())
             return @"AXMathSeparatorOperator";
-        if (m_object->isMathOperator())
+        if (self.axBackingObject->isMathOperator())
             return @"AXMathOperator";
-        if (m_object->isMathMultiscript())
+        if (self.axBackingObject->isMathMultiscript())
             return @"AXMathMultiscript";
     }
     
@@ -2209,10 +2205,10 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     if (role == AccessibilityRole::Time)
         return @"AXTimeGroup";
 
-    if (m_object->isMediaTimeline())
+    if (self.axBackingObject->isMediaTimeline())
         return NSAccessibilityTimelineSubrole;
 
-    if (m_object->isSwitch())
+    if (self.axBackingObject->isSwitch())
         return NSAccessibilitySwitchSubrole;
 
     if (role == AccessibilityRole::Insertion)
@@ -2224,8 +2220,8 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     if (role == AccessibilityRole::Subscript)
         return @"AXSubscriptStyleGroup";
 
-    if (m_object->isStyleFormatGroup()) {
-        auto tagName = m_object->tagName();
+    if (self.axBackingObject->isStyleFormatGroup()) {
+        auto tagName = self.axBackingObject->tagName();
         if (tagName == kbdTag)
             return @"AXKeyboardInputStyleGroup";
         if (tagName == codeTag)
@@ -2263,20 +2259,20 @@ ALLOW_DEPRECATED_DECLARATIONS_END
 
 - (NSString*)roleDescription
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return nil;
 
     ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     // attachments have the AXImage role, but a different subrole
-    if (_axBackingObject->isAttachment())
+    if (self.axBackingObject->isAttachment())
         return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityRoleDescriptionAttribute];
     ALLOW_DEPRECATED_DECLARATIONS_END
 
-    String roleDescription = m_object->roleDescription();
+    String roleDescription = self.axBackingObject->roleDescription();
     if (!roleDescription.isEmpty())
         return roleDescription;
 
-    NSString *axRole = m_object->rolePlatformString();
+    NSString *axRole = self.axBackingObject->rolePlatformString();
     // Fallback to the system default role description.
     // If we get the same string back, then as a last resort, return unknown.
     NSString *defaultRoleDescription = NSAccessibilityRoleDescription(axRole, [self subrole]);
@@ -2295,23 +2291,23 @@ ALLOW_DEPRECATED_DECLARATIONS_END
 
 - (NSString *)computedRoleString
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return nil;
-    return m_object->computedRoleString();
+    return self.axBackingObject->computedRoleString();
 }
 
 - (id)scrollViewParent
 {
     return Accessibility::retrieveValueFromMainThread<id>([protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-        if (!is<AccessibilityScrollView>(protectedSelf->m_object))
+        if (!is<AccessibilityScrollView>(protectedSelf.get().axBackingObject))
             return nil;
 
         // If this scroll view provides it's parent object (because it's a sub-frame), then
         // we should not find the remoteAccessibilityParent.
-        if (protectedSelf->m_object->parentObject())
+        if (protectedSelf.get().axBackingObject->parentObject())
             return nil;
 
-        ScrollView* scroll = downcast<AccessibilityScrollView>(*protectedSelf->m_object).scrollView();
+        ScrollView* scroll = downcast<AccessibilityScrollView>(*protectedSelf.get().axBackingObject).scrollView();
         if (!scroll)
             return nil;
 
@@ -2324,14 +2320,14 @@ ALLOW_DEPRECATED_DECLARATIONS_END
 
 - (NSString *)valueDescriptionForMeter
 {
-    if (!m_object)
+    if (!self.axBackingObject)
         return nil;
     
-    String valueDescription = m_object->valueDescription();
+    String valueDescription = self.axBackingObject->valueDescription();
 #if ENABLE(METER_ELEMENT)
-    if (!is<AccessibilityProgressIndicator>(m_object))
+    if (!is<AccessibilityProgressIndicator>(self.axBackingObject))
         return valueDescription;
-    auto &meter = downcast<AccessibilityProgressIndicator>(*m_object);
+    auto &meter = downcast<AccessibilityProgressIndicator>(*self.axBackingObject);
     String gaugeRegionValue = meter.gaugeRegionValueDescription();
     if (!gaugeRegionValue.isEmpty()) {
         StringBuilder builder;
@@ -2355,7 +2351,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END
             ALLOW_DEPRECATED_DECLARATIONS_END
         }
 
-        if (auto* fv = protectedSelf->m_object->documentFrameView())
+        if (auto* fv = protectedSelf.get().axBackingObject->documentFrameView())
             return [fv->platformWidget() window];
 
         return nil;
@@ -2372,7 +2368,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (![self updateObjectBackingStore])
         return nil;
     
-    if (m_object->isDetachedFromParent())
+    if (self.axBackingObject->isDetachedFromParent())
         return nil;
     
     if ([attributeName isEqualToString: NSAccessibilityRoleAttribute])
@@ -2396,8 +2392,8 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             return scrollViewParent;
         
         // Tree item (changed to AXRows) can only report the tree (AXOutline) as its parent.
-        if (_axBackingObject->isTreeItem()) {
-            auto parent = _axBackingObject->parentObjectUnignored();
+        if (self.axBackingObject->isTreeItem()) {
+            auto parent = self.axBackingObject->parentObjectUnignored();
             while (parent) {
                 if (parent->isTree())
                     return parent->wrapper();
@@ -2405,13 +2401,13 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             }
         }
         
-        auto parent = _axBackingObject->parentObjectUnignored();
+        auto parent = self.axBackingObject->parentObjectUnignored();
         if (!parent)
             return nil;
         
         // In WebKit1, the scroll view is provided by the system (the attachment view), so the parent
         // should be reported directly as such.
-        if (m_object->isWebArea() && parent->isAttachment())
+        if (self.axBackingObject->isWebArea() && parent->isAttachment())
             return [parent->wrapper() attachmentView];
         
         return parent->wrapper();
@@ -2426,13 +2422,13 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         
         // The tree's (AXOutline) children are supposed to be its rows and columns.
         // The ARIA spec doesn't have columns, so we just need rows.
-        if (m_object->isTree())
+        if (self.axBackingObject->isTree())
             return [self accessibilityAttributeValue:NSAccessibilityRowsAttribute];
         
         // A tree item should only expose its content as its children (not its rows)
-        if (m_object->isTreeItem()) {
+        if (self.axBackingObject->isTreeItem()) {
             AccessibilityObject::AccessibilityChildrenVector contentCopy;
-            m_object->ariaTreeItemContent(contentCopy);
+            self.axBackingObject->ariaTreeItemContent(contentCopy);
             return convertToNSArray(contentCopy);
         }
         
@@ -2440,78 +2436,79 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
     
     if ([attributeName isEqualToString: NSAccessibilitySelectedChildrenAttribute]) {
-        if (m_object->canHaveSelectedChildren()) {
+        if (self.axBackingObject->canHaveSelectedChildren()) {
             AccessibilityObject::AccessibilityChildrenVector selectedChildrenCopy;
-            m_object->selectedChildren(selectedChildrenCopy);
+            self.axBackingObject->selectedChildren(selectedChildrenCopy);
             return convertToNSArray(selectedChildrenCopy);
         }
         return nil;
     }
     
     if ([attributeName isEqualToString: NSAccessibilityVisibleChildrenAttribute]) {
-        if (m_object->isListBox()) {
+        if (self.axBackingObject->isListBox()) {
             AccessibilityObject::AccessibilityChildrenVector visibleChildrenCopy;
-            m_object->visibleChildren(visibleChildrenCopy);
+            self.axBackingObject->visibleChildren(visibleChildrenCopy);
             return convertToNSArray(visibleChildrenCopy);
         }
-        else if (m_object->isList())
+
+        if (self.axBackingObject->isList())
             return [self accessibilityAttributeValue:NSAccessibilityChildrenAttribute];
-        
+
         return nil;
     }
     
     
-    if (m_object->isWebArea()) {
+    if (self.axBackingObject->isWebArea()) {
         if ([attributeName isEqualToString:@"AXLinkUIElements"]) {
             AccessibilityObject::AccessibilityChildrenVector links;
-            downcast<AccessibilityRenderObject>(*m_object).getDocumentLinks(links);
+            downcast<AccessibilityRenderObject>(*self.axBackingObject).getDocumentLinks(links);
             return convertToNSArray(links);
         }
         if ([attributeName isEqualToString:@"AXLoaded"])
-            return [NSNumber numberWithBool:m_object->isLoaded()];
+            return [NSNumber numberWithBool:self.axBackingObject->isLoaded()];
         if ([attributeName isEqualToString:@"AXLayoutCount"])
-            return [NSNumber numberWithInt:m_object->layoutCount()];
+            return [NSNumber numberWithInt:self.axBackingObject->layoutCount()];
         if ([attributeName isEqualToString:NSAccessibilityLoadingProgressAttribute])
-            return [NSNumber numberWithDouble:m_object->estimatedLoadingProgress()];
+            return [NSNumber numberWithDouble:self.axBackingObject->estimatedLoadingProgress()];
         if ([attributeName isEqualToString:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute])
-            return [NSNumber numberWithBool:m_object->preventKeyboardDOMEventDispatch()];
+            return [NSNumber numberWithBool:self.axBackingObject->preventKeyboardDOMEventDispatch()];
         if ([attributeName isEqualToString:NSAccessibilityCaretBrowsingEnabledAttribute])
-            return [NSNumber numberWithBool:m_object->caretBrowsingEnabled()];
+            return [NSNumber numberWithBool:self.axBackingObject->caretBrowsingEnabled()];
         if ([attributeName isEqualToString:NSAccessibilityWebSessionIDAttribute])
-            return @(m_object->sessionID());
+            return @(self.axBackingObject->sessionID());
     }
     
-    if (m_object->isTextControl()) {
+    if (self.axBackingObject->isTextControl()) {
         if ([attributeName isEqualToString: NSAccessibilityNumberOfCharactersAttribute]) {
-            int length = m_object->textLength();
+            int length = self.axBackingObject->textLength();
             if (length < 0)
                 return nil;
             return [NSNumber numberWithUnsignedInt:length];
         }
         if ([attributeName isEqualToString: NSAccessibilitySelectedTextAttribute]) {
-            String selectedText = m_object->selectedText();
+            String selectedText = self.axBackingObject->selectedText();
             if (selectedText.isNull())
                 return nil;
             return (NSString*)selectedText;
         }
         if ([attributeName isEqualToString: NSAccessibilitySelectedTextRangeAttribute]) {
-            PlainTextRange textRange = m_object->selectedTextRange();
+            PlainTextRange textRange = self.axBackingObject->selectedTextRange();
             return [NSValue valueWithRange:NSMakeRange(textRange.start, textRange.length)];
         }
         // TODO: Get actual visible range. <rdar://problem/4712101>
         if ([attributeName isEqualToString: NSAccessibilityVisibleCharacterRangeAttribute])
-            return m_object->isPasswordField() ? nil : [NSValue valueWithRange: NSMakeRange(0, m_object->textLength())];
+            return self.axBackingObject->isPasswordField() ? nil : [NSValue valueWithRange: NSMakeRange(0, self.axBackingObject->textLength())];
         if ([attributeName isEqualToString: NSAccessibilityInsertionPointLineNumberAttribute]) {
             // if selectionEnd > 0, then there is selected text and this question should not be answered
-            if (m_object->isPasswordField() || m_object->selectionEnd() > 0)
+            if (self.axBackingObject->isPasswordField() || self.axBackingObject->selectionEnd() > 0)
                 return nil;
             
-            auto focusedObject = downcast<AccessibilityObject>(m_object->focusedUIElement());
-            if (focusedObject != m_object)
+            auto focusedObject = downcast<AccessibilityObject>(self.axBackingObject->focusedUIElement());
+            if (focusedObject != self.axBackingObject)
                 return nil;
             
             VisiblePosition focusedPosition = focusedObject->visiblePositionForIndex(focusedObject->selectionStart(), true);
-            int lineNumber = m_object->lineForPosition(focusedPosition);
+            int lineNumber = self.axBackingObject->lineForPosition(focusedPosition);
             if (lineNumber < 0)
                 return nil;
             
@@ -2520,44 +2517,44 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
     
     if ([attributeName isEqualToString: NSAccessibilityURLAttribute]) {
-        URL url = m_object->url();
+        URL url = self.axBackingObject->url();
         if (url.isNull())
             return nil;
         return (NSURL*)url;
     }
 
     if ([attributeName isEqualToString:NSAccessibilityIncrementButtonAttribute]) {
-        auto incrementButton = m_object->incrementButton();
+        auto incrementButton = self.axBackingObject->incrementButton();
         return incrementButton ? incrementButton->wrapper() : nil;
     }
 
     if ([attributeName isEqualToString:NSAccessibilityDecrementButtonAttribute]) {
-        auto decrementButton = m_object->decrementButton();
+        auto decrementButton = self.axBackingObject->decrementButton();
         return decrementButton ? decrementButton->wrapper() : nil;
     }
 
     if ([attributeName isEqualToString: @"AXVisited"])
-        return [NSNumber numberWithBool: m_object->isVisited()];
+        return [NSNumber numberWithBool: self.axBackingObject->isVisited()];
     
     if ([attributeName isEqualToString: NSAccessibilityTitleAttribute]) {
-        if (_axBackingObject->isAttachment()) {
+        if (self.axBackingObject->isAttachment()) {
             if ([[[self attachmentView] accessibilityAttributeNames] containsObject:NSAccessibilityTitleAttribute])
                 return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityTitleAttribute];
         }
         
         // Meter elements should communicate their content via AXValueDescription.
-        if (m_object->isMeter())
+        if (self.axBackingObject->isMeter())
             return [NSString string];
         
         // Summary element should use its text node as AXTitle.
-        if (m_object->isSummary())
-            return m_object->textUnderElement();
+        if (self.axBackingObject->isSummary())
+            return self.axBackingObject->textUnderElement();
         
         return [self baseAccessibilityTitle];
     }
     
     if ([attributeName isEqualToString: NSAccessibilityDescriptionAttribute]) {
-        if (_axBackingObject->isAttachment()) {
+        if (self.axBackingObject->isAttachment()) {
             if ([[[self attachmentView] accessibilityAttributeNames] containsObject:NSAccessibilityDescriptionAttribute])
                 return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityDescriptionAttribute];
         }
@@ -2565,19 +2562,19 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
     
     if ([attributeName isEqualToString: NSAccessibilityValueAttribute]) {
-        if (_axBackingObject->isAttachment()) {
+        if (self.axBackingObject->isAttachment()) {
             if ([[[self attachmentView] accessibilityAttributeNames] containsObject:NSAccessibilityValueAttribute])
                 return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityValueAttribute];
         }
-        if (m_object->supportsRangeValue())
-            return [NSNumber numberWithFloat:m_object->valueForRange()];
-        if (m_object->roleValue() == AccessibilityRole::SliderThumb)
-            return [NSNumber numberWithFloat:m_object->parentObject()->valueForRange()];
-        if (m_object->isHeading())
-            return [NSNumber numberWithInt:m_object->headingLevel()];
+        if (self.axBackingObject->supportsRangeValue())
+            return [NSNumber numberWithFloat:self.axBackingObject->valueForRange()];
+        if (self.axBackingObject->roleValue() == AccessibilityRole::SliderThumb)
+            return [NSNumber numberWithFloat:self.axBackingObject->parentObject()->valueForRange()];
+        if (self.axBackingObject->isHeading())
+            return [NSNumber numberWithInt:self.axBackingObject->headingLevel()];
         
-        if (m_object->isCheckboxOrRadio() || m_object->isMenuItem() || m_object->isSwitch() || m_object->isToggleButton()) {
-            switch (m_object->checkboxOrRadioValue()) {
+        if (self.axBackingObject->isCheckboxOrRadio() || self.axBackingObject->isMenuItem() || self.axBackingObject->isSwitch() || self.axBackingObject->isToggleButton()) {
+            switch (self.axBackingObject->checkboxOrRadioValue()) {
             case AccessibilityButtonState::Off:
                 return [NSNumber numberWithInt:0];
             case AccessibilityButtonState::On:
@@ -2588,62 +2585,62 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         }
         
         // radio groups return the selected radio button as the AXValue
-        if (m_object->isRadioGroup()) {
-            AXCoreObject* radioButton = m_object->selectedRadioButton();
+        if (self.axBackingObject->isRadioGroup()) {
+            AXCoreObject* radioButton = self.axBackingObject->selectedRadioButton();
             if (!radioButton)
                 return nil;
             return radioButton->wrapper();
         }
         
-        if (m_object->isTabList()) {
-            AXCoreObject* tabItem = m_object->selectedTabItem();
+        if (self.axBackingObject->isTabList()) {
+            AXCoreObject* tabItem = self.axBackingObject->selectedTabItem();
             if (!tabItem)
                 return nil;
             return tabItem->wrapper();
         }
         
-        if (m_object->isTabItem())
-            return [NSNumber numberWithInt:m_object->isSelected()];
+        if (self.axBackingObject->isTabItem())
+            return [NSNumber numberWithInt:self.axBackingObject->isSelected()];
         
-        if (m_object->isColorWell()) {
+        if (self.axBackingObject->isColorWell()) {
             int r, g, b;
-            m_object->colorValue(r, g, b);
+            self.axBackingObject->colorValue(r, g, b);
             return [NSString stringWithFormat:@"rgb %7.5f %7.5f %7.5f 1", r / 255., g / 255., b / 255.];
         }
         
-        return m_object->stringValue();
+        return self.axBackingObject->stringValue();
     }
 
     if ([attributeName isEqualToString:(NSString *)kAXMenuItemMarkCharAttribute]) {
         const unichar ch = 0x2713; // ✓ used on Mac for selected menu items.
-        return (m_object->isChecked()) ? [NSString stringWithCharacters:&ch length:1] : nil;
+        return (self.axBackingObject->isChecked()) ? [NSString stringWithCharacters:&ch length:1] : nil;
     }
     
     if ([attributeName isEqualToString: NSAccessibilityMinValueAttribute]) {
         // Indeterminate progress indicator should return 0.
-        if (m_object->ariaRoleAttribute() == AccessibilityRole::ProgressIndicator && !m_object->hasARIAValueNow())
+        if (self.axBackingObject->ariaRoleAttribute() == AccessibilityRole::ProgressIndicator && !self.axBackingObject->hasARIAValueNow())
             return @0;
-        return [NSNumber numberWithFloat:m_object->minValueForRange()];
+        return [NSNumber numberWithFloat:self.axBackingObject->minValueForRange()];
     }
     
     if ([attributeName isEqualToString: NSAccessibilityMaxValueAttribute]) {
         // Indeterminate progress indicator should return 0.
-        if (m_object->ariaRoleAttribute() == AccessibilityRole::ProgressIndicator && !m_object->hasARIAValueNow())
+        if (self.axBackingObject->ariaRoleAttribute() == AccessibilityRole::ProgressIndicator && !self.axBackingObject->hasARIAValueNow())
             return @0;
-        return [NSNumber numberWithFloat:m_object->maxValueForRange()];
+        return [NSNumber numberWithFloat:self.axBackingObject->maxValueForRange()];
     }
     
     if ([attributeName isEqualToString: NSAccessibilityHelpAttribute])
         return [self baseAccessibilityHelpText];
     
     if ([attributeName isEqualToString: NSAccessibilityFocusedAttribute])
-        return [NSNumber numberWithBool: m_object->isFocused()];
+        return [NSNumber numberWithBool: self.axBackingObject->isFocused()];
     
     if ([attributeName isEqualToString: NSAccessibilityEnabledAttribute])
-        return [NSNumber numberWithBool: m_object->isEnabled()];
+        return [NSNumber numberWithBool: self.axBackingObject->isEnabled()];
     
     if ([attributeName isEqualToString: NSAccessibilitySizeAttribute]) {
-        IntSize s = snappedIntRect(m_object->elementRect()).size();
+        IntSize s = snappedIntRect(self.axBackingObject->elementRect()).size();
         return [NSValue valueWithSize: NSMakeSize(s.width(), s.height())];
     }
     
@@ -2659,29 +2656,29 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         return [self windowElement:attributeName];
 
     if ([attributeName isEqualToString:NSAccessibilityAccessKeyAttribute]) {
-        AtomString accessKey = m_object->accessKey();
+        AtomString accessKey = self.axBackingObject->accessKey();
         if (accessKey.isNull())
             return nil;
         return accessKey;
     }
     
     if ([attributeName isEqualToString:NSAccessibilityLinkRelationshipTypeAttribute])
-        return m_object->linkRelValue();
+        return self.axBackingObject->linkRelValue();
     
     if ([attributeName isEqualToString:NSAccessibilityTabsAttribute]) {
-        if (m_object->isTabList()) {
+        if (self.axBackingObject->isTabList()) {
             AccessibilityObject::AccessibilityChildrenVector tabsChildren;
-            m_object->tabChildren(tabsChildren);
+            self.axBackingObject->tabChildren(tabsChildren);
             return convertToNSArray(tabsChildren);
         }
     }
     
     if ([attributeName isEqualToString:NSAccessibilityContentsAttribute]) {
         // The contents of a tab list are all the children except the tabs.
-        if (m_object->isTabList()) {
+        if (self.axBackingObject->isTabList()) {
             auto children = self.childrenVectorArray;
             AccessibilityObject::AccessibilityChildrenVector tabs;
-            m_object->tabChildren(tabs);
+            self.axBackingObject->tabChildren(tabs);
             auto tabsChildren = convertToNSArray(tabs);
 
             NSMutableArray *contents = [NSMutableArray array];
@@ -2690,7 +2687,9 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
                     [contents addObject:childWrapper];
             }
             return contents;
-        } else if (m_object->isScrollView()) {
+        }
+
+        if (self.axBackingObject->isScrollView()) {
             // A scrollView's contents are everything except the scroll bars.
             auto children = self.childrenVectorArray;
             NSMutableArray *contents = [NSMutableArray array];
@@ -2705,8 +2704,8 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         }
     }
     
-    if (is<AccessibilityTable>(*m_object) && downcast<AccessibilityTable>(*m_object).isExposableThroughAccessibility()) {
-        auto& table = downcast<AccessibilityTable>(*m_object);
+    if (is<AccessibilityTable>(*self.axBackingObject) && downcast<AccessibilityTable>(*self.axBackingObject).isExposableThroughAccessibility()) {
+        auto& table = downcast<AccessibilityTable>(*self.axBackingObject);
         if ([attributeName isEqualToString:NSAccessibilityRowsAttribute])
             return convertToNSArray(table.rows());
         
@@ -2724,7 +2723,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         
         if ([attributeName isEqualToString:NSAccessibilitySelectedRowsAttribute]) {
             AccessibilityObject::AccessibilityChildrenVector selectedChildrenCopy;
-            m_object->selectedChildren(selectedChildrenCopy);
+            self.axBackingObject->selectedChildren(selectedChildrenCopy);
             return convertToNSArray(selectedChildrenCopy);
         }
         
@@ -2771,8 +2770,8 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             return @(table.axRowCount());
     }
     
-    if (is<AccessibilityTableColumn>(*m_object)) {
-        auto& column = downcast<AccessibilityTableColumn>(*m_object);
+    if (is<AccessibilityTableColumn>(*self.axBackingObject)) {
+        auto& column = downcast<AccessibilityTableColumn>(*self.axBackingObject);
         if ([attributeName isEqualToString:NSAccessibilityIndexAttribute])
             return [NSNumber numberWithInt:column.columnIndex()];
         
@@ -2789,8 +2788,8 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         }
     }
     
-    if (is<AccessibilityTableCell>(*m_object)) {
-        auto& cell = downcast<AccessibilityTableCell>(*m_object);
+    if (is<AccessibilityTableCell>(*self.axBackingObject)) {
+        auto& cell = downcast<AccessibilityTableCell>(*self.axBackingObject);
         if ([attributeName isEqualToString:NSAccessibilityRowIndexRangeAttribute]) {
             std::pair<unsigned, unsigned> rowRange;
             cell.rowIndexRange(rowRange);
@@ -2818,15 +2817,15 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             return @(cell.axRowIndex());
     }
     
-    if (m_object->isTree()) {
+    if (self.axBackingObject->isTree()) {
         if ([attributeName isEqualToString:NSAccessibilitySelectedRowsAttribute]) {
             AccessibilityObject::AccessibilityChildrenVector selectedChildrenCopy;
-            m_object->selectedChildren(selectedChildrenCopy);
+            self.axBackingObject->selectedChildren(selectedChildrenCopy);
             return convertToNSArray(selectedChildrenCopy);
         }
         if ([attributeName isEqualToString:NSAccessibilityRowsAttribute]) {
             AccessibilityObject::AccessibilityChildrenVector rowsCopy;
-            m_object->ariaTreeRows(rowsCopy);
+            self.axBackingObject->ariaTreeRows(rowsCopy);
             return convertToNSArray(rowsCopy);
         }
         
@@ -2836,8 +2835,8 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
     
     if ([attributeName isEqualToString:NSAccessibilityIndexAttribute]) {
-        if (m_object->isTreeItem()) {
-            AXCoreObject* parent = m_object->parentObject();
+        if (self.axBackingObject->isTreeItem()) {
+            AXCoreObject* parent = self.axBackingObject->parentObject();
             for (; parent && !parent->isTree(); parent = parent->parentObject())
             { }
             
@@ -2854,29 +2853,31 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             
             return nil;
         }
-        if (is<AccessibilityTableRow>(*m_object)) {
+        if (is<AccessibilityTableRow>(*self.axBackingObject)) {
             if ([attributeName isEqualToString:NSAccessibilityIndexAttribute])
-                return [NSNumber numberWithInt:downcast<AccessibilityTableRow>(*m_object).rowIndex()];
+                return [NSNumber numberWithInt:downcast<AccessibilityTableRow>(*self.axBackingObject).rowIndex()];
         }
     }
     
     // The rows that are considered inside this row.
     if ([attributeName isEqualToString:NSAccessibilityDisclosedRowsAttribute]) {
-        if (m_object->isTreeItem()) {
+        if (self.axBackingObject->isTreeItem()) {
             AccessibilityObject::AccessibilityChildrenVector rowsCopy;
-            m_object->ariaTreeItemDisclosedRows(rowsCopy);
+            self.axBackingObject->ariaTreeItemDisclosedRows(rowsCopy);
             return convertToNSArray(rowsCopy);
-        } else if (is<AccessibilityARIAGridRow>(*m_object)) {
+        }
+
+        if (is<AccessibilityARIAGridRow>(*self.axBackingObject)) {
             AccessibilityObject::AccessibilityChildrenVector rowsCopy;
-            downcast<AccessibilityARIAGridRow>(*m_object).disclosedRows(rowsCopy);
+            downcast<AccessibilityARIAGridRow>(*self.axBackingObject).disclosedRows(rowsCopy);
             return convertToNSArray(rowsCopy);
         }
     }
     
     // The row that contains this row. It should be the same as the first parent that is a treeitem.
     if ([attributeName isEqualToString:NSAccessibilityDisclosedByRowAttribute]) {
-        if (m_object->isTreeItem()) {
-            AXCoreObject* parent = m_object->parentObject();
+        if (self.axBackingObject->isTreeItem()) {
+            AXCoreObject* parent = self.axBackingObject->parentObject();
             while (parent) {
                 if (parent->isTreeItem())
                     return parent->wrapper();
@@ -2886,8 +2887,10 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
                 parent = parent->parentObject();
             }
             return nil;
-        } else if (is<AccessibilityARIAGridRow>(*m_object)) {
-            AXCoreObject* row = downcast<AccessibilityARIAGridRow>(*m_object).disclosedByRow();
+        }
+
+        if (is<AccessibilityARIAGridRow>(*self.axBackingObject)) {
+            AXCoreObject* row = downcast<AccessibilityARIAGridRow>(*self.axBackingObject).disclosedByRow();
             if (!row)
                 return nil;
             return row->wrapper();
@@ -2896,66 +2899,66 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     
     if ([attributeName isEqualToString:NSAccessibilityDisclosureLevelAttribute]) {
         // Convert from 1-based level (from aria-level spec) to 0-based level (Mac)
-        int level = m_object->hierarchicalLevel();
+        int level = self.axBackingObject->hierarchicalLevel();
         if (level > 0)
             level -= 1;
         return [NSNumber numberWithInt:level];
     }
     if ([attributeName isEqualToString:NSAccessibilityDisclosingAttribute])
-        return [NSNumber numberWithBool:m_object->isExpanded()];
+        return [NSNumber numberWithBool:self.axBackingObject->isExpanded()];
     
-    if (m_object->isList() && [attributeName isEqualToString:NSAccessibilityOrientationAttribute])
+    if (self.axBackingObject->isList() && [attributeName isEqualToString:NSAccessibilityOrientationAttribute])
         return NSAccessibilityVerticalOrientationValue;
     
     if ([attributeName isEqualToString: @"AXSelectedTextMarkerRange"])
         return [self textMarkerRangeForSelection];
     
     if ([attributeName isEqualToString: @"AXStartTextMarker"])
-        return [self textMarkerForVisiblePosition:startOfDocument(_axBackingObject->document())];
+        return [self textMarkerForVisiblePosition:startOfDocument(self.axBackingObject->document())];
     if ([attributeName isEqualToString: @"AXEndTextMarker"])
-        return [self textMarkerForVisiblePosition:endOfDocument(_axBackingObject->document())];
+        return [self textMarkerForVisiblePosition:endOfDocument(self.axBackingObject->document())];
     
     if ([attributeName isEqualToString:NSAccessibilityBlockQuoteLevelAttribute])
-        return [NSNumber numberWithUnsignedInt:m_object->blockquoteLevel()];
+        return [NSNumber numberWithUnsignedInt:self.axBackingObject->blockquoteLevel()];
     if ([attributeName isEqualToString:@"AXTableLevel"])
-        return [NSNumber numberWithInt:m_object->tableLevel()];
+        return [NSNumber numberWithInt:self.axBackingObject->tableLevel()];
     
     if ([attributeName isEqualToString: NSAccessibilityLinkedUIElementsAttribute]) {
         AccessibilityObject::AccessibilityChildrenVector linkedUIElements;
-        m_object->linkedUIElements(linkedUIElements);
+        self.axBackingObject->linkedUIElements(linkedUIElements);
         return convertToNSArray(linkedUIElements);
     }
     
     if ([attributeName isEqualToString: NSAccessibilitySelectedAttribute])
-        return [NSNumber numberWithBool:m_object->isSelected()];
+        return [NSNumber numberWithBool:self.axBackingObject->isSelected()];
     
     if ([attributeName isEqualToString: NSAccessibilityARIACurrentAttribute])
-        return m_object->currentValue();
+        return self.axBackingObject->currentValue();
     
-    if ([attributeName isEqualToString: NSAccessibilityServesAsTitleForUIElementsAttribute] && m_object->isMenuButton()) {
-        AccessibilityObject* uiElement = downcast<AccessibilityRenderObject>(*m_object).menuForMenuButton();
+    if ([attributeName isEqualToString: NSAccessibilityServesAsTitleForUIElementsAttribute] && self.axBackingObject->isMenuButton()) {
+        AccessibilityObject* uiElement = downcast<AccessibilityRenderObject>(*self.axBackingObject).menuForMenuButton();
         if (uiElement)
             return [NSArray arrayWithObject:uiElement->wrapper()];
     }
     
     if ([attributeName isEqualToString:NSAccessibilityTitleUIElementAttribute]) {
-        if (!m_object->exposesTitleUIElement())
+        if (!self.axBackingObject->exposesTitleUIElement())
             return nil;
 
-        AXCoreObject* obj = m_object->titleUIElement();
+        AXCoreObject* obj = self.axBackingObject->titleUIElement();
         if (obj)
             return obj->wrapper();
         return nil;
     }
     
     if ([attributeName isEqualToString:NSAccessibilityValueDescriptionAttribute]) {
-        if (m_object->isMeter())
+        if (self.axBackingObject->isMeter())
             return [self valueDescriptionForMeter];
-        return m_object->valueDescription();
+        return self.axBackingObject->valueDescription();
     }
     
     if ([attributeName isEqualToString:NSAccessibilityOrientationAttribute]) {
-        AccessibilityOrientation elementOrientation = m_object->orientation();
+        AccessibilityOrientation elementOrientation = self.axBackingObject->orientation();
         if (elementOrientation == AccessibilityOrientation::Vertical)
             return NSAccessibilityVerticalOrientationValue;
         if (elementOrientation == AccessibilityOrientation::Horizontal)
@@ -2966,20 +2969,20 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
     
     if ([attributeName isEqualToString:NSAccessibilityHorizontalScrollBarAttribute]) {
-        AXCoreObject* scrollBar = m_object->scrollBar(AccessibilityOrientation::Horizontal);
+        AXCoreObject* scrollBar = self.axBackingObject->scrollBar(AccessibilityOrientation::Horizontal);
         if (scrollBar)
             return scrollBar->wrapper();
         return nil;
     }
     if ([attributeName isEqualToString:NSAccessibilityVerticalScrollBarAttribute]) {
-        AXCoreObject* scrollBar = m_object->scrollBar(AccessibilityOrientation::Vertical);
+        AXCoreObject* scrollBar = self.axBackingObject->scrollBar(AccessibilityOrientation::Vertical);
         if (scrollBar)
             return scrollBar->wrapper();
         return nil;
     }
     
     if ([attributeName isEqualToString:NSAccessibilitySortDirectionAttribute]) {
-        switch (m_object->sortDirection()) {
+        switch (self.axBackingObject->sortDirection()) {
         case AccessibilitySortDirection::Ascending:
             return NSAccessibilityAscendingSortDirectionValue;
         case AccessibilitySortDirection::Descending:
@@ -2990,44 +2993,44 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
     
     if ([attributeName isEqualToString:NSAccessibilityLanguageAttribute])
-        return m_object->language();
+        return self.axBackingObject->language();
     
     if ([attributeName isEqualToString:NSAccessibilityExpandedAttribute])
-        return [NSNumber numberWithBool:m_object->isExpanded()];
+        return [NSNumber numberWithBool:self.axBackingObject->isExpanded()];
     
     if ([attributeName isEqualToString:NSAccessibilityRequiredAttribute])
-        return [NSNumber numberWithBool:m_object->isRequired()];
+        return [NSNumber numberWithBool:self.axBackingObject->isRequired()];
     
     if ([attributeName isEqualToString:NSAccessibilityInvalidAttribute])
-        return m_object->invalidStatus();
+        return self.axBackingObject->invalidStatus();
     
     if ([attributeName isEqualToString:NSAccessibilityOwnsAttribute]) {
         AccessibilityObject::AccessibilityChildrenVector ariaOwns;
-        m_object->ariaOwnsElements(ariaOwns);
+        self.axBackingObject->ariaOwnsElements(ariaOwns);
         return convertToNSArray(ariaOwns);
     }
     
     if ([attributeName isEqualToString:NSAccessibilityARIAPosInSetAttribute])
-        return [NSNumber numberWithInt:m_object->posInSet()];
+        return [NSNumber numberWithInt:self.axBackingObject->posInSet()];
     if ([attributeName isEqualToString:NSAccessibilityARIASetSizeAttribute])
-        return [NSNumber numberWithInt:m_object->setSize()];
+        return [NSNumber numberWithInt:self.axBackingObject->setSize()];
     
     if ([attributeName isEqualToString:NSAccessibilityGrabbedAttribute])
-        return [NSNumber numberWithBool:m_object->isARIAGrabbed()];
+        return [NSNumber numberWithBool:self.axBackingObject->isARIAGrabbed()];
     
     if ([attributeName isEqualToString:NSAccessibilityDropEffectsAttribute]) {
-        Vector<String> dropEffects = m_object->determineARIADropEffects();
+        Vector<String> dropEffects = self.axBackingObject->determineARIADropEffects();
         return convertStringsToNSArray(dropEffects);
     }
     
     if ([attributeName isEqualToString:NSAccessibilityPlaceholderValueAttribute])
-        return m_object->placeholderValue();
+        return self.axBackingObject->placeholderValue();
 
     if ([attributeName isEqualToString:NSAccessibilityValueAutofillAvailableAttribute])
-        return @(m_object->isValueAutofillAvailable());
+        return @(self.axBackingObject->isValueAutofillAvailable());
     
     if ([attributeName isEqualToString:NSAccessibilityValueAutofillTypeAttribute]) {
-        switch (m_object->valueAutofillButtonType()) {
+        switch (self.axBackingObject->valueAutofillButtonType()) {
         case AutoFillButtonType::None:
             return @"none";
         case AutoFillButtonType::Credentials:
@@ -3042,53 +3045,53 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
     
     if ([attributeName isEqualToString:NSAccessibilityValueAutofilledAttribute])
-        return @(m_object->isValueAutofilled());
+        return @(self.axBackingObject->isValueAutofilled());
 
     if ([attributeName isEqualToString:NSAccessibilityHasPopupAttribute])
-        return [NSNumber numberWithBool:m_object->hasPopup()];
+        return [NSNumber numberWithBool:self.axBackingObject->hasPopup()];
 
     if ([attributeName isEqualToString:NSAccessibilityDatetimeValueAttribute])
-        return m_object->datetimeAttributeValue();
+        return self.axBackingObject->datetimeAttributeValue();
     
     if ([attributeName isEqualToString:NSAccessibilityInlineTextAttribute])
-        return @(_axBackingObject->isInlineText());
+        return @(self.axBackingObject->isInlineText());
     
     // ARIA Live region attributes.
     if ([attributeName isEqualToString:NSAccessibilityARIALiveAttribute])
-        return m_object->liveRegionStatus();
+        return self.axBackingObject->liveRegionStatus();
     if ([attributeName isEqualToString:NSAccessibilityARIARelevantAttribute])
-        return m_object->liveRegionRelevant();
+        return self.axBackingObject->liveRegionRelevant();
     if ([attributeName isEqualToString:NSAccessibilityARIAAtomicAttribute])
-        return [NSNumber numberWithBool:m_object->liveRegionAtomic()];
+        return [NSNumber numberWithBool:self.axBackingObject->liveRegionAtomic()];
     if ([attributeName isEqualToString:NSAccessibilityElementBusyAttribute])
-        return [NSNumber numberWithBool:m_object->isBusy()];
+        return [NSNumber numberWithBool:self.axBackingObject->isBusy()];
     
     // MathML Attributes.
-    if (m_object->isMathElement()) {
+    if (self.axBackingObject->isMathElement()) {
         if ([attributeName isEqualToString:NSAccessibilityMathRootIndexAttribute])
-            return (m_object->mathRootIndexObject()) ? m_object->mathRootIndexObject()->wrapper() : 0;
+            return (self.axBackingObject->mathRootIndexObject()) ? self.axBackingObject->mathRootIndexObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathRootRadicandAttribute])
-            return (m_object->mathRadicandObject()) ? m_object->mathRadicandObject()->wrapper() : 0;
+            return (self.axBackingObject->mathRadicandObject()) ? self.axBackingObject->mathRadicandObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathFractionNumeratorAttribute])
-            return (m_object->mathNumeratorObject()) ? m_object->mathNumeratorObject()->wrapper() : 0;
+            return (self.axBackingObject->mathNumeratorObject()) ? self.axBackingObject->mathNumeratorObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathFractionDenominatorAttribute])
-            return (m_object->mathDenominatorObject()) ? m_object->mathDenominatorObject()->wrapper() : 0;
+            return (self.axBackingObject->mathDenominatorObject()) ? self.axBackingObject->mathDenominatorObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathBaseAttribute])
-            return (m_object->mathBaseObject()) ? m_object->mathBaseObject()->wrapper() : 0;
+            return (self.axBackingObject->mathBaseObject()) ? self.axBackingObject->mathBaseObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathSubscriptAttribute])
-            return (m_object->mathSubscriptObject()) ? m_object->mathSubscriptObject()->wrapper() : 0;
+            return (self.axBackingObject->mathSubscriptObject()) ? self.axBackingObject->mathSubscriptObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathSuperscriptAttribute])
-            return (m_object->mathSuperscriptObject()) ? m_object->mathSuperscriptObject()->wrapper() : 0;
+            return (self.axBackingObject->mathSuperscriptObject()) ? self.axBackingObject->mathSuperscriptObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathUnderAttribute])
-            return (m_object->mathUnderObject()) ? m_object->mathUnderObject()->wrapper() : 0;
+            return (self.axBackingObject->mathUnderObject()) ? self.axBackingObject->mathUnderObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathOverAttribute])
-            return (m_object->mathOverObject()) ? m_object->mathOverObject()->wrapper() : 0;
+            return (self.axBackingObject->mathOverObject()) ? self.axBackingObject->mathOverObject()->wrapper() : 0;
         if ([attributeName isEqualToString:NSAccessibilityMathFencedOpenAttribute])
-            return m_object->mathFencedOpenString();
+            return self.axBackingObject->mathFencedOpenString();
         if ([attributeName isEqualToString:NSAccessibilityMathFencedCloseAttribute])
-            return m_object->mathFencedCloseString();
+            return self.axBackingObject->mathFencedCloseString();
         if ([attributeName isEqualToString:NSAccessibilityMathLineThicknessAttribute])
-            return [NSNumber numberWithInteger:m_object->mathLineThickness()];
+            return [NSNumber numberWithInteger:self.axBackingObject->mathLineThickness()];
         if ([attributeName isEqualToString:NSAccessibilityMathPostscriptsAttribute])
             return [self accessibilityMathPostscriptPairs];
         if ([attributeName isEqualToString:NSAccessibilityMathPrescriptsAttribute])
@@ -3096,13 +3099,13 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
     
     if ([attributeName isEqualToString:NSAccessibilityExpandedTextValueAttribute])
-        return m_object->expandedTextValue();
+        return self.axBackingObject->expandedTextValue();
     
     if ([attributeName isEqualToString:NSAccessibilityDOMIdentifierAttribute])
-        return m_object->identifierAttribute();
+        return self.axBackingObject->identifierAttribute();
     if ([attributeName isEqualToString:NSAccessibilityDOMClassListAttribute]) {
         Vector<String> classList;
-        m_object->classList(classList);
+        self.axBackingObject->classList(classList);
         return convertStringsToNSArray(classList);
     }
     
@@ -3112,7 +3115,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     
     // this is used only by DumpRenderTree for testing
     if ([attributeName isEqualToString:@"AXClickPoint"])
-        return [NSValue valueWithPoint:m_object->clickPoint()];
+        return [NSValue valueWithPoint:self.axBackingObject->clickPoint()];
     
     // This is used by DRT to verify CSS3 speech works.
     if ([attributeName isEqualToString:@"AXDRTSpeechAttribute"])
@@ -3120,74 +3123,74 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     
     // Used by DRT to find an accessible node by its element id.
     if ([attributeName isEqualToString:@"AXDRTElementIdAttribute"])
-        return m_object->identifierAttribute();
+        return self.axBackingObject->identifierAttribute();
     
     if ([attributeName isEqualToString:@"AXAutocompleteValue"])
-        return m_object->autoCompleteValue();
+        return self.axBackingObject->autoCompleteValue();
 
     if ([attributeName isEqualToString:NSAccessibilityPopupValueAttribute])
-        return m_object->popupValue();
+        return self.axBackingObject->popupValue();
 
     if ([attributeName isEqualToString:@"AXKeyShortcutsValue"])
-        return m_object->keyShortcutsValue();
+        return self.axBackingObject->keyShortcutsValue();
     
     if ([attributeName isEqualToString:@"AXARIAPressedIsPresent"])
-        return [NSNumber numberWithBool:m_object->pressedIsPresent()];
+        return [NSNumber numberWithBool:self.axBackingObject->pressedIsPresent()];
     
     if ([attributeName isEqualToString:@"AXIsMultiline"])
-        return [NSNumber numberWithBool:m_object->ariaIsMultiline()];
+        return [NSNumber numberWithBool:self.axBackingObject->ariaIsMultiline()];
     
     if ([attributeName isEqualToString:@"AXReadOnlyValue"])
-        return m_object->readOnlyValue();
+        return self.axBackingObject->readOnlyValue();
 
     if ([attributeName isEqualToString:@"AXIsActiveDescendantOfFocusedContainer"])
-        return [NSNumber numberWithBool:m_object->isActiveDescendantOfFocusedContainer()];
+        return [NSNumber numberWithBool:self.axBackingObject->isActiveDescendantOfFocusedContainer()];
 
     if ([attributeName isEqualToString:@"AXDetailsElements"]) {
         AccessibilityObject::AccessibilityChildrenVector details;
-        m_object->ariaDetailsElements(details);
+        self.axBackingObject->ariaDetailsElements(details);
         return convertToNSArray(details);
     }
 
     if ([attributeName isEqualToString:NSAccessibilityRelativeFrameAttribute])
-        return [NSValue valueWithRect:NSRectFromCGRect(_axBackingObject->relativeFrame())];
+        return [NSValue valueWithRect:NSRectFromCGRect(self.axBackingObject->relativeFrame())];
 
     if ([attributeName isEqualToString:@"AXErrorMessageElements"]) {
         AccessibilityObject::AccessibilityChildrenVector errorMessages;
-        m_object->ariaErrorMessageElements(errorMessages);
+        self.axBackingObject->ariaErrorMessageElements(errorMessages);
         return convertToNSArray(errorMessages);
     }
 
     // Multi-selectable
     if ([attributeName isEqualToString:NSAccessibilityIsMultiSelectableAttribute])
-        return [NSNumber numberWithBool:m_object->isMultiSelectable()];
+        return [NSNumber numberWithBool:self.axBackingObject->isMultiSelectable()];
     
     // Document attributes
     if ([attributeName isEqualToString:NSAccessibilityDocumentURIAttribute])
-        return m_object->documentURI();
+        return self.axBackingObject->documentURI();
     
     if ([attributeName isEqualToString:NSAccessibilityDocumentEncodingAttribute])
-        return m_object->documentEncoding();
+        return self.axBackingObject->documentEncoding();
     
     // Aria controls element
     if ([attributeName isEqualToString:NSAccessibilityAriaControlsAttribute]) {
         AccessibilityObject::AccessibilityChildrenVector ariaControls;
-        m_object->ariaControlsElements(ariaControls);
+        self.axBackingObject->ariaControlsElements(ariaControls);
         return convertToNSArray(ariaControls);
     }
 
     if ([attributeName isEqualToString:NSAccessibilityFocusableAncestorAttribute]) {
-        AXCoreObject* object = m_object->focusableAncestor();
+        AXCoreObject* object = self.axBackingObject->focusableAncestor();
         return object ? object->wrapper() : nil;
     }
 
     if ([attributeName isEqualToString:NSAccessibilityEditableAncestorAttribute]) {
-        AXCoreObject* object = m_object->editableAncestor();
+        AXCoreObject* object = self.axBackingObject->editableAncestor();
         return object ? object->wrapper() : nil;
     }
 
     if ([attributeName isEqualToString:NSAccessibilityHighestEditableAncestorAttribute]) {
-        AXCoreObject* object = m_object->highestEditableAncestor();
+        AXCoreObject* object = self.axBackingObject->highestEditableAncestor();
         return object ? object->wrapper() : nil;
     }
 
@@ -3209,7 +3212,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (![self updateObjectBackingStore])
         return nil;
     
-    auto focusedObject = _axBackingObject->focusedUIElement();
+    auto focusedObject = self.axBackingObject->focusedUIElement();
     if (!focusedObject)
         return nil;
     
@@ -3221,8 +3224,8 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (![self updateObjectBackingStore])
         return nil;
     
-    _axBackingObject->updateChildrenIfNecessary();
-    AXCoreObject* axObject = _axBackingObject->accessibilityHitTest(IntPoint(point));
+    self.axBackingObject->updateChildrenIfNecessary();
+    AXCoreObject* axObject = self.axBackingObject->accessibilityHitTest(IntPoint(point));
     if (axObject) {
         if (axObject->isAttachment() && [axObject->wrapper() attachmentView])
             return [axObject->wrapper() attachmentView];
@@ -3242,20 +3245,20 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         return YES;
     
     if ([attributeName isEqualToString: NSAccessibilityFocusedAttribute])
-        return m_object->canSetFocusAttribute();
+        return self.axBackingObject->canSetFocusAttribute();
     
     if ([attributeName isEqualToString: NSAccessibilityValueAttribute])
-        return m_object->canSetValueAttribute();
+        return self.axBackingObject->canSetValueAttribute();
     
     if ([attributeName isEqualToString: NSAccessibilitySelectedAttribute])
-        return m_object->canSetSelectedAttribute();
+        return self.axBackingObject->canSetSelectedAttribute();
     
     if ([attributeName isEqualToString: NSAccessibilitySelectedChildrenAttribute])
-        return m_object->canSetSelectedChildrenAttribute();
+        return self.axBackingObject->canSetSelectedChildrenAttribute();
     
     if ([attributeName isEqualToString:NSAccessibilityDisclosingAttribute]
         || [attributeName isEqualToString:NSAccessibilityExpandedAttribute])
-        return m_object->canSetExpandedAttribute();
+        return self.axBackingObject->canSetExpandedAttribute();
     
     if ([attributeName isEqualToString:NSAccessibilitySelectedRowsAttribute])
         return YES;
@@ -3263,15 +3266,15 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if ([attributeName isEqualToString: NSAccessibilitySelectedTextAttribute] ||
         [attributeName isEqualToString: NSAccessibilitySelectedTextRangeAttribute] ||
         [attributeName isEqualToString: NSAccessibilityVisibleCharacterRangeAttribute])
-        return m_object->canSetTextRangeAttributes();
+        return self.axBackingObject->canSetTextRangeAttributes();
     
     if ([attributeName isEqualToString:NSAccessibilityGrabbedAttribute])
         return YES;
     
-    if (m_object->isWebArea() && [attributeName isEqualToString:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute])
+    if (self.axBackingObject->isWebArea() && [attributeName isEqualToString:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute])
         return YES;
     
-    if (m_object->isWebArea() && [attributeName isEqualToString:NSAccessibilityCaretBrowsingEnabledAttribute])
+    if (self.axBackingObject->isWebArea() && [attributeName isEqualToString:NSAccessibilityCaretBrowsingEnabledAttribute])
         return YES;
     
     return NO;
@@ -3293,9 +3296,9 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (![self updateObjectBackingStore])
         return YES;
     
-    if (_axBackingObject->isAttachment())
+    if (self.axBackingObject->isAttachment())
         return [[self attachmentView] accessibilityIsIgnored];
-    return _axBackingObject->accessibilityIsIgnored();
+    return self.axBackingObject->accessibilityIsIgnored();
 }
 
 ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
@@ -3305,7 +3308,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (![self updateObjectBackingStore])
         return nil;
     
-    if (m_object->isAttachment())
+    if (self.axBackingObject->isAttachment())
         return nil;
     
     static NSArray* paramAttrs = nil;
@@ -3384,19 +3387,19 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         [tempArray release];
     }
     
-    if (m_object->isPasswordField())
+    if (self.axBackingObject->isPasswordField())
         return @[ NSAccessibilityUIElementsForSearchPredicateParameterizedAttribute ];
     
-    if (m_object->isTextControl())
+    if (self.axBackingObject->isTextControl())
         return textParamAttrs;
     
-    if (is<AccessibilityTable>(*m_object) && downcast<AccessibilityTable>(*m_object).isExposableThroughAccessibility())
+    if (is<AccessibilityTable>(*self.axBackingObject) && downcast<AccessibilityTable>(*self.axBackingObject).isExposableThroughAccessibility())
         return tableParamAttrs;
     
-    if (m_object->isMenuRelated())
+    if (self.axBackingObject->isMenuRelated())
         return nil;
     
-    if (m_object->isWebArea())
+    if (self.axBackingObject->isWebArea())
         return webAreaParamAttrs;
     
     return paramAttrs;
@@ -3418,10 +3421,10 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     if (![self updateObjectBackingStore])
         return;
     
-    if (m_object->isAttachment())
+    if (self.axBackingObject->isAttachment())
         [[self attachmentView] accessibilityPerformAction:NSAccessibilityPressAction];
     else
-        m_object->press();
+        self.axBackingObject->press();
 }
 
 - (void)accessibilityPerformIncrementAction
@@ -3436,10 +3439,10 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     if (![self updateObjectBackingStore])
         return;
     
-    if (m_object->isAttachment())
+    if (self.axBackingObject->isAttachment())
         [[self attachmentView] accessibilityPerformAction:NSAccessibilityIncrementAction];
     else
-        m_object->increment();
+        self.axBackingObject->increment();
 }
 
 - (void)accessibilityPerformDecrementAction
@@ -3454,18 +3457,18 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     if (![self updateObjectBackingStore])
         return;
     
-    if (m_object->isAttachment())
+    if (self.axBackingObject->isAttachment())
         [[self attachmentView] accessibilityPerformAction:NSAccessibilityDecrementAction];
     else
-        m_object->decrement();
+        self.axBackingObject->decrement();
 }
 
 ALLOW_DEPRECATED_DECLARATIONS_END
 
 - (void)accessibilityPerformShowMenuAction
 {
-    if (m_object->roleValue() == AccessibilityRole::ComboBox)
-        m_object->setIsExpanded(true);
+    if (self.axBackingObject->roleValue() == AccessibilityRole::ComboBox)
+        self.axBackingObject->setIsExpanded(true);
     else {
         // This needs to be performed in an iteration of the run loop that did not start from an AX call.
         // If it's the same run loop iteration, the menu open notification won't be sent
@@ -3484,21 +3487,21 @@ ALLOW_DEPRECATED_DECLARATIONS_END
 {
     ASSERT(isMainThread());
     
-    if (!_axBackingObject)
+    if (!self.axBackingObject)
         return;
     
-    Page* page = _axBackingObject->page();
+    Page* page = self.axBackingObject->page();
     if (!page)
         return;
     
-    IntRect rect = snappedIntRect(_axBackingObject->elementRect());
-    FrameView* frameView = _axBackingObject->documentFrameView();
+    IntRect rect = snappedIntRect(self.axBackingObject->elementRect());
+    FrameView* frameView = self.axBackingObject->documentFrameView();
     
     // On WK2, we need to account for the scroll position with regards to root view.
     // On WK1, we need to convert rect to window space to match mouse clicking.
     if (frameView) {
         // Find the appropriate scroll view to use to convert the contents to the window.
-        for (auto* parent = _axBackingObject->parentObject(); parent; parent = parent->parentObject()) {
+        for (auto* parent = self.axBackingObject->parentObject(); parent; parent = parent->parentObject()) {
             if (is<AccessibilityScrollView>(*parent)) {
                 if (auto scrollView = downcast<AccessibilityScrollView>(*parent).scrollView()) {
                     if (!frameView->platformWidget())
@@ -3516,17 +3519,17 @@ ALLOW_DEPRECATED_DECLARATIONS_END
 
 - (void)accessibilityScrollToVisible
 {
-    m_object->scrollToMakeVisible();
+    self.axBackingObject->scrollToMakeVisible();
 }
 
 - (void)_accessibilityScrollToMakeVisibleWithSubFocus:(NSRect)rect
 {
-    m_object->scrollToMakeVisibleWithSubFocus(IntRect(rect));
+    self.axBackingObject->scrollToMakeVisibleWithSubFocus(IntRect(rect));
 }
 
 - (void)_accessibilityScrollToGlobalPoint:(NSPoint)point
 {
-    m_object->scrollToGlobalPoint(IntPoint(point));
+    self.axBackingObject->scrollToGlobalPoint(IntPoint(point));
 }
 
 ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
@@ -3567,7 +3570,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (![self updateObjectBackingStore])
         return NO;
     
-    return m_object->replaceTextInRange(string, PlainTextRange(range));
+    return self.axBackingObject->replaceTextInRange(string, PlainTextRange(range));
 }
 
 - (BOOL)accessibilityInsertText:(NSString *)text
@@ -3575,7 +3578,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (![self updateObjectBackingStore])
         return NO;
 
-    return m_object->insertText(text);
+    return self.axBackingObject->insertText(text);
 }
 
 ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
@@ -3624,47 +3627,47 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     // handle the command
     if ([attributeName isEqualToString: @"AXSelectedTextMarkerRange"]) {
         ASSERT(textMarkerRange);
-        m_object->setSelectedVisiblePositionRange([self visiblePositionRangeForTextMarkerRange:textMarkerRange]);
+        self.axBackingObject->setSelectedVisiblePositionRange([self visiblePositionRangeForTextMarkerRange:textMarkerRange]);
     } else if ([attributeName isEqualToString: NSAccessibilityFocusedAttribute]) {
         [self baseAccessibilitySetFocus:[number boolValue]];
     } else if ([attributeName isEqualToString: NSAccessibilityValueAttribute]) {
-        if (number && m_object->canSetNumericValue())
-            m_object->setValue([number floatValue]);
+        if (number && self.axBackingObject->canSetNumericValue())
+            self.axBackingObject->setValue([number floatValue]);
         else if (string)
-            m_object->setValue(string);
+            self.axBackingObject->setValue(string);
     } else if ([attributeName isEqualToString: NSAccessibilitySelectedAttribute]) {
         if (!number)
             return;
-        m_object->setSelected([number boolValue]);
+        self.axBackingObject->setSelected([number boolValue]);
     } else if ([attributeName isEqualToString: NSAccessibilitySelectedChildrenAttribute]) {
         if (!array)
             return;
-        if (m_object->roleValue() != AccessibilityRole::ListBox)
+        if (self.axBackingObject->roleValue() != AccessibilityRole::ListBox)
             return;
         AccessibilityObject::AccessibilityChildrenVector selectedChildren;
         convertToVector(array, selectedChildren);
-        downcast<AccessibilityListBox>(*m_object).setSelectedChildren(selectedChildren);
-    } else if (m_object->isTextControl()) {
+        downcast<AccessibilityListBox>(*self.axBackingObject).setSelectedChildren(selectedChildren);
+    } else if (self.axBackingObject->isTextControl()) {
         if ([attributeName isEqualToString: NSAccessibilitySelectedTextAttribute]) {
-            m_object->setSelectedText(string);
+            self.axBackingObject->setSelectedText(string);
         } else if ([attributeName isEqualToString: NSAccessibilitySelectedTextRangeAttribute]) {
-            m_object->setSelectedTextRange(PlainTextRange(range.location, range.length));
+            self.axBackingObject->setSelectedTextRange(PlainTextRange(range.location, range.length));
         } else if ([attributeName isEqualToString: NSAccessibilityVisibleCharacterRangeAttribute]) {
-            m_object->makeRangeVisible(PlainTextRange(range.location, range.length));
+            self.axBackingObject->makeRangeVisible(PlainTextRange(range.location, range.length));
         }
     } else if ([attributeName isEqualToString:NSAccessibilityDisclosingAttribute] || [attributeName isEqualToString:NSAccessibilityExpandedAttribute])
-        m_object->setIsExpanded([number boolValue]);
+        self.axBackingObject->setIsExpanded([number boolValue]);
     else if ([attributeName isEqualToString:NSAccessibilitySelectedRowsAttribute]) {
         AccessibilityObject::AccessibilityChildrenVector selectedRows;
         convertToVector(array, selectedRows);
-        if (m_object->isTree() || (is<AccessibilityTable>(*m_object) && downcast<AccessibilityTable>(*m_object).isExposableThroughAccessibility()))
-            m_object->setSelectedRows(selectedRows);
+        if (self.axBackingObject->isTree() || (is<AccessibilityTable>(*self.axBackingObject) && downcast<AccessibilityTable>(*self.axBackingObject).isExposableThroughAccessibility()))
+            self.axBackingObject->setSelectedRows(selectedRows);
     } else if ([attributeName isEqualToString:NSAccessibilityGrabbedAttribute])
-        m_object->setARIAGrabbed([number boolValue]);
-    else if (m_object->isWebArea() && [attributeName isEqualToString:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute])
-        m_object->setPreventKeyboardDOMEventDispatch([number boolValue]);
-    else if (m_object->isWebArea() && [attributeName isEqualToString:NSAccessibilityCaretBrowsingEnabledAttribute])
-        m_object->setCaretBrowsingEnabled([number boolValue]);
+        self.axBackingObject->setARIAGrabbed([number boolValue]);
+    else if (self.axBackingObject->isWebArea() && [attributeName isEqualToString:NSAccessibilityPreventKeyboardDOMEventDispatchAttribute])
+        self.axBackingObject->setPreventKeyboardDOMEventDispatch([number boolValue]);
+    else if (self.axBackingObject->isWebArea() && [attributeName isEqualToString:NSAccessibilityCaretBrowsingEnabledAttribute])
+        self.axBackingObject->setCaretBrowsingEnabled([number boolValue]);
 }
 
 // Used to set attributes synchronously on accessibility elements within tests.
@@ -3716,7 +3719,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 - (NSAttributedString*)doAXAttributedStringForRange:(NSRange)range
 {
     PlainTextRange textRange = PlainTextRange(range.location, range.length);
-    RefPtr<Range> webRange = m_object->rangeForPlainTextRange(textRange);
+    RefPtr<Range> webRange = self.axBackingObject->rangeForPlainTextRange(textRange);
     return [self doAXAttributedStringForTextMarkerRange:[self textMarkerRangeFromRange:webRange] spellCheck:YES];
 }
 
@@ -3728,7 +3731,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (!range)
         return result;
     
-    Document* document = _axBackingObject->document();
+    Document* document = self.axBackingObject->document();
     if (!document)
         return result;
     
@@ -3746,7 +3749,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (!marker)
         return NSNotFound;
     
-    if (AXObjectCache* cache = m_object->axObjectCache()) {
+    if (AXObjectCache* cache = self.axBackingObject->axObjectCache()) {
         CharacterOffset characterOffset = [self characterOffsetForTextMarker:marker];
         // Create a collapsed range from the CharacterOffset object.
         RefPtr<Range> range = cache->rangeForUnorderedCharacterOffsets(characterOffset, characterOffset);
@@ -3759,7 +3762,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 {
     ASSERT(isMainThread());
 
-    Document* document = _axBackingObject->document();
+    Document* document = self.axBackingObject->document();
     if (!document)
         return nil;
     
@@ -3767,7 +3770,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if (!textRange || !textRange->boundaryPointsValid())
         return nil;
     
-    if (AXObjectCache* cache = m_object->axObjectCache()) {
+    if (AXObjectCache* cache = self.axBackingObject->axObjectCache()) {
         CharacterOffset characterOffset = cache->startOrEndCharacterOffsetForRange(textRange, true);
         return [self textMarkerForCharacterOffset:characterOffset];
     }
@@ -3855,7 +3858,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     NSRect rect = NSZeroRect;
     
     // basic parameter validation
-    if (!m_object || !attribute || !parameter)
+    if (!self.axBackingObject || !attribute || !parameter)
         return nil;
     
     if (![self updateObjectBackingStore])
@@ -3871,8 +3874,8 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         textMarkerRange = parameter;
     
     else if ([parameter isKindOfClass:[WebAccessibilityObjectWrapper self]])
-        uiElement = [(WebAccessibilityObjectWrapper*)parameter accessibilityObject];
-    
+        uiElement = [(WebAccessibilityObjectWrapper*)parameter axBackingObject];
+
     else if ([parameter isKindOfClass:[NSNumber self]])
         number = parameter;
     
@@ -3901,9 +3904,9 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         // To be deprecated.
         auto result = Accessibility::retrieveValueFromMainThread<Vector<String>>([dictionary, self] () -> Vector<String> {
             auto criteria = accessibilityTextCriteriaForParameterizedAttribute(dictionary);
-            criteria.second.textRanges = m_object->findTextRanges(criteria.first);
+            criteria.second.textRanges = self.axBackingObject->findTextRanges(criteria.first);
             ASSERT(criteria.second.textRanges.size() <= 1);
-            return m_object->performTextOperation(criteria.second);
+            return self.axBackingObject->performTextOperation(criteria.second);
         });
         ASSERT(result.size() <= 1);
         if (result.size() > 0)
@@ -3914,7 +3917,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if ([attribute isEqualToString:NSAccessibilitySearchTextWithCriteriaParameterizedAttribute]) {
         auto criteria = accessibilitySearchTextCriteriaForParameterizedAttribute(dictionary);
         return Accessibility::retrieveValueFromMainThread<NSArray *>([&criteria, self] () -> NSArray * {
-            auto ranges = m_object->findTextRanges(criteria);
+            auto ranges = self.axBackingObject->findTextRanges(criteria);
             if (ranges.isEmpty())
                 return nil;
             NSMutableArray *markers = [NSMutableArray arrayWithCapacity:ranges.size()];
@@ -3929,7 +3932,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if ([attribute isEqualToString:NSAccessibilityTextOperationParameterizedAttribute]) {
         auto operationResult = Accessibility::retrieveValueFromMainThread<Vector<String>>([dictionary, self] () -> Vector<String> {
             auto textOperation = accessibilityTextOperationForParameterizedAttribute(self, dictionary);
-            return m_object->performTextOperation(textOperation);
+            return self.axBackingObject->performTextOperation(textOperation);
         });
         if (operationResult.isEmpty())
             return nil;
@@ -3942,20 +3945,20 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if ([attribute isEqualToString:NSAccessibilityUIElementCountForSearchPredicateParameterizedAttribute]) {
         AccessibilitySearchCriteria criteria = accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute(dictionary);
         AccessibilityObject::AccessibilityChildrenVector results;
-        m_object->findMatchingObjects(&criteria, results);
+        self.axBackingObject->findMatchingObjects(&criteria, results);
         return @(results.size());
     }
     
     if ([attribute isEqualToString:NSAccessibilityUIElementsForSearchPredicateParameterizedAttribute]) {
         AccessibilitySearchCriteria criteria = accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute(dictionary);
         AccessibilityObject::AccessibilityChildrenVector results;
-        m_object->findMatchingObjects(&criteria, results);
+        self.axBackingObject->findMatchingObjects(&criteria, results);
         return convertToNSArray(results);
     }
 
     if ([attribute isEqualToString:NSAccessibilityEndTextMarkerForBoundsParameterizedAttribute]) {
         return Accessibility::retrieveValueFromMainThread<id>([&rect, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -3967,7 +3970,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:NSAccessibilityStartTextMarkerForBoundsParameterizedAttribute]) {
         return Accessibility::retrieveValueFromMainThread<id>([&rect, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -3979,13 +3982,13 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) {
         VisiblePosition visiblePosition = [self visiblePositionForTextMarker:textMarker];
-        VisiblePositionRange visiblePositionRange = m_object->lineRangeForPosition(visiblePosition);
+        VisiblePositionRange visiblePositionRange = self.axBackingObject->lineRangeForPosition(visiblePosition);
         return [self textMarkerRangeFromVisiblePositions:visiblePositionRange.start endPosition:visiblePositionRange.end];
     }
 
     if ([attribute isEqualToString:NSAccessibilityMisspellingTextMarkerRangeParameterizedAttribute]) {
         auto criteria = accessibilityMisspellingSearchCriteriaForParameterizedAttribute(self, dictionary);
-        if (auto misspellingRange = m_object->getMisspellingRange(criteria.first, criteria.second))
+        if (auto misspellingRange = self.axBackingObject->getMisspellingRange(criteria.first, criteria.second))
             return [self textMarkerRangeFromRange:misspellingRange];
         return nil;
     }
@@ -4019,19 +4022,19 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXLineForTextMarker"]) {
         VisiblePosition visiblePos = [self visiblePositionForTextMarker:(textMarker)];
-        return [NSNumber numberWithUnsignedInt:m_object->lineForPosition(visiblePos)];
+        return [NSNumber numberWithUnsignedInt:self.axBackingObject->lineForPosition(visiblePos)];
     }
     
     if ([attribute isEqualToString:@"AXTextMarkerRangeForLine"]) {
         VisiblePositionRange vpRange;
         if ([number unsignedIntegerValue] != NSNotFound)
-            vpRange = m_object->visiblePositionRangeForLine([number unsignedIntValue]);
+            vpRange = self.axBackingObject->visiblePositionRangeForLine([number unsignedIntValue]);
         return [self textMarkerRangeFromVisiblePositions:vpRange.start endPosition:vpRange.end];
     }
     
     if ([attribute isEqualToString:@"AXStringForTextMarkerRange"]) {
         RefPtr<Range> range = [self rangeForTextMarkerRange:textMarkerRange];
-        return m_object->stringForRange(range);
+        return self.axBackingObject->stringForRange(range);
     }
 
     if ([attribute isEqualToString:@"AXTextMarkerForPosition"]) {
@@ -4040,58 +4043,58 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             return nil;
 
         return Accessibility::retrieveValueFromMainThread<id>([&webCorePoint, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
-            CharacterOffset characterOffset = cache->characterOffsetForPoint(webCorePoint, protectedSelf->m_object);
+            CharacterOffset characterOffset = cache->characterOffsetForPoint(webCorePoint, protectedSelf.get().axBackingObject);
             return [protectedSelf textMarkerForCharacterOffset:characterOffset];
         });
     }
 
     if ([attribute isEqualToString:@"AXBoundsForTextMarkerRange"]) {
         RefPtr<Range> range = [self rangeForTextMarkerRange:textMarkerRange];
-        auto bounds = FloatRect(m_object->boundsForRange(range));
+        auto bounds = FloatRect(self.axBackingObject->boundsForRange(range));
         NSRect rect = [self convertRectToSpace:bounds space:AccessibilityConversionSpace::Screen];
         return [NSValue valueWithRect:rect];
     }
 
     if ([attribute isEqualToString:NSAccessibilityBoundsForRangeParameterizedAttribute]) {
         NSRect rect = Accessibility::retrieveValueFromMainThread<NSRect>([&range, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> NSRect {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return CGRectZero;
 
-            CharacterOffset start = cache->characterOffsetForIndex(range.location, protectedSelf->m_object);
-            CharacterOffset end = cache->characterOffsetForIndex(range.location+range.length, protectedSelf->m_object);
+            CharacterOffset start = cache->characterOffsetForIndex(range.location, protectedSelf.get().axBackingObject);
+            CharacterOffset end = cache->characterOffsetForIndex(range.location+range.length, protectedSelf.get().axBackingObject);
             if (start.isNull() || end.isNull())
                 return CGRectZero;
 
             RefPtr<Range> range = cache->rangeForUnorderedCharacterOffsets(start, end);
-            auto bounds = FloatRect(protectedSelf->m_object->boundsForRange(range));
+            auto bounds = FloatRect(protectedSelf.get().axBackingObject->boundsForRange(range));
             return [protectedSelf convertRectToSpace:bounds space:AccessibilityConversionSpace::Screen];
         });
         return [NSValue valueWithRect:rect];
     }
 
     if ([attribute isEqualToString:NSAccessibilityStringForRangeParameterizedAttribute]) {
-        if (m_object->isTextControl()) {
+        if (self.axBackingObject->isTextControl()) {
             PlainTextRange plainTextRange = PlainTextRange(range.location, range.length);
-            return m_object->doAXStringForRange(plainTextRange);
+            return self.axBackingObject->doAXStringForRange(plainTextRange);
         }
 
         return Accessibility::retrieveValueFromMainThread<NSString *>([&range, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> NSString * {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
-            CharacterOffset start = cache->characterOffsetForIndex(range.location, protectedSelf->m_object);
-            CharacterOffset end = cache->characterOffsetForIndex(range.location + range.length, protectedSelf->m_object);
+            CharacterOffset start = cache->characterOffsetForIndex(range.location, protectedSelf.get().axBackingObject);
+            CharacterOffset end = cache->characterOffsetForIndex(range.location + range.length, protectedSelf.get().axBackingObject);
             if (start.isNull() || end.isNull())
                 return nil;
 
             RefPtr<Range> range = cache->rangeForUnorderedCharacterOffsets(start, end);
-            return protectedSelf->m_object->stringForRange(range);
+            return protectedSelf.get().axBackingObject->stringForRange(range);
         });
     }
 
@@ -4125,7 +4128,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             return nil;
 
         return Accessibility::retrieveValueFromMainThread<id>([textMarker1, textMarker2, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4148,7 +4151,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXLeftWordTextMarkerRangeForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4160,7 +4163,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXRightWordTextMarkerRangeForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4172,19 +4175,19 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXLeftLineTextMarkerRangeForTextMarker"]) {
         VisiblePosition visiblePos = [self visiblePositionForTextMarker:(textMarker)];
-        VisiblePositionRange vpRange = m_object->leftLineVisiblePositionRange(visiblePos);
+        VisiblePositionRange vpRange = self.axBackingObject->leftLineVisiblePositionRange(visiblePos);
         return [self textMarkerRangeFromVisiblePositions:vpRange.start endPosition:vpRange.end];
     }
     
     if ([attribute isEqualToString:@"AXRightLineTextMarkerRangeForTextMarker"]) {
         VisiblePosition visiblePos = [self visiblePositionForTextMarker:(textMarker)];
-        VisiblePositionRange vpRange = m_object->rightLineVisiblePositionRange(visiblePos);
+        VisiblePositionRange vpRange = self.axBackingObject->rightLineVisiblePositionRange(visiblePos);
         return [self textMarkerRangeFromVisiblePositions:vpRange.start endPosition:vpRange.end];
     }
 
     if ([attribute isEqualToString:@"AXSentenceTextMarkerRangeForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4196,7 +4199,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXParagraphTextMarkerRangeForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4208,7 +4211,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXNextWordEndTextMarkerForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4220,7 +4223,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXPreviousWordStartTextMarkerForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4232,17 +4235,17 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXNextLineEndTextMarkerForTextMarker"]) {
         VisiblePosition visiblePos = [self visiblePositionForTextMarker:(textMarker)];
-        return [self textMarkerForVisiblePosition:m_object->nextLineEndPosition(visiblePos)];
+        return [self textMarkerForVisiblePosition:self.axBackingObject->nextLineEndPosition(visiblePos)];
     }
     
     if ([attribute isEqualToString:@"AXPreviousLineStartTextMarkerForTextMarker"]) {
         VisiblePosition visiblePos = [self visiblePositionForTextMarker:(textMarker)];
-        return [self textMarkerForVisiblePosition:m_object->previousLineStartPosition(visiblePos)];
+        return [self textMarkerForVisiblePosition:self.axBackingObject->previousLineStartPosition(visiblePos)];
     }
     
     if ([attribute isEqualToString:@"AXNextSentenceEndTextMarkerForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
             
@@ -4254,7 +4257,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXPreviousSentenceStartTextMarkerForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4266,7 +4269,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXNextParagraphEndTextMarkerForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4278,7 +4281,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXPreviousParagraphStartTextMarkerForTextMarker"]) {
         return Accessibility::retrieveValueFromMainThread<id>([textMarker, protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> id {
-            auto* cache = protectedSelf->m_object->axObjectCache();
+            auto* cache = protectedSelf.get().axBackingObject->axObjectCache();
             if (!cache)
                 return nil;
 
@@ -4290,7 +4293,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     if ([attribute isEqualToString:@"AXStyleTextMarkerRangeForTextMarker"]) {
         VisiblePosition visiblePos = [self visiblePositionForTextMarker:(textMarker)];
-        VisiblePositionRange vpRange = m_object->styleRangeForPosition(visiblePos);
+        VisiblePositionRange vpRange = self.axBackingObject->styleRangeForPosition(visiblePos);
         return [self textMarkerRangeFromVisiblePositions:vpRange.start endPosition:vpRange.end];
     }
     
@@ -4331,11 +4334,11 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     }
 #endif
 
-    if (is<AccessibilityTable>(*m_object) && downcast<AccessibilityTable>(*m_object).isExposableThroughAccessibility()) {
+    if (is<AccessibilityTable>(*self.axBackingObject) && downcast<AccessibilityTable>(*self.axBackingObject).isExposableThroughAccessibility()) {
         if ([attribute isEqualToString:NSAccessibilityCellForColumnAndRowParameterizedAttribute]) {
             if (array == nil || [array count] != 2)
                 return nil;
-            AccessibilityTableCell* cell = downcast<AccessibilityTable>(*m_object).cellForColumnAndRow([[array objectAtIndex:0] unsignedIntValue], [[array objectAtIndex:1] unsignedIntValue]);
+            AccessibilityTableCell* cell = downcast<AccessibilityTable>(*self.axBackingObject).cellForColumnAndRow([[array objectAtIndex:0] unsignedIntValue], [[array objectAtIndex:1] unsignedIntValue]);
             if (!cell)
                 return nil;
             
@@ -4343,34 +4346,34 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         }
     }
     
-    if (m_object->isTextControl()) {
+    if (self.axBackingObject->isTextControl()) {
         if ([attribute isEqualToString: (NSString *)kAXLineForIndexParameterizedAttribute]) {
-            int lineNumber = m_object->doAXLineForIndex([number intValue]);
+            int lineNumber = self.axBackingObject->doAXLineForIndex([number intValue]);
             if (lineNumber < 0)
                 return nil;
             return [NSNumber numberWithUnsignedInt:lineNumber];
         }
         
         if ([attribute isEqualToString: (NSString *)kAXRangeForLineParameterizedAttribute]) {
-            PlainTextRange textRange = m_object->doAXRangeForLine([number intValue]);
+            PlainTextRange textRange = self.axBackingObject->doAXRangeForLine([number intValue]);
             return [NSValue valueWithRange: NSMakeRange(textRange.start, textRange.length)];
         }
         
         if ([attribute isEqualToString: (NSString*)kAXStringForRangeParameterizedAttribute]) {
             PlainTextRange plainTextRange = PlainTextRange(range.location, range.length);
-            return rangeSet ? (id)(m_object->doAXStringForRange(plainTextRange)) : nil;
+            return rangeSet ? (id)(self.axBackingObject->doAXStringForRange(plainTextRange)) : nil;
         }
         
         if ([attribute isEqualToString: (NSString*)kAXRangeForPositionParameterizedAttribute]) {
             if (!pointSet)
                 return nil;
             IntPoint webCorePoint = IntPoint(point);
-            PlainTextRange textRange = m_object->doAXRangeForPosition(webCorePoint);
+            PlainTextRange textRange = self.axBackingObject->doAXRangeForPosition(webCorePoint);
             return [NSValue valueWithRange: NSMakeRange(textRange.start, textRange.length)];
         }
         
         if ([attribute isEqualToString: (NSString*)kAXRangeForIndexParameterizedAttribute]) {
-            PlainTextRange textRange = m_object->doAXRangeForIndex([number intValue]);
+            PlainTextRange textRange = self.axBackingObject->doAXRangeForIndex([number intValue]);
             return [NSValue valueWithRange: NSMakeRange(textRange.start, textRange.length)];
         }
         
@@ -4378,7 +4381,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             if (!rangeSet)
                 return nil;
             PlainTextRange plainTextRange = PlainTextRange(range.location, range.length);
-            auto bounds = FloatRect(m_object->doAXBoundsForRangeUsingCharacterOffset(plainTextRange));
+            auto bounds = FloatRect(self.axBackingObject->doAXBoundsForRangeUsingCharacterOffset(plainTextRange));
             NSRect rect = [self convertRectToSpace:bounds space:AccessibilityConversionSpace::Screen];
             return [NSValue valueWithRect:rect];
         }
@@ -4390,7 +4393,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             return rangeSet ? [self doAXAttributedStringForRange:range] : nil;
         
         if ([attribute isEqualToString: (NSString*)kAXStyleRangeForIndexParameterizedAttribute]) {
-            PlainTextRange textRange = m_object->doAXStyleRangeForIndex([number intValue]);
+            PlainTextRange textRange = self.axBackingObject->doAXStyleRangeForIndex([number intValue]);
             return [NSValue valueWithRange: NSMakeRange(textRange.start, textRange.length)];
         }
     }
@@ -4419,7 +4422,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     
     // Tree objects return their rows as their children. We can use the original method
     // here, because we won't gain any speed up.
-    if (m_object->isTree())
+    if (self.axBackingObject->isTree())
         return [super accessibilityIndexOfChild:child];
     
     NSArray *children = self.childrenVectorArray;
@@ -4449,7 +4452,7 @@ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
     if ([attribute isEqualToString:NSAccessibilityChildrenAttribute]) {
         // Tree items object returns a different set of children than those that are in children()
         // because an AXOutline (the mac role is becomes) has some odd stipulations.
-        if (m_object->isTree() || m_object->isTreeItem())
+        if (self.axBackingObject->isTree() || self.axBackingObject->isTreeItem())
             return [[self accessibilityAttributeValue:NSAccessibilityChildrenAttribute] count];
         
         auto childrenSize = self.childrenVectorSize;
@@ -4482,7 +4485,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END
             return [children subarrayWithRange:NSMakeRange(index, arrayLength)];
         }
 
-        if (_axBackingObject->isTree() || _axBackingObject->isTreeItem()) {
+        if (self.axBackingObject->isTree() || self.axBackingObject->isTreeItem()) {
             // Tree objects return their rows as their children & tree items return their contents sans rows.
             // We can use the original method in this case.
             return [super accessibilityArrayAttributeValues:attribute index:index maxCount:maxCount];