Skip to content
  • commit-queue@webkit.org's avatar
    Source/WebCore: [Chromium] AX: WebAccessibilityObject should check if an... · 812bbfa5
    commit-queue@webkit.org authored
    Source/WebCore: [Chromium] AX: WebAccessibilityObject should check if an AccessibilityObject is detached
    https://bugs.webkit.org/show_bug.cgi?id=87778
    
    Patch by Dominic Mazzoni <dmazzoni@chromium.org> on 2012-05-30
    Reviewed by Adam Barth.
    
    Chromium was never actually using AccessibilityObjectWrapper, so
    this change deletes it. Instead, it's replaced with a simple bool
    that keeps track of whether an AccessibilityObject was detached or
    not. WebKit/chromium/public/WebAccessibilityObject can then use this
    to determine if an object is still valid.
    
    Test: accessibility/accessibility-object-detached.html
    
    * WebCore.gypi:
    * accessibility/AccessibilityObject.cpp:
    (WebCore::AccessibilityObject::AccessibilityObject):
    (WebCore::AccessibilityObject::detach):
    (WebCore::AccessibilityObject::isDetached):
    (WebCore):
    * accessibility/AccessibilityObject.h:
    (AccessibilityObject):
    * accessibility/chromium/AXObjectCacheChromium.cpp:
    (WebCore):
    (WebCore::AXObjectCache::detachWrapper):
    (WebCore::AXObjectCache::attachWrapper):
    * accessibility/chromium/AccessibilityObjectWrapper.h: Removed.
    
    Source/WebKit/chromium: AX: Chromium WebAccessibilityObject should check if an AccessibilityObject is detached
    https://bugs.webkit.org/show_bug.cgi?id=87778
    
    Patch by Dominic Mazzoni <dmazzoni@google.com> on 2012-05-30
    Reviewed by Adam Barth.
    
    Pretty simple - all places that previously just checked for null
    now also check if the wrapped AccessibilityObject is detached.
    
    * public/WebAccessibilityObject.h:
    (WebAccessibilityObject):
    * src/WebAccessibilityObject.cpp:
    (WebKit::WebAccessibilityObject::isDetached):
    (WebKit):
    (WebKit::WebAccessibilityObject::axID):
    (WebKit::WebAccessibilityObject::accessibilityDescription):
    (WebKit::WebAccessibilityObject::actionVerb):
    (WebKit::WebAccessibilityObject::canSetFocusAttribute):
    (WebKit::WebAccessibilityObject::canSetValueAttribute):
    (WebKit::WebAccessibilityObject::isValid):
    (WebKit::WebAccessibilityObject::childCount):
    (WebKit::WebAccessibilityObject::childAt):
    (WebKit::WebAccessibilityObject::firstChild):
    (WebKit::WebAccessibilityObject::focusedChild):
    (WebKit::WebAccessibilityObject::lastChild):
    (WebKit::WebAccessibilityObject::nextSibling):
    (WebKit::WebAccessibilityObject::parentObject):
    (WebKit::WebAccessibilityObject::previousSibling):
    (WebKit::WebAccessibilityObject::canSetSelectedAttribute):
    (WebKit::WebAccessibilityObject::isAnchor):
    (WebKit::WebAccessibilityObject::isAriaReadOnly):
    (WebKit::WebAccessibilityObject::isButtonStateMixed):
    (WebKit::WebAccessibilityObject::isChecked):
    (WebKit::WebAccessibilityObject::isCollapsed):
    (WebKit::WebAccessibilityObject::isControl):
    (WebKit::WebAccessibilityObject::isEnabled):
    (WebKit::WebAccessibilityObject::isFocused):
    (WebKit::WebAccessibilityObject::isHovered):
    (WebKit::WebAccessibilityObject::isIndeterminate):
    (WebKit::WebAccessibilityObject::isLinked):
    (WebKit::WebAccessibilityObject::isLoaded):
    (WebKit::WebAccessibilityObject::isMultiSelectable):
    (WebKit::WebAccessibilityObject::isOffScreen):
    (WebKit::WebAccessibilityObject::isPasswordField):
    (WebKit::WebAccessibilityObject::isPressed):
    (WebKit::WebAccessibilityObject::isReadOnly):
    (WebKit::WebAccessibilityObject::isRequired):
    (WebKit::WebAccessibilityObject::isSelected):
    (WebKit::WebAccessibilityObject::isSelectedOptionActive):
    (WebKit::WebAccessibilityObject::isVertical):
    (WebKit::WebAccessibilityObject::isVisible):
    (WebKit::WebAccessibilityObject::isVisited):
    (WebKit::WebAccessibilityObject::accessKey):
    (WebKit::WebAccessibilityObject::ariaHasPopup):
    (WebKit::WebAccessibilityObject::ariaLiveRegionAtomic):
    (WebKit::WebAccessibilityObject::ariaLiveRegionBusy):
    (WebKit::WebAccessibilityObject::ariaLiveRegionRelevant):
    (WebKit::WebAccessibilityObject::ariaLiveRegionStatus):
    (WebKit::WebAccessibilityObject::boundingBoxRect):
    (WebKit::WebAccessibilityObject::estimatedLoadingProgress):
    (WebKit::WebAccessibilityObject::helpText):
    (WebKit::WebAccessibilityObject::headingLevel):
    (WebKit::WebAccessibilityObject::hierarchicalLevel):
    (WebKit::WebAccessibilityObject::hitTest):
    (WebKit::WebAccessibilityObject::keyboardShortcut):
    (WebKit::WebAccessibilityObject::performDefaultAction):
    (WebKit::WebAccessibilityObject::roleValue):
    (WebKit::WebAccessibilityObject::selectionEnd):
    (WebKit::WebAccessibilityObject::selectionStart):
    (WebKit::WebAccessibilityObject::setFocused):
    (WebKit::WebAccessibilityObject::stringValue):
    (WebKit::WebAccessibilityObject::title):
    (WebKit::WebAccessibilityObject::titleUIElement):
    (WebKit::WebAccessibilityObject::url):
    (WebKit::WebAccessibilityObject::valueDescription):
    (WebKit::WebAccessibilityObject::valueForRange):
    (WebKit::WebAccessibilityObject::maxValueForRange):
    (WebKit::WebAccessibilityObject::minValueForRange):
    (WebKit::WebAccessibilityObject::node):
    (WebKit::WebAccessibilityObject::document):
    (WebKit::WebAccessibilityObject::hasComputedStyle):
    (WebKit::WebAccessibilityObject::computedStyleDisplay):
    (WebKit::WebAccessibilityObject::accessibilityIsIgnored):
    (WebKit::WebAccessibilityObject::lineBreaks):
    (WebKit::WebAccessibilityObject::columnCount):
    (WebKit::WebAccessibilityObject::rowCount):
    
    LayoutTests: AX: Chromium WebAccessibilityObject should check if an AccessibilityObject is detached
    https://bugs.webkit.org/show_bug.cgi?id=87778
    
    Patch by Dominic Mazzoni <dmazzoni@google.com> on 2012-05-30
    Reviewed by Adam Barth.
    
    * accessibility/accessibility-object-detached-expected.txt: Added.
    * accessibility/accessibility-object-detached.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    812bbfa5