Index: components/gcm_driver/gcm_driver_desktop.cc |
diff --git a/components/gcm_driver/gcm_driver_desktop.cc b/components/gcm_driver/gcm_driver_desktop.cc |
index e96e87c0af74172fed9be3742028ed30aaa5e7b1..e7aecc89100ed1ff2d00efcc28db811482067c6f 100644 |
--- a/components/gcm_driver/gcm_driver_desktop.cc |
+++ b/components/gcm_driver/gcm_driver_desktop.cc |
@@ -18,6 +18,7 @@ |
#include "base/sequenced_task_runner.h" |
#include "base/task_runner_util.h" |
#include "base/threading/sequenced_worker_pool.h" |
+#include "base/threading/thread_task_runner_handle.h" |
#include "build/build_config.h" |
#include "components/gcm_driver/gcm_account_mapper.h" |
#include "components/gcm_driver/gcm_app_handler.h" |
@@ -1118,7 +1119,8 @@ void GCMDriverDesktop::GetInstanceIDData( |
GCMClient::Result result = EnsureStarted(GCMClient::IMMEDIATE_START); |
if (result != GCMClient::SUCCESS) { |
- callback.Run(std::string(), std::string()); |
+ base::ThreadTaskRunnerHandle::Get()->PostTask( |
+ FROM_HERE, base::Bind(callback, std::string(), std::string())); |
return; |
} |