| Index: chrome/browser/browser_process_impl.cc
 | 
| diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
 | 
| index c236055825b9c05e858ffdd675c2ec81215f23e0..dda5453a2ff513615b12faf606e8cc5742eefca7 100644
 | 
| --- a/chrome/browser/browser_process_impl.cc
 | 
| +++ b/chrome/browser/browser_process_impl.cc
 | 
| @@ -109,8 +109,8 @@
 | 
|  
 | 
|  #if !defined(OS_ANDROID)
 | 
|  #include "chrome/browser/chrome_device_client.h"
 | 
| -#include "chrome/browser/services/gcm/gcm_desktop_utils.h"
 | 
|  #include "components/gcm_driver/gcm_client_factory.h"
 | 
| +#include "components/gcm_driver/gcm_desktop_utils.h"
 | 
|  #endif
 | 
|  
 | 
|  #if defined(ENABLE_BACKGROUND)
 | 
| @@ -1164,11 +1164,24 @@ void BrowserProcessImpl::CreateGCMDriver() {
 | 
|  #else
 | 
|    base::FilePath store_path;
 | 
|    CHECK(PathService::Get(chrome::DIR_GLOBAL_GCM_STORE, &store_path));
 | 
| +  base::SequencedWorkerPool* worker_pool =
 | 
| +      content::BrowserThread::GetBlockingPool();
 | 
| +  scoped_refptr<base::SequencedTaskRunner> blocking_task_runner(
 | 
| +      worker_pool->GetSequencedTaskRunnerWithShutdownBehavior(
 | 
| +          worker_pool->GetSequenceToken(),
 | 
| +          base::SequencedWorkerPool::SKIP_ON_SHUTDOWN));
 | 
| +
 | 
|    gcm_driver_ = gcm::CreateGCMDriverDesktop(
 | 
|        make_scoped_ptr(new gcm::GCMClientFactory),
 | 
|        local_state(),
 | 
|        store_path,
 | 
| -      system_request_context());
 | 
| +      system_request_context(),
 | 
| +      chrome::GetChannel(),
 | 
| +      content::BrowserThread::GetMessageLoopProxyForThread(
 | 
| +          content::BrowserThread::UI),
 | 
| +      content::BrowserThread::GetMessageLoopProxyForThread(
 | 
| +          content::BrowserThread::IO),
 | 
| +      blocking_task_runner);
 | 
|  #endif  // defined(OS_ANDROID)
 | 
|  }
 | 
|  
 | 
| 
 |