| Index: content/browser/renderer_host/render_process_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
| index 088b7196b9c210ff5c5e93333b1da9907e15ca4c..f8faa01abea7b10fbe07658cdc55c4ac948ded4b 100644
|
| --- a/content/browser/renderer_host/render_process_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_process_host_impl.cc
|
| @@ -1279,11 +1279,24 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
|
| file_task_runner);
|
| #endif
|
|
|
| - // These callbacks will be run immediately on the IO thread.
|
| +#if defined(OS_ANDROID)
|
| + // On Android the device sensors implementations need to run on the UI thread
|
| + // to communicate to Java.
|
| + AddUIThreadInterface(registry.get(), base::Bind(&DeviceLightHost::Create));
|
| + AddUIThreadInterface(registry.get(), base::Bind(&DeviceMotionHost::Create));
|
| + AddUIThreadInterface(registry.get(),
|
| + base::Bind(&DeviceOrientationHost::Create));
|
| + AddUIThreadInterface(registry.get(),
|
| + base::Bind(&DeviceOrientationAbsoluteHost::Create));
|
| +#else
|
| + // On platforms other than Android the device sensors implementations run on
|
| + // the IO thread.
|
| registry->AddInterface(base::Bind(&DeviceLightHost::Create));
|
| registry->AddInterface(base::Bind(&DeviceMotionHost::Create));
|
| registry->AddInterface(base::Bind(&DeviceOrientationHost::Create));
|
| registry->AddInterface(base::Bind(&DeviceOrientationAbsoluteHost::Create));
|
| +#endif // defined(OS_ANDROID)
|
| +
|
| registry->AddInterface(
|
| base::Bind(&URLLoaderFactoryImpl::Create, resource_message_filter_));
|
|
|
|
|