| 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 897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 } | 908 } |
| 909 | 909 |
| 910 RenderFrameHostImpl* WebContentsImpl::GetFocusedFrame() { | 910 RenderFrameHostImpl* WebContentsImpl::GetFocusedFrame() { |
| 911 FrameTreeNode* focused_node = frame_tree_.GetFocusedFrame(); | 911 FrameTreeNode* focused_node = frame_tree_.GetFocusedFrame(); |
| 912 if (!focused_node) | 912 if (!focused_node) |
| 913 return nullptr; | 913 return nullptr; |
| 914 return focused_node->current_frame_host(); | 914 return focused_node->current_frame_host(); |
| 915 } | 915 } |
| 916 | 916 |
| 917 RenderFrameHostImpl* WebContentsImpl::FindFrameByFrameTreeNodeId( | 917 RenderFrameHostImpl* WebContentsImpl::FindFrameByFrameTreeNodeId( |
| 918 int frame_tree_node_id, |
| 919 int process_id) { |
| 920 FrameTreeNode* frame = frame_tree_.FindByID(frame_tree_node_id); |
| 921 |
| 922 // Sanity check that this is in the caller's expected process. Otherwise a |
| 923 // recent cross-process navigation may have led to a privilege change that the |
| 924 // caller is not expecting. |
| 925 RenderFrameHostImpl* current_frame_host = frame->current_frame_host(); |
| 926 if (!frame || current_frame_host->GetProcess()->GetID() != process_id) |
| 927 return nullptr; |
| 928 |
| 929 return current_frame_host; |
| 930 } |
| 931 |
| 932 RenderFrameHostImpl* WebContentsImpl::UnsafeFindFrameByFrameTreeNodeId( |
| 918 int frame_tree_node_id) { | 933 int frame_tree_node_id) { |
| 934 // Beware using this! The RenderFrameHost may have changed since the caller |
| 935 // obtained frame_tree_node_id. |
| 919 FrameTreeNode* frame = frame_tree_.FindByID(frame_tree_node_id); | 936 FrameTreeNode* frame = frame_tree_.FindByID(frame_tree_node_id); |
| 920 return frame ? frame->current_frame_host() : nullptr; | 937 return frame ? frame->current_frame_host() : nullptr; |
| 921 } | 938 } |
| 922 | 939 |
| 923 void WebContentsImpl::ForEachFrame( | 940 void WebContentsImpl::ForEachFrame( |
| 924 const base::Callback<void(RenderFrameHost*)>& on_frame) { | 941 const base::Callback<void(RenderFrameHost*)>& on_frame) { |
| 925 for (FrameTreeNode* node : frame_tree_.Nodes()) { | 942 for (FrameTreeNode* node : frame_tree_.Nodes()) { |
| 926 on_frame.Run(node->current_frame_host()); | 943 on_frame.Run(node->current_frame_host()); |
| 927 } | 944 } |
| 928 } | 945 } |
| (...skipping 4660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5589 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); | 5606 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); |
| 5590 if (!render_view_host) | 5607 if (!render_view_host) |
| 5591 continue; | 5608 continue; |
| 5592 render_view_host_set.insert(render_view_host); | 5609 render_view_host_set.insert(render_view_host); |
| 5593 } | 5610 } |
| 5594 for (RenderViewHost* render_view_host : render_view_host_set) | 5611 for (RenderViewHost* render_view_host : render_view_host_set) |
| 5595 render_view_host->OnWebkitPreferencesChanged(); | 5612 render_view_host->OnWebkitPreferencesChanged(); |
| 5596 } | 5613 } |
| 5597 | 5614 |
| 5598 } // namespace content | 5615 } // namespace content |
| OLD | NEW |