OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 CONTENT_BROWSER_TRACING_UI_H_ | 5 #ifndef CONTENT_BROWSER_TRACING_UI_H_ |
6 #define CONTENT_BROWSER_TRACING_UI_H_ | 6 #define CONTENT_BROWSER_TRACING_UI_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" |
12 #include "content/public/browser/web_ui_controller.h" | 12 #include "content/public/browser/web_ui_controller.h" |
13 | 13 |
14 namespace content { | 14 namespace content { |
15 | 15 |
| 16 class TraceUploader; |
| 17 class TracingDelegate; |
| 18 |
16 // The C++ back-end for the chrome://tracing webui page. | 19 // The C++ back-end for the chrome://tracing webui page. |
17 class CONTENT_EXPORT TracingUI : public WebUIController { | 20 class CONTENT_EXPORT TracingUI : public WebUIController { |
18 public: | 21 public: |
19 explicit TracingUI(WebUI* web_ui); | 22 explicit TracingUI(WebUI* web_ui); |
20 ~TracingUI() override; | 23 ~TracingUI() override; |
21 void OnMonitoringStateChanged(bool is_monitoring); | 24 void OnMonitoringStateChanged(bool is_monitoring); |
22 void DoUpload(const base::ListValue* args); | 25 void DoUpload(const base::ListValue* args); |
23 void OnTraceUploadProgress(int64 current, int64 total); | 26 void OnTraceUploadProgress(int64 current, int64 total); |
24 void OnTraceUploadComplete(bool success, | 27 void OnTraceUploadComplete(bool success, const std::string& feedback); |
25 const std::string& report_id, | |
26 const std::string& error_message); | |
27 | 28 |
28 private: | 29 private: |
| 30 scoped_ptr<TracingDelegate> delegate_; |
| 31 scoped_ptr<TraceUploader> trace_uploader_; |
29 base::WeakPtrFactory<TracingUI> weak_factory_; | 32 base::WeakPtrFactory<TracingUI> weak_factory_; |
30 | 33 |
31 DISALLOW_COPY_AND_ASSIGN(TracingUI); | 34 DISALLOW_COPY_AND_ASSIGN(TracingUI); |
32 }; | 35 }; |
33 | 36 |
34 } // namespace content | 37 } // namespace content |
35 | 38 |
36 #endif // CONTENT_BROWSER_TRACING_UI_H_ | 39 #endif // CONTENT_BROWSER_TRACING_UI_H_ |
OLD | NEW |