Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index d4e45b550e7859dadf577e8cef3a3788db0f9cd9..cacdbad4c8008960d977b41cc345a2b06216ce86 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -1282,6 +1282,8 @@ |
OnSetEditCommandsForNextKeyEvent) |
IPC_MESSAGE_HANDLER(ViewMsg_SetPageScale, OnSetPageScale) |
IPC_MESSAGE_HANDLER(ViewMsg_Zoom, OnZoom) |
+ IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForLoadingURL, |
+ OnSetZoomLevelForLoadingURL) |
IPC_MESSAGE_HANDLER(ViewMsg_SetPageEncoding, OnSetPageEncoding) |
IPC_MESSAGE_HANDLER(ViewMsg_ResetPageEncodingToDefault, |
OnResetPageEncodingToDefault) |
@@ -2254,6 +2256,21 @@ |
zoomLevelChanged(); |
} |
+void RenderViewImpl::OnSetZoomLevelForLoadingURL(const GURL& url, |
+ double zoom_level) { |
+ // TODO(wjmaclean): We should see if this restriction is really necessary, |
+ // since it isn't enforced in other parts of the page zoom system (e.g. |
+ // when a users changes the zoom of a currently displayed page). Android |
+ // has no UI for this, so in theory the following code would normally just use |
+ // the default zoom anyways. |
+#if !defined(OS_ANDROID) |
+ // On Android, page zoom isn't used, and in case of WebView, text zoom is used |
+ // for legacy WebView text scaling emulation. Thus, the code that resets |
+ // the zoom level from this map will be effectively resetting text zoom level. |
+ host_zoom_levels_[url] = zoom_level; |
+#endif |
+} |
+ |
void RenderViewImpl::OnSetZoomLevel( |
PageMsg_SetZoomLevel_Command command, |
double zoom_level) { |