diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-07 15:08:42 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-07 15:08:42 +0000 |
commit | 89c9aca0f74519e281f1a0ce425a8f6b195c658b (patch) | |
tree | 5bcdabc9ac9a1bfac3f7e78dca2ff04f5d39c49d /content/browser/host_zoom_map_impl.cc | |
parent | 8fbdeb2c722073c80e2c99bd529d274dbe924645 (diff) | |
download | chromium_src-89c9aca0f74519e281f1a0ce425a8f6b195c658b.zip chromium_src-89c9aca0f74519e281f1a0ce425a8f6b195c658b.tar.gz chromium_src-89c9aca0f74519e281f1a0ce425a8f6b195c658b.tar.bz2 |
content: convert zoom notifications to callbacks
BUG=170921
Review URL: https://codereview.chromium.org/12039058
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181307 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/host_zoom_map_impl.cc')
-rw-r--r-- | content/browser/host_zoom_map_impl.cc | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/content/browser/host_zoom_map_impl.cc b/content/browser/host_zoom_map_impl.cc index 942d6f4..aa5a870 100644 --- a/content/browser/host_zoom_map_impl.cc +++ b/content/browser/host_zoom_map_impl.cc @@ -90,10 +90,8 @@ void HostZoomMapImpl::SetZoomLevel(const std::string& host, double level) { } } - NotificationService::current()->Notify( - NOTIFICATION_ZOOM_LEVEL_CHANGED, - Source<HostZoomMap>(this), - Details<const std::string>(&host)); + for (size_t i = 0; i < zoom_level_changed_callbacks_.size(); i++) + zoom_level_changed_callbacks_[i].Run(host); } double HostZoomMapImpl::GetDefaultZoomLevel() const { @@ -104,6 +102,22 @@ void HostZoomMapImpl::SetDefaultZoomLevel(double level) { default_zoom_level_ = level; } +void HostZoomMapImpl::AddZoomLevelChangedCallback( + const ZoomLevelChangedCallback& callback) { + zoom_level_changed_callbacks_.push_back(callback); +} + +void HostZoomMapImpl::RemoveZoomLevelChangedCallback( + const ZoomLevelChangedCallback& callback) { + for (size_t i = 0; i < zoom_level_changed_callbacks_.size(); i++) { + if (zoom_level_changed_callbacks_[i].Equals(callback)) { + zoom_level_changed_callbacks_.erase( + zoom_level_changed_callbacks_.begin() + i); + return; + } + } +} + double HostZoomMapImpl::GetTemporaryZoomLevel(int render_process_id, int render_view_id) const { base::AutoLock auto_lock(lock_); @@ -145,11 +159,8 @@ void HostZoomMapImpl::SetTemporaryZoomLevel(int render_process_id, } } - std::string host; - NotificationService::current()->Notify( - NOTIFICATION_ZOOM_LEVEL_CHANGED, - Source<HostZoomMap>(this), - Details<const std::string>(&host)); + for (size_t i = 0; i < zoom_level_changed_callbacks_.size(); i++) + zoom_level_changed_callbacks_[i].Run(std::string()); } void HostZoomMapImpl::Observe(int type, |