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 #include <map> | 9 #include <map> |
10 | 10 |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 // transferred between renderers. | 316 // transferred between renderers. |
317 void OnCrossSiteResponse( | 317 void OnCrossSiteResponse( |
318 RenderFrameHostImpl* pending_render_frame_host, | 318 RenderFrameHostImpl* pending_render_frame_host, |
319 const GlobalRequestID& global_request_id, | 319 const GlobalRequestID& global_request_id, |
320 scoped_ptr<CrossSiteTransferringRequest> cross_site_transferring_request, | 320 scoped_ptr<CrossSiteTransferringRequest> cross_site_transferring_request, |
321 const std::vector<GURL>& transfer_url_chain, | 321 const std::vector<GURL>& transfer_url_chain, |
322 const Referrer& referrer, | 322 const Referrer& referrer, |
323 ui::PageTransition page_transition, | 323 ui::PageTransition page_transition, |
324 bool should_replace_current_entry); | 324 bool should_replace_current_entry); |
325 | 325 |
| 326 // Determines whether a navigation to |dest_url| may be completed using an |
| 327 // existing RenderFrameHost, or whether transferring to a new RenderFrameHost |
| 328 // backed by a different render process is required. This is a security policy |
| 329 // check determined by the current site isolation mode, and must be done |
| 330 // before the resource at |dest_url| is delivered to |existing_rfh|. |
| 331 // |
| 332 // |existing_rfh| must belong to this RFHM, but it can be a pending or current |
| 333 // host. |
| 334 // |
| 335 // When this function returns true for a subframe, an out-of-process iframe |
| 336 // must be created. |
| 337 bool IsRendererTransferNeededForNavigation(RenderFrameHostImpl* existing_rfh, |
| 338 const GURL& dest_url); |
| 339 |
326 // Called when a renderer's frame navigates. | 340 // Called when a renderer's frame navigates. |
327 void DidNavigateFrame(RenderFrameHostImpl* render_frame_host, | 341 void DidNavigateFrame(RenderFrameHostImpl* render_frame_host, |
328 bool was_caused_by_user_gesture); | 342 bool was_caused_by_user_gesture); |
329 | 343 |
330 // Called when this frame's opener is changed to the frame specified by | 344 // Called when this frame's opener is changed to the frame specified by |
331 // |opener_routing_id| in |source_site_instance|'s process. This change | 345 // |opener_routing_id| in |source_site_instance|'s process. This change |
332 // could come from either the current RenderFrameHost or one of the | 346 // could come from either the current RenderFrameHost or one of the |
333 // proxies (e.g., window.open that targets a RemoteFrame by name). The | 347 // proxies (e.g., window.open that targets a RemoteFrame by name). The |
334 // updated opener will be forwarded to any other RenderFrameProxies and | 348 // updated opener will be forwarded to any other RenderFrameProxies and |
335 // RenderFrames for this FrameTreeNode. | 349 // RenderFrames for this FrameTreeNode. |
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
814 bool should_reuse_web_ui_; | 828 bool should_reuse_web_ui_; |
815 | 829 |
816 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; | 830 base::WeakPtrFactory<RenderFrameHostManager> weak_factory_; |
817 | 831 |
818 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); | 832 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager); |
819 }; | 833 }; |
820 | 834 |
821 } // namespace content | 835 } // namespace content |
822 | 836 |
823 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ | 837 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_MANAGER_H_ |
OLD | NEW |