Title: [205762] tags/Safari-603.1.5.0.1/Source/WebCore

Diff

Modified: tags/Safari-603.1.5.0.1/Source/WebCore/ChangeLog (205761 => 205762)


--- tags/Safari-603.1.5.0.1/Source/WebCore/ChangeLog	2016-09-09 19:27:41 UTC (rev 205761)
+++ tags/Safari-603.1.5.0.1/Source/WebCore/ChangeLog	2016-09-09 19:28:39 UTC (rev 205762)
@@ -1,3 +1,21 @@
+2016-09-09  Babak Shafiei  <[email protected]>
+
+        Merge r205756.
+
+    2016-09-09  Brady Eidson  <[email protected]>
+
+            Soft-link GameController.framework.
+            <rdar://problem/28219953> and https://bugs.webkit.org/show_bug.cgi?id=161802
+
+            Reviewed by Brian Burg.
+
+            No new tests (No change in behavior).
+
+            * Configurations/WebCore.xcconfig:
+            * WebCore.xcodeproj/project.pbxproj:
+            * platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
+            (WebCore::GameControllerGamepadProvider::startMonitoringGamepads):
+
 2016-09-06  Myles C. Maxfield  <[email protected]>
 
         Strikethrough positions are erroneously snapped twice

Modified: tags/Safari-603.1.5.0.1/Source/WebCore/Configurations/WebCore.xcconfig (205761 => 205762)


--- tags/Safari-603.1.5.0.1/Source/WebCore/Configurations/WebCore.xcconfig	2016-09-09 19:27:41 UTC (rev 205761)
+++ tags/Safari-603.1.5.0.1/Source/WebCore/Configurations/WebCore.xcconfig	2016-09-09 19:28:39 UTC (rev 205762)
@@ -65,11 +65,7 @@
 WK_IOS_BINCOMPAT_LDFLAGS_V9_3 = $(WK_IOS_BINCOMPAT_LDFLAGS_V9_0);
 WK_IOS_BINCOMPAT_LDFLAGS_V10_0 = $(WK_IOS_BINCOMPAT_LDFLAGS_V9_3);
 
-WK_GAMECONTROLLER_LDFLAGS = $(WK_GAMECONTROLLER_LDFLAGS_$(ENABLE_GAMEPAD));
-WK_GAMECONTROLLER_LDFLAGS_ENABLE_GAMEPAD = -framework GameController;
-WK_GAMECONTROLLER_LDFLAGS_ENABLE_GAMEPAD[sdk=macosx*] = -weak_framework GameController;
-
-OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_PLATFORM) $(WK_GAMECONTROLLER_LDFLAGS);
+OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_PLATFORM)
 OTHER_LDFLAGS_BASE = -lsqlite3 -lobjc -lANGLE;
 OTHER_LDFLAGS_BASE_ios = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework MobileCoreServices -framework OpenGLES -lMobileGestalt $(WK_IOS_BINCOMPAT_LDFLAGS);
 OTHER_LDFLAGS_PLATFORM[sdk=iphoneos*] = $(OTHER_LDFLAGS_BASE_ios) -framework IOSurface;

Modified: tags/Safari-603.1.5.0.1/Source/WebCore/WebCore.xcodeproj/project.pbxproj (205761 => 205762)


