summaryrefslogtreecommitdiffstats
path: root/content/browser/host_zoom_map_impl.cc
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-07 15:08:42 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-07 15:08:42 +0000
commit89c9aca0f74519e281f1a0ce425a8f6b195c658b (patch)
tree5bcdabc9ac9a1bfac3f7e78dca2ff04f5d39c49d /content/browser/host_zoom_map_impl.cc
parent8fbdeb2c722073c80e2c99bd529d274dbe924645 (diff)
downloadchromium_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.cc29
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,