Title: [230987] trunk/Source/WebKit
Revision
230987
Author
n_w...@apple.com
Date
2018-04-24 22:52:57 -0700 (Tue, 24 Apr 2018)

Log Message

AX: soft link libAccessibility.dylb
https://bugs.webkit.org/show_bug.cgi?id=184919

Reviewed by Dan Bernstein.

Weakly linked libAccessibility.dylib on macOS.

* Configurations/WebKit.xcconfig:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _updateAccessibilityEventsEnabled]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (230986 => 230987)


--- trunk/Source/WebKit/ChangeLog	2018-04-25 05:33:48 UTC (rev 230986)
+++ trunk/Source/WebKit/ChangeLog	2018-04-25 05:52:57 UTC (rev 230987)
@@ -1,3 +1,17 @@
+2018-04-24  Nan Wang  <n_w...@apple.com>
+
+        AX: soft link libAccessibility.dylb
+        https://bugs.webkit.org/show_bug.cgi?id=184919
+
+        Reviewed by Dan Bernstein.
+
+        Weakly linked libAccessibility.dylib on macOS.
+
+        * Configurations/WebKit.xcconfig:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _initializeWithConfiguration:]):
+        (-[WKWebView _updateAccessibilityEventsEnabled]):
+
 2018-04-24  Fujii Hironori  <hironori.fu...@sony.com>
 
         [WinCairo] Add WKView and WKAPI

Modified: trunk/Source/WebKit/Configurations/WebKit.xcconfig (230986 => 230987)


--- trunk/Source/WebKit/Configurations/WebKit.xcconfig	2018-04-25 05:33:48 UTC (rev 230986)
+++ trunk/Source/WebKit/Configurations/WebKit.xcconfig	2018-04-25 05:52:57 UTC (rev 230987)
@@ -45,7 +45,7 @@
 WK_ACCESSIBILITY_LDFLAGS_watchos = $(WK_ACCESSIBILITY_LDFLAGS_iphoneos);
 WK_ACCESSIBILITY_LDFLAGS_appletvos = $(WK_ACCESSIBILITY_LDFLAGS_iphoneos);
 WK_ACCESSIBILITY_LDFLAGS_macosx = $(WK_ACCESSIBILITY_LDFLAGS$(WK_MACOS_1014));
-WK_ACCESSIBILITY_LDFLAGS_MACOS_SINCE_1014 = -lAccessibility;
+WK_ACCESSIBILITY_LDFLAGS_MACOS_SINCE_1014 = -weak_library /usr/lib/libAccessibility.dylib;
 
 WK_APPKIT_LDFLAGS = $(WK_APPKIT_LDFLAGS_$(WK_PLATFORM_NAME));
 WK_APPKIT_LDFLAGS_macosx = -framework AppKit;

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (230986 => 230987)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-04-25 05:33:48 UTC (rev 230986)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-04-25 05:52:57 UTC (rev 230987)
@@ -207,6 +207,7 @@
 #endif // PLATFORM(MAC)
 
 #if ENABLE(ACCESSIBILITY_EVENTS)
+#include <wtf/darwin/WeakLinking.h>
 #if __has_include(<AccessibilitySupport.h>)
 #include <AccessibilitySupport.h>
 #else
@@ -700,7 +701,9 @@
 #endif
 
 #if ENABLE(ACCESSIBILITY_EVENTS)
-    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), (__bridge const void *)(self), accessibilityEventsEnabledChangedCallback, kAXSWebAccessibilityEventsEnabledNotification, 0, CFNotificationSuspensionBehaviorDeliverImmediately);
+    const auto* notificationPtr = &kAXSWebAccessibilityEventsEnabledNotification;
+    if (notificationPtr)
+        CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), (__bridge const void *)(self), accessibilityEventsEnabledChangedCallback, kAXSWebAccessibilityEventsEnabledNotification, 0, CFNotificationSuspensionBehaviorDeliverImmediately);
     [self _updateAccessibilityEventsEnabled];
 #endif
 
@@ -827,11 +830,14 @@
 #if PLATFORM(IOS)
     [_remoteObjectRegistry _invalidate];
     [[_configuration _contentProviderRegistry] removePage:*_page];
-    CFNotificationCenterRemoveObserver(CFNotificationCenterGetDarwinNotifyCenter(), (__bridge const void *)(self), nullptr, nullptr);
     [[NSNotificationCenter defaultCenter] removeObserver:self];
     [_scrollView setInternalDelegate:nil];
 #endif
 
+#if ENABLE(ACCESSIBILITY_EVENTS)
+    CFNotificationCenterRemoveObserver(CFNotificationCenterGetDarwinNotifyCenter(), (__bridge const void *)(self), nullptr, nullptr);
+#endif
+
     pageToViewMap().remove(_page.get());
 
     [super dealloc];
@@ -3073,7 +3079,8 @@
 
 - (void)_updateAccessibilityEventsEnabled
 {
-    _page->updateAccessibilityEventsEnabled(_AXSWebAccessibilityEventsEnabled());
+    if (!isNullFunctionPointer(_AXSWebAccessibilityEventsEnabled))
+        _page->updateAccessibilityEventsEnabled(_AXSWebAccessibilityEventsEnabled());
 }
 #endif
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to