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 <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 | 237 |
238 DISALLOW_COPY_AND_ASSIGN(RemoterFactoryImpl); | 238 DISALLOW_COPY_AND_ASSIGN(RemoterFactoryImpl); |
239 }; | 239 }; |
240 #endif // BUILDFLAG(ENABLE_MEDIA_REMOTING) | 240 #endif // BUILDFLAG(ENABLE_MEDIA_REMOTING) |
241 | 241 |
242 template <typename Interface> | 242 template <typename Interface> |
243 void IgnoreInterfaceRequest(mojo::InterfaceRequest<Interface> request) { | 243 void IgnoreInterfaceRequest(mojo::InterfaceRequest<Interface> request) { |
244 // Intentionally ignore the interface request. | 244 // Intentionally ignore the interface request. |
245 } | 245 } |
246 | 246 |
| 247 void CreateResourceCoordinatorFrameInterface( |
| 248 RenderFrameHostImpl* render_frame_host, |
| 249 resource_coordinator::mojom::CoordinationUnitRequest request) { |
| 250 render_frame_host->GetFrameResourceCoordinator()->service()->Duplicate( |
| 251 std::move(request)); |
| 252 } |
| 253 |
247 } // namespace | 254 } // namespace |
248 | 255 |
249 // static | 256 // static |
250 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, | 257 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, |
251 int render_frame_id) { | 258 int render_frame_id) { |
252 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); | 259 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); |
253 } | 260 } |
254 | 261 |
255 #if defined(OS_ANDROID) | 262 #if defined(OS_ANDROID) |
256 // static | 263 // static |
(...skipping 2085 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2342 routing_id_)); | 2349 routing_id_)); |
2343 | 2350 |
2344 #if defined(ENABLE_WEBVR) | 2351 #if defined(ENABLE_WEBVR) |
2345 GetInterfaceRegistry()->AddInterface<device::mojom::VRService>( | 2352 GetInterfaceRegistry()->AddInterface<device::mojom::VRService>( |
2346 base::Bind(&device::VRServiceImpl::Create)); | 2353 base::Bind(&device::VRServiceImpl::Create)); |
2347 #else | 2354 #else |
2348 GetInterfaceRegistry()->AddInterface<device::mojom::VRService>( | 2355 GetInterfaceRegistry()->AddInterface<device::mojom::VRService>( |
2349 base::Bind(&IgnoreInterfaceRequest<device::mojom::VRService>)); | 2356 base::Bind(&IgnoreInterfaceRequest<device::mojom::VRService>)); |
2350 #endif | 2357 #endif |
2351 | 2358 |
| 2359 GetInterfaceRegistry()->AddInterface(base::Bind( |
| 2360 &CreateResourceCoordinatorFrameInterface, base::Unretained(this))); |
| 2361 |
2352 if (base::FeatureList::IsEnabled(features::kGenericSensor)) { | 2362 if (base::FeatureList::IsEnabled(features::kGenericSensor)) { |
2353 GetInterfaceRegistry()->AddInterface( | 2363 GetInterfaceRegistry()->AddInterface( |
2354 base::Bind(&device::SensorProviderImpl::Create, | 2364 base::Bind(&device::SensorProviderImpl::Create, |
2355 BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE)), | 2365 BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE)), |
2356 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); | 2366 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); |
2357 } | 2367 } |
2358 | 2368 |
2359 #if BUILDFLAG(ENABLE_WEBRTC) | 2369 #if BUILDFLAG(ENABLE_WEBRTC) |
2360 // BrowserMainLoop::GetInstance() may be null on unit tests. | 2370 // BrowserMainLoop::GetInstance() may be null on unit tests. |
2361 if (BrowserMainLoop::GetInstance()) { | 2371 if (BrowserMainLoop::GetInstance()) { |
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2777 service_manager_connection->RemoveOnConnectHandler(on_connect_handler_id_); | 2787 service_manager_connection->RemoveOnConnectHandler(on_connect_handler_id_); |
2778 on_connect_handler_id_ = 0; | 2788 on_connect_handler_id_ = 0; |
2779 } | 2789 } |
2780 | 2790 |
2781 frame_.reset(); | 2791 frame_.reset(); |
2782 frame_host_binding_.Close(); | 2792 frame_host_binding_.Close(); |
2783 frame_bindings_control_.reset(); | 2793 frame_bindings_control_.reset(); |
2784 | 2794 |
2785 // Disconnect with ImageDownloader Mojo service in RenderFrame. | 2795 // Disconnect with ImageDownloader Mojo service in RenderFrame. |
2786 mojo_image_downloader_.reset(); | 2796 mojo_image_downloader_.reset(); |
| 2797 frame_resource_coordinator_.reset(); |
2787 } | 2798 } |
2788 | 2799 |
2789 bool RenderFrameHostImpl::IsFocused() { | 2800 bool RenderFrameHostImpl::IsFocused() { |
2790 return GetRenderWidgetHost()->is_focused() && | 2801 return GetRenderWidgetHost()->is_focused() && |
2791 frame_tree_->GetFocusedFrame() && | 2802 frame_tree_->GetFocusedFrame() && |
2792 (frame_tree_->GetFocusedFrame() == frame_tree_node() || | 2803 (frame_tree_->GetFocusedFrame() == frame_tree_node() || |
2793 frame_tree_->GetFocusedFrame()->IsDescendantOf(frame_tree_node())); | 2804 frame_tree_->GetFocusedFrame()->IsDescendantOf(frame_tree_node())); |
2794 } | 2805 } |
2795 | 2806 |
2796 bool RenderFrameHostImpl::UpdatePendingWebUI(const GURL& dest_url, | 2807 bool RenderFrameHostImpl::UpdatePendingWebUI(const GURL& dest_url, |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2883 web_ui_.reset(); | 2894 web_ui_.reset(); |
2884 } | 2895 } |
2885 | 2896 |
2886 const content::mojom::ImageDownloaderPtr& | 2897 const content::mojom::ImageDownloaderPtr& |
2887 RenderFrameHostImpl::GetMojoImageDownloader() { | 2898 RenderFrameHostImpl::GetMojoImageDownloader() { |
2888 if (!mojo_image_downloader_.get() && GetRemoteInterfaces()) | 2899 if (!mojo_image_downloader_.get() && GetRemoteInterfaces()) |
2889 GetRemoteInterfaces()->GetInterface(&mojo_image_downloader_); | 2900 GetRemoteInterfaces()->GetInterface(&mojo_image_downloader_); |
2890 return mojo_image_downloader_; | 2901 return mojo_image_downloader_; |
2891 } | 2902 } |
2892 | 2903 |
| 2904 resource_coordinator::ResourceCoordinatorInterface* |
| 2905 RenderFrameHostImpl::GetFrameResourceCoordinator() { |
| 2906 if (!frame_resource_coordinator_) { |
| 2907 frame_resource_coordinator_ = |
| 2908 base::MakeUnique<resource_coordinator::ResourceCoordinatorInterface>( |
| 2909 ServiceManagerConnection::GetForProcess()->GetConnector(), |
| 2910 resource_coordinator::mojom::IDType::FRAME); |
| 2911 } |
| 2912 |
| 2913 return frame_resource_coordinator_.get(); |
| 2914 } |
| 2915 |
2893 void RenderFrameHostImpl::ResetLoadingState() { | 2916 void RenderFrameHostImpl::ResetLoadingState() { |
2894 if (is_loading()) { | 2917 if (is_loading()) { |
2895 // When pending deletion, just set the loading state to not loading. | 2918 // When pending deletion, just set the loading state to not loading. |
2896 // Otherwise, OnDidStopLoading will take care of that, as well as sending | 2919 // Otherwise, OnDidStopLoading will take care of that, as well as sending |
2897 // notification to the FrameTreeNode about the change in loading state. | 2920 // notification to the FrameTreeNode about the change in loading state. |
2898 if (!is_active()) | 2921 if (!is_active()) |
2899 is_loading_ = false; | 2922 is_loading_ = false; |
2900 else | 2923 else |
2901 OnDidStopLoading(); | 2924 OnDidStopLoading(); |
2902 } | 2925 } |
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3461 // There is no pending NavigationEntry in these cases, so pass 0 as the | 3484 // There is no pending NavigationEntry in these cases, so pass 0 as the |
3462 // pending_nav_entry_id. If the previous handle was a prematurely aborted | 3485 // pending_nav_entry_id. If the previous handle was a prematurely aborted |
3463 // navigation loaded via LoadDataWithBaseURL, propagate the entry id. | 3486 // navigation loaded via LoadDataWithBaseURL, propagate the entry id. |
3464 return NavigationHandleImpl::Create( | 3487 return NavigationHandleImpl::Create( |
3465 params.url, params.redirects, frame_tree_node_, is_renderer_initiated, | 3488 params.url, params.redirects, frame_tree_node_, is_renderer_initiated, |
3466 params.was_within_same_page, base::TimeTicks::Now(), | 3489 params.was_within_same_page, base::TimeTicks::Now(), |
3467 entry_id_for_data_nav, false); // started_from_context_menu | 3490 entry_id_for_data_nav, false); // started_from_context_menu |
3468 } | 3491 } |
3469 | 3492 |
3470 } // namespace content | 3493 } // namespace content |
OLD | NEW |