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. 4 5#include "chrome/browser/ui/zoom/zoom_event_manager.h" 6 7#include "content/public/browser/browser_context.h" 8 9namespace { 10static const char kBrowserZoomEventManager[] = "browser_zoom_event_manager"; 11} 12 13ZoomEventManager* 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)); 19} 20 21ZoomEventManager::ZoomEventManager() {} 22 23ZoomEventManager::~ZoomEventManager() {} 24 25void ZoomEventManager::OnZoomLevelChanged( 26 const content::HostZoomMap::ZoomLevelChange& change) { 27 zoom_level_changed_callbacks_.Notify(change); 28} 29 30scoped_ptr<content::HostZoomMap::Subscription> 31ZoomEventManager::AddZoomLevelChangedCallback( 32 const content::HostZoomMap::ZoomLevelChangedCallback& callback) { 33 return zoom_level_changed_callbacks_.Add(callback); 34} 35