Implementation of AXIsolatedObject::press().
authorandresg_22@apple.com <andresg_22@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jan 2020 14:42:44 +0000 (14:42 +0000)
committerandresg_22@apple.com <andresg_22@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jan 2020 14:42:44 +0000 (14:42 +0000)
commitd28c085b63bc001f8726e883e31c6aea604e5156
tree9606b13e0b075119f4fb46d71ddfd50ac300368c
parent0b700b87ae9314b9bc04582cb557fa8b101691f5
Implementation of AXIsolatedObject::press().
https://bugs.webkit.org/show_bug.cgi?id=206177

Reviewed by Chris Fleizach.

- Implemented AXIsolatedObject::press().
- For link objects, press causes the destruction and re-creation of the
isolated tree. Thus also added AXIsolatedTree:removeTreeForPageID.
- AXIsolatedTree::applyPendingChanges now also properly detaches isolated
objects that have been removed.
- Moved set and get wrapper to AXCoreObject so that it can be used for
both isolated and live objects.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::createIsolatedTreeHierarchy):
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::detachWrapper):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityObjectInterface.h:
(WebCore::AXCoreObject::wrapper const):
(WebCore::AXCoreObject::setWrapper):
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::detachWrapper):
* accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::detachWrapper):
* accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::removeTreeForPageID):
(WebCore::AXIsolatedTree::applyPendingChanges):
* accessibility/isolatedtree/AXIsolatedTree.h:
* accessibility/isolatedtree/AXIsolatedTreeNode.cpp:
(WebCore::AXIsolatedObject::detach):
(WebCore::AXIsolatedObject::detachFromParent):
(WebCore::AXIsolatedObject::children):
(WebCore::AXIsolatedObject::isDetachedFromParent):
(WebCore::AXIsolatedObject::performFunctionOnMainThread):
(WebCore::AXIsolatedObject::findTextRanges const):
(WebCore::AXIsolatedObject::performTextOperation):
(WebCore::AXIsolatedObject::press):
(WebCore::AXIsolatedObject::widget const):
(WebCore::AXIsolatedObject::page const):
(WebCore::AXIsolatedObject::document const):
(WebCore::AXIsolatedObject::documentFrameView const):
* accessibility/isolatedtree/AXIsolatedTreeNode.h:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::detachWrapper):
* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::detachWrapper):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
Source/WebCore/ChangeLog
Source/WebCore/accessibility/AXObjectCache.cpp
Source/WebCore/accessibility/AXObjectCache.h
Source/WebCore/accessibility/AccessibilityObject.h
Source/WebCore/accessibility/AccessibilityObjectInterface.h
Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp
Source/WebCore/accessibility/ios/AXObjectCacheIOS.mm
Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp
Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.h
Source/WebCore/accessibility/mac/AXObjectCacheMac.mm
Source/WebCore/accessibility/win/AXObjectCacheWin.cpp