| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "chrome/browser/extensions/extension_gcm_app_handler.h" | 5 #include "chrome/browser/extensions/extension_gcm_app_handler.h" | 
| 6 | 6 | 
| 7 #include "base/bind.h" | 7 #include "base/bind.h" | 
| 8 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" | 
| 9 #include "base/location.h" | 9 #include "base/location.h" | 
| 10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 40 BrowserContextKeyedAPIFactory<ExtensionGCMAppHandler>* | 40 BrowserContextKeyedAPIFactory<ExtensionGCMAppHandler>* | 
| 41 ExtensionGCMAppHandler::GetFactoryInstance() { | 41 ExtensionGCMAppHandler::GetFactoryInstance() { | 
| 42   return g_factory.Pointer(); | 42   return g_factory.Pointer(); | 
| 43 } | 43 } | 
| 44 | 44 | 
| 45 ExtensionGCMAppHandler::ExtensionGCMAppHandler(content::BrowserContext* context) | 45 ExtensionGCMAppHandler::ExtensionGCMAppHandler(content::BrowserContext* context) | 
| 46     : profile_(Profile::FromBrowserContext(context)), | 46     : profile_(Profile::FromBrowserContext(context)), | 
| 47       weak_factory_(this) { | 47       weak_factory_(this) { | 
| 48   // Listen to various extension related notifications. | 48   // Listen to various extension related notifications. | 
| 49   registrar_.Add(this, | 49   registrar_.Add(this, | 
| 50                  chrome::NOTIFICATION_EXTENSION_LOADED, | 50                  chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, | 
| 51                  content::Source<Profile>(profile_)); | 51                  content::Source<Profile>(profile_)); | 
| 52   registrar_.Add(this, | 52   registrar_.Add(this, | 
| 53                  chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, | 53                  chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, | 
| 54                  content::Source<Profile>(profile_)); | 54                  content::Source<Profile>(profile_)); | 
| 55   registrar_.Add(this, | 55   registrar_.Add(this, | 
| 56                  chrome::NOTIFICATION_EXTENSION_UNINSTALLED, | 56                  chrome::NOTIFICATION_EXTENSION_UNINSTALLED, | 
| 57                  content::Source<Profile>(profile_)); | 57                  content::Source<Profile>(profile_)); | 
| 58 | 58 | 
| 59 #if !defined(OS_ANDROID) | 59 #if !defined(OS_ANDROID) | 
| 60   js_event_router_.reset(new extensions::GcmJsEventRouter(profile_)); | 60   js_event_router_.reset(new extensions::GcmJsEventRouter(profile_)); | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 98 #if !defined(OS_ANDROID) | 98 #if !defined(OS_ANDROID) | 
| 99   js_event_router_->OnSendError(app_id, send_error_details); | 99   js_event_router_->OnSendError(app_id, send_error_details); | 
| 100 #endif | 100 #endif | 
| 101 } | 101 } | 
| 102 | 102 | 
| 103 void ExtensionGCMAppHandler::Observe( | 103 void ExtensionGCMAppHandler::Observe( | 
| 104     int type, | 104     int type, | 
| 105     const content::NotificationSource& source, | 105     const content::NotificationSource& source, | 
| 106     const content::NotificationDetails& details) { | 106     const content::NotificationDetails& details) { | 
| 107   switch (type) { | 107   switch (type) { | 
| 108     case chrome:: NOTIFICATION_EXTENSION_LOADED: { | 108     case chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: { | 
| 109       const Extension* extension = content::Details<Extension>(details).ptr(); | 109       const Extension* extension = content::Details<Extension>(details).ptr(); | 
| 110       if (IsGCMPermissionEnabled(extension)) | 110       if (IsGCMPermissionEnabled(extension)) | 
| 111         GetGCMProfileService()->AddAppHandler(extension->id(), this); | 111         GetGCMProfileService()->AddAppHandler(extension->id(), this); | 
| 112       break; | 112       break; | 
| 113     } | 113     } | 
| 114     case chrome:: NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: { | 114     case chrome:: NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: { | 
| 115       const Extension* extension = | 115       const Extension* extension = | 
| 116           content::Details<UnloadedExtensionInfo>(details)->extension; | 116           content::Details<UnloadedExtensionInfo>(details)->extension; | 
| 117       if (IsGCMPermissionEnabled(extension)) | 117       if (IsGCMPermissionEnabled(extension)) | 
| 118         GetGCMProfileService()->RemoveAppHandler(extension->id()); | 118         GetGCMProfileService()->RemoveAppHandler(extension->id()); | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 138 gcm::GCMProfileService* ExtensionGCMAppHandler::GetGCMProfileService() const { | 138 gcm::GCMProfileService* ExtensionGCMAppHandler::GetGCMProfileService() const { | 
| 139   return gcm::GCMProfileServiceFactory::GetForProfile(profile_); | 139   return gcm::GCMProfileServiceFactory::GetForProfile(profile_); | 
| 140 } | 140 } | 
| 141 | 141 | 
| 142 void ExtensionGCMAppHandler::OnUnregisterCompleted( | 142 void ExtensionGCMAppHandler::OnUnregisterCompleted( | 
| 143     const std::string& app_id, gcm::GCMClient::Result result) { | 143     const std::string& app_id, gcm::GCMClient::Result result) { | 
| 144   // Nothing to do. | 144   // Nothing to do. | 
| 145 } | 145 } | 
| 146 | 146 | 
| 147 }  // namespace extensions | 147 }  // namespace extensions | 
| OLD | NEW | 
|---|