summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/api/push_messaging/push_messaging_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/api/push_messaging/push_messaging_api.cc')
-rw-r--r--chrome/browser/extensions/api/push_messaging/push_messaging_api.cc54
1 files changed, 30 insertions, 24 deletions
diff --git a/chrome/browser/extensions/api/push_messaging/push_messaging_api.cc b/chrome/browser/extensions/api/push_messaging/push_messaging_api.cc
index bd725c6..d9faa80 100644
--- a/chrome/browser/extensions/api/push_messaging/push_messaging_api.cc
+++ b/chrome/browser/extensions/api/push_messaging/push_messaging_api.cc
@@ -16,12 +16,13 @@
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/token_cache/token_cache_service.h"
#include "chrome/browser/extensions/token_cache/token_cache_service_factory.h"
-#include "chrome/browser/invalidation/invalidation_service_factory.h"
+#include "chrome/browser/invalidation/profile_invalidation_provider_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
#include "chrome/browser/signin/signin_manager_factory.h"
#include "chrome/common/extensions/api/push_messaging.h"
#include "components/invalidation/invalidation_service.h"
+#include "components/invalidation/profile_invalidation_provider.h"
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_manager.h"
#include "content/public/browser/browser_thread.h"
@@ -104,16 +105,17 @@ bool PushMessagingGetChannelIdFunction::RunAsync() {
// Balanced in ReportResult()
AddRef();
- invalidation::InvalidationService* invalidation_service =
- invalidation::InvalidationServiceFactory::GetForProfile(GetProfile());
- if (!invalidation_service) {
+ invalidation::ProfileInvalidationProvider* invalidation_provider =
+ invalidation::ProfileInvalidationProviderFactory::GetForProfile(
+ GetProfile());
+ if (!invalidation_provider) {
error_ = kAPINotAvailableForUser;
ReportResult(std::string(), error_);
return false;
}
IdentityProvider* identity_provider =
- invalidation_service->GetIdentityProvider();
+ invalidation_provider->GetInvalidationService()->GetIdentityProvider();
if (!identity_provider->GetTokenService()->RefreshTokenIsAvailable(
identity_provider->GetActiveAccountId())) {
if (interactive_ && identity_provider->RequestLogin()) {
@@ -133,11 +135,12 @@ bool PushMessagingGetChannelIdFunction::RunAsync() {
}
void PushMessagingGetChannelIdFunction::StartAccessTokenFetch() {
- invalidation::InvalidationService* invalidation_service =
- invalidation::InvalidationServiceFactory::GetForProfile(GetProfile());
- CHECK(invalidation_service);
+ invalidation::ProfileInvalidationProvider* invalidation_provider =
+ invalidation::ProfileInvalidationProviderFactory::GetForProfile(
+ GetProfile());
+ CHECK(invalidation_provider);
IdentityProvider* identity_provider =
- invalidation_service->GetIdentityProvider();
+ invalidation_provider->GetInvalidationService()->GetIdentityProvider();
std::vector<std::string> scope_vector =
extensions::ObfuscatedGaiaIdFetcher::GetScopes();
@@ -149,10 +152,11 @@ void PushMessagingGetChannelIdFunction::StartAccessTokenFetch() {
void PushMessagingGetChannelIdFunction::OnRefreshTokenAvailable(
const std::string& account_id) {
- invalidation::InvalidationService* invalidation_service =
- invalidation::InvalidationServiceFactory::GetForProfile(GetProfile());
- CHECK(invalidation_service);
- invalidation_service->GetIdentityProvider()->
+ invalidation::ProfileInvalidationProvider* invalidation_provider =
+ invalidation::ProfileInvalidationProviderFactory::GetForProfile(
+ GetProfile());
+ CHECK(invalidation_provider);
+ invalidation_provider->GetInvalidationService()->GetIdentityProvider()->
RemoveActiveAccountRefreshTokenObserver(this);
DVLOG(2) << "Newly logged in: " << GetProfile()->GetProfileName();
StartAccessTokenFetch();
@@ -271,11 +275,12 @@ void PushMessagingGetChannelIdFunction::OnObfuscatedGaiaIdFetchFailure(
case GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS:
case GoogleServiceAuthError::ACCOUNT_DELETED:
case GoogleServiceAuthError::ACCOUNT_DISABLED: {
- invalidation::InvalidationService* invalidation_service =
- invalidation::InvalidationServiceFactory::GetForProfile(GetProfile());
- CHECK(invalidation_service);
- if (!interactive_ ||
- !invalidation_service->GetIdentityProvider()->RequestLogin()) {
+ invalidation::ProfileInvalidationProvider* invalidation_provider =
+ invalidation::ProfileInvalidationProviderFactory::GetForProfile(
+ GetProfile());
+ CHECK(invalidation_provider);
+ if (!interactive_ || !invalidation_provider->GetInvalidationService()->
+ GetIdentityProvider()->RequestLogin()) {
ReportResult(std::string(), error_text);
}
return;
@@ -319,16 +324,17 @@ PushMessagingAPI::GetFactoryInstance() {
}
bool PushMessagingAPI::InitEventRouterAndHandler() {
- invalidation::InvalidationService* invalidation_service =
- invalidation::InvalidationServiceFactory::GetForProfile(profile_);
- if (!invalidation_service)
+ invalidation::ProfileInvalidationProvider* invalidation_provider =
+ invalidation::ProfileInvalidationProviderFactory::GetForProfile(profile_);
+ if (!invalidation_provider)
return false;
if (!event_router_)
event_router_.reset(new PushMessagingEventRouter(profile_));
if (!handler_) {
- handler_.reset(new PushMessagingInvalidationHandler(invalidation_service,
- event_router_.get()));
+ handler_.reset(new PushMessagingInvalidationHandler(
+ invalidation_provider->GetInvalidationService(),
+ event_router_.get()));
}
return true;
@@ -383,7 +389,7 @@ template <>
void
BrowserContextKeyedAPIFactory<PushMessagingAPI>::DeclareFactoryDependencies() {
DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
- DependsOn(invalidation::InvalidationServiceFactory::GetInstance());
+ DependsOn(invalidation::ProfileInvalidationProviderFactory::GetInstance());
}
} // namespace extensions