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..d81d5d53eeca58fe572d925dbb3fad86d6e2708e 100644 |
--- a/chrome/browser/ui/toolbar/wrench_menu_model.cc |
+++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc |
@@ -223,6 +223,8 @@ WrenchMenuModel::WrenchMenuModel(ui::AcceleratorProvider* provider, |
bool is_new_menu, |
bool supports_new_separators) |
: ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), |
+ content::HostZoomMap::Observer( |
+ HostZoomMap::GetForBrowserContext(browser->profile())), |
provider_(provider), |
browser_(browser), |
tab_strip_model_(browser_->tab_strip_model()) { |
@@ -231,10 +233,6 @@ WrenchMenuModel::WrenchMenuModel(ui::AcceleratorProvider* provider, |
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()); |
} |
@@ -452,17 +450,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. |