| Index: chrome/browser/task_management/providers/web_contents/prerender_task.cc
|
| diff --git a/chrome/browser/task_management/providers/web_contents/prerender_task.cc b/chrome/browser/task_management/providers/web_contents/prerender_task.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f9fde9ad1a932a28b5c29fd45ebcce239fa8d719
|
| --- /dev/null
|
| +++ b/chrome/browser/task_management/providers/web_contents/prerender_task.cc
|
| @@ -0,0 +1,57 @@
|
| +// 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/web_contents/prerender_task.h"
|
| +
|
| +#include "chrome/grit/generated_resources.h"
|
| +#include "grit/theme_resources.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
| +#include "ui/base/resource/resource_bundle.h"
|
| +#include "ui/gfx/image/image_skia.h"
|
| +
|
| +namespace task_management {
|
| +
|
| +namespace {
|
| +
|
| +gfx::ImageSkia* g_prerender_icon = nullptr;
|
| +
|
| +// Returns the prerender icon or |nullptr| if the |ResourceBundle| is not ready
|
| +// yet.
|
| +gfx::ImageSkia* GetPrerenderIcon() {
|
| + if (g_prerender_icon)
|
| + return g_prerender_icon;
|
| +
|
| + if (!ResourceBundle::HasSharedInstance())
|
| + return nullptr;
|
| +
|
| + return ResourceBundle::GetSharedInstance().GetImageSkiaNamed(IDR_PRERENDER);
|
| +}
|
| +
|
| +base::string16 PrefixTitle(const base::string16& title) {
|
| + return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_PRERENDER_PREFIX, title);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +PrerenderTask::PrerenderTask(content::WebContents* web_contents)
|
| + : RendererTask(
|
| + PrefixTitle(RendererTask::GetTitleFromWebContents(web_contents)),
|
| + GetPrerenderIcon(),
|
| + web_contents) {
|
| +}
|
| +
|
| +PrerenderTask::~PrerenderTask() {
|
| +}
|
| +
|
| +void PrerenderTask::OnTitleChanged(content::NavigationEntry* entry) {
|
| + // As long as this task lives we keep prefixing its title with "Prerender:".
|
| + set_title(PrefixTitle(RendererTask::GetTitleFromWebContents(web_contents())));
|
| +}
|
| +
|
| +void PrerenderTask::OnFaviconChanged() {
|
| + // As long as this task lives we keep using the prerender icon, so we ignore
|
| + // this event.
|
| +}
|
| +
|
| +} // namespace task_management
|
|
|