| Index: content/browser/gamepad/gamepad_provider.cc
|
| diff --git a/content/browser/gamepad/gamepad_provider.cc b/content/browser/gamepad/gamepad_provider.cc
|
| index 55a5f30ed78b6802c7fd6231a13bd0d596c958c8..1cc7aab73f5daba2e6984c3e626275c27fbf06b8 100644
|
| --- a/content/browser/gamepad/gamepad_provider.cc
|
| +++ b/content/browser/gamepad/gamepad_provider.cc
|
| @@ -113,15 +113,15 @@ void GamepadProvider::Initialize(scoped_ptr<GamepadDataFetcher> fetcher) {
|
| memset(hwbuf, 0, sizeof(GamepadHardwareBuffer));
|
|
|
| polling_thread_.reset(new base::Thread("Gamepad polling thread"));
|
| -#if defined(OS_MACOSX)
|
| - // On Mac, the data fetcher uses IOKit which depends on CFRunLoop, so the
|
| - // message loop needs to be a UI-type loop.
|
| - const base::MessageLoop::Type kMessageLoopType = base::MessageLoop::TYPE_UI;
|
| -#else
|
| +#if defined(OS_LINUX)
|
| // On Linux, the data fetcher needs to watch file descriptors, so the message
|
| - // loop needs to be a libevent loop. On Windows it doesn't matter what the
|
| - // loop is.
|
| + // loop needs to be a libevent loop.
|
| const base::MessageLoop::Type kMessageLoopType = base::MessageLoop::TYPE_IO;
|
| +#else
|
| + // On Mac, the data fetcher uses IOKit which depends on CFRunLoop, so the
|
| + // message loop needs to be a UI-type loop. On Windows it must be a UI loop
|
| + // to properly pump the MessageWindow that captures device state.
|
| + const base::MessageLoop::Type kMessageLoopType = base::MessageLoop::TYPE_UI;
|
| #endif
|
| polling_thread_->StartWithOptions(base::Thread::Options(kMessageLoopType, 0));
|
|
|
|
|