OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/frame_host/render_frame_host_impl.h" | 5 #include "content/browser/frame_host/render_frame_host_impl.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/containers/hash_tables.h" | 9 #include "base/containers/hash_tables.h" |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
127 return rfh_state == STATE_DEFAULT; | 127 return rfh_state == STATE_DEFAULT; |
128 } | 128 } |
129 | 129 |
130 // static | 130 // static |
131 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, | 131 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, |
132 int render_frame_id) { | 132 int render_frame_id) { |
133 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); | 133 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); |
134 } | 134 } |
135 | 135 |
136 // static | 136 // static |
137 RenderFrameHost* RenderFrameHost::FromFrameTreeNodeID(int frame_tree_node_id) { | |
138 return RenderFrameHostImpl::FromFrameTreeNodeID(frame_tree_node_id); | |
139 } | |
140 | |
141 // static | |
137 void RenderFrameHost::AllowInjectingJavaScriptForAndroidWebView() { | 142 void RenderFrameHost::AllowInjectingJavaScriptForAndroidWebView() { |
138 g_allow_injecting_javascript = true; | 143 g_allow_injecting_javascript = true; |
139 } | 144 } |
140 | 145 |
141 // static | 146 // static |
142 RenderFrameHostImpl* RenderFrameHostImpl::FromID(int process_id, | 147 RenderFrameHostImpl* RenderFrameHostImpl::FromID(int process_id, |
143 int routing_id) { | 148 int routing_id) { |
144 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 149 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
145 RoutingIDFrameMap* frames = g_routing_id_frame_map.Pointer(); | 150 RoutingIDFrameMap* frames = g_routing_id_frame_map.Pointer(); |
146 RoutingIDFrameMap::iterator it = frames->find( | 151 RoutingIDFrameMap::iterator it = frames->find( |
147 RenderFrameHostID(process_id, routing_id)); | 152 RenderFrameHostID(process_id, routing_id)); |
148 return it == frames->end() ? NULL : it->second; | 153 return it == frames->end() ? NULL : it->second; |
149 } | 154 } |
150 | 155 |
151 // static | 156 // static |
157 RenderFrameHostImpl* RenderFrameHostImpl::FromFrameTreeNodeID( | |
158 int frame_tree_node_id) { | |
159 DCHECK_CURRENTLY_ON(BrowserThread::UI); | |
160 FrameTreeNode* frame_tree_node = | |
161 FrameTreeNode::GloballyFindByID(frame_tree_node_id); | |
162 return frame_tree_node ? frame_tree_node->current_frame_host() : nullptr; | |
163 } | |
164 | |
165 // static | |
152 RenderFrameHost* RenderFrameHost::FromAXTreeID( | 166 RenderFrameHost* RenderFrameHost::FromAXTreeID( |
153 int ax_tree_id) { | 167 int ax_tree_id) { |
154 return RenderFrameHostImpl::FromAXTreeID(ax_tree_id); | 168 return RenderFrameHostImpl::FromAXTreeID(ax_tree_id); |
155 } | 169 } |
156 | 170 |
157 // static | 171 // static |
158 RenderFrameHostImpl* RenderFrameHostImpl::FromAXTreeID( | 172 RenderFrameHostImpl* RenderFrameHostImpl::FromAXTreeID( |
159 AXTreeIDRegistry::AXTreeID ax_tree_id) { | 173 AXTreeIDRegistry::AXTreeID ax_tree_id) { |
160 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 174 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
161 AXTreeIDRegistry::FrameID frame_id = | 175 AXTreeIDRegistry::FrameID frame_id = |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
266 return process_; | 280 return process_; |
267 } | 281 } |
268 | 282 |
269 RenderFrameHost* RenderFrameHostImpl::GetParent() { | 283 RenderFrameHost* RenderFrameHostImpl::GetParent() { |
270 FrameTreeNode* parent_node = frame_tree_node_->parent(); | 284 FrameTreeNode* parent_node = frame_tree_node_->parent(); |
271 if (!parent_node) | 285 if (!parent_node) |
272 return NULL; | 286 return NULL; |
273 return parent_node->current_frame_host(); | 287 return parent_node->current_frame_host(); |
274 } | 288 } |
275 | 289 |
290 RenderFrameHost* RenderFrameHostImpl::FindByFrameTreeNodeID( | |
291 int frame_tree_node_id) { | |
292 FrameTreeNode* child = | |
293 frame_tree_node_->frame_tree()->FindByID(frame_tree_node_id); | |
Charlie Reis
2015/10/30 23:25:09
This doesn't quite match the documentation, which
robwu
2015/10/31 00:10:45
I was reading frame_tree() as the frame tree roote
robwu
2015/11/02 19:08:34
Done.
Charlie Reis
2015/11/03 00:23:49
No, a FrameTree represents the whole tree, startin
| |
294 return child ? child->current_frame_host() : nullptr; | |
295 } | |
296 | |
297 int RenderFrameHostImpl::GetFrameTreeNodeID() { | |
298 return frame_tree_node_->frame_tree_node_id(); | |
299 } | |
300 | |
276 const std::string& RenderFrameHostImpl::GetFrameName() { | 301 const std::string& RenderFrameHostImpl::GetFrameName() { |
277 return frame_tree_node_->frame_name(); | 302 return frame_tree_node_->frame_name(); |
278 } | 303 } |
279 | 304 |
280 bool RenderFrameHostImpl::IsCrossProcessSubframe() { | 305 bool RenderFrameHostImpl::IsCrossProcessSubframe() { |
281 FrameTreeNode* parent_node = frame_tree_node_->parent(); | 306 FrameTreeNode* parent_node = frame_tree_node_->parent(); |
282 if (!parent_node) | 307 if (!parent_node) |
283 return false; | 308 return false; |
284 return GetSiteInstance() != | 309 return GetSiteInstance() != |
285 parent_node->current_frame_host()->GetSiteInstance(); | 310 parent_node->current_frame_host()->GetSiteInstance(); |
(...skipping 1981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2267 BrowserPluginInstanceIDToAXTreeID(value))); | 2292 BrowserPluginInstanceIDToAXTreeID(value))); |
2268 break; | 2293 break; |
2269 case AX_CONTENT_INT_ATTRIBUTE_LAST: | 2294 case AX_CONTENT_INT_ATTRIBUTE_LAST: |
2270 NOTREACHED(); | 2295 NOTREACHED(); |
2271 break; | 2296 break; |
2272 } | 2297 } |
2273 } | 2298 } |
2274 } | 2299 } |
2275 | 2300 |
2276 } // namespace content | 2301 } // namespace content |
OLD | NEW |