Adding instrumentation to locate the source of jankiness
[chromium-blink-merge.git] / chrome / browser / ui / zoom / zoom_event_manager.cc
blob934fe251e2efb8a318b7947be19f22cd8c1aff7e
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"
9 namespace {
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);