Skip to content
  • jhoneycutt@apple.com's avatar
    <rdar://problem/7197644> WebKit should broadcast an MSAA event when · 4a7e40ab
    jhoneycutt@apple.com authored
    jumping to a named anchor
    
    https://bugs.webkit.org/show_bug.cgi?id=28899
    
    Reviewed by Adam Roben.
    
    * accessibility/AXObjectCache.h:
    (WebCore::AXObjectCache::):
    Added declaration for handleScrolledToAnchor(). Added a new entry to
    the enum of accessibility notifications.
    
    * accessibility/AccessibilityObject.cpp:
    (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
    Code moved from AccessibilityRenderObject::internalLinkElement() and
    refactored slightly; walks the tree until it finds a Node (with a
    renderer) whose accessibility is not ignored.
    
    * accessibility/AccessibilityObject.h:
    Added a declaration for firstAccessibleObjectFromNode().
    
    * accessibility/AccessibilityRenderObject.cpp:
    (WebCore::AccessibilityRenderObject::internalLinkElement):
    Code moved to AccessibilityObject::firstAccessibleObjectFromNode().
    
    * accessibility/chromium/AXObjectCacheChromium.cpp:
    (WebCore::AXObjectCache::handleScrolledToAnchor):
    Stubbed.
    
    * accessibility/gtk/AXObjectCacheAtk.cpp:
    (WebCore::AXObjectCache::handleScrolledToAnchor):
    Stubbed.
    
    * accessibility/mac/AXObjectCacheMac.mm:
    (WebCore::AXObjectCache::postPlatformNotification):
    Add a default case that returns early for notifications that Mac
    doesn't handle.
    (WebCore::AXObjectCache::handleScrolledToAnchor):
    Stubbed.
    
    * accessibility/win/AXObjectCacheWin.cpp:
    (WebCore::AXObjectCache::handleScrolledToAnchor):
    Post an AXScrolledToAnchor notification for the first accessible from
    the anchor Node.
    (WebCore::AXObjectCache::postPlatformNotification):
    If the notification is AXFocusedUIElementChanged, fire an
    EVENT_OBJECT_FOCUS. If the notification is AXScrolledToAnchor, fire
    EVENT_SYSTEM_SCROLLINGSTART, matching Firefox.
    (WebCore::AXObjectCache::handleFocusedUIElementChanged):
    Code moved to postPlatformNotification().
    
    * page/FrameView.cpp:
    (WebCore::FrameView::scrollToAnchor):
    Call AXObjectCache::handleScrolledToAnchor().
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    4a7e40ab