haikuwebkit/LayoutTests/accessibility/crash-when-render-tree-is-n...

3 lines
29 B
Plaintext
Raw Permalink Normal View History

AX: Defer text changes until after the tree is clean if needed. https://bugs.webkit.org/show_bug.cgi?id=171546 <rdar://problem/31934942> Reviewed by Simon Fraser. Source/WebCore: While updating an accessibility object state, we might trigger unintentional style updates. This style update could end up destroying renderes that are still referenced by functions on the callstack. To avoid that, defer such changes and let AXObjectCache operate on a clean tree. Test: accessibility/crash-when-render-tree-is-not-clean.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::remove): (WebCore::AXObjectCache::handleAttributeChanged): (WebCore::AXObjectCache::labelChanged): (WebCore::AXObjectCache::performDeferredCacheUpdate): (WebCore::AXObjectCache::deferRecomputeIsIgnored): (WebCore::AXObjectCache::deferTextChangedIfNeeded): (WebCore::AXObjectCache::recomputeDeferredIsIgnored): Deleted. (WebCore::AXObjectCache::deferTextChanged): Deleted. * accessibility/AXObjectCache.h: Decouple different type of changes. (WebCore::AXObjectCache::deferRecomputeIsIgnored): (WebCore::AXObjectCache::deferTextChangedIfNeeded): (WebCore::AXObjectCache::recomputeDeferredIsIgnored): Deleted. (WebCore::AXObjectCache::deferTextChanged): Deleted. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::deleteLines): * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlockFlow::createAndAppendRootInlineBox): * rendering/RenderText.cpp: (WebCore::RenderText::setText): LayoutTests: * accessibility/crash-when-render-tree-is-not-clean-expected.txt: Added. * accessibility/crash-when-render-tree-is-not-clean.html: Added. Canonical link: https://commits.webkit.org/188945@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-12 03:18:04 +00:00
Pass if no crash or assert.