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_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 namespace blink { | 69 namespace blink { |
70 namespace mojom { | 70 namespace mojom { |
71 class WebBluetoothService; | 71 class WebBluetoothService; |
72 } | 72 } |
73 } | 73 } |
74 | 74 |
75 namespace content { | 75 namespace content { |
76 | 76 |
77 class AssociatedInterfaceProviderImpl; | 77 class AssociatedInterfaceProviderImpl; |
78 class CrossProcessFrameConnector; | 78 class CrossProcessFrameConnector; |
79 class CrossSiteTransferringRequest; | |
80 class FrameTree; | 79 class FrameTree; |
81 class FrameTreeNode; | 80 class FrameTreeNode; |
82 class NavigationHandleImpl; | 81 class NavigationHandleImpl; |
83 class PermissionServiceContext; | 82 class PermissionServiceContext; |
84 class RenderFrameHostDelegate; | 83 class RenderFrameHostDelegate; |
85 class RenderFrameProxyHost; | 84 class RenderFrameProxyHost; |
86 class RenderProcessHost; | 85 class RenderProcessHost; |
87 class RenderViewHostImpl; | 86 class RenderViewHostImpl; |
88 class RenderWidgetHostDelegate; | 87 class RenderWidgetHostDelegate; |
89 class RenderWidgetHostImpl; | 88 class RenderWidgetHostImpl; |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 // RenderFrameHost. | 337 // RenderFrameHost. |
339 void SetNavigationHandle( | 338 void SetNavigationHandle( |
340 std::unique_ptr<NavigationHandleImpl> navigation_handle); | 339 std::unique_ptr<NavigationHandleImpl> navigation_handle); |
341 | 340 |
342 // Gives the ownership of |navigation_handle_| to the caller. | 341 // Gives the ownership of |navigation_handle_| to the caller. |
343 // This happens during transfer navigations, where it should be transferred | 342 // This happens during transfer navigations, where it should be transferred |
344 // from the RenderFrameHost that issued the initial request to the new | 343 // from the RenderFrameHost that issued the initial request to the new |
345 // RenderFrameHost that will issue the transferring request. | 344 // RenderFrameHost that will issue the transferring request. |
346 std::unique_ptr<NavigationHandleImpl> PassNavigationHandleOwnership(); | 345 std::unique_ptr<NavigationHandleImpl> PassNavigationHandleOwnership(); |
347 | 346 |
348 // Called on the pending RenderFrameHost when the network response is ready to | |
349 // commit. We should ensure that the old RenderFrameHost runs its unload | |
350 // handler and determine whether a transfer to a different RenderFrameHost is | |
351 // needed. | |
352 void OnCrossSiteResponse(const GlobalRequestID& global_request_id, | |
353 std::unique_ptr<CrossSiteTransferringRequest> | |
354 cross_site_transferring_request, | |
355 const std::vector<GURL>& transfer_url_chain, | |
356 const Referrer& referrer, | |
357 ui::PageTransition page_transition, | |
358 bool should_replace_current_entry); | |
359 | |
360 // Tells the renderer that this RenderFrame is being swapped out for one in a | 347 // Tells the renderer that this RenderFrame is being swapped out for one in a |
361 // different renderer process. It should run its unload handler and move to | 348 // different renderer process. It should run its unload handler and move to |
362 // a blank document. If |proxy| is not null, it should also create a | 349 // a blank document. If |proxy| is not null, it should also create a |
363 // RenderFrameProxy to replace the RenderFrame and set it to |is_loading| | 350 // RenderFrameProxy to replace the RenderFrame and set it to |is_loading| |
364 // state. The renderer should preserve the RenderFrameProxy object until it | 351 // state. The renderer should preserve the RenderFrameProxy object until it |
365 // exits, in case we come back. The renderer can exit if it has no other | 352 // exits, in case we come back. The renderer can exit if it has no other |
366 // active RenderFrames, but not until WasSwappedOut is called. | 353 // active RenderFrames, but not until WasSwappedOut is called. |
367 void SwapOut(RenderFrameProxyHost* proxy, bool is_loading); | 354 void SwapOut(RenderFrameProxyHost* proxy, bool is_loading); |
368 | 355 |
369 // Whether an ongoing navigation is waiting for a BeforeUnload ACK from the | 356 // Whether an ongoing navigation is waiting for a BeforeUnload ACK from the |
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1066 | 1053 |
1067 // NOTE: This must be the last member. | 1054 // NOTE: This must be the last member. |
1068 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; | 1055 base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_; |
1069 | 1056 |
1070 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); | 1057 DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl); |
1071 }; | 1058 }; |
1072 | 1059 |
1073 } // namespace content | 1060 } // namespace content |
1074 | 1061 |
1075 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ | 1062 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_HOST_IMPL_H_ |
OLD | NEW |