| 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 26 matching lines...) Expand all Loading... |
| 37 class RenderFrameHostImpl; | 37 class RenderFrameHostImpl; |
| 38 class RenderFrameHostManagerTest; | 38 class RenderFrameHostManagerTest; |
| 39 class RenderFrameProxyHost; | 39 class RenderFrameProxyHost; |
| 40 class RenderViewHost; | 40 class RenderViewHost; |
| 41 class RenderViewHostImpl; | 41 class RenderViewHostImpl; |
| 42 class RenderWidgetHostDelegate; | 42 class RenderWidgetHostDelegate; |
| 43 class RenderWidgetHostView; | 43 class RenderWidgetHostView; |
| 44 class TestWebContents; | 44 class TestWebContents; |
| 45 class WebUIImpl; | 45 class WebUIImpl; |
| 46 struct CommonNavigationParams; | 46 struct CommonNavigationParams; |
| 47 struct FrameReplicationState; |
| 47 | 48 |
| 48 // Manages RenderFrameHosts for a FrameTreeNode. It maintains a | 49 // Manages RenderFrameHosts for a FrameTreeNode. It maintains a |
| 49 // current_frame_host() which is the content currently visible to the user. When | 50 // current_frame_host() which is the content currently visible to the user. When |
| 50 // a frame is told to navigate to a different web site (as determined by | 51 // a frame is told to navigate to a different web site (as determined by |
| 51 // SiteInstance), it will replace its current RenderFrameHost with a new | 52 // SiteInstance), it will replace its current RenderFrameHost with a new |
| 52 // RenderFrameHost dedicated to the new SiteInstance, possibly in a new process. | 53 // RenderFrameHost dedicated to the new SiteInstance, possibly in a new process. |
| 53 // | 54 // |
| 54 // Cross-process navigation works like this: | 55 // Cross-process navigation works like this: |
| 55 // | 56 // |
| 56 // - RFHM::Navigate determines whether the destination is cross-site, and if so, | 57 // - RFHM::Navigate determines whether the destination is cross-site, and if so, |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 // corresponding to this view host. If this method is not called and the | 115 // corresponding to this view host. If this method is not called and the |
| 115 // process is not shared, then the WebContentsImpl will act as though the | 116 // process is not shared, then the WebContentsImpl will act as though the |
| 116 // renderer is not running (i.e., it will render "sad tab"). This method is | 117 // renderer is not running (i.e., it will render "sad tab"). This method is |
| 117 // automatically called from LoadURL. |for_main_frame_navigation| indicates | 118 // automatically called from LoadURL. |for_main_frame_navigation| indicates |
| 118 // whether this RenderViewHost is used to render a top-level frame, so the | 119 // whether this RenderViewHost is used to render a top-level frame, so the |
| 119 // appropriate RenderWidgetHostView type is used. | 120 // appropriate RenderWidgetHostView type is used. |
| 120 virtual bool CreateRenderViewForRenderManager( | 121 virtual bool CreateRenderViewForRenderManager( |
| 121 RenderViewHost* render_view_host, | 122 RenderViewHost* render_view_host, |
| 122 int opener_route_id, | 123 int opener_route_id, |
| 123 int proxy_routing_id, | 124 int proxy_routing_id, |
| 125 const FrameReplicationState& replicated_frame_state, |
| 124 bool for_main_frame_navigation) = 0; | 126 bool for_main_frame_navigation) = 0; |
| 125 virtual bool CreateRenderFrameForRenderManager( | 127 virtual bool CreateRenderFrameForRenderManager( |
| 126 RenderFrameHost* render_frame_host, | 128 RenderFrameHost* render_frame_host, |
| 127 int parent_routing_id, | 129 int parent_routing_id, |
| 128 int previous_sibling_routing_id, | 130 int previous_sibling_routing_id, |
| 129 int proxy_routing_id) = 0; | 131 int proxy_routing_id) = 0; |
| 130 virtual void BeforeUnloadFiredFromRenderManager( | 132 virtual void BeforeUnloadFiredFromRenderManager( |
| 131 bool proceed, const base::TimeTicks& proceed_time, | 133 bool proceed, const base::TimeTicks& proceed_time, |
| 132 bool* proceed_to_fire_unload) = 0; | 134 bool* proceed_to_fire_unload) = 0; |
| 133 virtual void RenderProcessGoneFromRenderManager( | 135 virtual void RenderProcessGoneFromRenderManager( |
| (...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 732 bool should_reuse_web_ui_; | 734 bool should_reuse_web_ui_; |
| 733 | 735 |
| 734 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; | 736 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; |
| 735 | 737 |
| 736 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); | 738 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); |
| 737 }; | 739 }; |
| 738 | 740 |
| 739 } // namespace content | 741 } // namespace content |
| 740 | 742 |
| 741 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 743 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
| OLD | NEW |