Title: [261692] trunk/Source/WebCore
Revision
261692
Author
andresg...@apple.com
Date
2020-05-14 08:30:31 -0700 (Thu, 14 May 2020)

Log Message

AXIsolatedObject::isOnScreen needs to be dispatched to the main thread.
https://bugs.webkit.org/show_bug.cgi?id=211893

Reviewed by Chris Fleizach.

Covered by existing tests.

* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::children): Split assert into two lines for readability.
(WebCore::AXIsolatedObject::isOnScreen const): Forward to associated AXObject and dispatch to the main thread.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (261691 => 261692)


--- trunk/Source/WebCore/ChangeLog	2020-05-14 15:29:05 UTC (rev 261691)
+++ trunk/Source/WebCore/ChangeLog	2020-05-14 15:30:31 UTC (rev 261692)
@@ -1,5 +1,18 @@
 2020-05-14  Andres Gonzalez  <andresg...@apple.com>
 
+        AXIsolatedObject::isOnScreen needs to be dispatched to the main thread.
+        https://bugs.webkit.org/show_bug.cgi?id=211893
+
+        Reviewed by Chris Fleizach.
+
+        Covered by existing tests.
+
+        * accessibility/isolatedtree/AXIsolatedObject.cpp:
+        (WebCore::AXIsolatedObject::children): Split assert into two lines for readability.
+        (WebCore::AXIsolatedObject::isOnScreen const): Forward to associated AXObject and dispatch to the main thread.
+
+2020-05-14  Andres Gonzalez  <andresg...@apple.com>
+
         Implementation of AXIsolatedObject::hasPlainText.
         https://bugs.webkit.org/show_bug.cgi?id=211892
 

Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp (261691 => 261692)


--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2020-05-14 15:29:05 UTC (rev 261691)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2020-05-14 15:30:31 UTC (rev 261692)
@@ -487,7 +487,8 @@
 
 const AXCoreObject::AccessibilityChildrenVector& AXIsolatedObject::children(bool)
 {
-    ASSERT(_AXSIsolatedTreeModeFunctionIsAvailable() && ((_AXSIsolatedTreeMode_Soft() == AXSIsolatedTreeModeSecondaryThread && !isMainThread()) || (_AXSIsolatedTreeMode_Soft() == AXSIsolatedTreeModeMainThread && isMainThread())));
+    ASSERT(_AXSIsolatedTreeModeFunctionIsAvailable() && ((_AXSIsolatedTreeMode_Soft() == AXSIsolatedTreeModeSecondaryThread && !isMainThread())
+        || (_AXSIsolatedTreeMode_Soft() == AXSIsolatedTreeModeMainThread && isMainThread())));
     updateBackingStore();
     m_children.clear();
     m_children.reserveInitialCapacity(m_childrenIDs.size());
@@ -1147,8 +1148,11 @@
 
 bool AXIsolatedObject::isOnScreen() const
 {
-    ASSERT_NOT_REACHED();
-    return false;
+    return Accessibility::retrieveValueFromMainThread<bool>([this] () -> bool {
+        if (auto* object = associatedAXObject())
+            return object->isOnScreen();
+        return false;
+    });
 }
 
 bool AXIsolatedObject::isOffScreen() const
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to