Index: chrome/browser/task_management/providers/task.cc |
diff --git a/chrome/browser/task_management/providers/task.cc b/chrome/browser/task_management/providers/task.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2f3a1b982177f93391d5acdf43e5b9d190624982 |
--- /dev/null |
+++ b/chrome/browser/task_management/providers/task.cc |
@@ -0,0 +1,92 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/task_management/providers/task.h" |
+ |
+namespace task_management { |
+ |
+namespace { |
+ |
+// The last ID given to the previously created task. |
+int64 g_last_id = 0; |
+ |
+} // namespace |
+ |
+ |
+Task::Task(const base::string16& title, |
+ const gfx::ImageSkia& icon, |
+ base::ProcessHandle handle) |
+ : task_id_(g_last_id++), |
+ network_usage_(-1), |
+ current_byte_count_(-1), |
+ title_(title), |
+ icon_(icon), |
+ process_handle_(handle) { |
+} |
+ |
+Task::~Task() { |
+} |
+ |
+void Task::Refresh(const base::TimeDelta& update_interval) { |
+ // TODO(afakhry): Add code here to skip this when network usage refresh has |
+ // never been requested. |
+ |
+ if (current_byte_count_ == -1) |
+ return; |
+ |
+ network_usage_ = |
+ (current_byte_count_ * base::TimeDelta::FromSeconds(1)) / update_interval; |
+ |
+ // Reset the current byte count for this task. |
+ current_byte_count_ = 0; |
+} |
+ |
+void Task::OnNetworkBytesRead(int64 bytes_read) { |
+ if (current_byte_count_ == -1) |
+ current_byte_count_ = 0; |
+ |
+ current_byte_count_ += bytes_read; |
+} |
+ |
+base::string16 Task::GetProfileName() const { |
+ return base::string16(); |
+} |
+ |
+int Task::GetRoutingID() const { |
+ return 0; |
+} |
+ |
+bool Task::ReportsSqliteMemory() const { |
+ return GetSqliteMemoryUsed() != -1; |
+} |
+ |
+int64 Task::GetSqliteMemoryUsed() const { |
+ return -1; |
+} |
+ |
+bool Task::ReportsV8Memory() const { |
+ return GetV8MemoryAllocated() != -1; |
+} |
+ |
+int64 Task::GetV8MemoryAllocated() const { |
+ return -1; |
+} |
+ |
+int64 Task::GetV8MemoryUsed() const { |
+ return -1; |
+} |
+ |
+bool Task::ReportsWebCacheStats() const { |
+ return false; |
+} |
+ |
+blink::WebCache::ResourceTypeStats Task::GetWebCacheStats() const { |
+ return blink::WebCache::ResourceTypeStats(); |
+} |
+ |
+bool Task::ReportsNetworkUsage() const { |
+ return network_usage_ != -1; |
+} |
+ |
+} // namespace task_management |