Convert zoom callbacks to use CallbackRegistry

BUG=268984
TEST=no functional change.

Review URL: https://codereview.chromium.org/23851016

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226409 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/host_zoom_map_impl.h b/content/browser/host_zoom_map_impl.h
index 216c83eb..eab1040 100644
--- a/content/browser/host_zoom_map_impl.h
+++ b/content/browser/host_zoom_map_impl.h
@@ -42,9 +42,7 @@
       double level) OVERRIDE;
   virtual double GetDefaultZoomLevel() const OVERRIDE;
   virtual void SetDefaultZoomLevel(double level) OVERRIDE;
-  virtual void AddZoomLevelChangedCallback(
-      const ZoomLevelChangedCallback& callback) OVERRIDE;
-  virtual void RemoveZoomLevelChangedCallback(
+  virtual scoped_ptr<Subscription> AddZoomLevelChangedCallback(
       const ZoomLevelChangedCallback& callback) OVERRIDE;
 
   // Returns the temporary zoom level that's only valid for the lifetime of
@@ -75,7 +73,8 @@
   typedef std::map<std::string, HostZoomLevels> SchemeHostZoomLevels;
 
   // Callbacks called when zoom level changes.
-  std::vector<ZoomLevelChangedCallback> zoom_level_changed_callbacks_;
+  base::CallbackList<void(const ZoomLevelChange&)>
+      zoom_level_changed_callbacks_;
 
   // Copy of the pref data, so that we can read it on the IO thread.
   HostZoomLevels host_zoom_levels_;