diff options
-rw-r--r-- | chrome/browser/task_manager/background_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_background_resource_provider.cc) | 65 | ||||
-rw-r--r-- | chrome/browser/task_manager/background_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_background_resource_provider.h) | 23 | ||||
-rw-r--r-- | chrome/browser/task_manager/browser_process_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_browser_process_resource_provider.cc) | 55 | ||||
-rw-r--r-- | chrome/browser/task_manager/browser_process_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_browser_process_resource_provider.h) | 28 | ||||
-rw-r--r-- | chrome/browser/task_manager/child_process_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_child_process_resource_provider.cc) | 84 | ||||
-rw-r--r-- | chrome/browser/task_manager/child_process_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_child_process_resource_provider.h) | 26 | ||||
-rw-r--r-- | chrome/browser/task_manager/extension_process_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_extension_process_resource_provider.cc) | 86 | ||||
-rw-r--r-- | chrome/browser/task_manager/extension_process_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_extension_process_resource_provider.h) | 27 | ||||
-rw-r--r-- | chrome/browser/task_manager/guest_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_guest_resource_provider.cc) | 66 | ||||
-rw-r--r-- | chrome/browser/task_manager/guest_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_guest_resource_provider.h) | 28 | ||||
-rw-r--r-- | chrome/browser/task_manager/notification_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_notification_resource_provider.cc) | 75 | ||||
-rw-r--r-- | chrome/browser/task_manager/notification_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_notification_resource_provider.h) | 29 | ||||
-rw-r--r-- | chrome/browser/task_manager/os_resource_win.cc (renamed from chrome/browser/task_manager/task_manager_os_resources_win.cc) | 6 | ||||
-rw-r--r-- | chrome/browser/task_manager/os_resource_win.h (renamed from chrome/browser/task_manager/task_manager_os_resources_win.h) | 10 | ||||
-rw-r--r-- | chrome/browser/task_manager/panel_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_panel_resource_provider.cc) | 64 | ||||
-rw-r--r-- | chrome/browser/task_manager/panel_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_panel_resource_provider.h) | 26 | ||||
-rw-r--r-- | chrome/browser/task_manager/renderer_resource.cc (renamed from chrome/browser/task_manager/task_manager_render_resource.cc) | 53 | ||||
-rw-r--r-- | chrome/browser/task_manager/renderer_resource.h (renamed from chrome/browser/task_manager/task_manager_render_resource.h) | 20 | ||||
-rw-r--r-- | chrome/browser/task_manager/tab_contents_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_tab_contents_resource_provider.cc) | 91 | ||||
-rw-r--r-- | chrome/browser/task_manager/tab_contents_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_tab_contents_resource_provider.h) | 26 | ||||
-rw-r--r-- | chrome/browser/task_manager/task_manager.cc | 76 | ||||
-rw-r--r-- | chrome/browser/task_manager/task_manager_resource_util.h | 38 | ||||
-rw-r--r-- | chrome/browser/task_manager/task_manager_util.cc (renamed from chrome/browser/task_manager/task_manager_resource_util.cc) | 28 | ||||
-rw-r--r-- | chrome/browser/task_manager/task_manager_util.h | 40 | ||||
-rw-r--r-- | chrome/browser/task_manager/worker_resource_provider.cc (renamed from chrome/browser/task_manager/task_manager_worker_resource_provider.cc) | 112 | ||||
-rw-r--r-- | chrome/browser/task_manager/worker_resource_provider.h (renamed from chrome/browser/task_manager/task_manager_worker_resource_provider.h) | 26 | ||||
-rw-r--r-- | chrome/chrome_browser.gypi | 46 |
27 files changed, 668 insertions, 586 deletions
diff --git a/chrome/browser/task_manager/task_manager_background_resource_provider.cc b/chrome/browser/task_manager/background_resource_provider.cc index 6c95b90..635ea7a 100644 --- a/chrome/browser/task_manager/task_manager_background_resource_provider.cc +++ b/chrome/browser/task_manager/background_resource_provider.cc @@ -2,7 +2,7 @@ // 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/task_manager_background_resource_provider.h" +#include "chrome/browser/task_manager/background_resource_provider.h" #include "base/i18n/rtl.h" #include "base/string16.h" @@ -14,7 +14,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/tab_contents/background_contents.h" -#include "chrome/browser/task_manager/task_manager_render_resource.h" +#include "chrome/browser/task_manager/renderer_resource.h" #include "chrome/common/chrome_notification_types.h" #include "chrome/common/extensions/extension.h" #include "content/public/browser/notification_service.h" @@ -32,13 +32,14 @@ using content::RenderViewHost; using content::WebContents; using extensions::Extension; -class TaskManagerBackgroundContentsResource - : public TaskManagerRendererResource { +namespace task_manager { + +class BackgroundContentsResource : public RendererResource { public: - TaskManagerBackgroundContentsResource( + BackgroundContentsResource( BackgroundContents* background_contents, const string16& application_name); - virtual ~TaskManagerBackgroundContentsResource(); + virtual ~BackgroundContentsResource(); // TaskManager::Resource methods: virtual string16 GetTitle() const OVERRIDE; @@ -57,18 +58,18 @@ class TaskManagerBackgroundContentsResource // BackgroundContents. static gfx::ImageSkia* default_icon_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerBackgroundContentsResource); + DISALLOW_COPY_AND_ASSIGN(BackgroundContentsResource); }; -gfx::ImageSkia* TaskManagerBackgroundContentsResource::default_icon_ = NULL; +gfx::ImageSkia* BackgroundContentsResource::default_icon_ = NULL; // TODO(atwilson): http://crbug.com/116893 // HACK: if the process handle is invalid, we use the current process's handle. // This preserves old behavior but is incorrect, and should be fixed. -TaskManagerBackgroundContentsResource::TaskManagerBackgroundContentsResource( +BackgroundContentsResource::BackgroundContentsResource( BackgroundContents* background_contents, const string16& application_name) - : TaskManagerRendererResource( + : RendererResource( background_contents->web_contents()->GetRenderProcessHost()-> GetHandle() ? background_contents->web_contents()->GetRenderProcessHost()-> @@ -88,11 +89,10 @@ TaskManagerBackgroundContentsResource::TaskManagerBackgroundContentsResource( base::i18n::AdjustStringForLocaleDirection(&application_name_); } -TaskManagerBackgroundContentsResource::~TaskManagerBackgroundContentsResource( - ) { +BackgroundContentsResource::~BackgroundContentsResource() { } -string16 TaskManagerBackgroundContentsResource::GetTitle() const { +string16 BackgroundContentsResource::GetTitle() const { string16 title = application_name_; if (title.empty()) { @@ -104,34 +104,32 @@ string16 TaskManagerBackgroundContentsResource::GetTitle() const { return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_BACKGROUND_PREFIX, title); } -string16 TaskManagerBackgroundContentsResource::GetProfileName() const { +string16 BackgroundContentsResource::GetProfileName() const { return string16(); } -gfx::ImageSkia TaskManagerBackgroundContentsResource::GetIcon() const { +gfx::ImageSkia BackgroundContentsResource::GetIcon() const { return *default_icon_; } -bool TaskManagerBackgroundContentsResource::IsBackground() const { +bool BackgroundContentsResource::IsBackground() const { return true; } //////////////////////////////////////////////////////////////////////////////// -// TaskManagerBackgroundContentsResourceProvider class +// BackgroundContentsResourceProvider class //////////////////////////////////////////////////////////////////////////////// -TaskManagerBackgroundContentsResourceProvider:: - TaskManagerBackgroundContentsResourceProvider(TaskManager* task_manager) +BackgroundContentsResourceProvider:: + BackgroundContentsResourceProvider(TaskManager* task_manager) : updating_(false), task_manager_(task_manager) { } -TaskManagerBackgroundContentsResourceProvider:: - ~TaskManagerBackgroundContentsResourceProvider() { +BackgroundContentsResourceProvider::~BackgroundContentsResourceProvider() { } -TaskManager::Resource* -TaskManagerBackgroundContentsResourceProvider::GetResource( +TaskManager::Resource* BackgroundContentsResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { @@ -153,7 +151,7 @@ TaskManagerBackgroundContentsResourceProvider::GetResource( return NULL; } -void TaskManagerBackgroundContentsResourceProvider::StartUpdating() { +void BackgroundContentsResourceProvider::StartUpdating() { DCHECK(!updating_); updating_ = true; @@ -198,7 +196,7 @@ void TaskManagerBackgroundContentsResourceProvider::StartUpdating() { content::NotificationService::AllBrowserContextsAndSources()); } -void TaskManagerBackgroundContentsResourceProvider::StopUpdating() { +void BackgroundContentsResourceProvider::StopUpdating() { DCHECK(updating_); updating_ = false; @@ -219,17 +217,17 @@ void TaskManagerBackgroundContentsResourceProvider::StopUpdating() { resources_.clear(); } -void TaskManagerBackgroundContentsResourceProvider::AddToTaskManager( +void BackgroundContentsResourceProvider::AddToTaskManager( BackgroundContents* background_contents, const string16& application_name) { - TaskManagerBackgroundContentsResource* resource = - new TaskManagerBackgroundContentsResource(background_contents, + BackgroundContentsResource* resource = + new BackgroundContentsResource(background_contents, application_name); resources_[background_contents] = resource; task_manager_->AddResource(resource); } -void TaskManagerBackgroundContentsResourceProvider::Add( +void BackgroundContentsResourceProvider::Add( BackgroundContents* contents, const string16& application_name) { if (!updating_) return; @@ -243,15 +241,14 @@ void TaskManagerBackgroundContentsResourceProvider::Add( AddToTaskManager(contents, application_name); } -void TaskManagerBackgroundContentsResourceProvider::Remove( - BackgroundContents* contents) { +void BackgroundContentsResourceProvider::Remove(BackgroundContents* contents) { if (!updating_) return; Resources::iterator iter = resources_.find(contents); DCHECK(iter != resources_.end()); // Remove the resource from the Task Manager. - TaskManagerBackgroundContentsResource* resource = iter->second; + BackgroundContentsResource* resource = iter->second; task_manager_->RemoveResource(resource); // And from the provider. resources_.erase(iter); @@ -259,7 +256,7 @@ void TaskManagerBackgroundContentsResourceProvider::Remove( delete resource; } -void TaskManagerBackgroundContentsResourceProvider::Observe( +void BackgroundContentsResourceProvider::Observe( int type, const content::NotificationSource& source, const content::NotificationDetails& details) { @@ -313,3 +310,5 @@ void TaskManagerBackgroundContentsResourceProvider::Observe( return; } } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_background_resource_provider.h b/chrome/browser/task_manager/background_resource_provider.h index f764c69..ecc3c40 100644 --- a/chrome/browser/task_manager/task_manager_background_resource_provider.h +++ b/chrome/browser/task_manager/background_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BACKGROUND_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BACKGROUND_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_BACKGROUND_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_BACKGROUND_RESOURCE_PROVIDER_H_ #include <map> @@ -14,13 +14,16 @@ #include "content/public/browser/notification_registrar.h" class BackgroundContents; -class TaskManagerBackgroundContentsResource; -class TaskManagerBackgroundContentsResourceProvider +namespace task_manager { + +class BackgroundContentsResource; + +class BackgroundContentsResourceProvider : public TaskManager::ResourceProvider, public content::NotificationObserver { public: - explicit TaskManagerBackgroundContentsResourceProvider( + explicit BackgroundContentsResourceProvider( TaskManager* task_manager); virtual TaskManager::Resource* GetResource(int origin_pid, @@ -35,7 +38,7 @@ class TaskManagerBackgroundContentsResourceProvider const content::NotificationDetails& details) OVERRIDE; private: - virtual ~TaskManagerBackgroundContentsResourceProvider(); + virtual ~BackgroundContentsResourceProvider(); void Add(BackgroundContents* background_contents, const string16& title); void Remove(BackgroundContents* background_contents); @@ -51,14 +54,16 @@ class TaskManagerBackgroundContentsResourceProvider // Maps the actual resources (the BackgroundContents) to the Task Manager // resources. - typedef std::map<BackgroundContents*, TaskManagerBackgroundContentsResource*> + typedef std::map<BackgroundContents*, BackgroundContentsResource*> Resources; Resources resources_; // A scoped container for notification registries. content::NotificationRegistrar registrar_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerBackgroundContentsResourceProvider); + DISALLOW_COPY_AND_ASSIGN(BackgroundContentsResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BACKGROUND_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_BACKGROUND_RESOURCE_PROVIDER_H_ diff --git a/chrome/browser/task_manager/task_manager_browser_process_resource_provider.cc b/chrome/browser/task_manager/browser_process_resource_provider.cc index 8b123cc..cb12290 100644 --- a/chrome/browser/task_manager/task_manager_browser_process_resource_provider.cc +++ b/chrome/browser/task_manager/browser_process_resource_provider.cc @@ -2,7 +2,7 @@ // 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/task_manager_browser_process_resource_provider.h" +#include "chrome/browser/task_manager/browser_process_resource_provider.h" #include "base/command_line.h" #include "base/string16.h" @@ -24,13 +24,11 @@ #include "ui/gfx/icon_util.h" #endif // defined(OS_WIN) -//////////////////////////////////////////////////////////////////////////////// -// TaskManagerBrowserProcessResource class -//////////////////////////////////////////////////////////////////////////////// +namespace task_manager { -gfx::ImageSkia* TaskManagerBrowserProcessResource::default_icon_ = NULL; +gfx::ImageSkia* BrowserProcessResource::default_icon_ = NULL; -TaskManagerBrowserProcessResource::TaskManagerBrowserProcessResource() +BrowserProcessResource::BrowserProcessResource() : title_() { int pid = base::GetCurrentProcId(); bool success = base::OpenPrivilegedProcessHandle(pid, &process_); @@ -63,56 +61,56 @@ TaskManagerBrowserProcessResource::TaskManagerBrowserProcessResource() default_icon_->MakeThreadSafe(); } -TaskManagerBrowserProcessResource::~TaskManagerBrowserProcessResource() { +BrowserProcessResource::~BrowserProcessResource() { base::CloseProcessHandle(process_); } // TaskManagerResource methods: -string16 TaskManagerBrowserProcessResource::GetTitle() const { +string16 BrowserProcessResource::GetTitle() const { if (title_.empty()) { title_ = l10n_util::GetStringUTF16(IDS_TASK_MANAGER_WEB_BROWSER_CELL_TEXT); } return title_; } -string16 TaskManagerBrowserProcessResource::GetProfileName() const { +string16 BrowserProcessResource::GetProfileName() const { return string16(); } -gfx::ImageSkia TaskManagerBrowserProcessResource::GetIcon() const { +gfx::ImageSkia BrowserProcessResource::GetIcon() const { return *default_icon_; } -size_t TaskManagerBrowserProcessResource::SqliteMemoryUsedBytes() const { +size_t BrowserProcessResource::SqliteMemoryUsedBytes() const { return static_cast<size_t>(sqlite3_memory_used()); } -base::ProcessHandle TaskManagerBrowserProcessResource::GetProcess() const { +base::ProcessHandle BrowserProcessResource::GetProcess() const { return base::GetCurrentProcessHandle(); // process_; } -int TaskManagerBrowserProcessResource::GetUniqueChildProcessId() const { +int BrowserProcessResource::GetUniqueChildProcessId() const { return 0; } -TaskManager::Resource::Type TaskManagerBrowserProcessResource::GetType() const { +TaskManager::Resource::Type BrowserProcessResource::GetType() const { return BROWSER; } -bool TaskManagerBrowserProcessResource::SupportNetworkUsage() const { +bool BrowserProcessResource::SupportNetworkUsage() const { return true; } -void TaskManagerBrowserProcessResource::SetSupportNetworkUsage() { +void BrowserProcessResource::SetSupportNetworkUsage() { NOTREACHED(); } -bool TaskManagerBrowserProcessResource::ReportsSqliteMemoryUsed() const { +bool BrowserProcessResource::ReportsSqliteMemoryUsed() const { return true; } // BrowserProcess uses v8 for proxy resolver in certain cases. -bool TaskManagerBrowserProcessResource::ReportsV8MemoryStats() const { +bool BrowserProcessResource::ReportsV8MemoryStats() const { const CommandLine* command_line = CommandLine::ForCurrentProcess(); bool using_v8 = !command_line->HasSwitch(switches::kWinHttpProxyResolver); if (using_v8 && command_line->HasSwitch(switches::kSingleProcess)) { @@ -121,29 +119,28 @@ bool TaskManagerBrowserProcessResource::ReportsV8MemoryStats() const { return using_v8; } -size_t TaskManagerBrowserProcessResource::GetV8MemoryAllocated() const { +size_t BrowserProcessResource::GetV8MemoryAllocated() const { return net::ProxyResolverV8::GetTotalHeapSize(); } -size_t TaskManagerBrowserProcessResource::GetV8MemoryUsed() const { +size_t BrowserProcessResource::GetV8MemoryUsed() const { return net::ProxyResolverV8::GetUsedHeapSize(); } //////////////////////////////////////////////////////////////////////////////// -// TaskManagerBrowserProcessResourceProvider class +// BrowserProcessResourceProvider class //////////////////////////////////////////////////////////////////////////////// -TaskManagerBrowserProcessResourceProvider:: - TaskManagerBrowserProcessResourceProvider(TaskManager* task_manager) +BrowserProcessResourceProvider:: + BrowserProcessResourceProvider(TaskManager* task_manager) : updating_(false), task_manager_(task_manager) { } -TaskManagerBrowserProcessResourceProvider:: - ~TaskManagerBrowserProcessResourceProvider() { +BrowserProcessResourceProvider::~BrowserProcessResourceProvider() { } -TaskManager::Resource* TaskManagerBrowserProcessResourceProvider::GetResource( +TaskManager::Resource* BrowserProcessResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { @@ -154,9 +151,11 @@ TaskManager::Resource* TaskManagerBrowserProcessResourceProvider::GetResource( return &resource_; } -void TaskManagerBrowserProcessResourceProvider::StartUpdating() { +void BrowserProcessResourceProvider::StartUpdating() { task_manager_->AddResource(&resource_); } -void TaskManagerBrowserProcessResourceProvider::StopUpdating() { +void BrowserProcessResourceProvider::StopUpdating() { } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_browser_process_resource_provider.h b/chrome/browser/task_manager/browser_process_resource_provider.h index 45f03fb..5ec10ca 100644 --- a/chrome/browser/task_manager/task_manager_browser_process_resource_provider.h +++ b/chrome/browser/task_manager/browser_process_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BROWSER_PROCESS_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BROWSER_PROCESS_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_BROWSER_PROCESS_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_BROWSER_PROCESS_RESOURCE_PROVIDER_H_ #include "base/basictypes.h" #include "base/compiler_specific.h" @@ -25,10 +25,12 @@ namespace extensions { class Extension; } -class TaskManagerBrowserProcessResource : public TaskManager::Resource { +namespace task_manager { + +class BrowserProcessResource : public TaskManager::Resource { public: - TaskManagerBrowserProcessResource(); - virtual ~TaskManagerBrowserProcessResource(); + BrowserProcessResource(); + virtual ~BrowserProcessResource(); // TaskManager::Resource methods: virtual string16 GetTitle() const OVERRIDE; @@ -54,13 +56,13 @@ class TaskManagerBrowserProcessResource : public TaskManager::Resource { static gfx::ImageSkia* default_icon_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerBrowserProcessResource); + DISALLOW_COPY_AND_ASSIGN(BrowserProcessResource); }; -class TaskManagerBrowserProcessResourceProvider +class BrowserProcessResourceProvider : public TaskManager::ResourceProvider { public: - explicit TaskManagerBrowserProcessResourceProvider( + explicit BrowserProcessResourceProvider( TaskManager* task_manager); virtual TaskManager::Resource* GetResource(int origin_pid, @@ -74,12 +76,14 @@ class TaskManagerBrowserProcessResourceProvider bool updating_; private: - virtual ~TaskManagerBrowserProcessResourceProvider(); + virtual ~BrowserProcessResourceProvider(); TaskManager* task_manager_; - TaskManagerBrowserProcessResource resource_; + BrowserProcessResource resource_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerBrowserProcessResourceProvider); + DISALLOW_COPY_AND_ASSIGN(BrowserProcessResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_BROWSER_PROCESS_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_BROWSER_PROCESS_RESOURCE_PROVIDER_H_ diff --git a/chrome/browser/task_manager/task_manager_child_process_resource_provider.cc b/chrome/browser/task_manager/child_process_resource_provider.cc index 51b9789..92d52b0 100644 --- a/chrome/browser/task_manager/task_manager_child_process_resource_provider.cc +++ b/chrome/browser/task_manager/child_process_resource_provider.cc @@ -2,7 +2,7 @@ // 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/task_manager_child_process_resource_provider.h" +#include "chrome/browser/task_manager/child_process_resource_provider.h" #include <vector> @@ -24,13 +24,15 @@ using content::BrowserChildProcessHostIterator; using content::BrowserThread; using content::WebContents; -class TaskManagerChildProcessResource : public TaskManager::Resource { +namespace task_manager { + +class ChildProcessResource : public TaskManager::Resource { public: - TaskManagerChildProcessResource(int process_type, - const string16& name, - base::ProcessHandle handle, - int unique_process_id); - virtual ~TaskManagerChildProcessResource(); + ChildProcessResource(int process_type, + const string16& name, + base::ProcessHandle handle, + int unique_process_id); + virtual ~ChildProcessResource(); // TaskManager::Resource methods: virtual string16 GetTitle() const OVERRIDE; @@ -63,12 +65,12 @@ class TaskManagerChildProcessResource : public TaskManager::Resource { // plugins. static gfx::ImageSkia* default_icon_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerChildProcessResource); + DISALLOW_COPY_AND_ASSIGN(ChildProcessResource); }; -gfx::ImageSkia* TaskManagerChildProcessResource::default_icon_ = NULL; +gfx::ImageSkia* ChildProcessResource::default_icon_ = NULL; -TaskManagerChildProcessResource::TaskManagerChildProcessResource( +ChildProcessResource::ChildProcessResource( int process_type, const string16& name, base::ProcessHandle handle, @@ -88,34 +90,34 @@ TaskManagerChildProcessResource::TaskManagerChildProcessResource( } } -TaskManagerChildProcessResource::~TaskManagerChildProcessResource() { +ChildProcessResource::~ChildProcessResource() { } // TaskManagerResource methods: -string16 TaskManagerChildProcessResource::GetTitle() const { +string16 ChildProcessResource::GetTitle() const { if (title_.empty()) title_ = GetLocalizedTitle(); return title_; } -string16 TaskManagerChildProcessResource::GetProfileName() const { +string16 ChildProcessResource::GetProfileName() const { return string16(); } -gfx::ImageSkia TaskManagerChildProcessResource::GetIcon() const { +gfx::ImageSkia ChildProcessResource::GetIcon() const { return *default_icon_; } -base::ProcessHandle TaskManagerChildProcessResource::GetProcess() const { +base::ProcessHandle ChildProcessResource::GetProcess() const { return handle_; } -int TaskManagerChildProcessResource::GetUniqueChildProcessId() const { +int ChildProcessResource::GetUniqueChildProcessId() const { return unique_process_id_; } -TaskManager::Resource::Type TaskManagerChildProcessResource::GetType() const { +TaskManager::Resource::Type ChildProcessResource::GetType() const { // Translate types to TaskManager::ResourceType, since ChildProcessData's type // is not available for all TaskManager resources. switch (process_type_) { @@ -141,15 +143,15 @@ TaskManager::Resource::Type TaskManagerChildProcessResource::GetType() const { } } -bool TaskManagerChildProcessResource::SupportNetworkUsage() const { +bool ChildProcessResource::SupportNetworkUsage() const { return network_usage_support_; } -void TaskManagerChildProcessResource::SetSupportNetworkUsage() { +void ChildProcessResource::SetSupportNetworkUsage() { network_usage_support_ = true; } -string16 TaskManagerChildProcessResource::GetLocalizedTitle() const { +string16 ChildProcessResource::GetLocalizedTitle() const { string16 title = name_; if (title.empty()) { switch (process_type_) { @@ -207,20 +209,19 @@ string16 TaskManagerChildProcessResource::GetLocalizedTitle() const { } //////////////////////////////////////////////////////////////////////////////// -// TaskManagerChildProcessResourceProvider class +// ChildProcessResourceProvider class //////////////////////////////////////////////////////////////////////////////// -TaskManagerChildProcessResourceProvider:: - TaskManagerChildProcessResourceProvider(TaskManager* task_manager) +ChildProcessResourceProvider:: + ChildProcessResourceProvider(TaskManager* task_manager) : task_manager_(task_manager), updating_(false) { } -TaskManagerChildProcessResourceProvider:: - ~TaskManagerChildProcessResourceProvider() { +ChildProcessResourceProvider::~ChildProcessResourceProvider() { } -TaskManager::Resource* TaskManagerChildProcessResourceProvider::GetResource( +TaskManager::Resource* ChildProcessResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { @@ -231,7 +232,7 @@ TaskManager::Resource* TaskManagerChildProcessResourceProvider::GetResource( return NULL; } -void TaskManagerChildProcessResourceProvider::StartUpdating() { +void ChildProcessResourceProvider::StartUpdating() { DCHECK(!updating_); updating_ = true; @@ -239,13 +240,13 @@ void TaskManagerChildProcessResourceProvider::StartUpdating() { BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::Bind( - &TaskManagerChildProcessResourceProvider::RetrieveChildProcessData, + &ChildProcessResourceProvider::RetrieveChildProcessData, this)); BrowserChildProcessObserver::Add(this); } -void TaskManagerChildProcessResourceProvider::StopUpdating() { +void ChildProcessResourceProvider::StopUpdating() { DCHECK(updating_); updating_ = false; @@ -258,7 +259,7 @@ void TaskManagerChildProcessResourceProvider::StopUpdating() { BrowserChildProcessObserver::Remove(this); } -void TaskManagerChildProcessResourceProvider::BrowserChildProcessHostConnected( +void ChildProcessResourceProvider::BrowserChildProcessHostConnected( const content::ChildProcessData& data) { DCHECK(updating_); @@ -275,8 +276,9 @@ void TaskManagerChildProcessResourceProvider::BrowserChildProcessHostConnected( AddToTaskManager(data); } -void TaskManagerChildProcessResourceProvider:: -BrowserChildProcessHostDisconnected(const content::ChildProcessData& data) { +void ChildProcessResourceProvider:: + BrowserChildProcessHostDisconnected( + const content::ChildProcessData& data) { DCHECK(updating_); if (data.process_type == content::PROCESS_TYPE_WORKER) @@ -289,7 +291,7 @@ BrowserChildProcessHostDisconnected(const content::ChildProcessData& data) { return; } // Remove the resource from the Task Manager. - TaskManagerChildProcessResource* resource = iter->second; + ChildProcessResource* resource = iter->second; task_manager_->RemoveResource(resource); // Remove it from the provider. resources_.erase(iter); @@ -304,10 +306,10 @@ BrowserChildProcessHostDisconnected(const content::ChildProcessData& data) { delete resource; } -void TaskManagerChildProcessResourceProvider::AddToTaskManager( +void ChildProcessResourceProvider::AddToTaskManager( const content::ChildProcessData& child_process_data) { - TaskManagerChildProcessResource* resource = - new TaskManagerChildProcessResource( + ChildProcessResource* resource = + new ChildProcessResource( child_process_data.process_type, child_process_data.name, child_process_data.handle, @@ -318,7 +320,7 @@ void TaskManagerChildProcessResourceProvider::AddToTaskManager( } // The ChildProcessData::Iterator has to be used from the IO thread. -void TaskManagerChildProcessResourceProvider::RetrieveChildProcessData() { +void ChildProcessResourceProvider::RetrieveChildProcessData() { std::vector<content::ChildProcessData> child_processes; for (BrowserChildProcessHostIterator iter; !iter.Done(); ++iter) { // Only add processes which are already started, since we need their handle. @@ -333,18 +335,20 @@ void TaskManagerChildProcessResourceProvider::RetrieveChildProcessData() { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind( - &TaskManagerChildProcessResourceProvider::ChildProcessDataRetreived, + &ChildProcessResourceProvider::ChildProcessDataRetreived, this, child_processes)); } // This is called on the UI thread. -void TaskManagerChildProcessResourceProvider::ChildProcessDataRetreived( +void ChildProcessResourceProvider::ChildProcessDataRetreived( const std::vector<content::ChildProcessData>& child_processes) { for (size_t i = 0; i < child_processes.size(); ++i) AddToTaskManager(child_processes[i]); content::NotificationService::current()->Notify( chrome::NOTIFICATION_TASK_MANAGER_CHILD_PROCESSES_DATA_READY, - content::Source<TaskManagerChildProcessResourceProvider>(this), + content::Source<ChildProcessResourceProvider>(this), content::NotificationService::NoDetails()); } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_child_process_resource_provider.h b/chrome/browser/task_manager/child_process_resource_provider.h index a3452e8..78e9683 100644 --- a/chrome/browser/task_manager/task_manager_child_process_resource_provider.h +++ b/chrome/browser/task_manager/child_process_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_CHILD_PROCESS_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_CHILD_PROCESS_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_CHILD_PROCESS_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_CHILD_PROCESS_RESOURCE_PROVIDER_H_ #include <map> #include <vector> @@ -13,17 +13,19 @@ #include "content/public/browser/browser_child_process_observer.h" #include "content/public/browser/notification_registrar.h" -class TaskManagerChildProcessResource; - namespace content { struct ChildProcessData; } -class TaskManagerChildProcessResourceProvider +namespace task_manager { + +class ChildProcessResource; + +class ChildProcessResourceProvider : public TaskManager::ResourceProvider, public content::BrowserChildProcessObserver { public: - explicit TaskManagerChildProcessResourceProvider(TaskManager* task_manager); + explicit ChildProcessResourceProvider(TaskManager* task_manager); virtual TaskManager::Resource* GetResource(int origin_pid, int render_process_host_id, @@ -38,7 +40,7 @@ class TaskManagerChildProcessResourceProvider const content::ChildProcessData& data) OVERRIDE; private: - virtual ~TaskManagerChildProcessResourceProvider(); + virtual ~ChildProcessResourceProvider(); // Retrieves information about the running ChildProcessHosts (performed in the // IO thread). @@ -59,19 +61,21 @@ class TaskManagerChildProcessResourceProvider // Maps the actual resources (the ChildProcessData) to the Task Manager // resources. - typedef std::map<base::ProcessHandle, TaskManagerChildProcessResource*> + typedef std::map<base::ProcessHandle, ChildProcessResource*> ChildProcessMap; ChildProcessMap resources_; // Maps the pids to the resources (used for quick access to the resource on // byte read notifications). - typedef std::map<int, TaskManagerChildProcessResource*> PidResourceMap; + typedef std::map<int, ChildProcessResource*> PidResourceMap; PidResourceMap pid_to_resources_; // A scoped container for notification registries. content::NotificationRegistrar registrar_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerChildProcessResourceProvider); + DISALLOW_COPY_AND_ASSIGN(ChildProcessResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_CHILD_PROCESS_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_CHILD_PROCESS_RESOURCE_PROVIDER_H_ diff --git a/chrome/browser/task_manager/task_manager_extension_process_resource_provider.cc b/chrome/browser/task_manager/extension_process_resource_provider.cc index 907631d..0d5f914 100644 --- a/chrome/browser/task_manager/task_manager_extension_process_resource_provider.cc +++ b/chrome/browser/task_manager/extension_process_resource_provider.cc @@ -2,7 +2,7 @@ // 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/task_manager_extension_process_resource_provider.h" +#include "chrome/browser/task_manager/extension_process_resource_provider.h" #include "base/string16.h" #include "base/utf_string_conversions.h" @@ -13,7 +13,7 @@ #include "chrome/browser/extensions/extension_system.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" -#include "chrome/browser/task_manager/task_manager_resource_util.h" +#include "chrome/browser/task_manager/task_manager_util.h" #include "chrome/common/extensions/extension.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" @@ -28,11 +28,13 @@ using content::WebContents; using extensions::Extension; -class TaskManagerExtensionProcessResource : public TaskManager::Resource { +namespace task_manager { + +class ExtensionProcessResource : public TaskManager::Resource { public: - explicit TaskManagerExtensionProcessResource( + explicit ExtensionProcessResource( content::RenderViewHost* render_view_host); - virtual ~TaskManagerExtensionProcessResource(); + virtual ~ExtensionProcessResource(); // TaskManager::Resource methods: virtual string16 GetTitle() const OVERRIDE; @@ -65,12 +67,12 @@ class TaskManagerExtensionProcessResource : public TaskManager::Resource { int unique_process_id_; string16 title_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerExtensionProcessResource); + DISALLOW_COPY_AND_ASSIGN(ExtensionProcessResource); }; -gfx::ImageSkia* TaskManagerExtensionProcessResource::default_icon_ = NULL; +gfx::ImageSkia* ExtensionProcessResource::default_icon_ = NULL; -TaskManagerExtensionProcessResource::TaskManagerExtensionProcessResource( +ExtensionProcessResource::ExtensionProcessResource( content::RenderViewHost* render_view_host) : render_view_host_(render_view_host) { if (!default_icon_) { @@ -85,7 +87,7 @@ TaskManagerExtensionProcessResource::TaskManagerExtensionProcessResource( Profile* profile = Profile::FromBrowserContext( render_view_host->GetProcess()->GetBrowserContext()); - int message_id = TaskManagerResourceUtil::GetMessagePrefixID( + int message_id = util::GetMessagePrefixID( GetExtension()->is_app(), true, // is_extension profile->IsOffTheRecord(), @@ -95,53 +97,52 @@ TaskManagerExtensionProcessResource::TaskManagerExtensionProcessResource( title_ = l10n_util::GetStringFUTF16(message_id, extension_name); } -TaskManagerExtensionProcessResource::~TaskManagerExtensionProcessResource() { +ExtensionProcessResource::~ExtensionProcessResource() { } -string16 TaskManagerExtensionProcessResource::GetTitle() const { +string16 ExtensionProcessResource::GetTitle() const { return title_; } -string16 TaskManagerExtensionProcessResource::GetProfileName() const { - return TaskManagerResourceUtil::GetProfileNameFromInfoCache( +string16 ExtensionProcessResource::GetProfileName() const { + return util::GetProfileNameFromInfoCache( Profile::FromBrowserContext( - render_view_host_->GetProcess()->GetBrowserContext())); + render_view_host_->GetProcess()->GetBrowserContext())); } -gfx::ImageSkia TaskManagerExtensionProcessResource::GetIcon() const { +gfx::ImageSkia ExtensionProcessResource::GetIcon() const { return *default_icon_; } -base::ProcessHandle TaskManagerExtensionProcessResource::GetProcess() const { +base::ProcessHandle ExtensionProcessResource::GetProcess() const { return process_handle_; } -int TaskManagerExtensionProcessResource::GetUniqueChildProcessId() const { +int ExtensionProcessResource::GetUniqueChildProcessId() const { return unique_process_id_; } -TaskManager::Resource::Type -TaskManagerExtensionProcessResource::GetType() const { +TaskManager::Resource::Type ExtensionProcessResource::GetType() const { return EXTENSION; } -bool TaskManagerExtensionProcessResource::CanInspect() const { +bool ExtensionProcessResource::CanInspect() const { return true; } -void TaskManagerExtensionProcessResource::Inspect() const { +void ExtensionProcessResource::Inspect() const { DevToolsWindow::OpenDevToolsWindow(render_view_host_); } -bool TaskManagerExtensionProcessResource::SupportNetworkUsage() const { +bool ExtensionProcessResource::SupportNetworkUsage() const { return true; } -void TaskManagerExtensionProcessResource::SetSupportNetworkUsage() { +void ExtensionProcessResource::SetSupportNetworkUsage() { NOTREACHED(); } -const Extension* TaskManagerExtensionProcessResource::GetExtension() const { +const Extension* ExtensionProcessResource::GetExtension() const { Profile* profile = Profile::FromBrowserContext( render_view_host_->GetProcess()->GetBrowserContext()); ExtensionProcessManager* process_manager = @@ -149,7 +150,7 @@ const Extension* TaskManagerExtensionProcessResource::GetExtension() const { return process_manager->GetExtensionForRenderViewHost(render_view_host_); } -bool TaskManagerExtensionProcessResource::IsBackground() const { +bool ExtensionProcessResource::IsBackground() const { WebContents* web_contents = WebContents::FromRenderViewHost(render_view_host_); extensions::ViewType view_type = extensions::GetViewType(web_contents); @@ -157,20 +158,19 @@ bool TaskManagerExtensionProcessResource::IsBackground() const { } //////////////////////////////////////////////////////////////////////////////// -// TaskManagerExtensionProcessResourceProvider class +// ExtensionProcessResourceProvider class //////////////////////////////////////////////////////////////////////////////// -TaskManagerExtensionProcessResourceProvider:: - TaskManagerExtensionProcessResourceProvider(TaskManager* task_manager) +ExtensionProcessResourceProvider:: + ExtensionProcessResourceProvider(TaskManager* task_manager) : task_manager_(task_manager), updating_(false) { } -TaskManagerExtensionProcessResourceProvider:: - ~TaskManagerExtensionProcessResourceProvider() { +ExtensionProcessResourceProvider::~ExtensionProcessResourceProvider() { } -TaskManager::Resource* TaskManagerExtensionProcessResourceProvider::GetResource( +TaskManager::Resource* ExtensionProcessResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { @@ -192,7 +192,7 @@ TaskManager::Resource* TaskManagerExtensionProcessResourceProvider::GetResource( return NULL; } -void TaskManagerExtensionProcessResourceProvider::StartUpdating() { +void ExtensionProcessResourceProvider::StartUpdating() { DCHECK(!updating_); updating_ = true; @@ -234,7 +234,7 @@ void TaskManagerExtensionProcessResourceProvider::StartUpdating() { content::NotificationService::AllBrowserContextsAndSources()); } -void TaskManagerExtensionProcessResourceProvider::StopUpdating() { +void ExtensionProcessResourceProvider::StopUpdating() { DCHECK(updating_); updating_ = false; @@ -255,7 +255,7 @@ void TaskManagerExtensionProcessResourceProvider::StopUpdating() { resources_.clear(); } -void TaskManagerExtensionProcessResourceProvider::Observe( +void ExtensionProcessResourceProvider::Observe( int type, const content::NotificationSource& source, const content::NotificationDetails& details) { @@ -279,13 +279,13 @@ void TaskManagerExtensionProcessResourceProvider::Observe( } } -bool TaskManagerExtensionProcessResourceProvider:: +bool ExtensionProcessResourceProvider:: IsHandledByThisProvider(content::RenderViewHost* render_view_host) { WebContents* web_contents = WebContents::FromRenderViewHost(render_view_host); // Don't add WebContents that belong to a guest (those are handled by // TaskManagerGuestResourceProvider). Otherwise they will be added twice, and // in this case they will have the app's name as a title (due to the - // TaskManagerExtensionProcessResource constructor). + // ExtensionProcessResource constructor). if (web_contents->GetRenderProcessHost()->IsGuest()) return false; extensions::ViewType view_type = extensions::GetViewType(web_contents); @@ -302,29 +302,29 @@ bool TaskManagerExtensionProcessResourceProvider:: #endif // USE_ASH } -void TaskManagerExtensionProcessResourceProvider::AddToTaskManager( +void ExtensionProcessResourceProvider::AddToTaskManager( content::RenderViewHost* render_view_host) { if (!IsHandledByThisProvider(render_view_host)) return; - TaskManagerExtensionProcessResource* resource = - new TaskManagerExtensionProcessResource(render_view_host); + ExtensionProcessResource* resource = + new ExtensionProcessResource(render_view_host); DCHECK(resources_.find(render_view_host) == resources_.end()); resources_[render_view_host] = resource; task_manager_->AddResource(resource); } -void TaskManagerExtensionProcessResourceProvider::RemoveFromTaskManager( +void ExtensionProcessResourceProvider::RemoveFromTaskManager( content::RenderViewHost* render_view_host) { if (!updating_) return; - std::map<content::RenderViewHost*, TaskManagerExtensionProcessResource*> + std::map<content::RenderViewHost*, ExtensionProcessResource*> ::iterator iter = resources_.find(render_view_host); if (iter == resources_.end()) return; // Remove the resource from the Task Manager. - TaskManagerExtensionProcessResource* resource = iter->second; + ExtensionProcessResource* resource = iter->second; task_manager_->RemoveResource(resource); // Remove it from the provider. @@ -333,3 +333,5 @@ void TaskManagerExtensionProcessResourceProvider::RemoveFromTaskManager( // Finally, delete the resource. delete resource; } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_extension_process_resource_provider.h b/chrome/browser/task_manager/extension_process_resource_provider.h index 01840b9..f6abfb76 100644 --- a/chrome/browser/task_manager/task_manager_extension_process_resource_provider.h +++ b/chrome/browser/task_manager/extension_process_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_EXTENSION_PROCESS_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_EXTENSION_PROCESS_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_EXTENSION_PROCESS_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_EXTENSION_PROCESS_RESOURCE_PROVIDER_H_ #include <map> @@ -12,18 +12,19 @@ #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" -class TaskManagerExtensionProcessResource; - namespace content { class RenderViewHost; } -class TaskManagerExtensionProcessResourceProvider +namespace task_manager { + +class ExtensionProcessResource; + +class ExtensionProcessResourceProvider : public TaskManager::ResourceProvider, public content::NotificationObserver { public: - explicit TaskManagerExtensionProcessResourceProvider( - TaskManager* task_manager); + explicit ExtensionProcessResourceProvider(TaskManager* task_manager); virtual TaskManager::Resource* GetResource(int origin_pid, int render_process_host_id, @@ -37,7 +38,7 @@ class TaskManagerExtensionProcessResourceProvider const content::NotificationDetails& details) OVERRIDE; private: - virtual ~TaskManagerExtensionProcessResourceProvider(); + virtual ~ExtensionProcessResourceProvider(); bool IsHandledByThisProvider(content::RenderViewHost* render_view_host); void AddToTaskManager(content::RenderViewHost* render_view_host); @@ -47,8 +48,8 @@ class TaskManagerExtensionProcessResourceProvider // Maps the actual resources (content::RenderViewHost*) to the Task Manager // resources. - typedef std::map<content::RenderViewHost*, - TaskManagerExtensionProcessResource*> ExtensionRenderViewHostMap; + typedef std::map<content::RenderViewHost*, ExtensionProcessResource*> + ExtensionRenderViewHostMap; ExtensionRenderViewHostMap resources_; // A scoped container for notification registries. @@ -56,7 +57,9 @@ class TaskManagerExtensionProcessResourceProvider bool updating_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerExtensionProcessResourceProvider); + DISALLOW_COPY_AND_ASSIGN(ExtensionProcessResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_EXTENSION_PROCESS_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_EXTENSION_PROCESS_RESOURCE_PROVIDER_H_ diff --git a/chrome/browser/task_manager/task_manager_guest_resource_provider.cc b/chrome/browser/task_manager/guest_resource_provider.cc index 16946cc..83b9797 100644 --- a/chrome/browser/task_manager/task_manager_guest_resource_provider.cc +++ b/chrome/browser/task_manager/guest_resource_provider.cc @@ -2,13 +2,13 @@ // 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/task_manager_guest_resource_provider.h" +#include "chrome/browser/task_manager/guest_resource_provider.h" #include "base/string16.h" #include "chrome/browser/favicon/favicon_tab_helper.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/task_manager/task_manager_render_resource.h" -#include "chrome/browser/task_manager/task_manager_resource_util.h" +#include "chrome/browser/task_manager/renderer_resource.h" +#include "chrome/browser/task_manager/task_manager_util.h" #include "chrome/common/chrome_notification_types.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/render_process_host.h" @@ -26,10 +26,12 @@ using content::RenderWidgetHost; using content::WebContents; using extensions::Extension; -class TaskManagerGuestResource : public TaskManagerRendererResource { +namespace task_manager { + +class GuestResource : public RendererResource { public: - explicit TaskManagerGuestResource(content::RenderViewHost* render_view_host); - virtual ~TaskManagerGuestResource(); + explicit GuestResource(content::RenderViewHost* render_view_host); + virtual ~GuestResource(); // TaskManager::Resource methods: virtual Type GetType() const OVERRIDE; @@ -40,45 +42,43 @@ class TaskManagerGuestResource : public TaskManagerRendererResource { virtual const extensions::Extension* GetExtension() const OVERRIDE; private: - DISALLOW_COPY_AND_ASSIGN(TaskManagerGuestResource); + DISALLOW_COPY_AND_ASSIGN(GuestResource); }; -TaskManagerGuestResource::TaskManagerGuestResource( - RenderViewHost* render_view_host) - : TaskManagerRendererResource( +GuestResource::GuestResource(RenderViewHost* render_view_host) + : RendererResource( render_view_host->GetSiteInstance()->GetProcess()->GetHandle(), render_view_host) { } -TaskManagerGuestResource::~TaskManagerGuestResource() { +GuestResource::~GuestResource() { } -TaskManager::Resource::Type TaskManagerGuestResource::GetType() const { +TaskManager::Resource::Type GuestResource::GetType() const { return GUEST; } -string16 TaskManagerGuestResource::GetTitle() const { +string16 GuestResource::GetTitle() const { WebContents* web_contents = GetWebContents(); const int message_id = IDS_TASK_MANAGER_WEBVIEW_TAG_PREFIX; if (web_contents) { - string16 title = TaskManagerResourceUtil::GetTitleFromWebContents( - web_contents); + string16 title = util::GetTitleFromWebContents(web_contents); return l10n_util::GetStringFUTF16(message_id, title); } return l10n_util::GetStringFUTF16(message_id, string16()); } -string16 TaskManagerGuestResource::GetProfileName() const { +string16 GuestResource::GetProfileName() const { WebContents* web_contents = GetWebContents(); if (web_contents) { Profile* profile = Profile::FromBrowserContext( web_contents->GetBrowserContext()); - return TaskManagerResourceUtil::GetProfileNameFromInfoCache(profile); + return util::GetProfileNameFromInfoCache(profile); } return string16(); } -gfx::ImageSkia TaskManagerGuestResource::GetIcon() const { +gfx::ImageSkia GuestResource::GetIcon() const { WebContents* web_contents = GetWebContents(); if (web_contents && FaviconTabHelper::FromWebContents(web_contents)) { return FaviconTabHelper::FromWebContents(web_contents)-> @@ -87,24 +87,23 @@ gfx::ImageSkia TaskManagerGuestResource::GetIcon() const { return gfx::ImageSkia(); } -WebContents* TaskManagerGuestResource::GetWebContents() const { +WebContents* GuestResource::GetWebContents() const { return WebContents::FromRenderViewHost(render_view_host()); } -const Extension* TaskManagerGuestResource::GetExtension() const { +const Extension* GuestResource::GetExtension() const { return NULL; } -TaskManagerGuestResourceProvider:: - TaskManagerGuestResourceProvider(TaskManager* task_manager) +GuestResourceProvider::GuestResourceProvider(TaskManager* task_manager) : updating_(false), task_manager_(task_manager) { } -TaskManagerGuestResourceProvider::~TaskManagerGuestResourceProvider() { +GuestResourceProvider::~GuestResourceProvider() { } -TaskManager::Resource* TaskManagerGuestResourceProvider::GetResource( +TaskManager::Resource* GuestResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { @@ -126,7 +125,7 @@ TaskManager::Resource* TaskManagerGuestResourceProvider::GetResource( return NULL; } -void TaskManagerGuestResourceProvider::StartUpdating() { +void GuestResourceProvider::StartUpdating() { DCHECK(!updating_); updating_ = true; @@ -154,7 +153,7 @@ void TaskManagerGuestResourceProvider::StartUpdating() { content::NotificationService::AllBrowserContextsAndSources()); } -void TaskManagerGuestResourceProvider::StopUpdating() { +void GuestResourceProvider::StopUpdating() { DCHECK(updating_); updating_ = false; @@ -170,16 +169,13 @@ void TaskManagerGuestResourceProvider::StopUpdating() { resources_.clear(); } -void TaskManagerGuestResourceProvider::Add( - RenderViewHost* render_view_host) { - TaskManagerGuestResource* resource = - new TaskManagerGuestResource(render_view_host); +void GuestResourceProvider::Add(RenderViewHost* render_view_host) { + GuestResource* resource = new GuestResource(render_view_host); resources_[render_view_host] = resource; task_manager_->AddResource(resource); } -void TaskManagerGuestResourceProvider::Remove( - RenderViewHost* render_view_host) { +void GuestResourceProvider::Remove(RenderViewHost* render_view_host) { if (!updating_) return; @@ -187,13 +183,13 @@ void TaskManagerGuestResourceProvider::Remove( if (iter == resources_.end()) return; - TaskManagerGuestResource* resource = iter->second; + GuestResource* resource = iter->second; task_manager_->RemoveResource(resource); resources_.erase(iter); delete resource; } -void TaskManagerGuestResourceProvider::Observe(int type, +void GuestResourceProvider::Observe(int type, const content::NotificationSource& source, const content::NotificationDetails& details) { WebContents* web_contents = content::Source<WebContents>(source).ptr(); @@ -211,3 +207,5 @@ void TaskManagerGuestResourceProvider::Observe(int type, NOTREACHED() << "Unexpected notification."; } } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_guest_resource_provider.h b/chrome/browser/task_manager/guest_resource_provider.h index a1d343a..cdcd9a3 100644 --- a/chrome/browser/task_manager/task_manager_guest_resource_provider.h +++ b/chrome/browser/task_manager/guest_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_GUEST_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_GUEST_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_GUEST_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_GUEST_RESOURCE_PROVIDER_H_ #include <map> @@ -12,17 +12,18 @@ #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" -class TaskManagerGuestResource; - namespace content { class RenderViewHost; } -class TaskManagerGuestResourceProvider - : public TaskManager::ResourceProvider, - public content::NotificationObserver { +namespace task_manager { + +class GuestResource; + +class GuestResourceProvider : public TaskManager::ResourceProvider, + public content::NotificationObserver { public: - explicit TaskManagerGuestResourceProvider(TaskManager* task_manager); + explicit GuestResourceProvider(TaskManager* task_manager); // TaskManager::ResourceProvider methods: virtual TaskManager::Resource* GetResource(int origin_pid, @@ -37,7 +38,7 @@ class TaskManagerGuestResourceProvider const content::NotificationDetails& details) OVERRIDE; private: - virtual ~TaskManagerGuestResourceProvider(); + virtual ~GuestResourceProvider(); void Add(content::RenderViewHost* render_view_host); void Remove(content::RenderViewHost* render_view_host); @@ -48,14 +49,15 @@ class TaskManagerGuestResourceProvider TaskManager* task_manager_; - typedef std::map<content::RenderViewHost*, - TaskManagerGuestResource*> GuestResourceMap; + typedef std::map<content::RenderViewHost*, GuestResource*> GuestResourceMap; GuestResourceMap resources_; // A scoped container for notification registries. content::NotificationRegistrar registrar_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerGuestResourceProvider); + DISALLOW_COPY_AND_ASSIGN(GuestResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_GUEST_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_GUEST_RESOURCE_PROVIDER_H_ diff --git a/chrome/browser/task_manager/task_manager_notification_resource_provider.cc b/chrome/browser/task_manager/notification_resource_provider.cc index 62727e9..73cd725 100644 --- a/chrome/browser/task_manager/task_manager_notification_resource_provider.cc +++ b/chrome/browser/task_manager/notification_resource_provider.cc @@ -1,8 +1,8 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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_manager/task_manager_notification_resource_provider.h" +#include "chrome/browser/task_manager/notification_resource_provider.h" #include "base/string16.h" #include "chrome/browser/browser_process.h" @@ -19,10 +19,12 @@ #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/image/image_skia.h" -class TaskManagerNotificationResource : public TaskManager::Resource { +namespace task_manager { + +class NotificationResource : public TaskManager::Resource { public: - explicit TaskManagerNotificationResource(BalloonHost* balloon_host); - virtual ~TaskManagerNotificationResource(); + explicit NotificationResource(BalloonHost* balloon_host); + virtual ~NotificationResource(); // TaskManager::Resource interface virtual string16 GetTitle() const OVERRIDE; @@ -49,13 +51,12 @@ class TaskManagerNotificationResource : public TaskManager::Resource { int unique_process_id_; string16 title_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerNotificationResource); + DISALLOW_COPY_AND_ASSIGN(NotificationResource); }; -gfx::ImageSkia* TaskManagerNotificationResource::default_icon_ = NULL; +gfx::ImageSkia* NotificationResource::default_icon_ = NULL; -TaskManagerNotificationResource::TaskManagerNotificationResource( - BalloonHost* balloon_host) +NotificationResource::NotificationResource(BalloonHost* balloon_host) : balloon_host_(balloon_host) { if (!default_icon_) { ResourceBundle& rb = ResourceBundle::GetSharedInstance(); @@ -70,67 +71,66 @@ TaskManagerNotificationResource::TaskManagerNotificationResource( balloon_host_->GetSource()); } -TaskManagerNotificationResource::~TaskManagerNotificationResource() { +NotificationResource::~NotificationResource() { } -string16 TaskManagerNotificationResource::GetTitle() const { +string16 NotificationResource::GetTitle() const { return title_; } -string16 TaskManagerNotificationResource::GetProfileName() const { +string16 NotificationResource::GetProfileName() const { return string16(); } -gfx::ImageSkia TaskManagerNotificationResource::GetIcon() const { +gfx::ImageSkia NotificationResource::GetIcon() const { return *default_icon_; } -base::ProcessHandle TaskManagerNotificationResource::GetProcess() const { +base::ProcessHandle NotificationResource::GetProcess() const { return process_handle_; } -int TaskManagerNotificationResource::GetUniqueChildProcessId() const { +int NotificationResource::GetUniqueChildProcessId() const { return unique_process_id_; } -TaskManager::Resource::Type TaskManagerNotificationResource::GetType() const { +TaskManager::Resource::Type NotificationResource::GetType() const { return NOTIFICATION; } -bool TaskManagerNotificationResource::CanInspect() const { +bool NotificationResource::CanInspect() const { return true; } -void TaskManagerNotificationResource::Inspect() const { +void NotificationResource::Inspect() const { DevToolsWindow::OpenDevToolsWindow( balloon_host_->web_contents()->GetRenderViewHost()); } -bool TaskManagerNotificationResource::SupportNetworkUsage() const { +bool NotificationResource::SupportNetworkUsage() const { return false; } //////////////////////////////////////////////////////////////////////////////// -// TaskManagerNotificationResourceProvider class +// NotificationResourceProvider class //////////////////////////////////////////////////////////////////////////////// // static -TaskManagerNotificationResourceProvider* -TaskManagerNotificationResourceProvider::Create(TaskManager* task_manager) { - return new TaskManagerNotificationResourceProvider(task_manager); +NotificationResourceProvider* +NotificationResourceProvider::Create(TaskManager* task_manager) { + return new NotificationResourceProvider(task_manager); } -TaskManagerNotificationResourceProvider:: - TaskManagerNotificationResourceProvider(TaskManager* task_manager) +NotificationResourceProvider:: + NotificationResourceProvider(TaskManager* task_manager) : task_manager_(task_manager), updating_(false) { } -TaskManagerNotificationResourceProvider:: - ~TaskManagerNotificationResourceProvider() { +NotificationResourceProvider::~NotificationResourceProvider() { } -TaskManager::Resource* TaskManagerNotificationResourceProvider::GetResource( +TaskManager::Resource* NotificationResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { @@ -138,7 +138,7 @@ TaskManager::Resource* TaskManagerNotificationResourceProvider::GetResource( return NULL; } -void TaskManagerNotificationResourceProvider::StartUpdating() { +void NotificationResourceProvider::StartUpdating() { // MessageCenter does not use Balloons. if (NotificationUIManager::DelegatesToMessageCenter()) return; @@ -166,7 +166,7 @@ void TaskManagerNotificationResourceProvider::StartUpdating() { content::NotificationService::AllSources()); } -void TaskManagerNotificationResourceProvider::StopUpdating() { +void NotificationResourceProvider::StopUpdating() { // MessageCenter does not use Balloons. if (NotificationUIManager::DelegatesToMessageCenter()) return; @@ -185,7 +185,7 @@ void TaskManagerNotificationResourceProvider::StopUpdating() { resources_.clear(); } -void TaskManagerNotificationResourceProvider::Observe( +void NotificationResourceProvider::Observe( int type, const content::NotificationSource& source, const content::NotificationDetails& details) { @@ -202,26 +202,25 @@ void TaskManagerNotificationResourceProvider::Observe( } } -void TaskManagerNotificationResourceProvider::AddToTaskManager( +void NotificationResourceProvider::AddToTaskManager( BalloonHost* balloon_host) { - TaskManagerNotificationResource* resource = - new TaskManagerNotificationResource(balloon_host); + NotificationResource* resource = new NotificationResource(balloon_host); DCHECK(resources_.find(balloon_host) == resources_.end()); resources_[balloon_host] = resource; task_manager_->AddResource(resource); } -void TaskManagerNotificationResourceProvider::RemoveFromTaskManager( +void NotificationResourceProvider::RemoveFromTaskManager( BalloonHost* balloon_host) { if (!updating_) return; - std::map<BalloonHost*, TaskManagerNotificationResource*>::iterator iter = + std::map<BalloonHost*, NotificationResource*>::iterator iter = resources_.find(balloon_host); if (iter == resources_.end()) return; // Remove the resource from the Task Manager. - TaskManagerNotificationResource* resource = iter->second; + NotificationResource* resource = iter->second; task_manager_->RemoveResource(resource); // Remove it from the map. @@ -230,3 +229,5 @@ void TaskManagerNotificationResourceProvider::RemoveFromTaskManager( // Finally, delete the resource. delete resource; } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_notification_resource_provider.h b/chrome/browser/task_manager/notification_resource_provider.h index f6cc390..120791b7 100644 --- a/chrome/browser/task_manager/task_manager_notification_resource_provider.h +++ b/chrome/browser/task_manager/notification_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_NOTIFICATION_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_NOTIFICATION_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_NOTIFICATION_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_NOTIFICATION_RESOURCE_PROVIDER_H_ #include <map> #include <vector> @@ -14,14 +14,15 @@ #include "content/public/browser/notification_registrar.h" class BalloonHost; -class TaskManagerNotificationResource; -class TaskManagerNotificationResourceProvider - : public TaskManager::ResourceProvider, - public content::NotificationObserver { +namespace task_manager { + +class NotificationResource; + +class NotificationResourceProvider : public TaskManager::ResourceProvider, + public content::NotificationObserver { public: - static TaskManagerNotificationResourceProvider* Create( - TaskManager* task_manager); + static NotificationResourceProvider* Create(TaskManager* task_manager); // TaskManager::ResourceProvider interface virtual TaskManager::Resource* GetResource(int origin_pid, @@ -36,8 +37,8 @@ class TaskManagerNotificationResourceProvider const content::NotificationDetails& details) OVERRIDE; private: - explicit TaskManagerNotificationResourceProvider(TaskManager* task_manager); - virtual ~TaskManagerNotificationResourceProvider(); + explicit NotificationResourceProvider(TaskManager* task_manager); + virtual ~NotificationResourceProvider(); void AddToTaskManager(BalloonHost* balloon_host); void RemoveFromTaskManager(BalloonHost* balloon_host); @@ -45,14 +46,16 @@ class TaskManagerNotificationResourceProvider TaskManager* task_manager_; // Maps the actual resources (BalloonHost*) to the Task Manager resources. - std::map<BalloonHost*, TaskManagerNotificationResource*> resources_; + std::map<BalloonHost*, NotificationResource*> resources_; // A scoped container for notification registries. content::NotificationRegistrar registrar_; bool updating_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerNotificationResourceProvider); + DISALLOW_COPY_AND_ASSIGN(NotificationResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_NOTIFICATION_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_NOTIFICATION_RESOURCE_PROVIDER_H_ diff --git a/chrome/browser/task_manager/task_manager_os_resources_win.cc b/chrome/browser/task_manager/os_resource_win.cc index e1e070e..0ca6787 100644 --- a/chrome/browser/task_manager/task_manager_os_resources_win.cc +++ b/chrome/browser/task_manager/os_resource_win.cc @@ -2,7 +2,9 @@ // 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/task_manager_os_resources_win.h" +#include "chrome/browser/task_manager/os_resource_win.h" + +namespace task_manager { void GetWinGDIHandles(base::ProcessHandle process, size_t* current, @@ -37,3 +39,5 @@ void GetWinUSERHandles(base::ProcessHandle process, CloseHandle(process_with_query_rights); } } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_os_resources_win.h b/chrome/browser/task_manager/os_resource_win.h index f0e7887..f18000c 100644 --- a/chrome/browser/task_manager/task_manager_os_resources_win.h +++ b/chrome/browser/task_manager/os_resource_win.h @@ -2,11 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_OS_RESOURCES_WIN_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_OS_RESOURCES_WIN_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_OS_RESOURCE_WIN_H_ +#define CHROME_BROWSER_TASK_MANAGER_OS_RESOURCE_WIN_H_ #include "base/process_util.h" +namespace task_manager { + // Get the current number of GDI handles in use (and peak on >= Win7+). void GetWinGDIHandles(base::ProcessHandle process, size_t* current, @@ -17,4 +19,6 @@ void GetWinUSERHandles(base::ProcessHandle process, size_t* current, size_t* peak); -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_OS_RESOURCES_WIN_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_OS_RESOURCE_WIN_H_ diff --git a/chrome/browser/task_manager/task_manager_panel_resource_provider.cc b/chrome/browser/task_manager/panel_resource_provider.cc index 9e6f47f..8540e6a 100644 --- a/chrome/browser/task_manager/task_manager_panel_resource_provider.cc +++ b/chrome/browser/task_manager/panel_resource_provider.cc @@ -2,13 +2,13 @@ // 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/task_manager_panel_resource_provider.h" +#include "chrome/browser/task_manager/panel_resource_provider.h" #include "base/i18n/rtl.h" #include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/task_manager/task_manager_render_resource.h" -#include "chrome/browser/task_manager/task_manager_resource_util.h" +#include "chrome/browser/task_manager/renderer_resource.h" +#include "chrome/browser/task_manager/task_manager_util.h" #include "chrome/browser/ui/panels/panel.h" #include "chrome/browser/ui/panels/panel_manager.h" #include "chrome/common/chrome_notification_types.h" @@ -25,10 +25,12 @@ using content::RenderViewHost; using content::WebContents; using extensions::Extension; -class TaskManagerPanelResource : public TaskManagerRendererResource { +namespace task_manager { + +class PanelResource : public RendererResource { public: - explicit TaskManagerPanelResource(Panel* panel); - virtual ~TaskManagerPanelResource(); + explicit PanelResource(Panel* panel); + virtual ~PanelResource(); // TaskManager::Resource methods: virtual Type GetType() const OVERRIDE; @@ -44,15 +46,15 @@ class TaskManagerPanelResource : public TaskManagerRendererResource { // or in incognito mode. int message_prefix_id_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerPanelResource); + DISALLOW_COPY_AND_ASSIGN(PanelResource); }; -TaskManagerPanelResource::TaskManagerPanelResource(Panel* panel) - : TaskManagerRendererResource( +PanelResource::PanelResource(Panel* panel) + : RendererResource( panel->GetWebContents()->GetRenderProcessHost()->GetHandle(), panel->GetWebContents()->GetRenderViewHost()), panel_(panel) { - message_prefix_id_ = TaskManagerResourceUtil::GetMessagePrefixID( + message_prefix_id_ = util::GetMessagePrefixID( GetExtension()->is_app(), true, // is_extension panel->profile()->IsOffTheRecord(), @@ -61,14 +63,14 @@ TaskManagerPanelResource::TaskManagerPanelResource(Panel* panel) false); // is_background } -TaskManagerPanelResource::~TaskManagerPanelResource() { +PanelResource::~PanelResource() { } -TaskManager::Resource::Type TaskManagerPanelResource::GetType() const { +TaskManager::Resource::Type PanelResource::GetType() const { return EXTENSION; } -string16 TaskManagerPanelResource::GetTitle() const { +string16 PanelResource::GetTitle() const { string16 title = panel_->GetWindowTitle(); // Since the title will be concatenated with an IDS_TASK_MANAGER_* prefix // we need to explicitly set the title to be LTR format if there is no @@ -83,40 +85,38 @@ string16 TaskManagerPanelResource::GetTitle() const { return l10n_util::GetStringFUTF16(message_prefix_id_, title); } -string16 TaskManagerPanelResource::GetProfileName() const { - return TaskManagerResourceUtil::GetProfileNameFromInfoCache( - panel_->profile()); +string16 PanelResource::GetProfileName() const { + return util::GetProfileNameFromInfoCache(panel_->profile()); } -gfx::ImageSkia TaskManagerPanelResource::GetIcon() const { +gfx::ImageSkia PanelResource::GetIcon() const { gfx::Image icon = panel_->GetCurrentPageIcon(); return icon.IsEmpty() ? gfx::ImageSkia() : *icon.ToImageSkia(); } -WebContents* TaskManagerPanelResource::GetWebContents() const { +WebContents* PanelResource::GetWebContents() const { return panel_->GetWebContents(); } -const Extension* TaskManagerPanelResource::GetExtension() const { +const Extension* PanelResource::GetExtension() const { ExtensionService* extension_service = panel_->profile()->GetExtensionService(); return extension_service->extensions()->GetByID(panel_->extension_id()); } //////////////////////////////////////////////////////////////////////////////// -// TaskManagerPanelResourceProvider class +// PanelResourceProvider class //////////////////////////////////////////////////////////////////////////////// -TaskManagerPanelResourceProvider::TaskManagerPanelResourceProvider( - TaskManager* task_manager) +PanelResourceProvider::PanelResourceProvider(TaskManager* task_manager) : updating_(false), task_manager_(task_manager) { } -TaskManagerPanelResourceProvider::~TaskManagerPanelResourceProvider() { +PanelResourceProvider::~PanelResourceProvider() { } -TaskManager::Resource* TaskManagerPanelResourceProvider::GetResource( +TaskManager::Resource* PanelResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { @@ -140,7 +140,7 @@ TaskManager::Resource* TaskManagerPanelResourceProvider::GetResource( return NULL; } -void TaskManagerPanelResourceProvider::StartUpdating() { +void PanelResourceProvider::StartUpdating() { DCHECK(!updating_); updating_ = true; @@ -156,7 +156,7 @@ void TaskManagerPanelResourceProvider::StartUpdating() { content::NotificationService::AllSources()); } -void TaskManagerPanelResourceProvider::StopUpdating() { +void PanelResourceProvider::StopUpdating() { DCHECK(updating_); updating_ = false; @@ -171,7 +171,7 @@ void TaskManagerPanelResourceProvider::StopUpdating() { resources_.clear(); } -void TaskManagerPanelResourceProvider::Add(Panel* panel) { +void PanelResourceProvider::Add(Panel* panel) { if (!updating_) return; @@ -179,12 +179,12 @@ void TaskManagerPanelResourceProvider::Add(Panel* panel) { if (iter != resources_.end()) return; - TaskManagerPanelResource* resource = new TaskManagerPanelResource(panel); + PanelResource* resource = new PanelResource(panel); resources_[panel] = resource; task_manager_->AddResource(resource); } -void TaskManagerPanelResourceProvider::Remove(Panel* panel) { +void PanelResourceProvider::Remove(Panel* panel) { if (!updating_) return; @@ -192,13 +192,13 @@ void TaskManagerPanelResourceProvider::Remove(Panel* panel) { if (iter == resources_.end()) return; - TaskManagerPanelResource* resource = iter->second; + PanelResource* resource = iter->second; task_manager_->RemoveResource(resource); resources_.erase(iter); delete resource; } -void TaskManagerPanelResourceProvider::Observe(int type, +void PanelResourceProvider::Observe(int type, const content::NotificationSource& source, const content::NotificationDetails& details) { WebContents* web_contents = content::Source<WebContents>(source).ptr(); @@ -235,3 +235,5 @@ void TaskManagerPanelResourceProvider::Observe(int type, break; } } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_panel_resource_provider.h b/chrome/browser/task_manager/panel_resource_provider.h index f57c979..86c72698 100644 --- a/chrome/browser/task_manager/task_manager_panel_resource_provider.h +++ b/chrome/browser/task_manager/panel_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_PANEL_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_PANEL_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_PANEL_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_PANEL_RESOURCE_PROVIDER_H_ #include <map> @@ -16,13 +16,15 @@ class Panel; class TaskManager; -class TaskManagerPanelResource; -class TaskManagerPanelResourceProvider - : public TaskManager::ResourceProvider, - public content::NotificationObserver { +namespace task_manager { + +class PanelResource; + +class PanelResourceProvider : public TaskManager::ResourceProvider, + public content::NotificationObserver { public: - explicit TaskManagerPanelResourceProvider(TaskManager* task_manager); + explicit PanelResourceProvider(TaskManager* task_manager); // TaskManager::ResourceProvider methods: virtual TaskManager::Resource* GetResource(int origin_pid, @@ -37,7 +39,7 @@ class TaskManagerPanelResourceProvider const content::NotificationDetails& details) OVERRIDE; private: - virtual ~TaskManagerPanelResourceProvider(); + virtual ~PanelResourceProvider(); void Add(Panel* panel); void Remove(Panel* panel); @@ -49,13 +51,15 @@ class TaskManagerPanelResourceProvider TaskManager* task_manager_; // Maps the actual resources (the Panels) to the Task Manager resources. - typedef std::map<Panel*, TaskManagerPanelResource*> PanelResourceMap; + typedef std::map<Panel*, PanelResource*> PanelResourceMap; PanelResourceMap resources_; // A scoped container for notification registries. content::NotificationRegistrar registrar_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerPanelResourceProvider); + DISALLOW_COPY_AND_ASSIGN(PanelResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_PANEL_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_PANEL_RESOURCE_PROVIDER_H_ diff --git a/chrome/browser/task_manager/task_manager_render_resource.cc b/chrome/browser/task_manager/renderer_resource.cc index c3e6129..17f8ba6 100644 --- a/chrome/browser/task_manager/task_manager_render_resource.cc +++ b/chrome/browser/task_manager/renderer_resource.cc @@ -2,7 +2,7 @@ // 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/task_manager_render_resource.h" +#include "chrome/browser/task_manager/renderer_resource.h" #include "base/basictypes.h" #include "chrome/browser/devtools/devtools_window.h" @@ -11,11 +11,10 @@ #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" -//////////////////////////////////////////////////////////////////////////////// -// TaskManagerRendererResource class -//////////////////////////////////////////////////////////////////////////////// -TaskManagerRendererResource::TaskManagerRendererResource( - base::ProcessHandle process, content::RenderViewHost* render_view_host) +namespace task_manager { + +RendererResource::RendererResource(base::ProcessHandle process, + content::RenderViewHost* render_view_host) : content::RenderViewHostObserver(render_view_host), process_(process), render_view_host_(render_view_host), @@ -32,10 +31,10 @@ TaskManagerRendererResource::TaskManagerRendererResource( memset(&stats_, 0, sizeof(stats_)); } -TaskManagerRendererResource::~TaskManagerRendererResource() { +RendererResource::~RendererResource() { } -void TaskManagerRendererResource::Refresh() { +void RendererResource::Refresh() { if (!pending_stats_update_) { render_view_host_->Send(new ChromeViewMsg_GetCacheResourceStats); pending_stats_update_ = true; @@ -52,83 +51,85 @@ void TaskManagerRendererResource::Refresh() { } WebKit::WebCache::ResourceTypeStats -TaskManagerRendererResource::GetWebCoreCacheStats() const { +RendererResource::GetWebCoreCacheStats() const { return stats_; } -float TaskManagerRendererResource::GetFPS() const { +float RendererResource::GetFPS() const { return fps_; } -size_t TaskManagerRendererResource::GetV8MemoryAllocated() const { +size_t RendererResource::GetV8MemoryAllocated() const { return v8_memory_allocated_; } -size_t TaskManagerRendererResource::GetV8MemoryUsed() const { +size_t RendererResource::GetV8MemoryUsed() const { return v8_memory_used_; } -void TaskManagerRendererResource::NotifyResourceTypeStats( +void RendererResource::NotifyResourceTypeStats( const WebKit::WebCache::ResourceTypeStats& stats) { stats_ = stats; pending_stats_update_ = false; } -void TaskManagerRendererResource::NotifyFPS(float fps) { +void RendererResource::NotifyFPS(float fps) { fps_ = fps; pending_fps_update_ = false; } -void TaskManagerRendererResource::NotifyV8HeapStats( +void RendererResource::NotifyV8HeapStats( size_t v8_memory_allocated, size_t v8_memory_used) { v8_memory_allocated_ = v8_memory_allocated; v8_memory_used_ = v8_memory_used; pending_v8_memory_allocated_update_ = false; } -base::ProcessHandle TaskManagerRendererResource::GetProcess() const { +base::ProcessHandle RendererResource::GetProcess() const { return process_; } -int TaskManagerRendererResource::GetUniqueChildProcessId() const { +int RendererResource::GetUniqueChildProcessId() const { return unique_process_id_; } -TaskManager::Resource::Type TaskManagerRendererResource::GetType() const { +TaskManager::Resource::Type RendererResource::GetType() const { return RENDERER; } -int TaskManagerRendererResource::GetRoutingID() const { +int RendererResource::GetRoutingID() const { return render_view_host_->GetRoutingID(); } -bool TaskManagerRendererResource::ReportsCacheStats() const { +bool RendererResource::ReportsCacheStats() const { return true; } -bool TaskManagerRendererResource::ReportsFPS() const { +bool RendererResource::ReportsFPS() const { return true; } -bool TaskManagerRendererResource::ReportsV8MemoryStats() const { +bool RendererResource::ReportsV8MemoryStats() const { return true; } -bool TaskManagerRendererResource::CanInspect() const { +bool RendererResource::CanInspect() const { return true; } -void TaskManagerRendererResource::Inspect() const { +void RendererResource::Inspect() const { DevToolsWindow::OpenDevToolsWindow(render_view_host_); } -bool TaskManagerRendererResource::SupportNetworkUsage() const { +bool RendererResource::SupportNetworkUsage() const { return true; } -void TaskManagerRendererResource::RenderViewHostDestroyed( +void RendererResource::RenderViewHostDestroyed( content::RenderViewHost* render_view_host) { // We should never get here. We should get deleted first. // Use this CHECK to help diagnose http://crbug.com/165138. CHECK(false); } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_render_resource.h b/chrome/browser/task_manager/renderer_resource.h index 035811a..3264589 100644 --- a/chrome/browser/task_manager/task_manager_render_resource.h +++ b/chrome/browser/task_manager/renderer_resource.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_RENDER_RESOURCE_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_RENDER_RESOURCE_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_RENDERER_RESOURCE_H_ +#define CHROME_BROWSER_TASK_MANAGER_RENDERER_RESOURCE_H_ #include "base/basictypes.h" #include "chrome/browser/task_manager/task_manager.h" @@ -13,14 +13,16 @@ namespace content { class RenderViewHost; } +namespace task_manager { + // Base class for various types of render process resources that provides common // functionality like stats tracking. -class TaskManagerRendererResource : public TaskManager::Resource, - public content::RenderViewHostObserver { +class RendererResource : public TaskManager::Resource, + public content::RenderViewHostObserver { public: - TaskManagerRendererResource(base::ProcessHandle process, + RendererResource(base::ProcessHandle process, content::RenderViewHost* render_view_host); - virtual ~TaskManagerRendererResource(); + virtual ~RendererResource(); // TaskManager::Resource methods: virtual base::ProcessHandle GetProcess() const OVERRIDE; @@ -86,7 +88,9 @@ class TaskManagerRendererResource : public TaskManager::Resource, size_t v8_memory_used_; bool pending_v8_memory_allocated_update_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerRendererResource); + DISALLOW_COPY_AND_ASSIGN(RendererResource); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_RENDER_RESOURCE_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_RENDERER_RESOURCE_H_ diff --git a/chrome/browser/task_manager/task_manager_tab_contents_resource_provider.cc b/chrome/browser/task_manager/tab_contents_resource_provider.cc index 1703190..1dc0049 100644 --- a/chrome/browser/task_manager/task_manager_tab_contents_resource_provider.cc +++ b/chrome/browser/task_manager/tab_contents_resource_provider.cc @@ -2,7 +2,7 @@ // 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/task_manager_tab_contents_resource_provider.h" +#include "chrome/browser/task_manager/tab_contents_resource_provider.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/extensions/extension_service.h" @@ -13,8 +13,8 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/tab_contents/tab_util.h" -#include "chrome/browser/task_manager/task_manager_render_resource.h" -#include "chrome/browser/task_manager/task_manager_resource_util.h" +#include "chrome/browser/task_manager/renderer_resource.h" +#include "chrome/browser/task_manager/task_manager_util.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_instant_controller.h" @@ -33,7 +33,6 @@ using content::WebContents; using extensions::Extension; - namespace { bool IsContentsPrerendering(WebContents* web_contents) { @@ -65,12 +64,14 @@ bool IsContentsBackgroundPrinted(WebContents* web_contents) { } // namespace +namespace task_manager { + // Tracks a single tab contents, prerendered page, Instant page, or background // printing page. -class TaskManagerTabContentsResource : public TaskManagerRendererResource { +class TabContentsResource : public RendererResource { public: - explicit TaskManagerTabContentsResource(content::WebContents* web_contents); - virtual ~TaskManagerTabContentsResource(); + explicit TabContentsResource(content::WebContents* web_contents); + virtual ~TabContentsResource(); // Called when the underlying web_contents has been committed and is no // longer an Instant overlay. @@ -93,16 +94,15 @@ class TaskManagerTabContentsResource : public TaskManagerRendererResource { Profile* profile_; bool is_instant_overlay_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerTabContentsResource); + DISALLOW_COPY_AND_ASSIGN(TabContentsResource); }; -gfx::ImageSkia* TaskManagerTabContentsResource::prerender_icon_ = NULL; +gfx::ImageSkia* TabContentsResource::prerender_icon_ = NULL; -TaskManagerTabContentsResource::TaskManagerTabContentsResource( +TabContentsResource::TabContentsResource( WebContents* web_contents) - : TaskManagerRendererResource( - web_contents->GetRenderProcessHost()->GetHandle(), - web_contents->GetRenderViewHost()), + : RendererResource(web_contents->GetRenderProcessHost()->GetHandle(), + web_contents->GetRenderViewHost()), web_contents_(web_contents), profile_(Profile::FromBrowserContext(web_contents->GetBrowserContext())), is_instant_overlay_(IsContentsInstant(web_contents)) { @@ -112,27 +112,26 @@ TaskManagerTabContentsResource::TaskManagerTabContentsResource( } } -TaskManagerTabContentsResource::~TaskManagerTabContentsResource() { +TabContentsResource::~TabContentsResource() { } -void TaskManagerTabContentsResource::InstantCommitted() { +void TabContentsResource::InstantCommitted() { DCHECK(is_instant_overlay_); is_instant_overlay_ = false; } -bool TaskManagerTabContentsResource::HostsExtension() const { +bool TabContentsResource::HostsExtension() const { return web_contents_->GetURL().SchemeIs(extensions::kExtensionScheme); } -TaskManager::Resource::Type TaskManagerTabContentsResource::GetType() const { +TaskManager::Resource::Type TabContentsResource::GetType() const { return HostsExtension() ? EXTENSION : RENDERER; } -string16 TaskManagerTabContentsResource::GetTitle() const { +string16 TabContentsResource::GetTitle() const { // Fall back on the URL if there's no title. GURL url = web_contents_->GetURL(); - string16 tab_title = - TaskManagerResourceUtil::GetTitleFromWebContents(web_contents_); + string16 tab_title = util::GetTitleFromWebContents(web_contents_); // Only classify as an app if the URL is an app and the tab is hosting an // extension process. (It's possible to be showing the URL from before it @@ -142,7 +141,7 @@ string16 TaskManagerTabContentsResource::GetTitle() const { bool is_app = extension_service->IsInstalledApp(url) && process_map->Contains(web_contents_->GetRenderProcessHost()->GetID()); - int message_id = TaskManagerResourceUtil::GetMessagePrefixID( + int message_id = util::GetMessagePrefixID( is_app, HostsExtension(), profile_->IsOffTheRecord(), @@ -152,22 +151,22 @@ string16 TaskManagerTabContentsResource::GetTitle() const { return l10n_util::GetStringFUTF16(message_id, tab_title); } -string16 TaskManagerTabContentsResource::GetProfileName() const { - return TaskManagerResourceUtil::GetProfileNameFromInfoCache(profile_); +string16 TabContentsResource::GetProfileName() const { + return util::GetProfileNameFromInfoCache(profile_); } -gfx::ImageSkia TaskManagerTabContentsResource::GetIcon() const { +gfx::ImageSkia TabContentsResource::GetIcon() const { if (IsContentsPrerendering(web_contents_)) return *prerender_icon_; return FaviconTabHelper::FromWebContents(web_contents_)-> GetFavicon().AsImageSkia(); } -WebContents* TaskManagerTabContentsResource::GetWebContents() const { +WebContents* TabContentsResource::GetWebContents() const { return web_contents_; } -const Extension* TaskManagerTabContentsResource::GetExtension() const { +const Extension* TabContentsResource::GetExtension() const { if (HostsExtension()) { ExtensionService* extension_service = profile_->GetExtensionService(); return extension_service->extensions()->GetByID( @@ -178,20 +177,19 @@ const Extension* TaskManagerTabContentsResource::GetExtension() const { } //////////////////////////////////////////////////////////////////////////////// -// TaskManagerTabContentsResourceProvider class +// TabContentsResourceProvider class //////////////////////////////////////////////////////////////////////////////// -TaskManagerTabContentsResourceProvider:: - TaskManagerTabContentsResourceProvider(TaskManager* task_manager) +TabContentsResourceProvider:: + TabContentsResourceProvider(TaskManager* task_manager) : updating_(false), task_manager_(task_manager) { } -TaskManagerTabContentsResourceProvider:: - ~TaskManagerTabContentsResourceProvider() { +TabContentsResourceProvider::~TabContentsResourceProvider() { } -TaskManager::Resource* TaskManagerTabContentsResourceProvider::GetResource( +TaskManager::Resource* TabContentsResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { @@ -205,7 +203,7 @@ TaskManager::Resource* TaskManagerTabContentsResourceProvider::GetResource( if (origin_pid) return NULL; - std::map<WebContents*, TaskManagerTabContentsResource*>::iterator + std::map<WebContents*, TabContentsResource*>::iterator res_iter = resources_.find(web_contents); if (res_iter == resources_.end()) { // Can happen if the tab was closed while a network request was being @@ -215,7 +213,7 @@ TaskManager::Resource* TaskManagerTabContentsResourceProvider::GetResource( return res_iter->second; } -void TaskManagerTabContentsResourceProvider::StartUpdating() { +void TabContentsResourceProvider::StartUpdating() { DCHECK(!updating_); updating_ = true; @@ -269,7 +267,7 @@ void TaskManagerTabContentsResourceProvider::StartUpdating() { content::NotificationService::AllBrowserContextsAndSources()); } -void TaskManagerTabContentsResourceProvider::StopUpdating() { +void TabContentsResourceProvider::StopUpdating() { DCHECK(updating_); updating_ = false; @@ -289,15 +287,13 @@ void TaskManagerTabContentsResourceProvider::StopUpdating() { resources_.clear(); } -void TaskManagerTabContentsResourceProvider::AddToTaskManager( - WebContents* web_contents) { - TaskManagerTabContentsResource* resource = - new TaskManagerTabContentsResource(web_contents); +void TabContentsResourceProvider::AddToTaskManager(WebContents* web_contents) { + TabContentsResource* resource = new TabContentsResource(web_contents); resources_[web_contents] = resource; task_manager_->AddResource(resource); } -void TaskManagerTabContentsResourceProvider::Add(WebContents* web_contents) { +void TabContentsResourceProvider::Add(WebContents* web_contents) { if (!updating_) return; @@ -327,10 +323,10 @@ void TaskManagerTabContentsResourceProvider::Add(WebContents* web_contents) { AddToTaskManager(web_contents); } -void TaskManagerTabContentsResourceProvider::Remove(WebContents* web_contents) { +void TabContentsResourceProvider::Remove(WebContents* web_contents) { if (!updating_) return; - std::map<WebContents*, TaskManagerTabContentsResource*>::iterator + std::map<WebContents*, TabContentsResource*>::iterator iter = resources_.find(web_contents); if (iter == resources_.end()) { // Since WebContents are destroyed asynchronously (see TabContentsCollector @@ -341,7 +337,7 @@ void TaskManagerTabContentsResourceProvider::Remove(WebContents* web_contents) { } // Remove the resource from the Task Manager. - TaskManagerTabContentsResource* resource = iter->second; + TabContentsResource* resource = iter->second; task_manager_->RemoveResource(resource); // And from the provider. resources_.erase(iter); @@ -349,18 +345,17 @@ void TaskManagerTabContentsResourceProvider::Remove(WebContents* web_contents) { delete resource; } -void TaskManagerTabContentsResourceProvider::InstantCommitted( - WebContents* web_contents) { +void TabContentsResourceProvider::InstantCommitted(WebContents* web_contents) { if (!updating_) return; - std::map<WebContents*, TaskManagerTabContentsResource*>::iterator + std::map<WebContents*, TabContentsResource*>::iterator iter = resources_.find(web_contents); DCHECK(iter != resources_.end()); if (iter != resources_.end()) iter->second->InstantCommitted(); } -void TaskManagerTabContentsResourceProvider::Observe( +void TabContentsResourceProvider::Observe( int type, const content::NotificationSource& source, const content::NotificationDetails& details) { @@ -385,3 +380,5 @@ void TaskManagerTabContentsResourceProvider::Observe( return; } } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_tab_contents_resource_provider.h b/chrome/browser/task_manager/tab_contents_resource_provider.h index 5077f00..7dba1ac 100644 --- a/chrome/browser/task_manager/task_manager_tab_contents_resource_provider.h +++ b/chrome/browser/task_manager/tab_contents_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_TAB_CONTENTS_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_TAB_CONTENTS_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_TAB_CONTENTS_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_TAB_CONTENTS_RESOURCE_PROVIDER_H_ #include <map> @@ -13,7 +13,6 @@ #include "content/public/browser/notification_registrar.h" class TaskManager; -class TaskManagerTabContentsResource; namespace content { class WebContents; @@ -21,13 +20,16 @@ class NotificationSource; class NotificationDetails; } +namespace task_manager { + +class TabContentsResource; + // Provides resources for tab contents, prerendered pages, Instant pages, and // background printing pages. -class TaskManagerTabContentsResourceProvider - : public TaskManager::ResourceProvider, - public content::NotificationObserver { +class TabContentsResourceProvider : public TaskManager::ResourceProvider, + public content::NotificationObserver { public: - explicit TaskManagerTabContentsResourceProvider(TaskManager* task_manager); + explicit TabContentsResourceProvider(TaskManager* task_manager); virtual TaskManager::Resource* GetResource(int origin_pid, int render_process_host_id, @@ -41,7 +43,7 @@ class TaskManagerTabContentsResourceProvider const content::NotificationDetails& details) OVERRIDE; private: - virtual ~TaskManagerTabContentsResourceProvider(); + virtual ~TabContentsResourceProvider(); void Add(content::WebContents* web_contents); void Remove(content::WebContents* web_contents); @@ -57,12 +59,14 @@ class TaskManagerTabContentsResourceProvider // Maps the actual resources (the WebContentses) to the Task Manager // resources. - std::map<content::WebContents*, TaskManagerTabContentsResource*> resources_; + std::map<content::WebContents*, TabContentsResource*> resources_; // A scoped container for notification registries. content::NotificationRegistrar registrar_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerTabContentsResourceProvider); + DISALLOW_COPY_AND_ASSIGN(TabContentsResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_TAB_CONTENTS_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_TAB_CONTENTS_RESOURCE_PROVIDER_H_ diff --git a/chrome/browser/task_manager/task_manager.cc b/chrome/browser/task_manager/task_manager.cc index 668067f..2850145 100644 --- a/chrome/browser/task_manager/task_manager.cc +++ b/chrome/browser/task_manager/task_manager.cc @@ -23,15 +23,15 @@ #include "chrome/browser/extensions/extension_process_manager.h" #include "chrome/browser/extensions/extension_system.h" #include "chrome/browser/profiles/profile_manager.h" -#include "chrome/browser/task_manager/task_manager_background_resource_provider.h" -#include "chrome/browser/task_manager/task_manager_browser_process_resource_provider.h" -#include "chrome/browser/task_manager/task_manager_child_process_resource_provider.h" -#include "chrome/browser/task_manager/task_manager_extension_process_resource_provider.h" -#include "chrome/browser/task_manager/task_manager_guest_resource_provider.h" -#include "chrome/browser/task_manager/task_manager_notification_resource_provider.h" -#include "chrome/browser/task_manager/task_manager_panel_resource_provider.h" -#include "chrome/browser/task_manager/task_manager_tab_contents_resource_provider.h" -#include "chrome/browser/task_manager/task_manager_worker_resource_provider.h" +#include "chrome/browser/task_manager/background_resource_provider.h" +#include "chrome/browser/task_manager/browser_process_resource_provider.h" +#include "chrome/browser/task_manager/child_process_resource_provider.h" +#include "chrome/browser/task_manager/extension_process_resource_provider.h" +#include "chrome/browser/task_manager/guest_resource_provider.h" +#include "chrome/browser/task_manager/notification_resource_provider.h" +#include "chrome/browser/task_manager/panel_resource_provider.h" +#include "chrome/browser/task_manager/tab_contents_resource_provider.h" +#include "chrome/browser/task_manager/worker_resource_provider.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_navigator.h" @@ -55,10 +55,6 @@ #include "ui/base/text/bytes_formatting.h" #include "ui/gfx/image/image_skia.h" -#if defined(OS_WIN) -#include "chrome/browser/task_manager/task_manager_os_resources_win.h" -#endif - using content::BrowserThread; using content::OpenURLParams; using content::Referrer; @@ -131,6 +127,42 @@ bool IsSharedByGroup(int col_id) { } } +#if defined(OS_WIN) +void GetWinGDIHandles(base::ProcessHandle process, + size_t* current, + size_t* peak) { + *current = 0; + *peak = 0; + // Get a handle to |process| that has PROCESS_QUERY_INFORMATION rights. + HANDLE current_process = GetCurrentProcess(); + HANDLE process_with_query_rights; + if (DuplicateHandle(current_process, process, current_process, + &process_with_query_rights, PROCESS_QUERY_INFORMATION, + false, 0)) { + *current = GetGuiResources(process_with_query_rights, GR_GDIOBJECTS); + *peak = GetGuiResources(process_with_query_rights, GR_GDIOBJECTS_PEAK); + CloseHandle(process_with_query_rights); + } +} + +void GetWinUSERHandles(base::ProcessHandle process, + size_t* current, + size_t* peak) { + *current = 0; + *peak = 0; + // Get a handle to |process| that has PROCESS_QUERY_INFORMATION rights. + HANDLE current_process = GetCurrentProcess(); + HANDLE process_with_query_rights; + if (DuplicateHandle(current_process, process, current_process, + &process_with_query_rights, PROCESS_QUERY_INFORMATION, + false, 0)) { + *current = GetGuiResources(process_with_query_rights, GR_USEROBJECTS); + *peak = GetGuiResources(process_with_query_rights, GR_USEROBJECTS_PEAK); + CloseHandle(process_with_query_rights); + } +} +#endif + } // namespace class TaskManagerModelGpuDataManagerObserver @@ -220,26 +252,26 @@ TaskManagerModel::TaskManagerModel(TaskManager* task_manager) goat_salt_(base::RandUint64()), last_unique_id_(0) { AddResourceProvider( - new TaskManagerBrowserProcessResourceProvider(task_manager)); + new task_manager::BrowserProcessResourceProvider(task_manager)); AddResourceProvider( - new TaskManagerBackgroundContentsResourceProvider(task_manager)); - AddResourceProvider(new TaskManagerTabContentsResourceProvider(task_manager)); - AddResourceProvider(new TaskManagerPanelResourceProvider(task_manager)); + new task_manager::BackgroundContentsResourceProvider(task_manager)); AddResourceProvider( - new TaskManagerChildProcessResourceProvider(task_manager)); + new task_manager::TabContentsResourceProvider(task_manager)); + AddResourceProvider(new task_manager::PanelResourceProvider(task_manager)); AddResourceProvider( - new TaskManagerExtensionProcessResourceProvider(task_manager)); + new task_manager::ChildProcessResourceProvider(task_manager)); AddResourceProvider( - new TaskManagerGuestResourceProvider(task_manager)); + new task_manager::ExtensionProcessResourceProvider(task_manager)); + AddResourceProvider(new task_manager::GuestResourceProvider(task_manager)); #if defined(ENABLE_NOTIFICATIONS) TaskManager::ResourceProvider* provider = - TaskManagerNotificationResourceProvider::Create(task_manager); + task_manager::NotificationResourceProvider::Create(task_manager); if (provider) AddResourceProvider(provider); #endif - AddResourceProvider(new TaskManagerWorkerResourceProvider(task_manager)); + AddResourceProvider(new task_manager::WorkerResourceProvider(task_manager)); } void TaskManagerModel::AddObserver(TaskManagerModelObserver* observer) { diff --git a/chrome/browser/task_manager/task_manager_resource_util.h b/chrome/browser/task_manager/task_manager_resource_util.h deleted file mode 100644 index 6918b50..0000000 --- a/chrome/browser/task_manager/task_manager_resource_util.h +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2013 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. - -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_RESOURCE_UTIL_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_RESOURCE_UTIL_H_ - -#include "base/basictypes.h" -#include "base/string16.h" - -class Profile; - -namespace content { -class WebContents; -} - -class TaskManagerResourceUtil { - public: - // Returns the appropriate message prefix ID for tabs and extensions, - // reflecting whether they are apps or in incognito mode. - static int GetMessagePrefixID(bool is_app, - bool is_extension, - bool is_incognito, - bool is_prerender, - bool is_instant_overlay, - bool is_background); - - // Returns the name of profle from InfoCache. - static string16 GetProfileNameFromInfoCache(Profile* profile); - - // Returns the title from web contents. - static string16 GetTitleFromWebContents(content::WebContents* web_contents); - - private: - DISALLOW_IMPLICIT_CONSTRUCTORS(TaskManagerResourceUtil); -}; - -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_RESOURCE_UTIL_H_ diff --git a/chrome/browser/task_manager/task_manager_resource_util.cc b/chrome/browser/task_manager/task_manager_util.cc index e9d16da..d31bdf2 100644 --- a/chrome/browser/task_manager/task_manager_resource_util.cc +++ b/chrome/browser/task_manager/task_manager_util.cc @@ -2,7 +2,7 @@ // 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/task_manager_resource_util.h" +#include "chrome/browser/task_manager/task_manager_util.h" #include "base/basictypes.h" #include "base/i18n/rtl.h" @@ -15,12 +15,16 @@ #include "content/public/browser/web_contents.h" #include "grit/generated_resources.h" -int TaskManagerResourceUtil::GetMessagePrefixID(bool is_app, - bool is_extension, - bool is_incognito, - bool is_prerender, - bool is_instant_overlay, - bool is_background) { +namespace task_manager { + +namespace util { + +int GetMessagePrefixID(bool is_app, + bool is_extension, + bool is_incognito, + bool is_prerender, + bool is_instant_overlay, + bool is_background) { if (is_app) { if (is_background) return IDS_TASK_MANAGER_BACKGROUND_PREFIX; @@ -41,8 +45,7 @@ int TaskManagerResourceUtil::GetMessagePrefixID(bool is_app, return IDS_TASK_MANAGER_TAB_PREFIX; } -string16 TaskManagerResourceUtil::GetProfileNameFromInfoCache( - Profile* profile) { +string16 GetProfileNameFromInfoCache(Profile* profile) { DCHECK(profile); ProfileInfoCache& cache = @@ -55,8 +58,7 @@ string16 TaskManagerResourceUtil::GetProfileNameFromInfoCache( return cache.GetNameOfProfileAtIndex(index); } -string16 TaskManagerResourceUtil::GetTitleFromWebContents( - content::WebContents* web_contents) { +string16 GetTitleFromWebContents(content::WebContents* web_contents) { DCHECK(web_contents); string16 title = web_contents->GetTitle(); @@ -79,3 +81,7 @@ string16 TaskManagerResourceUtil::GetTitleFromWebContents( } return title; } + +} // namespace util + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_util.h b/chrome/browser/task_manager/task_manager_util.h new file mode 100644 index 0000000..2d5aa9b --- /dev/null +++ b/chrome/browser/task_manager/task_manager_util.h @@ -0,0 +1,40 @@ +// Copyright 2013 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. + +#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_UTIL_H_ +#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_UTIL_H_ + +#include "base/basictypes.h" +#include "base/string16.h" + +class Profile; + +namespace content { +class WebContents; +} + +namespace task_manager { + +namespace util { + +// 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_incognito, + bool is_prerender, + bool is_instant_overlay, + bool is_background); + +// Returns the name of profle from InfoCache. +string16 GetProfileNameFromInfoCache(Profile* profile); + +// Returns the title from web contents. +string16 GetTitleFromWebContents(content::WebContents* web_contents); + +} // namespace util + +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_UTIL_H_ diff --git a/chrome/browser/task_manager/task_manager_worker_resource_provider.cc b/chrome/browser/task_manager/worker_resource_provider.cc index 134e20b..a3cccff 100644 --- a/chrome/browser/task_manager/task_manager_worker_resource_provider.cc +++ b/chrome/browser/task_manager/worker_resource_provider.cc @@ -2,7 +2,7 @@ // 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/task_manager_worker_resource_provider.h" +#include "chrome/browser/task_manager/worker_resource_provider.h" #include <vector> @@ -26,21 +26,19 @@ using content::BrowserThread; using content::DevToolsAgentHost; using content::WorkerService; -//////////////////////////////////////////////////////////////////////////////// -// TaskManagerSharedWorkerResource class -//////////////////////////////////////////////////////////////////////////////// +namespace task_manager { // Objects of this class are created on the IO thread and then passed to the UI // thread where they are passed to the task manager. All methods must be called // only on the UI thread. Destructor may be called on any thread. -class TaskManagerSharedWorkerResource : public TaskManager::Resource { +class SharedWorkerResource : public TaskManager::Resource { public: - TaskManagerSharedWorkerResource(const GURL& url, - const string16& name, - int process_id, - int routing_id, - base::ProcessHandle process_handle); - virtual ~TaskManagerSharedWorkerResource(); + SharedWorkerResource(const GURL& url, + const string16& name, + int process_id, + int routing_id, + base::ProcessHandle process_handle); + virtual ~SharedWorkerResource(); bool Matches(int process_id, int routing_id) const; @@ -69,12 +67,12 @@ class TaskManagerSharedWorkerResource : public TaskManager::Resource { static gfx::ImageSkia* default_icon_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerSharedWorkerResource); + DISALLOW_COPY_AND_ASSIGN(SharedWorkerResource); }; -gfx::ImageSkia* TaskManagerSharedWorkerResource::default_icon_ = NULL; +gfx::ImageSkia* SharedWorkerResource::default_icon_ = NULL; -TaskManagerSharedWorkerResource::TaskManagerSharedWorkerResource( +SharedWorkerResource::SharedWorkerResource( const GURL& url, const string16& name, int process_id, @@ -88,28 +86,27 @@ TaskManagerSharedWorkerResource::TaskManagerSharedWorkerResource( title_ += ASCIIToUTF16(" (") + name + ASCIIToUTF16(")"); } -TaskManagerSharedWorkerResource::~TaskManagerSharedWorkerResource() { +SharedWorkerResource::~SharedWorkerResource() { } -bool TaskManagerSharedWorkerResource::Matches(int process_id, - int routing_id) const { +bool SharedWorkerResource::Matches(int process_id, + int routing_id) const { return process_id_ == process_id && routing_id_ == routing_id; } -void TaskManagerSharedWorkerResource::UpdateProcessHandle( - base::ProcessHandle handle) { +void SharedWorkerResource::UpdateProcessHandle(base::ProcessHandle handle) { handle_ = handle; } -string16 TaskManagerSharedWorkerResource::GetTitle() const { +string16 SharedWorkerResource::GetTitle() const { return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_WORKER_PREFIX, title_); } -string16 TaskManagerSharedWorkerResource::GetProfileName() const { +string16 SharedWorkerResource::GetProfileName() const { return string16(); } -gfx::ImageSkia TaskManagerSharedWorkerResource::GetIcon() const { +gfx::ImageSkia SharedWorkerResource::GetIcon() const { if (!default_icon_) { ResourceBundle& rb = ResourceBundle::GetSharedInstance(); default_icon_ = rb.GetImageSkiaNamed(IDR_PLUGINS_FAVICON); @@ -118,23 +115,23 @@ gfx::ImageSkia TaskManagerSharedWorkerResource::GetIcon() const { return *default_icon_; } -base::ProcessHandle TaskManagerSharedWorkerResource::GetProcess() const { +base::ProcessHandle SharedWorkerResource::GetProcess() const { return handle_; } -int TaskManagerSharedWorkerResource::GetUniqueChildProcessId() const { +int SharedWorkerResource::GetUniqueChildProcessId() const { return process_id_; } -TaskManager::Resource::Type TaskManagerSharedWorkerResource::GetType() const { +TaskManager::Resource::Type SharedWorkerResource::GetType() const { return WORKER; } -bool TaskManagerSharedWorkerResource::CanInspect() const { +bool SharedWorkerResource::CanInspect() const { return true; } -void TaskManagerSharedWorkerResource::Inspect() const { +void SharedWorkerResource::Inspect() const { // TODO(yurys): would be better to get profile from one of the tabs connected // to the worker. Profile* profile = ProfileManager::GetLastUsedProfile(); @@ -145,18 +142,18 @@ void TaskManagerSharedWorkerResource::Inspect() const { DevToolsWindow::OpenDevToolsWindowForWorker(profile, agent_host); } -bool TaskManagerSharedWorkerResource::SupportNetworkUsage() const { +bool SharedWorkerResource::SupportNetworkUsage() const { return false; } -void TaskManagerSharedWorkerResource::SetSupportNetworkUsage() { +void SharedWorkerResource::SetSupportNetworkUsage() { } // This class is needed to ensure that all resources in WorkerResourceList are // deleted if corresponding task is posted to but not executed on the UI // thread. -class TaskManagerWorkerResourceProvider::WorkerResourceListHolder { +class WorkerResourceProvider::WorkerResourceListHolder { public: WorkerResourceListHolder() { } @@ -174,49 +171,49 @@ class TaskManagerWorkerResourceProvider::WorkerResourceListHolder { }; -TaskManagerWorkerResourceProvider:: - TaskManagerWorkerResourceProvider(TaskManager* task_manager) +WorkerResourceProvider:: + WorkerResourceProvider(TaskManager* task_manager) : updating_(false), task_manager_(task_manager) { } -TaskManagerWorkerResourceProvider::~TaskManagerWorkerResourceProvider() { +WorkerResourceProvider::~WorkerResourceProvider() { DeleteAllResources(); } -TaskManager::Resource* TaskManagerWorkerResourceProvider::GetResource( +TaskManager::Resource* WorkerResourceProvider::GetResource( int origin_pid, int render_process_host_id, int routing_id) { return NULL; } -void TaskManagerWorkerResourceProvider::StartUpdating() { +void WorkerResourceProvider::StartUpdating() { DCHECK(!updating_); updating_ = true; // Get existing workers. BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::Bind( - &TaskManagerWorkerResourceProvider::StartObservingWorkers, + &WorkerResourceProvider::StartObservingWorkers, this)); BrowserChildProcessObserver::Add(this); } -void TaskManagerWorkerResourceProvider::StopUpdating() { +void WorkerResourceProvider::StopUpdating() { DCHECK(updating_); updating_ = false; launching_workers_.clear(); DeleteAllResources(); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::Bind( - &TaskManagerWorkerResourceProvider::StopObservingWorkers, + &WorkerResourceProvider::StopObservingWorkers, this)); BrowserChildProcessObserver::Remove(this); } -void TaskManagerWorkerResourceProvider::BrowserChildProcessHostConnected( +void WorkerResourceProvider::BrowserChildProcessHostConnected( const content::ChildProcessData& data) { DCHECK(updating_); @@ -235,7 +232,7 @@ void TaskManagerWorkerResourceProvider::BrowserChildProcessHostConnected( launching_workers_.erase(it); } -void TaskManagerWorkerResourceProvider::BrowserChildProcessHostDisconnected( +void WorkerResourceProvider::BrowserChildProcessHostDisconnected( const content::ChildProcessData& data) { DCHECK(updating_); @@ -259,29 +256,27 @@ void TaskManagerWorkerResourceProvider::BrowserChildProcessHostDisconnected( DCHECK(!ContainsKey(launching_workers_, data.id)); } -void TaskManagerWorkerResourceProvider::WorkerCreated( +void WorkerResourceProvider::WorkerCreated( const GURL& url, const string16& name, int process_id, int route_id) { - TaskManagerSharedWorkerResource* resource = - new TaskManagerSharedWorkerResource( - url, name, process_id, route_id, base::kNullProcessHandle); + SharedWorkerResource* resource = new SharedWorkerResource( + url, name, process_id, route_id, base::kNullProcessHandle); BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, - base::Bind(&TaskManagerWorkerResourceProvider::NotifyWorkerCreated, + base::Bind(&WorkerResourceProvider::NotifyWorkerCreated, this, base::Owned(new WorkerResourceHolder(resource)))); } -void TaskManagerWorkerResourceProvider::WorkerDestroyed(int process_id, - int route_id) { +void WorkerResourceProvider::WorkerDestroyed(int process_id, int route_id) { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind( - &TaskManagerWorkerResourceProvider::NotifyWorkerDestroyed, + &WorkerResourceProvider::NotifyWorkerDestroyed, this, process_id, route_id)); } -void TaskManagerWorkerResourceProvider::NotifyWorkerCreated( +void WorkerResourceProvider::NotifyWorkerCreated( WorkerResourceHolder* resource_holder) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (!updating_) @@ -289,7 +284,7 @@ void TaskManagerWorkerResourceProvider::NotifyWorkerCreated( AddResource(resource_holder->release()); } -void TaskManagerWorkerResourceProvider::NotifyWorkerDestroyed( +void WorkerResourceProvider::NotifyWorkerDestroyed( int process_id, int routing_id) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (!updating_) @@ -305,7 +300,7 @@ void TaskManagerWorkerResourceProvider::NotifyWorkerDestroyed( } } -void TaskManagerWorkerResourceProvider::StartObservingWorkers() { +void WorkerResourceProvider::StartObservingWorkers() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); scoped_ptr<WorkerResourceListHolder> holder(new WorkerResourceListHolder); @@ -313,7 +308,7 @@ void TaskManagerWorkerResourceProvider::StartObservingWorkers() { WorkerService::GetInstance()->GetWorkers(); for (size_t i = 0; i < worker_info.size(); ++i) { - holder->resources()->push_back(new TaskManagerSharedWorkerResource( + holder->resources()->push_back(new SharedWorkerResource( worker_info[i].url, worker_info[i].name, worker_info[i].process_id, worker_info[i].route_id, worker_info[i].handle)); } @@ -321,17 +316,17 @@ void TaskManagerWorkerResourceProvider::StartObservingWorkers() { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind( - &TaskManagerWorkerResourceProvider::AddWorkerResourceList, + &WorkerResourceProvider::AddWorkerResourceList, this, base::Owned(holder.release()))); WorkerService::GetInstance()->AddObserver(this); } -void TaskManagerWorkerResourceProvider::StopObservingWorkers() { +void WorkerResourceProvider::StopObservingWorkers() { WorkerService::GetInstance()->RemoveObserver(this); } -void TaskManagerWorkerResourceProvider::AddWorkerResourceList( +void WorkerResourceProvider::AddWorkerResourceList( WorkerResourceListHolder* resource_list_holder) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (!updating_) @@ -344,8 +339,7 @@ void TaskManagerWorkerResourceProvider::AddWorkerResourceList( resources->clear(); } -void TaskManagerWorkerResourceProvider::AddResource( - TaskManagerSharedWorkerResource* resource) { +void WorkerResourceProvider::AddResource(SharedWorkerResource* resource) { DCHECK(updating_); resources_.push_back(resource); if (resource->handle() == base::kNullProcessHandle) { @@ -356,6 +350,8 @@ void TaskManagerWorkerResourceProvider::AddResource( } } -void TaskManagerWorkerResourceProvider::DeleteAllResources() { +void WorkerResourceProvider::DeleteAllResources() { STLDeleteElements(&resources_); } + +} // namespace task_manager diff --git a/chrome/browser/task_manager/task_manager_worker_resource_provider.h b/chrome/browser/task_manager/worker_resource_provider.h index e2591ca..4233493 100644 --- a/chrome/browser/task_manager/task_manager_worker_resource_provider.h +++ b/chrome/browser/task_manager/worker_resource_provider.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_WORKER_RESOURCE_PROVIDER_H_ -#define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_WORKER_RESOURCE_PROVIDER_H_ +#ifndef CHROME_BROWSER_TASK_MANAGER_WORKER_RESOURCE_PROVIDER_H_ +#define CHROME_BROWSER_TASK_MANAGER_WORKER_RESOURCE_PROVIDER_H_ #include <map> #include <vector> @@ -13,22 +13,24 @@ #include "content/public/browser/browser_child_process_observer.h" #include "content/public/browser/worker_service_observer.h" -class TaskManagerSharedWorkerResource; +namespace task_manager { -class TaskManagerWorkerResourceProvider +class SharedWorkerResource; + +class WorkerResourceProvider : public TaskManager::ResourceProvider, public content::BrowserChildProcessObserver, private content::WorkerServiceObserver { public: - explicit TaskManagerWorkerResourceProvider(TaskManager* task_manager); + explicit WorkerResourceProvider(TaskManager* task_manager); private: class WorkerResourceListHolder; - typedef std::vector<TaskManagerSharedWorkerResource*> WorkerResourceList; - typedef scoped_ptr<TaskManagerSharedWorkerResource> WorkerResourceHolder; + typedef std::vector<SharedWorkerResource*> WorkerResourceList; + typedef scoped_ptr<SharedWorkerResource> WorkerResourceHolder; typedef std::map<int, WorkerResourceList> ProcessIdToWorkerResources; - virtual ~TaskManagerWorkerResourceProvider(); + virtual ~WorkerResourceProvider(); // TaskManager::ResourceProvider implementation. virtual TaskManager::Resource* GetResource(int origin_pid, @@ -57,7 +59,7 @@ class TaskManagerWorkerResourceProvider void StopObservingWorkers(); void AddWorkerResourceList(WorkerResourceListHolder* resource_list_holder); - void AddResource(TaskManagerSharedWorkerResource* resource); + void AddResource(SharedWorkerResource* resource); void DeleteAllResources(); bool updating_; @@ -69,7 +71,9 @@ class TaskManagerWorkerResourceProvider // the task manager until the process is launched. ProcessIdToWorkerResources launching_workers_; - DISALLOW_COPY_AND_ASSIGN(TaskManagerWorkerResourceProvider); + DISALLOW_COPY_AND_ASSIGN(WorkerResourceProvider); }; -#endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_WORKER_RESOURCE_PROVIDER_H_ +} // namespace task_manager + +#endif // CHROME_BROWSER_TASK_MANAGER_WORKER_RESOURCE_PROVIDER_H_ diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 56c37fd..39f7170 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -2147,32 +2147,30 @@ 'browser/tab_contents/spelling_bubble_model.h', 'browser/tab_contents/spelling_menu_observer.cc', 'browser/tab_contents/spelling_menu_observer.h', + 'browser/task_manager/background_resource_provider.cc', + 'browser/task_manager/background_resource_provider.h', + 'browser/task_manager/browser_process_resource_provider.cc', + 'browser/task_manager/browser_process_resource_provider.h', + 'browser/task_manager/child_process_resource_provider.cc', + 'browser/task_manager/child_process_resource_provider.h', + 'browser/task_manager/extension_process_resource_provider.cc', + 'browser/task_manager/extension_process_resource_provider.h', + 'browser/task_manager/guest_resource_provider.cc', + 'browser/task_manager/guest_resource_provider.h', + 'browser/task_manager/notification_resource_provider.cc', + 'browser/task_manager/notification_resource_provider.h', + 'browser/task_manager/panel_resource_provider.cc', + 'browser/task_manager/panel_resource_provider.h', + 'browser/task_manager/renderer_resource.cc', + 'browser/task_manager/renderer_resource.h', + 'browser/task_manager/tab_contents_resource_provider.cc', + 'browser/task_manager/tab_contents_resource_provider.h', 'browser/task_manager/task_manager.cc', 'browser/task_manager/task_manager.h', - 'browser/task_manager/task_manager_background_resource_provider.cc', - 'browser/task_manager/task_manager_background_resource_provider.h', - 'browser/task_manager/task_manager_browser_process_resource_provider.cc', - 'browser/task_manager/task_manager_browser_process_resource_provider.h', - 'browser/task_manager/task_manager_child_process_resource_provider.cc', - 'browser/task_manager/task_manager_child_process_resource_provider.h', - 'browser/task_manager/task_manager_extension_process_resource_provider.cc', - 'browser/task_manager/task_manager_extension_process_resource_provider.h', - 'browser/task_manager/task_manager_guest_resource_provider.cc', - 'browser/task_manager/task_manager_guest_resource_provider.h', - 'browser/task_manager/task_manager_notification_resource_provider.cc', - 'browser/task_manager/task_manager_notification_resource_provider.h', - 'browser/task_manager/task_manager_os_resources_win.cc', - 'browser/task_manager/task_manager_os_resources_win.h', - 'browser/task_manager/task_manager_panel_resource_provider.cc', - 'browser/task_manager/task_manager_panel_resource_provider.h', - 'browser/task_manager/task_manager_render_resource.cc', - 'browser/task_manager/task_manager_render_resource.h', - 'browser/task_manager/task_manager_resource_util.cc', - 'browser/task_manager/task_manager_resource_util.h', - 'browser/task_manager/task_manager_tab_contents_resource_provider.cc', - 'browser/task_manager/task_manager_tab_contents_resource_provider.h', - 'browser/task_manager/task_manager_worker_resource_provider.cc', - 'browser/task_manager/task_manager_worker_resource_provider.h', + 'browser/task_manager/task_manager_util.cc', + 'browser/task_manager/task_manager_util.h', + 'browser/task_manager/worker_resource_provider.cc', + 'browser/task_manager/worker_resource_provider.h', 'browser/task_profiler/auto_tracking.cc', 'browser/task_profiler/auto_tracking.h', 'browser/task_profiler/task_profiler_data_serializer.cc', |