--- tags/Safari-603.1.5.0.1/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2016-09-09 19:27:41 UTC (rev 205761)
+++ tags/Safari-603.1.5.0.1/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2016-09-09 19:28:39 UTC (rev 205762)
@@ -9142,7 +9142,6 @@
 		51ABAE1C103C1913008C5260 /* SocketStreamHandleImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SocketStreamHandleImpl.h; sourceTree = "<group>"; };
 		51ABAE1D103C1913008C5260 /* SocketStreamHandleImplCFNet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SocketStreamHandleImplCFNet.cpp; sourceTree = "<group>"; };
 		51ABF64C16392E2800132A7A /* LoaderStrategy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoaderStrategy.cpp; sourceTree = "<group>"; };
-		51AEA4C81D6E3CC100E0269D /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = ../../../../../../System/Library/Frameworks/GameController.framework; sourceTree = "<group>"; };
 		51AF503516F100F60095B2E8 /* ResourceLoaderTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoaderTypes.h; sourceTree = "<group>"; };
 		51B2417A0D931F3F00E83F5C /* LegacyWebArchiveMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LegacyWebArchiveMac.mm; sourceTree = "<group>"; };
 		51B454E91B4DAE7D0085EAA6 /* PingHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PingHandle.h; sourceTree = "<group>"; };
@@ -14818,7 +14817,6 @@
 				FD2DBF0E12B048A300ED98C6 /* Accelerate.framework */,
 				FD2DBF0F12B048A300ED98C6 /* AudioToolbox.framework */,
 				AA5F3B9016CC5BEB00455EB0 /* CoreFoundation.framework */,
-				51AEA4C81D6E3CC100E0269D /* GameController.framework */,
 				1AB33DA412551E320024457A /* IOKit.framework */,
 				F8216299029F4FB501000131 /* _javascript_Core.framework */,
 				93F1D31A0558CC5C00821BC0 /* libicucore.dylib */,

Modified: tags/Safari-603.1.5.0.1/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm (205761 => 205762)


--- tags/Safari-603.1.5.0.1/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm	2016-09-09 19:27:41 UTC (rev 205761)
+++ tags/Safari-603.1.5.0.1/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm	2016-09-09 19:28:39 UTC (rev 205762)
@@ -30,8 +30,14 @@
 #import "GameControllerGamepad.h"
 #import "GamepadProviderClient.h"
 #import "Logging.h"
+#import "SoftLinking.h"
 #import <GameController/GameController.h>
 
+SOFT_LINK_FRAMEWORK_OPTIONAL(GameController)
+SOFT_LINK_CLASS_OPTIONAL(GameController, GCController);
+SOFT_LINK_CONSTANT_MAY_FAIL(GameController, GCControllerDidConnectNotification, NSString *)
+SOFT_LINK_CONSTANT_MAY_FAIL(GameController, GCControllerDidDisconnectNotification, NSString *)
+
 namespace WebCore {
 
 static const std::chrono::milliseconds InputNotificationDelay = 16ms;
@@ -98,15 +104,19 @@
     if (m_connectObserver)
         return;
 
-    m_connectObserver = [[NSNotificationCenter defaultCenter] addObserverForName:GCControllerDidConnectNotification object:nil queue:nil usingBlock:^(NSNotification *notification) {
-        GameControllerGamepadProvider::singleton().controllerDidConnect(notification.object, ConnectionVisibility::Visible);
-    }];
+    if (canLoadGCControllerDidConnectNotification()) {
+        m_connectObserver = [[NSNotificationCenter defaultCenter] addObserverForName:getGCControllerDidConnectNotification() object:nil queue:nil usingBlock:^(NSNotification *notification) {
+            GameControllerGamepadProvider::singleton().controllerDidConnect(notification.object, ConnectionVisibility::Visible);
+        }];
+    }
 
-    m_disconnectObserver = [[NSNotificationCenter defaultCenter] addObserverForName:GCControllerDidDisconnectNotification object:nil queue:nil usingBlock:^(NSNotification *notification) {
-        GameControllerGamepadProvider::singleton().controllerDidDisconnect(notification.object);
-    }];
+    if (canLoadGCControllerDidDisconnectNotification()) {
+        m_disconnectObserver = [[NSNotificationCenter defaultCenter] addObserverForName:getGCControllerDidDisconnectNotification() object:nil queue:nil usingBlock:^(NSNotification *notification) {
+            GameControllerGamepadProvider::singleton().controllerDidDisconnect(notification.object);
+        }];
+    }
 
-    for (GCController *controller in [GCController controllers])
+    for (GCController *controller in [getGCControllerClass() controllers])
         controllerDidConnect(controller, ConnectionVisibility::Invisible);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to