Diff
Modified: trunk/Source/WTF/wtf/PlatformHave.h (264231 => 264232)
--- trunk/Source/WTF/wtf/PlatformHave.h 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WTF/wtf/PlatformHave.h 2020-07-10 18:51:39 UTC (rev 264232)
@@ -570,6 +570,10 @@
#define HAVE_GCEXTENDEDGAMEPAD_BUTTONS_THUMBSTICK 1
#endif
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500)
+#define HAVE_MULTIGAMEPADPROVIDER_SUPPORT 1
+#endif
+
#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)
#define HAVE_WEBP 1
#endif
Modified: trunk/Source/WebCore/ChangeLog (264231 => 264232)
--- trunk/Source/WebCore/ChangeLog 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebCore/ChangeLog 2020-07-10 18:51:39 UTC (rev 264232)
@@ -1,3 +1,18 @@
+2020-07-10 Brady Eidson <beid...@apple.com>
+
+ Limit MultiGamepadProvider to Catalina and Big Sur.
+ https://bugs.webkit.org/show_bug.cgi?id=214190
+
+ Unreviewed build fix.
+
+ * platform/gamepad/cocoa/GameControllerSPI.h:
+ * platform/gamepad/cocoa/GameControllerSoftLink.h:
+ * platform/gamepad/cocoa/GameControllerSoftLink.mm:
+ * platform/gamepad/mac/HIDGamepadProvider.mm:
+ (WebCore::HIDGamepadProvider::deviceAdded):
+ * platform/gamepad/mac/MultiGamepadProvider.h:
+ * platform/gamepad/mac/MultiGamepadProvider.mm:
+
2020-07-10 Sam Weinig <wei...@apple.com>
Part 4 of SimpleColor and SRGBA<uint8_t> are essentially the same - let's converge them
Modified: trunk/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h (264231 => 264232)
--- trunk/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h 2020-07-10 18:51:39 UTC (rev 264232)
@@ -33,6 +33,7 @@
#else
WTF_EXTERN_C_BEGIN
+typedef struct CF_BRIDGED_TYPE(id) __IOHIDServiceClient * IOHIDServiceClientRef;
typedef struct CF_BRIDGED_TYPE(id) __IOHIDEventSystemClient * IOHIDEventSystemClientRef;
IOHIDEventSystemClientRef IOHIDEventSystemClientCreate(CFAllocatorRef);
void IOHIDEventSystemClientSetMatching(IOHIDEventSystemClientRef, CFDictionaryRef);
Modified: trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSPI.h (264231 => 264232)
--- trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSPI.h 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSPI.h 2020-07-10 18:51:39 UTC (rev 264232)
@@ -31,7 +31,7 @@
+ (void)__openXPC_and_CBApplicationDidBecomeActive__;
@end
-#if PLATFORM(MAC)
+#if HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
#if USE(APPLE_INTERNAL_SDK)
WTF_EXTERN_C_BEGIN
@@ -41,10 +41,10 @@
#else
WTF_EXTERN_C_BEGIN
-typedef struct CF_BRIDGED_TYPE(id) IOHIDServiceClient * IOHIDServiceClientRef;
+typedef struct CF_BRIDGED_TYPE(id) __IOHIDServiceClient * IOHIDServiceClientRef;
Class ControllerClassForService(IOHIDServiceClientRef);
WTF_EXTERN_C_END
#endif // USE(APPLE_INTERNAL_SDK)
-#endif // PLATFORM(MAC)
+#endif // HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
#endif // ENABLE(GAMEPAD) && PLATFORM(COCOA)
Modified: trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h (264231 => 264232)
--- trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h 2020-07-10 18:51:39 UTC (rev 264232)
@@ -36,7 +36,7 @@
SOFT_LINK_CONSTANT_MAY_FAIL_FOR_HEADER(WebCore, GameController, GCControllerDidConnectNotification, NSString *)
SOFT_LINK_CONSTANT_MAY_FAIL_FOR_HEADER(WebCore, GameController, GCControllerDidDisconnectNotification, NSString *)
-#if PLATFORM(MAC)
+#if HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, GameController, ControllerClassForService, Class, (IOHIDServiceClientRef service), (service))
#endif
Modified: trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm (264231 => 264232)
--- trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm 2020-07-10 18:51:39 UTC (rev 264232)
@@ -36,7 +36,7 @@
SOFT_LINK_CONSTANT_MAY_FAIL_FOR_SOURCE(WebCore, GameController, GCControllerDidConnectNotification, NSString *)
SOFT_LINK_CONSTANT_MAY_FAIL_FOR_SOURCE(WebCore, GameController, GCControllerDidDisconnectNotification, NSString *)
-#if PLATFORM(MAC)
+#if HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, GameController, ControllerClassForService, Class, (IOHIDServiceClientRef service), (service))
#endif
Modified: trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm (264231 => 264232)
--- trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm 2020-07-10 18:51:39 UTC (rev 264232)
@@ -179,6 +179,7 @@
closeAndUnscheduleManager();
}
+#if HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
static bool gameControllerFrameworkWillHandleHIDDevice(IOHIDDeviceRef device)
{
if (!isGameControllerFrameworkAvailable())
@@ -222,14 +223,19 @@
return ControllerClassForService(serviceClient.get());
}
+#endif // HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
+
+
void HIDGamepadProvider::deviceAdded(IOHIDDeviceRef device)
{
+#if HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
if (m_ignoresGameControllerFrameworkDevices && gameControllerFrameworkWillHandleHIDDevice(device)) {
LOG(Gamepad, "GameController framework will handle attached device %p - HIDGamepadProvider ignoring it", device);
m_gameControllerManagedGamepads.add(device);
return;
}
+#endif // HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
ASSERT(!m_gamepadMap.get(device));
Modified: trunk/Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.h (264231 => 264232)
--- trunk/Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.h 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.h 2020-07-10 18:51:39 UTC (rev 264232)
@@ -25,7 +25,7 @@
#pragma once
-#if ENABLE(GAMEPAD) && PLATFORM(MAC)
+#if ENABLE(GAMEPAD) && HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
#include "GamepadProvider.h"
#include "GamepadProviderClient.h"
@@ -91,4 +91,4 @@
} // namespace WebCore
-#endif // ENABLE(GAMEPAD) && PLATFORM(MAC)
+#endif // ENABLE(GAMEPAD) && HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
Modified: trunk/Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.mm (264231 => 264232)
--- trunk/Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.mm 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebCore/platform/gamepad/mac/MultiGamepadProvider.mm 2020-07-10 18:51:39 UTC (rev 264232)
@@ -26,7 +26,7 @@
#include "config.h"
#include "MultiGamepadProvider.h"
-#if ENABLE(GAMEPAD) && PLATFORM(MAC)
+#if ENABLE(GAMEPAD) && HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
#import "GameControllerGamepadProvider.h"
#import "HIDGamepadProvider.h"
@@ -129,4 +129,4 @@
} // namespace WebCore
-#endif // ENABLE(GAMEPAD) && PLATFORM(MAC)
+#endif // ENABLE(GAMEPAD) && HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
Modified: trunk/Source/WebKit/ChangeLog (264231 => 264232)
--- trunk/Source/WebKit/ChangeLog 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebKit/ChangeLog 2020-07-10 18:51:39 UTC (rev 264232)
@@ -1,3 +1,13 @@
+2020-07-10 Brady Eidson <beid...@apple.com>
+
+ Limit MultiGamepadProvider to Catalina and Big Sur.
+ https://bugs.webkit.org/show_bug.cgi?id=214190
+
+ Unreviewed build fix.
+
+ * UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm:
+ (WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider):
+
2020-07-10 Brent Fulgham <bfulg...@apple.com>
[IPC hardening] Use MESSAGE_CHECK in WebPageProxy::setColorPickerColor()
Modified: trunk/Source/WebKit/UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm (264231 => 264232)
--- trunk/Source/WebKit/UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm 2020-07-10 17:54:05 UTC (rev 264231)
+++ trunk/Source/WebKit/UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm 2020-07-10 18:51:39 UTC (rev 264232)
@@ -53,9 +53,14 @@
#else
if (useGameControllerFramework)
GamepadProvider::setSharedProvider(GameControllerGamepadProvider::singleton());
- else
+ else {
+#if HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
GamepadProvider::setSharedProvider(MultiGamepadProvider::singleton());
-#endif
+#else
+ GamepadProvider::setSharedProvider(HIDGamepadProvider::singleton());
+#endif // HAVE(MULTIGAMEPADPROVIDER_SUPPORT)
+ }
+#endif // PLATFORM(IOS_FAMILY)
}
void UIGamepadProvider::platformStopMonitoringInput()