Changeset 257948 in webkit
- Timestamp:
- Mar 5, 2020 2:50:32 PM (4 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r257947 r257948 1 2020-03-05 Andres Gonzalez <andresg_22@apple.com> 2 3 Fix for several failures of LayoutTests in isolated tree mode. 4 https://bugs.webkit.org/show_bug.cgi?id=208658 5 6 Reviewed by Chris Fleizach. 7 8 - Exposes the scrollView method through the AXCoreObject interface so 9 that wrapper code can use it for both AXObjects and IsolatedObjects. 10 - Fix for a crash/assert where InvalidAXID cannot be passed as key to 11 the HashMap methods. 12 13 * accessibility/AccessibilityObject.h: 14 * accessibility/AccessibilityObjectInterface.h: 15 * accessibility/AccessibilityScrollView.h: 16 * accessibility/isolatedtree/AXIsolatedObject.cpp: 17 (WebCore::AXIsolatedObject::scrollView const): 18 * accessibility/isolatedtree/AXIsolatedObject.h: 19 * accessibility/isolatedtree/AXIsolatedTree.cpp: 20 (WebCore::AXIsolatedTree::applyPendingChanges): 21 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: 22 (-[WebAccessibilityObjectWrapper scrollViewParent]): 23 (-[WebAccessibilityObjectWrapper _accessibilityShowContextMenu]): 24 1 25 2020-03-05 Jacob Uphoff <jacob_uphoff@apple.com> 2 26 -
trunk/Source/WebCore/accessibility/AccessibilityObject.h
r257760 r257948 467 467 Frame* mainFrame() const override; 468 468 Document* topDocument() const override; 469 ScrollView* scrollView() const override { return nullptr; } 469 470 ScrollView* scrollViewAncestor() const override; 470 471 String language() const override; -
trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h
r257760 r257948 876 876 virtual Frame* mainFrame() const = 0; 877 877 virtual Document* topDocument() const = 0; 878 virtual ScrollView* scrollView() const = 0; 878 879 virtual ScrollView* scrollViewAncestor() const = 0; 879 880 virtual String language() const = 0; -
trunk/Source/WebCore/accessibility/AccessibilityScrollView.h
r257760 r257948 38 38 static Ref<AccessibilityScrollView> create(ScrollView*); 39 39 AccessibilityRole roleValue() const override { return AccessibilityRole::ScrollArea; } 40 ScrollView* scrollView() const { return m_scrollView; }40 ScrollView* scrollView() const override { return m_scrollView; } 41 41 42 42 virtual ~AccessibilityScrollView(); -
trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
r257896 r257948 1612 1612 } 1613 1613 1614 ScrollView* AXIsolatedObject::scrollView() const 1615 { 1616 if (auto* object = associatedAXObject()) 1617 return object->scrollView(); 1618 return nullptr; 1619 } 1620 1614 1621 ScrollView* AXIsolatedObject::scrollViewAncestor() const 1615 1622 { -
trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
r257760 r257948 828 828 Frame* mainFrame() const override; 829 829 Document* topDocument() const override; 830 ScrollView* scrollView() const override; 830 831 ScrollView* scrollViewAncestor() const override; 831 832 void childrenChanged() override; -
trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
r257903 r257948 229 229 230 230 for (const auto& axID : m_pendingRemovals) { 231 if (axID == InvalidAXID) 232 continue; 233 231 234 if (auto object = nodeForID(axID)) 232 235 object->detach(AccessibilityDetachmentType::ElementDestroyed); … … 237 240 for (const auto& item : m_pendingAppends) { 238 241 AXID axID = item.m_isolatedObject->objectID(); 242 if (axID == InvalidAXID) 243 continue; 239 244 240 245 if (m_readerThreadNodeMap.get(axID) != &item.m_isolatedObject.get()) { -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
r257760 r257948 2272 2272 { 2273 2273 return Accessibility::retrieveAutoreleasedValueFromMainThread<id>([protectedSelf = RetainPtr<WebAccessibilityObjectWrapper>(self)] () -> RetainPtr<id> { 2274 if (!is<AccessibilityScrollView>(protectedSelf.get().axBackingObject)) 2274 auto* backingObject = protectedSelf.get().axBackingObject; 2275 if (!backingObject || !backingObject->isScrollView()) 2275 2276 return nil; 2276 2277 2277 2278 // If this scroll view provides it's parent object (because it's a sub-frame), then 2278 2279 // we should not find the remoteAccessibilityParent. 2279 if ( protectedSelf.get().axBackingObject->parentObject())2280 if (backingObject->parentObject()) 2280 2281 return nil; 2281 2282 2282 ScrollView* scroll = downcast<AccessibilityScrollView>(*protectedSelf.get().axBackingObject).scrollView();2283 auto* scroll = backingObject->scrollView(); 2283 2284 if (!scroll) 2284 2285 return nil; … … 3422 3423 // Find the appropriate scroll view to use to convert the contents to the window. 3423 3424 for (auto* parent = self.axBackingObject->parentObject(); parent; parent = parent->parentObject()) { 3424 if ( is<AccessibilityScrollView>(*parent)) {3425 if (auto scrollView = downcast<AccessibilityScrollView>(*parent).scrollView()) {3425 if (parent->isScrollView()) { 3426 if (auto* scrollView = parent->scrollView()) { 3426 3427 if (!frameView->platformWidget()) 3427 3428 rect = scrollView->contentsToRootView(rect);
Note: See TracChangeset
for help on using the changeset viewer.