Regression: 30+ layout-test crash on Windows
authorandresg_22@apple.com <andresg_22@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Jan 2020 20:51:28 +0000 (20:51 +0000)
committerandresg_22@apple.com <andresg_22@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Jan 2020 20:51:28 +0000 (20:51 +0000)
https://bugs.webkit.org/show_bug.cgi?id=206868

Reviewed by Chris Fleizach.

Instead of getting the AXObjectCache to invoke detachWrapper, detach the wrapper directly.

* accessibility/win/AccessibilityObjectWin.cpp:
(WebCore::AccessibilityObject::detachPlatformWrapper):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/accessibility/win/AccessibilityObjectWin.cpp

index d9812d7..6427452 100644 (file)
@@ -1,3 +1,15 @@
+2020-01-28  Andres Gonzalez  <andresg_22@apple.com>
+
+        Regression: 30+ layout-test crash on Windows
+        https://bugs.webkit.org/show_bug.cgi?id=206868
+
+        Reviewed by Chris Fleizach.
+
+        Instead of getting the AXObjectCache to invoke detachWrapper, detach the wrapper directly.
+
+        * accessibility/win/AccessibilityObjectWin.cpp:
+        (WebCore::AccessibilityObject::detachPlatformWrapper):
+
 2020-01-28  Don Olmstead  <don.olmstead@sony.com>
 
         Non-unified build fixes late January 2020 edition
index 84a0b24..14b9ddd 100644 (file)
@@ -34,8 +34,11 @@ namespace WebCore {
 
 void AccessibilityObject::detachPlatformWrapper(AccessibilityDetachmentType detachmentType)
 {
-    if (auto* cache = axObjectCache())
-        cache->detachWrapper(this, detachmentType);
+    // On Windows, AccessibilityObjects are created when get_accChildCount is
+    // called, but they are not wrapped until get_accChild is called, so this
+    // object may not have a wrapper.
+    if (AccessibilityObjectWrapper* wrapper = this->wrapper())
+        wrapper->detach();
 }
 
 bool AccessibilityObject::accessibilityIgnoreAttachment() const