Chromium Code Reviews| Index: content/renderer/render_view_impl.cc |
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
| index 26d6b53400e9b5a1075cd5ce463c1e418b156ea3..6df46f7739553f1f9533018c4c0430d09da98ed8 100644 |
| --- a/content/renderer/render_view_impl.cc |
| +++ b/content/renderer/render_view_impl.cc |
| @@ -3286,10 +3286,14 @@ void RenderViewImpl::OnZoom(PageZoom zoom) { |
| zoomLevelChanged(); |
| } |
| -void RenderViewImpl::OnSetZoomLevel(double zoom_level) { |
| - webview()->hidePopups(); |
| - webview()->setZoomLevel(zoom_level); |
| - zoomLevelChanged(); |
| +void RenderViewImpl::OnSetZoomLevel(int zoom_id, |
| + double zoom_level, |
| + content::ZoomMode zoom_mode) { |
| + if (zoom_mode != content::kZoomModeManual) { |
| + webview()->hidePopups(); |
|
Fady Samuel
2014/04/07 21:27:24
I think we should always hide popups.
paulmeyer
2014/04/08 21:13:20
Done.
|
| + webview()->setZoomLevel(zoom_level); |
| + } |
| + zoomLevelChanged(zoom_id, zoom_level, zoom_mode == content::kZoomModeDefault); |
| } |
| void RenderViewImpl::OnSetZoomLevelForLoadingURL(const GURL& url, |
| @@ -4342,15 +4346,19 @@ void RenderViewImpl::zoomLimitsChanged(double minimum_level, |
| } |
| void RenderViewImpl::zoomLevelChanged() { |
| - bool remember = !webview()->mainFrame()->document().isPluginDocument(); |
| - float zoom_level = webview()->zoomLevel(); |
| + zoomLevelChanged(0, webview()->zoomLevel(), false); |
| +} |
| + |
| +void RenderViewImpl::zoomLevelChanged(int zoom_id, double zoom_level, |
| + bool remember) { |
| + remember = remember && !webview()->mainFrame()->document().isPluginDocument(); |
| FOR_EACH_OBSERVER(RenderViewObserver, observers_, ZoomLevelChanged()); |
| // Tell the browser which url got zoomed so it can update the menu and the |
| // saved values if necessary |
| Send(new ViewHostMsg_DidZoomURL( |
| - routing_id_, zoom_level, remember, |
| + routing_id_, zoom_id, zoom_level, remember, |
| GURL(webview()->mainFrame()->document().url()))); |
| } |