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 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
209 } | 209 } |
210 | 210 |
211 // TODO(creis): Remove this when we no longer use RVH for navigation. | 211 // TODO(creis): Remove this when we no longer use RVH for navigation. |
212 RenderViewHostImpl* current_host() const; | 212 RenderViewHostImpl* current_host() const; |
213 | 213 |
214 // Returns the view associated with the current RenderViewHost, or NULL if | 214 // Returns the view associated with the current RenderViewHost, or NULL if |
215 // there is no current one. | 215 // there is no current one. |
216 RenderWidgetHostView* GetRenderWidgetHostView() const; | 216 RenderWidgetHostView* GetRenderWidgetHostView() const; |
217 | 217 |
218 RenderFrameProxyHost* GetProxyToParent(); | 218 RenderFrameProxyHost* GetProxyToParent(); |
219 RenderFrameProxyHost* GetProxyToEmbedder(); | |
219 | 220 |
220 // Returns the pending RenderFrameHost, or NULL if there is no pending one. | 221 // Returns the pending RenderFrameHost, or NULL if there is no pending one. |
221 RenderFrameHostImpl* pending_frame_host() const { | 222 RenderFrameHostImpl* pending_frame_host() const { |
222 return pending_render_frame_host_.get(); | 223 return pending_render_frame_host_.get(); |
223 } | 224 } |
224 | 225 |
225 // TODO(creis): Remove this when we no longer use RVH for navigation. | 226 // TODO(creis): Remove this when we no longer use RVH for navigation. |
226 RenderViewHostImpl* pending_render_view_host() const; | 227 RenderViewHostImpl* pending_render_view_host() const; |
227 | 228 |
228 // Returns the current committed Web UI or NULL if none applies. | 229 // Returns the current committed Web UI or NULL if none applies. |
229 WebUIImpl* web_ui() const { return web_ui_.get(); } | 230 WebUIImpl* web_ui() const { return web_ui_.get(); } |
230 | 231 |
231 // Returns the Web UI for the pending navigation, or NULL of none applies. | 232 // Returns the Web UI for the pending navigation, or NULL of none applies. |
232 WebUIImpl* pending_web_ui() const { | 233 WebUIImpl* pending_web_ui() const { |
233 return pending_web_ui_.get() ? pending_web_ui_.get() : | 234 return pending_web_ui_.get() ? pending_web_ui_.get() : |
234 pending_and_current_web_ui_.get(); | 235 pending_and_current_web_ui_.get(); |
235 } | 236 } |
236 | 237 |
237 // PlzNavigate | 238 // PlzNavigate |
238 // Returns the speculative WebUI for the navigation (a newly created one or | 239 // Returns the speculative WebUI for the navigation (a newly created one or |
239 // the current one if it should be reused). If none is set returns nullptr. | 240 // the current one if it should be reused). If none is set returns nullptr. |
240 WebUIImpl* speculative_web_ui() const { | 241 WebUIImpl* speculative_web_ui() const { |
241 return should_reuse_web_ui_ ? web_ui_.get() : speculative_web_ui_.get(); | 242 return should_reuse_web_ui_ ? web_ui_.get() : speculative_web_ui_.get(); |
242 } | 243 } |
243 | 244 |
245 void set_pseudo_parent_frame_tree_node_id(int64 parent_frame_tree_node_id) { | |
246 pseudo_parent_frame_tree_node_id_ = parent_frame_tree_node_id; | |
247 } | |
248 | |
244 // Called when we want to instruct the renderer to navigate to the given | 249 // Called when we want to instruct the renderer to navigate to the given |
245 // navigation entry. It may create a new RenderFrameHost or re-use an existing | 250 // navigation entry. It may create a new RenderFrameHost or re-use an existing |
246 // one. The RenderFrameHost to navigate will be returned. Returns NULL if one | 251 // one. The RenderFrameHost to navigate will be returned. Returns NULL if one |
247 // could not be created. | 252 // could not be created. |
248 RenderFrameHostImpl* Navigate(const NavigationEntryImpl& entry); | 253 RenderFrameHostImpl* Navigate(const NavigationEntryImpl& entry); |
249 | 254 |
250 // Instructs the various live views to stop. Called when the user directed the | 255 // Instructs the various live views to stop. Called when the user directed the |
251 // page to stop loading. | 256 // page to stop loading. |
252 void Stop(); | 257 void Stop(); |
253 | 258 |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
609 // PlzNavigate: |cross_navigation_pending_| is not used for browser-side | 614 // PlzNavigate: |cross_navigation_pending_| is not used for browser-side |
610 // navigation. | 615 // navigation. |
611 bool cross_navigation_pending_; | 616 bool cross_navigation_pending_; |
612 | 617 |
613 // Implemented by the owner of this class. These delegates are installed into | 618 // Implemented by the owner of this class. These delegates are installed into |
614 // all the RenderFrameHosts that we create. | 619 // all the RenderFrameHosts that we create. |
615 RenderFrameHostDelegate* render_frame_delegate_; | 620 RenderFrameHostDelegate* render_frame_delegate_; |
616 RenderViewHostDelegate* render_view_delegate_; | 621 RenderViewHostDelegate* render_view_delegate_; |
617 RenderWidgetHostDelegate* render_widget_delegate_; | 622 RenderWidgetHostDelegate* render_widget_delegate_; |
618 | 623 |
624 int64 pseudo_parent_frame_tree_node_id_; | |
Charlie Reis
2015/03/10 04:09:44
Pseudo is not very descriptive. Do you mean embed
| |
625 | |
619 // Our RenderFrameHost and its associated Web UI (if any, will be NULL for | 626 // Our RenderFrameHost and its associated Web UI (if any, will be NULL for |
620 // non-WebUI pages). This object is responsible for all communication with | 627 // non-WebUI pages). This object is responsible for all communication with |
621 // a child RenderFrame instance. | 628 // a child RenderFrame instance. |
622 // For now, RenderFrameHost keeps a RenderViewHost in its SiteInstance alive. | 629 // For now, RenderFrameHost keeps a RenderViewHost in its SiteInstance alive. |
623 // Eventually, RenderViewHost will be replaced with a page context. | 630 // Eventually, RenderViewHost will be replaced with a page context. |
624 scoped_ptr<RenderFrameHostImpl> render_frame_host_; | 631 scoped_ptr<RenderFrameHostImpl> render_frame_host_; |
625 scoped_ptr<WebUIImpl> web_ui_; | 632 scoped_ptr<WebUIImpl> web_ui_; |
626 | 633 |
627 // A RenderFrameHost used to load a cross-site page. This remains hidden | 634 // A RenderFrameHost used to load a cross-site page. This remains hidden |
628 // while a cross-site request is pending until it calls DidNavigate. It may | 635 // while a cross-site request is pending until it calls DidNavigate. It may |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
688 bool should_reuse_web_ui_; | 695 bool should_reuse_web_ui_; |
689 | 696 |
690 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; | 697 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; |
691 | 698 |
692 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); | 699 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); |
693 }; | 700 }; |
694 | 701 |
695 } // namespace content | 702 } // namespace content |
696 | 703 |
697 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 704 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
OLD | NEW |