| Index: content/browser/gamepad/gamepad_platform_data_fetcher_mac.h | 
| diff --git a/content/browser/gamepad/gamepad_platform_data_fetcher_mac.h b/content/browser/gamepad/gamepad_platform_data_fetcher_mac.h | 
| index ebfe57e35f458b31d18c19d1083ee42622ac76e9..303263c3d98aabb7ce20a46c95549038dbc653f4 100644 | 
| --- a/content/browser/gamepad/gamepad_platform_data_fetcher_mac.h | 
| +++ b/content/browser/gamepad/gamepad_platform_data_fetcher_mac.h | 
| @@ -13,8 +13,6 @@ | 
| #include "base/memory/scoped_ptr.h" | 
| #include "build/build_config.h" | 
| #include "content/browser/gamepad/gamepad_data_fetcher.h" | 
| -#include "content/browser/gamepad/xbox_data_fetcher_mac.h" | 
| -#include "content/common/gamepad_hardware_buffer.h" | 
|  | 
| #include <CoreFoundation/CoreFoundation.h> | 
| #include <IOKit/hid/IOHIDManager.h> | 
| @@ -27,13 +25,11 @@ class NSArray; | 
|  | 
| namespace content { | 
|  | 
| -class GamepadPlatformDataFetcherMac : public GamepadDataFetcher, | 
| -                                      public XboxDataFetcher::Delegate { | 
| +class GamepadPlatformDataFetcherMac : public GamepadDataFetcher { | 
| public: | 
| GamepadPlatformDataFetcherMac(); | 
| ~GamepadPlatformDataFetcherMac() override; | 
| -  void GetGamepadData(blink::WebGamepads* pads, | 
| -                      bool devices_changed_hint) override; | 
| +  void GetGamepadData(bool devices_changed_hint) override; | 
| void PauseHint(bool paused) override; | 
|  | 
| private: | 
| @@ -55,44 +51,28 @@ class GamepadPlatformDataFetcherMac : public GamepadDataFetcher, | 
| void* sender, | 
| IOHIDValueRef ref); | 
|  | 
| +  void OnAddedToProvider() override; | 
| + | 
| size_t GetEmptySlot(); | 
| size_t GetSlotForDevice(IOHIDDeviceRef device); | 
| -  size_t GetSlotForXboxDevice(XboxController* device); | 
|  | 
| void DeviceAdd(IOHIDDeviceRef device); | 
| -  bool AddButtonsAndAxes(NSArray* elements, size_t slot); | 
| +  bool AddButtonsAndAxes(NSArray* elements, PadState* state, size_t slot); | 
| void DeviceRemove(IOHIDDeviceRef device); | 
| void ValueChanged(IOHIDValueRef value); | 
|  | 
| -  void XboxDeviceAdd(XboxController* device) override; | 
| -  void XboxDeviceRemove(XboxController* device) override; | 
| -  void XboxValueChanged(XboxController* device, | 
| -                        const XboxController::Data& data) override; | 
| - | 
| void RegisterForNotifications(); | 
| void UnregisterFromNotifications(); | 
|  | 
| -  void SanitizeGamepadData(size_t index, blink::WebGamepad* pad); | 
| - | 
| -  scoped_ptr<XboxDataFetcher> xbox_fetcher_; | 
| - | 
| // Side-band data that's not passed to the consumer, but we need to maintain | 
| // to update data_. | 
| struct AssociatedData { | 
| -    bool is_xbox; | 
| -    union { | 
| -      struct { | 
| -        IOHIDDeviceRef device_ref; | 
| -        IOHIDElementRef button_elements[blink::WebGamepad::buttonsLengthCap]; | 
| -        IOHIDElementRef axis_elements[blink::WebGamepad::axesLengthCap]; | 
| -        CFIndex axis_minimums[blink::WebGamepad::axesLengthCap]; | 
| -        CFIndex axis_maximums[blink::WebGamepad::axesLengthCap]; | 
| -      } hid; | 
| -      struct { | 
| -        XboxController* device; | 
| -        UInt32 location_id; | 
| -      } xbox; | 
| -    }; | 
| +    int location_id; | 
| +    IOHIDDeviceRef device_ref; | 
| +    IOHIDElementRef button_elements[blink::WebGamepad::buttonsLengthCap]; | 
| +    IOHIDElementRef axis_elements[blink::WebGamepad::axesLengthCap]; | 
| +    CFIndex axis_minimums[blink::WebGamepad::axesLengthCap]; | 
| +    CFIndex axis_maximums[blink::WebGamepad::axesLengthCap]; | 
| }; | 
| AssociatedData associated_[blink::WebGamepads::itemsLengthCap]; | 
|  | 
|  |