| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index 164f77f1edd3b7df7a5279097b36a4144bc92290..e35caed5f13a9770cec2a11e202e2b7ee0830c81 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -1337,8 +1337,6 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(ViewMsg_Zoom, OnZoom)
|
| IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForLoadingURL,
|
| OnSetZoomLevelForLoadingURL)
|
| - IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForView,
|
| - OnSetZoomLevelForView)
|
| IPC_MESSAGE_HANDLER(ViewMsg_SetPageEncoding, OnSetPageEncoding)
|
| IPC_MESSAGE_HANDLER(ViewMsg_ResetPageEncodingToDefault,
|
| OnResetPageEncodingToDefault)
|
| @@ -1732,7 +1730,12 @@ void RenderViewImpl::AttachWebFrameWidget(blink::WebFrameWidget* frame_widget) {
|
| }
|
|
|
| void RenderViewImpl::SetZoomLevel(double zoom_level) {
|
| - webview()->setZoomLevel(zoom_level);
|
| + // This function may get called multiple times if our page has multiple
|
| + // frames, so we early out on subsequent calls so as to only send one
|
| + // notification.
|
| + if (zoom_level == webview()->zoomLevel())
|
| + return;
|
| +
|
| FOR_EACH_OBSERVER(RenderViewObserver, observers_, OnZoomLevelChanged());
|
| }
|
|
|
| @@ -2344,14 +2347,6 @@ void RenderViewImpl::OnSetZoomLevelForLoadingURL(const GURL& url,
|
| #endif
|
| }
|
|
|
| -void RenderViewImpl::OnSetZoomLevelForView(bool uses_temporary_zoom_level,
|
| - double level) {
|
| - uses_temporary_zoom_level_ = uses_temporary_zoom_level;
|
| -
|
| - webview()->hidePopups();
|
| - SetZoomLevel(level);
|
| -}
|
| -
|
| void RenderViewImpl::OnSetPageEncoding(const std::string& encoding_name) {
|
| webview()->setPageEncoding(WebString::fromUTF8(encoding_name));
|
| }
|
| @@ -2539,7 +2534,6 @@ void RenderViewImpl::OnDisableScrollbarsForSmallWindows(
|
|
|
| void RenderViewImpl::OnSetRendererPrefs(
|
| const RendererPreferences& renderer_prefs) {
|
| - double old_zoom_level = renderer_preferences_.default_zoom_level;
|
| std::string old_accept_languages = renderer_preferences_.accept_languages;
|
|
|
| renderer_preferences_ = renderer_prefs;
|
| @@ -2563,17 +2557,6 @@ void RenderViewImpl::OnSetRendererPrefs(
|
| }
|
| #endif // defined(USE_DEFAULT_RENDER_THEME)
|
|
|
| - // If the zoom level for this page matches the old zoom default, and this
|
| - // is not a plugin, update the zoom level to match the new default.
|
| - if (webview() && webview()->mainFrame()->isWebLocalFrame() &&
|
| - !webview()->mainFrame()->document().isPluginDocument() &&
|
| - !ZoomValuesEqual(old_zoom_level,
|
| - renderer_preferences_.default_zoom_level) &&
|
| - ZoomValuesEqual(webview()->zoomLevel(), old_zoom_level)) {
|
| - SetZoomLevel(renderer_preferences_.default_zoom_level);
|
| - zoomLevelChanged();
|
| - }
|
| -
|
| if (webview() &&
|
| old_accept_languages != renderer_preferences_.accept_languages) {
|
| webview()->acceptLanguagesChanged();
|
|
|