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

Unified Diff: chrome/browser/ui/toolbar/wrench_menu_model.cc

Issue 12039058: content: convert zoom notifications to observer usage (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: callbacks Created 7 years, 11 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/ui/toolbar/wrench_menu_model.cc
diff --git a/chrome/browser/ui/toolbar/wrench_menu_model.cc b/chrome/browser/ui/toolbar/wrench_menu_model.cc
index 228c7ef63356f2dfb5e0993986d70135f9fd4a23..868b0bf7f75740eeeb60af2a74c130f2cde1d19b 100644
--- a/chrome/browser/ui/toolbar/wrench_menu_model.cc
+++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc
@@ -229,12 +229,13 @@ WrenchMenuModel::WrenchMenuModel(ui::AcceleratorProvider* provider,
Build(is_new_menu, supports_new_separators);
UpdateZoomControls();
+ HostZoomMap::GetForBrowserContext(
+ browser->profile())->AddZoomLevelChangedCallback(
+ base::Bind(&WrenchMenuModel::OnZoomLevelChanged,
+ base::Unretained(this)));
+
tab_strip_model_->AddObserver(this);
- registrar_.Add(
- this, content::NOTIFICATION_ZOOM_LEVEL_CHANGED,
- content::Source<HostZoomMap>(
- HostZoomMap::GetForBrowserContext(browser_->profile())));
registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
content::NotificationService::AllSources());
}
@@ -242,6 +243,11 @@ WrenchMenuModel::WrenchMenuModel(ui::AcceleratorProvider* provider,
WrenchMenuModel::~WrenchMenuModel() {
if (tab_strip_model_)
tab_strip_model_->RemoveObserver(this);
+
+ HostZoomMap::GetForBrowserContext(
+ browser()->profile())->RemoveZoomLevelChangedCallback(
+ base::Bind(&WrenchMenuModel::OnZoomLevelChanged,
+ base::Unretained(this)));
}
bool WrenchMenuModel::DoesCommandIdDismissMenu(int command_id) const {
@@ -452,17 +458,15 @@ void WrenchMenuModel::TabStripModelDeleted() {
tab_strip_model_ = NULL;
}
+void WrenchMenuModel::OnZoomLevelChanged(const std::string& host) {
+ UpdateZoomControls();
+}
+
void WrenchMenuModel::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
- switch (type) {
- case content::NOTIFICATION_ZOOM_LEVEL_CHANGED:
- case content::NOTIFICATION_NAV_ENTRY_COMMITTED:
- UpdateZoomControls();
- break;
- default:
- NOTREACHED();
- }
+ DCHECK(type == content::NOTIFICATION_NAV_ENTRY_COMMITTED);
+ UpdateZoomControls();
}
// For testing.

Powered by Google App Engine
This is Rietveld 408576698