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 |