| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/zoom/chrome_zoom_level_otr_delegate.h" | 5 #include "chrome/browser/ui/zoom/chrome_zoom_level_otr_delegate.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "components/ui/zoom/zoom_event_manager.h" | 8 #include "components/zoom/zoom_event_manager.h" |
| 9 | 9 |
| 10 ChromeZoomLevelOTRDelegate::ChromeZoomLevelOTRDelegate( | 10 ChromeZoomLevelOTRDelegate::ChromeZoomLevelOTRDelegate( |
| 11 base::WeakPtr<ui_zoom::ZoomEventManager> zoom_event_manager) | 11 base::WeakPtr<zoom::ZoomEventManager> zoom_event_manager) |
| 12 : zoom_event_manager_(zoom_event_manager), host_zoom_map_(nullptr) { | 12 : zoom_event_manager_(zoom_event_manager), host_zoom_map_(nullptr) {} |
| 13 } | |
| 14 | 13 |
| 15 ChromeZoomLevelOTRDelegate::~ChromeZoomLevelOTRDelegate() { | 14 ChromeZoomLevelOTRDelegate::~ChromeZoomLevelOTRDelegate() { |
| 16 } | 15 } |
| 17 | 16 |
| 18 void ChromeZoomLevelOTRDelegate::InitHostZoomMap( | 17 void ChromeZoomLevelOTRDelegate::InitHostZoomMap( |
| 19 content::HostZoomMap* host_zoom_map) { | 18 content::HostZoomMap* host_zoom_map) { |
| 20 // This init function must be called only once. | 19 // This init function must be called only once. |
| 21 DCHECK(!host_zoom_map_); | 20 DCHECK(!host_zoom_map_); |
| 22 DCHECK(host_zoom_map); | 21 DCHECK(host_zoom_map); |
| 23 host_zoom_map_ = host_zoom_map; | 22 host_zoom_map_ = host_zoom_map; |
| 24 | 23 |
| 25 zoom_subscription_ = host_zoom_map_->AddZoomLevelChangedCallback(base::Bind( | 24 zoom_subscription_ = host_zoom_map_->AddZoomLevelChangedCallback(base::Bind( |
| 26 &ChromeZoomLevelOTRDelegate::OnZoomLevelChanged, base::Unretained(this))); | 25 &ChromeZoomLevelOTRDelegate::OnZoomLevelChanged, base::Unretained(this))); |
| 27 } | 26 } |
| 28 | 27 |
| 29 void ChromeZoomLevelOTRDelegate::OnZoomLevelChanged( | 28 void ChromeZoomLevelOTRDelegate::OnZoomLevelChanged( |
| 30 const content::HostZoomMap::ZoomLevelChange& change) { | 29 const content::HostZoomMap::ZoomLevelChange& change) { |
| 31 // If there's a manager to aggregate ZoomLevelChanged events, pass this event | 30 // If there's a manager to aggregate ZoomLevelChanged events, pass this event |
| 32 // along. Since we already hold a subscription to our associated HostZoomMap, | 31 // along. Since we already hold a subscription to our associated HostZoomMap, |
| 33 // we don't need to create a separate subscription for this. | 32 // we don't need to create a separate subscription for this. |
| 34 if (zoom_event_manager_) | 33 if (zoom_event_manager_) |
| 35 zoom_event_manager_->OnZoomLevelChanged(change); | 34 zoom_event_manager_->OnZoomLevelChanged(change); |
| 36 } | 35 } |
| OLD | NEW |