Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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()) { | |
|
alexmos
2017/06/02 00:45:22
If any of the nodes correspond to OOPIF <webview>'
kenrb
2017/06/02 15:44:47
I looked at this briefly yesterday when writing th
alexmos
2017/06/02 17:03:18
Acknowledged.
| |
| 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(); | |
| 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_; | |
|
alexmos
2017/06/02 00:45:22
Can auto-resize ever be disabled, and if so, do we
kenrb
2017/06/02 15:44:47
The answer to your question is actually no, only <
| |
| 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 Loading... | |
| 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 |
| OLD | NEW |