Index: chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc |
diff --git a/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc b/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc |
index cfa88b7309c048992a75f07789e094e8cff35c8b..7ed79663f07fc6818614c1ee8777880b9889d385 100644 |
--- a/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc |
+++ b/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc |
@@ -4,6 +4,9 @@ |
#include "chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.h" |
+#include "content/public/browser/navigation_handle.h" |
+#include "content/public/browser/render_frame_host.h" |
+#include "content/public/browser/render_process_host.h" |
#include "content/public/common/service_manager_connection.h" |
#include "services/resource_coordinator/public/cpp/resource_coordinator_features.h" |
@@ -35,3 +38,25 @@ void ResourceCoordinatorWebContentsObserver::WasHidden() { |
tab_resource_coordinator_->SendEvent( |
resource_coordinator::EventType::kOnWebContentsHidden); |
} |
+ |
+void ResourceCoordinatorWebContentsObserver::ReadyToCommitNavigation( |
+ content::NavigationHandle* navigation_handle) { |
+ auto* frame_resource_coordinator = |
+ navigation_handle->GetRenderFrameHost()->GetFrameResourceCoordinator(); |
+ tab_resource_coordinator_->AddChild(*frame_resource_coordinator); |
+ frame_resource_coordinator->SendEvent( |
+ resource_coordinator::EventType::kOnNavigationCommit); |
+} |
+ |
+void ResourceCoordinatorWebContentsObserver::DidFinishNavigation( |
+ content::NavigationHandle* navigation_handle) { |
+ content::RenderFrameHost* render_frame = |
+ navigation_handle->GetRenderFrameHost(); |
+ auto* frame_resource_coordinator = |
+ render_frame->GetFrameResourceCoordinator(); |
+ auto* process_resource_coordinator = |
+ render_frame->GetProcess()->GetProcessResourceCoordinator(); |
+ |
+ process_resource_coordinator->AddChild(*frame_resource_coordinator); |
+ tab_resource_coordinator_->AddChild(*process_resource_coordinator); |
+} |