| 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 172056d4fbedd6272d6ff9440e69fd7266fe872f..23eb0b8b275a8629e2dd0764efb56df79ac1f5c8 100644
|
| --- a/chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm
|
| @@ -66,16 +66,14 @@ class ZoomLevelObserver {
|
| public:
|
| ZoomLevelObserver(WrenchMenuController* controller,
|
| content::HostZoomMap* map)
|
| - : callback_(base::Bind(&ZoomLevelObserver::OnZoomLevelChanged,
|
| - base::Unretained(this))),
|
| - controller_(controller),
|
| + : controller_(controller),
|
| map_(map) {
|
| - map_->AddZoomLevelChangedCallback(callback_);
|
| + subscription_ = map_->AddZoomLevelChangedCallback(
|
| + base::Bind(&ZoomLevelObserver::OnZoomLevelChanged,
|
| + base::Unretained(this)));
|
| }
|
|
|
| - ~ZoomLevelObserver() {
|
| - map_->RemoveZoomLevelChangedCallback(callback_);
|
| - }
|
| + ~ZoomLevelObserver() {}
|
|
|
| private:
|
| void OnZoomLevelChanged(const HostZoomMap::ZoomLevelChange& change) {
|
| @@ -86,7 +84,7 @@ class ZoomLevelObserver {
|
| [[controller_ zoomDisplay] setTitle:SysUTF16ToNSString(level)];
|
| }
|
|
|
| - content::HostZoomMap::ZoomLevelChangedCallback callback_;
|
| + scoped_ptr<content::HostZoomMap::Subscription> subscription_;
|
|
|
| WrenchMenuController* controller_; // Weak; owns this.
|
| content::HostZoomMap* map_; // Weak.
|
|
|