Title: [288741] trunk/Source/WebKit
- Revision
- 288741
- Author
- [email protected]
- Date
- 2022-01-28 08:09:03 -0800 (Fri, 28 Jan 2022)
Log Message
AX: Isolated tree object frames no longer encode content offsets, so hit testing should be updated accordingly
https://bugs.webkit.org/show_bug.cgi?id=235726
Reviewed by Chris Fleizach.
In -[WKAccessibilityWebPageObjectMac accessibilityHitTest], we have a special isolated tree case:
// Isolated tree frames have the offset encoded into them so we don't need to undo here.
#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
applyContentOffset = !WebCore::AXObjectCache::isIsolatedTreeEnabled();
#endif
The statement in the comment no longer seems to be true, as not applying this content offset results
in hit testing working incorrectly (the point given to WebCore is too small).
This is because isolated tree hit testing used to use relative frames:
https://github.com/WebKit/WebKit/blob/f5525921aac090ca9544cce2a3ac28e38f92c9ba/Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp#L115
But now doesn't, instead deferring to the live, main-thread AX object, which doesn't use relative frames:
https://github.com/WebKit/WebKit/blob/4221a510fe4678cf1a03e5c06878cf2d3f0c1738/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp#L814
This patch removes this isolated-tree-specific behavior.
* WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (288740 => 288741)
--- trunk/Source/WebKit/ChangeLog 2022-01-28 16:00:32 UTC (rev 288740)
+++ trunk/Source/WebKit/ChangeLog 2022-01-28 16:09:03 UTC (rev 288741)
@@ -1,3 +1,33 @@
+2022-01-28 Tyler Wilcock <[email protected]>
+
+ AX: Isolated tree object frames no longer encode content offsets, so hit testing should be updated accordingly
+ https://bugs.webkit.org/show_bug.cgi?id=235726
+
+ Reviewed by Chris Fleizach.
+
+ In -[WKAccessibilityWebPageObjectMac accessibilityHitTest], we have a special isolated tree case:
+
+ // Isolated tree frames have the offset encoded into them so we don't need to undo here.
+ #if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+ applyContentOffset = !WebCore::AXObjectCache::isIsolatedTreeEnabled();
+ #endif
+
+ The statement in the comment no longer seems to be true, as not applying this content offset results
+ in hit testing working incorrectly (the point given to WebCore is too small).
+
+ This is because isolated tree hit testing used to use relative frames:
+
+ https://github.com/WebKit/WebKit/blob/f5525921aac090ca9544cce2a3ac28e38f92c9ba/Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp#L115
+
+ But now doesn't, instead deferring to the live, main-thread AX object, which doesn't use relative frames:
+
+ https://github.com/WebKit/WebKit/blob/4221a510fe4678cf1a03e5c06878cf2d3f0c1738/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp#L814
+
+ This patch removes this isolated-tree-specific behavior.
+
+ * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
+ (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
+
2022-01-27 Aditya Keerthi <[email protected]>
Introduce WebFoundTextRange and WebFoundTextRangeController to support restorable find results
Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm (288740 => 288741)
--- trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm 2022-01-28 16:00:32 UTC (rev 288740)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm 2022-01-28 16:09:03 UTC (rev 288741)
@@ -276,10 +276,6 @@
// Some plugins may be able to figure out the scroll position and inset on their own.
bool applyContentOffset = true;
- // Isolated tree frames have the offset encoded into them so we don't need to undo here.
-#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
- applyContentOffset = !WebCore::AXObjectCache::isIsolatedTreeEnabled();
-#endif
if (auto pluginView = WebKit::WebPage::pluginViewForFrame(protectedSelf->m_page->mainFrame()))
applyContentOffset = !pluginView->plugin()->pluginHandlesContentOffsetForAccessibilityHitTest();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes