Chromium Code Reviews| Index: chrome/browser/extensions/api/tabs/tabs_event_router.cc |
| diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.cc b/chrome/browser/extensions/api/tabs/tabs_event_router.cc |
| index 4e93b4060ddfa55a858668828c5b4f6b45987495..676d19dd7567734a764e3090b28cae036b4ee1f7 100644 |
| --- a/chrome/browser/extensions/api/tabs/tabs_event_router.cc |
| +++ b/chrome/browser/extensions/api/tabs/tabs_event_router.cc |
| @@ -552,4 +552,31 @@ void TabsEventRouter::TabPinnedStateChanged(WebContents* contents, int index) { |
| } |
| } |
| +void TabsEventRouter::OnZoomChangeInitiated(content::WebContents* web_contents, |
| + double old_zoom_level, |
| + double new_zoom_level, |
| + ZoomMode zoom_mode) { |
| + DCHECK(web_contents); |
| + int tab_id = ExtensionTabUtil::GetTabId(web_contents); |
| + if (tab_id < 0) |
| + return; |
| + |
| + // Prepare the zoom change information. |
| + api::tabs::OnZoomChange::ZoomChangeInfo zoom_change_info; |
| + zoom_change_info.tab_id = tab_id; |
| + zoom_change_info.old_zoom_factor = |
| + content::ZoomLevelToZoomFactor(old_zoom_level); |
| + zoom_change_info.new_zoom_factor = |
| + content::ZoomLevelToZoomFactor(new_zoom_level); |
| + ZoomModeToZoomSettings(zoom_mode, |
| + &zoom_change_info.zoom_settings); |
| + |
| + // Dispatch the |onZoomChange| event. |
| + Profile* profile = Profile::FromBrowserContext( |
| + web_contents->GetBrowserContext()); |
| + DispatchEvent(profile, tabs::OnZoomChange::kEventName, |
|
Devlin
2014/06/16 19:04:47
nit: One argument per line (unless all fit on one
wjmaclean
2014/06/18 19:03:52
Done.
|
| + api::tabs::OnZoomChange::Create(zoom_change_info), |
| + EventRouter::USER_GESTURE_UNKNOWN); |
| +} |
| + |
| } // namespace extensions |