| Index: chrome/browser/extensions/api/push_messaging/push_messaging_api.cc
 | 
| 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 681be8669a4f540edfe3665b77e1423f4fe131b8..e8bdc33d786ce7cc364c8555abcc72844d0e53ae 100644
 | 
| --- a/chrome/browser/extensions/api/push_messaging/push_messaging_api.cc
 | 
| +++ b/chrome/browser/extensions/api/push_messaging/push_messaging_api.cc
 | 
| @@ -7,15 +7,16 @@
 | 
|  #include <set>
 | 
|  
 | 
|  #include "base/bind.h"
 | 
| +#include "base/lazy_instance.h"
 | 
|  #include "base/logging.h"
 | 
|  #include "base/string_number_conversions.h"
 | 
|  #include "base/values.h"
 | 
| -#include "chrome/browser/extensions/api/push_messaging/push_messaging_api_factory.h"
 | 
|  #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidation_handler.h"
 | 
|  #include "chrome/browser/extensions/event_names.h"
 | 
|  #include "chrome/browser/extensions/event_router.h"
 | 
|  #include "chrome/browser/extensions/extension_service.h"
 | 
|  #include "chrome/browser/extensions/extension_system.h"
 | 
| +#include "chrome/browser/extensions/extension_system_factory.h"
 | 
|  #include "chrome/browser/profiles/profile.h"
 | 
|  #include "chrome/browser/signin/token_service.h"
 | 
|  #include "chrome/browser/signin/token_service_factory.h"
 | 
| @@ -287,15 +288,30 @@ PushMessagingAPI::~PushMessagingAPI() {
 | 
|  
 | 
|  // static
 | 
|  PushMessagingAPI* PushMessagingAPI::Get(Profile* profile) {
 | 
| -  return PushMessagingAPIFactory::GetForProfile(profile);
 | 
| +  return ProfileKeyedAPIFactory<PushMessagingAPI>::GetForProfile(profile);
 | 
|  }
 | 
|  
 | 
|  void PushMessagingAPI::Shutdown() {
 | 
|    push_messaging_event_router_.reset();
 | 
|  }
 | 
|  
 | 
| +static base::LazyInstance<ProfileKeyedAPIFactory<PushMessagingAPI> >
 | 
| +g_factory = LAZY_INSTANCE_INITIALIZER;
 | 
| +
 | 
| +// static
 | 
| +ProfileKeyedAPIFactory<PushMessagingAPI>*
 | 
| +PushMessagingAPI::GetFactoryInstance() {
 | 
| +  return &g_factory.Get();
 | 
| +}
 | 
| +
 | 
|  PushMessagingEventRouter* PushMessagingAPI::GetEventRouterForTest() {
 | 
|    return push_messaging_event_router_.get();
 | 
|  }
 | 
|  
 | 
| +template <>
 | 
| +void ProfileKeyedAPIFactory<PushMessagingAPI>::DeclareFactoryDependencies() {
 | 
| +  DependsOn(ExtensionSystemFactory::GetInstance());
 | 
| +  DependsOn(ProfileSyncServiceFactory::GetInstance());
 | 
| +}
 | 
| +
 | 
|  }  // namespace extensions
 | 
| 
 |