| Index: chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm b/chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm
|
| index bb87814f2896e20f95747e4c117753272f6008ea..3690282da6e6c9731330c6979c242cadf6cbfe67 100644
|
| --- a/chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm
|
| @@ -23,10 +23,6 @@
|
| #include "chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h"
|
| #include "chrome/browser/ui/toolbar/wrench_menu_model.h"
|
| #include "content/public/browser/host_zoom_map.h"
|
| -#include "content/public/browser/notification_observer.h"
|
| -#include "content/public/browser/notification_service.h"
|
| -#include "content/public/browser/notification_source.h"
|
| -#include "content/public/browser/notification_types.h"
|
| #include "content/public/browser/user_metrics.h"
|
| #include "grit/chromium_strings.h"
|
| #include "grit/generated_resources.h"
|
| @@ -64,26 +60,16 @@ class AcceleratorDelegate : public ui::AcceleratorProvider {
|
| }
|
| };
|
|
|
| -class ZoomLevelObserver : public content::NotificationObserver {
|
| +class ZoomLevelObserver : public content::HostZoomMap::Observer {
|
| public:
|
| - explicit ZoomLevelObserver(WrenchMenuController* controller)
|
| - : controller_(controller) {
|
| - registrar_.Add(
|
| - this, content::NOTIFICATION_ZOOM_LEVEL_CHANGED,
|
| - content::NotificationService::AllBrowserContextsAndSources());
|
| + ZoomLevelObserver(WrenchMenuController* controller,
|
| + content::HostZoomMap* map)
|
| + : content::HostZoomMap::Observer(map),
|
| + controller_(controller) {
|
| }
|
|
|
| - void Observe(int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) {
|
| - DCHECK_EQ(type, content::NOTIFICATION_ZOOM_LEVEL_CHANGED);
|
| + virtual void OnZoomLevelChanged(const std::string& host) OVERRIDE {
|
| WrenchMenuModel* wrenchMenuModel = [controller_ wrenchMenuModel];
|
| - if (HostZoomMap::GetForBrowserContext(
|
| - wrenchMenuModel->browser()->profile()) !=
|
| - content::Source<HostZoomMap>(source).ptr()) {
|
| - return;
|
| - }
|
| -
|
| wrenchMenuModel->UpdateZoomControls();
|
| const string16 level =
|
| wrenchMenuModel->GetLabelForCommandId(IDC_ZOOM_PERCENT_DISPLAY);
|
| @@ -91,8 +77,9 @@ class ZoomLevelObserver : public content::NotificationObserver {
|
| }
|
|
|
| private:
|
| - content::NotificationRegistrar registrar_;
|
| WrenchMenuController* controller_; // Weak; owns this.
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ZoomLevelObserver);
|
| };
|
|
|
| } // namespace WrenchMenuControllerInternal
|
| @@ -102,7 +89,8 @@ class ZoomLevelObserver : public content::NotificationObserver {
|
| - (id)initWithBrowser:(Browser*)browser {
|
| if ((self = [super init])) {
|
| browser_ = browser;
|
| - observer_.reset(new WrenchMenuControllerInternal::ZoomLevelObserver(self));
|
| + observer_.reset(new WrenchMenuControllerInternal::ZoomLevelObserver(
|
| + self, content::HostZoomMap::GetForBrowserContext(browser->profile())));
|
| acceleratorDelegate_.reset(
|
| new WrenchMenuControllerInternal::AcceleratorDelegate());
|
| [self createModel];
|
|
|