Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1109)

Unified Diff: content/browser/gamepad/gamepad_platform_data_fetcher.h

Issue 1586663006: Refactoring gamepad polling to support dynamically added sources (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Avoid crash on Android content_unittests Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/gamepad/gamepad_platform_data_fetcher.h
diff --git a/content/browser/gamepad/gamepad_platform_data_fetcher.h b/content/browser/gamepad/gamepad_platform_data_fetcher.h
index d2dc8b73d767517f8940620186d8a6fe7f4c2640..c2eec157d31aab86bd17bf5e04b6bedb18f75030 100644
--- a/content/browser/gamepad/gamepad_platform_data_fetcher.h
+++ b/content/browser/gamepad/gamepad_platform_data_fetcher.h
@@ -10,52 +10,52 @@
#include "base/compiler_specific.h"
#include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
#include "build/build_config.h"
#include "content/browser/gamepad/gamepad_data_fetcher.h"
+#include "content/browser/gamepad/gamepad_provider.h"
#if defined(OS_ANDROID)
#include "content/browser/gamepad/gamepad_platform_data_fetcher_android.h"
#elif defined(OS_WIN)
#include "content/browser/gamepad/gamepad_platform_data_fetcher_win.h"
+#include "content/browser/gamepad/raw_input_data_fetcher_win.h"
#elif defined(OS_MACOSX)
#include "content/browser/gamepad/gamepad_platform_data_fetcher_mac.h"
+#include "content/browser/gamepad/xbox_data_fetcher_mac.h"
#elif defined(OS_LINUX)
#include "content/browser/gamepad/gamepad_platform_data_fetcher_linux.h"
#endif
namespace content {
+void AddGamepadPlatformDataFetchers(GamepadProvider* provider) {
#if defined(OS_ANDROID)
-typedef GamepadPlatformDataFetcherAndroid GamepadPlatformDataFetcher;
+ provider->AddGamepadDataFetcher(scoped_ptr<GamepadDataFetcher>(
+ new GamepadPlatformDataFetcherAndroid()));
#elif defined(OS_WIN)
-typedef GamepadPlatformDataFetcherWin GamepadPlatformDataFetcher;
+ provider->AddGamepadDataFetcher(scoped_ptr<GamepadDataFetcher>(
+ new GamepadPlatformDataFetcherWin()));
+ provider->AddGamepadDataFetcher(scoped_ptr<GamepadDataFetcher>(
+ new RawInputDataFetcher()));
#elif defined(OS_MACOSX)
-typedef GamepadPlatformDataFetcherMac GamepadPlatformDataFetcher;
+ provider->AddGamepadDataFetcher(scoped_ptr<GamepadDataFetcher>(
+ new GamepadPlatformDataFetcherMac()));
+ provider->AddGamepadDataFetcher(scoped_ptr<GamepadDataFetcher>(
+ new XboxDataFetcher()));
#elif defined(OS_LINUX) && defined(USE_UDEV)
-typedef GamepadPlatformDataFetcherLinux GamepadPlatformDataFetcher;
-
-#else
-
-class GamepadDataFetcherEmpty : public GamepadDataFetcher {
- public:
- GamepadDataFetcherEmpty();
-
- void GetGamepadData(blink::WebGamepads* pads,
- bool devices_changed_hint) override;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(GamepadDataFetcherEmpty);
-};
-typedef GamepadDataFetcherEmpty GamepadPlatformDataFetcher;
+ provider->AddGamepadDataFetcher(scoped_ptr<GamepadDataFetcher>(
+ new GamepadPlatformDataFetcherLinux()));
#endif
+}
} // namespace content
« no previous file with comments | « content/browser/gamepad/gamepad_data_fetcher.cc ('k') | content/browser/gamepad/gamepad_platform_data_fetcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698