Index: chrome/browser/services/gcm/gcm_profile_service_factory.cc |
diff --git a/chrome/browser/services/gcm/gcm_profile_service_factory.cc b/chrome/browser/services/gcm/gcm_profile_service_factory.cc |
index 561a2fd272166a24798efb71ae4edd7426ea994b..161e030a76ffff8f5b64b85afa13f1e3aa9654a8 100644 |
--- a/chrome/browser/services/gcm/gcm_profile_service_factory.cc |
+++ b/chrome/browser/services/gcm/gcm_profile_service_factory.cc |
@@ -7,10 +7,13 @@ |
#include "base/memory/scoped_ptr.h" |
#include "chrome/browser/profiles/incognito_helpers.h" |
#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/services/gcm/gcm_profile_service.h" |
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
#include "chrome/browser/signin/signin_manager_factory.h" |
+#include "chrome/common/channel_info.h" |
+#include "components/gcm_driver/gcm_profile_service.h" |
#include "components/keyed_service/content/browser_context_dependency_manager.h" |
+#include "components/signin/core/browser/signin_manager.h" |
+#include "content/public/browser/browser_thread.h" |
#if !defined(OS_ANDROID) |
#include "chrome/browser/ui/webui/signin/login_ui_service_factory.h" |
@@ -51,12 +54,29 @@ GCMProfileServiceFactory::~GCMProfileServiceFactory() { |
KeyedService* GCMProfileServiceFactory::BuildServiceInstanceFor( |
content::BrowserContext* context) const { |
+ Profile* profile = Profile::FromBrowserContext(context); |
+ CHECK(!profile->IsOffTheRecord()); |
+ |
+ base::SequencedWorkerPool* worker_pool = |
johnme
2015/10/28 14:34:56
It seems a shame to duplicate this code with exten
droger
2015/10/28 14:41:08
gcm_profile_service_unittest should be componentiz
Jitu( very slow this week)
2015/10/29 14:11:25
I am planning to take componentizing of gcm_profil
droger
2015/10/29 14:18:06
That's fine for me.
|
+ content::BrowserThread::GetBlockingPool(); |
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner( |
+ worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( |
+ worker_pool->GetSequenceToken(), |
+ base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)); |
#if defined(OS_ANDROID) |
- return new GCMProfileService(Profile::FromBrowserContext(context)); |
+ return new GCMProfileService(profile->GetPath(), blocking_task_runner); |
#else |
return new GCMProfileService( |
- Profile::FromBrowserContext(context), |
- scoped_ptr<GCMClientFactory>(new GCMClientFactory)); |
+ profile->GetPrefs(), profile->GetPath(), profile->GetRequestContext(), |
+ chrome::GetChannel(), SigninManagerFactory::GetForProfile(profile), |
+ ProfileOAuth2TokenServiceFactory::GetForProfile(profile), |
+ LoginUIServiceFactory::GetShowLoginPopupCallbackForProfile(profile), |
+ scoped_ptr<GCMClientFactory>(new GCMClientFactory), |
+ content::BrowserThread::GetMessageLoopProxyForThread( |
+ content::BrowserThread::UI), |
+ content::BrowserThread::GetMessageLoopProxyForThread( |
+ content::BrowserThread::IO), |
+ blocking_task_runner); |
#endif |
} |