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

Side by Side Diff: content/browser/web_contents/web_contents_impl.cc

Issue 2914013004: Propagate auto-resize viewport values to OOPIF processes (Closed)
Patch Set: alexmos review comments addressed Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/web_contents/web_contents_impl.h" 5 #include "content/browser/web_contents/web_contents_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <cmath> 9 #include <cmath>
10 #include <utility> 10 #include <utility>
(...skipping 2768 matching lines...) Expand 10 before | Expand all | Expand 10 after
2779 preferred_size_ = pref_size; 2779 preferred_size_ = pref_size;
2780 OnPreferredSizeChanged(old_size); 2780 OnPreferredSizeChanged(old_size);
2781 } 2781 }
2782 2782
2783 void WebContentsImpl::ResizeDueToAutoResize( 2783 void WebContentsImpl::ResizeDueToAutoResize(
2784 RenderWidgetHostImpl* render_widget_host, 2784 RenderWidgetHostImpl* render_widget_host,
2785 const gfx::Size& new_size) { 2785 const gfx::Size& new_size) {
2786 if (render_widget_host != GetRenderViewHost()->GetWidget()) 2786 if (render_widget_host != GetRenderViewHost()->GetWidget())
2787 return; 2787 return;
2788 2788
2789 auto_resize_size_ = new_size;
2790
2791 // Out-of-process iframe visible viewport sizes usually come from the
2792 // top-level RenderWidgetHostView, but when auto-resize is enabled on the
2793 // top frame then that size is used instead.
2794 for (FrameTreeNode* node : frame_tree_.Nodes()) {
2795 if (node->current_frame_host()->is_local_root()) {
2796 RenderWidgetHostImpl* host =
2797 node->current_frame_host()->GetRenderWidgetHost();
2798 if (host != render_widget_host)
2799 host->SendScreenRects();
alexmos 2017/06/02 17:03:18 Just to make sure I understand: how does this end
kenrb 2017/06/02 17:23:27 Good catch, thanks, this is wrong. I had mistakenl
2800 }
2801 }
2802
2789 if (delegate_) 2803 if (delegate_)
2790 delegate_->ResizeDueToAutoResize(this, new_size); 2804 delegate_->ResizeDueToAutoResize(this, new_size);
2791 } 2805 }
2792 2806
2807 gfx::Size WebContentsImpl::GetAutoResizeSize() {
2808 return auto_resize_size_;
2809 }
2810
2793 WebContents* WebContentsImpl::OpenURL(const OpenURLParams& params) { 2811 WebContents* WebContentsImpl::OpenURL(const OpenURLParams& params) {
2794 if (!delegate_) 2812 if (!delegate_)
2795 return NULL; 2813 return NULL;
2796 2814
2797 WebContents* new_contents = delegate_->OpenURLFromTab(this, params); 2815 WebContents* new_contents = delegate_->OpenURLFromTab(this, params);
2798 2816
2799 RenderFrameHost* source_render_frame_host = RenderFrameHost::FromID( 2817 RenderFrameHost* source_render_frame_host = RenderFrameHost::FromID(
2800 params.source_render_process_id, params.source_render_frame_id); 2818 params.source_render_process_id, params.source_render_frame_id);
2801 2819
2802 if (source_render_frame_host && params.source_site_instance) { 2820 if (source_render_frame_host && params.source_site_instance) {
(...skipping 2850 matching lines...) Expand 10 before | Expand all | Expand 10 after
5653 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); 5671 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host);
5654 if (!render_view_host) 5672 if (!render_view_host)
5655 continue; 5673 continue;
5656 render_view_host_set.insert(render_view_host); 5674 render_view_host_set.insert(render_view_host);
5657 } 5675 }
5658 for (RenderViewHost* render_view_host : render_view_host_set) 5676 for (RenderViewHost* render_view_host : render_view_host_set)
5659 render_view_host->OnWebkitPreferencesChanged(); 5677 render_view_host->OnWebkitPreferencesChanged();
5660 } 5678 }
5661 5679
5662 } // namespace content 5680 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698