OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_H_ | 5 #ifndef CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_H_ |
6 #define CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_H_ | 6 #define CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/process/process_handle.h" | 9 #include "base/process/process_handle.h" |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 PLUGIN, /* A plugin process. */ | 32 PLUGIN, /* A plugin process. */ |
33 WORKER, /* A web worker process. */ | 33 WORKER, /* A web worker process. */ |
34 NACL, /* A NativeClient loader or broker process. */ | 34 NACL, /* A NativeClient loader or broker process. */ |
35 UTILITY, /* A browser utility process. */ | 35 UTILITY, /* A browser utility process. */ |
36 ZYGOTE, /* A Linux zygote process. */ | 36 ZYGOTE, /* A Linux zygote process. */ |
37 SANDBOX_HELPER, /* A sandbox helper process. */ | 37 SANDBOX_HELPER, /* A sandbox helper process. */ |
38 GPU, /* A graphics process. */ | 38 GPU, /* A graphics process. */ |
39 }; | 39 }; |
40 | 40 |
41 // Create a task with the given |title| and the given favicon |icon|. This | 41 // Create a task with the given |title| and the given favicon |icon|. This |
42 // task runs on a process whose handle is |handle|. | 42 // task runs on a process whose handle is |handle|. |rappor_sample| is the |
| 43 // name of the sample to be recorded if this task needs to be reported by |
| 44 // Rappor. |
43 Task(const base::string16& title, | 45 Task(const base::string16& title, |
| 46 const std::string& rappor_sample, |
44 const gfx::ImageSkia* icon, | 47 const gfx::ImageSkia* icon, |
45 base::ProcessHandle handle); | 48 base::ProcessHandle handle); |
46 virtual ~Task(); | 49 virtual ~Task(); |
47 | 50 |
48 // Gets the name of the given |profile| from the ProfileInfoCache. | 51 // Gets the name of the given |profile| from the ProfileInfoCache. |
49 static base::string16 GetProfileNameFromProfile(Profile* profile); | 52 static base::string16 GetProfileNameFromProfile(Profile* profile); |
50 | 53 |
51 // Activates this TaskManager's task by bringing its container to the front | 54 // Activates this TaskManager's task by bringing its container to the front |
52 // (if possible). | 55 // (if possible). |
53 virtual void Activate(); | 56 virtual void Activate(); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 // them if it does. | 97 // them if it does. |
95 virtual bool ReportsWebCacheStats() const; | 98 virtual bool ReportsWebCacheStats() const; |
96 virtual blink::WebCache::ResourceTypeStats GetWebCacheStats() const; | 99 virtual blink::WebCache::ResourceTypeStats GetWebCacheStats() const; |
97 | 100 |
98 // Checking whether the task reports network usage. | 101 // Checking whether the task reports network usage. |
99 bool ReportsNetworkUsage() const; | 102 bool ReportsNetworkUsage() const; |
100 | 103 |
101 int64 task_id() const { return task_id_; } | 104 int64 task_id() const { return task_id_; } |
102 int64 network_usage() const { return network_usage_; } | 105 int64 network_usage() const { return network_usage_; } |
103 const base::string16& title() const { return title_; } | 106 const base::string16& title() const { return title_; } |
| 107 const std::string& rappor_sample_name() const { return rappor_sample_name_; } |
104 const gfx::ImageSkia& icon() const { return icon_; } | 108 const gfx::ImageSkia& icon() const { return icon_; } |
105 const base::ProcessHandle& process_handle() const { return process_handle_; } | 109 const base::ProcessHandle& process_handle() const { return process_handle_; } |
106 const base::ProcessId& process_id() const { return process_id_; } | 110 const base::ProcessId& process_id() const { return process_id_; } |
107 | 111 |
108 protected: | 112 protected: |
109 void set_title(const base::string16& new_title) { title_ = new_title; } | 113 void set_title(const base::string16& new_title) { title_ = new_title; } |
| 114 void set_rappor_sample_name(const std::string& sample) { |
| 115 rappor_sample_name_ = sample; |
| 116 } |
110 void set_icon(const gfx::ImageSkia& new_icon) { icon_ = new_icon; } | 117 void set_icon(const gfx::ImageSkia& new_icon) { icon_ = new_icon; } |
111 | 118 |
112 private: | 119 private: |
113 // The unique ID of this task. | 120 // The unique ID of this task. |
114 const int64 task_id_; | 121 const int64 task_id_; |
115 | 122 |
116 // The task's network usage in the current refresh cycle measured in bytes per | 123 // The task's network usage in the current refresh cycle measured in bytes per |
117 // second. A value of -1 means this task doesn't report network usage data. | 124 // second. A value of -1 means this task doesn't report network usage data. |
118 int64 network_usage_; | 125 int64 network_usage_; |
119 | 126 |
120 // The current network bytes received by this task during the current refresh | 127 // The current network bytes received by this task during the current refresh |
121 // cycle. A value of -1 means this task has never been notified of any network | 128 // cycle. A value of -1 means this task has never been notified of any network |
122 // usage. | 129 // usage. |
123 int64 current_byte_count_; | 130 int64 current_byte_count_; |
124 | 131 |
125 // The title of the task. | 132 // The title of the task. |
126 base::string16 title_; | 133 base::string16 title_; |
127 | 134 |
| 135 // The name of the sample representing this task when a Rappor sample needs to |
| 136 // be recorded for it. |
| 137 std::string rappor_sample_name_; |
| 138 |
128 // The favicon. | 139 // The favicon. |
129 gfx::ImageSkia icon_; | 140 gfx::ImageSkia icon_; |
130 | 141 |
131 // The handle of the process on which this task is running. | 142 // The handle of the process on which this task is running. |
132 const base::ProcessHandle process_handle_; | 143 const base::ProcessHandle process_handle_; |
133 | 144 |
134 // The PID of the process on which this task is running. | 145 // The PID of the process on which this task is running. |
135 const base::ProcessId process_id_; | 146 const base::ProcessId process_id_; |
136 | 147 |
137 DISALLOW_COPY_AND_ASSIGN(Task); | 148 DISALLOW_COPY_AND_ASSIGN(Task); |
138 }; | 149 }; |
139 | 150 |
140 } // namespace task_management | 151 } // namespace task_management |
141 | 152 |
142 #endif // CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_H_ | 153 #endif // CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_H_ |
OLD | NEW |