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 9 namespace { 10 static const char kBrowserZoomEventManager[] = "browser_zoom_event_manager"; 11 } 12 GetForBrowserContext(content::BrowserContext * context)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 ZoomEventManager()21ZoomEventManager::ZoomEventManager() {} 22 ~ZoomEventManager()23ZoomEventManager::~ZoomEventManager() {} 24 OnZoomLevelChanged(const content::HostZoomMap::ZoomLevelChange & change)25void ZoomEventManager::OnZoomLevelChanged( 26 const content::HostZoomMap::ZoomLevelChange& change) { 27 zoom_level_changed_callbacks_.Notify(change); 28 } 29 30 scoped_ptr<content::HostZoomMap::Subscription> AddZoomLevelChangedCallback(const content::HostZoomMap::ZoomLevelChangedCallback & callback)31ZoomEventManager::AddZoomLevelChangedCallback( 32 const content::HostZoomMap::ZoomLevelChangedCallback& callback) { 33 return zoom_level_changed_callbacks_.Add(callback); 34 } 35