Chromium Code Reviews| Index: chrome/browser/task_manager/task_manager_resource_providers.cc |
| diff --git a/chrome/browser/task_manager/task_manager_resource_providers.cc b/chrome/browser/task_manager/task_manager_resource_providers.cc |
| index 2b339fa7a44673dce4b14ecfe503efcf5f3e168c..be0c4d5ea4fb48a893f3f82333a6a0ef370a34df 100644 |
| --- a/chrome/browser/task_manager/task_manager_resource_providers.cc |
| +++ b/chrome/browser/task_manager/task_manager_resource_providers.cc |
| @@ -50,6 +50,24 @@ |
| #include "gfx/icon_util.h" |
| #endif // defined(OS_WIN) |
| +namespace { |
| + |
| +// Returns the appropriate message prefix ID for tabs and extensions, |
| +// reflecting whether they are apps or in incognito mode. |
| +int GetMessagePrefixID(bool is_app, bool is_extension, |
| + bool is_off_the_record) { |
| + return is_app ? |
| + (is_off_the_record ? |
| + IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX : |
| + IDS_TASK_MANAGER_APP_PREFIX) : |
| + (is_extension ? |
| + (is_off_the_record ? |
| + IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX : |
| + IDS_TASK_MANAGER_EXTENSION_PREFIX) : |
| + IDS_TASK_MANAGER_TAB_PREFIX); |
| +} |
| + |
| +} // namespace |
| //////////////////////////////////////////////////////////////////////////////// |
| // TaskManagerRendererResource class |
| @@ -131,6 +149,13 @@ TaskManagerTabContentsResource::TaskManagerTabContentsResource( |
| TaskManagerTabContentsResource::~TaskManagerTabContentsResource() { |
| } |
| +TaskManager::Resource::Type TaskManagerTabContentsResource::GetType() const { |
| + if (tab_contents_->HostsExtension()) |
|
Erik does not do reviews
2010/12/03 17:04:56
in cases like this I usually prefer:
return tab_co
Charlie Reis
2010/12/03 23:02:16
Done.
|
| + return EXTENSION; |
| + |
| + return RENDERER; |
| +} |
| + |
| std::wstring TaskManagerTabContentsResource::GetTitle() const { |
| // Fall back on the URL if there's no title. |
| std::wstring tab_title(UTF16ToWideHack(tab_contents_->GetTitle())); |
| @@ -152,10 +177,12 @@ std::wstring TaskManagerTabContentsResource::GetTitle() const { |
| base::i18n::AdjustStringForLocaleDirection(&tab_title); |
| } |
| - return l10n_util::GetStringF(IDS_TASK_MANAGER_TAB_PREFIX, tab_title); |
| + int message_id = GetMessagePrefixID(tab_contents_->IsInstalledApp(), |
| + tab_contents_->HostsExtension(), |
| + tab_contents_->profile()->IsOffTheRecord()); |
| + return l10n_util::GetStringF(message_id, tab_title); |
| } |
| - |
| SkBitmap TaskManagerTabContentsResource::GetIcon() const { |
| return tab_contents_->GetFavIcon(); |
| } |
| @@ -164,6 +191,16 @@ TabContents* TaskManagerTabContentsResource::GetTabContents() const { |
| return static_cast<TabContents*>(tab_contents_); |
| } |
| +const Extension* TaskManagerTabContentsResource::GetExtension() const { |
| + if (tab_contents_->HostsExtension()) { |
| + ExtensionsService* extensions_service = |
| + tab_contents_->profile()->GetExtensionsService(); |
| + return extensions_service->GetExtensionByURL(tab_contents_->GetURL()); |
| + } |
| + |
| + return NULL; |
| +} |
| + |
| //////////////////////////////////////////////////////////////////////////////// |
| // TaskManagerTabContentsResourceProvider class |
| //////////////////////////////////////////////////////////////////////////////// |
| @@ -267,11 +304,8 @@ void TaskManagerTabContentsResourceProvider::Add(TabContents* tab_contents) { |
| return; |
| // Don't add dead tabs or tabs that haven't yet connected. |
| - // Also ignore tabs which display extension content. We collapse |
| - // all of these into one extension row. |
| if (!tab_contents->GetRenderProcessHost()->GetHandle() || |
| - !tab_contents->notify_disconnection() || |
| - tab_contents->HostsExtension()) { |
| + !tab_contents->notify_disconnection()) { |
| return; |
| } |
| @@ -826,14 +860,8 @@ TaskManagerExtensionProcessResource::TaskManagerExtensionProcessResource( |
| std::wstring extension_name(UTF8ToWide(GetExtension()->name())); |
| DCHECK(!extension_name.empty()); |
| - int message_id = |
| - GetExtension()->is_app() ? |
| - (extension_host_->profile()->IsOffTheRecord() ? |
| - IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX : |
| - IDS_TASK_MANAGER_APP_PREFIX) : |
| - (extension_host_->profile()->IsOffTheRecord() ? |
| - IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX : |
| - IDS_TASK_MANAGER_EXTENSION_PREFIX); |
| + int message_id = GetMessagePrefixID(GetExtension()->is_app(), true, |
| + extension_host_->profile()->IsOffTheRecord()); |
| title_ = l10n_util::GetStringF(message_id, extension_name); |
| } |