haikuwebkit/LayoutTests/accessibility/duplicate-axrenderobject-cr...

8 lines
387 B
Plaintext
Raw Permalink Normal View History

AX: should init an AXObject only after AXObjectCache has added it https://bugs.webkit.org/show_bug.cgi?id=107533 Reviewed by Chris Fleizach. Source/WebCore: Initialize each AXObject after the AXObjectCache has finished adding it to its hash maps, so that it's impossible for initialization of an AXObject to result in exploring the tree and creating another AXObject instance that points to the same renderer / node. Test: accessibility/duplicate-axrenderobject-crash.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::getOrCreate): * accessibility/AccessibilityARIAGrid.cpp: (WebCore::AccessibilityARIAGrid::create): * accessibility/AccessibilityARIAGridCell.cpp: (WebCore::AccessibilityARIAGridCell::create): * accessibility/AccessibilityARIAGridRow.cpp: (WebCore::AccessibilityARIAGridRow::create): * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::create): * accessibility/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::create): * accessibility/AccessibilityMediaControls.cpp: (WebCore::AccessibilityMediaControl::create): (WebCore::AccessibilityMediaControlsContainer::create): (WebCore::AccessibilityMediaTimeline::create): (WebCore::AccessibilityMediaTimeDisplay::create): * accessibility/AccessibilityMenuList.cpp: (WebCore::AccessibilityMenuList::create): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::create): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::init): (AccessibilityObject): * accessibility/AccessibilityProgressIndicator.cpp: (WebCore::AccessibilityProgressIndicator::create): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::create): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): assert that the object has been initialized * accessibility/AccessibilitySVGRoot.cpp: (WebCore::AccessibilitySVGRoot::create): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySlider::create): * accessibility/AccessibilityTable.cpp: (WebCore::AccessibilityTable::create): * accessibility/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::create): * accessibility/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::create): LayoutTests: Adds a new test that demonstrates a crash if an AXObject initializes itself before the AXObjectCache has added it to the cache. * accessibility/duplicate-axrenderobject-crash-expected.txt: Added. * accessibility/duplicate-axrenderobject-crash.html: Added. Canonical link: https://commits.webkit.org/125987@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@140658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-01-24 08:16:00 +00:00
PASS successfullyParsed is true
TEST COMPLETE
AX: should init an AXObject only after AXObjectCache has added it https://bugs.webkit.org/show_bug.cgi?id=107533 Reviewed by Chris Fleizach. Source/WebCore: Initialize each AXObject after the AXObjectCache has finished adding it to its hash maps, so that it's impossible for initialization of an AXObject to result in exploring the tree and creating another AXObject instance that points to the same renderer / node. Test: accessibility/duplicate-axrenderobject-crash.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::getOrCreate): * accessibility/AccessibilityARIAGrid.cpp: (WebCore::AccessibilityARIAGrid::create): * accessibility/AccessibilityARIAGridCell.cpp: (WebCore::AccessibilityARIAGridCell::create): * accessibility/AccessibilityARIAGridRow.cpp: (WebCore::AccessibilityARIAGridRow::create): * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::create): * accessibility/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::create): * accessibility/AccessibilityMediaControls.cpp: (WebCore::AccessibilityMediaControl::create): (WebCore::AccessibilityMediaControlsContainer::create): (WebCore::AccessibilityMediaTimeline::create): (WebCore::AccessibilityMediaTimeDisplay::create): * accessibility/AccessibilityMenuList.cpp: (WebCore::AccessibilityMenuList::create): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::create): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::init): (AccessibilityObject): * accessibility/AccessibilityProgressIndicator.cpp: (WebCore::AccessibilityProgressIndicator::create): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::create): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): assert that the object has been initialized * accessibility/AccessibilitySVGRoot.cpp: (WebCore::AccessibilitySVGRoot::create): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySlider::create): * accessibility/AccessibilityTable.cpp: (WebCore::AccessibilityTable::create): * accessibility/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::create): * accessibility/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::create): LayoutTests: Adds a new test that demonstrates a crash if an AXObject initializes itself before the AXObjectCache has added it to the cache. * accessibility/duplicate-axrenderobject-crash-expected.txt: Added. * accessibility/duplicate-axrenderobject-crash.html: Added. Canonical link: https://commits.webkit.org/125987@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@140658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-01-24 08:16:00 +00:00
Ensures that it's not possible to have two AXRenderObjects that point to the same renderer, if the initialization of an AXRenderObject results in another object with the same renderer being created before AXObjectCache has added that mapping to its hash.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".