| Index: chrome/renderer/leak_detector/leak_detector_remote_client.cc
|
| diff --git a/chrome/renderer/leak_detector/leak_detector_remote_client.cc b/chrome/renderer/leak_detector/leak_detector_remote_client.cc
|
| index f22f73211e76c949359fa435850a00bf6d6236ef..80e65ff8763c42775cbd2530dc800d054f972fb3 100644
|
| --- a/chrome/renderer/leak_detector/leak_detector_remote_client.cc
|
| +++ b/chrome/renderer/leak_detector/leak_detector_remote_client.cc
|
| @@ -28,17 +28,6 @@ LeakDetectorRemoteClient::~LeakDetectorRemoteClient() {
|
| metrics::LeakDetector::GetInstance()->RemoveObserver(this);
|
| }
|
|
|
| -void LeakDetectorRemoteClient::OnParamsReceived(
|
| - mojo::StructPtr<metrics::mojom::LeakDetectorParams> result) {
|
| - metrics::MemoryLeakReportProto::Params params;
|
| - metrics::leak_detector::protobuf_to_mojo_converter::MojoToParams(*result,
|
| - ¶ms);
|
| -
|
| - metrics::LeakDetector* detector = metrics::LeakDetector::GetInstance();
|
| - detector->AddObserver(this);
|
| - detector->Init(params, base::ThreadTaskRunnerHandle::Get());
|
| -}
|
| -
|
| void LeakDetectorRemoteClient::OnLeaksFound(
|
| const std::vector<metrics::MemoryLeakReportProto>& reports) {
|
| std::vector<mojo::StructPtr<metrics::mojom::MemoryLeakReport>> result;
|
| @@ -53,3 +42,20 @@ void LeakDetectorRemoteClient::OnLeaksFound(
|
|
|
| remote_service_->SendLeakReports(std::move(result));
|
| }
|
| +
|
| +void LeakDetectorRemoteClient::OnRenderProcessShutdown() {
|
| + remote_service_.reset();
|
| +}
|
| +
|
| +void LeakDetectorRemoteClient::OnParamsReceived(
|
| + mojo::StructPtr<metrics::mojom::LeakDetectorParams> result) {
|
| + metrics::MemoryLeakReportProto::Params params;
|
| + metrics::leak_detector::protobuf_to_mojo_converter::MojoToParams(*result,
|
| + ¶ms);
|
| +
|
| + if (params.sampling_rate() > 0) {
|
| + metrics::LeakDetector* detector = metrics::LeakDetector::GetInstance();
|
| + detector->AddObserver(this);
|
| + detector->Init(params, base::ThreadTaskRunnerHandle::Get());
|
| + }
|
| +}
|
|
|