blob: bb8d38daac91e669a772e62ee230d1ac24e357f9 [file] [log] [blame]
// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/task_manager/providers/browser_process_task.h"
#include "base/byte_count.h"
#include "chrome/browser/task_manager/task_manager_observer.h"
#include "chrome/grit/generated_resources.h"
#include "chrome/grit/theme_resources.h"
#include "sql/sql_memory_dump_provider.h"
#include "ui/base/l10n/l10n_util.h"
namespace task_manager {
gfx::ImageSkia* BrowserProcessTask::s_icon_ = nullptr;
BrowserProcessTask::BrowserProcessTask()
: Task(l10n_util::GetStringUTF16(IDS_TASK_MANAGER_WEB_BROWSER_CELL_TEXT),
FetchIcon(IDR_PRODUCT_LOGO_16, &s_icon_),
base::GetCurrentProcessHandle()) {}
BrowserProcessTask::~BrowserProcessTask() = default;
bool BrowserProcessTask::IsKillable() {
// Never kill the browser process.
return false;
}
bool BrowserProcessTask::Kill() {
// Never kill the browser process.
return false;
}
void BrowserProcessTask::Refresh(const base::TimeDelta& update_interval,
int64_t refresh_flags) {
Task::Refresh(update_interval, refresh_flags);
if (refresh_flags & REFRESH_TYPE_SQLITE_MEMORY) {
used_sqlite_memory_ =
base::ByteCount(sql::SqlMemoryDumpProvider::GetMemoryUse());
}
}
Task::Type BrowserProcessTask::GetType() const {
return Task::BROWSER;
}
int BrowserProcessTask::GetChildProcessUniqueID() const {
return 0;
}
base::ByteCount BrowserProcessTask::GetSqliteMemoryUsed() const {
return used_sqlite_memory_;
}
} // namespace task_manager