Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5234)

Unified Diff: chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc

Issue 168253002: Cleanup many APIs to use ProfileKeyedAPI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc
diff --git a/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc b/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc
index c5fe516a0038c7c38eb3772f64a83c11f50cf513..7af956a0dfddbc4a398993e94fe8bf865b3bec05 100644
--- a/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc
+++ b/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc
@@ -4,16 +4,20 @@
#include "chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.h"
+#include "base/lazy_instance.h"
#include "chrome/browser/extensions/api/sync_file_system/sync_file_system_api_helpers.h"
#include "chrome/browser/extensions/event_names.h"
#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync_file_system/sync_event_observer.h"
#include "chrome/browser/sync_file_system/sync_file_system_service.h"
+#include "chrome/browser/sync_file_system/sync_file_system_service_factory.h"
#include "chrome/browser/sync_file_system/syncable_file_system_util.h"
#include "chrome/common/extensions/api/sync_file_system.h"
+#include "content/public/browser/browser_context.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/extension_system_provider.h"
+#include "extensions/browser/extensions_browser_client.h"
#include "webkit/browser/fileapi/file_system_url.h"
#include "webkit/common/fileapi/file_system_util.h"
@@ -21,10 +25,18 @@ using sync_file_system::SyncEventObserver;
namespace extensions {
+static base::LazyInstance<ProfileKeyedAPIFactory<ExtensionSyncEventObserver> >
+ g_factory = LAZY_INSTANCE_INITIALIZER;
+
+// static
+ProfileKeyedAPIFactory<ExtensionSyncEventObserver>*
+ExtensionSyncEventObserver::GetFactoryInstance() {
+ return g_factory.Pointer();
+}
+
ExtensionSyncEventObserver::ExtensionSyncEventObserver(
- Profile* profile)
- : profile_(profile),
- sync_service_(NULL) {}
+ content::BrowserContext* context)
+ : browser_context_(context), sync_service_(NULL) {}
void ExtensionSyncEventObserver::InitializeForService(
sync_file_system::SyncFileSystemService* sync_service) {
@@ -46,8 +58,9 @@ void ExtensionSyncEventObserver::Shutdown() {
std::string ExtensionSyncEventObserver::GetExtensionId(
const GURL& app_origin) {
- const Extension* app = ExtensionSystem::Get(profile_)->extension_service()->
- GetInstalledApp(app_origin);
+ const Extension* app = ExtensionSystem::Get(browser_context_)
+ ->extension_service()
+ ->GetInstalledApp(app_origin);
if (!app) {
// The app is uninstalled or disabled.
return std::string();
@@ -107,11 +120,12 @@ void ExtensionSyncEventObserver::BroadcastOrDispatchEvent(
// Check to see whether the event should be broadcasted to all listening
// extensions or sent to a specific extension ID.
bool broadcast_mode = app_origin.is_empty();
- EventRouter* event_router = ExtensionSystem::Get(profile_)->event_router();
+ EventRouter* event_router =
+ ExtensionSystem::Get(browser_context_)->event_router();
DCHECK(event_router);
scoped_ptr<Event> event(new Event(event_name, values.Pass()));
- event->restrict_to_browser_context = profile_;
+ event->restrict_to_browser_context = browser_context_;
// No app_origin, broadcast to all listening extensions for this event name.
if (broadcast_mode) {
@@ -126,4 +140,11 @@ void ExtensionSyncEventObserver::BroadcastOrDispatchEvent(
event_router->DispatchEventToExtension(extension_id, event.Pass());
}
+template <>
+void ProfileKeyedAPIFactory<
+ ExtensionSyncEventObserver>::DeclareFactoryDependencies() {
+ DependsOn(sync_file_system::SyncFileSystemServiceFactory::GetInstance());
+ DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
+}
+
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698