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

Unified Diff: apps/app_window_geometry_cache.h

Issue 270703003: Use ExtensionRegistryObserver instead of DEPRECATED extension notify from app_window_geometry_cache (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix unit_tests Created 6 years, 7 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
« no previous file with comments | « no previous file | apps/app_window_geometry_cache.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: apps/app_window_geometry_cache.h
diff --git a/apps/app_window_geometry_cache.h b/apps/app_window_geometry_cache.h
index 20764284b7f611dc54c367e3a44cbb40d2cdc66f..8813eea2b08156be6131e370d4e9dbc87fa42468 100644
--- a/apps/app_window_geometry_cache.h
+++ b/apps/app_window_geometry_cache.h
@@ -12,13 +12,13 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/singleton.h"
#include "base/observer_list.h"
+#include "base/scoped_observer.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
#include "base/values.h"
#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
#include "components/keyed_service/core/keyed_service.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
+#include "extensions/browser/extension_registry_observer.h"
#include "ui/base/ui_base_types.h"
#include "ui/gfx/rect.h"
@@ -26,6 +26,7 @@ class Profile;
namespace extensions {
class ExtensionPrefs;
+class ExtensionRegistry;
}
namespace apps {
@@ -34,7 +35,7 @@ namespace apps {
// for IO when creating a new window, and to not cause IO on every window
// geometry change.
class AppWindowGeometryCache : public KeyedService,
- public content::NotificationObserver {
+ public extensions::ExtensionRegistryObserver {
public:
class Factory : public BrowserContextKeyedServiceFactory {
public:
@@ -122,31 +123,38 @@ class AppWindowGeometryCache : public KeyedService,
// Data stored for each extension.
typedef std::map<std::string, WindowData> ExtensionData;
- // content::NotificationObserver
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
+ // ExtensionRegistryObserver implementation.
+ virtual void OnExtensionLoaded(
+ content::BrowserContext* browser_context,
+ const extensions::Extension* extension) OVERRIDE;
+ virtual void OnExtensionUnloaded(
+ content::BrowserContext* browser_context,
+ const extensions::Extension* extension,
+ extensions::UnloadedExtensionInfo::Reason reason) OVERRIDE;
void LoadGeometryFromStorage(const std::string& extension_id);
- void OnExtensionUnloaded(const std::string& extension_id);
void SyncToStorage();
// Preferences storage.
extensions::ExtensionPrefs* prefs_;
- // Cached data
+ // Cached data.
std::map<std::string, ExtensionData> cache_;
- // Data that still needs saving
+ // Data that still needs saving.
std::set<std::string> unsynced_extensions_;
- // The timer used to save the data
+ // The timer used to save the data.
base::OneShotTimer<AppWindowGeometryCache> sync_timer_;
// The timeout value we'll use for |sync_timer_|.
base::TimeDelta sync_delay_;
- content::NotificationRegistrar registrar_;
+ // Listen to extension load, unloaded notifications.
+ ScopedObserver<extensions::ExtensionRegistry,
+ extensions::ExtensionRegistryObserver>
+ extension_registry_observer_;
+
ObserverList<Observer> observers_;
};
« no previous file with comments | « no previous file | apps/app_window_geometry_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698