| 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 |