OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 CHROME_RENDERER_LEAK_DETECTOR_LEAK_DETECTOR_REMOTE_CLIENT_H_ | 5 #ifndef CHROME_RENDERER_LEAK_DETECTOR_LEAK_DETECTOR_REMOTE_CLIENT_H_ |
6 #define CHROME_RENDERER_LEAK_DETECTOR_LEAK_DETECTOR_REMOTE_CLIENT_H_ | 6 #define CHROME_RENDERER_LEAK_DETECTOR_LEAK_DETECTOR_REMOTE_CLIENT_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "components/metrics/leak_detector/leak_detector.h" | 9 #include "components/metrics/leak_detector/leak_detector.h" |
10 #include "components/metrics/leak_detector/leak_detector.mojom.h" | 10 #include "components/metrics/leak_detector/leak_detector.mojom.h" |
| 11 #include "content/public/renderer/render_thread_observer.h" |
11 | 12 |
12 class LeakDetectorRemoteClient : public metrics::LeakDetector::Observer { | 13 class LeakDetectorRemoteClient : public content::RenderThreadObserver, |
| 14 public metrics::LeakDetector::Observer { |
13 public: | 15 public: |
14 LeakDetectorRemoteClient(); | 16 LeakDetectorRemoteClient(); |
15 ~LeakDetectorRemoteClient() override; | 17 ~LeakDetectorRemoteClient() override; |
16 | 18 |
17 // metrics::LeakDetector::Observer: | 19 // metrics::LeakDetector::Observer: |
18 void OnLeaksFound( | 20 void OnLeaksFound( |
19 const std::vector<metrics::MemoryLeakReportProto>& reports) override; | 21 const std::vector<metrics::MemoryLeakReportProto>& reports) override; |
20 | 22 |
21 private: | 23 private: |
| 24 // contents::RenderThreadObserver: |
| 25 void OnRenderProcessShutdown() override; |
| 26 |
22 // Callback for remote function LeakDetectorRemote::GetParams(). | 27 // Callback for remote function LeakDetectorRemote::GetParams(). |
23 void OnParamsReceived( | 28 void OnParamsReceived( |
24 mojo::StructPtr<metrics::mojom::LeakDetectorParams> result); | 29 mojo::StructPtr<metrics::mojom::LeakDetectorParams> result); |
25 | 30 |
26 // Handle to the remote Mojo interface. | 31 // Handle to the remote Mojo interface. |
27 metrics::mojom::LeakDetectorPtr remote_service_; | 32 metrics::mojom::LeakDetectorPtr remote_service_; |
28 | 33 |
29 DISALLOW_COPY_AND_ASSIGN(LeakDetectorRemoteClient); | 34 DISALLOW_COPY_AND_ASSIGN(LeakDetectorRemoteClient); |
30 }; | 35 }; |
31 | 36 |
32 #endif // CHROME_RENDERER_LEAK_DETECTOR_LEAK_DETECTOR_REMOTE_CLIENT_H_ | 37 #endif // CHROME_RENDERER_LEAK_DETECTOR_LEAK_DETECTOR_REMOTE_CLIENT_H_ |
OLD | NEW |