Changeset 258115 in webkit
- Timestamp:
- Mar 8, 2020 2:49:45 PM (4 years ago)
- Location:
- trunk/Source
- Files:
-
- 3 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r258113 r258115 1 2020-03-08 Andres Gonzalez <andresg_22@apple.com> 2 3 Implementation of AccessibilitySupport AXSIsolatedTreeMode. 4 https://bugs.webkit.org/show_bug.cgi?id=208691 5 <rdar://problem/60178602> 6 7 Reviewed by Chris Fleizach. 8 9 Honors the system AccessibilitySupport IsolatedTreeMode setting. The 10 system has three modes for IsolatedTree functionality: off, on on main 11 thread, and on on secondary thread. 12 13 * WebCore.xcodeproj/project.pbxproj: 14 * accessibility/AXObjectCache.cpp: 15 (WebCore::AXObjectCache::isolatedTreeFocusedObject): 16 (WebCore::AXObjectCache::focusedUIElementForPage): 17 (WebCore::AXObjectCache::isIsolatedTreeEnabled): 18 (WebCore::AXObjectCache::isolatedTreeRootObject): 19 (WebCore::AXObjectCache::canUseSecondaryAXThread): 20 * accessibility/AXObjectCache.h: 21 * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: 22 (-[WebAccessibilityObjectWrapperBase detach]): 23 (-[WebAccessibilityObjectWrapperBase axBackingObject]): 24 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: 25 (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 26 1 27 2020-03-08 Jer Noble <jer.noble@apple.com> 2 28 -
trunk/Source/WebCore/PAL/ChangeLog
r258085 r258115 1 2020-03-08 Andres Gonzalez <andresg_22@apple.com> 2 3 Implementation of AccessibilitySupport AXSIsolatedTreeMode. 4 https://bugs.webkit.org/show_bug.cgi?id=208691 5 <rdar://problem/60178602> 6 7 Reviewed by Chris Fleizach. 8 9 Added softlinking for the AccessibilitySupport library (libAccessibility.tbd). 10 11 * PAL.xcodeproj/project.pbxproj: 12 * pal/PlatformMac.cmake: 13 * pal/spi/cocoa/AccessibilitySupportSPI.h: Added. 14 * pal/spi/cocoa/AccessibilitySupportSoftLink.cpp: Added. 15 * pal/spi/cocoa/AccessibilitySupportSoftLink.h: Added. 16 1 17 2020-03-07 Daniel Bates <dabates@apple.com> 2 18 -
trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
r258066 r258115 112 112 1CCEE4F720D8743F0047B097 /* NSAppearanceSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CCEE4F620D8743F0047B097 /* NSAppearanceSPI.h */; }; 113 113 1D12CC4B2411BCAE00FDA0A3 /* FeatureFlagsSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D12CC4A2411BCAE00FDA0A3 /* FeatureFlagsSPI.h */; }; 114 293EE4A824154F8F0047493D /* AccessibilitySupportSoftLink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 293EE4A624154F8F0047493D /* AccessibilitySupportSoftLink.cpp */; }; 115 293EE4A924154F8F0047493D /* AccessibilitySupportSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 293EE4A724154F8F0047493D /* AccessibilitySupportSoftLink.h */; }; 114 116 2D02E93C2056FAA700A13797 /* AudioToolboxSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D02E93B2056FAA700A13797 /* AudioToolboxSPI.h */; }; 115 117 2E1342CC215AA10A007199D2 /* UIKitSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E1342CA215AA10A007199D2 /* UIKitSoftLink.h */; }; … … 286 288 1CCEE4F620D8743F0047B097 /* NSAppearanceSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSAppearanceSPI.h; sourceTree = "<group>"; }; 287 289 1D12CC4A2411BCAE00FDA0A3 /* FeatureFlagsSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FeatureFlagsSPI.h; sourceTree = "<group>"; }; 290 293EE4A624154F8F0047493D /* AccessibilitySupportSoftLink.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilitySupportSoftLink.cpp; sourceTree = "<group>"; }; 291 293EE4A724154F8F0047493D /* AccessibilitySupportSoftLink.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccessibilitySupportSoftLink.h; sourceTree = "<group>"; }; 288 292 2D02E93B2056FAA700A13797 /* AudioToolboxSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioToolboxSPI.h; sourceTree = "<group>"; }; 289 293 2E1342CA215AA10A007199D2 /* UIKitSoftLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIKitSoftLink.h; sourceTree = "<group>"; }; … … 341 345 A3C66CDA1F462D6A009E6EE9 /* SessionID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SessionID.cpp; sourceTree = "<group>"; }; 342 346 A3C66CDB1F462D6A009E6EE9 /* SessionID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionID.h; sourceTree = "<group>"; }; 347 C037494124127CCB00D9A36E /* AccessibilitySupportSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccessibilitySupportSPI.h; sourceTree = "<group>"; }; 343 348 C15CBB3223F34A1200300CC7 /* NSUserDefaultsSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSUserDefaultsSPI.h; sourceTree = "<group>"; }; 344 349 C2147A4A1EFD0AA600056FA5 /* CopyPALHeaders.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = CopyPALHeaders.xcconfig; sourceTree = "<group>"; }; … … 412 417 isa = PBXGroup; 413 418 children = ( 419 293EE4A624154F8F0047493D /* AccessibilitySupportSoftLink.cpp */, 420 293EE4A724154F8F0047493D /* AccessibilitySupportSoftLink.h */, 421 C037494124127CCB00D9A36E /* AccessibilitySupportSPI.h */, 414 422 576CA9D522B854AB0030143C /* AppSSOSPI.h */, 415 423 2D02E93B2056FAA700A13797 /* AudioToolboxSPI.h */, … … 711 719 buildActionMask = 2147483647; 712 720 files = ( 721 293EE4A924154F8F0047493D /* AccessibilitySupportSoftLink.h in Headers */, 713 722 57FD318B22B35989008D0E8B /* AppSSOSoftLink.h in Headers */, 714 723 576CA9D622B854AB0030143C /* AppSSOSPI.h in Headers */, … … 926 935 buildActionMask = 2147483647; 927 936 files = ( 937 293EE4A824154F8F0047493D /* AccessibilitySupportSoftLink.cpp in Sources */, 928 938 57FD318A22B3593E008D0E8B /* AppSSOSoftLink.mm in Sources */, 929 939 077E87B1226A460200A2AFF0 /* AVFoundationSoftLink.mm in Sources */, -
trunk/Source/WebCore/PAL/pal/PlatformMac.cmake
r258066 r258115 21 21 spi/cg/ImageIOSPI.h 22 22 23 spi/cocoa/AccessibilitySupportSPI.h 24 spi/cocoa/AccessibilitySupportSoftLink.h 23 25 spi/cocoa/AppSSOSPI.h 24 26 spi/cocoa/AuthKitSPI.h … … 126 128 mac/LookupSoftLink.mm 127 129 130 spi/cocoa/AccessibilitySupportSoftLink.cpp 131 128 132 system/cocoa/SleepDisablerCocoa.cpp 129 133 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r258109 r258115 3979 3979 C0C054CC1118C8E400CE2636 /* generate-bindings.pl in Headers */ = {isa = PBXBuildFile; fileRef = 93F8B3070A300FEA00F61AB8 /* generate-bindings.pl */; settings = {ATTRIBUTES = (Private, ); }; }; 3980 3980 C0C054CD1118C8E400CE2636 /* IDLParser.pm in Headers */ = {isa = PBXBuildFile; fileRef = 14813BF309EDF88E00F757E1 /* IDLParser.pm */; settings = {ATTRIBUTES = (Private, ); }; }; 3981 C0E2F3272412BF29009C73EC /* libAccessibility.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = C0E2F3252412BF29009C73EC /* libAccessibility.tbd */; }; 3981 3982 C0F2A44113869AAB0066C534 /* preprocessor.pm in Headers */ = {isa = PBXBuildFile; fileRef = C0F2A43F13869A280066C534 /* preprocessor.pm */; settings = {ATTRIBUTES = (Private, ); }; }; 3982 3983 C105DA640F3AA6B8001DD44F /* TextEncodingDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = C105DA630F3AA6B8001DD44F /* TextEncodingDetector.h */; }; … … 13509 13510 C046E1AB1208A9FE00BA2CF7 /* LocalizedStrings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocalizedStrings.cpp; sourceTree = "<group>"; }; 13510 13511 C078376023DF253E00C9C5C8 /* AXIsolatedObjectMac.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = AXIsolatedObjectMac.mm; path = mac/AXIsolatedObjectMac.mm; sourceTree = "<group>"; }; 13512 C0E2F3252412BF29009C73EC /* libAccessibility.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libAccessibility.tbd; path = usr/lib/libAccessibility.tbd; sourceTree = SDKROOT; }; 13511 13513 C0F2A43F13869A280066C534 /* preprocessor.pm */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; name = preprocessor.pm; path = scripts/preprocessor.pm; sourceTree = "<group>"; }; 13512 13514 C105DA610F3AA68F001DD44F /* TextEncodingDetectorICU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextEncodingDetectorICU.cpp; sourceTree = "<group>"; }; … … 15984 15986 1AB33DA512551E320024457A /* IOKit.framework in Frameworks */, 15985 15987 93F19B1608245E59001E9ABC /* JavaScriptCore.framework in Frameworks */, 15988 C0E2F3272412BF29009C73EC /* libAccessibility.tbd in Frameworks */, 15986 15989 1C022F0022CFED68006DF01B /* libcompression.tbd in Frameworks */, 15987 15990 93F19B1708245E59001E9ABC /* libicucore.dylib in Frameworks */, … … 16583 16586 1AB33DA412551E320024457A /* IOKit.framework */, 16584 16587 F8216299029F4FB501000131 /* JavaScriptCore.framework */, 16588 C0E2F3252412BF29009C73EC /* libAccessibility.tbd */, 16585 16589 1C8D26D022C09CDE00D125F3 /* libcompression.tbd */, 16586 16590 93F1D31A0558CC5C00821BC0 /* libicucore.dylib */, -
trunk/Source/WebCore/accessibility/AXObjectCache.cpp
r258108 r258115 105 105 106 106 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE) && PLATFORM(MAC) 107 #include <pal/spi/cocoa/AccessibilitySupportSPI.h> 108 #include <pal/spi/cocoa/AccessibilitySupportSoftLink.h> 107 109 #include <pal/spi/mac/HIServicesSPI.h> 108 110 #endif … … 393 395 // Now that we have created our tree, initialize the secondary thread, 394 396 // so future requests come in on the other thread. 397 if (_AXSIsolatedTreeModeFunctionIsAvailable() && _AXSIsolatedTreeMode_Soft() == AXSIsolatedTreeModeSecondaryThread) 398 _AXUIElementUseSecondaryAXThread(true); 395 399 _AXUIElementUseSecondaryAXThread(true); 396 400 } … … 431 435 432 436 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE) 433 if ( clientSupportsIsolatedTree())437 if (isIsolatedTreeEnabled()) 434 438 return isolatedTreeFocusedObject(*focusedDocument); 435 439 #endif … … 724 728 return _AXGetClientForCurrentRequestUntrusted() == kAXClientTypeVoiceOver; 725 729 } 730 731 bool AXObjectCache::isIsolatedTreeEnabled() 732 { 733 return _AXSIsolatedTreeModeFunctionIsAvailable() && _AXSIsolatedTreeMode_Soft() != AXSIsolatedTreeModeOff && clientSupportsIsolatedTree(); 734 } 735 726 736 #endif 727 737 … … 753 763 // Now that we have created our tree, initialize the secondary thread, 754 764 // so future requests come in on the other thread. 755 _AXUIElementUseSecondaryAXThread(true); 765 if (_AXSIsolatedTreeModeFunctionIsAvailable() && _AXSIsolatedTreeMode_Soft() == AXSIsolatedTreeModeSecondaryThread) 766 _AXUIElementUseSecondaryAXThread(true); 756 767 } 757 768 … … 774 785 // LayoutTests, but we still want to run LayoutTests using isolated tree on 775 786 // a secondary thread to simulate the actual execution. 776 return clientSupportsIsolatedTree();787 return _AXSIsolatedTreeModeFunctionIsAvailable() && _AXSIsolatedTreeMode_Soft() == AXSIsolatedTreeModeSecondaryThread && clientSupportsIsolatedTree(); 777 788 #else 778 789 return false; -
trunk/Source/WebCore/accessibility/AXObjectCache.h
r258066 r258115 353 353 354 354 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE) 355 WEBCORE_EXPORT static bool clientSupportsIsolatedTree();355 WEBCORE_EXPORT static bool isIsolatedTreeEnabled(); 356 356 private: 357 static bool clientSupportsIsolatedTree(); 357 358 AXCoreObject* isolatedTreeRootObject(); 358 359 static AXCoreObject* isolatedTreeFocusedObject(Document&); -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm
r258066 r258115 328 328 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE) 329 329 if (!isMainThread()) { 330 ASSERT(AXObjectCache:: clientSupportsIsolatedTree());330 ASSERT(AXObjectCache::isIsolatedTreeEnabled()); 331 331 [self detachIsolatedObject]; 332 332 return; … … 367 367 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE) 368 368 if (!isMainThread()) { 369 ASSERT(AXObjectCache:: clientSupportsIsolatedTree());369 ASSERT(AXObjectCache::isIsolatedTreeEnabled()); 370 370 return m_isolatedObject; 371 371 } -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
r258108 r258115 1438 1438 1439 1439 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE) 1440 if ( _AXUIElementRequestServicedBySecondaryAXThread() && AXObjectCache::clientSupportsIsolatedTree())1440 if (AXObjectCache::isIsolatedTreeEnabled() && _AXUIElementRequestServicedBySecondaryAXThread()) 1441 1441 [additional addObject:NSAccessibilityRelativeFrameAttribute]; 1442 1442 #endif -
trunk/Source/WebKit/ChangeLog
r258114 r258115 1 2020-03-08 Andres Gonzalez <andresg_22@apple.com> 2 3 Implementation of AccessibilitySupport AXSIsolatedTreeMode. 4 https://bugs.webkit.org/show_bug.cgi?id=208691 5 <rdar://problem/60178602> 6 7 Reviewed by Chris Fleizach. 8 9 Honors system AccessibilitySupport IsolatedTreeMode setting. 10 11 * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm: 12 (-[WKAccessibilityWebPageObject accessibilityHitTest:]): 13 1 14 2020-03-08 Megan Gardner <megan_gardner@apple.com> 2 15 -
trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm
r258066 r258115 254 254 // Isolated tree frames have the offset encoded into them so we don't need to undo here. 255 255 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE) 256 bool queryingIsolatedTree = WebCore::AXObjectCache::clientSupportsIsolatedTree() && _AXUIElementRequestServicedBySecondaryAXThread(); 257 applyContentOffset = !queryingIsolatedTree; 256 applyContentOffset = !WebCore::AXObjectCache::isIsolatedTreeEnabled() || !_AXUIElementRequestServicedBySecondaryAXThread(); 258 257 #endif 259 258 if (auto pluginView = WebKit::WebPage::pluginViewForFrame(protectedSelf->m_page->mainFrame()))
Note: See TracChangeset
for help on using the changeset viewer.