Chromium Code Reviews| 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..b44d3b0dcc1773bdfdd6ea44384e04ddae343f02 100644 |
| --- a/chrome/browser/services/gcm/gcm_profile_service_factory.cc |
| +++ b/chrome/browser/services/gcm/gcm_profile_service_factory.cc |
| @@ -7,10 +7,14 @@ |
| #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/profile_identity_provider.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 +55,31 @@ GCMProfileServiceFactory::~GCMProfileServiceFactory() { |
| KeyedService* GCMProfileServiceFactory::BuildServiceInstanceFor( |
| content::BrowserContext* context) const { |
| + Profile* profile = Profile::FromBrowserContext(context); |
| + CHECK(!profile->IsOffTheRecord()); |
|
fgorski
2015/10/30 13:19:05
Where did this come from?
GCM is enabled in incogn
blundell
2015/10/30 13:29:07
Hmm, that's very strange. It used to be in the GCM
droger
2015/10/30 13:38:30
I agree that the CL is fine in the sense that it d
Bernhard Bauer
2015/10/30 13:38:45
Peter added this to investigate https://crbug.com/
fgorski
2015/10/30 13:40:36
Well in that case, thanks for bringing that to my
blundell
2015/10/30 13:44:48
In any case, this should definitely be a DCHECK to
Jitu( very slow this week)
2015/10/30 13:52:53
Nice catch
Done
|
| + |
| + 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)); |
| #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(), |
| + scoped_ptr<ProfileIdentityProvider>(new ProfileIdentityProvider( |
| + 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 |
| } |