Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4680)

Unified Diff: chrome/browser/extensions/api/tabs/tabs_event_router.cc

Issue 301733006: Zoom Extension API (chrome) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add event manager for manual zoom events. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698