Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Unified Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 2710823003: NOCOMMIT prototype: GRC service plumbing and process priority
Patch Set: Buildfixes Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_impl.cc
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index 64c719ca49b2d5c906fd33c22a2edd5a21ec2d69..152bbe31216741bf3a34a95a1b519a2218238365 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -244,6 +244,13 @@ void IgnoreInterfaceRequest(mojo::InterfaceRequest<Interface> request) {
// Intentionally ignore the interface request.
}
+void CreateResourceCoordinatorFrameInterface(
+ RenderFrameHostImpl* render_frame_host,
+ resource_coordinator::mojom::CoordinationUnitRequest request) {
+ render_frame_host->GetFrameResourceCoordinator()->service()->Duplicate(
+ std::move(request));
+}
+
} // namespace
// static
@@ -2349,6 +2356,9 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
base::Bind(&IgnoreInterfaceRequest<device::mojom::VRService>));
#endif
+ GetInterfaceRegistry()->AddInterface(base::Bind(
+ &CreateResourceCoordinatorFrameInterface, base::Unretained(this)));
+
if (base::FeatureList::IsEnabled(features::kGenericSensor)) {
GetInterfaceRegistry()->AddInterface(
base::Bind(&device::SensorProviderImpl::Create,
@@ -2784,6 +2794,7 @@ void RenderFrameHostImpl::InvalidateMojoConnection() {
// Disconnect with ImageDownloader Mojo service in RenderFrame.
mojo_image_downloader_.reset();
+ frame_resource_coordinator_.reset();
}
bool RenderFrameHostImpl::IsFocused() {
@@ -2890,6 +2901,18 @@ RenderFrameHostImpl::GetMojoImageDownloader() {
return mojo_image_downloader_;
}
+resource_coordinator::ResourceCoordinatorInterface*
+RenderFrameHostImpl::GetFrameResourceCoordinator() {
+ if (!frame_resource_coordinator_) {
+ frame_resource_coordinator_ =
+ base::MakeUnique<resource_coordinator::ResourceCoordinatorInterface>(
+ ServiceManagerConnection::GetForProcess()->GetConnector(),
+ resource_coordinator::mojom::IDType::FRAME);
+ }
+
+ return frame_resource_coordinator_.get();
+}
+
void RenderFrameHostImpl::ResetLoadingState() {
if (is_loading()) {
// When pending deletion, just set the loading state to not loading.

Powered by Google App Engine
This is Rietveld 408576698