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
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/zoom/zoom_event_manager.h"
7 #include "content/public/browser/browser_context.h"
10 static const char kBrowserZoomEventManager
[] = "browser_zoom_event_manager";
13 ZoomEventManager
* ZoomEventManager::GetForBrowserContext(
14 content::BrowserContext
* context
) {
15 if (!context
->GetUserData(kBrowserZoomEventManager
))
16 context
->SetUserData(kBrowserZoomEventManager
, new ZoomEventManager
);
17 return static_cast<ZoomEventManager
*>(
18 context
->GetUserData(kBrowserZoomEventManager
));
21 ZoomEventManager::ZoomEventManager() {}
23 ZoomEventManager::~ZoomEventManager() {}
25 void ZoomEventManager::OnZoomLevelChanged(
26 const content::HostZoomMap::ZoomLevelChange
& change
) {
27 zoom_level_changed_callbacks_
.Notify(change
);
30 scoped_ptr
<content::HostZoomMap::Subscription
>
31 ZoomEventManager::AddZoomLevelChangedCallback(
32 const content::HostZoomMap::ZoomLevelChangedCallback
& callback
) {
33 return zoom_level_changed_callbacks_
.Add(callback
);